From 9ab7652d61a70e7caae9e93ad80d87b98cd93bca Mon Sep 17 00:00:00 2001 From: sandeep Date: Mon, 26 Mar 2001 00:18:22 +0000 Subject: [PATCH] local variables and parameters will NOT be assigned to xdata 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 | 5 ++--- src/mcs51/ralloc.c | 6 ++++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/mcs51/main.c b/src/mcs51/main.c index 2e85421e..99484c84 100644 --- a/src/mcs51/main.c +++ b/src/mcs51/main.c @@ -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 diff --git a/src/mcs51/ralloc.c b/src/mcs51/ralloc.c index e741f9bb..25dedea7 100644 --- a/src/mcs51/ralloc.c +++ b/src/mcs51/ralloc.c @@ -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; -- 2.30.2