Re: update acc routines in fortran

2015-11-24 Thread Cesar Philippidis
On 11/20/2015 02:18 AM, Jakub Jelinek wrote: > On Thu, Nov 19, 2015 at 08:26:45AM -0800, Cesar Philippidis wrote: >> (gfc_oacc_routine_name): New struct; > > Full stop instead of semicolon. Fixed. >> diff --git a/gcc/tree-nested.c b/gcc/tree-nested.c >> in

update acc routines in fortran

2015-11-19 Thread Cesar Philippidis
and nohost clauses on trunk yet. Thomas posted a patch right before stage1 closed. So if that patch gets accepted, I'll create a follow up patch for routines in fortran. This this OK for trunk? Cesar 2015-11-19 Cesar Philippidis <ce...@codesourcery.com> gcc/ * tree-ne

[gomp4] teach fortran to reject the device clause in acc routines

2015-11-19 Thread Cesar Philippidis
to gomp4. As time permits, I'll add more test cases with invalid clause combination for all of the constructs. Cesar 2015-11-19 Cesar Philippidis <ce...@codesourcery.com> gcc/fortran/ * openmp.c (OACC_ROUTINE_CLAUSES): Remove OMP_CLAUSE_OACC_DEVICE from the clause mask. gcc/tes

teach delay folding in c++ about OACC_LOOPs

2015-11-18 Thread Cesar Philippidis
though. Is this patch ok for trunk? Cesar 2015-11-17 Cesar Philippidis <ce...@codesourcery.com> gcc/cp/ * cp-gimplify.c (cp_fold_r): Add support for OACC_LOOP. diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c index 8fe9e13..99d0cfb 100644 --- a/gcc/cp/cp-gimplify.c +++ b/gcc

Re: [1/2] OpenACC routine support

2015-11-18 Thread Cesar Philippidis
On 11/10/2015 12:16 AM, Jakub Jelinek wrote: > On Mon, Nov 09, 2015 at 09:28:47PM -0800, Cesar Philippidis wrote: >> Here's the patch that Nathan was referring to. I ended up introducing a >> boolean variable named first in the various functions which call >> finalize_oacc_

Re: Re: OpenACC declare directive updates

2015-11-18 Thread Cesar Philippidis
On 11/08/2015 08:53 PM, James Norris wrote: > The attached patch and ChangeLog reflect the updates from your > review: https://gcc.gnu.org/ml/gcc-patches/2015-11/msg00714.html > and Cesar's review: > https://gcc.gnu.org/ml/gcc-patches/2015-11/msg00885.html. > > With the changes made in this

Re: Combined constructs' clause splitting

2015-11-18 Thread Cesar Philippidis
On 11/08/2015 07:45 AM, Tom de Vries wrote: > On 07/11/15 12:45, Thomas Schwinge wrote: >> Hi! >> >> On Fri, 6 Nov 2015 15:31:23 -0800, Cesar Philippidis >> <ce...@codesourcery.com> wrote: >>> I've applied this patch to gomp-4_0-branch which backports m

Re: nvptx priority queues nonsupport in libgomp

2015-11-17 Thread Cesar Philippidis
On 11/17/2015 09:23 AM, Nathan Sidwell wrote: > On 11/17/15 12:23, Nathan Sidwell wrote: >> On 11/17/15 12:16, Cesar Philippidis wrote: >>> This patch adds an empty priority_queues.c in libgomp for nvptx targets. >>> Nvptx targets don't have sufficient support for a c

nvptx priority queues nonsupport in libgomp

2015-11-17 Thread Cesar Philippidis
: fatal error: sem.h: No such file or directory #include "sem.h" I'm still running the entire testsuite, but it doesn't introduce any new regressions in libgomp.oacc-c. Is this OK for trunk, or am I missing something? Cesar 2015-11-17 Cesar Philippidis <ce...@codesourcery.com> li

Re: [gomp4] Fix some broken tests

2015-11-11 Thread Cesar Philippidis
On 11/11/2015 05:40 AM, Nathan Sidwell wrote: > On 11/10/15 18:08, Cesar Philippidis wrote: >> On 11/10/2015 12:35 PM, Nathan Sidwell wrote: >>> I've committed this to gomp4. In preparing the reworked firstprivate >>> patch changes for gomp4's gimplify.c I disc

Re: [gomp4] Fix some broken tests

2015-11-10 Thread Cesar Philippidis
On 11/10/2015 12:35 PM, Nathan Sidwell wrote: > I've committed this to gomp4. In preparing the reworked firstprivate > patch changes for gomp4's gimplify.c I discovered these testcases were > passing by accident, and lacked a data clause. It used to be if a reduction was on a parallel

Re: [1/2] OpenACC routine support

2015-11-10 Thread Cesar Philippidis
On 11/10/2015 12:16 AM, Jakub Jelinek wrote: > On Mon, Nov 09, 2015 at 09:28:47PM -0800, Cesar Philippidis wrote: >> Here's the patch that Nathan was referring to. I ended up introducing a >> boolean variable named first in the various functions which call >> finalize_oacc_

Re: [1/2] OpenACC routine support

