This is an archive of the discontinued LLVM Phabricator instance.

Fixes and improvements to tasking in barriers
ClosedPublic

Authored by jlpeyton on Nov 6 2015, 11:17 AM.

Details

Summary
  1. When the number of threads in a team increases, new threads need to have all their barrier struct fields initialized. We were missing the parent_bar and team fields.
  2. For non-forkjoin barriers, we now do the __kmp_task_team_setup before the gather. The setup now sets up the task_team that all the threads will switch to after the barrier, but it needs to be done before other threads do the switch.
  3. Remove an unneeded assignment of tt_found_tasks in task team free function.

Diff Detail

Repository
rL LLVM

Event Timeline

jlpeyton updated this revision to Diff 39568.Nov 6 2015, 11:17 AM
jlpeyton retitled this revision from to Fixes and improvements to tasking in barriers.
jlpeyton updated this object.
jlpeyton set the repository for this revision to rL LLVM.
jlpeyton added a subscriber: openmp-commits.
tlwilmar accepted this revision.Nov 6 2015, 12:26 PM
tlwilmar edited edge metadata.

LGTM

This revision is now accepted and ready to land.Nov 6 2015, 12:26 PM
This revision was automatically updated to reflect the committed changes.