From 680e3f5f4c5233fcf3f0f81890715aed0960da6f Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Thu, 12 Jun 2008 11:18:29 +0000 Subject: [PATCH] workaround for dead CF: restart the optimization [r20076] --- ir/opt/cfopt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ir/opt/cfopt.c b/ir/opt/cfopt.c index be03bfad6..ddb8e53fb 100644 --- a/ir/opt/cfopt.c +++ b/ir/opt/cfopt.c @@ -707,6 +707,7 @@ void optimize_cf(ir_graph *irg) { /* FIXME: is this still needed? */ edges_deactivate(irg); +restart: env.changed = 0; env.phis_moved = 0; @@ -762,11 +763,11 @@ void optimize_cf(ir_graph *irg) { set_irg_doms_inconsistent(irg); set_irg_extblk_inconsistent(irg); set_irg_loopinfo_inconsistent(irg); + goto restart; } /* Optimize the standard code. */ env.changed = 0; - assure_doms(irg); irg_block_walk(get_irg_end_block(irg), optimize_blocks, remove_simple_blocks, &env); /* Walk all keep alives, optimize them if block, add to new in-array -- 2.20.1