public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [OG13 0/6] OpenMP:  Support for imperfectly-nested loops
@ 2023-06-14 22:07 Sandra Loosemore
  2023-06-14 22:07 ` [OG13 1/6] OpenMP: Handle loop transformation clauses in nested functions Sandra Loosemore
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Sandra Loosemore @ 2023-06-14 22:07 UTC (permalink / raw)
  To: gcc-patches

I have pushed this set of patches to the OG13 development branch.  The
major functional change compared to the mainline version I previously
posted on April 28 is that this version is integrated with Frederik's
loop transformation patches that were previously committed to this
branch.  I've also incorporated several cleanups suggested in review
of the mainline version, along with a few bug fixes.

Sandra Loosemore (6):
  OpenMP: Handle loop transformation clauses in nested functions
  OpenMP: C support for imperfectly-nested loops
  OpenMP: C++ support for imperfectly-nested loops
  OpenMP: New c/c++ testcases for imperfectly-nested loops
  OpenMP: Refactor and tidy Fortran front-end code for loop
    transformations
  OpenMP: Fortran support for imperfectly nested loops

 gcc/ChangeLog.omp                             |   16 +
 gcc/c/ChangeLog.omp                           |   19 +
 gcc/c/c-parser.cc                             |  833 +++++++----
 gcc/cp/ChangeLog.omp                          |   38 +
 gcc/cp/cp-tree.h                              |    2 +-
 gcc/cp/parser.cc                              | 1331 +++++++++++------
 gcc/cp/parser.h                               |    3 +
 gcc/cp/pt.cc                                  |    3 +-
 gcc/cp/semantics.cc                           |   80 +-
 gcc/fortran/ChangeLog.omp                     |   33 +
 gcc/fortran/openmp.cc                         | 1063 +++++++++----
 gcc/omp-api.h                                 |   32 +
 gcc/omp-general.cc                            |  134 ++
 gcc/omp-general.h                             |    1 +
 gcc/omp-low.cc                                |  129 --
 gcc/testsuite/ChangeLog.omp                   |   54 +
 gcc/testsuite/c-c++-common/goacc/collapse-1.c |   16 +-
 gcc/testsuite/c-c++-common/goacc/tile-2.c     |    4 +-
 gcc/testsuite/c-c++-common/gomp/imperfect1.c  |   38 +
 gcc/testsuite/c-c++-common/gomp/imperfect2.c  |   34 +
 gcc/testsuite/c-c++-common/gomp/imperfect3.c  |   33 +
 gcc/testsuite/c-c++-common/gomp/imperfect4.c  |   33 +
 gcc/testsuite/c-c++-common/gomp/imperfect5.c  |   57 +
 .../loop-transforms/imperfect-loop-nest.c     |    5 +-
 .../gomp/loop-transforms/tile-1.c             |   16 +-
 .../gomp/loop-transforms/tile-2.c             |   16 +-
 .../gomp/loop-transforms/tile-3.c             |   26 +-
 .../gomp/loop-transforms/unroll-inner-2.c     |    6 +-
 .../c-c++-common/gomp/metadirective-1.c       |    2 +-
 gcc/testsuite/g++.dg/gomp/attrs-4.C           |    2 +-
 gcc/testsuite/g++.dg/gomp/for-1.C             |    2 +-
 gcc/testsuite/g++.dg/gomp/pr41967.C           |    2 +-
 gcc/testsuite/g++.dg/gomp/pr94512.C           |    2 +-
 gcc/testsuite/gcc.dg/gomp/collapse-1.c        |   10 +-
 gcc/testsuite/gcc.dg/gomp/for-1.c             |    2 +-
 gcc/testsuite/gcc.dg/gomp/for-11.c            |    2 +-
 gcc/testsuite/gfortran.dg/gomp/collapse1.f90  |    4 +-
 gcc/testsuite/gfortran.dg/gomp/collapse2.f90  |   10 +-
 gcc/testsuite/gfortran.dg/gomp/imperfect1.f90 |   39 +
 gcc/testsuite/gfortran.dg/gomp/imperfect2.f90 |   56 +
 gcc/testsuite/gfortran.dg/gomp/imperfect3.f90 |   29 +
 gcc/testsuite/gfortran.dg/gomp/imperfect4.f90 |   36 +
 gcc/testsuite/gfortran.dg/gomp/imperfect5.f90 |   67 +
 .../gomp/loop-transforms/tile-1.f90           |   12 +-
 .../gomp/loop-transforms/tile-2.f90           |    2 +-
 .../loop-transforms/tile-imperfect-nest.f90   |   16 +-
 gcc/tree-nested.cc                            |   14 +
 libgomp/ChangeLog.omp                         |   48 +
 .../testsuite/libgomp.c++/imperfect-class-1.C |  169 +++
 .../testsuite/libgomp.c++/imperfect-class-2.C |  167 +++
 .../testsuite/libgomp.c++/imperfect-class-3.C |  167 +++
 .../libgomp.c++/imperfect-destructor.C        |  135 ++
 .../libgomp.c++/imperfect-template-1.C        |  172 +++
 .../libgomp.c++/imperfect-template-2.C        |  170 +++
 .../libgomp.c++/imperfect-template-3.C        |  170 +++
 .../imperfect-transform-1.c                   |   79 +
 .../imperfect-transform-2.c                   |   79 +
 .../libgomp.c-c++-common/imperfect1.c         |   76 +
 .../libgomp.c-c++-common/imperfect2.c         |  114 ++
 .../libgomp.c-c++-common/imperfect3.c         |  119 ++
 .../libgomp.c-c++-common/imperfect4.c         |  117 ++
 .../libgomp.c-c++-common/imperfect5.c         |   49 +
 .../libgomp.c-c++-common/imperfect6.c         |  115 ++
 .../target-imperfect-transform-1.c            |   82 +
 .../target-imperfect-transform-2.c            |   82 +
 .../libgomp.c-c++-common/target-imperfect1.c  |   81 +
 .../libgomp.c-c++-common/target-imperfect2.c  |  122 ++
 .../libgomp.c-c++-common/target-imperfect3.c  |  125 ++
 .../libgomp.c-c++-common/target-imperfect4.c  |  122 ++
 .../libgomp.fortran/imperfect-destructor.f90  |  142 ++
 .../libgomp.fortran/imperfect-transform-1.f90 |   70 +
 .../libgomp.fortran/imperfect-transform-2.f90 |   70 +
 .../testsuite/libgomp.fortran/imperfect1.f90  |   67 +
 .../testsuite/libgomp.fortran/imperfect2.f90  |  102 ++
 .../testsuite/libgomp.fortran/imperfect3.f90  |  110 ++
 .../testsuite/libgomp.fortran/imperfect4.f90  |  121 ++
 .../loop-transforms/nested-fn.f90             |   19 +
 .../target-imperfect-transform-1.f90          |   73 +
 .../target-imperfect-transform-2.f90          |   73 +
 .../libgomp.fortran/target-imperfect1.f90     |   72 +
 .../libgomp.fortran/target-imperfect2.f90     |  110 ++
 .../libgomp.fortran/target-imperfect3.f90     |  116 ++
 .../libgomp.fortran/target-imperfect4.f90     |  126 ++
 83 files changed, 6921 insertions(+), 1274 deletions(-)
 create mode 100644 gcc/omp-api.h
 create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect1.c
 create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect2.c
 create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect3.c
 create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect4.c
 create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect5.c
 create mode 100644 gcc/testsuite/gfortran.dg/gomp/imperfect1.f90
 create mode 100644 gcc/testsuite/gfortran.dg/gomp/imperfect2.f90
 create mode 100644 gcc/testsuite/gfortran.dg/gomp/imperfect3.f90
 create mode 100644 gcc/testsuite/gfortran.dg/gomp/imperfect4.f90
 create mode 100644 gcc/testsuite/gfortran.dg/gomp/imperfect5.f90
 create mode 100644 libgomp/testsuite/libgomp.c++/imperfect-class-1.C
 create mode 100644 libgomp/testsuite/libgomp.c++/imperfect-class-2.C
 create mode 100644 libgomp/testsuite/libgomp.c++/imperfect-class-3.C
 create mode 100644 libgomp/testsuite/libgomp.c++/imperfect-destructor.C
 create mode 100644 libgomp/testsuite/libgomp.c++/imperfect-template-1.C
 create mode 100644 libgomp/testsuite/libgomp.c++/imperfect-template-2.C
 create mode 100644 libgomp/testsuite/libgomp.c++/imperfect-template-3.C
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect-transform-1.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect-transform-2.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect1.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect2.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect3.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect4.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect5.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect6.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/target-imperfect-transform-1.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/target-imperfect-transform-2.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/target-imperfect1.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/target-imperfect2.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/target-imperfect3.c
 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/target-imperfect4.c
 create mode 100644 libgomp/testsuite/libgomp.fortran/imperfect-destructor.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/imperfect-transform-1.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/imperfect-transform-2.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/imperfect1.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/imperfect2.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/imperfect3.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/imperfect4.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/loop-transforms/nested-fn.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/target-imperfect-transform-1.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/target-imperfect-transform-2.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/target-imperfect1.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/target-imperfect2.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/target-imperfect3.f90
 create mode 100644 libgomp/testsuite/libgomp.fortran/target-imperfect4.f90

-- 
2.31.1


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

end of thread, other threads:[~2023-06-14 22:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-14 22:07 [OG13 0/6] OpenMP: Support for imperfectly-nested loops Sandra Loosemore
2023-06-14 22:07 ` [OG13 1/6] OpenMP: Handle loop transformation clauses in nested functions Sandra Loosemore
2023-06-14 22:08 ` [OG13 2/6] OpenMP: C support for imperfectly-nested loops Sandra Loosemore
2023-06-14 22:08 ` [OG13 3/6] OpenMP: C++ " Sandra Loosemore
2023-06-14 22:08 ` [OG13 4/6] OpenMP: New c/c++ testcases " Sandra Loosemore
2023-06-14 22:08 ` [OG13 5/6] OpenMP: Refactor and tidy Fortran front-end code for loop transformations Sandra Loosemore
2023-06-14 22:08 ` [OG13 6/6] OpenMP: Fortran support for imperfectly nested loops Sandra Loosemore

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).