From: epetrich Date: Mon, 21 Jun 2004 04:05:19 +0000 (+0000) Subject: * src/SDCClrange.c (computeClash): fixed bug #971834 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=c9ff9179c2e96b66ca9820cd6ab3302145f62ed6;p=fw%2Fsdcc * src/SDCClrange.c (computeClash): fixed bug #971834 git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3362 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/ChangeLog b/ChangeLog index d544d725..db4b2115 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2004-06-21 Erik Petrich + + * src/SDCClrange.c (computeClash): fixed bug #971834 + 2004-06-20 Erik Petrich * src/mcs51/gen.c (genCmp): fixed bug #975903 @@ -9,7 +13,7 @@ * src/mcs51/gen.c (operandsEqu): fixed bug #976283 * src/SDCCmain.c (parseCmdLine): report --unknown-option only once -2004-06-08 Erik Petrich +2004-06-15 Erik Petrich * src/SDCCcse.c (cseBBlock): fixed bug #966963 diff --git a/src/SDCClrange.c b/src/SDCClrange.c index 1c2c8493..fe7eadc6 100644 --- a/src/SDCClrange.c +++ b/src/SDCClrange.c @@ -535,7 +535,9 @@ computeClash (eBBlock ** ebbs, int count) IS_ITEMP(IC_RESULT(ic)) && (IS_ITEMP(IC_LEFT(ic)) || IS_ITEMP(IC_RIGHT(ic)))) { - if (OP_SYMBOL(IC_RESULT(ic))->key == key1) + if (OP_SYMBOL(IC_RESULT(ic))->key == key1 + && sym1->liveFrom == ic->seq + && sym2->liveTo == ic->seq) { if (IS_SYMOP(IC_LEFT(ic))) if (OP_SYMBOL(IC_LEFT(ic))->key == key2) @@ -545,7 +547,9 @@ computeClash (eBBlock ** ebbs, int count) continue; } - if (OP_SYMBOL(IC_RESULT(ic))->key == key2) + if (OP_SYMBOL(IC_RESULT(ic))->key == key2 + && sym2->liveFrom == ic->seq + && sym1->liveTo == ic->seq) { if (IS_SYMOP(IC_LEFT(ic))) if (OP_SYMBOL(IC_LEFT(ic))->key == key1)