aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2020-06-11 06:43:59 -0700
committerJulian Brown <julian@codesourcery.com>2020-07-09 14:16:00 -0700
commit8d2e5026d22b3f30e7df7adfd4ebf4ebc1e77e2d (patch)
tree4268828dd54b623b130d77b2d1def6fc6226ca8c /include
parentac8996edb14eef0a15cd0ce850fde2be5e227e69 (diff)
downloadgcc-8d2e5026d22b3f30e7df7adfd4ebf4ebc1e77e2d.zip
gcc-8d2e5026d22b3f30e7df7adfd4ebf4ebc1e77e2d.tar.gz
gcc-8d2e5026d22b3f30e7df7adfd4ebf4ebc1e77e2d.tar.bz2
openacc: GOMP_MAP_ATTACH handling in find_group_last
Arrange for GOMP_MAP_ATTACH to be grouped together with a preceding GOMP_MAP_TO_PSET or other "to" data movement clause, except in cases where an explicit "attach" clause is used. 2020-07-09 Julian Brown <julian@codesourcery.com> include/ * gomp-constants.h (gomp_map_kind): Update comment for GOMP_MAP_TO_PSET. libgomp/ * oacc-mem.c (find_group_last): Group data-movement clauses (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
Diffstat (limited to 'include')
-rw-r--r--include/gomp-constants.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/gomp-constants.h b/include/gomp-constants.h
index 1587e4d..b42b414 100644
--- a/include/gomp-constants.h
+++ b/include/gomp-constants.h
@@ -65,7 +65,10 @@ enum gomp_map_kind
/* Also internal, behaves like GOMP_MAP_TO, but additionally any
GOMP_MAP_POINTER records consecutive after it which have addresses
falling into that range will not be ignored if GOMP_MAP_TO_PSET wasn't
- mapped already. */
+ mapped already.
+ For OpenACC attach operations (e.g. copyin of struct members),
+ GOMP_MAP_TO_PSET is followed by a single GOMP_MAP_ATTACH mapping
+ instead. */
GOMP_MAP_TO_PSET = (GOMP_MAP_FLAG_SPECIAL_0 | 1),
/* Must already be present. */
GOMP_MAP_FORCE_PRESENT = (GOMP_MAP_FLAG_SPECIAL_0 | 2),