aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target/TargetInstrInfo.h
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
commit1b1b737d7dc7b3330331cf65514719d719f88a43 (patch)
tree16bc9db6bca06df065a3438fee5441e52234fde3 /include/llvm/Target/TargetInstrInfo.h
parentd5ad440f4371448e2c926b4f6613cc7107dd5c5c (diff)
downloadexternal_llvm-1b1b737d7dc7b3330331cf65514719d719f88a43.zip
external_llvm-1b1b737d7dc7b3330331cf65514719d719f88a43.tar.gz
external_llvm-1b1b737d7dc7b3330331cf65514719d719f88a43.tar.bz2
add a flag so that predicated instructions can be recognized by branch
folding git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31479 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/TargetInstrInfo.h')
-rw-r--r--include/llvm/Target/TargetInstrInfo.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetInstrInfo.h b/include/llvm/Target/TargetInstrInfo.h
index 4863417..2754777 100644
--- a/include/llvm/Target/TargetInstrInfo.h
+++ b/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;
}