diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2007-05-16 07:45:54 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2007-05-16 07:45:54 +0000 |
| commit | 01a4227ed15718e4216fcc343e504347f91f6267 (patch) | |
| tree | 7d2dde39c7f67ee421a8899f73225e6c0673a7cd /llvm | |
| parent | 48fb92f75d548241c4103d734f958f1ed04aa4cc (diff) | |
| download | bcm5719-llvm-01a4227ed15718e4216fcc343e504347f91f6267.tar.gz bcm5719-llvm-01a4227ed15718e4216fcc343e504347f91f6267.zip | |
Conditional branch is not a barrier.
llvm-svn: 37103
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrInfo.td | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td index ad2807cc4af..b8f5b8a421e 100644 --- a/llvm/lib/Target/ARM/ARMInstrInfo.td +++ b/llvm/lib/Target/ARM/ARMInstrInfo.td @@ -590,14 +590,12 @@ let isCall = 1, noResults = 1, } } -let isBranch = 1, isTerminator = 1, noResults = 1, isBarrier = 1 in { +let isBranch = 1, isTerminator = 1, noResults = 1 in { // B can changed into a Bcc, but it is not "predicated". + let isBarrier = 1 in { def B : AXI<(ops brtarget:$dst), "b $dst", [(br bb:$dst)]>; - def Bcc : AXI<(ops brtarget:$dst, ccop:$cc), "b$cc $dst", - [(ARMbrcond bb:$dst, imm:$cc)]>; - def BR_JTr : JTI<(ops GPR:$dst, jtblock_operand:$jt, i32imm:$id), "mov", " pc, $dst \n$jt", [(ARMbrjt GPR:$dst, tjumptable:$jt, imm:$id)]>; @@ -609,6 +607,10 @@ let isBranch = 1, isTerminator = 1, noResults = 1, isBarrier = 1 in { "add", " pc, $dst, $idx \n$jt", [(ARMbrjt (add GPR:$dst, GPR:$idx), tjumptable:$jt, imm:$id)]>; + } + + def Bcc : AXI<(ops brtarget:$dst, ccop:$cc), "b$cc $dst", + [(ARMbrcond bb:$dst, imm:$cc)]>; } //===----------------------------------------------------------------------===// |

