summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMFrameLowering.cpp
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2011-09-09 21:48:23 +0000
committerOwen Anderson <resistor@mac.com>2011-09-09 21:48:23 +0000
commit29cfe6c3683f2a80e28e3735bfb3955504d3cdd9 (patch)
treeb245a1bfdef354a94f82c6de0b0c7339798f34b6 /llvm/lib/Target/ARM/ARMFrameLowering.cpp
parent8726d330f1fdf10fd4c69ef110a801ff83c31921 (diff)
downloadbcm5719-llvm-29cfe6c3683f2a80e28e3735bfb3955504d3cdd9.tar.gz
bcm5719-llvm-29cfe6c3683f2a80e28e3735bfb3955504d3cdd9.zip
Thumb unconditional branches are allowed in IT blocks, and therefore should have a predicate operand, unlike conditional branches.
llvm-svn: 139415
Diffstat (limited to 'llvm/lib/Target/ARM/ARMFrameLowering.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMFrameLowering.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMFrameLowering.cpp b/llvm/lib/Target/ARM/ARMFrameLowering.cpp
index ce3bd643a8a..2d1de6fe8e9 100644
--- a/llvm/lib/Target/ARM/ARMFrameLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMFrameLowering.cpp
@@ -414,6 +414,9 @@ void ARMFrameLowering::emitEpilogue(MachineFunction &MF,
MIB.addExternalSymbol(JumpTarget.getSymbolName(),
JumpTarget.getTargetFlags());
}
+
+ // Add the default predicate in Thumb mode.
+ if (STI.isThumb()) MIB.addImm(ARMCC::AL).addReg(0);
} else if (RetOpcode == ARM::TCRETURNri) {
BuildMI(MBB, MBBI, dl,
TII.get(STI.isThumb() ? ARM::tTAILJMPr : ARM::TAILJMPr)).
OpenPOWER on IntegriCloud