Commit 53ef55bf authored by Matthias Braun's avatar Matthias Braun
Browse files

ifconv: we must not remove the keep-alive edge if Phi has more than 2 inputs

This should really fix opt/fehler218.c oddities.
parent 152aabd1
......@@ -335,8 +335,6 @@ restart:;
if (val_i == val_j) {
mux = val_i;
DB((dbg, LEVEL_2, "Generating no Mux, because both values are equal\n"));
if (get_Phi_loop(phi))
remove_keep_alive(phi);
} else {
ir_node *t, *f;
......@@ -359,6 +357,8 @@ restart:;
ir_node *next_phi = get_Phi_next(phi);
if (arity == 2) {
if (get_Phi_loop(phi))
remove_keep_alive(phi);
exchange(phi, mux);
} else {
rewire(phi, i, j, mux);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment