Fix a bug in ReplaceAllUsesWith


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23122 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 4316315..b47002f 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -2084,7 +2084,7 @@
                                       const std::vector<SDOperand> &To) {
   assert(From->getNumValues() == To.size() &&
          "Incorrect number of values to replace with!");
-  if (To.size() == 1) {
+  if (To.size() == 1 && To[0].Val->getNumValues() == 1) {
     // Degenerate case handled above.
     ReplaceAllUsesWith(SDOperand(From, 0), To[0]);
     return;