aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-05-16 20:50:01 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-05-16 20:50:01 +0000
commitdcd6cdf8964ef7afe99c44626115e72b8bd86b3f (patch)
treeccb65bb91b4d75c880c06d49c7391d08eed4de1e /llvm/lib
parentcc332186076cc3ecfa3be45ecb9cac69a2dc4ffd (diff)
downloadllvm-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.td11
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",