public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] [og10] OpenACC: Rework struct component handling
@ 2021-05-19 22:49 Julian Brown
  2021-05-19 22:49 ` [PATCH v2 1/4] [og10] Rewrite GOMP_MAP_ATTACH_DETACH mappings unconditionally Julian Brown
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Julian Brown @ 2021-05-19 22:49 UTC (permalink / raw)
  To: gcc-patches
  Cc: fortran, Chung-Lin Tang, Jakub Jelinek, Tobias Burnus, Thomas Schwinge

This is a new series of patches for the og10 branch to rework how indirect
struct components are handled for offloaded OpenACC code regions. Compared
to the version posted previously here:

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

...the patches have been rebased to the current og10 tip, and adjusted so
that the rework largely only affects OpenACC rather than both OpenACC and
OpenMP. Recent changes on the og10 branch (and apparent divergence between
the OpenACC and OpenMP APIs themselves) make it harder to unify code
paths for the two APIs, though further work could probably remove some
of the duplication that remains after these patches are committed.

Tested with offloading to nvptx. I will apply to the og10 branch shortly.

Julian

Julian Brown (4):
  [og10] Rewrite GOMP_MAP_ATTACH_DETACH mappings unconditionally
  [og10] Unify ARRAY_REF/INDIRECT_REF stripping code in
    extract_base_bit_offset
  [og10] Refactor struct lowering for OpenACC/OpenMP in gimplify.c
  [og10] Rework indirect struct handling for OpenACC in gimplify.c

 gcc/fortran/trans-openmp.c                    |   20 +-
 gcc/gimplify.c                                | 1151 +++++++++++------
 gcc/omp-low.c                                 |   16 +-
 gcc/testsuite/g++.dg/goacc/member-array-acc.C |   13 +
 gcc/testsuite/g++.dg/gomp/member-array-omp.C  |   13 +
 .../testsuite/libgomp.oacc-c++/deep-copy-17.C |  101 ++
 .../libgomp.oacc-c-c++-common/deep-copy-15.c  |   68 +
 .../libgomp.oacc-c-c++-common/deep-copy-16.c  |  231 ++++
 8 files changed, 1202 insertions(+), 411 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] 5+ messages in thread

end of thread, other threads:[~2021-05-19 22:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-19 22:49 [PATCH v2 0/4] [og10] OpenACC: Rework struct component handling Julian Brown
2021-05-19 22:49 ` [PATCH v2 1/4] [og10] Rewrite GOMP_MAP_ATTACH_DETACH mappings unconditionally Julian Brown
2021-05-19 22:49 ` [PATCH v2 2/4] [og10] Unify ARRAY_REF/INDIRECT_REF stripping code in extract_base_bit_offset Julian Brown
2021-05-19 22:49 ` [PATCH v2 3/4] [og10] Refactor struct lowering for OpenACC/OpenMP in gimplify.c Julian Brown
2021-05-19 22:49 ` [PATCH v2 4/4] [og10] Rework indirect struct handling for OpenACC " 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).