gimplify.c (enum omp_region_type): Add ORT_ACC, ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS.
gcc/
* gcc/gimplify.c (enum omp_region_type): Add ORT_ACC,
ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS. Adjust ORT_NONE.
(gimple_add_tmp_var): Add ORT_ACC checks.
(gimplify_var_or_parm_decl): Likewise.
(omp_firstprivatize_variable): Likewise. Use ORT_TARGET_DATA as a
mask.
(omp_add_variable): Look in outer contexts for openacc and allow
reductions with other sharing. Add ORT_ACC and ORT_TARGET_DATA
checks.
(omp_notice_variable, omp_is_private, omp_check_private): Add
ORT_ACC checks.
(gimplify_scan_omp_clauses: Treat ORT_ACC as ORT_WORKSHARE.
Permit private openacc reductions.
(gimplify_oacc_cache): Specify ORT_ACC.
(gimplify_omp_workshare): Adjust OpenACC region types.
(gimplify_omp_target_update): Likewise.
* gcc/omp-low.c (scan_sharing_clauses): Remove Openacc
firstprivate sorry.
(lower-rec_input_clauses): Don't handle openacc firstprivate
references here.
(lower_omp_target): Emit initializers for openacc firstprivate vars.
gcc/testsuite/
* gfortran.dg/goacc/private-3.f95: Remove xfail.
* gfortran.dg/goacc/combined_loop.f90: Remove xfail.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Remove xfail.
* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Remove xfail.
* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
Co-Authored-By:
Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r230169
Showing
- gcc/ChangeLog 26 additions, 0 deletionsgcc/ChangeLog
- gcc/gimplify.c 99 additions, 42 deletionsgcc/gimplify.c
- gcc/omp-low.c 71 additions, 22 deletionsgcc/omp-low.c
- gcc/testsuite/ChangeLog 5 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gfortran.dg/goacc/combined_loop.f90 0 additions, 2 deletionsgcc/testsuite/gfortran.dg/goacc/combined_loop.f90
- gcc/testsuite/gfortran.dg/goacc/private-3.f95 0 additions, 2 deletionsgcc/testsuite/gfortran.dg/goacc/private-3.f95
- libgomp/ChangeLog 5 additions, 0 deletionslibgomp/ChangeLog
- libgomp/testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c 41 additions, 0 deletionslibgomp/testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c
- libgomp/testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c 31 additions, 0 deletionslibgomp/testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c
- libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c 0 additions, 2 deletionslibgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c
- libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c 0 additions, 2 deletionslibgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c
Loading
Please register or sign in to comment