* src/mcs51/ralloc.c (deassignLR),
[fw/sdcc] / src / pic / ralloc.c
index 3be54b56bbf0d5e48f1b3afc8797324543b290b6..d12186f789872bce39a75754bf0a1e2a221836fb 100644 (file)
@@ -2066,7 +2066,7 @@ deassignLRs (iCode * ic, eBBlock * ebp)
                                (result = OP_SYMBOL (IC_RESULT (ic))) &&        /* has a result */
                                result->liveTo > ic->seq &&     /* and will live beyond this */
                                result->liveTo <= ebp->lSeq &&  /* does not go beyond this block */
-                               result->regType == sym->regType &&      /* same register types */
+                               result->liveFrom == ic->seq &&    /* does not start before here */                              result->regType == sym->regType &&      /* same register types */
                                result->nRegs &&        /* which needs registers */
                                !result->isspilt &&     /* and does not already have them */
                                !result->remat &&