From 9711085f3698c796399b634ed5e67e8c6d3b9717 Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Mon, 7 Apr 2008 11:11:07 +0000 Subject: [PATCH 1/1] - optimize Tuple nodes away before calling scalar replacement [r19163] --- ir/opt/opt_inline.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ir/opt/opt_inline.c b/ir/opt/opt_inline.c index 0fd832886..9af7d528f 100644 --- a/ir/opt/opt_inline.c +++ b/ir/opt/opt_inline.c @@ -1995,9 +1995,14 @@ void inline_functions(int inline_threshold) { set_irg_doms_inconsistent(irg); set_irg_loopinfo_inconsistent(irg); - if (env->local_vars) - scalar_replacement_opt(irg); + /* scalar replacement does not work well with Tuple nodes, so optimize them away */ optimize_graph_df(irg); + + if (env->local_vars) { + if (scalar_replacement_opt(irg)) + optimize_graph_df(irg); + } + optimize_cf(irg); } if (env->got_inline || (env->n_callers_orig != env->n_callers)) { -- 2.20.1