diff options
| author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-05-06 15:06:41 +0000 |
|---|---|---|
| committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-05-06 15:06:41 +0000 |
| commit | 59c0ed8089f6b84b1598a4590aba03083569eb7e (patch) | |
| tree | 4ba41d4852bb4031c786c3e67f53692bba49366b | |
| parent | 61fc4e7f06e8ae0964f42a88c806171afe87c6c7 (diff) | |
| download | ppe42-gcc-59c0ed8089f6b84b1598a4590aba03083569eb7e.tar.gz ppe42-gcc-59c0ed8089f6b84b1598a4590aba03083569eb7e.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198630 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.dg/autopar/pr57185.c | 29 | ||||
| -rw-r--r-- | gcc/tree-parloops.c | 6 |
4 files changed, 43 insertions, 3 deletions
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 <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. 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 <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. 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); |

