[OG13,1/6] OpenMP: Handle loop transformation clauses in nested functions
Commit Message
The new internal clauses introduced for loop transformations were missing
from the big switch statements over all clauses in these functions.
gcc/ChangeLog:
* tree-nested.cc (convert_nonlocal_omp_clauses): Handle loop
transformation clauses.
(convert_local_omp_clauses): Likewise.
libgomp/ChangeLog:
* testsuite/libgomp.fortran/loop-transforms/nested-fn.f90: New test.
Co-Authored-By: Frederik Harwath <frederik@codesourcery.com>
---
gcc/ChangeLog.omp | 7 +++++++
gcc/tree-nested.cc | 14 ++++++++++++++
libgomp/ChangeLog.omp | 5 +++++
.../loop-transforms/nested-fn.f90 | 19 +++++++++++++++++++
4 files changed, 45 insertions(+)
create mode 100644 libgomp/testsuite/libgomp.fortran/loop-transforms/nested-fn.f90
@@ -1,3 +1,10 @@
+2023-06-13 Sandra Loosemore <sandra@codesourcery.com>
+ Frederik Harwath <frederik@codesourcery.com>
+
+ * tree-nested.cc (convert_nonlocal_omp_clauses): Handle loop
+ transformation clauses.
+ (convert_local_omp_clauses): Likewise.
+
2023-06-12 Tobias Burnus <tobias@codesourcery.com>
Backported from mainline:
@@ -1494,6 +1494,13 @@ convert_nonlocal_omp_clauses (tree *pclauses, struct walk_stmt_info *wi)
case OMP_CLAUSE__OMPACC_:
break;
+ /* Clauses related to loop transforms. */
+ case OMP_CLAUSE_TILE:
+ case OMP_CLAUSE_UNROLL_FULL:
+ case OMP_CLAUSE_UNROLL_PARTIAL:
+ case OMP_CLAUSE_UNROLL_NONE:
+ break;
+
/* The following clause belongs to the OpenACC cache directive, which
is discarded during gimplification. */
case OMP_CLAUSE__CACHE_:
@@ -2291,6 +2298,13 @@ convert_local_omp_clauses (tree *pclauses, struct walk_stmt_info *wi)
case OMP_CLAUSE__OMPACC_:
break;
+ /* Clauses related to loop transforms. */
+ case OMP_CLAUSE_TILE:
+ case OMP_CLAUSE_UNROLL_FULL:
+ case OMP_CLAUSE_UNROLL_PARTIAL:
+ case OMP_CLAUSE_UNROLL_NONE:
+ break;
+
/* The following clause belongs to the OpenACC cache directive, which
is discarded during gimplification. */
case OMP_CLAUSE__CACHE_:
@@ -1,3 +1,8 @@
+2023-06-13 Sandra Loosemore <sandra@codesourcery.com>
+ Frederik Harwath <frederik@codesourcery.com>
+
+ * testsuite/libgomp.fortran/loop-transforms/nested-fn.f90: New test.
+
2023-06-14 Tobias Burnus <tobias@codesourcery.com>
Backported from mainline:
new file mode 100644
@@ -0,0 +1,19 @@
+! { dg-do run }
+
+program foo
+ integer :: count
+contains
+
+subroutine s1 ()
+ integer :: i, count
+
+ count = 0
+
+ !$omp target parallel do
+ !$omp unroll partial
+ do i = 1, 100
+ end do
+
+end subroutine
+
+end program