* Free the list with DEL_ARR_F().
*/
static ir_node **construct_block_lists(ir_graph *irg) {
- int i, rem_view = get_interprocedural_view();
- ir_graph *rem = current_ir_graph;
+ int i;
+ int rem_view = get_interprocedural_view();
+ int walk_flag = inside_irg_walk(irg);
+ ir_graph *rem = current_ir_graph;
+
current_ir_graph = irg;
+ clear_inside_irg_walk(current_ir_graph);
+
for (i = get_irp_n_irgs() - 1; i >= 0; --i)
ird_set_irg_link(get_irp_irg(i), NULL);
set_interprocedural_view(rem_view);
+ if (walk_flag)
+ set_inside_irg_walk(current_ir_graph);
+
current_ir_graph = rem;
return ird_get_irg_link(irg);
}