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/MSchedGraph.cpp b/lib/Target/SparcV9/ModuloScheduling/MSchedGraph.cpp
index 376cbfd..9ac38b4 100644
--- a/lib/Target/SparcV9/ModuloScheduling/MSchedGraph.cpp
+++ b/lib/Target/SparcV9/ModuloScheduling/MSchedGraph.cpp
@@ -112,11 +112,12 @@
 void MSchedGraph::deleteNode(MSchedGraphNode *node) {
   
   //Delete the edge to this node from all predecessors
-  for(MSchedGraphNode::pred_iterator P = node->pred_begin(), PE = node->pred_end();
-      P != PE; ++P) {
-    (*P)->deleteSuccessor(node);
+  while(node->pred_size() > 0) {
+    //DEBUG(std::cerr << "Delete edge from: " << **P << " to " << *node << "\n"); 
+    MSchedGraphNode *pred = *(node->pred_begin());
+    pred->deleteSuccessor(node);
   }
-
+ 
   //Remove this node from the graph
   GraphMap.erase(node->getInst());