public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/5] OpenACC/OpenMP: Rework struct component handling
@ 2021-05-14 21:26 Julian Brown
  2021-05-14 21:26 ` [PATCH 1/5] Unify ARRAY_REF/INDIRECT_REF stripping code in extract_base_bit_offset Julian Brown
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Julian Brown @ 2021-05-14 21:26 UTC (permalink / raw)
  To: gcc-patches
  Cc: fortran, Jakub Jelinek, Tobias Burnus, Thomas Schwinge, Chung-Lin Tang

Hi,

This patch series reworks how indirect struct (or class or derived-type)
component mappings are lowered for OpenMP and OpenACC.  I previously
posted this against the og10 branch:

  https://gcc.gnu.org/pipermail/gcc-patches/2021-May/570058.html

This version of the series, rebased to trunk, incorporates parts of some
of Chung-Lin's patches from the og10 branch.  The new "member-array-acc.C"
and "member-array-omp.C" tests also depend on a couple of his other
patches from the og10 branch that have not landed upstream yet:

  "Target mapping C++ members inside member functions"
  "Fix regression of array members in OpenMP map clauses."

The tests in question have been XFAILed for now.

Tested with offloading to NVPTX (as a series). Further comments on
individual patches.

Thanks,

Julian

Julian Brown (5):
  Unify ARRAY_REF/INDIRECT_REF stripping code in extract_base_bit_offset
  Refactor struct lowering for OpenMP/OpenACC in gimplify.c
  Rewrite GOMP_MAP_ATTACH_DETACH mappings for OpenMP also
  Rework indirect struct handling for OpenACC/OpenMP in gimplify.c
  Mapping of components of references to pointers to structs for
    OpenMP/OpenACC

 gcc/cp/semantics.c                            |    7 +-
 gcc/fortran/trans-openmp.c                    |   20 +-
 gcc/gimplify.c                                | 1042 +++++++++++------
 gcc/omp-low.c                                 |   16 +-
 gcc/testsuite/g++.dg/goacc/member-array-acc.C |   14 +
 gcc/testsuite/g++.dg/gomp/member-array-omp.C  |   14 +
 .../testsuite/libgomp.oacc-c++/deep-copy-17.C |  101 ++
 .../libgomp.oacc-c-c++-common/deep-copy-15.c  |   71 ++
 .../libgomp.oacc-c-c++-common/deep-copy-16.c  |  231 ++++
 9 files changed, 1111 insertions(+), 405 deletions(-)
 create mode 100644 gcc/testsuite/g++.dg/goacc/member-array-acc.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/member-array-omp.C
 create mode 100644 libgomp/testsuite/libgomp.oacc-c++/deep-copy-17.C
 create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c
 create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c

-- 
2.29.2


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-05-17 14:12 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-14 21:26 [PATCH 0/5] OpenACC/OpenMP: Rework struct component handling Julian Brown
2021-05-14 21:26 ` [PATCH 1/5] Unify ARRAY_REF/INDIRECT_REF stripping code in extract_base_bit_offset Julian Brown
2021-05-14 21:26 ` [PATCH 2/5] Refactor struct lowering for OpenMP/OpenACC in gimplify.c Julian Brown
2021-05-14 21:26 ` [PATCH 3/5] Rewrite GOMP_MAP_ATTACH_DETACH mappings for OpenMP also Julian Brown
2021-05-14 21:26 ` [PATCH 4/5] Rework indirect struct handling for OpenACC/OpenMP in gimplify.c Julian Brown
2021-05-17 12:12   ` Bernd Edlinger
2021-05-17 14:10     ` Julian Brown
2021-05-14 21:27 ` [PATCH 5/5] Mapping of components of references to pointers to structs for OpenMP/OpenACC Julian Brown
2021-05-17 13:07   ` Chung-Lin Tang
2021-05-17 14:12     ` Julian Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).