From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id E95C73851C1D; Mon, 19 Apr 2021 12:32:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E95C73851C1D MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Thomas Schwinge To: gcc-cvs@gcc.gnu.org Subject: [gcc r11-8242] [OpenACC 'kernels'] '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]' X-Act-Checkin: gcc X-Git-Author: Thomas Schwinge X-Git-Refname: refs/heads/master X-Git-Oldrev: 15cfa8ddaca3915fdb1dc1f2c61c89b5817b4e2c X-Git-Newrev: 3395dfc4da8ad1fccd346c62dfc9bd44b2b48c62 Message-Id: <20210419123225.E95C73851C1D@sourceware.org> Date: Mon, 19 Apr 2021 12:32:25 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Apr 2021 12:32:26 -0000 https://gcc.gnu.org/g:3395dfc4da8ad1fccd346c62dfc9bd44b2b48c62 commit r11-8242-g3395dfc4da8ad1fccd346c62dfc9bd44b2b48c62 Author: Thomas Schwinge Date: Mon Apr 19 10:24:49 2021 +0200 [OpenACC 'kernels'] '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]' This configuration knob is temporary, and isn't really meant to be exposed to users. gcc/ * params.opt (-param=openacc-kernels=): Add. * omp-oacc-kernels-decompose.cc (pass_omp_oacc_kernels_decompose::gate): Use it. * doc/invoke.texi (-fopenacc-kernels=@var{mode}): Move... (--param): ... here, 'openacc-kernels'. gcc/c-family/ * c.opt (fopenacc-kernels=): Remove. gcc/fortran/ * lang.opt (fopenacc-kernels=): Remove. gcc/testsuite/ * c-c++-common/goacc/if-clause-2.c: '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'. * c-c++-common/goacc/kernels-decompose-1.c: Likewise. * c-c++-common/goacc/kernels-decompose-2.c: Likewise. * c-c++-common/goacc/kernels-decompose-ice-1.c: Likewise. * c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise. * gfortran.dg/goacc/kernels-decompose-1.f95: Likewise. * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise. * gfortran.dg/goacc/kernels-tree.f95: Likewise. libgomp/ * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c: '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'. * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Likewise. * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. Diff: --- gcc/c-family/c.opt | 13 ------------ gcc/doc/invoke.texi | 24 ++++++++++------------ gcc/fortran/lang.opt | 4 ---- gcc/omp-oacc-kernels-decompose.cc | 2 +- gcc/params.opt | 13 ++++++++++++ gcc/testsuite/c-c++-common/goacc/if-clause-2.c | 2 +- .../c-c++-common/goacc/kernels-decompose-1.c | 2 +- .../c-c++-common/goacc/kernels-decompose-2.c | 2 +- .../c-c++-common/goacc/kernels-decompose-ice-1.c | 2 +- .../c-c++-common/goacc/kernels-decompose-ice-2.c | 2 +- .../gfortran.dg/goacc/kernels-decompose-1.f95 | 2 +- .../gfortran.dg/goacc/kernels-decompose-2.f95 | 2 +- gcc/testsuite/gfortran.dg/goacc/kernels-tree.f95 | 2 +- .../declare-vla-kernels-decompose-ice-1.c | 2 +- .../declare-vla-kernels-decompose.c | 2 +- .../kernels-decompose-1.c | 2 +- .../testsuite/libgomp.oacc-fortran/pr94358-1.f90 | 2 +- 17 files changed, 37 insertions(+), 43 deletions(-) diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt index ed9a82599ef..3f8b72cdc00 100644 --- a/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt @@ -1873,19 +1873,6 @@ fopenacc-dim= 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) --fopenacc-kernels=[decompose|parloops] Specify mode of OpenACC 'kernels' constructs handling. - -Enum -Name(openacc_kernels) Type(enum openacc_kernels) - -EnumValue -Enum(openacc_kernels) String(decompose) Value(OPENACC_KERNELS_DECOMPOSE) - -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). diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 096cebc8562..8b70fdf580d 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -202,7 +202,7 @@ in the following sections. -aux-info @var{filename} -fallow-parameterless-variadic-functions @gol -fno-asm -fno-builtin -fno-builtin-@var{function} -fgimple@gol -fhosted -ffreestanding @gol --fopenacc -fopenacc-dim=@var{geom} -fopenacc-kernels=@var{mode} @gol +-fopenacc -fopenacc-dim=@var{geom} @gol -fopenmp -fopenmp-simd @gol -fms-extensions -fplan9-extensions -fsso-struct=@var{endianness} @gol -fallow-single-precision -fcond-mismatch -flax-vector-conversions @gol @@ -2619,18 +2619,6 @@ not explicitly specify. The @var{geom} value is a triple of ':'-separated sizes, in order 'gang', 'worker' and, 'vector'. A size can be omitted, to use a target-specific default value. -@item -fopenacc-kernels=@var{mode} -@opindex fopenacc-kernels -@cindex OpenACC accelerator programming -Specify mode of OpenACC `kernels' constructs handling. -With @option{-fopenacc-kernels=decompose}, OpenACC `kernels' -constructs are decomposed into parts, a sequence of compute -constructs, each then handled individually. -This is work in progress. -With @option{-fopenacc-kernels=parloops}, OpenACC `kernels' constructs -are handled by the @samp{parloops} pass, en bloc. -This is the current default. - @item -fopenmp @opindex fopenmp @cindex OpenMP parallel @@ -14376,6 +14364,16 @@ The parameter is used only in GIMPLE FE. The maximum number of 'after supernode' exploded nodes within the analyzer per supernode, before terminating analysis. +@item openacc-kernels +Specify mode of OpenACC `kernels' constructs handling. +With @option{--param=openacc-kernels=decompose}, OpenACC `kernels' +constructs are decomposed into parts, a sequence of compute +constructs, each then handled individually. +This is work in progress. +With @option{--param=openacc-kernels=parloops}, OpenACC `kernels' +constructs are handled by the @samp{parloops} pass, en bloc. +This is the current default. + @end table The following choices of @var{name} are available on AArch64 targets: diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt index 2b1977c523b..388ef8c0fdb 100644 --- a/gcc/fortran/lang.opt +++ b/gcc/fortran/lang.opt @@ -691,10 +691,6 @@ fopenacc-dim= 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) -; Documented in C - fopenmp Fortran LTO ; Documented in C diff --git a/gcc/omp-oacc-kernels-decompose.cc b/gcc/omp-oacc-kernels-decompose.cc index c624e26be88..4ba5758a906 100644 --- a/gcc/omp-oacc-kernels-decompose.cc +++ b/gcc/omp-oacc-kernels-decompose.cc @@ -1527,7 +1527,7 @@ public: virtual bool gate (function *) { return (flag_openacc - && flag_openacc_kernels == OPENACC_KERNELS_DECOMPOSE); + && param_openacc_kernels == OPENACC_KERNELS_DECOMPOSE); } virtual unsigned int execute (function *) { diff --git a/gcc/params.opt b/gcc/params.opt index 0dd9ac406eb..b516489bc8e 100644 --- a/gcc/params.opt +++ b/gcc/params.opt @@ -777,6 +777,19 @@ The minimum probability of reaching a source block for interblock speculative sc Common Joined UInteger Var(param_min_vect_loop_bound) Param Optimization If -ftree-vectorize is used, the minimal loop bound of a loop to be considered for vectorization. +-param=openacc-kernels= +Common Joined Enum(openacc_kernels) Var(param_openacc_kernels) Init(OPENACC_KERNELS_PARLOOPS) Param +--param=openacc-kernels=[decompose|parloops] Specify mode of OpenACC 'kernels' constructs handling. + +Enum +Name(openacc_kernels) Type(enum openacc_kernels) + +EnumValue +Enum(openacc_kernels) String(decompose) Value(OPENACC_KERNELS_DECOMPOSE) + +EnumValue +Enum(openacc_kernels) String(parloops) Value(OPENACC_KERNELS_PARLOOPS) + -param=parloops-chunk-size= Common Joined UInteger Var(param_parloops_chunk_size) Param Optimization Chunk size of omp schedule for loops parallelized by parloops. diff --git a/gcc/testsuite/c-c++-common/goacc/if-clause-2.c b/gcc/testsuite/c-c++-common/goacc/if-clause-2.c index 7bb115316e8..a48072509e1 100644 --- a/gcc/testsuite/c-c++-common/goacc/if-clause-2.c +++ b/gcc/testsuite/c-c++-common/goacc/if-clause-2.c @@ -1,5 +1,5 @@ /* { dg-additional-options "-fdump-tree-gimple" } */ -/* { dg-additional-options "-fopenacc-kernels=decompose" } +/* { dg-additional-options "--param=openacc-kernels=decompose" } { dg-additional-options "-fdump-tree-omp_oacc_kernels_decompose" } */ void diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-1.c b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-1.c index e906443cceb..87219c88fac 100644 --- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-1.c +++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-1.c @@ -2,7 +2,7 @@ /* { dg-additional-options "-fopt-info-omp-all" } */ /* { dg-additional-options "-fdump-tree-gimple" } */ -/* { dg-additional-options "-fopenacc-kernels=decompose" } +/* { dg-additional-options "--param=openacc-kernels=decompose" } { dg-additional-options "-fdump-tree-omp_oacc_kernels_decompose" } */ /* See also '../../gfortran.dg/goacc/kernels-decompose-1.f95'. */ diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-2.c b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-2.c index ec0f75c4a61..3781e75d0f2 100644 --- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-2.c +++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-2.c @@ -1,7 +1,7 @@ /* Test OpenACC 'kernels' construct decomposition. */ /* { dg-additional-options "-fopt-info-omp-all" } */ -/* { dg-additional-options "-fopenacc-kernels=decompose" } +/* { dg-additional-options "--param=openacc-kernels=decompose" } /* { dg-additional-options "-O2" } for 'parloops'. */ /* See also '../../gfortran.dg/goacc/kernels-decompose-2.f95'. */ diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-1.c b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-1.c index 82e7bd1495b..d770b91dd09 100644 --- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-1.c +++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-1.c @@ -1,7 +1,7 @@ /* Test OpenACC 'kernels' construct decomposition. */ /* { dg-additional-options "-fopt-info-omp-all" } */ -/* { dg-additional-options "-fopenacc-kernels=decompose" } */ +/* { dg-additional-options "--param=openacc-kernels=decompose" } */ /* { dg-ice "TODO" } { dg-prune-output "during GIMPLE pass: omplower" } */ diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-2.c b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-2.c index 569f87a59c9..ae059eb354b 100644 --- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-2.c +++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-2.c @@ -1,6 +1,6 @@ /* Test OpenACC 'kernels' construct decomposition. */ -/* { dg-additional-options "-fopenacc-kernels=decompose" } */ +/* { dg-additional-options "--param=openacc-kernels=decompose" } */ /* { dg-ice "TODO" } { dg-prune-output "during GIMPLE pass: omplower" } */ diff --git a/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-1.f95 b/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-1.f95 index 7e513f84083..e2523504ef5 100644 --- a/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-1.f95 +++ b/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-1.f95 @@ -2,7 +2,7 @@ ! { dg-additional-options "-fopt-info-omp-all" } ! { dg-additional-options "-fdump-tree-gimple" } -! { dg-additional-options "-fopenacc-kernels=decompose" } +! { dg-additional-options "--param=openacc-kernels=decompose" } ! { dg-additional-options "-fdump-tree-omp_oacc_kernels_decompose" } ! See also '../../c-c++-common/goacc/kernels-decompose-1.c'. diff --git a/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-2.f95 b/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-2.f95 index 22f65e5c694..cc12b77817b 100644 --- a/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-2.f95 +++ b/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-2.f95 @@ -1,7 +1,7 @@ ! Test OpenACC 'kernels' construct decomposition. ! { dg-additional-options "-fopt-info-omp-all" } -! { dg-additional-options "-fopenacc-kernels=decompose" } +! { dg-additional-options "--param=openacc-kernels=decompose" } ! { dg-additional-options "-O2" } for 'parloops'. ! See also '../../c-c++-common/goacc/kernels-decompose-2.c'. diff --git a/gcc/testsuite/gfortran.dg/goacc/kernels-tree.f95 b/gcc/testsuite/gfortran.dg/goacc/kernels-tree.f95 index d01eee2fa5d..63ef7e17a9e 100644 --- a/gcc/testsuite/gfortran.dg/goacc/kernels-tree.f95 +++ b/gcc/testsuite/gfortran.dg/goacc/kernels-tree.f95 @@ -1,6 +1,6 @@ ! { dg-do compile } ! { dg-additional-options "-fdump-tree-original" } -! { dg-additional-options "-fopenacc-kernels=decompose" } +! { dg-additional-options "--param=openacc-kernels=decompose" } ! { dg-additional-options "-fdump-tree-omp_oacc_kernels_decompose" } program test diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c index c7eae12ec10..0777b612b63 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c @@ -1,4 +1,4 @@ -/* { dg-additional-options "-fopenacc-kernels=decompose" } */ +/* { dg-additional-options "--param=openacc-kernels=decompose" } */ /* Hopefully, this is the same issue as '../../../gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-1.c'. { dg-ice "TODO" } TODO { dg-prune-output "during GIMPLE pass: omplower" } diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c index dd8a1c1d294..0369ae91f14 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c @@ -1,4 +1,4 @@ -/* { dg-additional-options "-fopenacc-kernels=decompose" } */ +/* { dg-additional-options "--param=openacc-kernels=decompose" } */ /* See also 'declare-vla-kernels-decompose-ice-1.c'. */ diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c index e76e4099f3a..dd83557b6aa 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c @@ -1,7 +1,7 @@ /* Test OpenACC 'kernels' construct decomposition. */ /* { dg-additional-options "-fopt-info-omp-all" } */ -/* { dg-additional-options "-fopenacc-kernels=decompose" } */ +/* { dg-additional-options "--param=openacc-kernels=decompose" } */ /* It's only with Tcl 8.5 (released in 2007) that "the variable 'varName' passed to 'incr' may be unset, and in that case, it will be set to [...]", diff --git a/libgomp/testsuite/libgomp.oacc-fortran/pr94358-1.f90 b/libgomp/testsuite/libgomp.oacc-fortran/pr94358-1.f90 index 99a70418a4d..cf1d0e56927 100644 --- a/libgomp/testsuite/libgomp.oacc-fortran/pr94358-1.f90 +++ b/libgomp/testsuite/libgomp.oacc-fortran/pr94358-1.f90 @@ -1,6 +1,6 @@ ! { dg-do run } ! { dg-additional-options "-fopt-info-omp-all" } -! { dg-additional-options "-fopenacc-kernels=decompose" } +! { dg-additional-options "--param=openacc-kernels=decompose" } ! It's only with Tcl 8.5 (released in 2007) that "the variable 'varName' ! passed to 'incr' may be unset, and in that case, it will be set to [...]",