Skip over srcvalue nodes when generating ISEL code.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 14 Dec 2005 02:21:57 +0000 (02:21 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 14 Dec 2005 02:21:57 +0000 (02:21 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24704 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/DAGISelEmitter.cpp

index de74ac13a4108296210497b840969edbbb6ad77c..eca9ad11cef96f0bd397acf910f29137fd3bac8a 100644 (file)
@@ -485,7 +485,7 @@ static unsigned char getIntrinsicType(Record *R, bool NotRegisters,
     return MVT::Other;
   } else if (R->isSubClassOf("ComplexPattern")) {
     return TP.getDAGISelEmitter().getComplexPattern(R).getValueType();
-  } else if (R->getName() == "node") {
+  } else if (R->getName() == "node" || R->getName() == "srcvalue") {
     // Placeholder.
     return MVT::isUnknown;
   }
@@ -973,6 +973,10 @@ static bool HandleUse(TreePattern *I, TreePatternNode *Pat,
     Rec = Pat->getOperator();
   }
 
+  // SRCVALUE nodes are ignored.
+  if (Rec->getName() == "srcvalue")
+    return false;
+
   TreePatternNode *&Slot = InstInputs[Pat->getName()];
   if (!Slot) {
     Slot = Pat;
@@ -1832,6 +1836,8 @@ public:
             }
           } else if (LeafRec->isSubClassOf("ComplexPattern")) {
             // Handle complex pattern. Nothing to do here.
+          } else if (LeafRec->getName() == "srcvalue") {
+            // Place holder for SRCVALUE nodes. Nothing to do here.
           } else if (LeafRec->isSubClassOf("ValueType")) {
             // Make sure this is the specified value type.
             OS << "      if (cast<VTSDNode>(" << RootName << OpNo << ")->getVT() != "