Index: ChangeLog =================================================================== RCS file: /cvs/gcc/gcc/gcc/ChangeLog,v retrieving revision 2.7592.2.283 diff -u -p -r2.7592.2.283 ChangeLog --- ChangeLog 7 Jun 2005 23:46:24 -0000 2.7592.2.283 +++ ChangeLog 8 Jun 2005 18:01:58 -0000 @@ -1,3 +1,8 @@ +2005-06-08 Andrew Pinski + + PR tree-opt/19768 + * tree-ssa-dse.c: Revert accidental committed patch. + 2005-06-07 Richard Henderson PR rtl-opt/21528 Index: tree-ssa-dse.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/tree-ssa-dse.c,v retrieving revision 2.17.4.1 diff -u -p -r2.17.4.1 tree-ssa-dse.c --- tree-ssa-dse.c 11 May 2005 12:46:07 -0000 2.17.4.1 +++ tree-ssa-dse.c 8 Jun 2005 18:01:58 -0000 @@ -134,7 +134,13 @@ fix_phi_uses (tree phi, tree stmt) def_operand_p def_p; ssa_op_iter iter; int i; - + edge e; + edge_iterator ei; + + FOR_EACH_EDGE (e, ei, PHI_BB (phi)->preds) + if (e->flags & EDGE_ABNORMAL) + break; + get_stmt_operands (stmt); FOR_EACH_SSA_MAYDEF_OPERAND (def_p, use_p, stmt, iter) @@ -146,7 +152,12 @@ fix_phi_uses (tree phi, tree stmt) them with the appropriate V_MAY_DEF_OP. */ for (i = 0; i < PHI_NUM_ARGS (phi); i++) if (v_may_def == PHI_ARG_DEF (phi, i)) - SET_PHI_ARG_DEF (phi, i, v_may_use); + { + SET_PHI_ARG_DEF (phi, i, v_may_use); + /* Update if the new phi argument is an abnormal phi. */ + if (e != NULL) + SSA_NAME_OCCURS_IN_ABNORMAL_PHI (v_may_use) = 1; + } } }