From: Matthew Malcomson <[email protected]>

The email threads have gotten quite convoluted for the OpenMP work.

I'm resending outside of the existing email chain so that target
maintainers that have not been following the discussion can easily take
it down and run their tests on it.

For those target maintainers:
- Jakub has OK'd the first two of this series (the second with
  formatting and naming nits).  The testcases and the last functional
  change still under review.
- The second patch is the one that makes changes in the targets.  Those
  changes are limited to adding arguments to some hooks and introducing
  dummy implementations of new hooks.
  - This is the patch that I'm ensuring target maintainers are aware of
    and happy with.

Apologies to the global maintainers for whom this could be noise.  Feel
free to ignore this thread if that helps.

Matthew Malcomson (4):
  libgomp: Inline `gomp_barrier_is_incremented`
  libgomp: New barriers in new linux/futex_waitv target
  libgomp: Add focused barrier and team-lifecycle tests
  libgomp: Parallelise thread {re-,}initialisation

 libgomp/barrier.c                             |    4 +-
 libgomp/config/gcn/bar.c                      |   46 +-
 libgomp/config/gcn/bar.h                      |   71 +-
 libgomp/config/gcn/team.c                     |    3 +-
 libgomp/config/linux/bar.c                    |   50 +-
 libgomp/config/linux/bar.h                    |   72 +-
 libgomp/config/linux/futex_waitv/bar.c        | 1037 +++++++++++++++++
 libgomp/config/linux/futex_waitv/bar.h        |  496 ++++++++
 .../config/linux/futex_waitv/futex_waitv.h    |   67 ++
 libgomp/config/linux/futex_waitv/simple-bar.h |   66 ++
 libgomp/config/linux/wait.h                   |   11 +-
 libgomp/config/nvptx/bar.c                    |   36 +-
 libgomp/config/nvptx/bar.h                    |   68 +-
 libgomp/config/nvptx/team.c                   |    3 +-
 libgomp/config/posix/bar.c                    |   37 +-
 libgomp/config/posix/bar.h                    |   65 +-
 libgomp/config/posix/pool.h                   |    1 +
 libgomp/config/posix/simple-bar.h             |   12 +-
 libgomp/config/rtems/bar.h                    |   70 +-
 libgomp/configure                             |   82 +-
 libgomp/configure.ac                          |   39 +
 libgomp/configure.tgt                         |   32 +-
 libgomp/env.c                                 |   57 +
 libgomp/libgomp.h                             |   87 +-
 libgomp/libgomp.texi                          |  105 +-
 libgomp/single.c                              |    4 +-
 libgomp/task.c                                |   46 +-
 libgomp/team.c                                |  568 +++++++--
 libgomp/testsuite/lib/libgomp.exp             |    8 +-
 libgomp/testsuite/libgomp-site-extra.exp.in   |    1 +
 .../testsuite/libgomp.c++/task-reduction-20.C |  136 +++
 .../testsuite/libgomp.c++/task-reduction-21.C |  140 +++
 .../gomp-barrier-type-env-auto.c              |   11 +
 .../gomp-barrier-type-env-flat.c              |   11 +
 .../gomp-barrier-type-env-mixed-1.c           |   12 +
 .../gomp-barrier-type-env-mixed-2.c           |   12 +
 .../gomp-barrier-type-env-mixed-3.c           |   12 +
 .../gomp-barrier-type-env-mixed-4.c           |   12 +
 .../gomp-barrier-type-env-unset.c             |   10 +
 .../gomp-barrier-type-env.c                   |   11 +
 .../libgomp.c/artificial-team-pause.c         |   45 +
 .../libgomp.c/barrier-copyprivate-task.c      |  152 +++
 .../libgomp.c/barrier-nested-team-id.c        |   76 ++
 .../testsuite/libgomp.c/barrier-switch-1.c    |  135 +++
 .../libgomp.c/barrier-task-reduction.c        |   62 +
 .../testsuite/libgomp.c/barrier-tree-flush.c  |   58 +
 .../testsuite/libgomp.c/barrier-tree-task.c   |  133 +++
 .../libgomp.c/barrier-workshare-task.c        |  101 ++
 .../libgomp.c/barrier_generation_overflow.c   |   88 ++
 .../libgomp.c/cancel-late-arrival-1.c         |    8 +
 .../libgomp.c/cancel-late-arrival-2.c         |    8 +
 .../testsuite/libgomp.c/cancel-late-arrival.h |  126 ++
 .../libgomp.c/cancel-next-epoch-wrap.c        |   86 ++
 .../libgomp.c/cancel_in_implicit_barrier.c    |  115 ++
 ...n_implicit_barrier_while_primary_waiting.c |   70 ++
 .../libgomp.c/cancel_incr_wraparound.c        |   94 ++
 .../libgomp.c/futex_waitv_overflow.c          |   37 +
 .../libgomp.c/primary-thread-tasking.c        |   80 ++
 libgomp/testsuite/libgomp.c/team-held-pause.c |   43 +
 .../libgomp.c/team-held-pthread-exit.c        |   57 +
 libgomp/work.c                                |    9 +-
 61 files changed, 4822 insertions(+), 372 deletions(-)
 create mode 100644 libgomp/config/linux/futex_waitv/bar.c
 create mode 100644 libgomp/config/linux/futex_waitv/bar.h
 create mode 100644 libgomp/config/linux/futex_waitv/futex_waitv.h
 create mode 100644 libgomp/config/linux/futex_waitv/simple-bar.h
 create mode 100644 libgomp/testsuite/libgomp.c++/task-reduction-20.C
 create mode 100644 libgomp/testsuite/libgomp.c++/task-reduction-21.C
 create mode 100644 
