https://gcc.gnu.org/g:130451de0f379ff2097f1f4cbacd5dc2152baf84
commit 130451de0f379ff2097f1f4cbacd5dc2152baf84 Author: Thomas Schwinge <tho...@codesourcery.com> Date: Sat Apr 12 17:52:13 2025 +0000 libgomp: Merge 'gomp_map_vars_openacc' into 'goacc_map_vars' [PR76739] Upstream has 'goacc_map_vars'; merge the new 'gomp_map_vars_openacc' into it. (Maybe the latter didn't exist yet when the former was originally added?) No functional change. Clean-up for og12 commit 15d0f61a7fecdc8fd12857c40879ea3730f6d99f "Merge non-contiguous array support patches". libgomp/ChangeLog PR other/76739 * libgomp.h (goacc_map_vars): Add 'struct goacc_ncarray_info *' formal parameter. (gomp_map_vars_openacc): Remove. * target.c (goacc_map_vars): Adjust. (gomp_map_vars_openacc): Remove. * oacc-mem.c (acc_map_data, goacc_enter_datum) (goacc_enter_data_internal): Adjust. * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start): Adjust. Diff: --- libgomp/libgomp.h | 9 ++++----- libgomp/oacc-mem.c | 8 ++++---- libgomp/oacc-parallel.c | 10 +++++----- libgomp/target.c | 17 +++-------------- 4 files changed, 16 insertions(+), 28 deletions(-) diff --git a/libgomp/libgomp.h b/libgomp/libgomp.h index 326efcc46726..34a41e86565e 100644 --- a/libgomp/libgomp.h +++ b/libgomp/libgomp.h @@ -1475,15 +1475,14 @@ extern void gomp_attach_pointer (struct gomp_device_descr *, extern void gomp_detach_pointer (struct gomp_device_descr *, struct goacc_asyncqueue *, splay_tree_key, uintptr_t, bool, struct gomp_coalesce_buf *); +struct goacc_ncarray_info; extern struct target_mem_desc *goacc_map_vars (struct gomp_device_descr *, struct goacc_asyncqueue *, size_t, void **, void **, - size_t *, void *, bool, + size_t *, void *, + struct goacc_ncarray_info *, + bool, enum gomp_map_vars_kind); -extern struct target_mem_desc *gomp_map_vars_openacc (struct gomp_device_descr *, - struct goacc_asyncqueue *, - size_t, void **, size_t *, - unsigned short *, void *); extern void goacc_unmap_vars (struct target_mem_desc *, bool, struct goacc_asyncqueue *); extern void gomp_init_device (struct gomp_device_descr *); diff --git a/libgomp/oacc-mem.c b/libgomp/oacc-mem.c index 718252b44ba7..6062f2061a26 100644 --- a/libgomp/oacc-mem.c +++ b/libgomp/oacc-mem.c @@ -403,7 +403,7 @@ acc_map_data (void *h, void *d, size_t s) struct target_mem_desc *tgt = goacc_map_vars (acc_dev, NULL, mapnum, &hostaddrs, &devaddrs, &sizes, - &kinds, true, GOMP_MAP_VARS_ENTER_DATA); + &kinds, NULL, true, GOMP_MAP_VARS_ENTER_DATA); assert (tgt); assert (tgt->list_count == 1); splay_tree_key n = tgt->list[0].key; @@ -568,7 +568,7 @@ goacc_enter_datum (void **hostaddrs, size_t *sizes, void *kinds, int async) struct target_mem_desc *tgt = goacc_map_vars (acc_dev, aq, mapnum, hostaddrs, NULL, sizes, - kinds, true, GOMP_MAP_VARS_ENTER_DATA); + kinds, NULL, true, GOMP_MAP_VARS_ENTER_DATA); assert (tgt); assert (tgt->list_count == 1); n = tgt->list[0].key; @@ -1206,7 +1206,7 @@ goacc_enter_data_internal (struct gomp_device_descr *acc_dev, size_t mapnum, gomp_mutex_unlock (&acc_dev->lock); struct target_mem_desc *tgt_ __attribute__((unused)) = goacc_map_vars (acc_dev, aq, groupnum, &hostaddrs[i], NULL, - &sizes[i], &kinds[i], true, + &sizes[i], &kinds[i], NULL, true, GOMP_MAP_VARS_ENTER_DATA); assert (tgt_ == NULL); gomp_mutex_lock (&acc_dev->lock); @@ -1257,7 +1257,7 @@ goacc_enter_data_internal (struct gomp_device_descr *acc_dev, size_t mapnum, struct target_mem_desc *tgt = goacc_map_vars (acc_dev, aq, groupnum, &hostaddrs[i], NULL, - &sizes[i], &kinds[i], true, + &sizes[i], &kinds[i], NULL, true, GOMP_MAP_VARS_ENTER_DATA); assert (tgt); diff --git a/libgomp/oacc-parallel.c b/libgomp/oacc-parallel.c index 3ed099f35b91..ca6e40b310cd 100644 --- a/libgomp/oacc-parallel.c +++ b/libgomp/oacc-parallel.c @@ -468,8 +468,8 @@ GOACC_parallel_keyed (int flags_m, void (*fn) (void *), goacc_aq aq = get_goacc_asyncqueue (async); struct target_mem_desc *tgt - = gomp_map_vars_openacc (acc_dev, aq, mapnum, hostaddrs, sizes, kinds, - nca_info); + = goacc_map_vars (acc_dev, aq, mapnum, hostaddrs, NULL, sizes, kinds, + nca_info, true, GOMP_MAP_VARS_TARGET); free (nca_info); if (profiling_p) @@ -631,7 +631,7 @@ GOACC_data_start (int flags_m, size_t mapnum, { prof_info.device_type = acc_device_host; api_info.device_type = prof_info.device_type; - tgt = gomp_map_vars_openacc (NULL, NULL, 0, NULL, NULL, NULL, NULL); + tgt = goacc_map_vars (NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, true, 0); tgt->prev = thr->mapped_data; thr->mapped_data = tgt; @@ -648,8 +648,8 @@ GOACC_data_start (int flags_m, size_t mapnum, } gomp_debug (0, " %s: prepare mappings\n", __FUNCTION__); - tgt = gomp_map_vars_openacc (acc_dev, NULL, mapnum, hostaddrs, sizes, kinds, - nca_info); + tgt = goacc_map_vars (acc_dev, NULL, mapnum, hostaddrs, NULL, sizes, kinds, + nca_info, true, 0); free (nca_info); gomp_debug (0, " %s: mappings prepared\n", __FUNCTION__); tgt->prev = thr->mapped_data; diff --git a/libgomp/target.c b/libgomp/target.c index d7a5ad6c330b..9a16c2af8013 100644 --- a/libgomp/target.c +++ b/libgomp/target.c @@ -2049,18 +2049,6 @@ gomp_map_vars_internal (struct gomp_device_descr *devicep, return tgt; } -attribute_hidden struct target_mem_desc * -gomp_map_vars_openacc (struct gomp_device_descr *devicep, - struct goacc_asyncqueue *aq, size_t mapnum, - void **hostaddrs, size_t *sizes, unsigned short *kinds, - void *nca_info) -{ - return gomp_map_vars_internal (devicep, aq, mapnum, hostaddrs, NULL, - sizes, (void *) kinds, - (struct goacc_ncarray_info *) nca_info, - true, NULL, GOMP_MAP_VARS_OPENACC); -} - static struct target_mem_desc * gomp_map_vars (struct gomp_device_descr *devicep, size_t mapnum, void **hostaddrs, void **devaddrs, size_t *sizes, void *kinds, @@ -2090,11 +2078,12 @@ attribute_hidden struct target_mem_desc * goacc_map_vars (struct gomp_device_descr *devicep, struct goacc_asyncqueue *aq, size_t mapnum, void **hostaddrs, void **devaddrs, size_t *sizes, - void *kinds, bool short_mapkind, + void *kinds, struct goacc_ncarray_info *nca_info, + bool short_mapkind, enum gomp_map_vars_kind pragma_kind) { return gomp_map_vars_internal (devicep, aq, mapnum, hostaddrs, devaddrs, - sizes, kinds, NULL, short_mapkind, NULL, + sizes, kinds, nca_info, short_mapkind, NULL, GOMP_MAP_VARS_OPENACC | pragma_kind); }