This fixes PR53050. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
Richard. 2012-04-20 Richard Guenther <rguent...@suse.de> PR tree-optimization/53050 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Do only one transform on COND_EXPRs at the same time. Index: gcc/tree-ssa-forwprop.c =================================================================== --- gcc/tree-ssa-forwprop.c (revision 186611) +++ gcc/tree-ssa-forwprop.c (working copy) @@ -2536,9 +2536,12 @@ ssa_forward_propagate_and_combine (void) || code == VEC_COND_EXPR) { /* In this case the entire COND_EXPR is in rhs1. */ - changed |= forward_propagate_into_cond (&gsi); - changed |= combine_cond_exprs (&gsi); - stmt = gsi_stmt (gsi); + if (forward_propagate_into_cond (&gsi) + || combine_cond_exprs (&gsi)) + { + changed = true; + stmt = gsi_stmt (gsi); + } } else if (TREE_CODE_CLASS (code) == tcc_comparison) {