local variables and parameters will NOT be assigned to xdata
authorsandeep <sandeep@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 26 Mar 2001 00:18:22 +0000 (00:18 +0000)
committersandeep <sandeep@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 26 Mar 2001 00:18:22 +0000 (00:18 +0000)
space for large-model.
reuse of sloc space more efficient

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@712 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/mcs51/main.c
src/mcs51/ralloc.c

index 2e85421e4d71e1c6a64c46fab69bcadc8cef2925..99484c84e1d5b0307ad856fcf4b29c604a775943 100644 (file)
@@ -83,9 +83,8 @@ _mcs51_parseOptions (int *pargc, char **argv, int *i)
 static void
 _mcs51_finaliseOptions (void)
 {
-  if (options.model == MODEL_LARGE)
-    {
-      port->mem.default_local_map = xdata;
+  if (options.model == MODEL_LARGE) {
+      port->mem.default_local_map = data;
       port->mem.default_globl_map = xdata;
     }
   else
index e741f9bbf6c64bca3599357cb78189cb942cb503..25dedea76aa169612f750142604e2fb36f60f1d1 100644 (file)
@@ -393,9 +393,11 @@ noOverLap (set * itmpStack, symbol * fsym)
   for (sym = setFirstItem (itmpStack); sym;
        sym = setNextItem (itmpStack))
     {
-      if (sym->liveTo > fsym->liveFrom)
-       return 0;
+           if (sym->liveFrom < fsym->liveTo &&
+               sym->liveTo   > fsym->liveTo) return 0;
 
+           if (sym->liveFrom < fsym->liveFrom &&
+               sym->liveTo > fsym->liveFrom) return 0;
     }
 
   return 1;