OSDN Git Service

Turn the hasDelaySlot flag into the M_DELAY_SLOT_FLAG
authorChris Lattner <sabre@nondot.org>
Tue, 28 Sep 2004 18:38:01 +0000 (18:38 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 28 Sep 2004 18:38:01 +0000 (18:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16553 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 5e6af31..8551a55 100644 (file)
@@ -73,6 +73,7 @@ namespace llvm {
     bool isCall;
     bool isTwoAddress;
     bool isTerminator;
+    bool hasDelaySlot;
 
     CodeGenInstruction(Record *R, const std::string &AsmStr);
 
index 49fd772..ba21405 100644 (file)
@@ -197,6 +197,7 @@ CodeGenInstruction::CodeGenInstruction(Record *R, const std::string &AsmStr)
   isCall       = R->getValueAsBit("isCall");
   isTwoAddress = R->getValueAsBit("isTwoAddress");
   isTerminator = R->getValueAsBit("isTerminator");
+  hasDelaySlot = R->getValueAsBit("hasDelaySlot");
 
   try {
     DagInit *DI = R->getValueAsDag("OperandList");
index 0596f43..c02eda1 100644 (file)
@@ -111,6 +111,7 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num,
   if (Inst.isReturn)     OS << "|M_RET_FLAG";
   if (Inst.isBranch)     OS << "|M_BRANCH_FLAG";
   if (Inst.isBarrier)    OS << "|M_BARRIER_FLAG";
+  if (Inst.hasDelaySlot) OS << "|M_DELAY_SLOT_FLAG";
   if (Inst.isCall)       OS << "|M_CALL_FLAG";
   if (Inst.isTwoAddress) OS << "|M_2_ADDR_FLAG";
   if (Inst.isTerminator) OS << "|M_TERMINATOR_FLAG";