summaryrefslogtreecommitdiff
path: root/utils/TableGen
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-06-06 10:14:55 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-06-06 10:14:55 +0000
commitb5c1c9c8e30d8498cdb2d0ee215f05ca8dc3e4e2 (patch)
treebc84b17f9ec7ac784b8043c73e3bab8ccf21f891 /utils/TableGen
parentf94ab6a6620d4a629f46fd764742db0331e6470f (diff)
downloadllvm-b5c1c9c8e30d8498cdb2d0ee215f05ca8dc3e4e2.tar.gz
llvm-b5c1c9c8e30d8498cdb2d0ee215f05ca8dc3e4e2.tar.bz2
llvm-b5c1c9c8e30d8498cdb2d0ee215f05ca8dc3e4e2.tar.xz
Add clobbersPred - instruction that clobbers condition code / register which are used to predicate instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37465 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen')
-rw-r--r--utils/TableGen/CodeGenInstruction.h1
-rw-r--r--utils/TableGen/CodeGenTarget.cpp1
-rw-r--r--utils/TableGen/InstrInfoEmitter.cpp1
3 files changed, 3 insertions, 0 deletions
diff --git a/utils/TableGen/CodeGenInstruction.h b/utils/TableGen/CodeGenInstruction.h
index 687c17f43a..62b2ee7c79 100644
--- a/utils/TableGen/CodeGenInstruction.h
+++ b/utils/TableGen/CodeGenInstruction.h
@@ -97,6 +97,7 @@ namespace llvm {
bool hasVariableNumberOfOperands;
bool hasCtrlDep;
bool noResults;
+ bool clobbersPred;
/// ParseOperandName - Parse an operand name like "$foo" or "$foo.bar",
/// where $foo is a whole operand and $foo.bar refers to a suboperand.
diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp
index a6677a2bf8..17cea6f2a6 100644
--- a/utils/TableGen/CodeGenTarget.cpp
+++ b/utils/TableGen/CodeGenTarget.cpp
@@ -360,6 +360,7 @@ CodeGenInstruction::CodeGenInstruction(Record *R, const std::string &AsmStr)
usesCustomDAGSchedInserter = R->getValueAsBit("usesCustomDAGSchedInserter");
hasCtrlDep = R->getValueAsBit("hasCtrlDep");
noResults = R->getValueAsBit("noResults");
+ clobbersPred = R->getValueAsBit("clobbersPred");
hasVariableNumberOfOperands = false;
DagInit *DI;
diff --git a/utils/TableGen/InstrInfoEmitter.cpp b/utils/TableGen/InstrInfoEmitter.cpp
index 090c35b01b..df25f25013 100644
--- a/utils/TableGen/InstrInfoEmitter.cpp
+++ b/utils/TableGen/InstrInfoEmitter.cpp
@@ -241,6 +241,7 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num,
if (Inst.isCommutable) OS << "|M_COMMUTABLE";
if (Inst.isTerminator) OS << "|M_TERMINATOR_FLAG";
if (Inst.isReMaterializable) OS << "|M_REMATERIALIZIBLE";
+ if (Inst.clobbersPred) OS << "|M_CLOBBERS_PRED";
if (Inst.usesCustomDAGSchedInserter)
OS << "|M_USES_CUSTOM_DAG_SCHED_INSERTION";
if (Inst.hasVariableNumberOfOperands)