Fixed node deletion bug.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20207 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tanya Lattner
2005-02-16 04:00:59 +00:00
parent 2ee51cbeb8
commit db1680b2be
2 changed files with 13 additions and 6 deletions

View File

@ -112,11 +112,12 @@ void MSchedGraph::addNode(const MachineInstr *MI,
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());