From: Jim Grosbach Date: Fri, 15 Oct 2010 17:35:17 +0000 (+0000) Subject: When expanding the MOVsr[la]_flag pseudos, the CPSR implicit def becomes X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6bdc8ae2916d20740790e0618692df7dac598cd0;p=oota-llvm.git 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 --- diff --git a/lib/Target/ARM/ARMExpandPseudoInsts.cpp b/lib/Target/ARM/ARMExpandPseudoInsts.cpp index 5dceeb1967f..836f69d6137 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; }