X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fcritical_edges.c;h=765f0320065cd1179a2e7e254fb4ceb0b59618f1;hb=762b472fc81c73cf7a1b0041b8cd286b7206d79d;hp=4717244ebba3bd4cc5713413fb6da6c8ebd5e842;hpb=1a3b7d363474ab544c13093a2f0b578718d37c7a;p=libfirm diff --git a/ir/opt/critical_edges.c b/ir/opt/critical_edges.c index 4717244eb..765f03200 100644 --- a/ir/opt/critical_edges.c +++ b/ir/opt/critical_edges.c @@ -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); } }