summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-10-15 17:35:17 +0000
committerJim Grosbach <grosbach@apple.com>2010-10-15 17:35:17 +0000
commitd15723c22aa3df75174f77f9d3059efc4dc0f9c5 (patch)
tree76b489a8d2786a2c3c8373f29dda453406d63cfb /llvm
parent68a335e1856f6daeb8710ff34e852c9d8506b5d7 (diff)
downloadbcm5719-llvm-d15723c22aa3df75174f77f9d3059efc4dc0f9c5.tar.gz
bcm5719-llvm-d15723c22aa3df75174f77f9d3059efc4dc0f9c5.zip
When expanding the MOVsr[la]_flag pseudos, the CPSR implicit def becomes
an explicit def. Make sure to capture that properly. rdar://8556556 llvm-svn: 116591
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp b/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
index 5dceeb1967f..836f69d6137 100644
--- a/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
+++ b/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
@@ -586,8 +586,7 @@ bool ARMExpandPseudo::ExpandMBB(MachineBasicBlock &MBB) {
.addReg(0)
.addImm(ARM_AM::getSORegOpc((Opcode == ARM::MOVsrl_flag ? ARM_AM::lsr
: ARM_AM::asr), 1)))
- .addReg(ARM::CPSR);
- TransferImpOps(MI, MIB, MIB);
+ .addReg(ARM::CPSR, getDefRegState(true));
MI.eraseFromParent();
break;
}
OpenPOWER on IntegriCloud