summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2023-03-02 18:36:47 +0100
committerThomas Schwinge <thomas@codesourcery.com>2023-03-10 14:15:59 +0100
commit5ea330fdc918e6731c5b706715a18470909247bf (patch)
tree1091d3d82f8a5c3661cc990fb6de2bf4b2f50790
parentb8beaa8447ed3c1637e8f93a08c0e47b5709290f (diff)
downloadgcc-5ea330fdc918e6731c5b706715a18470909247bf.tar.gz
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". PR other/76739 libgomp/ * 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.
-rw-r--r--libgomp/ChangeLog.omp11
-rw-r--r--libgomp/libgomp.h9
-rw-r--r--libgomp/oacc-mem.c8
-rw-r--r--libgomp/oacc-parallel.c10
-rw-r--r--libgomp/target.c17
5 files changed, 27 insertions, 28 deletions
diff --git a/libgomp/ChangeLog.omp b/libgomp/ChangeLog.omp
index 0e984754bb0..be21ec39428 100644
--- a/libgomp/ChangeLog.omp
+++ b/libgomp/ChangeLog.omp
@@ -1,5 +1,16 @@
2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
+ 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.
+
* oacc-host.c: Revert
"OpenACC profiling-interface fixes for asynchronous operations"
changes.
diff --git a/libgomp/libgomp.h b/libgomp/libgomp.h
index ba12d558465..92f6f14960f 100644
--- a/libgomp/libgomp.h
+++ b/libgomp/libgomp.h
@@ -1445,15 +1445,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 6fb8be98542..bd82beefcdb 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;
@@ -572,7 +572,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;
@@ -1247,7 +1247,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_
= 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);
@@ -1297,7 +1297,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 d66bc882a5f..9c1db402c82 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);
- tgt = gomp_map_vars_openacc (acc_dev, aq, mapnum, hostaddrs, sizes, kinds,
- nca_info);
+ tgt = goacc_map_vars (acc_dev, aq, mapnum, hostaddrs, NULL, sizes, kinds,
+ nca_info, true, 0);
free (nca_info);
if (profiling_p)
@@ -635,7 +635,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;
@@ -652,8 +652,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 fcc5b9dabca..e4fc7da6f07 100644
--- a/libgomp/target.c
+++ b/libgomp/target.c
@@ -1986,18 +1986,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,
@@ -2027,11 +2015,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);
}