allow Select to return the node being selected if RAU isn't needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29712 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp
index 08da0c0..3b58817 100644
--- a/utils/TableGen/DAGISelEmitter.cpp
+++ b/utils/TableGen/DAGISelEmitter.cpp
@@ -3655,7 +3655,7 @@
   OS << "    ISelQueue.pop_back();\n";
   OS << "    if (!isSelected(Node->getNodeId())) {\n";
   OS << "      SDNode *ResNode = Select(Tmp, SDOperand(Node, 0));\n";
-  OS << "      if (ResNode) ReplaceUses(Node, ResNode);\n";
+  OS << "      if (ResNode && ResNode != Node) ReplaceUses(Node, ResNode);\n";
   OS << "    }\n";
   OS << "  }\n";
   OS << "\n";