gcc/libgomp
Jakub Jelinek 0494285ab0 libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
* libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
	(struct gomp_taskwait): New type.
	(struct gomp_task): Add taskwait and parent_depends_on, remove
	in_taskwait and taskwait_sem fields.
	(gomp_finish_task): Don't destroy taskwait_sem.
	* task.c (gomp_init_task): Don't init in_taskwait, instead init
	taskwait and parent_depends_on.
	(GOMP_task): For if (0) tasks with depend clause that depend on
	earlier tasks don't defer them, instead call
	gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
	Initialize redundant_out field, for redundant out entries just
	move them at the end of linked list instead of removing them
	completely, and set redundant_out flag instead of redundant.
	(gomp_task_run_pre): Update last_parent_depends_on if scheduling
	that task.
	(gomp_task_run_post_handle_dependers): If parent is in
	gomp_task_maybe_wait_for_dependencies and newly runnable task
	is not parent_depends_on, queue it in parent->children linked
	list after all runnable tasks with parent_depends_on set.
	Adjust for addition of taskwait indirection.
	(gomp_task_run_post_remove_parent): If parent is in
	gomp_task_maybe_wait_for_dependencies and task to be removed
	is parent_depends_on, decrement n_depend and if needed awake
	parent.  Adjust for addition of taskwait indirection.
	(GOMP_taskwait): Adjust for addition of taskwait indirection.
	(gomp_task_maybe_wait_for_dependencies): New function.
	* testsuite/libgomp.c/depend-5.c: New test.

From-SVN: r213408
2014-08-01 10:05:13 +02:00
..
config libgomp: Fix default futex vs errno 2014-04-02 13:27:29 -07:00
testsuite libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 2014-08-01 10:05:13 +02:00
acinclude.m4 Fix Solaris symbol versioning (PR libstdc++/52188) 2012-02-27 13:51:50 +00:00
aclocal.m4 re PR libstdc++/36104 (gnu-versioned-namespace is broken) 2011-01-20 23:41:24 +00:00
alloc.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
barrier.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
ChangeLog libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 2014-08-01 10:05:13 +02:00
ChangeLog.graphite Add forgotten ChangeLog entries. 2010-03-08 17:49:42 +00:00
config.h.in acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style. 2010-07-05 17:19:33 +00:00
configure Generally link to libgomp for -ftree-parallelize-loops=*. 2013-11-07 16:07:34 +01:00
configure.ac Generally link to libgomp for -ftree-parallelize-loops=*. 2013-11-07 16:07:34 +01:00
configure.tgt configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for GNU/Hurd, as done for Linux-based systems. 2013-06-06 12:04:49 +02:00
critical.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
env.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
error.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
fortran.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
hashtab.h Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
iter_ull.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
iter.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
libgomp_f.h.in Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
libgomp_g.h Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
libgomp.h libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 2014-08-01 10:05:13 +02:00
libgomp.map target.c: New file. 2013-10-11 11:26:50 +02:00
libgomp.spec.in Generally link to libgomp for -ftree-parallelize-loops=*. 2013-11-07 16:07:34 +01:00
libgomp.texi libgomp.texi (Runitme Library Routines): Remove multiple @menu. 2014-05-18 12:29:30 +02:00
loop_ull.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
loop.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
Makefile.am Makefile.am (omp_lib.mod): Streamline rule. 2013-10-11 12:43:48 +02:00
Makefile.in Makefile.am (omp_lib.mod): Streamline rule. 2013-10-11 12:43:48 +02:00
omp_lib.f90.in gimplify.c (omp_notice_variable): If n is non-NULL and no flags change in ORT_TARGET region, don't jump to do_outer. 2014-06-18 09:16:12 +02:00
omp_lib.h.in gimplify.c (omp_notice_variable): If n is non-NULL and no flags change in ORT_TARGET region, don't jump to do_outer. 2014-06-18 09:16:12 +02:00
omp.h.in Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
ordered.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
parallel.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
sections.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
single.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
target.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
task.c libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 2014-08-01 10:05:13 +02:00
team.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
work.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00