gcc/libgomp
Tobias Burnus 38944ec2a6 OpenMP: Cleanups related to the 'present' modifier
Reduce number of enum values passed to libgomp as
GOMP_MAP_PRESENT_{TO,TOFROM,FROM,ALLOC} have the same semantic as
GOMP_MAP_FORCE_PRESENT (i.e. abort if not present, otherwise ignore);
that's different to GOMP_MAP_ALWAYS_PRESENT_{TO,TOFROM,FROM} which also
abort if not present but copy data when present. This is is a follow-up to
the commit r14-1579-g4ede915d5dde93 done 6 days ago.

Additionally, the commit improves a libgomp run-time and a C/C++ compile-time
error wording and extends testcases a tiny bit.

gcc/c/ChangeLog:

	* c-parser.cc (c_parser_omp_clause_map): Reword error message for
	clearness especially with 'omp target (enter/exit) data.'

gcc/cp/ChangeLog:

	* parser.cc (cp_parser_omp_clause_map): Reword error message for
	clearness especially with 'omp target (enter/exit) data.'
	* semantics.cc (handle_omp_array_sections): Handle
	GOMP_MAP_{ALWAYS_,}PRESENT_{TO,TOFROM,FROM,ALLOC} enum values.

gcc/ChangeLog:

	* gimplify.cc (gimplify_adjust_omp_clauses_1): Use
	GOMP_MAP_FORCE_PRESENT for 'present alloc' implicit mapping.
	(gimplify_adjust_omp_clauses): Change
	GOMP_MAP_PRESENT_{TO,TOFROM,FROM,ALLOC} to the equivalent
	GOMP_MAP_FORCE_PRESENT.
	* omp-low.cc (lower_omp_target): Remove handling of no-longer valid
	GOMP_MAP_PRESENT_{TO,TOFROM,FROM,ALLOC}; update map kinds used for
	to/from clauses with present modifier.

include/ChangeLog:

	* gomp-constants.h (enum gomp_map_kind): Change the enum values
	GOMP_MAP_PRESENT_{TO,TOFROM,FROM,ALLOC} to be compiler only.
	(GOMP_MAP_PRESENT_P): Update to include also GOMP_MAP_FORCE_PRESENT.

libgomp/ChangeLog:

	* target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
	GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
	(gomp_map_vars_internal, gomp_update): Likewise; unify and improve
	error message.
	* testsuite/libgomp.c-c++-common/target-present-2.c: Update for
	changed error message.
	* testsuite/libgomp.fortran/target-present-1.f90: Likewise.
	* testsuite/libgomp.fortran/target-present-2.f90: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
	* testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
	extend testcase to check that data is copied when needed.
	* testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
	* testsuite/libgomp.fortran/target-present-3.f90: Likewise.

gcc/testsuite/ChangeLog:

	* c-c++-common/gomp/defaultmap-4.c: Update scan-tree-dump.
	* c-c++-common/gomp/map-9.c: Likewise.
	* gfortran.dg/gomp/defaultmap-8.f90: Likewise.
	* gfortran.dg/gomp/map-11.f90: Likewise.
	* gfortran.dg/gomp/target-update-1.f90: Likewise.
	* gfortran.dg/gomp/map-12.f90: Likewise; also check original dump.
	* c-c++-common/gomp/map-6.c: Update dg-error and also check
	clause error with 'target (enter/exit) data'.