2015-11-09 Thread Cesar Philippidis
set to true if the current declarator is the first in a sequence of declarators, I was able to defer setting parser->oacc_routine to NULL. Nathan already approved this patch, so I've applied it to trunk. Cesar 2015-11-09 Cesar Philippidis <ce...@codesourcery.com> gcc/cp/ * parser.c (

Re: [1/2] OpenACC routine support

2015-11-09 Thread Cesar Philippidis
On 11/09/2015 04:48 PM, Nathan Sidwell wrote: > And these are the new tests. Cesar, c-c++-common/goacc/routine-5.c will > need adjusting with your C++ parser patch. You'll see the two cases > I've #if'd out. I enabled those tests in trunk with the patch I posted here

Re: Re: OpenACC declare directive updates

2015-11-08 Thread Cesar Philippidis
On 11/08/2015 07:29 AM, James Norris wrote: > The attached patch and ChangeLog reflect the updates from your > review: https://gcc.gnu.org/ml/gcc-patches/2015-11/msg00714.html. > All of the issues pointed out, have been address. > > With the changes made in this patch I think I'm handling the >

Re: [gomp4] backport trunk FE changes

2015-11-07 Thread Cesar Philippidis
On 11/07/2015 04:30 AM, Thomas Schwinge wrote: > Hi! > > On Fri, 6 Nov 2015 15:31:23 -0800, Cesar Philippidis <ce...@codesourcery.com> > wrote: >> I've applied this patch to gomp-4_0-branch which backports most of my >> front end changes from trunk. > >>

Re: Combined constructs' clause splitting

2015-11-07 Thread Cesar Philippidis
On 11/07/2015 03:45 AM, Thomas Schwinge wrote: > Hi! > > On Fri, 6 Nov 2015 15:31:23 -0800, Cesar Philippidis <ce...@codesourcery.com> > wrote: >> I've applied this patch to gomp-4_0-branch which backports most of my >> front end changes from trunk. Note t

[gomp4] revert fortran declare changes

2015-11-06 Thread Cesar Philippidis
s present on multiple clauses at %L", +n->sym->name, ); + else + n->sym->mark = 1; + } is unnecessary. I'm not sure if that you intended to check for other lists or what. I've applied this patch to gomp-4_0-bra

[gomp4] backport trunk FE changes

2015-11-06 Thread Cesar Philippidis
to the kernels and loop constructs for combined 'acc kernels loop'. The problem here is that kernels don't support the reduction clause. I'll fix that next week. Cesar 2015-11-06 Cesar Philippidis <ce...@codesourcery.com> gcc/c-family/ * c-omp.c (c_oacc_split_loop_clauses): Make TILE

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 >> <ce...@codesourcery.com> wrote: >>> On 11/05/2015 04:14 AM, Thomas Schwinge wrote: > >>> Sorry, I

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

2015-11-05 Thread Cesar Philippidis
on adding a couple of more test cases once acc reductions are working on trunk. Cesar 2015-11-05 Cesar Philippidis <ce...@codesourcery.com> Thomas Schwinge <tho...@codesourcery.com> James Norris <jnor...@codesourcery.com> gcc/ * gimplify.c (gimplify_scan_omp_cla

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 <ce...@codesourcery.com> > wrote: >> This patch does the following to the c and c++ front ends: > >> * updates c_oacc_split_loop_clauses to filter out the loop

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 @@ tsubs

Re: [OpenACC] num_gangs, num_workers and vector_length in c++

2015-11-04 Thread Cesar Philippidis
On 11/04/2015 10:09 AM, Jason Merrill wrote: > A single function is better, to avoid unnecessary code duplication. Thanks. I've applied this patch to trunk. Cesar 2015-11-04 Cesar Philippidis <ce...@codesourcery.com> gcc/cp/ * (cp_parser_oacc_single_int_clause): New

[gomp4] assorted trunk backports

2015-11-04 Thread Cesar Philippidis
it as-is since it works. The c++ FE would have had problems with template support eventually because it was doing type checking during scanning. Cesar 2015-11-04 Cesar Philippidis <ce...@codesourcery.com> gcc/c/ * c-parser.c (c_parser_oacc_update): Update the error message for missing c

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

2015-11-04 Thread Cesar Philippidis
c clauses. Is it ok for trunk? Cesar 2015-11-04 Cesar Philippidis <ce...@codesourcery.com> gcc/cp/ * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS, NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO, INDEPENDENT,SEQ}. (tsubst_expr): Add support for OMP_

Re: [gomp4] fortran cleanups and c/c++ loop parsing backport

2015-11-04 Thread Cesar Philippidis
On 11/04/2015 03:39 AM, Thomas Schwinge wrote: > On Tue, 27 Oct 2015 11:36:10 -0700, Cesar Philippidis > <ce...@codesourcery.com> wrote: >> * Proposed fortran cleanups and enhanced error reporting changes: >> https://gcc.gnu.org/ml/gcc-patches/2015-10/msg02288.ht

Re: [openacc] acc loop updates in fortran

