More constification of things. More comments added. No functionality
[oota-llvm.git] / lib / CodeGen / SelectionDAG / LegalizeTypes.cpp
index f09a311c064cdcb099838216a829aa3ec09da5b8..3d419552826b16552b0abe0fce033007d7a5ca6d 100644 (file)
@@ -220,22 +220,27 @@ void DAGTypeLegalizer::MarkNewNodes(SDNode *N) {
 namespace {
   /// NodeUpdateListener - This class is a DAGUpdateListener that listens for
   /// updates to nodes and recomputes their ready state.
-  class VISIBILITY_HIDDEN NodeUpdateListener : 
+  class VISIBILITY_HIDDEN NodeUpdateListener :
     public SelectionDAG::DAGUpdateListener {
     DAGTypeLegalizer &DTL;
   public:
     NodeUpdateListener(DAGTypeLegalizer &dtl) : DTL(dtl) {}
-    
+
     virtual void NodeDeleted(SDNode *N) {
       // Ignore deletes.
+      assert(N->getNodeId() != DAGTypeLegalizer::Processed &&
+             N->getNodeId() != DAGTypeLegalizer::ReadyToProcess &&
+             "RAUW deleted processed node!");
     }
-    
+
     virtual void NodeUpdated(SDNode *N) {
       // Node updates can mean pretty much anything.  It is possible that an
       // operand was set to something already processed (f.e.) in which case
       // this node could become ready.  Recompute its flags.
-      if (N->getNodeId() != DAGTypeLegalizer::ReadyToProcess)
-        DTL.ReanalyzeNodeFlags(N);
+      assert(N->getNodeId() != DAGTypeLegalizer::Processed &&
+             N->getNodeId() != DAGTypeLegalizer::ReadyToProcess &&
+             "RAUW updated processed node!");
+      DTL.ReanalyzeNodeFlags(N);
     }
   };
 }