diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-01-13 21:28:52 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-01-13 21:28:52 +0000 |
commit | 4f28c1c71450c711e96aa283de53739d8b4504cd (patch) | |
tree | 1dd3ac5b610ce2895b7a83a8f97a247f471e3f3a /lib/Target/ARM | |
parent | 422578547e0e3464af7ae23305c54dd71a8bd9e9 (diff) | |
download | external_llvm-4f28c1c71450c711e96aa283de53739d8b4504cd.tar.gz external_llvm-4f28c1c71450c711e96aa283de53739d8b4504cd.tar.bz2 external_llvm-4f28c1c71450c711e96aa283de53739d8b4504cd.zip |
Teach frame lowering to ignore debug values after the terminators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123399 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM')
-rw-r--r-- | lib/Target/ARM/ARMFrameLowering.cpp | 4 | ||||
-rw-r--r-- | lib/Target/ARM/Thumb1FrameLowering.cpp | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/Target/ARM/ARMFrameLowering.cpp b/lib/Target/ARM/ARMFrameLowering.cpp index 4a64867d3a..b8cbf5d2db 100644 --- a/lib/Target/ARM/ARMFrameLowering.cpp +++ b/lib/Target/ARM/ARMFrameLowering.cpp @@ -297,7 +297,7 @@ void ARMFrameLowering::emitPrologue(MachineFunction &MF) const { void ARMFrameLowering::emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const { - MachineBasicBlock::iterator MBBI = prior(MBB.end()); + MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr(); assert(MBBI->getDesc().isReturn() && "Can only insert epilog into returning blocks"); unsigned RetOpcode = MBBI->getOpcode(); @@ -378,7 +378,7 @@ void ARMFrameLowering::emitEpilogue(MachineFunction &MF, if (RetOpcode == ARM::TCRETURNdi || RetOpcode == ARM::TCRETURNdiND || RetOpcode == ARM::TCRETURNri || RetOpcode == ARM::TCRETURNriND) { // Tail call return: adjust the stack pointer and jump to callee. - MBBI = prior(MBB.end()); + MBBI = MBB.getLastNonDebugInstr(); MachineOperand &JumpTarget = MBBI->getOperand(0); // Jump to label or value in register. diff --git a/lib/Target/ARM/Thumb1FrameLowering.cpp b/lib/Target/ARM/Thumb1FrameLowering.cpp index 8a6dda8214..233e165387 100644 --- a/lib/Target/ARM/Thumb1FrameLowering.cpp +++ b/lib/Target/ARM/Thumb1FrameLowering.cpp @@ -189,7 +189,7 @@ static bool isCSRestore(MachineInstr *MI, const unsigned *CSRegs) { void Thumb1FrameLowering::emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const { - MachineBasicBlock::iterator MBBI = prior(MBB.end()); + MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr(); assert((MBBI->getOpcode() == ARM::tBX_RET || MBBI->getOpcode() == ARM::tPOP_RET) && "Can only insert epilog into returning blocks"); |