Don't forget to transfer implicit uses of return instruction.
authorEvan Cheng <evan.cheng@apple.com>
Sun, 8 Jan 2012 20:41:16 +0000 (20:41 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Sun, 8 Jan 2012 20:41:16 +0000 (20:41 +0000)
llvm-svn: 147752

llvm/lib/Target/ARM/Thumb1FrameLowering.cpp

index 16c7cbc..bb327b0 100644 (file)
@@ -278,8 +278,11 @@ void Thumb1FrameLowering::emitEpilogue(MachineFunction &MF,
 
     emitSPUpdate(MBB, MBBI, TII, dl, *RegInfo, VARegSaveSize);
 
-    AddDefaultPred(BuildMI(MBB, MBBI, dl, TII.get(ARM::tBX_RET_vararg))
-      .addReg(ARM::R3, RegState::Kill));
+    MachineInstrBuilder MIB =
+      BuildMI(MBB, MBBI, dl, TII.get(ARM::tBX_RET_vararg))
+      .addReg(ARM::R3, RegState::Kill);
+    AddDefaultPred(MIB);
+    MIB->copyImplicitOps(&*MBBI);
     // erase the old tBX_RET instruction
     MBB.erase(MBBI);
   }