Skip to content
Snippets Groups Projects
ChangeLog 107 KiB
Newer Older
Diego Novillo's avatar
Diego Novillo committed
2005-05-04  Richard Henderson  <rth@redhat.com>

	* iter.c (gomp_iter_static_next): Return tri-state on 0.
	* ordered.c (gomp_ordered_static_next): Remove not_last argument.
	* libgomp.h (struct gomp_team_state): Make static_trip unsigned.
	(gomp_iter_static_next): Update.
	(gomp_ordered_static_next): Update.
	* loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
	(gomp_loop_ordered_static_start): Likewise.  Exit early for a
	totally empty range.
	(gomp_loop_ordered_static_next): Refine test for calling
	gomp_ordered_static_next.
	* testsuite/ordered-1.c: Add case for more threads than iterations.

	* iter.c (gomp_iter_runtime_next_locked): Remove.
	* loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
	gomp_loop_guided_start, gomp_loop_ordered_static_start,
Diego Novillo's avatar
Diego Novillo committed
	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
	gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
	gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
	gomp_loop_ordered_guided_next): Downcase name, make static, add
	an external alias with the old name.
	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
	GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
	switch and call one of the above static functions.
	* libgomp.h: Update.

	* work.c (gomp_work_share_start): Lock the mutex for !first too.
	* loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
	GOMP_loop_guided_start, GOMP_loop_runtime_start,
	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
	GOMP_loop_ordered_guided_start): Update to match.
	* sections.c (GOMP_sections_start): Likewise.
	* single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.

	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
	gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
	Use bounds check instead of modulus.
	(gomp_ordered_sync): Split out of GOMP_ordered_start.
	(gomp_ordered_last): Don't sync with ordered_owner here.
	(gomp_ordered_next): Likewise.
	(gomp_ordered_static_loop_next): Likewise.
	* loop.c, libgomp.h: Update to match.

	* libgomp.h (GOMP_barrier): Declare.

	* testsuite/barrier-1.c: New file.
	* testsuite/critical-1.c: New file.
	* testsuite/ordered-2.c: New file.
	* testsuite/ordered-1.c: New file.
	* testsuite/sections-1.c: New file.
	* testsuite/single-1.c: New file.
	* testsuite/Makefile (TESTS): Add them.

2005-05-04  Richard Henderson  <rth@redhat.com>

	* libgomp.h (struct gomp_work_share): Add ordered_owner.
	* loop.c (GOMP_loop_static_start): If not the startup thread,
	acquire the mutex to wait for initialization complete.
	(GOMP_loop_ordered_static_start): Likewise.
	(GOMP_loop_ordered_runtime_start): Likewise.
	(GOMP_loop_ordered_static_first): Remove.
	(GOMP_loop_ordered_dynamic_first): Remove.
	(GOMP_loop_ordered_guided_first): Remove.
	(GOMP_loop_ordered_runtime_first): Remove.
	* ordered.c (gomp_ordered_loop_first): Post to own release when
	we're the first thread.
	(gomp_ordered_loop_last): Wait on release if not owner.
	(gomp_ordered_loop_next): Likewise.
	(gomp_ordered_static_loop_init): New.
	(gomp_ordered_static_loop_next): Use ordered_owner.
	(GOMP_ordered_start): Likewise.
	* work.c (gomp_new_work_share): Initialize ordered_owner.

2005-05-03  Richard Henderson  <rth@redhat.com>

	* Makefile (OPT): New.
	(CFLAGS): Use it.

	* loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
	* sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
	* libgomp.h, libgomp.map, NOTES: Update to match.

	* team.c (struct gomp_thread_start_data): Remove ts, fn, data.
	Add initialized and thr members.
	(gomp_thread_start): Pause when initially spawned to wait for
	the whole team to be created.
	(gomp_team_start): Release team members at the end.

	* testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
	(f_foo_1): Use GOMP_loop_end.
	(f_foo_2): Use GOMP_loop_end_nowait.

	* testsuite/loop-2.c: New file.
	* testsuite/Makefile (TESTS): Add it.

2005-05-03  Richard Henderson  <rth@redhat.com>

	* iter.c (gomp_iter_static_next): Fix overflow check typo.
	(gomp_iter_dynamic_next_locked): Fix overflow check thinko.
	* team.c (new_team): Initialize oldest_live_gen to 1 if no
	initial work_share.

	* testsuite/Makefile: New file.
	* testsuite/loop-1.c: New file.

2005-05-03  Richard Henderson  <rth@redhat.com>

	Initial implementation and checkin.