2023-06-12 18:15:28 +02:00
..
config libgomp: Honor OpenMP's nteams-var ICV as upper limit on num teams [PR109875] 2023-05-21 20:37:15 +02:00
plugin libgomp: plugin-gcn - support 'unified_address' 2023-06-06 18:06:14 +02:00
testsuite OpenMP: Cleanups related to the 'present' modifier 2023-06-12 18:15:28 +02:00
.gitattributes libgomp: Fixes + cleanup for OpenACC's Fortran module + openacc_lib.h 2020-02-19 09:13:44 +01:00
ChangeLog Daily bump. 2023-06-08 00:17:20 +00:00
ChangeLog.graphite
Makefile.am Refactor '-ldl' handling for libgomp proper and plugins 2022-05-12 15:11:30 +02:00
Makefile.in Remove stale Autoconf checks for Perl 2023-06-02 09:51:14 +02:00
acc_prof.h Update copyright years. 2023-01-16 11:52:17 +01:00
acinclude.m4 libgomp: fix typo in mold linker detection 2022-06-28 10:35:32 +02:00
aclocal.m4 libgomp: Regenerate configure files with automake 1.15.1 2020-10-02 12:08:47 +02:00
affinity-fmt.c Update copyright years. 2023-01-16 11:52:17 +01:00
affinity.c Update copyright years. 2023-01-16 11:52:17 +01:00
alloc.c Update copyright years. 2023-01-16 11:52:17 +01:00
allocator.c Update copyright years. 2023-01-16 11:52:17 +01:00
atomic.c Update copyright years. 2023-01-16 11:52:17 +01:00
barrier.c Update copyright years. 2023-01-16 11:52:17 +01:00
config.h.in Refactor '-ldl' handling for libgomp proper and plugins 2022-05-12 15:11:30 +02:00
configure Support parallel testing in libgomp: fallback Perl 'flock' [PR66005] 2023-06-02 09:51:15 +02:00
configure.ac Support parallel testing in libgomp: fallback Perl 'flock' [PR66005] 2023-06-02 09:51:15 +02:00
configure.tgt LoongArch Port: libgomp 2022-03-29 17:43:35 +08:00
critical.c Update copyright years. 2023-01-16 11:52:17 +01:00
env.c libgomp: Fix default value of GOMP_SPINCOUNT [PR 109062] 2023-03-09 09:01:13 +08:00
error.c Update copyright years. 2023-01-16 11:52:17 +01:00
fortran.c Update copyright years. 2023-01-16 11:52:17 +01:00
hashtab.h Update copyright years. 2023-01-16 11:52:17 +01:00
icv-device.c Update copyright years. 2023-01-16 11:52:17 +01:00
icv.c Update copyright years. 2023-01-16 11:52:17 +01:00
iter.c Update copyright years. 2023-01-16 11:52:17 +01:00
iter_ull.c Update copyright years. 2023-01-16 11:52:17 +01:00
libgomp-plugin.c libgomp: Simplify OpenMP reverse offload host <-> device memory copy implementation 2023-05-08 15:58:05 +02:00
libgomp-plugin.h libgomp: Simplify OpenMP reverse offload host <-> device memory copy implementation 2023-05-08 15:58:05 +02:00
libgomp.h libgomp: Simplify OpenMP reverse offload host <-> device memory copy implementation 2023-05-08 15:58:05 +02:00
libgomp.map libgomp/nvptx: Prepare for reverse-offload callback handling 2022-10-24 17:04:08 +02:00
libgomp.spec.in
libgomp.texi libgomp: plugin-gcn - support 'unified_address' 2023-06-06 18:06:14 +02:00
libgomp_f.h.in Update copyright years. 2023-01-16 11:52:17 +01:00
libgomp_g.h Update copyright years. 2023-01-16 11:52:17 +01:00
lock.c Update copyright years. 2023-01-16 11:52:17 +01:00
loop.c Update copyright years. 2023-01-16 11:52:17 +01:00
loop_ull.c Update copyright years. 2023-01-16 11:52:17 +01:00
oacc-async.c OpenACC: Remove 'acc_async_test' -> skip shortcut in 'libgomp/oacc-async.c:goacc_wait' 2023-03-10 15:37:47 +01:00
oacc-cuda.c Update copyright years. 2023-01-16 11:52:17 +01:00
oacc-host.c Update copyright years. 2023-01-16 11:52:17 +01:00
oacc-init.c Update copyright years. 2023-01-16 11:52:17 +01:00
oacc-int.h Update copyright years. 2023-01-16 11:52:17 +01:00
oacc-mem.c Update copyright years. 2023-01-16 11:52:17 +01:00
oacc-parallel.c Use 'GOMP_MAP_VARS_TARGET' for OpenACC compute constructs [PR90596] 2023-03-10 18:05:27 +01:00
oacc-plugin.c Update copyright years. 2023-01-16 11:52:17 +01:00
oacc-plugin.h Update copyright years. 2023-01-16 11:52:17 +01:00
oacc-profiling.c Update copyright years. 2023-01-16 11:52:17 +01:00
oacc-target.c GCN libgomp port 2019-11-13 12:38:04 +00:00
omp.h.in Update copyright years. 2023-01-16 11:52:17 +01:00
omp_lib.f90.in Update copyright years. 2023-01-16 11:52:17 +01:00
omp_lib.h.in Update copyright years. 2023-01-16 11:52:17 +01:00
openacc.f90 Update copyright years. 2023-01-16 11:52:17 +01:00
openacc.h Update copyright years. 2023-01-16 11:52:17 +01:00
openacc_lib.h Update copyright years. 2023-01-16 11:52:17 +01:00
ordered.c Update copyright years. 2023-01-16 11:52:17 +01:00
parallel.c Update copyright years. 2023-01-16 11:52:17 +01:00
priority_queue.c Update copyright years. 2023-01-16 11:52:17 +01:00
priority_queue.h Update copyright years. 2023-01-16 11:52:17 +01:00
scope.c Update copyright years. 2023-01-16 11:52:17 +01:00
sections.c Update copyright years. 2023-01-16 11:52:17 +01:00
secure_getenv.h Update copyright years. 2023-01-16 11:52:17 +01:00
single.c Update copyright years. 2023-01-16 11:52:17 +01:00
splay-tree.c Update copyright years. 2023-01-16 11:52:17 +01:00
splay-tree.h Update copyright years. 2023-01-16 11:52:17 +01:00
target.c OpenMP: Cleanups related to the 'present' modifier 2023-06-12 18:15:28 +02:00
task.c Update copyright years. 2023-01-16 11:52:17 +01:00
taskloop.c Update copyright years. 2023-01-16 11:52:17 +01:00
team.c Update copyright years. 2023-01-16 11:52:17 +01:00
teams.c Update copyright years. 2023-01-16 11:52:17 +01:00
work.c Update copyright years. 2023-01-16 11:52:17 +01:00