[SDAG] Add an assert that we don't mess up the number of values when
authorChandler Carruth <chandlerc@gmail.com>
Sat, 26 Jul 2014 05:53:16 +0000 (05:53 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sat, 26 Jul 2014 05:53:16 +0000 (05:53 +0000)
replacing nodes in the legalizer.

This caught a number of bugs for me during development.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214022 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

index 96e569e7b64b6ecb161e2bf851884ffb74225ea2..0275990dcdfec2bec1e13a83a388bcaa613b2828 100644 (file)
@@ -180,6 +180,9 @@ public:
     }
   }
   void ReplaceNode(SDNode *Old, SDNode *New) {
+    assert(Old->getNumValues() == New->getNumValues() &&
+           "Replacing one node with another that produces a different number "
+           "of values!");
     DAG.ReplaceAllUsesWith(Old, New);
     for (unsigned i = 0, e = Old->getNumValues(); i != e; ++i)
       DAG.TransferDbgValues(SDValue(Old, i), SDValue(New, i));