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
ChangeLog libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 2014-08-01 10:05:13 +02:00
ChangeLog.graphite
Makefile.am
Makefile.in
acinclude.m4
aclocal.m4
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
config.h.in
configure
configure.ac
configure.tgt
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.c 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
libgomp.h libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 2014-08-01 10:05:13 +02:00
libgomp.map
libgomp.spec.in
libgomp.texi libgomp.texi (Runitme Library Routines): Remove multiple @menu. 2014-05-18 12:29:30 +02: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
loop.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
loop_ull.c Update copyright years in libgomp/ 2014-01-02 22:25:54 +00:00
omp.h.in Update copyright years in libgomp/ 2014-01-02 22:25:54 +00: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
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