[llvm-commits] [llvm] r124932 - /llvm/trunk/lib/CodeGen/CriticalAntiDepBreaker.cpp

Andrew Trick atrick at apple.com
Fri Feb 4 18:58:46 PST 2011


Author: atrick
Date: Fri Feb  4 20:58:46 2011
New Revision: 124932

URL: http://llvm.org/viewvc/llvm-project?rev=124932&view=rev
Log:
Fix an anti-dep breaker corner case.
<rdar://problem/8959122> illegal register operands for UMULL instruction in cfrac nightly test
I'm stil working on a unit test, but the case is:
rx = movcc rx, r3
r2 = ldr
r2, r3 = umull r2, r2

The anti-dep breaker should not convert this into an illegal instruction:
r2, r2 = umull

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

Modified: llvm/trunk/lib/CodeGen/CriticalAntiDepBreaker.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/CriticalAntiDepBreaker.cpp?rev=124932&r1=124931&r2=124932&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/CriticalAntiDepBreaker.cpp (original)
+++ llvm/trunk/lib/CodeGen/CriticalAntiDepBreaker.cpp Fri Feb  4 20:58:46 2011
@@ -334,7 +334,6 @@
 {
   for (RegRefIter I = RegRefBegin; I != RegRefEnd; ++I ) {
     MachineOperand *MO = I->second;
-    if (MO->isDef()) continue;
     if (MO->getParent()->modifiesRegister(NewReg, TRI))
       return true;
   }





More information about the llvm-commits mailing list