X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fana%2Firouts.c;h=52677292e74e948630cc597620089183c5986142;hb=d3a6759399c2870a6975f01c02f8398da6ee4061;hp=f2884476343439f5caee9427bbb037163843f7cd;hpb=e07b61c6ed5d198a484761f8a40a4f26520d964d;p=libfirm diff --git a/ir/ana/irouts.c b/ir/ana/irouts.c index f28844763..52677292e 100644 --- a/ir/ana/irouts.c +++ b/ir/ana/irouts.c @@ -24,13 +24,9 @@ * @date 1.2002 * @version $Id$ */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif -#ifdef HAVE_STRING_H #include -#endif #include "xmalloc.h" #include "irouts.h" @@ -266,8 +262,7 @@ void irg_out_block_walk(ir_node *node, for (i = 0, n = get_irn_n_outs(node); i < n; ++i) { ir_node *succ = get_irn_out(node, i); - if (get_irn_visited(succ) < get_irg_visited(current_ir_graph)) - irg_out_walk_2(succ, pre, post, env); + irg_out_block_walk2(succ, pre, post, env); } } else { @@ -316,7 +311,7 @@ static int _count_outs(ir_node *n) { } /* count Def-Use edges for predecessors */ - if (irn_not_visited(skipped_pred)) + if (!irn_visited(skipped_pred)) res += _count_outs(skipped_pred); /*count my Def-Use edges */ @@ -340,9 +335,7 @@ static int count_outs(ir_graph *irg) { even if they are not visible. */ for (i = anchor_last - 1; i >= 0; --i) { n = get_irg_anchor(irg, i); - if (irn_not_visited(n)) { - mark_irn_visited(n); - + if (!irn_visited_else_mark(n)) { n->out = INT_TO_PTR(1); ++res; } @@ -382,7 +375,7 @@ static ir_def_use_edge *_set_out_edges(ir_node *use, ir_def_use_edge *free) { ir_node *def = get_irn_n(use, i); /* Recursion */ - if (irn_not_visited(def)) + if (!irn_visited(def)) free = _set_out_edges(def, free); /* Remember this Def-Use edge */ @@ -414,9 +407,7 @@ static ir_def_use_edge *set_out_edges(ir_graph *irg, ir_def_use_edge *free) { /* handle anchored nodes */ for (i = anchor_last - 1; i >= 0; --i) { n = get_irg_anchor(irg, i); - if (irn_not_visited(n)) { - mark_irn_visited(n); - + if (!irn_visited_else_mark(n)) { n_outs = PTR_TO_INT(n->out); n->out = free; #ifdef DEBUG_libfirm @@ -435,7 +426,7 @@ static ir_def_use_edge *set_out_edges(ir_graph *irg, ir_def_use_edge *free) { * position 0, the Start block at position 1. This is necessary for * the out block walker. */ -static INLINE void fix_start_proj(ir_graph *irg) { +static inline void fix_start_proj(ir_graph *irg) { ir_node *startbl = get_irg_start_block(irg); if (get_Block_n_cfg_outs(startbl)) {