Fixed node deletion bug.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20207 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/SparcV9/ModuloScheduling/ModuloScheduling.cpp b/lib/Target/SparcV9/ModuloScheduling/ModuloScheduling.cpp
index 15dc5b3..985743d 100644
--- a/lib/Target/SparcV9/ModuloScheduling/ModuloScheduling.cpp
+++ b/lib/Target/SparcV9/ModuloScheduling/ModuloScheduling.cpp
@@ -77,6 +77,8 @@
   Statistic<> MSLoops("modulosched-schedLoops", "Number of loops successfully modulo-scheduled");
   Statistic<> IncreasedII("modulosched-increasedII", "Number of times we had to increase II");
   Statistic<> SingleBBLoops("modulosched-singeBBLoops", "Number of single basic block loops");
+  Statistic<> NoSched("modulosched-noSched", "No schedule");
+  Statistic<> SameStage("modulosched-sameStage", "Max stage is 0");
 
   template<>
   struct DOTGraphTraits<MSchedGraph*> : public DefaultDOTGraphTraits {
@@ -252,9 +254,13 @@
       ++MSLoops;
       Changed = true;
     }
-    else
+    else {
+      if(!haveSched)
+	++NoSched;
+      else
+	++SameStage;
       DEBUG(std::cerr << "Max stage is 0, so no change in loop or reached cap\n");
-    
+    }
     //Clear out our maps for the next basic block that is processed
     nodeToAttributesMap.clear();
     partialOrder.clear();