public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/3] OpenMP 5.0: Strided updates and array shape-operator support (C++)
@ 2023-03-10 23:53 Julian Brown
  2023-03-10 23:53 ` [PATCH 1/3] OpenMP: Fix "exit data" for array sections for ref-to-ptr components Julian Brown
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Julian Brown @ 2023-03-10 23:53 UTC (permalink / raw)
  To: gcc-patches; +Cc: jakub, tobias

This series implements support for the "array shape-operator" (OpenMP
5.0, 2.1.4) and strided accesses for update operations. It follows on
from the in-review series:

  https://gcc.gnu.org/pipermail/gcc-patches/2022-December/609031.html

and makes use of some of the infrastructure introduced in those patches.

Further comments on individual patches. Tested with offloading to NVPTX.

OK (for stage 1)?

Thanks,

Julian

Julian Brown (3):
  OpenMP: Fix "exit data" for array sections for ref-to-ptr components
  OpenMP: Allow complete replacement of clause during map/to/from
    expansion
  OpenMP: Support strided and shaped-array updates for C++

 gcc/c-family/c-common.h                       |  12 +-
 gcc/c-family/c-omp.cc                         | 277 ++++++++---
 gcc/c-family/c-pretty-print.cc                |   5 +
 gcc/c/c-parser.cc                             |  32 +-
 gcc/c/c-tree.h                                |   2 +-
 gcc/c/c-typeck.cc                             |  58 ++-
 gcc/cp/cp-objcp-common.cc                     |   1 +
 gcc/cp/cp-tree.def                            |   1 +
 gcc/cp/cp-tree.h                              |  13 +-
 gcc/cp/decl.cc                                |  75 +++
 gcc/cp/decl2.cc                               |  19 +-
 gcc/cp/error.cc                               |   5 +
 gcc/cp/mangle.cc                              |   1 +
 gcc/cp/operators.def                          |   1 +
 gcc/cp/parser.cc                              | 303 ++++++++++-
 gcc/cp/parser.h                               |   7 +
 gcc/cp/pt.cc                                  |  39 +-
 gcc/cp/semantics.cc                           | 288 +++++++++--
 gcc/cp/typeck.cc                              |  12 +-
 gcc/gimplify.cc                               |  74 ++-
 gcc/omp-general.cc                            |  47 ++
 gcc/omp-general.h                             |   4 +-
 gcc/omp-low.cc                                | 403 ++++++++++++++-
 gcc/testsuite/g++.dg/gomp/array-shaping-1.C   |  22 +
 gcc/testsuite/g++.dg/gomp/array-shaping-2.C   | 134 +++++
 .../g++.dg/gomp/bad-array-shaping-1.C         |  47 ++
 .../g++.dg/gomp/bad-array-shaping-2.C         |  52 ++
 .../g++.dg/gomp/bad-array-shaping-3.C         |  53 ++
 .../g++.dg/gomp/bad-array-shaping-4.C         |  60 +++
 .../g++.dg/gomp/bad-array-shaping-5.C         |  55 ++
 .../g++.dg/gomp/bad-array-shaping-6.C         |  59 +++
 .../g++.dg/gomp/bad-array-shaping-7.C         |  48 ++
 .../g++.dg/gomp/bad-array-shaping-8.C         |  50 ++
 gcc/tree-pretty-print.cc                      |  17 +
 gcc/tree.def                                  |   2 +-
 include/gomp-constants.h                      |   7 +-
 libgomp/libgomp.h                             |  14 +
 libgomp/target.c                              | 216 +++++---
 .../testsuite/libgomp.c++/array-shaping-1.C   | 469 ++++++++++++++++++
 .../testsuite/libgomp.c++/array-shaping-10.C  |  61 +++
 .../testsuite/libgomp.c++/array-shaping-11.C  |  63 +++
 .../testsuite/libgomp.c++/array-shaping-12.C  |  65 +++
 .../testsuite/libgomp.c++/array-shaping-13.C  |  89 ++++
 .../testsuite/libgomp.c++/array-shaping-2.C   |  38 ++
 .../testsuite/libgomp.c++/array-shaping-3.C   |  38 ++
 .../testsuite/libgomp.c++/array-shaping-4.C   |  38 ++
 .../testsuite/libgomp.c++/array-shaping-5.C   |  38 ++
 .../testsuite/libgomp.c++/array-shaping-6.C   |  54 ++
 .../testsuite/libgomp.c++/array-shaping-7.C   |  54 ++
 .../testsuite/libgomp.c++/array-shaping-8.C   |  65 +++
 .../testsuite/libgomp.c++/array-shaping-9.C   |  95 ++++
 51 files changed, 3421 insertions(+), 261 deletions(-)
 create mode 100644 gcc/testsuite/g++.dg/gomp/array-shaping-1.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/array-shaping-2.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/bad-array-shaping-1.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/bad-array-shaping-2.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/bad-array-shaping-3.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/bad-array-shaping-4.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/bad-array-shaping-5.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/bad-array-shaping-6.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/bad-array-shaping-7.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/bad-array-shaping-8.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-1.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-10.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-11.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-12.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-13.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-2.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-3.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-4.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-5.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-6.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-7.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-8.C
 create mode 100644 libgomp/testsuite/libgomp.c++/array-shaping-9.C

-- 
2.29.2


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

end of thread, other threads:[~2023-03-10 23:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-10 23:53 [PATCH 0/3] OpenMP 5.0: Strided updates and array shape-operator support (C++) Julian Brown
2023-03-10 23:53 ` [PATCH 1/3] OpenMP: Fix "exit data" for array sections for ref-to-ptr components Julian Brown
2023-03-10 23:53 ` [PATCH 2/3] OpenMP: Allow complete replacement of clause during map/to/from expansion Julian Brown
2023-03-10 23:53 ` [PATCH 3/3] OpenMP: Support strided and shaped-array updates for C++ 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).