Fix a bug in ReplaceAllUsesWith
authorChris Lattner <sabre@nondot.org>
Sun, 28 Aug 2005 23:59:36 +0000 (23:59 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 28 Aug 2005 23:59:36 +0000 (23:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23122 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAG.cpp

index 43163151049f2c5e18ec1a2f83df636c69738cb2..b47002f11654a3f07b4857cca4049c86296efb9f 100644 (file)
@@ -2084,7 +2084,7 @@ void SelectionDAG::ReplaceAllUsesWith(SDNode *From,
                                       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;