Simplify using the new leaveIntvBefore()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125238 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jakob Stoklund Olesen 2011-02-09 23:33:02 +00:00
parent 9b057771ba
commit 23cd57c299

View File

@ -714,19 +714,8 @@ void RAGreedy::splitAroundRegion(LiveInterval &VirtReg, unsigned PhysReg,
// indirect jump.
DEBUG(dbgs() << ", uses at " << BI.LastUse << " after split point "
<< BI.LastSplitPoint << ", stack-out.\n");
SlotIndex SegEnd;
// Find the last real instruction before the split point.
MachineBasicBlock::iterator SplitI =
LIS->getInstructionFromIndex(BI.LastSplitPoint);
MachineBasicBlock::iterator I = SplitI, B = BI.MBB->begin();
while (I != B && (--I)->isDebugValue())
;
if (I == SplitI)
SegEnd = SE.leaveIntvAtTop(*BI.MBB);
else {
SegEnd = SE.leaveIntvAfter(LIS->getInstructionIndex(I));
SE.useIntv(Start, SegEnd);
}
SlotIndex SegEnd = SE.leaveIntvBefore(BI.LastSplitPoint);
SE.useIntv(Start, SegEnd);
// Run a double interval from the split to the last use.
// This makes it possible to spill the complement without affecting the
// indirect branch.