Don't walk into predecessors in which the vreg is not live when doing shrinkwrapping.

This lets several failing tests get farther along, but doesn't completely fix any of them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59086 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson 2008-11-11 22:11:27 +00:00
parent cd8e66a1ef
commit 80fe8737eb

View File

@ -618,6 +618,8 @@ PreAllocSplitting::ShrinkWrapLiveInterval(VNInfo *ValNo, MachineBasicBlock *MBB,
// Pred is the def bb and the def reaches other val#s, we must
// allow the value to be live out of the bb.
continue;
if (!CurrLI->liveAt(LIs->getMBBEndIdx(Pred)-1))
return;
ShrinkWrapLiveInterval(ValNo, Pred, MBB, DefMBB, Visited,
Uses, UseMIs, UseMBBs);
}