https://gcc.gnu.org/g:d4d800ff78697e45ca3c9e24dba0d1166265d381

commit d4d800ff78697e45ca3c9e24dba0d1166265d381
Author: Thomas Schwinge <tho...@codesourcery.com>
Date:   Thu Mar 2 18:36:47 2023 +0100

    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.

Diff:
---
 libgomp/ChangeLog.omp   | 13 +++++++++++++
 libgomp/libgomp.h       |  9 ++++-----
 libgomp/oacc-mem.c      |  8 ++++----
 libgomp/oacc-parallel.c | 10 +++++-----
 libgomp/target.c        | 17 +++--------------
 5 files changed, 29 insertions(+), 28 deletions(-)

diff --git a/libgomp/ChangeLog.omp b/libgomp/ChangeLog.omp
index 967db4b8f61..191c3e61ad3 100644
--- a/libgomp/ChangeLog.omp
+++ b/libgomp/ChangeLog.omp
@@ -1,3 +1,16 @@
+2023-03-10  Thomas Schwinge  <tho...@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.
+
 2024-05-31  Thomas Schwinge  <tschwi...@baylibre.com>
 
        * libgomp.texi (nvptx): Update.
diff --git a/libgomp/libgomp.h b/libgomp/libgomp.h
index 3009a0c9977..6966e1e5200 100644
--- a/libgomp/libgomp.h
+++ b/libgomp/libgomp.h
@@ -1463,15 +1463,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 45eb837e6ad..feca3b28318 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;
@@ -1263,7 +1263,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);
@@ -1314,7 +1314,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 ca2896957b9..b2a2ec9b120 100644
--- a/libgomp/oacc-parallel.c
+++ b/libgomp/oacc-parallel.c
@@ -470,8 +470,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)
@@ -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 25c824d7095..fba76ec51ea 100644
--- a/libgomp/target.c
+++ b/libgomp/target.c
@@ -2042,18 +2042,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,
@@ -2083,11 +2071,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);
 }

Reply via email to