2015-11-04 Thread Cesar Philippidis
On 11/04/2015 09:15 AM, Thomas Schwinge wrote: >> --- a/gcc/fortran/trans-openmp.c >> +++ b/gcc/fortran/trans-openmp.c > >> @@ -3449,16 +3478,28 @@ gfc_trans_oacc_combined_directive (gfc_code *code) >>sizeof (construct_clauses)); >>loop_clauses.collapse =

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);

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

2015-11-03 Thread Cesar Philippidis
-list ) where size-expr is one of: * int-expr That '*' symbol complicated the parsing a little, since it's no longer a primary expression. I've bootstrapped and regression tested this on x86_64. Is this ok for trunk? Cesar 2015-11-03 Cesar Philippidis <ce...@codesourcery.

[openacc] acc loop updates in fortran

2015-11-03 Thread Cesar Philippidis
have either been updated or added. Is this OK for trunk? Cesar 2015-11-03 Cesar Philippidis <ce...@codesourcery.com> Thomas Schwinge <tho...@codesourcery.com> gcc/fortran/ * openmp.c (gfc_match_omp_clauses): Update support for the tile and default clause

Re: more accurate omp in fortran

2015-10-31 Thread Cesar Philippidis
his patch to trunk, since it should have been included with the original patch in the first place. Cesar 2015-10-31 Cesar Philippidis <ce...@codesourcery.com> PR Bootstrap/68168 gcc/fortran/ * openmp.c (resolve_omp_clauses): Pass >where when calling gfc_error. diff --git a/gcc

Re: [OpenACC] num_gangs, num_workers and vector_length in c++

2015-10-30 Thread Cesar Philippidis
On 10/30/2015 10:05 AM, Jakub Jelinek wrote: > On Fri, Oct 30, 2015 at 07:42:39AM -0700, Cesar Philippidis wrote: >>> Another thing is what Jason as C++ maintainer wants, it is nice to get rid >>> of some code redundancies, on the other side the fact that there is one

Re: [patch] New backend header reduction

2015-10-30 Thread Cesar Philippidis
On 10/30/2015 01:20 PM, Andrew MacLeod wrote: > On 10/30/2015 02:09 PM, Andrew MacLeod wrote: >> On 10/30/2015 01:56 PM, Cesar Philippidis wrote: >>> On 10/23/2015 12:24 PM, Jeff Law wrote: >>>> On 10/23/2015 10:53 AM, Andrew MacLeod wrote: >>>> >>&

Re: [OpenACC] num_gangs, num_workers and vector_length in c++

2015-10-30 Thread Cesar Philippidis
On 10/30/2015 06:37 AM, Jakub Jelinek wrote: > On Thu, Oct 29, 2015 at 04:02:11PM -0700, Cesar Philippidis wrote: >> I noticed that num_gangs, num_workers and vector_length are parsed in >> somewhat insistent ways in the c++ FE. Both vector_length and num_gangs >> bail

Re: more accurate omp in fortran

2015-10-30 Thread Cesar Philippidis
On 10/30/2015 07:47 AM, Jakub Jelinek wrote: > On Thu, Oct 22, 2015 at 08:21:35AM -0700, Cesar Philippidis wrote: >> diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h >> index b2894cc..93adb7b 100644 >> --- a/gcc/fortran/gfortran.h >> +++ b/gcc/fortran/gfort

Re: more accurate omp in fortran

2015-10-30 Thread Cesar Philippidis
On 10/30/2015 09:58 AM, Jakub Jelinek wrote: > What I meant not just the above changes, but also all changes that > replace where with >where and the like, so pretty much everything > except for the oacc_compatible_clauses removal and addition of > resolve_omp_duplicate_list. That is kind of

Re: [patch] New backend header reduction

2015-10-30 Thread Cesar Philippidis
piler for openacc. It looks like cgraph.c needs to include context.h and varpool.c needs context.h and omp-low.h. There's a couple of ifdef ENABLE_OFFLOADING which may have gone undetected with your script. I've bootstrapped the attached patch for an nvptx/x86_64-linux target. I'm still testing t

[gomp4] revert num_gangs, num_workers, vector_length and num_threads parser changes in c/c++

2015-10-29 Thread Cesar Philippidis
In gomp-4_0-branch, we've tried to consolidate the parsing all of the clauses of the form foo (int-expression) into a single c*_parser_omp_positive_int_clause function. At the time, such clauses included num_gangs, num_workers, vector_length and num_threads. Looking at OpenMP 4.5, there are

Re: [gomp4] revert num_gangs, num_workers, vector_length and num_threads parser changes in c/c++

2015-10-29 Thread Cesar Philippidis
On 10/29/2015 07:08 AM, Cesar Philippidis wrote: > In gomp-4_0-branch, we've tried to consolidate the parsing all of the > clauses of the form > > foo (int-expression) > > into a single c*_parser_omp_positive_int_clause function. At the time, > such clauses included n

[OpenACC] num_gangs, num_workers and vector_length in c++

2015-10-29 Thread Cesar Philippidis
and bootstrapped on x86_64-linux. Cesar 2015-10-29 Cesar Philippidis <ce...@codesourcery.com> gcc/cp/ * parser.c (cp_parser_oacc_positive_int_clause): New function. (cp_parser_oacc_clause_vector_length): Delete. (cp_parser_omp_clause_num_gangs): Delete. (cp_parser_omp_clause_num_workers):

