X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgwalk.c;h=f879313ed295b5c8e49d287677beaa464f182c85;hb=169fd803ea2ed08171113c1fd7ab4e528e1ebc26;hp=dd986323b55df24ef61182b83146ce5b75033deb;hpb=8750ea7c36ed4dd262fd68524307d0554e96495e;p=libfirm diff --git a/ir/ir/irgwalk.c b/ir/ir/irgwalk.c index dd986323b..f879313ed 100644 --- a/ir/ir/irgwalk.c +++ b/ir/ir/irgwalk.c @@ -246,7 +246,7 @@ void irg_walk(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env) void irg_walk_graph(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *env) { ir_graph * rem = current_ir_graph; - hook_irg_walk(irg, (void *)pre, (void *)post); + hook_irg_walk(irg, (generic_func *)pre, (generic_func *)post); current_ir_graph = irg; irg_walk(get_irg_end(irg), pre, post, env); current_ir_graph = rem; @@ -399,8 +399,8 @@ static void irg_block_walk_2(ir_node *node, irg_walk_func *pre, irg_walk_func *p { int i; - if(get_Block_block_visited(node) < get_irg_block_visited(current_ir_graph)) { - set_Block_block_visited(node, get_irg_block_visited(current_ir_graph)); + if (Block_not_block_visited(node)) { + mark_Block_block_visited(node); if(pre) pre(node, env); @@ -430,7 +430,7 @@ void irg_block_walk(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void ir_node *block, *pred; int i; - hook_irg_block_walk(current_ir_graph, node, (void *)pre, (void *)post); + hook_irg_block_walk(current_ir_graph, node, (generic_func *)pre, (generic_func *)post); assert(node); assert(!get_interprocedural_view()); /* interprocedural_view not implemented, because it @@ -453,9 +453,9 @@ void irg_block_walk(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void for (i = 0; i < arity; i++) { pred = get_irn_n(node, i); if (get_irn_op(pred) == op_Phi) { - ir_node *block = get_nodes_block(pred); + ir_node *block = get_nodes_block(pred); - if (! is_Bad(block)) + if (! is_Bad(block)) irg_block_walk_2(block, pre, post, env); } }