This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix PR53050
- From: Richard Guenther <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 20 Apr 2012 12:16:55 +0200 (CEST)
- Subject: [PATCH] Fix PR53050
This fixes PR53050.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
Richard.
2012-04-20 Richard Guenther <rguenther@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)
{