cleanup
[libfirm] / ir / opt / critical_edges.c
index 0afa802..765f032 100644 (file)
@@ -50,7 +50,7 @@ static void walk_critical_cf_edges(ir_node *n, void *env)
 {
        int arity, i;
        ir_node *pre, *block, *jmp;
-       cf_env *cenv = env;
+       cf_env *cenv = (cf_env*)env;
        ir_graph *irg = get_irn_irg(n);
 
        /* Block has multiple predecessors */
@@ -69,11 +69,11 @@ static void walk_critical_cf_edges(ir_node *n, void *env)
 
                        cfop = get_irn_op(skip_Proj(pre));
                        if (is_op_fragile(cfop)) {
-                               if (cenv->ignore_exc_edges && get_Proj_proj(pre) == pn_Generic_X_except)
+                               if (cenv->ignore_exc_edges && is_x_except_Proj(pre))
                                        continue;
                                goto insert;
                        }
-                       if (is_IJmp(pre)) {
+                       if (is_unknown_jump(pre)) {
                                /* we can't add blocks in between ijmp and its destinations
                                 * TODO: What now, we can't split all critical edges because of this... */
                                fprintf(stderr, "libfirm warning: Couldn't split all critical edges (compiler will probably fail now)\n");
@@ -105,10 +105,8 @@ 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 */
-               set_irg_outs_inconsistent(irg);
                set_irg_extblk_inconsistent(irg);
                set_irg_doms_inconsistent(irg);
-               set_irg_loopinfo_inconsistent(irg);
        }
 }