Simplify OpenACC 'no_create' clause implementation
authorThomas Schwinge <thomas@codesourcery.com>
Mon, 27 Feb 2023 11:02:02 +0000 (12:02 +0100)
committerThomas Schwinge <thomas@codesourcery.com>
Fri, 10 Mar 2023 14:48:43 +0000 (15:48 +0100)
commit199867d07be65cb0227a318ebf42b8376ca09313
tree9e1955c9f2beff346cf80dd2aec1daabebd406fd
parentb5037d4a073f2e4625afab5ec1f35624d9f9eba1
Simplify OpenACC 'no_create' clause implementation

For 'OFFSET_INLINED', 'gomp_map_val' does the right thing, and we may then
simplify the device plugins accordingly.

This is a follow-up to
Subversion r279551 (Git commit a6163563f2ce502bd4ef444bd5de33570bb8eeb1)
"Add OpenACC 2.6's no_create",
Subversion r279622 (Git commit 5bcd470bf0749e1f56d05dd43aa9584ff2e3a090)
"Use gomp_map_val for OpenACC host-to-device address translation".

libgomp/
* target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
'GOMP_MAP_IF_PRESENT'.
* plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
(GOMP_OFFLOAD_openacc_async_exec): Adjust.
* plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
(GOMP_OFFLOAD_openacc_async_exec): Likewise.
* testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
testing.
* testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
libgomp/plugin/plugin-gcn.c
libgomp/plugin/plugin-nvptx.c
libgomp/target.c
libgomp/testsuite/libgomp.oacc-c-c++-common/no_create-1.c
libgomp/testsuite/libgomp.oacc-c-c++-common/no_create-2.c