From: Sebastian Hack Date: Tue, 20 Jun 2006 12:16:51 +0000 (+0000) Subject: Fixed a bug in node iterator X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=f7d0af60cd69a01e593074b840c0f510a0945dda;p=libfirm Fixed a bug in node iterator --- diff --git a/ir/be/becopyilp.c b/ir/be/becopyilp.c index 3e2469e2c..a40a448c2 100644 --- a/ir/be/becopyilp.c +++ b/ir/be/becopyilp.c @@ -54,6 +54,7 @@ static INLINE int sr_is_simplicial(size_red_t *sr, const ir_node *ifn) { be_ifg_foreach_neighbour(ifg, iter, ifn, curr) if (!sr_is_removed(sr, curr)) all[size++] = curr; + be_ifg_neighbours_break(ifg, iter); /* check if these form a clique */ for (i=0; ico->cenv->ifg; - void *iter = be_ifg_neighbours_iter_alloca(ifg); + void *iter = be_ifg_nodes_iter_alloca(ifg); while (redo) { redo = 0; @@ -93,6 +94,7 @@ void sr_remove(size_red_t *sr) { } } } + be_ifg_nodes_break(ifg, iter); } } @@ -115,6 +117,7 @@ void sr_reinsert(size_red_t *sr) { if (!sr_is_removed(sr, other)) /* only inspect nodes which are in graph right now */ bitset_set(used_cols, get_irn_col(sr->co, other)); } + be_ifg_neighbours_break(ifg, iter); /* now all bits not set are possible colors */ free_col = bitset_next_clear(used_cols, 0);