gcc/
* flag-types.h (enum openacc_kernels): New type.
gcc/c-family/
* c.opt (fopenacc-kernels): New flag.
gcc/fortran/
* lang.opt (fopenacc-kernels): New flag.
gcc/testsuite/
* c-c++-common/goacc/kernels-1.c: Add
"-fopenacc-kernels=parloops".
* c-c++-common/goacc/kernels-acc-loop-reduction.c: Likewise.
* c-c++-common/goacc/kernels-acc-loop-smaller-equal.c: Likewise.
* c-c++-common/goacc/kernels-alias-2.c: Likewise.
* c-c++-common/goacc/kernels-alias-3.c: Likewise.
* c-c++-common/goacc/kernels-alias-4.c: Likewise.
* c-c++-common/goacc/kernels-alias-5.c: Likewise.
* c-c++-common/goacc/kernels-alias-6.c: Likewise.
* c-c++-common/goacc/kernels-alias-7.c: Likewise.
* c-c++-common/goacc/kernels-alias-8.c: Likewise.
* c-c++-common/goacc/kernels-alias-ipa-pta-2.c: Likewise.
* c-c++-common/goacc/kernels-alias-ipa-pta-3.c: Likewise.
* c-c++-common/goacc/kernels-alias-ipa-pta-4.c: Likewise.
* c-c++-common/goacc/kernels-alias-ipa-pta.c: Likewise.
* c-c++-common/goacc/kernels-alias.c: Likewise.
* c-c++-common/goacc/kernels-counter-var-redundant-load.c:
Likewise.
* c-c++-common/goacc/kernels-counter-vars-function-scope.c:
Likewise.
* c-c++-common/goacc/kernels-double-reduction-n.c: Likewise.
* c-c++-common/goacc/kernels-double-reduction.c: Likewise.
* c-c++-common/goacc/kernels-loop-2-acc-loop.c: Likewise.
* c-c++-common/goacc/kernels-loop-2.c: Likewise.
* c-c++-common/goacc/kernels-loop-3-acc-loop.c: Likewise.
* c-c++-common/goacc/kernels-loop-3.c: Likewise.
* c-c++-common/goacc/kernels-loop-acc-loop.c: Likewise.
* c-c++-common/goacc/kernels-loop-data-2.c: Likewise.
* c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: Likewise.
* c-c++-common/goacc/kernels-loop-data-enter-exit.c: Likewise.
* c-c++-common/goacc/kernels-loop-data-update.c: Likewise.
* c-c++-common/goacc/kernels-loop-data.c: Likewise.
* c-c++-common/goacc/kernels-loop-g.c: Likewise.
* c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise.
* c-c++-common/goacc/kernels-loop-n-acc-loop.c: Likewise.
* c-c++-common/goacc/kernels-loop-n.c: Likewise.
* c-c++-common/goacc/kernels-loop-nest.c: Likewise.
* c-c++-common/goacc/kernels-loop.c: Likewise.
* c-c++-common/goacc/kernels-one-counter-var.c: Likewise.
* c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c:
Likewise.
* c-c++-common/goacc/kernels-reduction.c: Likewise.
* gfortran.dg/goacc/kernels-alias-2.f95: Likewise.
* gfortran.dg/goacc/kernels-alias-3.f95: Likewise.
* gfortran.dg/goacc/kernels-alias-4.f95: Likewise.
* gfortran.dg/goacc/kernels-alias.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-2.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-2.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-enter-exit-2.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-enter-exit.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-update.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-inner.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-n.f95: Likewise.
* gfortran.dg/goacc/kernels-loop.f95: Likewise.
* gfortran.dg/goacc/kernels-loops-adjacent.f95: Likewise.
* gfortran.dg/goacc/kernels-parallel-loop-data-enter-exit.f95:
Likewise.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
Add "-fopenacc-kernels=parloops".
* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
Likewise.
* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
Likewise.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
Likewise.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
Likewise.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
Likewise.
* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
* testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
Likewise.
* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
Likewise.
(cherry picked from openacc-gcc-9-branch commit
ff54f28eee8129e9f72d88d0a6d1d15604f652ca)
+2019-01-30 Thomas Schwinge <thomas@codesourcery.com>
+
+ * flag-types.h (enum openacc_kernels): New type.
+
2018-12-19 Julian Brown <julian@codesourcery.com>
Maciej W. Rozycki <macro@codesourcery.com>
+2019-01-30 Thomas Schwinge <thomas@codesourcery.com>
+
+ * c.opt (fopenacc-kernels): New flag.
+
2018-12-19 Julian Brown <julian@codesourcery.com>
Maciej W. Rozycki <macro@codesourcery.com>
C ObjC C++ ObjC++ LTO Joined Var(flag_openacc_dims)
Specify default OpenACC compute dimensions.
+fopenacc-kernels=
+C ObjC C++ ObjC++ RejectNegative Joined Enum(openacc_kernels) Var(flag_openacc_kernels) Init(OPENACC_KERNELS_PARLOOPS) Undocumented
+
+Enum
+Name(openacc_kernels) Type(enum openacc_kernels)
+
+EnumValue
+Enum(openacc_kernels) String(parloops) Value(OPENACC_KERNELS_PARLOOPS)
+
fopenmp
C ObjC C++ ObjC++ LTO Var(flag_openmp)
Enable OpenMP (implies -frecursive in Fortran).
CF_FULL = CF_BRANCH | CF_RETURN,
CF_SET = 1 << 2
};
+
+/* OpenACC 'kernels' constructs handling. */
+enum openacc_kernels
+{
+ OPENACC_KERNELS_PARLOOPS
+};
#endif /* ! GCC_FLAG_TYPES_H */
+2019-01-30 Thomas Schwinge <thomas@codesourcery.com>
+
+ * lang.opt (fopenacc-kernels): New flag.
+
2018-12-19 Julian Brown <julian@codesourcery.com>
Maciej W. Rozycki <macro@codesourcery.com>
Fortran LTO Joined Var(flag_openacc_dims)
; Documented in C
+fopenacc-kernels=
+Fortran RejectNegative Joined Enum(openacc_kernels) Var(flag_openacc_kernels) Init(OPENACC_KERNELS_PARLOOPS) Undocumented
+
fopenmp
Fortran LTO
; Documented in C
+2019-01-30 Thomas Schwinge <thomas@codesourcery.com>
+
+ * c-c++-common/goacc/kernels-1.c: Add
+ "-fopenacc-kernels=parloops".
+ * c-c++-common/goacc/kernels-acc-loop-reduction.c: Likewise.
+ * c-c++-common/goacc/kernels-acc-loop-smaller-equal.c: Likewise.
+ * c-c++-common/goacc/kernels-alias-2.c: Likewise.
+ * c-c++-common/goacc/kernels-alias-3.c: Likewise.
+ * c-c++-common/goacc/kernels-alias-4.c: Likewise.
+ * c-c++-common/goacc/kernels-alias-5.c: Likewise.
+ * c-c++-common/goacc/kernels-alias-6.c: Likewise.
+ * c-c++-common/goacc/kernels-alias-7.c: Likewise.
+ * c-c++-common/goacc/kernels-alias-8.c: Likewise.
+ * c-c++-common/goacc/kernels-alias-ipa-pta-2.c: Likewise.
+ * c-c++-common/goacc/kernels-alias-ipa-pta-3.c: Likewise.
+ * c-c++-common/goacc/kernels-alias-ipa-pta-4.c: Likewise.
+ * c-c++-common/goacc/kernels-alias-ipa-pta.c: Likewise.
+ * c-c++-common/goacc/kernels-alias.c: Likewise.
+ * c-c++-common/goacc/kernels-counter-var-redundant-load.c:
+ Likewise.
+ * c-c++-common/goacc/kernels-counter-vars-function-scope.c:
+ Likewise.
+ * c-c++-common/goacc/kernels-double-reduction-n.c: Likewise.
+ * c-c++-common/goacc/kernels-double-reduction.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-2-acc-loop.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-2.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-3-acc-loop.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-3.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-acc-loop.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-data-2.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-data-enter-exit.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-data-update.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-data.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-g.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-n-acc-loop.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-n.c: Likewise.
+ * c-c++-common/goacc/kernels-loop-nest.c: Likewise.
+ * c-c++-common/goacc/kernels-loop.c: Likewise.
+ * c-c++-common/goacc/kernels-one-counter-var.c: Likewise.
+ * c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c:
+ Likewise.
+ * c-c++-common/goacc/kernels-reduction.c: Likewise.
+ * gfortran.dg/goacc/kernels-alias-2.f95: Likewise.
+ * gfortran.dg/goacc/kernels-alias-3.f95: Likewise.
+ * gfortran.dg/goacc/kernels-alias-4.f95: Likewise.
+ * gfortran.dg/goacc/kernels-alias.f95: Likewise.
+ * gfortran.dg/goacc/kernels-loop-2.f95: Likewise.
+ * gfortran.dg/goacc/kernels-loop-data-2.f95: Likewise.
+ * gfortran.dg/goacc/kernels-loop-data-enter-exit-2.f95: Likewise.
+ * gfortran.dg/goacc/kernels-loop-data-enter-exit.f95: Likewise.
+ * gfortran.dg/goacc/kernels-loop-data-update.f95: Likewise.
+ * gfortran.dg/goacc/kernels-loop-data.f95: Likewise.
+ * gfortran.dg/goacc/kernels-loop-inner.f95: Likewise.
+ * gfortran.dg/goacc/kernels-loop-n.f95: Likewise.
+ * gfortran.dg/goacc/kernels-loop.f95: Likewise.
+ * gfortran.dg/goacc/kernels-loops-adjacent.f95: Likewise.
+ * gfortran.dg/goacc/kernels-parallel-loop-data-enter-exit.f95:
+ Likewise.
+
2018-12-20 Maciej W. Rozycki <macro@codesourcery.com>
* c-c++-common/goacc/serial-dims.c: New test.
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-fopt-info-optimized-omp" } */
int
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-ealias-all" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-ealias-all" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-ealias-all" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-ealias-all" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-ealias-all" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-ealias-all" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-ealias-all" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fipa-pta -fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fipa-pta -fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fipa-pta -fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fipa-pta -fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-ealias-all" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-dom3" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fopt-info-optimized-omp" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fopt-info-optimized-omp" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-g" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-ealias-all" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-ealias-all" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-ealias-all" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-ealias-all" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-parloops1-all" }
! { dg-additional-options "-fdump-tree-optimized" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-parloops1-all" }
! { dg-additional-options "-fdump-tree-optimized" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-parloops1-all" }
! { dg-additional-options "-fdump-tree-optimized" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-parloops1-all" }
! { dg-additional-options "-fdump-tree-optimized" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-parloops1-all" }
! { dg-additional-options "-fdump-tree-optimized" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-parloops1-all" }
! { dg-additional-options "-fdump-tree-optimized" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fopt-info-optimized-omp" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-parloops1-all" }
! { dg-additional-options "-fdump-tree-optimized" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-parloops1-all" }
! { dg-additional-options "-fdump-tree-optimized" }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
program main
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
! { dg-additional-options "-O2" }
! { dg-additional-options "-fdump-tree-parloops1-all" }
! { dg-additional-options "-fdump-tree-optimized" }
+2019-01-30 Thomas Schwinge <thomas@codesourcery.com>
+
+ * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
+ Add "-fopenacc-kernels=parloops".
+ * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
+ Likewise.
+ * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
+ * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
+ Likewise.
+ * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
+ Likewise.
+ * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
+ Likewise.
+ * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
+ Likewise.
+ * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
+ * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
+ * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
+ Likewise.
+ * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
+ Likewise.
+
2018-12-20 Maciej W. Rozycki <macro@codesourcery.com>
* libgomp.h (gomp_device_descr): Add `get_property_func' member.
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-fipa-pta" } */
#include <stdlib.h>
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-fipa-pta" } */
#include <stdlib.h>
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-fipa-pta" } */
#include <stdlib.h>
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
int
main (void)
{
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N (1024 * 512)
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N (1024 * 512)
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N 32
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N 32
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N 32
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N 32
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N 32
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N 32
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N 100
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N (1024 * 512)
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N (1024 * 512)
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N (1024 * 512)
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N (1024 * 512)
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N (1024 * 512)
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
/* { dg-additional-options "-g" } */
#include "kernels-loop.c"
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N ((1024 * 512) + 1)
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N ((1024 * 512) + 1)
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N 1000
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N (1024 * 512)
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N (1024 * 512)
/* Verify that a simple, explicit acc loop reduction works inside
a kernels region. */
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define N 100
+/* { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+ specifically testing "parloops" handling. */
+
#include <stdlib.h>
#define n 10000
! { dg-do run }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
program main
implicit none
! { dg-do run }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
program main
implicit none
! { dg-do run }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
program main
implicit none
! { dg-do run }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
program main
implicit none
! { dg-do run }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
program main
implicit none
! { dg-do run }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
program main
implicit none
! { dg-do run }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
program main
implicit none
! { dg-do run }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
program main
implicit none
! Test a simple acc loop reduction inside a kernels region.
! { dg-do run }
+! { dg-additional-options "-fopenacc-kernels=parloops" } as this is
+! specifically testing "parloops" handling.
program reduction
integer, parameter :: n = 20