mbox series

[0/5,og13] OpenMP: Implement 'declare mapper' for 'target update' directives

Message ID cover.1691672603.git.julian@codesourcery.com
Headers show
Series OpenMP: Implement 'declare mapper' for 'target update' directives | expand

Message

Julian Brown Aug. 10, 2023, 1:33 p.m. UTC
This series (for the og13 branch) implements 'declare mapper' support for
'target update' directives, and improves diagnostic behaviour relating
to mapper expansion (mostly for Fortran) in several ways.

Tested with offloading to AMD GCN.  Further comments on individual
patches.  I will apply (to the og13 branch) shortly.

Julian Brown (5):
  OpenMP: Move Fortran 'declare mapper' instantiation code
  OpenMP: Reprocess expanded clauses after 'declare mapper'
    instantiation
  OpenMP: Introduce C_ORT_{,OMP_}DECLARE_MAPPER c_omp_region_type types
  OpenMP: Look up 'declare mapper' definitions at resolution time not
    parse time
  OpenMP: Enable 'declare mapper' mappers for 'target update' directives

 gcc/c-family/c-common.h                       |    4 +
 gcc/c-family/c-omp.cc                         |  117 +-
 gcc/c/c-parser.cc                             |  152 +-
 gcc/cp/parser.cc                              |  160 +-
 gcc/cp/pt.cc                                  |    4 +-
 gcc/fortran/gfortran.h                        |   20 +
 gcc/fortran/match.cc                          |    4 +-
 gcc/fortran/module.cc                         |    6 +
 gcc/fortran/openmp.cc                         | 1803 +++++++++++------
 gcc/fortran/trans-openmp.cc                   |  408 +---
 .../c-c++-common/gomp/declare-mapper-17.c     |   38 +
 .../c-c++-common/gomp/declare-mapper-19.c     |   40 +
 .../gfortran.dg/gomp/declare-mapper-24.f90    |   43 +
 .../gfortran.dg/gomp/declare-mapper-26.f90    |   28 +
 .../gfortran.dg/gomp/declare-mapper-27.f90    |   25 +
 .../gfortran.dg/gomp/declare-mapper-29.f90    |   22 +
 .../gfortran.dg/gomp/declare-mapper-31.f90    |   34 +
 .../libgomp.c-c++-common/declare-mapper-18.c  |   33 +
 .../libgomp.fortran/declare-mapper-25.f90     |   44 +
 .../libgomp.fortran/declare-mapper-28.f90     |   38 +
 .../libgomp.fortran/declare-mapper-30.f90     |   24 +
 .../libgomp.fortran/declare-mapper-4.f90      |   18 +-
 22 files changed, 2031 insertions(+), 1034 deletions(-)
 create mode 100644 gcc/testsuite/c-c++-common/gomp/declare-mapper-17.c
 create mode 100644 gcc/testsuite/c-c++-common/gomp/declare-mapper-19.c
 create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-24.f90
 create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-26.f90
 create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-27.f90
 create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-29.f90
 create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-31.f90
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/declare-mapper-18.c
 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-25.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-28.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-30.f90