From 7cfefaae5f011ad335c8c39f69569110705602ac Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Sun, 1 Jun 2008 15:32:23 +0000 Subject: [PATCH] call optimize_cf() to delete dead-code that might arise after cond_eval [r19906] --- ir/opt/condeval.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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); } -- 2.20.1