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