summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-11-06 21:44:17 +0000
committerChris Lattner <sabre@nondot.org>2006-11-06 21:44:17 +0000
commit27f894f3bf7f0f223468bb701e051f15eb7ff75d (patch)
tree92d9f07f1c326b3efdf9132977425208e9298b53
parentf24d15f96979971cb9712d0ffaf3b26c41552440 (diff)
downloadllvm-27f894f3bf7f0f223468bb701e051f15eb7ff75d.tar.gz
add a flag so that predicated instructions can be recognized by branch
folding llvm-svn: 31479
-rw-r--r--llvm/include/llvm/Target/TargetInstrInfo.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/include/llvm/Target/TargetInstrInfo.h b/llvm/include/llvm/Target/TargetInstrInfo.h
index 48634178c27c..275477714f96 100644
--- a/llvm/include/llvm/Target/TargetInstrInfo.h
+++ b/llvm/include/llvm/Target/TargetInstrInfo.h
@@ -80,6 +80,11 @@ const unsigned M_USES_CUSTOM_DAG_SCHED_INSERTION = 1 << 11;
// operands in addition to the minimum number operands specified.
const unsigned M_VARIABLE_OPS = 1 << 12;
+// M_PREDICATED - Set if this instruction has a predicate that controls its
+// execution.
+const unsigned M_PREDICATED = 1 << 13;
+
+
// Machine operand flags
// M_LOOK_UP_PTR_REG_CLASS - Set if this operand is a pointer value and it
// requires a callback to look up its register class.
@@ -177,6 +182,9 @@ public:
bool isTwoAddrInstr(MachineOpCode Opcode) const {
return get(Opcode).Flags & M_2_ADDR_FLAG;
}
+ bool isPredicated(MachineOpCode Opcode) const {
+ return get(Opcode).Flags & M_PREDICATED;
+ }
bool isCommutableInstr(MachineOpCode Opcode) const {
return get(Opcode).Flags & M_COMMUTABLE;
}