summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/llvm/CodeGen/SelectionDAG.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h
index 2b9382b..fee46b3 100644
--- a/include/llvm/CodeGen/SelectionDAG.h
+++ b/include/llvm/CodeGen/SelectionDAG.h
@@ -19,6 +19,7 @@
#include "llvm/ADT/StringMap.h"
#include "llvm/CodeGen/SelectionDAGNodes.h"
+#include <cassert>
#include <list>
#include <vector>
#include <map>
@@ -127,7 +128,11 @@ public:
/// setRoot - Set the current root tag of the SelectionDAG.
///
- const SDOperand &setRoot(SDOperand N) { return Root = N; }
+ const SDOperand &setRoot(SDOperand N) {
+ assert((!N.Val || N.getValueType() == MVT::Other) &&
+ "DAG root value is not a chain!");
+ return Root = N;
+ }
/// Combine - This iterates over the nodes in the SelectionDAG, folding
/// certain types of nodes together, or eliminating superfluous nodes. When