Dead live-in detection bug.
[oota-llvm.git] / lib / CodeGen / LiveIntervalAnalysis.cpp
index a5907d6067e2b265db805e4783b92a3fae4e00e6..26d741f6898bc8bea591a3d4e5d6ba801dd73b4a 100644 (file)
@@ -938,11 +938,11 @@ bool LiveIntervals::JoinCopy(MachineInstr *CopyMI,
   if (JoinIntervals(DestInt, SrcInt)) {
     if (isDead) {
       // Result of the copy is dead. Propagate this property.
-      if (SrcStart == 0 && MRegisterInfo::isPhysicalRegister(SrcReg)) {
+      if (SrcStart == 0 && MRegisterInfo::isPhysicalRegister(repSrcReg)) {
         // Live-in to the function but dead. Remove it from MBB live-in set.
         // JoinIntervals may end up swapping the two intervals.
         MachineBasicBlock *MBB = CopyMI->getParent();
-        MBB->removeLiveIn(SrcReg);
+        MBB->removeLiveIn(repSrcReg);
       } else {
         MachineInstr *SrcMI = getInstructionFromIndex(SrcStart);
         if (SrcMI) {