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

Reply via email to