diff options
author | Andrew Trick <atrick@apple.com> | 2011-02-05 02:58:46 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2011-02-05 02:58:46 +0000 |
commit | 278ba1f9b6c14ddf79040979c88b978d41f8c036 (patch) | |
tree | 186546a07febe7fbbb1a2e7fb4b7cd388a545ace /lib/CodeGen/CriticalAntiDepBreaker.cpp | |
parent | a818d031d5eef10b4edaaeb9a8455cc13920b09d (diff) | |
download | llvm-278ba1f9b6c14ddf79040979c88b978d41f8c036.tar.gz llvm-278ba1f9b6c14ddf79040979c88b978d41f8c036.tar.bz2 llvm-278ba1f9b6c14ddf79040979c88b978d41f8c036.tar.xz |
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124932 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CriticalAntiDepBreaker.cpp')
-rw-r--r-- | lib/CodeGen/CriticalAntiDepBreaker.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/lib/CodeGen/CriticalAntiDepBreaker.cpp b/lib/CodeGen/CriticalAntiDepBreaker.cpp index 4817346061..7b2ce36241 100644 --- a/lib/CodeGen/CriticalAntiDepBreaker.cpp +++ b/lib/CodeGen/CriticalAntiDepBreaker.cpp @@ -334,7 +334,6 @@ CriticalAntiDepBreaker::isNewRegModifiedByRefs(RegRefIter RegRefBegin, { for (RegRefIter I = RegRefBegin; I != RegRefEnd; ++I ) { MachineOperand *MO = I->second; - if (MO->isDef()) continue; if (MO->getParent()->modifiesRegister(NewReg, TRI)) return true; } |