diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-10-15 17:35:17 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-10-15 17:35:17 +0000 |
commit | 6bdc8ae2916d20740790e0618692df7dac598cd0 (patch) | |
tree | 1c5e8fbdef071dfe09ec6c5217ccca149ac7fe43 /lib | |
parent | 8abe32af38b66bf4577526b23b6af6ec7eb6c155 (diff) | |
download | external_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.cpp | 3 |
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; } |