[llvm-branch-commits] [llvm-branch] r71569 - in /llvm/branches/Apple/Dib: lib/CodeGen/RegAllocLocal.cpp test/CodeGen/ARM/2009-05-07-RegAllocLocal.ll

Bill Wendling isanbard at gmail.com
Tue May 12 11:06:35 PDT 2009


Author: void
Date: Tue May 12 13:06:34 2009
New Revision: 71569

URL: http://llvm.org/viewvc/llvm-project?rev=71569&view=rev
Log:
--- Merging r71196 into '.':
A    test/CodeGen/ARM/2009-05-07-RegAllocLocal.ll
U    lib/CodeGen/RegAllocLocal.cpp


Added:
    llvm/branches/Apple/Dib/test/CodeGen/ARM/2009-05-07-RegAllocLocal.ll
      - copied unchanged from r71196, llvm/trunk/test/CodeGen/ARM/2009-05-07-RegAllocLocal.ll
Modified:
    llvm/branches/Apple/Dib/lib/CodeGen/RegAllocLocal.cpp

Modified: llvm/branches/Apple/Dib/lib/CodeGen/RegAllocLocal.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Dib/lib/CodeGen/RegAllocLocal.cpp?rev=71569&r1=71568&r2=71569&view=diff

==============================================================================
--- llvm/branches/Apple/Dib/lib/CodeGen/RegAllocLocal.cpp (original)
+++ llvm/branches/Apple/Dib/lib/CodeGen/RegAllocLocal.cpp Tue May 12 13:06:34 2009
@@ -981,10 +981,12 @@
       }
     }
     
-    // Finally, if this is a noop copy instruction, zap it.
+    // Finally, if this is a noop copy instruction, zap it.  (Except that if
+    // the copy is dead, it must be kept to avoid messing up liveness info for
+    // the register scavenger.  See pr4100.)
     unsigned SrcReg, DstReg, SrcSubReg, DstSubReg;
     if (TII->isMoveInstr(*MI, SrcReg, DstReg, SrcSubReg, DstSubReg) &&
-        SrcReg == DstReg)
+        SrcReg == DstReg && DeadDefs.empty())
       MBB.erase(MI);
   }
 





More information about the llvm-branch-commits mailing list