Use corresponding macro.
[libfirm] / ir / ir / iredges.c
index eec8a85..6bd1994 100644 (file)
@@ -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);