From 59c0ed8089f6b84b1598a4590aba03083569eb7e Mon Sep 17 00:00:00 2001 From: rguenth Date: Mon, 6 May 2013 15:06:41 +0000 Subject: [PATCH] 2013-05-06 Richard Biener PR tree-optimization/57185 * tree-parloops.c (add_field_for_reduction): Handle anonymous SSA names properly. * gcc.dg/autopar/pr57185.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198630 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/autopar/pr57185.c | 29 +++++++++++++++++++++++++++++ gcc/tree-parloops.c | 6 +++--- 4 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/autopar/pr57185.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6621de19a64..def2c1e2219 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-05-06 Richard Biener + + PR tree-optimization/57185 + * tree-parloops.c (add_field_for_reduction): Handle anonymous + SSA names properly. + 2013-05-06 Bill Schmidt * gimple-ssa-strength-reduction.c (slsr_process_phi): Re-enable. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a3b6da71757..a7ac2db4daa 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-05-06 Richard Biener + + PR tree-optimization/57185 + * gcc.dg/autopar/pr57185.c: New testcase. + 2013-05-06 Bill Schmidt * gcc.dg/tree-ssa/slsr-32.c: Re-enable. diff --git a/gcc/testsuite/gcc.dg/autopar/pr57185.c b/gcc/testsuite/gcc.dg/autopar/pr57185.c new file mode 100644 index 00000000000..b4657576dc9 --- /dev/null +++ b/gcc/testsuite/gcc.dg/autopar/pr57185.c @@ -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; +} + diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c index 4a4b02b161c..cea6f030c0a 100644 --- a/gcc/tree-parloops.c +++ b/gcc/tree-parloops.c @@ -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); -- 2.11.4.GIT