This series contains a rebased/updated/bug-fixed version of the patch to place gang-local variables in GPU shared memory, last posted here:
https://gcc.gnu.org/pipermail/gcc-patches/2019-November/534551.html Further commentary on individual patches. I am posting this for review now, but I would not expect to commit it until stage 1. Thanks, Julian Julian Brown (3): openacc: Add support for gang local storage allocation in shared memory amdgcn: AMD GCN parts for OpenACC private variables patch nvptx: NVPTX parts for OpenACC private variables patch gcc/config/gcn/gcn-protos.h | 2 +- gcc/config/gcn/gcn-tree.c | 9 +- gcc/config/gcn/gcn.c | 4 +- gcc/config/nvptx/nvptx.c | 78 ++++++ gcc/doc/tm.texi | 26 ++ gcc/doc/tm.texi.in | 4 + gcc/expr.c | 13 +- gcc/internal-fn.c | 2 + gcc/internal-fn.h | 3 +- gcc/omp-low.c | 122 +++++++++- gcc/omp-offload.c | 225 +++++++++++++++++- gcc/target.def | 30 +++ .../gang-private-1.c | 38 +++ .../libgomp.oacc-c-c++-common/loop-gwv-2.c | 95 ++++++++ .../gangprivate-attrib-1.f90 | 25 ++ .../gangprivate-attrib-2.f90 | 25 ++ 16 files changed, 687 insertions(+), 14 deletions(-) create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/gang-private-1.c create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c create mode 100644 libgomp/testsuite/libgomp.oacc-fortran/gangprivate-attrib-1.f90 create mode 100644 libgomp/testsuite/libgomp.oacc-fortran/gangprivate-attrib-2.f90 -- 2.29.2