[llvm-commits] [llvm] r48752 - /llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp

Evan Cheng evan.cheng at apple.com
Mon Mar 24 16:31:22 PDT 2008


Author: evancheng
Date: Mon Mar 24 18:31:21 2008
New Revision: 48752

URL: http://llvm.org/viewvc/llvm-project?rev=48752&view=rev
Log:
If the coalescer commuted a def MI to allow coalescing, it can changed a previously coalesced copy into an non-identity copy.

Modified:
    llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp

Modified: llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp?rev=48752&r1=48751&r2=48752&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp (original)
+++ llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp Mon Mar 24 18:31:21 2008
@@ -323,7 +323,8 @@
     MachineInstr *UseMI = &*UI;
     ++UI;
     if (JoinedCopies.count(UseMI))
-      continue;
+      // It'll no longer be "joined" after the change.
+      JoinedCopies.erase(UseMI);
     unsigned UseIdx = li_->getInstructionIndex(UseMI);
     LiveInterval::iterator ULR = IntA.FindLiveRangeContaining(UseIdx);
     if (ULR->valno != AValNo)





More information about the llvm-commits mailing list