Fix a bug in RegAllocBase::addMBBLiveIns() where a basic block could accidentally be skipped.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129373 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jakob Stoklund Olesen 2011-04-12 18:11:28 +00:00
parent 860cf9693a
commit dfaf0e2c0e

View File

@ -429,7 +429,7 @@ void RegAllocBase::addMBBLiveIns(MachineFunction *MF) {
if (!MBB->isLiveIn(PhysReg))
MBB->addLiveIn(PhysReg);
} else if (SI.start() > Stop)
MBB = Indexes->getMBBFromIndex(SI.start());
MBB = Indexes->getMBBFromIndex(SI.start().getPrevIndex());
if (++MBB == MFE)
break;
tie(Start, Stop) = Indexes->getMBBRange(MBB);