From 2e237e31a828aaf584afe3619dcf042245c46cfc Mon Sep 17 00:00:00 2001 From: kvigor Date: Fri, 4 May 2001 05:21:11 +0000 Subject: [PATCH] more precise noOverLap git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@772 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- src/ds390/ralloc.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/ds390/ralloc.c b/src/ds390/ralloc.c index 3fab7c2d..782f7683 100644 --- a/src/ds390/ralloc.c +++ b/src/ds390/ralloc.c @@ -383,10 +383,15 @@ noOverLap (set * itmpStack, symbol * fsym) for (sym = setFirstItem (itmpStack); sym; sym = setNextItem (itmpStack)) { - if (sym->liveTo >= fsym->liveFrom) - return 0; + // if sym starts before (or on) our end point + // and ends after (or on) our start point, + // it is an overlap. + if (sym->liveFrom <= fsym->liveTo && + sym->liveTo >= fsym->liveFrom) + { + return 0; + } } - return 1; } -- 2.30.2