diff options
-rw-r--r-- | utils/TableGen/CodeGenInstruction.h | 1 | ||||
-rw-r--r-- | utils/TableGen/CodeGenTarget.cpp | 1 | ||||
-rw-r--r-- | utils/TableGen/InstrInfoEmitter.cpp | 2 |
3 files changed, 4 insertions, 0 deletions
diff --git a/utils/TableGen/CodeGenInstruction.h b/utils/TableGen/CodeGenInstruction.h index b140d00211..669280c1bb 100644 --- a/utils/TableGen/CodeGenInstruction.h +++ b/utils/TableGen/CodeGenInstruction.h @@ -81,6 +81,7 @@ namespace llvm { bool isCommutable; bool isTerminator; bool hasDelaySlot; + bool usesCustomDAGSChedInserter; bool hasVariableNumberOfOperands; CodeGenInstruction(Record *R, const std::string &AsmStr); diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp index 8e7cbdc909..282a7ac530 100644 --- a/utils/TableGen/CodeGenTarget.cpp +++ b/utils/TableGen/CodeGenTarget.cpp @@ -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 { diff --git a/utils/TableGen/InstrInfoEmitter.cpp b/utils/TableGen/InstrInfoEmitter.cpp index 57f776f4eb..718491e2b5 100644 --- a/utils/TableGen/InstrInfoEmitter.cpp +++ b/utils/TableGen/InstrInfoEmitter.cpp @@ -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... |