aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-05-16 21:53:43 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-05-16 21:53:43 +0000
commit1634e7186b42cd0055d28bf4cdbd51b065511f94 (patch)
treed4063e0345719cf7a5f199736aa5a6c0d47361db /llvm/lib
parentdcff2eb0e87ec6255ec08ce821bdc92adea8a755 (diff)
downloadllvm-1634e7186b42cd0055d28bf4cdbd51b065511f94.zip
llvm-1634e7186b42cd0055d28bf4cdbd51b065511f94.tar.gz
llvm-1634e7186b42cd0055d28bf4cdbd51b065511f94.tar.bz2
ARM::tB is also predicable.
llvm-svn: 37125
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrThumb.td7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrThumb.td b/llvm/lib/Target/ARM/ARMInstrThumb.td
index 5032932..d2c1db6 100644
--- a/llvm/lib/Target/ARM/ARMInstrThumb.td
+++ b/llvm/lib/Target/ARM/ARMInstrThumb.td
@@ -207,8 +207,10 @@ let isCall = 1, noResults = 1,
[(ARMcall_nolink GPR:$dst)]>;
}
-let isBranch = 1, isTerminator = 1, isBarrier = 1 in {
- def tB : TI<(ops brtarget:$dst), "b $dst", [(br bb:$dst)]>;
+let isBranch = 1, isTerminator = 1, noResults = 1 in {
+ let isBarrier = 1 in {
+ let isPredicable = 1 in
+ def tB : TI<(ops brtarget:$dst), "b $dst", [(br bb:$dst)]>;
// Far jump
def tBfar : TIx2<(ops brtarget:$dst), "bl $dst\t@ far jump", []>;
@@ -216,6 +218,7 @@ let isBranch = 1, isTerminator = 1, isBarrier = 1 in {
def tBR_JTr : TJTI<(ops GPR:$dst, jtblock_operand:$jt, i32imm:$id),
"cpy pc, $dst \n\t.align\t2\n$jt",
[(ARMbrjt GPR:$dst, tjumptable:$jt, imm:$id)]>;
+ }
}
let isBranch = 1, isTerminator = 1, noResults = 1, isBarrier = 1 in