diff options
author | Julian Brown <julian@codesourcery.com> | 2019-12-20 01:20:33 +0000 |
---|---|---|
committer | Julian Brown <jules@gcc.gnu.org> | 2019-12-20 01:20:33 +0000 |
commit | 4fd872bc0c6b4d48141f7d7e884c20b8e5e3979d (patch) | |
tree | d413cc1b638c4788d3a17583d44ecd7fe461c717 /include | |
parent | 8e7e71ff247fb116dc381c5ef0c09acc0d2b374f (diff) | |
download | gcc-4fd872bc0c6b4d48141f7d7e884c20b8e5e3979d.zip gcc-4fd872bc0c6b4d48141f7d7e884c20b8e5e3979d.tar.gz gcc-4fd872bc0c6b4d48141f7d7e884c20b8e5e3979d.tar.bz2 |
OpenACC 2.6 deep copy: middle-end parts
gcc/
* gimplify.c (gimplify_omp_var_data): Add GOVD_MAP_HAS_ATTACHMENTS.
(insert_struct_comp_map): Support derived-type member mappings
for arrays with descriptors which use GOMP_MAP_TO_PSET. Support
GOMP_MAP_ATTACH_DETACH.
(gimplify_scan_omp_clauses): Tidy up OACC_ENTER_DATA/OACC_EXIT_DATA
mappings. Handle attach/detach clauses and component references.
(gimplify_adjust_omp_clauses_1): Skip adjustments for explicit
attach/detach clauses.
(gimplify_omp_target_update): Handle struct mappings and finalize for
detach operations.
* omp-low.c (lower_omp_target): Support GOMP_MAP_ATTACH,
GOMP_MAP_DETACH, GOMP_MAP_FORCE_DETACH.
* tree-pretty-print.c (dump_omp_clause): Likewise, plus
GOMP_MAP_ATTACH_DETACH.
include/
* gomp-constants.h (gomp_map_kind): Add GOMP_MAP_ATTACH_DETACH.
From-SVN: r279626
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 4 | ||||
-rw-r--r-- | include/gomp-constants.h | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 793efe3..3d44a94 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,5 +1,9 @@ 2019-12-19 Julian Brown <julian@codesourcery.com> + * gomp-constants.h (gomp_map_kind): Add GOMP_MAP_ATTACH_DETACH. + +2019-12-19 Julian Brown <julian@codesourcery.com> + * gomp-constants.h (GOMP_MAP_FLAG_SPECIAL_4, GOMP_MAP_DEEP_COPY): Define. (gomp_map_kind): Add GOMP_MAP_ATTACH, GOMP_MAP_DETACH, diff --git a/include/gomp-constants.h b/include/gomp-constants.h index e8edfa1..fdae6cc 100644 --- a/include/gomp-constants.h +++ b/include/gomp-constants.h @@ -144,7 +144,11 @@ enum gomp_map_kind /* Do not map, but pointer assign a pointer instead. */ GOMP_MAP_FIRSTPRIVATE_POINTER = (GOMP_MAP_LAST | 1), /* Do not map, but pointer assign a reference instead. */ - GOMP_MAP_FIRSTPRIVATE_REFERENCE = (GOMP_MAP_LAST | 2) + GOMP_MAP_FIRSTPRIVATE_REFERENCE = (GOMP_MAP_LAST | 2), + /* An attach or detach operation. Rewritten to the appropriate type during + gimplification, depending on directive (i.e. "enter data" or + parallel/kernels region vs. "exit data"). */ + GOMP_MAP_ATTACH_DETACH = (GOMP_MAP_LAST | 3) }; #define GOMP_MAP_COPY_TO_P(X) \ |