Do not mark the transformed as visited. It makes no sense at all.
[libfirm] / ir / be / beverify.c
index a18a821..2e1b0f5 100644 (file)
@@ -822,7 +822,7 @@ static void verify_block_register_allocation(ir_node *block, void *data) {
        nregclasses = arch_env_get_n_reg_class(arch_env);
        for (i = 0; i < nregclasses; ++i) {
                ir_node               *node;
-               int                   i2, lv_idx, n_regs;
+               int                   idx, i2, n_regs;
 
                regclass = arch_env_get_reg_class(arch_env, i);
 
@@ -832,8 +832,8 @@ static void verify_block_register_allocation(ir_node *block, void *data) {
                registers = alloca(n_regs * sizeof(registers[0]));
                memset(registers, 0, n_regs * sizeof(registers[0]));
 
-               be_lv_foreach(lv, block, be_lv_state_end, lv_idx) {
-                       ir_node *node = be_lv_get_irn(lv, block, lv_idx);
+               be_lv_foreach(lv, block, be_lv_state_end, idx) {
+                       ir_node *node = be_lv_get_irn(lv, block, idx);
                        value_used(node);
                }
 
@@ -861,8 +861,8 @@ static void verify_block_register_allocation(ir_node *block, void *data) {
                        }
                }
 
-               be_lv_foreach(lv, block, be_lv_state_in, i) {
-                       ir_node *node = be_lv_get_irn(lv, block, i);
+               be_lv_foreach(lv, block, be_lv_state_in, idx) {
+                       ir_node *node = be_lv_get_irn(lv, block, idx);
                        value_def(node);
                }
 
@@ -908,9 +908,8 @@ static void check_out_edges(ir_node *node, verify_out_dead_nodes_env *env) {
        ir_graph *irg = env->irg;
        const ir_edge_t* edge;
 
-       if(irn_visited(node))
+       if (irn_visited_else_mark(node))
                return;
-       mark_irn_visited(node);
 
        /* we find too many (uncritical) dead nodes in block out edges */
        if(is_Block(node))