gcc/libgomp
Jakub Jelinek bfee0724e0 wait.h (do_spin): New inline...
* config/linux/wait.h (do_spin): New inline, largely copied
	from do_wait, just don't do futex_wait here, instead return true if
	it should be done.
	(do_wait): Implement using do_spin.
	* config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
	to prototype.
	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
	__sync_bool_compare_and_swap, pass the oldval to
	gomp_mutex_lock_slow.
	* config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
	If all mutex contenders are just spinning and not sleeping, don't
	change state to 2 unnecessarily.  Optimize the loop when state has
	already become 2 to use just one atomic operation per loop instead
	of two.
	* config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
	to prototype.
	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
	__sync_bool_compare_and_swap, pass the oldval to
	gomp_mutex_lock_slow.

From-SVN: r176326
2011-07-15 21:46:11 +02:00
..
config wait.h (do_spin): New inline... 2011-07-15 21:46:11 +02:00
testsuite re PR c++/49043 ([OpenMP & C++0x]: Compiler error when lambda-function within OpenMP loop) 2011-05-19 15:11:56 +02:00
ChangeLog wait.h (do_spin): New inline... 2011-07-15 21:46:11 +02:00
ChangeLog.graphite Add forgotten ChangeLog entries. 2010-03-08 17:49:42 +00:00
Makefile.am re PR target/40125 (libgcc_s DLL installed in wrong directory in cross toolchain) 2010-12-06 00:50:04 +00:00
Makefile.in re PR libstdc++/36104 (gnu-versioned-namespace is broken) 2011-01-20 23:41:24 +00:00
acinclude.m4 re PR bootstrap/48135 (build fails on Solaris2.8 due to Glob.pm not found within /usr/perl5) 2011-03-21 12:24:17 +00:00
aclocal.m4 re PR libstdc++/36104 (gnu-versioned-namespace is broken) 2011-01-20 23:41:24 +00:00
alloc.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
barrier.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
config.h.in acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style. 2010-07-05 17:19:33 +00:00
configure re PR bootstrap/48135 (build fails on Solaris2.8 due to Glob.pm not found within /usr/perl5) 2011-03-21 12:24:17 +00:00
configure.ac re PR target/40125 (libgcc_s DLL installed in wrong directory in cross toolchain) 2010-12-06 00:50:04 +00:00
configure.tgt * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS. 2011-01-16 19:38:04 +00:00
critical.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
env.c re PR libgomp/49490 (suboptimal load balancing in loops) 2011-06-22 22:39:25 +02:00
error.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
fortran.c re PR fortran/48894 (generic omp_get_ancestor_thread_num(l(i)) produces incorrect output) 2011-05-06 12:11:07 +02:00
iter.c re PR libgomp/49490 (suboptimal load balancing in loops) 2011-06-22 22:39:25 +02:00
iter_ull.c re PR libgomp/49490 (suboptimal load balancing in loops) 2011-06-22 22:39:25 +02:00
libgomp.h Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
libgomp.map acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style. 2010-07-05 17:19:33 +00:00
libgomp.spec.in [multiple changes] 2006-01-18 14:21:25 -05:00
libgomp.texi libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE. 2011-02-24 22:58:06 +01:00
libgomp_f.h.in Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
libgomp_g.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
loop.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
loop_ull.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
omp.h.in Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
omp_lib.f90.in Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
omp_lib.h.in re PR fortran/41102 (Ease error checking of included files located in the SYSTEM_INCLUDE_DIR/ending in .h) 2009-08-19 08:38:29 +02:00
ordered.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
parallel.c re PR libgomp/45240 (parallel.c: GOMP_parallel_end locks a mutex but fails to unlock it after atomic operation complete) 2010-12-02 15:30:37 +01:00
sections.c re PR libgomp/43569 (libgomp: Conditional jump or move depends on uninitialised value) 2010-04-20 17:36:45 +02:00
single.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
task.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
team.c re PR libgomp/40174 (Memory leak when using '#pragma omp parallel') 2009-05-20 22:54:45 +02:00
work.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00