Hi! On 2021-02-26T04:34:52-0800, Julian Brown <jul...@codesourcery.com> wrote: > This patch contains the NVPTX backend support for placing OpenACC > gang-private variables in GPU shared memory. > > Tested with offloading to NVPTX. > > This is substantially the same as the version previously posted: I will > assume it is already approved (unless I hear objections), and will commit > it at the same time as the rest of the series. > > (https://gcc.gnu.org/pipermail/gcc-patches/2018-October/507909.html)
I've additionally pushed "[OpenACC privatization, nvptx] Tighten some aspects [PR90115]" to master branch in commit f6f45309d9fc140006886456b291e4ac24812cea, see attached. Grüße Thomas ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstrasse 201, 80634 München Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Frank Thürauf
>From f6f45309d9fc140006886456b291e4ac24812cea Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tho...@codesourcery.com> Date: Thu, 20 May 2021 15:08:38 +0200 Subject: [PATCH] [OpenACC privatization, nvptx] Tighten some aspects [PR90115] No functional change. gcc/ PR middle-end/90115 * config/nvptx/nvptx.c (nvptx_goacc_adjust_private_decl) (nvptx_goacc_expand_var_decl): Tighten. --- gcc/config/nvptx/nvptx.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gcc/config/nvptx/nvptx.c b/gcc/config/nvptx/nvptx.c index 80116e570d6..60d3f079048 100644 --- a/gcc/config/nvptx/nvptx.c +++ b/gcc/config/nvptx/nvptx.c @@ -6682,12 +6682,12 @@ nvptx_truly_noop_truncation (poly_uint64, poly_uint64) static tree nvptx_goacc_adjust_private_decl (tree decl, int level) { - if (level != GOMP_DIM_GANG) - return decl; + gcc_checking_assert (!lookup_attribute ("oacc gang-private", + DECL_ATTRIBUTES (decl))); /* Set "oacc gang-private" attribute for gang-private variable declarations. */ - if (!lookup_attribute ("oacc gang-private", DECL_ATTRIBUTES (decl))) + if (level == GOMP_DIM_GANG) { if (dump_file && (dump_flags & TDF_DETAILS)) { @@ -6708,9 +6708,10 @@ static rtx nvptx_goacc_expand_var_decl (tree var) { /* Place "oacc gang-private" variables in shared memory. */ - if (VAR_P (var) - && lookup_attribute ("oacc gang-private", DECL_ATTRIBUTES (var))) + if (lookup_attribute ("oacc gang-private", DECL_ATTRIBUTES (var))) { + gcc_checking_assert (VAR_P (var)); + unsigned int offset, *poffset; poffset = gang_private_shared_hmap.get (var); if (poffset) -- 2.30.2