re PR tree-optimization/57185 (ICE: Segmentation fault in add_field_for_reduction with -ftree-parallelize-loops=2 -fipa-pta)

2013-05-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57185
	* tree-parloops.c (add_field_for_reduction): Handle anonymous
	SSA names properly.

	* gcc.dg/autopar/pr57185.c: New testcase.

From-SVN: r198630
This commit is contained in:
Richard Biener 2013-05-06 15:06:41 +00:00 committed by Richard Biener
parent 27ea9e0635
commit aa06a9782f
4 changed files with 43 additions and 3 deletions

View file

@ -1,3 +1,9 @@
2013-05-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/57185
* tree-parloops.c (add_field_for_reduction): Handle anonymous
SSA names properly.
2013-05-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (slsr_process_phi): Re-enable.

View file

@ -1,3 +1,8 @@
2013-05-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/57185
* gcc.dg/autopar/pr57185.c: New testcase.
2013-05-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/tree-ssa/slsr-32.c: Re-enable.

View file

@ -0,0 +1,29 @@
/* { dg-do compile } */
/* { dg-options "-O3 -ftree-parallelize-loops=2 -fipa-pta" } */
int a, b;
int *d;
void f(void)
{
int c;
b %= 1;
if(1 - (b < 1))
{
int *q = 0;
if(a)
{
c = 0;
lbl:
for(*d; *d; ++*d)
if(c ? : a ? : (c = 1) ? : 0)
*q &= 1;
return;
}
q = (int *)1;
}
goto lbl;
}

View file

@ -964,9 +964,9 @@ add_field_for_reduction (reduction_info **slot, tree type)
{
struct reduction_info *const red = *slot;
tree var = SSA_NAME_VAR (gimple_assign_lhs (red->reduc_stmt));
tree field = build_decl (gimple_location (red->reduc_stmt),
FIELD_DECL, DECL_NAME (var), TREE_TYPE (var));
tree var = gimple_assign_lhs (red->reduc_stmt);
tree field = build_decl (gimple_location (red->reduc_stmt), FIELD_DECL,
SSA_NAME_IDENTIFIER (var), TREE_TYPE (var));
insert_field_into_struct (type, field);