if (is_Call(node)) {
int i;
for (i = get_Call_n_callees(node) - 1; i >= 0; --i) {
- entity * ent = get_Call_callee(node, i);
+ ir_entity * ent = get_Call_callee(node, i);
ir_graph * irg = get_entity_irg(ent);
if (irg && !eset_contains(irg_set, irg)) {
eset_insert(irg_set, irg);
irg_walk_cg(node, visited, irg_set, pre, post, env);
eset_destroy(irg_set);
} else {
+ assert(! inside_irg_walk(current_ir_graph)); /* we must not already be inside an irg walk */
+ set_inside_irg_walk(current_ir_graph);
inc_irg_visited(current_ir_graph);
nodes_touched = irg_walk_2(node, pre, post, env);
+ clear_inside_irg_walk(current_ir_graph);
}
return;
}
if (get_interprocedural_view()) {
assert(0 && "This is not yet implemented.");
} else {
+ assert(! inside_irg_walk(current_ir_graph)); /* we must not already be inside an irg walk */
+ set_inside_irg_walk(current_ir_graph);
inc_irg_visited(current_ir_graph);
nodes_touched = irg_walk_in_or_dep_2(node, pre, post, env);
+ clear_inside_irg_walk(current_ir_graph);
}
return;
}
assert(node);
assert(!get_interprocedural_view()); /* interprocedural_view not implemented, because it
* interleaves with irg_walk */
+ assert(! inside_irg_walk(current_ir_graph)); /* we must not already be in a block walk */
inc_irg_block_visited(current_ir_graph);
- if (is_no_Block(node)) block = get_nodes_block(node); else block = node;
+ set_inside_block_walk(current_ir_graph);
+ block = is_Block(node) ? node : get_nodes_block(node);
assert(get_irn_op(block) == op_Block);
irg_block_walk_2(block, pre, post, env);
}
}
+ clear_inside_block_walk(current_ir_graph);
return;
}
/**
* Walk to all constant expressions in this entity.
*/
-static void walk_entity(entity *ent, void *env)
+static void walk_entity(ir_entity *ent, void *env)
{
walk_env *my_env = (walk_env *)env;