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";