diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-16 15:35:26 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-16 15:35:26 +0000 |
commit | a746af82db7c8da8aee3f13c6c1668db857f913c (patch) | |
tree | 0c0cc5fdd1c2567c317c9bba3233e37ed0b1f8d2 /libgomp | |
parent | 10c896daa3e6c7d706627fbcaf84d9dced1d146f (diff) | |
download | gcc-a746af82db7c8da8aee3f13c6c1668db857f913c.tar.gz |
* team.c (gomp_team_end): Free team immediately if it has
just one thread.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137886 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgomp')
-rw-r--r-- | libgomp/ChangeLog | 5 | ||||
-rw-r--r-- | libgomp/team.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 671b48bde76..ded506b0636 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,8 @@ +2008-07-16 Jakub Jelinek <jakub@redhat.com> + + * team.c (gomp_team_end): Free team immediately if it has + just one thread. + 2008-07-08 David Edelsohn <edelsohn@gnu.org> * testsuite/libgomp.c++/c++.exp: Append multilib library path. diff --git a/libgomp/team.c b/libgomp/team.c index 18b02e72f90..224236c6604 100644 --- a/libgomp/team.c +++ b/libgomp/team.c @@ -498,7 +498,8 @@ gomp_team_end (void) gomp_mutex_destroy (&team->work_share_list_free_lock); #endif - if (__builtin_expect (thr->ts.team != NULL, 0)) + if (__builtin_expect (thr->ts.team != NULL, 0) + || __builtin_expect (team->nthreads == 1, 0)) free_team (team); else { |