This patch series is a rebase and partial rework of the v3 series I posted in December:
https://patchwork.sourceware.org/project/gcc/list/?series=28237&state=%2A&archive=both The first patch from that series was already approved and committed, but the rest of the patch series remains to-do. Besides rebase and retest, I've addressed the review comments regarding the enum assignments. OK for mainline? Andrew Andrew Stubbs (4): libgomp, openmp: Add ompx_pinned_mem_alloc openmp: Add -foffload-memory openmp: -foffload-memory=pinned libgomp: fine-grained pinned memory allocator Thomas Schwinge (1): libgomp, nvptx: Cuda pinned memory gcc/common.opt | 16 + gcc/coretypes.h | 7 + gcc/doc/invoke.texi | 16 +- gcc/omp-builtins.def | 3 + gcc/omp-low.cc | 66 ++++ libgomp/Makefile.am | 2 +- libgomp/Makefile.in | 7 +- libgomp/allocator.c | 115 +++++-- libgomp/config/linux/allocator.c | 206 +++++++++-- libgomp/libgomp-plugin.h | 2 + libgomp/libgomp.h | 14 + libgomp/libgomp.map | 1 + libgomp/libgomp.texi | 18 +- libgomp/libgomp_g.h | 1 + libgomp/omp.h.in | 1 + libgomp/omp_lib.f90.in | 2 + libgomp/plugin/plugin-nvptx.c | 42 +++ libgomp/target.c | 136 ++++++++ .../libgomp.c-c++-common/alloc-pinned-1.c | 28 ++ libgomp/testsuite/libgomp.c/alloc-pinned-1.c | 26 ++ libgomp/testsuite/libgomp.c/alloc-pinned-2.c | 26 ++ libgomp/testsuite/libgomp.c/alloc-pinned-3.c | 45 ++- libgomp/testsuite/libgomp.c/alloc-pinned-4.c | 44 ++- libgomp/testsuite/libgomp.c/alloc-pinned-5.c | 129 +++++++ libgomp/testsuite/libgomp.c/alloc-pinned-6.c | 128 +++++++ libgomp/testsuite/libgomp.c/alloc-pinned-7.c | 63 ++++ libgomp/testsuite/libgomp.c/alloc-pinned-8.c | 127 +++++++ .../libgomp.fortran/alloc-pinned-1.f90 | 16 + libgomp/usmpin-allocator.c | 319 ++++++++++++++++++ 29 files changed, 1520 insertions(+), 86 deletions(-) create mode 100644 libgomp/testsuite/libgomp.c-c++-common/alloc-pinned-1.c create mode 100644 libgomp/testsuite/libgomp.c/alloc-pinned-5.c create mode 100644 libgomp/testsuite/libgomp.c/alloc-pinned-6.c create mode 100644 libgomp/testsuite/libgomp.c/alloc-pinned-7.c create mode 100644 libgomp/testsuite/libgomp.c/alloc-pinned-8.c create mode 100644 libgomp/testsuite/libgomp.fortran/alloc-pinned-1.f90 create mode 100644 libgomp/usmpin-allocator.c -- 2.41.0