re PR c++/53050 (ssa_forward_propagate_and_combine: segmentation fault)

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.

From-SVN: r186620
This commit is contained in:
Richard Guenther 2012-04-20 10:17:46 +00:00 committed by Richard Biener
parent efb496b5dc
commit 4cbc836ed7
2 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,9 @@
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.
2012-04-19 Jan Hubicka <jh@suse.cz>
* symtab.c (dump_symtab_base): Revert accidental checkin.

View File

@ -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)
{