Re: [gomp4] fortran cleanups and c/c++ loop parsing backport

2015-10-28 Thread Cesar Philippidis
On 10/28/2015 04:00 AM, Thomas Schwinge wrote: > Hi Cesar! > > On Tue, 27 Oct 2015 11:36:10 -0700, Cesar Philippidis > <ce...@codesourcery.com> wrote: >> This patch contains the following: >> >> * C front end changes from trunk: >> https://gcc.gn

Re: [OpenACC] declare directive

2015-10-28 Thread Cesar Philippidis
On 10/27/2015 01:18 PM, James Norris wrote: > This patch adds the processing of OpenACC declare directive in C > and C++. (Note: Support in Fortran is already in trunk.) > Commentary on the changes is included as an attachment (NOTES). A quick diff of gomp4 and trunk reveals quite a

[gomp4] minor cfe backports

2015-10-28 Thread Cesar Philippidis
, num_workers and vector_length in gomp4. But support for those clauses are already present in trunk. I'll post more details with the patch later. Cesar 2015-10-28 Cesar Philippidis <ce...@codesourcery.com> * gcc/c/c-parser.c (c_parser_oacc_simple_clause): New function. (c_parser_oacc_all_c

Re: Re: [Bulk] [OpenACC 0/7] host_data construct

2015-10-27 Thread Cesar Philippidis
On 10/26/2015 11:34 AM, Jakub Jelinek wrote: > On Fri, Oct 23, 2015 at 10:51:42AM -0500, James Norris wrote: >> @@ -12942,6 +12961,7 @@ c_finish_omp_clauses (tree clauses, bool is_omp, >> bool declare_simd) >> case OMP_CLAUSE_GANG: >> case OMP_CLAUSE_WORKER: >> case

Re: more accurate error messages omp in fortran

2015-10-27 Thread Cesar Philippidis
(was "Re: more accurate omp in fortran" Ping. Cesar On 10/22/2015 08:21 AM, Cesar Philippidis wrote: > Currently, for certain omp and oacc errors the fortran will inaccurately > report exactly where in the omp/acc construct the error has occurred. E.g. > >!$acc par

[gomp4] fortran cleanups and c/c++ loop parsing backport

2015-10-27 Thread Cesar Philippidis
. Cesar 2015-10-27 Cesar Philippidis <ce...@codesourcery.com> gcc/c/ * c-parser.c (c_parser_oacc_shape_clause): Backport from trunk. (c_parser_omp_simple_clause): Likewise. (c_parser_oacc_all_clauses): Likewise. gcc/cp/ * parser.c (cp_parser_oacc_shape_clause): Backport from

Re: [OpenACC 5/11] C++ FE changes

2015-10-26 Thread Cesar Philippidis
On 10/26/2015 03:20 AM, Jakub Jelinek wrote: > On Sat, Oct 24, 2015 at 02:11:41PM -0700, Cesar Philippidis wrote: >> --- a/gcc/cp/semantics.c >> +++ b/gcc/cp/semantics.c >> @@ -5911,6 +5911,31 @@ finish_omp_clauses (tree clauses, bool allow_fields,

Re: [OpenACC 4/11] C FE changes

2015-10-26 Thread Cesar Philippidis
On 10/26/2015 01:59 AM, Jakub Jelinek wrote: > Ok for trunk with those changes fixed. Here's the patch with those changes. Nathan will commit this patch the rest of the openacc execution model patches. Thanks, Cesar 2015-10-26 Cesar Philippidis <ce...@codesourcery.com> Thomas

Re: [OpenACC 5/11] C++ FE changes

2015-10-24 Thread Cesar Philippidis
On 10/23/2015 07:37 PM, Cesar Philippidis wrote: > On 10/23/2015 01:25 PM, Cesar Philippidis wrote: >> On 10/22/2015 01:52 AM, Jakub Jelinek wrote: >>> On Wed, Oct 21, 2015 at 03:18:55PM -0400, Nathan Sidwell wrote: >>>> This patch is the C++ changes

Re: [OpenACC 4/11] C FE changes

2015-10-24 Thread Cesar Philippidis
On 10/24/2015 01:03 AM, Jakub Jelinek wrote: > On Fri, Oct 23, 2015 at 07:31:51PM -0700, Cesar Philippidis wrote: > >> +static tree >> +c_parser_oacc_shape_clause (c_parser *parser, omp_clause_code kind, >> +const char *str, tree list) >>

Re: [OpenACC 5/11] C++ FE changes

2015-10-23 Thread Cesar Philippidis
On 10/23/2015 01:25 PM, Cesar Philippidis wrote: > On 10/22/2015 01:52 AM, Jakub Jelinek wrote: >> On Wed, Oct 21, 2015 at 03:18:55PM -0400, Nathan Sidwell wrote: >>> This patch is the C++ changes matching the C ones of patch 4. In >>> finish_omp_clauses, the gan

Re: [OpenACC 11/11] execution tests

2015-10-23 Thread Cesar Philippidis
On 10/23/2015 01:29 PM, Cesar Philippidis wrote: > On 10/22/2015 08:00 AM, Jakub Jelinek wrote: >> On Thu, Oct 22, 2015 at 07:47:01AM -0700, Cesar Philippidis wrote: >>>> But it is unclear from the parsing what from these is allowed: >>> >>> int v, w; >

Re: [OpenACC 4/11] C FE changes

2015-10-23 Thread Cesar Philippidis
On 10/23/2015 02:31 PM, Cesar Philippidis wrote: > On 10/23/2015 01:31 PM, Jakub Jelinek wrote: >> On Fri, Oct 23, 2015 at 01:17:07PM -0700, Cesar Philippidis wrote: >>> Good idea, thanks. This patch also corrects the problems parsing weird >>> combinations of num,

Re: Re: [OpenACC 4/11] C FE changes

2015-10-23 Thread Cesar Philippidis
On 10/22/2015 01:22 AM, Jakub Jelinek wrote: > On Wed, Oct 21, 2015 at 03:16:20PM -0400, Nathan Sidwell wrote: >> 2015-10-20 Cesar Philippidis <ce...@codesourcery.com> >> Thomas Schwinge <tho...@codesourcery.com> >> James Norris <jnor...@

Re: [OpenACC 11/11] execution tests

2015-10-23 Thread Cesar Philippidis
On 10/22/2015 08:00 AM, Jakub Jelinek wrote: > On Thu, Oct 22, 2015 at 07:47:01AM -0700, Cesar Philippidis wrote: >>> But it is unclear from the parsing what from these is allowed: >> >> int v, w; >> ... >> gang(26) // equivalent to gang(num:26) >> gan

Re: Re: [OpenACC 5/11] C++ FE changes

2015-10-23 Thread Cesar Philippidis
_LOCATION (c), 0, >> - "%<num_threads%> value must be positive"); >> - t = integer_one_node; >> - } >> - t = fold_build_cleanup_point_expr (TREE_TYPE (t), t); >> -}

