Add clobbersPred - instruction that clobbers condition code / register which are...
authorEvan Cheng <evan.cheng@apple.com>
Wed, 6 Jun 2007 10:14:55 +0000 (10:14 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 6 Jun 2007 10:14:55 +0000 (10:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37465 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/CodeGenInstruction.h
utils/TableGen/CodeGenTarget.cpp
utils/TableGen/InstrInfoEmitter.cpp

index 687c17f43a62feaa34ee9482a80e13a10aa0b921..62b2ee7c790b292a3c92ce9389d869ab0475f902 100644 (file)
@@ -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.
index a6677a2bf8f0c408199a1e1c23ce616ef228e9f0..17cea6f2a611aec0cc0b9a394d527a07d34b438d 100644 (file)
@@ -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;
index 090c35b01b012ea080bdb7cd415cd6fedf6e8cec..df25f25013725e6208f3aef31f7620c082330d2c 100644 (file)
@@ -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)