Hi! Generally, we need to consider the aim to test things sufficiently vs. the already way too long test time of libgomp.fortran testsuite which is not parallelized itself and often takes the longest time in the testsuite.
The primary reason to do any option cycling in libgomp.fortran are tests involving variable length types where it matters matters quite a lot if it is -O0 or -O2 or -O3, e.g. with -O0 some temporaries need to be privatized when with optimization they don't, etc., though perhaps we could trim the list and just test -O0 -O2 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions -g and not the other ones. On Fri, Oct 25, 2019 at 06:17:26PM +0200, Tobias Burnus wrote: > diff --git a/libgomp/testsuite/libgomp.fortran/display-affinity-1.f90 > b/libgomp/testsuite/libgomp.fortran/display-affinity-1.f90 > index 4811b6f801b..4e732e5427f 100644 > --- a/libgomp/testsuite/libgomp.fortran/display-affinity-1.f90 > +++ b/libgomp/testsuite/libgomp.fortran/display-affinity-1.f90 > @@ -0,0 +1 @@ > +! { dg-do run } In this testcase I don't see the value to cycle through, it is a test for library routines. > +++ b/libgomp/testsuite/libgomp.fortran/lastprivate1.f90 > +++ b/libgomp/testsuite/libgomp.fortran/lastprivate2.f90 > +++ b/libgomp/testsuite/libgomp.fortran/nestedfn4.f90 These are ok. > --- a/libgomp/testsuite/libgomp.fortran/omp_hello.f > +++ b/libgomp/testsuite/libgomp.fortran/omp_hello.f > @@ -0,0 +1 @@ > +C { dg-do run } Not worth it. > --- a/libgomp/testsuite/libgomp.fortran/omp_orphan.f > +++ b/libgomp/testsuite/libgomp.fortran/omp_orphan.f > @@ -0,0 +1 @@ > +C { dg-do run } > --- a/libgomp/testsuite/libgomp.fortran/omp_reduction.f > +++ b/libgomp/testsuite/libgomp.fortran/omp_reduction.f > @@ -0,0 +1 @@ > +C { dg-do run } > --- a/libgomp/testsuite/libgomp.fortran/omp_workshare1.f > +++ b/libgomp/testsuite/libgomp.fortran/omp_workshare1.f > @@ -0,0 +1 @@ > +C { dg-do run } > --- a/libgomp/testsuite/libgomp.fortran/omp_workshare2.f > +++ b/libgomp/testsuite/libgomp.fortran/omp_workshare2.f > @@ -0,0 +1 @@ > +C { dg-do run } Dunno, maybe, though not clear advantages of doing so. > +++ b/libgomp/testsuite/libgomp.fortran/pr25219.f90 > +++ b/libgomp/testsuite/libgomp.fortran/pr28390.f > +++ b/libgomp/testsuite/libgomp.fortran/pr35130.f90 > +++ b/libgomp/testsuite/libgomp.fortran/pr90779.f90 Ok. > --- a/libgomp/testsuite/libgomp.fortran/strassen.f90 > +++ b/libgomp/testsuite/libgomp.fortran/strassen.f90 > @@ -0,0 +1 @@ > +! { dg-do run } Not ok. This is quite an expensive test and it is intentionally run just at -O2. > --- a/libgomp/testsuite/libgomp.fortran/target-simd.f90 > +++ b/libgomp/testsuite/libgomp.fortran/target-simd.f90 > @@ -17 +17 @@ program test > - if (any (b - 5.0 *a > 10.0*epsilon(a))) call abort() > + if (any (b - 5.0 *a > 10.0*epsilon(a))) stop 1 > @@ -25 +25 @@ program test > - if (any (b - 2.0 *a > 10.0*epsilon(a))) call abort() > + if (any (b - 2.0 *a > 10.0*epsilon(a))) stop 2 The call abort -> stop changes are ok. I'm not really happy about the uppercase STOP in all the libgomp.fortran tests that are written completely in lowercase except these stops, but didn't get around to changing it yet. > +++ b/libgomp/testsuite/libgomp.fortran/task2.f90 > +++ b/libgomp/testsuite/libgomp.fortran/taskgroup1.f90 > +++ b/libgomp/testsuite/libgomp.fortran/taskloop1.f90 > +++ b/libgomp/testsuite/libgomp.fortran/use_device_addr-1.f90 > +++ b/libgomp/testsuite/libgomp.fortran/use_device_addr-2.f90 > +++ b/libgomp/testsuite/libgomp.fortran/workshare1.f90 > +++ b/libgomp/testsuite/libgomp.fortran/workshare2.f90 Ok. Jakub