Re: [OpenACC 4/11] C FE changes

2015-10-23 Thread Cesar Philippidis
On 10/23/2015 01:31 PM, Jakub Jelinek wrote: > On Fri, Oct 23, 2015 at 01:17:07PM -0700, Cesar Philippidis wrote: >> Good idea, thanks. This patch also corrects the problems parsing weird >> combinations of num, static and length arguments that you mentioned >> elsewh

Re: [OpenACC 11/11] execution tests

2015-10-22 Thread Cesar Philippidis
On 10/22/2015 07:23 AM, Nathan Sidwell wrote: > On 10/22/15 10:05, Jakub Jelinek wrote: >> On Thu, Oct 22, 2015 at 09:53:46AM -0400, Nathan Sidwell wrote: >>> On 10/22/15 05:37, Jakub Jelinek wrote: >>> And, I must say I'm at least missing testcases that check parsing but also

more accurate omp in fortran

2015-10-22 Thread Cesar Philippidis
also split off the check for variables appearing in multiple clauses into a separate function. It's a little overkill for trunk right now, but it is used quite a bit in gomp4 for oacc declare. I've tested these changes on x86_64. Is this ok for trunk? Cesar 2015-10-22 Cesar Philippidis <

Re: [OpenACC 11/11] execution tests

2015-10-22 Thread Cesar Philippidis
On 10/22/2015 08:00 AM, Jakub Jelinek wrote: > On Thu, Oct 22, 2015 at 07:47:01AM -0700, Cesar Philippidis wrote: >>> But it is unclear from the parsing what from these is allowed: >> >> int v, w; >> ... >> gang(26) // equivalent to gang(num:26) >> gan

Re: [gomp4 03/14] nvptx: expand support for address spaces

2015-10-20 Thread Cesar Philippidis
On 10/20/2015 02:13 PM, Bernd Schmidt wrote: > On 10/20/2015 11:04 PM, Alexander Monakov wrote: >> On Tue, 20 Oct 2015, Bernd Schmidt wrote: >> >>> On 10/20/2015 08:34 PM, Alexander Monakov wrote: This allows to emit decls in 'shared' memory from the middle-end. *

[gomp4] privatize internal array variables introduced by the fortran FE

2015-10-13 Thread Cesar Philippidis
only certain arrays have array descriptors? The arrays with descriptors don't have this problem. It's only the ones without descriptors that leak new internal variables that cause errors with default(none). Cesar 2015-10-13 Cesar Philippidis <ce...@codesourcery.com> gcc/fortran/ *

Re: [gomp4] privatize internal array variables introduced by the fortran FE

2015-10-13 Thread Cesar Philippidis
On 10/13/2015 01:29 PM, Jakub Jelinek wrote: > On Tue, Oct 13, 2015 at 01:12:25PM -0700, Cesar Philippidis wrote: >> Arrays in fortran have a couple of internal variables associated with >> them, e.g. stride, lbound, ubound, size, etc. Depending on how and where >> t

[gomp4] handle missing OMP_LIST_ clauses in fortran's parse tree debugger

