Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2021-07-21 Thread Thomas Schwinge
n-pragmas] 58 | #pragma atomic update | Small fix-up for r229832 (commit 7a5e4956cc026cba54159d5c764486ac4151db85) "[openacc] tile, independent, default, private and firstprivate support in c/++". gcc/testsuite/ * g++.dg/goacc/template.C: Fix '#pragma atomic updat

[gomp4] Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-09 Thread Thomas Schwinge
Hi! On Thu, 5 Nov 2015 18:10:49 -0800, Cesar Philippidis wrote: > I've applied this patch to trunk. It also includes the fortran and > template changes. [...] > Also, because of these reduction problems, I decided not to merge > combined_loops.f90 with

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-06 Thread Nathan Sidwell
On 11/06/15 01:50, Jakub Jelinek wrote: On Thu, Nov 05, 2015 at 06:10:49PM -0800, Cesar Philippidis wrote: I've applied this patch to trunk. It also includes the fortran and template changes. Note that there is a new regression in gfortran.dg/goacc/combined_loop.f90. Basically, the gimplifier

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-06 Thread Nathan Sidwell
On 11/05/15 21:10, Cesar Philippidis wrote: I've applied this patch to trunk. It also includes the fortran and template changes. Note that there is a new regression in gfortran.dg/goacc/combined_loop.f90. Basically, the gimplifier is complaining about reduction variables appearing in multiple

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-05 Thread Thomas Schwinge
Hi Cesar! On Tue, 3 Nov 2015 14:16:59 -0800, Cesar Philippidis wrote: > This patch does the following to the c and c++ front ends: > * updates c_oacc_split_loop_clauses to filter out the loop clauses >from combined parallel/kernels loops > gcc/c-family/ >

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-05 Thread Cesar Philippidis
On 11/05/2015 09:13 AM, Nathan Sidwell wrote: > On 11/05/15 12:01, Thomas Schwinge wrote: > >> On Thu, 5 Nov 2015 06:47:58 -0800, Cesar Philippidis >> wrote: >>> On 11/05/2015 04:14 AM, Thomas Schwinge wrote: > >>> Sorry, I must have mis-phrased it. The spec is unclear

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-05 Thread Thomas Schwinge
Hi! Nathan, question here about clause splitting for combined OpenACC "parallel loop" and "kernels loop" constructs, in particular: #pragma acc parallel loop reduction([...]) On Thu, 5 Nov 2015 06:47:58 -0800, Cesar Philippidis wrote: > On 11/05/2015 04:14 AM,

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-05 Thread Nathan Sidwell
On 11/05/15 12:01, Thomas Schwinge wrote: On Thu, 5 Nov 2015 06:47:58 -0800, Cesar Philippidis wrote: On 11/05/2015 04:14 AM, Thomas Schwinge wrote: Sorry, I must have mis-phrased it. The spec is unclear here. There are three possible ways to interpret 'acc

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-05 Thread Jakub Jelinek
Hi! On Wed, Nov 04, 2015 at 09:55:49AM -0800, Cesar Philippidis wrote: So, you are going to deal with gang parsing incrementally? Fine with me. > +/* OpenACC 2.0: > + tile ( size-expr-list ) */ > + > +static tree > +c_parser_oacc_clause_tile (c_parser *parser, tree list) > +{ > + tree c,

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-05 Thread Jakub Jelinek
On Thu, Nov 05, 2015 at 06:10:49PM -0800, Cesar Philippidis wrote: > I've applied this patch to trunk. It also includes the fortran and > template changes. Note that there is a new regression in > gfortran.dg/goacc/combined_loop.f90. Basically, the gimplifier is > complaining about reduction

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-05 Thread Cesar Philippidis
I've applied this patch to trunk. It also includes the fortran and template changes. Note that there is a new regression in gfortran.dg/goacc/combined_loop.f90. Basically, the gimplifier is complaining about reduction variables appearing in multiple clauses. E.g. 'acc parallel reduction(+:var)

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-05 Thread Cesar Philippidis
On 11/05/2015 04:14 AM, Thomas Schwinge wrote: > On Tue, 3 Nov 2015 14:16:59 -0800, Cesar Philippidis > wrote: >> This patch does the following to the c and c++ front ends: > >> * updates c_oacc_split_loop_clauses to filter out the loop clauses >>from combined

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-05 Thread Cesar Philippidis
On 11/04/2015 11:29 PM, Jakub Jelinek wrote: > On Wed, Nov 04, 2015 at 08:58:32PM -0800, Cesar Philippidis wrote: >> diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c >> index e3f55a7..4424596 100644 >> --- a/gcc/cp/pt.c >> +++ b/gcc/cp/pt.c >> @@ -14395,6 +14395,15 @@ tsubst_omp_clauses (tree clauses, bool

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-04 Thread Cesar Philippidis
On 11/04/2015 02:24 AM, Jakub Jelinek wrote: > Have you verified pt.c does the right thing when instantiating the > OMP_CLAUSE_TILE clause (I mean primarily the TREE_VEC in there)? > There really should be testcases for that. Here's a patch which adds template support for the oacc clauses. Is it

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-04 Thread Jakub Jelinek
On Wed, Nov 04, 2015 at 08:58:32PM -0800, Cesar Philippidis wrote: > diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c > index e3f55a7..4424596 100644 > --- a/gcc/cp/pt.c > +++ b/gcc/cp/pt.c > @@ -14395,6 +14395,15 @@ tsubst_omp_clauses (tree clauses, bool declare_simd, > bool allow_fields, > case

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-04 Thread Cesar Philippidis
On 11/04/2015 02:24 AM, Jakub Jelinek wrote: > On Tue, Nov 03, 2015 at 02:16:59PM -0800, Cesar Philippidis wrote: >> + >> + do >> +{ >> + if (c_parser_next_token_is (parser, CPP_MULT)) >> +{ >> + c_parser_consume_token (parser); >> + expr = integer_minus_one_node; >> +

Re: [openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-04 Thread Jakub Jelinek
On Tue, Nov 03, 2015 at 02:16:59PM -0800, Cesar Philippidis wrote: > --- a/gcc/c-family/c-omp.c > +++ b/gcc/c-family/c-omp.c > @@ -709,12 +709,21 @@ c_oacc_split_loop_clauses (tree clauses, tree > *not_loop_clauses) > >switch (OMP_CLAUSE_CODE (clauses)) > { > + /* Loop

[openacc] tile, independent, default, private and firstprivate support in c/++

2015-11-03 Thread Cesar Philippidis
This patch does the following to the c and c++ front ends: * parsing support for the tile, independent, default (none), private and firstprivate clauses in c and c++ * updates c_oacc_split_loop_clauses to filter out the loop clauses from combined parallel/kernels loops The c front end