diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2007-05-16 20:50:01 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2007-05-16 20:50:01 +0000 |
| commit | dcd6cdf8964ef7afe99c44626115e72b8bd86b3f (patch) | |
| tree | ccb65bb91b4d75c880c06d49c7391d08eed4de1e /llvm/lib | |
| parent | cc332186076cc3ecfa3be45ecb9cac69a2dc4ffd (diff) | |
| download | llvm-dcd6cdf8964ef7afe99c44626115e72b8bd86b3f.zip llvm-dcd6cdf8964ef7afe99c44626115e72b8bd86b3f.tar.gz llvm-dcd6cdf8964ef7afe99c44626115e72b8bd86b3f.tar.bz2 | |
Make ARM::B isPredicable; Make Bcc and MOVCC condition option a normal operand so they are not predicable.
llvm-svn: 37118
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrInfo.td | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td index b8f5b8a..9616a07 100644 --- a/llvm/lib/Target/ARM/ARMInstrInfo.td +++ b/llvm/lib/Target/ARM/ARMInstrInfo.td @@ -278,7 +278,7 @@ def addrmodepc : Operand<i32>, } // ARM branch / cmov condition code operand. -def ccop : PredicateOperand<i32, (ops i32imm), (ops)> { +def ccop : Operand<i32> { let PrintMethod = "printPredicateOperand"; } @@ -364,7 +364,7 @@ class PseudoInst<dag ops, string asm, list<dag> pattern> let Pattern = pattern; } -// Almost all ARM instructions are predicatable. +// Almost all ARM instructions are predicable. class I<dag oprnds, AddrMode am, SizeFlagVal sz, IndexMode im, string opc, string asm, string cstr, list<dag> pattern> // FIXME: Set all opcodes to 0 for now. @@ -591,10 +591,11 @@ let isCall = 1, noResults = 1, } let isBranch = 1, isTerminator = 1, noResults = 1 in { - // B can changed into a Bcc, but it is not "predicated". + // B is "predicable" since it can be xformed into a Bcc. let isBarrier = 1 in { - def B : AXI<(ops brtarget:$dst), "b $dst", - [(br bb:$dst)]>; + let isPredicable = 1 in + def B : AXI<(ops brtarget:$dst), "b $dst", + [(br bb:$dst)]>; def BR_JTr : JTI<(ops GPR:$dst, jtblock_operand:$jt, i32imm:$id), "mov", " pc, $dst \n$jt", |