2015-10-01 Thread Cesar Philippidis
the enum in gfortran.h because I couldn't figure out how things were ordered before. I've applied this patch to gomp-4_0-branch. Cesar 2015-10-01 Cesar Philippidis <ce...@codesourcery.com> gcc/fortran/ * dump-parse-tree.c (show_omp_clauses): Add missing omp list_types and reorder the switch

[gomp4] tile clause asterisk argument

2015-09-30 Thread Cesar Philippidis
in omplow. I've applied this patch to gomp-4_0-branch. Cesar 2015-09-30 Cesar Philippidis <ce...@codesourcery.com> gcc/fortran/ * openmp.c (resolve_oacc_loop_blocks): Represent astrisk tile arguments as -1. gcc/testsuite/ * gfortran.dg/goacc/loop-5.f95: New test. diff --git a/gcc/f

Re: OpenACC subarray data alignment in fortran

2015-09-29 Thread Cesar Philippidis
Ping. In the meantime, I'll apply this patch to gomp-4_0-branch. Cesar On 09/22/2015 08:24 AM, Cesar Philippidis wrote: > In both OpenACC and OpenMP, each subarray has at least two data mappings > associated with them, one for the pointer and another for the data in > the array sectio

Re: [gomp4] error on acc loops not associated with offloaded acc regions

2015-09-29 Thread Cesar Philippidis
On 09/29/2015 02:48 AM, Thomas Schwinge wrote: > On Mon, 28 Sep 2015 10:08:34 -0700, Cesar Philippidis > <ce...@codesourcery.com> wrote: >> I've applied this patch to gomp-4_0-branch which teaches omplower how to >> error when it detects acc loops which aren't nested i

[gomp4] error on acc loops not associated with offloaded acc regions

2015-09-28 Thread Cesar Philippidis
of long. Let me know if it should be revised. Cesar 2015-09-28 Cesar Philippidis <ce...@codesourcery.com> gcc/ * omp-low.c (check_omp_nesting_restrictions): Check for acc loops not associated with acc regions or routines. gcc/testsuite/ * c-c++-common/goacc/non-routine.c: New test.

Re: [gomp4] Another oacc reduction simplification

2015-09-25 Thread Cesar Philippidis
On 09/25/2015 03:57 AM, Nathan Sidwell wrote: > On 09/24/15 16:32, Cesar Philippidis wrote: >> On 09/22/2015 08:29 AM, Nathan Sidwell wrote: >> >>> 1) Don't have a fake gang reduction outside of worker & vector loops. >>> Deal with the receiver obj

Re: [gomp4] Another oacc reduction simplification

2015-09-24 Thread Cesar Philippidis
On 09/22/2015 08:29 AM, Nathan Sidwell wrote: > 1) Don't have a fake gang reduction outside of worker & vector loops. > Deal with the receiver object directly. I.e. 'ref_to_res' need not be a > null pointer for vector and worker loops. What happens when there is no receiver object. E.g. a

[gomp4] remap variables inside gang, worker, vector and collapse clauses

2015-09-23 Thread Cesar Philippidis
Gang, worker, vector and collapse all contain optional arguments which may be used during loop expansion. In OpenACC, those expressions could contain variables, but those variables aren't always getting remapped automatically. This patch remaps those variables inside lower_omp_loop. Note that I

Re: [gomp4] remap variables inside gang, worker, vector and collapse clauses

2015-09-23 Thread Cesar Philippidis
On 09/23/2015 10:42 AM, Cesar Philippidis wrote: > I've applied this patch to gomp-4_0-branch. This patch, that is. Cesar 2015-09-23 Cesar Philippidis <ce...@codesourcery.com> gcc/ * omp-low.c (lower_omp_for): Remap any variables present in OMP_CLAUSE_GANG, OMP_CLAU

Re: [gomp4] remap variables inside gang, worker, vector and collapse clauses

2015-09-23 Thread Cesar Philippidis
On 09/23/2015 11:26 AM, Thomas Schwinge wrote: > On Wed, 23 Sep 2015 10:57:40 -0700, Cesar Philippidis > <ce...@codesourcery.com> wrote: >> On 09/23/2015 10:42 AM, Cesar Philippidis wrote: >> | Gang, worker, vector and collapse all contain optional arguments which >

[gomp4] implicit data mappings of dummy arguments

2015-09-22 Thread Cesar Philippidis
. This patch teaches the gimplifier to do that. This corrects a bug where a dummy array gets implicitly transferred as firstprivate instead of pcopy. I've applied patch has been committed to gomp-4_0-branch. Cesar 2015-09-22 Cesar Philippidis <ce...@codesourcery.com> gcc/ * gimp

OpenACC subarray data alignment in fortran

2015-09-22 Thread Cesar Philippidis
as-is because I'm not that familiar with how non-OpenMP target regions get lowered. Is this patch OK for trunk? Thanks, Cesar 2015-09-22 Cesar Philippidis <ce...@codesourcery.com> gcc/ * fortran/trans-openmp.c (gfc_omp_finish_clause): Don't cast ptr into a character p

Re: New post-LTO OpenACC pass

