fixed a loop invariant bug
[fw/sdcc] / src / SDCCloop.c
index e98192ad074c909d6f15f5e715673fc01edddd7b..4cf349c4e285450d4a8e52e2ec1a345b03d81ac7 100644 (file)
@@ -537,8 +537,9 @@ DEFSETFUNC(hasNonPtrUse)
        for (cdp = setFirstItem(lInvars); cdp ; cdp = setNextItem(lInvars)) {
 
            /* maintain data flow .. add it to the */
-           /* defSet & outExprs of the preheader  */
+           /* ldefs defSet & outExprs of the preheader  */
            preHdr->defSet = bitVectSetBit (preHdr->defSet,cdp->diCode->key);
+           preHdr->ldefs = bitVectSetBit (preHdr->ldefs,cdp->diCode->key);
            cdp->diCode->lineno = preHdr->ech->lineno;
            addSetHead (&preHdr->outExprs,cdp);