From f68b24054f44c477290d501d674d1b792e846fdd Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Fri, 31 Aug 2012 10:28:56 +0200 Subject: [PATCH] Skip the check whether ifconv is allowed, if both phi operands are identical. In particular this allows ifconv when a PhiM is present, but nothing happens with the memory on the two paths. --- ir/opt/ifconv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ir/opt/ifconv.c b/ir/opt/ifconv.c index c39e1a263..d56b723c7 100644 --- a/ir/opt/ifconv.c +++ b/ir/opt/ifconv.c @@ -333,6 +333,8 @@ restart: mux_true = get_Phi_pred(p, i); mux_false = get_Phi_pred(p, j); } + if (mux_true == mux_false) + continue; ir_mode *mode = get_irn_mode(mux_true); if (mode == mode_M || !env->allow_ifconv(sel, mux_false, mux_true)) { -- 2.20.1