gcc/include
Tobias Burnus b752eed3e3 OpenMP: Add support for 'self_maps' to the 'require' directive
'self_maps' implies 'unified_shared_memory', except that the latter
also permits that explicit maps copy data to device memory while
self_maps does not. In GCC, currently, both are handled identical.

gcc/c/ChangeLog:

	* c-parser.cc (c_parser_omp_requires): Handle self_maps clause.

gcc/cp/ChangeLog:

	* parser.cc (cp_parser_omp_requires): Handle self_maps clause.

gcc/fortran/ChangeLog:

	* gfortran.h (enum gfc_omp_requires_kind): Add OMP_REQ_SELF_MAPS.
	(gfc_namespace): Enlarge omp_requires bitfield.
	* module.cc (enum ab_attribute, attr_bits): Add AB_OMP_REQ_SELF_MAPS.
	(mio_symbol_attribute): Handle it.
	* openmp.cc (gfc_check_omp_requires, gfc_match_omp_requires): Handle
	self_maps clause.
	* parse.cc (gfc_parse_file): Handle self_maps clause.

gcc/ChangeLog:

	* lto-cgraph.cc (output_offload_tables, omp_requires_to_name): Handle
	self_maps clause.
	* omp-general.cc (struct omp_ts_info, omp_context_selector_matches):
	Likewise for the associated trait.
	* omp-general.h (enum omp_requires): Add OMP_REQUIRES_SELF_MAPS.
	* omp-selectors.h (enum omp_ts_code): Add
	OMP_TRAIT_IMPLEMENTATION_SELF_MAPS.

include/ChangeLog:

	* gomp-constants.h (GOMP_REQUIRES_SELF_MAPS): #define.

libgomp/ChangeLog:

	* plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices):
	Accept self_maps clause.
	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices):
	Likewise.
	* libgomp.texi (TR13 Impl. Status): Set to 'Y'.
	* target.c (gomp_requires_to_name, GOMP_offload_register_ver,
	gomp_target_init): Handle self_maps clause.
	* testsuite/libgomp.fortran/self_maps.f90: New test.

gcc/testsuite/ChangeLog:

	* c-c++-common/gomp/declare-variant-1.c: Add self_maps test.
	* c-c++-common/gomp/requires-4.c: Likewise.
	* gfortran.dg/gomp/declare-variant-3.f90:  Likewise.
	* c-c++-common/gomp/requires-2.c: Update dg-error msg.
	* gfortran.dg/gomp/requires-2.f90: Likewise.
	* gfortran.dg/gomp/requires-self-maps-aux.f90: New.
	* gfortran.dg/gomp/requires-self-maps.f90: New.
2024-09-24 10:53:59 +02:00
..
cuda OpenMP: Add get_device_from_uid/omp_get_uid_from_device routines 2024-09-20 09:25:33 +02:00
gdb Update copyright years. 2024-01-03 12:19:35 +01:00
ansidecl.h Update copyright years. 2024-01-03 12:19:35 +01:00
btf.h btf: Protect BTF_KIND_INFO against invalid kind 2024-08-09 08:55:23 -07:00
ChangeLog Daily bump. 2024-09-24 00:18:14 +00:00
ChangeLog-9103
ChangeLog.jit
collectorAPI.h Update copyright years. 2024-01-03 12:19:35 +01:00
COPYING
COPYING3
ctf.h Update copyright years. 2024-01-03 12:19:35 +01:00
demangle.h c++, demangle: Implement https://github.com/itanium-cxx-abi/cxx-abi/issues/148 non-proposal 2024-01-13 10:23:53 +01:00
dwarf2.def Update copyright years. 2024-01-03 12:19:35 +01:00
dwarf2.h dwarf2: add hooks for architecture-specific CFIs 2024-09-23 15:37:05 +01:00
dyn-string.h Update copyright years. 2024-01-03 12:19:35 +01:00
environ.h Update copyright years. 2024-01-03 12:19:35 +01:00
fibheap.h Update copyright years. 2024-01-03 12:19:35 +01:00
filenames.h Update copyright years. 2024-01-03 12:19:35 +01:00
floatformat.h Update copyright years. 2024-01-03 12:19:35 +01:00
fnmatch.h Update copyright years. 2024-01-03 12:19:35 +01:00
gcc-c-fe.def Fix PR libcc1/113977 2024-02-29 08:50:06 -07:00
gcc-c-interface.h Fix PR libcc1/113977 2024-02-29 08:50:06 -07:00
gcc-cp-fe.def Update copyright years. 2024-01-03 12:19:35 +01:00
gcc-cp-interface.h Fix PR libcc1/113977 2024-02-29 08:50:06 -07:00
gcc-interface.h Update copyright years. 2024-01-03 12:19:35 +01:00
getopt.h Update copyright years. 2024-01-03 12:19:35 +01:00
gomp-constants.h OpenMP: Add support for 'self_maps' to the 'require' directive 2024-09-24 10:53:59 +02:00
hashtab.h Update copyright years. 2024-01-03 12:19:35 +01:00
hsa.h libgomp: Enable USM for AMD APUs and MI200 devices 2024-05-29 15:29:06 +02:00
hsa_ext_amd.h
hsa_ext_image.h
leb128.h Update copyright years. 2024-01-03 12:19:35 +01:00
libcollector.h Update copyright years. 2024-01-03 12:19:35 +01:00
libfcollector.h Update copyright years. 2024-01-03 12:19:35 +01:00
libiberty.h Update copyright years. 2024-01-03 12:19:35 +01:00
longlong.h [committed] Adding missing prototype for __clzhi2 to xstormy port 2024-01-09 10:21:28 -07:00
lto-symtab.h Update copyright years. 2024-01-03 12:19:35 +01:00
md5.h Update copyright years. 2024-01-03 12:19:35 +01:00
objalloc.h Update copyright years. 2024-01-03 12:19:35 +01:00
obstack.h Update copyright years. 2024-01-03 12:19:35 +01:00
partition.h Update copyright years. 2024-01-03 12:19:35 +01:00
plugin-api.h Update copyright years. 2024-01-03 12:19:35 +01:00
safe-ctype.h Update copyright years. 2024-01-03 12:19:35 +01:00
sha1.h Update copyright years. 2024-01-03 12:19:35 +01:00
simple-object.h Update copyright years. 2024-01-03 12:19:35 +01:00
sort.h Update copyright years. 2024-01-03 12:19:35 +01:00
spincount.h Update copyright years. 2024-01-03 12:19:35 +01:00
splay-tree.h Update copyright years. 2024-01-03 12:19:35 +01:00
symcat.h Update copyright years. 2024-01-03 12:19:35 +01:00
timeval-utils.h Update copyright years. 2024-01-03 12:19:35 +01:00
vtv-change-permission.h Update copyright years. 2024-01-03 12:19:35 +01:00
xregex.h
xregex2.h Update copyright years. 2024-01-03 12:19:35 +01:00
xtensa-config.h Update copyright years. 2024-01-03 12:19:35 +01:00
xtensa-dynconfig.h Update copyright years. 2024-01-03 12:19:35 +01:00