Fix a bug in RegAllocBase::addMBBLiveIns() where a basic block could accidentally...
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 12 Apr 2011 18:11:28 +0000 (18:11 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 12 Apr 2011 18:11:28 +0000 (18:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129373 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegAllocBasic.cpp

index af7da53b89bae0dfd60f13c69471fa61064ce5a7..dd5049898d9d62df2c5a6c9754d650daa91f87bf 100644 (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);