Correctly handle removed instructions at the beginning of MBBs when renumbering.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51876 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp
index f711c0c..5473853 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -128,13 +128,11 @@
             i++;
           } while (!newInstr);
           
-          MachineInstr* preceding = i2miMap_[(mi2iMap_[newInstr] - 
-                                    InstrSlots::NUM) / InstrSlots::NUM];
-          if (preceding->getParent() == newInstr->getParent() &&
-              preceding->modifiesRegister(I->second.reg))
-            LI->start = mi2iMap_[newInstr] - InstrSlots::NUM + offset;
-          else
+          if (mi2iMap_[newInstr] ==
+              MBB2IdxMap[newInstr->getParent()->getNumber()].first)
             LI->start = mi2iMap_[newInstr];
+          else
+            LI->start = mi2iMap_[newInstr] - InstrSlots::NUM + offset;
         }
         
         // Remap the ending index in the same way that we remapped the start,
@@ -172,13 +170,11 @@
             i++;
           } while (!newInstr);
           
-          MachineInstr* preceding = i2miMap_[(mi2iMap_[newInstr] - 
-                                    InstrSlots::NUM) / InstrSlots::NUM];
-          if (preceding->getParent() == newInstr->getParent() &&
-              preceding->modifiesRegister(I->second.reg))
-            vni->def = mi2iMap_[newInstr] - InstrSlots::NUM + offset;
-          else
+          if (mi2iMap_[newInstr] ==
+              MBB2IdxMap[newInstr->getParent()->getNumber()].first)
             vni->def = mi2iMap_[newInstr];
+          else
+            vni->def = mi2iMap_[newInstr] - InstrSlots::NUM + offset;
         }
         
         // Remap the VNInfo kill indices, which works the same as