2015-09-21 Thread Cesar Philippidis
todo_flags_start */ > + TODO_update_ssa | TODO_cleanup_cfg, /* todo_flags_finish */ > +}; Cesar 2015-09-21 Cesar Philippidis <ce...@codesourcery.com> gcc/ * doc/invoke.texi: Document -fdump-tree-oacc_xforms. * omp-low.c (pass_data_oacc_transform): Rename the tree dump for oacc_transform as oacc

Re: [gomp4, wip] remove references to ganglocal shared memory inside gcc

2015-09-18 Thread Cesar Philippidis
On 09/18/2015 01:39 AM, Thomas Schwinge wrote: > On Tue, 1 Sep 2015 18:29:55 +0200, Tom de Vries <tom_devr...@mentor.com> > wrote: >> On 27/08/15 03:37, Cesar Philippidis wrote: >>> - ctx->ganglocal_size_host = align_and_expand (_host, host_size, align); >>

[gomp4] parallel reduction nested inside data regions

2015-09-11 Thread Cesar Philippidis
-4_0-branch. Cesar 2015-09-11 Cesar Philippidis <ce...@codesourcery.com> gcc/ * omp-low.c (build_outer_var_ref): gcc/testsuite/ * c-c++-common/goacc/parallel-reduction.c: Enclose the parallel reduction inside an acc data region. libgomp/ * testsuite/libgomp.oacc-c-c++-common/pa

[gomp4] assign unused gwv clauses to auto/independent parallel acc loops

2015-09-09 Thread Cesar Philippidis
resolved? Cesar 2015-09-09 Cesar Philippidis <ce...@codesourcery.com> gcc/ * omp-low.c (struct oacc_gwv): New struct. (filter_omp_clause): New function. (set_oacc_parallel_loop_gwv_1): New function. (set_oacc_parallel_loop_gwv): New function. (scan_omp_for): Use filer_omp_clause to

[gomp4] force global locks for nvptx targets

2015-09-08 Thread Cesar Philippidis
, but for the time being, global locks appear to work albeit with a lock contention penalty. I've applied this patch to gomp-4_0-branch. Cesar 2015-09-08 Cesar Philippidis <ce...@codesourcery.com> gcc/ * config/nvptx/nvptx.c (force_global_lock): New global variable. (nvptx_expand_oacc_lock

[gomp4] remove xfails in the libgomp reduction tests

2015-09-02 Thread Cesar Philippidis
that bug and removes the xfails from the reduction test cases. This patch has been committed to gomp-4_0-branch. Cesar 2015-09-02 Cesar Philippidis <ce...@codesourcery.com> libgomp/ * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: Remove xfail. * testsuite/libgomp.oa

[gomp4] useless reduction locks and other bug fixes

2015-09-01 Thread Cesar Philippidis
This patch teaches lower_oacc_reductions not to generate calls to GOACC_{UN}LOCK if they aren't any reductions. That situation can happen when there is a fake gang reduction on a private variable. I also found a bug where the lower_rec_input_clauses expects there to be a data mapping for the

Re: [gomp4] useless reduction locks and other bug fixes

2015-09-01 Thread Cesar Philippidis
[Attaching patch this time.] On 09/01/2015 04:21 PM, Cesar Philippidis wrote: > This patch teaches lower_oacc_reductions not to generate calls to > GOACC_{UN}LOCK if they aren't any reductions. That situation can happen > when there is a fake gang reduction on a private variable. &g

[gomp4] check for compatible parallelism with acc routines

2015-08-28 Thread Cesar Philippidis
of these loops. I.e., only the seq loop itself is executing in a non-partitioned mode. Julian inquired about this in the openacc technical list a while ago, but I don't think he got a response. This patch has been applied to gomp-4_0-branch. Cesar 2015-08-28 Cesar Philippidis ce...@codesourcery.com

Re: [gomp4, wip] remove references to ganglocal shared memory inside gcc

2015-08-27 Thread Cesar Philippidis
On 08/27/2015 06:13 AM, Nathan Sidwell wrote: On 08/26/15 21:37, Cesar Philippidis wrote: This patch strips out all of the references to ganglocal memory in gcc. Unfortunately, the runtime api still takes a shared memory parameter, so I haven't made any changes there yet. Perhaps we could

[gomp4] teach the tracer pass to ignore more blocks for OpenACC

2015-08-26 Thread Cesar Philippidis
nicely with const_basic_block. Is this patch ok for gomp-4_0-branch? Cesar 2015-08-25 Cesar Philippidis ce...@codesourcery.com gcc/ * tracer.c (ignore_bb_p): Change bb argument from const_basic_block to basic_block. Check for non-clonable calls to internal functions. diff --git a/gcc

Re: [gomp4] lowering OpenACC reductions

2015-08-26 Thread Cesar Philippidis
On 08/21/2015 02:00 PM, Cesar Philippidis wrote: This patch teaches omplower how to utilize the new OpenACC reduction framework described in Nathan's document, which was posted here https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01248.html. Here is the infrastructure patch https://gcc.gnu.org

[gomp4] initialize worker reduction locks

