summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2019-12-20 01:20:33 +0000
committerJulian Brown <jules@gcc.gnu.org>2019-12-20 01:20:33 +0000
commit4fd872bc0c6b4d48141f7d7e884c20b8e5e3979d (patch)
treed413cc1b638c4788d3a17583d44ecd7fe461c717 /include
parent8e7e71ff247fb116dc381c5ef0c09acc0d2b374f (diff)
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/ChangeLog4
-rw-r--r--include/gomp-constants.h6
2 files changed, 9 insertions, 1 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 793efe32870..3d44a944680 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 e8edfa1e22b..fdae6ccc870 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) \