Bug fix wrt chain operand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25115 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp
index 645392e..1d8e645 100644
--- a/utils/TableGen/DAGISelEmitter.cpp
+++ b/utils/TableGen/DAGISelEmitter.cpp
@@ -1902,6 +1902,10 @@
            << ".getValue(" << CInfo.getNumResults() << "))) goto P"
            << PatternNo << "Fail;   // Already selected for a chain use?\n";
       }
+      if (!FoundChain) {
+        OS << "      SDOperand Chain = " << RootName << ".getOperand(0);\n";
+        FoundChain = true;
+      }
     }
 
     for (unsigned i = 0, e = N->getNumChildren(); i != e; ++i, ++OpNo) {
@@ -1975,13 +1979,6 @@
       }
     }
 
-    if (HasChain) {
-      if (!FoundChain) {
-        OS << "      SDOperand Chain = " << RootName << ".getOperand(0);\n";
-        FoundChain = true;
-      }
-    }
-
     // If there is a node predicate for this, emit the call.
     if (!N->getPredicateFn().empty())
       OS << "      if (!" << N->getPredicateFn() << "(" << RootName