Copy implicit defs (e.g. r0) when changing tBX_RET to tPOP_RET. This bug is
authorEvan Cheng <evan.cheng@apple.com>
Sat, 7 Jan 2012 02:55:54 +0000 (02:55 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Sat, 7 Jan 2012 02:55:54 +0000 (02:55 +0000)
exposed with an upcoming change will would delete the copy to return register
because there is no use! It's amazing anything works.

llvm-svn: 147715

llvm/lib/Target/ARM/Thumb1FrameLowering.cpp

index e171b27..16c7cbc 100644 (file)
@@ -350,6 +350,7 @@ restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
         continue;
       Reg = ARM::PC;
       (*MIB).setDesc(TII.get(ARM::tPOP_RET));
+      MIB->copyImplicitOps(&*MI);
       MI = MBB.erase(MI);
     }
     MIB.addReg(Reg, getDefRegState(true));