diff options
| author | Owen Anderson <resistor@mac.com> | 2011-09-09 21:48:23 +0000 |
|---|---|---|
| committer | Owen Anderson <resistor@mac.com> | 2011-09-09 21:48:23 +0000 |
| commit | 29cfe6c3683f2a80e28e3735bfb3955504d3cdd9 (patch) | |
| tree | b245a1bfdef354a94f82c6de0b0c7339798f34b6 /llvm/lib/Target/ARM/ARMAsmPrinter.cpp | |
| parent | 8726d330f1fdf10fd4c69ef110a801ff83c31921 (diff) | |
| download | bcm5719-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/ARMAsmPrinter.cpp')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMAsmPrinter.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp index 0a1a09c9c9b..6c5dcbe6a71 100644 --- a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp +++ b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp @@ -963,6 +963,8 @@ void ARMAsmPrinter::EmitJump2Table(const MachineInstr *MI) { MCInst BrInst; BrInst.setOpcode(ARM::t2B); BrInst.addOperand(MCOperand::CreateExpr(MBBSymbolExpr)); + BrInst.addOperand(MCOperand::CreateImm(ARMCC::AL)); + BrInst.addOperand(MCOperand::CreateReg(0)); OutStreamer.EmitInstruction(BrInst); continue; } @@ -1677,6 +1679,8 @@ void ARMAsmPrinter::EmitInstruction(const MachineInstr *MI) { MCInst TmpInst; TmpInst.setOpcode(ARM::tB); TmpInst.addOperand(MCOperand::CreateExpr(SymbolExpr)); + TmpInst.addOperand(MCOperand::CreateImm(ARMCC::AL)); + TmpInst.addOperand(MCOperand::CreateReg(0)); OutStreamer.EmitInstruction(TmpInst); } { |

