gcc/libgomp/config
Andrew Stubbs 6f51395197 libgomp: disable barriers in nested teams
Both GCN and NVPTX allow nested parallel regions, but the barrier
implementation did not allow the nested teams to run independently of each
other (due to hardware limitations).  This patch fixes that, under the
assumption that each thread will create a new subteam of one thread, by
simply not using barriers when there's no other thread to synchronise.

libgomp/ChangeLog:

	* config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
	total number of threads is one.
	(gomp_team_barrier_wake): Likewise.
	(gomp_team_barrier_wait_end): Likewise.
	(gomp_team_barrier_wait_cancel_end): Likewise.
	* config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
	(gomp_team_barrier_wake): Likewise.
	(gomp_team_barrier_wait_end): Likewise.
	(gomp_team_barrier_wait_cancel_end): Likewise.
	* testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
2020-09-29 11:48:04 +01:00
..
accel [OpenACC] Set 'acc_device_current = -1' 2020-04-29 09:54:37 +02:00
bsd Update copyright years. 2020-01-01 12:51:42 +01:00
darwin Update copyright years. 2020-01-01 12:51:42 +01:00
gcn libgomp: disable barriers in nested teams 2020-09-29 11:48:04 +01:00
hpux Update copyright years. 2020-01-01 12:51:42 +01:00
linux Update copyright years. 2020-01-01 12:51:42 +01:00
mingw32 Update copyright years. 2020-01-01 12:51:42 +01:00
nvptx libgomp: disable barriers in nested teams 2020-09-29 11:48:04 +01:00
posix Update copyright years. 2020-01-01 12:51:42 +01:00
rtems Update copyright years. 2020-01-01 12:51:42 +01:00
t-aix aix: Use $(AR) without -X32_64 to build FAT libraries. 2020-09-27 12:43:29 -04:00