bitVectDebugOn (ebbs[i]->ldefs, of);
fprintf (of, "\npointers Set bitvector :");
bitVectDebugOn (ebbs[i]->ptrsSet, of);
+ if (ebbs[i]->isLastInLoop) {
+ fprintf (of, "\nInductions Set bitvector :");
+ bitVectDebugOn (ebbs[i]->linds, of);
+ }
fprintf (of, "\n----------------------------------------------------------------\n");
printiCChain (ebbs[i]->sch, of);
}
/* add the induction variable vector to the last
block in the loop */
lastBlock->isLastInLoop = 1;
- lastBlock->linds = indVect;
+ lastBlock->linds = bitVectUnion(lastBlock->linds,indVect);
}
setToNull ((void **) &indVars);
to a loop & some definition comes into the loop
then extend the live range to the end of the loop */
if (ebp->partOfLoop
- /* && hasIncomingDefs (ebp->partOfLoop, op)*/ )
+ && hasIncomingDefs (ebp->partOfLoop, op))
{
torange = findLoopEndSeq (ebp->partOfLoop);
}