re PR middle-end/70895 (OpenACC: loop reduction does not work. Output is zero.)
authorChung-Lin Tang <cltang@codesourcery.com>
Thu, 18 Aug 2016 14:46:19 +0000 (14:46 +0000)
committerChung-Lin Tang <cltang@gcc.gnu.org>
Thu, 18 Aug 2016 14:46:19 +0000 (14:46 +0000)
commit2c71d454eb6c35af8bf64d4c15621bb380f494ab
tree3b72b1c308739a60c3a249fcd23d625dd89bd848
parent80c5ad359f30c86d48a04c080785606a2701ab71
re PR middle-end/70895 (OpenACC: loop reduction does not work. Output is zero.)

2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>

PR middle-end/70895
gcc/
* gimplify.c (omp_add_variable): Adjust/add variable mapping on
enclosing parallel construct for reduction variables on OpenACC loop
directives.

gcc/testsuite/
* gfortran.dg/goacc/loop-tree-1.f90: Add gimple scan-tree-dump test.
* c-c++-common/goacc/reduction-1.c: Likewise.
* c-c++-common/goacc/reduction-2.c: Likewise.
* c-c++-common/goacc/reduction-3.c: Likewise.
* c-c++-common/goacc/reduction-4.c: Likewise.

libgomp/
* testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
firstprivate clauses.
* testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
copy clauses.
* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.

From-SVN: r239576
23 files changed:
gcc/ChangeLog
gcc/gimplify.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/goacc/reduction-1.c
gcc/testsuite/c-c++-common/goacc/reduction-2.c
gcc/testsuite/c-c++-common/goacc/reduction-3.c
gcc/testsuite/c-c++-common/goacc/reduction-4.c
gcc/testsuite/gfortran.dg/goacc/loop-tree-1.f90
libgomp/ChangeLog
libgomp/testsuite/libgomp.oacc-c-c++-common/collapse-2.c
libgomp/testsuite/libgomp.oacc-c-c++-common/collapse-4.c
libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c
libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c
libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c
libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c
libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-7.c
libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c
libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c
libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c
libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-flt.c
libgomp/testsuite/libgomp.oacc-fortran/reduction-6.f90
libgomp/testsuite/libgomp.oacc-fortran/reduction-7.f90