ia32_Minus64Bit needs no contraint copies.
[libfirm] / ir / ir / irgwalk.c
index df0af38..22feaeb 100644 (file)
@@ -393,12 +393,7 @@ void irg_block_walk(ir_node *node, irg_walk_func *pre, irg_walk_func *post,
                int i;
                for (i = 0; i < arity; i++) {
                        ir_node *pred = get_irn_n(node, i);
-                       if (!is_Block(pred)) {
-                               pred = get_nodes_block(pred);
-                       }
-                       /* this walker is also used during optimize_graph_df where we can
-                        * temporarily have Bad as block inputs */
-                       if (is_Bad(pred))
+                       if (!is_Block(pred))
                                continue;
                        irg_block_walk_2(pred, pre, post, env);
                }
@@ -427,8 +422,10 @@ void irg_walk_anchors(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, vo
        ir_graph * rem = current_ir_graph;
        current_ir_graph = irg;
 
+       ir_reserve_resources(irg, IR_RESOURCE_IRN_VISITED);
        inc_irg_visited(irg);
        irg_walk_2(irg->anchor, pre, post, env);
+       ir_free_resources(irg, IR_RESOURCE_IRN_VISITED);
 
        current_ir_graph = rem;
 }