X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firedges.c;h=6bd19948aae6b29457f22e449e046d57d06127c0;hb=4f92e524762e0febc361676111b3b5b79addd03a;hp=eec8a85d004235a5e24c41c65c1aeffb65caa73c;hpb=1a3b7d363474ab544c13093a2f0b578718d37c7a;p=libfirm diff --git a/ir/ir/iredges.c b/ir/ir/iredges.c index eec8a85d0..6bd19948a 100644 --- a/ir/ir/iredges.c +++ b/ir/ir/iredges.c @@ -785,7 +785,7 @@ static void count_user(ir_node *irn, void *env) int first; (void) env; - first = -1; + first = is_Block(irn) ? 0 : -1; for (i = get_irn_arity(irn) - 1; i >= first; --i) { ir_node *op = get_irn_n(irn, i); bitset_t *bs = (bitset_t*)get_irn_link(op); @@ -1005,9 +1005,8 @@ static void irg_walk_edges2(ir_node *node, irg_walk_func *pre, { const ir_edge_t *edge, *next; - if (irn_visited(node)) + if (irn_visited_else_mark(node)) return; - mark_irn_visited(node); if (pre != NULL) pre(node, env);