https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90115

--- Comment #18 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Thomas Schwinge <tschwi...@gcc.gnu.org>:

https://gcc.gnu.org/g:11e811d8e2f63667f60f73731bb934273f5882b8

commit r13-3541-g11e811d8e2f63667f60f73731bb934273f5882b8
Author: Julian Brown <jul...@codesourcery.com>
Date:   Wed Oct 12 20:44:57 2022 +0000

    OpenACC: Don't gang-privatize artificial variables [PR90115]

    This patch prevents compiler-generated artificial variables from being
    treated as privatization candidates for OpenACC.

    The rationale is that e.g. "gang-private" variables actually must be
    shared by each worker and vector spawned within a particular gang, but
    that sharing is not necessary for any compiler-generated variable (at
    least at present, but no such need is anticipated either).  Variables on
    the stack (and machine registers) are already private per-"thread"
    (gang, worker and/or vector), and that's fine for artificial variables.

    We're restricting this to blocks, as we still need to understand what it
    means for a 'DECL_ARTIFICIAL' to appear in a 'private' clause.

    Several tests need their scan output patterns adjusted to compensate.

    2022-10-14  Julian Brown  <jul...@codesourcery.com>

            PR middle-end/90115
    gcc/
            * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are
not
            privatization candidates.

    libgomp/
            * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
            * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
            * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
            * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
            * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.

    Co-authored-by: Thomas Schwinge <tho...@codesourcery.com>
  • [Bug middle-end/90115] OpenACC:... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to