libgomp/testsuite/libgomp.c-c++-common/gomp-barrier-type-env-auto.c
 create mode 100644 
libgomp/testsuite/libgomp.c-c++-common/gomp-barrier-type-env-flat.c
 create mode 100644 
libgomp/testsuite/libgomp.c-c++-common/gomp-barrier-type-env-mixed-1.c
 create mode 100644 
libgomp/testsuite/libgomp.c-c++-common/gomp-barrier-type-env-mixed-2.c
 create mode 100644 
libgomp/testsuite/libgomp.c-c++-common/gomp-barrier-type-env-mixed-3.c
 create mode 100644 
libgomp/testsuite/libgomp.c-c++-common/gomp-barrier-type-env-mixed-4.c
 create mode 100644 
libgomp/testsuite/libgomp.c-c++-common/gomp-barrier-type-env-unset.c
 create mode 100644 
libgomp/testsuite/libgomp.c-c++-common/gomp-barrier-type-env.c
 create mode 100644 libgomp/testsuite/libgomp.c/artificial-team-pause.c
 create mode 100644 libgomp/testsuite/libgomp.c/barrier-copyprivate-task.c
 create mode 100644 libgomp/testsuite/libgomp.c/barrier-nested-team-id.c
 create mode 100644 libgomp/testsuite/libgomp.c/barrier-switch-1.c
 create mode 100644 libgomp/testsuite/libgomp.c/barrier-task-reduction.c
 create mode 100644 libgomp/testsuite/libgomp.c/barrier-tree-flush.c
 create mode 100644 libgomp/testsuite/libgomp.c/barrier-tree-task.c
 create mode 100644 libgomp/testsuite/libgomp.c/barrier-workshare-task.c
 create mode 100644 libgomp/testsuite/libgomp.c/barrier_generation_overflow.c
 create mode 100644 libgomp/testsuite/libgomp.c/cancel-late-arrival-1.c
 create mode 100644 libgomp/testsuite/libgomp.c/cancel-late-arrival-2.c
 create mode 100644 libgomp/testsuite/libgomp.c/cancel-late-arrival.h
 create mode 100644 libgomp/testsuite/libgomp.c/cancel-next-epoch-wrap.c
 create mode 100644 libgomp/testsuite/libgomp.c/cancel_in_implicit_barrier.c
 create mode 100644 
libgomp/testsuite/libgomp.c/cancel_in_implicit_barrier_while_primary_waiting.c
 create mode 100644 libgomp/testsuite/libgomp.c/cancel_incr_wraparound.c
 create mode 100644 libgomp/testsuite/libgomp.c/futex_waitv_overflow.c
 create mode 100644 libgomp/testsuite/libgomp.c/primary-thread-tasking.c
 create mode 100644 libgomp/testsuite/libgomp.c/team-held-pause.c
 create mode 100644 libgomp/testsuite/libgomp.c/team-held-pthread-exit.c

-- 
2.43.0

Reply via email to