diff options
author | Julian Brown <julian@codesourcery.com> | 2023-05-23 09:37:00 +0000 |
---|---|---|
committer | Julian Brown <julian@codesourcery.com> | 2023-12-21 13:12:12 +0000 |
commit | 144c531fe25483b65ad3189d7b5e9f78154477c2 (patch) | |
tree | 097905a897d70b6ca58996cf98e4a195b45d579c /libgomp/testsuite | |
parent | aca1f9d7cab3dc1a374a7dc0ec6f7a8d02d2869a (diff) | |
download | gcc-144c531fe25483b65ad3189d7b5e9f78154477c2.zip gcc-144c531fe25483b65ad3189d7b5e9f78154477c2.tar.gz gcc-144c531fe25483b65ad3189d7b5e9f78154477c2.tar.bz2 |
OpenMP/OpenACC: Reorganise OMP map clause handling in gimplify.cc
This patch has been separated out from the C++ "declare mapper"
support patch. It contains just the gimplify.cc rearrangement
work, mostly moving gimplification from gimplify_scan_omp_clauses
to gimplify_adjust_omp_clauses for map clauses.
The motivation for doing this was that we don't know if we need to
instantiate mappers implicitly until the body of an offload region has
been scanned, i.e. in gimplify_adjust_omp_clauses, but we also need the
un-gimplified form of clauses to sort by base-pointer dependencies after
mapper instantiation has taken place.
The patch also reimplements the "present" clause sorting code to avoid
another sorting pass on mapping nodes.
This version of the patch is based on the version posted for og13, and
additionally incorporates a follow-on fix for DECL_VALUE_EXPR handling
in gimplify_adjust_omp_clauses:
"OpenMP/OpenACC: Reorganise OMP map clause handling in gimplify.cc"
https://gcc.gnu.org/pipermail/gcc-patches/2023-June/622223.html
Parts of:
"OpenMP: OpenMP 5.2 semantics for pointers with unmapped target"
https://gcc.gnu.org/pipermail/gcc-patches/2023-June/623351.html
2023-12-16 Julian Brown <julian@codesourcery.com>
gcc/
* gimplify.cc (omp_segregate_mapping_groups): Handle "present" groups.
(gimplify_scan_omp_clauses): Use mapping group functionality to
iterate through mapping nodes. Remove most gimplification of
OMP_CLAUSE_MAP nodes from here, but still populate ctx->variables
splay tree.
(gimplify_adjust_omp_clauses): Move most gimplification of
OMP_CLAUSE_MAP nodes here.
libgomp/
* testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL.
Diffstat (limited to 'libgomp/testsuite')
-rw-r--r-- | libgomp/testsuite/libgomp.fortran/target-enter-data-6.f90 | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/libgomp/testsuite/libgomp.fortran/target-enter-data-6.f90 b/libgomp/testsuite/libgomp.fortran/target-enter-data-6.f90 index b55d0b2..80d30ed 100644 --- a/libgomp/testsuite/libgomp.fortran/target-enter-data-6.f90 +++ b/libgomp/testsuite/libgomp.fortran/target-enter-data-6.f90 @@ -3,16 +3,6 @@ ! - arrays with array descriptors ! For those, the array descriptor / string length must be mapped with 'to:' -! This test fails without the following additional patches: -! -! "OpenMP: Pointers and member mappings": -! https://gcc.gnu.org/pipermail/gcc-patches/2023-August/627898.html -! -! "OpenMP/OpenACC: Reorganise OMP map clause handling in gimplify.cc": -! https://gcc.gnu.org/pipermail/gcc-patches/2023-August/627900.html -! -! { dg-xfail-run-if TODO { offload_device_nonshared_as } } - program main implicit none |