gcc/libgomp
Ilya Verbin 4a38b02b4e c-common.c (c_common_attribute_table): Handle "omp declare target link" attribute.
gcc/c-family/
	* c-common.c (c_common_attribute_table): Handle "omp declare target
	link" attribute.
gcc/
	* cgraphunit.c (output_in_order): Do not assemble "omp declare target
	link" variables in ACCEL_COMPILER.
	* gimplify.c (gimplify_adjust_omp_clauses): Do not remove mapping of
	"omp declare target link" variables.
	* omp-low.c (scan_sharing_clauses): Do not remove mapping of "omp
	declare target link" variables.
	(add_decls_addresses_to_decl_constructor): For "omp declare target link"
	variables output address of the artificial pointer instead of address of
	the variable.  Set most significant bit of the size to mark them.
	(pass_data_omp_target_link): New pass_data.
	(pass_omp_target_link): New class.
	(find_link_var_op): New static function.
	(make_pass_omp_target_link): New function.
	* passes.def: Add pass_omp_target_link.
	* tree-pass.h (make_pass_omp_target_link): Declare.
	* varpool.c (symbol_table::output_variables): Do not assemble "omp
	declare target link" variables in ACCEL_COMPILER.
gcc/lto/
	* lto.c: Include stringpool.h and fold-const.h.
	(offload_handle_link_vars): New static function.
	(lto_main): Call offload_handle_link_vars.
libgomp/
	* libgomp.h (REFCOUNT_LINK): Define.
	(struct splay_tree_key_s): Add link_key.
	* target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
	Replace target address of the pointer with target address of newly
	mapped object in the splay tree.  Set link pointer on target to the
	device address of the mapped object.
	(gomp_unmap_vars): Restore target address of the pointer in the splay
	tree for REFCOUNT_LINK objects after unmapping.
	(gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
	declare target link" objects.
	(gomp_unload_image_from_device): Replace j with i.  Force unmap of all
	"omp declare target link" objects, which were mapped for the image.
	(gomp_exit_data): Restore target address of the pointer in the splay
	tree for REFCOUNT_LINK objects after unmapping.
	* testsuite/libgomp.c/target-link-1.c: New file.

From-SVN: r231655
2015-12-15 14:56:50 +00:00
..
config priority_queue.c: New file. 2015-11-17 09:29:34 -08:00
plugin libgomp.h (struct acc_dispatch_t): Remove args from exec_func. 2015-11-03 20:18:33 +00:00
testsuite c-common.c (c_common_attribute_table): Handle "omp declare target link" attribute. 2015-12-15 14:56:50 +00:00
acinclude.m4 Fix Solaris symbol versioning (PR libstdc++/52188) 2012-02-27 13:51:50 +00:00
aclocal.m4 libgomp: Bump to automake 1.11.6 2015-05-13 11:24:38 +00:00
alloc.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
barrier.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
ChangeLog c-common.c (c_common_attribute_table): Handle "omp declare target link" attribute. 2015-12-15 14:56:50 +00:00
ChangeLog.graphite Add forgotten ChangeLog entries. 2010-03-08 17:49:42 +00:00
config.h.in Fix --enable-offload-targets/-foffload handling, pt. 1 2015-09-23 16:52:50 +02:00
configure Fix typo 2015-11-26 08:44:36 -05:00
configure.ac [gomp] Add RTEMS configuration 2015-09-03 11:26:36 +00:00
configure.tgt configure.tgt: Add missing ;; in between nvptx and rtems snippets. 2015-09-03 18:20:35 +02:00
critical.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
env.c builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, [...]): New. 2015-10-13 21:06:23 +02:00
error.c Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
fortran.c [gomp] Fix build for 32-bit targets with int != int32_t 2015-10-14 08:30:52 +00:00
hashtab.h Update copyright years. 2015-01-05 13:33:28 +01:00
iter_ull.c re PR libgomp/66761 (libgomp: ThreadSanitizer: data race in libgomp) 2015-08-24 11:01:25 +00:00
iter.c re PR libgomp/66761 (libgomp: ThreadSanitizer: data race in libgomp) 2015-08-24 11:01:25 +00:00
libgomp_f.h.in libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
libgomp_g.h gcc/ 2015-11-05 16:08:08 +01:00
libgomp-plugin.c libgomp: Make GOMP_PLUGIN_debug actually work... 2015-02-17 19:24:07 +01:00
libgomp-plugin.h omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
libgomp.h c-common.c (c_common_attribute_table): Handle "omp declare target link" attribute. 2015-12-15 14:56:50 +00:00
libgomp.map OpenACC host_data support. 2015-12-01 15:52:23 +00:00
libgomp.spec.in Generally link to libgomp for -ftree-parallelize-loops=*. 2013-11-07 16:07:34 +01:00
libgomp.texi libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 sections. 2015-11-14 23:02:42 +01:00
loop_ull.c gcc/ 2015-11-05 16:08:08 +01:00
loop.c gcc/ 2015-11-05 16:08:08 +01:00
Makefile.am omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
Makefile.in omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
oacc-async.c mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
oacc-cuda.c mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
oacc-host.c libgomp.h (gomp_device_state): New enum. 2015-12-14 16:46:54 +00:00
oacc-init.c libgomp.h (gomp_device_state): New enum. 2015-12-14 16:46:54 +00:00
oacc-int.h re PR libgomp/67141 (wrong libgomp mutex initialisation order) 2015-09-22 06:45:22 +00:00
oacc-mem.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
oacc-parallel.c OpenACC host_data support. 2015-12-01 15:52:23 +00:00
oacc-plugin.c Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
oacc-plugin.h Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
omp_lib.f90.in builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, [...]): New. 2015-10-13 21:06:23 +02:00
omp_lib.h.in builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, [...]): New. 2015-10-13 21:06:23 +02:00
omp.h.in builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, [...]): New. 2015-10-13 21:06:23 +02:00
openacc_lib.h [PR libgomp/65742, PR middle-end/66332] libgomp: Remove plugin for non-shared memory host execution 2015-08-10 18:48:26 +02:00
openacc.f90 [PR libgomp/65742, PR middle-end/66332] libgomp: Remove plugin for non-shared memory host execution 2015-08-10 18:48:26 +02:00
openacc.h openacc.h (enum acc_device_t): Reformat. 2015-10-30 00:13:22 +00:00
ordered.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
parallel.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
priority_queue.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
priority_queue.h omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
sections.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
single.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
splay-tree.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
splay-tree.h omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
target.c c-common.c (c_common_attribute_table): Handle "omp declare target link" attribute. 2015-12-15 14:56:50 +00:00
task.c re PR libgomp/68579 (FAIL: libgomp.c/target-32.c execution test) 2015-11-27 20:33:33 +01:00
taskloop.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
team.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
work.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00