mbox series

[0/7,og10] openacc: Arrays/derived types/character type backports

Message ID 20210224215726.129681-1-julian@codesourcery.com
Headers show
Series openacc: Arrays/derived types/character type backports | expand

Message

Julian Brown Feb. 24, 2021, 9:57 p.m. UTC
This series contains several backports from mainline to the og10 branch
concerning character and complex types and mixed derived types and array
accesses in OpenACC directive clauses.

Tested with offloading to AMD GCN. I will apply shortly.

Julian Brown (5):
  [og10] openacc: Dereference BT_CLASS data pointers but not BT_DERIVED
    pointers
  [og10] openacc: Use class_pointer instead of pointer attribute for
    class types
  [og10] openacc: Character types and mixed arrays/derived type tests
  [og10] openacc: Fix lowering for derived-type mappings through array
    elements
  [og10] openacc: Strided array sections and components of derived-type
    arrays

Tobias Burnus (2):
  [og10] Fortran: OpenMP/OpenACC diagnose substring rejections better
  [og10] Fortran: %re/%im fixes for OpenMP/OpenACC +
    gfc_is_simplify_contiguous

 gcc/ChangeLog.omp                             |   7 +
 gcc/fortran/ChangeLog.omp                     |  43 ++++
 gcc/fortran/expr.c                            |   2 +
 gcc/fortran/openmp.c                          |  66 ++++--
 gcc/fortran/trans-openmp.c                    | 196 ++++++++++--------
 gcc/gimplify.c                                |  12 ++
 gcc/testsuite/ChangeLog.omp                   |  53 +++++
 .../gfortran.dg/goacc/array-with-dt-1.f90     |  11 +
 .../gfortran.dg/goacc/array-with-dt-2.f90     |  10 +
 .../gfortran.dg/goacc/array-with-dt-3.f90     |  14 ++
 .../gfortran.dg/goacc/array-with-dt-4.f90     |  18 ++
 .../gfortran.dg/goacc/array-with-dt-5.f90     |  12 ++
 .../gfortran.dg/goacc/array-with-dt-6.f90     |  10 +
 .../gfortran.dg/goacc/derived-chartypes-1.f90 | 129 ++++++++++++
 .../gfortran.dg/goacc/derived-chartypes-2.f90 | 129 ++++++++++++
 .../gfortran.dg/goacc/derived-chartypes-3.f90 |  38 ++++
 .../gfortran.dg/goacc/derived-chartypes-4.f90 |  38 ++++
 .../goacc/derived-classtypes-1.f95            | 129 ++++++++++++
 .../gfortran.dg/goacc/mapping-tests-2.f90     |   4 +-
 .../gfortran.dg/goacc/ref_inquiry.f90         |  48 +++++
 gcc/testsuite/gfortran.dg/goacc/substring.f90 |  27 +++
 .../gfortran.dg/gomp/ref_inquiry.f90          |  35 ++++
 gcc/testsuite/gfortran.dg/gomp/substring.f90  |  22 ++
 libgomp/ChangeLog.omp                         |  20 ++
 .../array-stride-dt-1.f90                     |  44 ++++
 .../derivedtypes-arrays-1.f90                 | 109 ++++++++++
 .../libgomp.oacc-fortran/update-dt-array.f90  |  53 +++++
 27 files changed, 1176 insertions(+), 103 deletions(-)
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/array-with-dt-1.f90
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/array-with-dt-2.f90
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/array-with-dt-3.f90
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/array-with-dt-4.f90
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/array-with-dt-5.f90
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/array-with-dt-6.f90
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/derived-chartypes-1.f90
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/derived-chartypes-2.f90
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/derived-chartypes-3.f90
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/derived-chartypes-4.f90
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/derived-classtypes-1.f95
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/ref_inquiry.f90
 create mode 100644 gcc/testsuite/gfortran.dg/goacc/substring.f90
 create mode 100644 gcc/testsuite/gfortran.dg/gomp/ref_inquiry.f90
 create mode 100644 gcc/testsuite/gfortran.dg/gomp/substring.f90
 create mode 100644 libgomp/testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90
 create mode 100644 libgomp/testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90
 create mode 100644 libgomp/testsuite/libgomp.oacc-fortran/update-dt-array.f90

Comments

Tobias Burnus Feb. 25, 2021, 3:30 p.m. UTC | #1
On 24.02.21 22:57, Julian Brown wrote:

> This series contains several backports from mainline to the og10 branch

I have now also backported mainline commit
https://gcc.gnu.org/g:65167982efa4dbb96698d026e6d7e17acb513f0a
Fortran: add contiguous check for ptr assignment, fix non-contig check
(PR97242)

which relates to the contiguous check - which did not handle
derived-type components, popping up with some derived-type access in
clauses.

Tobias

-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstrasse 201, 80634 München Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Frank Thürauf