Only (IV - RC) is allowed for induction variables.
[libfirm] / ir / opt / critical_edges.c
index bffa731..392fa26 100644 (file)
@@ -89,9 +89,9 @@ insert:
                                /* set successor of new block */
                                set_irn_n(n, i, jmp);
                                cenv->changed = 1;
-                       } /* predecessor has multiple successors */
-               } /* for all predecessors */
-       } /* n is a multi-entry block */
+                       }
+               }
+       }
 }
 
 void remove_critical_cf_edges_ex(ir_graph *irg, int ignore_exception_edges)
@@ -104,10 +104,9 @@ void remove_critical_cf_edges_ex(ir_graph *irg, int ignore_exception_edges)
        irg_block_walk_graph(irg, NULL, walk_critical_cf_edges, &env);
        if (env.changed) {
                /* control flow changed */
-               clear_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_DOMINANCE
-                                  | IR_GRAPH_STATE_VALID_EXTENDED_BLOCKS);
+               clear_irg_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_DOMINANCE);
        }
-       set_irg_state(irg, IR_GRAPH_STATE_NO_CRITICAL_EDGES);
+       add_irg_properties(irg, IR_GRAPH_PROPERTY_NO_CRITICAL_EDGES);
 }
 
 void remove_critical_cf_edges(ir_graph *irg)