Skip over srcvalue nodes when generating ISEL code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24704 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp
index de74ac1..eca9ad1 100644
--- a/utils/TableGen/DAGISelEmitter.cpp
+++ b/utils/TableGen/DAGISelEmitter.cpp
@@ -485,7 +485,7 @@
     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 @@
     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 @@
             }
           } 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() != "