X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fifconv.c;h=0d1307a9a4f4b2b7a231003bc1794fbb60080c08;hb=a570fca6677ea8d74f2f5aa5462636696bb92559;hp=b5c453e320304a3515a480643aaf5a296829da31;hpb=b0521aab2ddc5426772c92deea432ddee0b3dbbe;p=libfirm diff --git a/ir/opt/ifconv.c b/ir/opt/ifconv.c index b5c453e32..0d1307a9a 100644 --- a/ir/opt/ifconv.c +++ b/ir/opt/ifconv.c @@ -348,6 +348,7 @@ restart: cond, projx0, projx1 )); + /* remove critical edges */ env->changed = true; prepare_path(block, i, dependency); prepare_path(block, j, dependency); @@ -355,7 +356,7 @@ restart: mux_block = get_nodes_block(cond); cond_dbg = get_irn_dbg_info(cond); - do { + do { /* generate Mux nodes in mux_block for Phis in block */ ir_node* val_i = get_irn_n(phi, i); ir_node* val_j = get_irn_n(phi, j); ir_node* mux; @@ -393,6 +394,7 @@ restart: phi = next_phi; } while (phi != NULL); + /* move mux operands into mux_block */ exchange(get_nodes_block(get_irn_n(block, i)), mux_block); exchange(get_nodes_block(get_irn_n(block, j)), mux_block);