Don't update physical register def.
authorEvan Cheng <evan.cheng@apple.com>
Sat, 6 Mar 2010 01:14:19 +0000 (01:14 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Sat, 6 Mar 2010 01:14:19 +0000 (01:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97861 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/MachineCSE.cpp

index af35a7a3bb3ee2809c535eeeca25bb0d00d1f82b..b376e3d05fee9257a96b1eee9c4638f85ff1e393 100644 (file)
@@ -238,8 +238,9 @@ bool MachineCSE::ProcessBlock(MachineDomTreeNode *Node) {
         continue;
       unsigned OldReg = MO.getReg();
       unsigned NewReg = CSMI->getOperand(i).getReg();
-      assert(OldReg != NewReg &&
-             TargetRegisterInfo::isVirtualRegister(OldReg) &&
+      if (OldReg == NewReg)
+        continue;
+      assert(TargetRegisterInfo::isVirtualRegister(OldReg) &&
              TargetRegisterInfo::isVirtualRegister(NewReg) &&
              "Do not CSE physical register defs!");
       MRI->replaceRegWith(OldReg, NewReg);