When a physreg is live-in and live through a basic block, make sure its live
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 30 Apr 2011 19:12:33 +0000 (19:12 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 30 Apr 2011 19:12:33 +0000 (19:12 +0000)
range covers the entire block.

The live range can't be terminated at a random instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130619 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LiveIntervalAnalysis.cpp

index 19bb7e34d25b32276a935516612a7a1be6a52b73..9257191f7fc0677027a745dfaecf597f3a45a5d1 100644 (file)
@@ -638,7 +638,7 @@ void LiveIntervals::handleLiveInRegister(MachineBasicBlock *MBB,
       end = MIIdx.getStoreIndex();
     } else {
       DEBUG(dbgs() << " live through");
-      end = baseIndex;
+      end = getMBBEndIdx(MBB);
     }
   }