Expose a new flag to TargetInstrInfo
authorChris Lattner <sabre@nondot.org>
Fri, 26 Aug 2005 20:40:46 +0000 (20:40 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 26 Aug 2005 20:40:46 +0000 (20:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23094 91177308-0d34-0410-b5e6-96231b3b80d8

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

index b140d0021106aa4bf3ea86d60c8f61c15fceed1e..669280c1bbc8eb007bffb7dc18c2570bd7479a87 100644 (file)
@@ -81,6 +81,7 @@ namespace llvm {
     bool isCommutable;
     bool isTerminator;
     bool hasDelaySlot;
+    bool usesCustomDAGSChedInserter;
     bool hasVariableNumberOfOperands;
 
     CodeGenInstruction(Record *R, const std::string &AsmStr);
index 8e7cbdc9093730a468c269174d69dcda81f1ffcb..282a7ac530483678385f6e811ff0598086f2b84b 100644 (file)
@@ -250,6 +250,7 @@ CodeGenInstruction::CodeGenInstruction(Record *R, const std::string &AsmStr)
   isCommutable = R->getValueAsBit("isCommutable");
   isTerminator = R->getValueAsBit("isTerminator");
   hasDelaySlot = R->getValueAsBit("hasDelaySlot");
+  usesCustomDAGSChedInserter = R->getValueAsBit("usesCustomDAGSChedInserter");
   hasVariableNumberOfOperands = false;
   
   try {
index 57f776f4ebefc11f9ca0e853dce56bbfbf37ab30..718491e2b5445d2ee507f1f4a03c10f4cebd4971 100644 (file)
@@ -197,6 +197,8 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num,
   if (Inst.isConvertibleToThreeAddress) OS << "|M_CONVERTIBLE_TO_3_ADDR";
   if (Inst.isCommutable) OS << "|M_COMMUTABLE";
   if (Inst.isTerminator) OS << "|M_TERMINATOR_FLAG";
+  if (Inst.usesCustomDAGSChedInserter)
+    OS << "|M_USES_CUSTOM_DAG_SCHED_INSERTION";
   OS << ", 0";
 
   // Emit all of the target-specific flags...