2015-08-26 Thread Cesar Philippidis
function used in the patch a couple of days ago. I've applied this patch to gomp-4_0-branch. Cesar 2015-08-26 Cesar Philippidis ce...@codesourcery.com gcc/ * omp-low.c (lower_oacc_reductions): Call GOACC_REDUCTION_INIT to initialize the gang and worker mutex. diff --git a/gcc/omp-low.c b/gcc/omp

[gomp4, wip] remove references to ganglocal shared memory inside gcc

2015-08-26 Thread Cesar Philippidis
? Cesar 2015-08-26 Cesar Philippidis ce...@codesourcery.com gcc/ * builtins.c (expand_oacc_ganglocal_ptr): Delete. (expand_builtin): Remove stale GOACC_GET_GANGLOCAL_PTR builtin. * config/nvptx/nvptx.md (ganglocal_ptr): Delete. * gimple.h (struct gimple_statement_omp_parallel_layout

[gomp4] firstprivate bug in combined acc loops

2015-08-24 Thread Cesar Philippidis
committed to gomp-4_0-branch. Cesar 2015-08-24 Cesar Philippidis ce...@codesourcery.com gcc/c-family * c-omp.c (c_oacc_split_loop_clauses): Don't propagate OMP_CLAUSE_FIRSTPRIVATE to acc loops with splitting the clauses. diff --git a/gcc/c-family/c-omp.c b/gcc/c-family/c-omp.c index e9df829

[gomp4] bug fix for num_gangs inside fortran subroutines

2015-08-24 Thread Cesar Philippidis
This patch adds support for num_gangs, num_workers and vector_length inside nested functions. This fixes an ICE that I hit inside a nested fortran subroutine that was using a num_gangs clause on an acc parallel construct. I applied this patch to gomp-4_0-branch. Cesar

[gomp4] nvptx reductions

2015-08-21 Thread Cesar Philippidis
in? Cesar 2015-08-20 Cesar Philippidis ce...@codesourcery.com gcc/ * config/nvptx/nvptx.c (enum nvptx_builtins): New enum. (NVPTX_BUILTIN_MAX): Delete. (nvptx_get_worker_red_addr_fn): New function. (nvptx_generate_vector_shuffle): New function. (nvptx_shuffle_reduction): New function

[gomp4] don't use VLA's in the reduction tests

2015-08-21 Thread Cesar Philippidis
Nathan noticed that I was using VLA's in the a couple of compile-time reduction tests. That's bad because ptx doesn't have support alloca. I guess these tests used to pass because we were only running them on the host. I'll apply this patch shortly. Cesar 2015-08-21 Cesar Philippidis ce

[gomp4] lowering OpenACC reductions

2015-08-21 Thread Cesar Philippidis
for now because par-loops doesn't support workers and vectors yet. But if we go with this change, par-loops will need to be updated eventually. Is this ok for gomp-4_0-branch? Cesar 2015-08-21 Cesar Philippidis ce...@codesourcery.com gcc/ * gimplify.c (struct privatize_reduction): New struct

[gomp4] New reduction infrastructure for OpenACC

2015-08-19 Thread Cesar Philippidis
and friends, while OpenACC will use this infrastructure. That said, OpenMP could taught to use this infrastructure. Is this patch OK for gomp-4_0-branch? Thanks, Cesar 2015-08-19 Cesar Philippidis ce...@codesourcery.com gcc/ * doc/tm.texi: Regenerate. * doc/tm.texi.in: Add a placeholder

[gomp4] non-acc loop reductions implicit copy bugfix

2015-08-14 Thread Cesar Philippidis
later on if necessary. I'll apply this patch to gomp-4_0-branch shortly. Cesar 2015-08-14 Cesar Philippidis ce...@codesourcery.com gcc/ * c/c-typeck.c (c_finish_omp_clauses): Permit variables to appear in both OpenACC data and reduction clauses. * cp/semantics.c (finish_omp_clauses

Re: [gomp4] Redesign oacc_parallel launch API

2015-08-06 Thread Cesar Philippidis
On 07/28/2015 09:52 AM, Nathan Sidwell wrote: I've committed this patch to the gomp4 branch to redo the launch API. I'll post a version for trunk once the versioning patch gets approved committed. This changes the API in a number of ways, allowing device-specific knowledge to be moved

Re: [gomp4] Worker reduction builtin

2015-08-06 Thread Cesar Philippidis
)) (const_int 0 [0]))) wred.c:9 -1 (nil)) The attached patch fixes it by assigning worker_red_sym to a scratch register. Is this OK gomp-4_0-branch? Cesar 2015-08-06 Cesar Philippidis ce...@codesourcery.com gcc/ * config/nvptx/nvptx.c (nvptx_expand_work_red_addr): Use

Re: [gomp4] fix spinlock

2015-08-06 Thread Cesar Philippidis
as-is for gomp-4_0-branch? Thanks, Cesar 2015-08-06 Cesar Philippidis ce...@codesourcery.com gcc/ * config/nvptx/nvptx.c (nvptx_expand_lock_unlock): Pass an additional scratch register to gen_nvptx_spinlock. * config/nvptx/nvptx.md (nvptx_membar): Use %B for the address space operand

<    1   2   3   4   5   6   7   >