aboutsummaryrefslogtreecommitdiffstats
path: root/lib
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
commit6bdc8ae2916d20740790e0618692df7dac598cd0 (patch)
tree1c5e8fbdef071dfe09ec6c5217ccca149ac7fe43 /lib
parent8abe32af38b66bf4577526b23b6af6ec7eb6c155 (diff)
downloadexternal_llvm-6bdc8ae2916d20740790e0618692df7dac598cd0.zip
external_llvm-6bdc8ae2916d20740790e0618692df7dac598cd0.tar.gz
external_llvm-6bdc8ae2916d20740790e0618692df7dac598cd0.tar.bz2
When expanding the MOVsr[la]_flag pseudos, the CPSR implicit def becomes
an explicit def. Make sure to capture that properly. rdar://8556556 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116591 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/ARM/ARMExpandPseudoInsts.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMExpandPseudoInsts.cpp b/lib/Target/ARM/ARMExpandPseudoInsts.cpp
index 5dceeb1..836f69d 100644
--- a/lib/Target/ARM/ARMExpandPseudoInsts.cpp
+++ b/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;
}