From: Michael Beck Date: Sun, 1 Jun 2008 15:32:23 +0000 (+0000) Subject: call optimize_cf() to delete dead-code that might arise after cond_eval X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=7cfefaae5f011ad335c8c39f69569110705602ac;p=libfirm call optimize_cf() to delete dead-code that might arise after cond_eval [r19906] --- diff --git a/ir/opt/condeval.c b/ir/opt/condeval.c index 4f683d19a..65a7de8b4 100644 --- a/ir/opt/condeval.c +++ b/ir/opt/condeval.c @@ -696,14 +696,19 @@ void opt_cond_eval(ir_graph* irg) changed |= rerun; } while (rerun); + clear_using_irn_visited(irg); + clear_using_irn_link(irg); + if (changed) { /* control flow changed, some blocks may become dead */ set_irg_outs_inconsistent(irg); set_irg_doms_inconsistent(irg); set_irg_extblk_inconsistent(irg); set_irg_loopinfo_inconsistent(irg); + + /* Dead code might be created. Optimize it away as it is dangerous + * to call optimize_df() an dead code. */ + optimize_cf(irg); } - clear_using_irn_visited(irg); - clear_using_irn_link(irg); }