[gomp4] Fix handling of subarrays with update directive

2016-01-22 Thread James Norris
: ChangeLog.gomp === --- ChangeLog.gomp (revision 232740) +++ ChangeLog.gomp (revision 232741) @@ -1,3 +1,11 @@ +2016-01-22 James Norris + + * oacc-mem.c (delete_copyout, update_dev_host): Fix device address. + * testsuite/libgomp.oacc-c-c

Re: [PATCH] Fix use of declare'd vars by routine procedures.

2016-01-28 Thread James Norris
/ChangeLog (working copy) @@ -1,3 +1,7 @@ +2016-01-XX James Norris + + * gimplify.c (gimplify_var_or_parm_decl): Add usage check. + 2016-01-25 Jeff Law PR tree-optimization/69196 Index: gcc/gimplify.c === diff --git a/trunk/gcc

Re: [PATCH] Fix use of declare'd vars by routine procedures.

2016-02-01 Thread James Norris
Hi! On 01/29/2016 02:31 AM, Jakub Jelinek wrote: On Thu, Jan 28, 2016 at 12:26:38PM -0600, James Norris wrote: I think the attached change is what you had in mind with regard to doing the check at gimplification time. Nope, this is still a wrong location for that. If you look at the next

[PATCH] Fix PR64748

2016-02-01 Thread James Norris
eviceptr-1.c: Add tests. diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 5341f04..f2d114c 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,8 @@ +2016-02-XX James Norris + + PR c/64748 + * c-parser.c (c_parser_oacc_data_clause_deviceptr): Allow parms. + 2016-01-27 Jakub Jeline

Re: [PATCH] Fix PR64748

2016-02-02 Thread James Norris
Hi! On 02/01/2016 02:03 PM, Jakub Jelinek wrote: On Mon, Feb 01, 2016 at 01:41:50PM -0600, James Norris wrote: The attached patch resolves c/PR64748. The patch adds the use of parm's with the deviceptr clause. [snip snip] --- a/gcc/c/c-parser.c +++ b/gcc/c/c-parser.c @@ -10760,7 +10

[gomp4] Fix use of declare'd vars by routine procedures.

2016-02-03 Thread James Norris
check. Index: gcc/ChangeLog.gomp === --- gcc/ChangeLog.gomp (revision 233104) +++ gcc/ChangeLog.gomp (working copy) @@ -1,3 +1,9 @@ +2016-02-03 James Norris + * gimplify.c (omp_notice_variable): Add usage check. + 2016-01-22 N

Re: [PATCH] Fix PR64748

2016-02-15 Thread James Norris
Hi, Ping! Thanks, Jim On 02/02/2016 08:51 AM, James Norris wrote: Hi! On 02/01/2016 02:03 PM, Jakub Jelinek wrote: On Mon, Feb 01, 2016 at 01:41:50PM -0600, James Norris wrote: The attached patch resolves c/PR64748. The patch adds the use of parm's with the deviceptr clause.

[gomp4] Fix PR64748

2016-02-16 Thread James Norris
/ChangeLog.gomp (working copy) @@ -1,3 +1,10 @@ +2016-02-15 James Norris + + Backport from trunk: + PR c/64748 + * parser.c (cp_parser_oacc_data_clause_deviceptr): Remove checking. + * semantics.c (finish_omp_clauses): Add deviceptr checking. + 2016-02-03 James Norris * semantics.c

[gomp4] splay tree implementation for future OpenACC runtime library usage.

2013-12-05 Thread James Norris
Hi! Here is a patch that changes the splay tree implementation. Specifically, generalizes the implementation so that it can be used by other functions outside of its use by the functions within target.c. Would appreciate review of the changes. Thanks! Generalize splay tree implementa

[ping][gomp4] splay tree implementation for future OpenACC runtime library usage.

2013-12-22 Thread James Norris
Hi! Ping! http://gcc.gnu.org/ml/gcc-patches/2013-12/msg00527.html

[ping][gomp4] splay tree implementation for future OpenACC runtime library usage.

2014-01-06 Thread James Norris
Hi! Ping * 2 http://gcc.gnu.org/ml/gcc-patches/2013-12/msg00527.html Thanks!

Re: [gomp4] Handle deviceptr from an outer directive

2015-07-10 Thread James Norris
Hi Thomas! On 07/09/2015 03:51 AM, Thomas Schwinge wrote: Hi Jim! On Tue, 7 Jul 2015 10:19:39 -0500, James Norris wrote: This patch fixes an issue where the deviceptr clause in an outer directive was being ignored during implicit variable definition on a nested directive. Committed to

Re: [gomp4] Handle Fortran deviceptr clause.

2015-07-10 Thread James Norris
Hi Thomas, On 07/09/2015 03:29 AM, Thomas Schwinge wrote: Hi Jim! On Wed, 8 Jul 2015 13:00:16 -0500, James Norris wrote: This patch adds handling of the deviceptr clause when used within a Fortran program. Please motivate such non-obvious code changes by a test case. At least to me, it&#

[gomp4] Add additional test for declare directive

2015-07-13 Thread James Norris
Hi, The attached patch adds a test for the copyout clause with the declare directive. The testing of this clause was overlooked. Committed to gomp-4_0-branch. Jim diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/declare-1.c index

[gomp4] New test loop independent clause

2015-07-14 Thread James Norris
Hi, The attached adds testing for the independent clause with the loop directive in Fortran. Committed to gomp-4_0-branch. Jim diff --git a/libgomp/testsuite/libgomp.oacc-fortran/kernels-independent.f90 b/libgomp/testsuite/libgomp.oacc-fortran/kernels-independent.f90 new file mode 100644 index

[gomp4] Additional tests

2015-07-15 Thread James Norris
Hi, The attached patch add tests for combined directives for, i.e., the parallel + loop directive and the kernel + loop directive for C/C++/Fortran. Tests also added for the private, num_gangs, num_workers, and vector_length clauses with the parallel directive in Fortran. Jim diff --git a/libgom

Re: [gomp4.1] Handle new form of #pragma omp declare target

2015-07-17 Thread James Norris
Jakub, On 07/17/2015 08:05 AM, Jakub Jelinek wrote: Hi! ... I believe OpenACC has something similar, but no idea if it is already implemented. Yes, it is implemented in gomp-4_0-branch. While the purpose for 'omp declare target' and 'acc declare' are similar, the data movement, via the cla

[gomp4] Fix acc_shutdown issue.

2015-07-21 Thread James Norris
Hi, The attached patch fixes an issue that showed up when running the C/C++ version of asyncwait-1 within the libgomp testsuite. The issue arose because the entries added for the address mapping tables were not complete. Now that they are, a special function is no longer needed to remove the entr

[gomp4] Additional tests for kernels directive.

2015-07-21 Thread James Norris
Hi, The attached file contains additional tests for the if, async, and wait clauses associated with the kernels directive. Jim diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c index 22cef6d..d478ce2 100644 --- a/l

[gomp4] Fix variable initialization

2015-07-24 Thread James Norris
Hi, The attached patch fixes a couple of missing variable initializations. Committed to gomp-4_0-branch. Jim diff --git a/libgomp/target.c b/libgomp/target.c index 16283ad..0470d3b 100644 --- a/libgomp/target.c +++ b/libgomp/target.c @@ -1130,7 +1130,7 @@ gomp_load_plugin_for_device (struct go

[gomp4] Additional tests for routine directive

2015-07-24 Thread James Norris
Hi, The attached patch adds additional test for the routine directive for C/C++/Fortran. Committed to gomp-4_0-branch. Jim diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-3.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-3.c new file mode 100644 index 000..73ca528 -

Re: [gomp4] Additional tests for routine directive

2015-07-27 Thread James Norris
Thomas, The attached patch adds XFAILs so as to quiet the errors until such time as the development is complete. Committed to gomp-4_0-branch. Thank you, thank you Jim On 07/27/2015 08:36 AM, Thomas Schwinge wrote: Hi! On Fri, 24 Jul 2015 15:43:36 -0500, James Norris wrote: The attached

[gomp4] finish_oacc_declare fix

2015-07-31 Thread James Norris
Hi, The attached patch adds a constraint to prevent finish_oacc_declare from being passed thru multiple times when dealing with a template and and instance of a template. Also cleaned up the interface to finish_oacc_declare. Committed to gomp-4_0-branch. Jim diff --git a/gcc/cp/decl.c b/gcc/cp

[PATCH] Remove restriction for remote testing

2015-09-28 Thread James Norris
Hi, The attached patch fixes a problem when doing remote testing. Specifically, testing of the atomic tests found in gcc/atomic. The code in atomic_init precludes the setting of the variable 'link_flags' when doing remote testing. The conditional test can be safely removed as get_multilibs will r

[gomp4] Remove erroneous test and unreachable situation.

2015-09-28 Thread James Norris
Hi, The attached patch removes an erroneous attribute test and an unreachable situation. Both showed up when dealing with the routine directive and the name option where the name was the identical to the name of the function / subroutine. Committed after regtest on x86_64 and powerpc64le. Thank

Re: [gomp4] Remove erroneous test and unreachable situation.

2015-09-29 Thread James Norris
) +++ libgomp/ChangeLog.gomp (working copy) @@ -1,3 +1,7 @@ +2015-09-29 James Norris + + * testsuite/libgomp.oacc-fortran/routine-9.f90: New test. + 2015-09-29 Nathan Sidwell * oacc-init.c (acc_on_device): Compile with optimization. Index: libgomp/testsuite/libgomp.oacc-fortran/routine-9.f90

Re: [PATCH] Remove restriction for remote testing

2015-10-05 Thread James Norris
Ping. On 09/28/2015 07:35 AM, James Norris wrote: Hi, The attached patch fixes a problem when doing remote testing. Specifically, testing of the atomic tests found in gcc/atomic. The code in atomic_init precludes the setting of the variable 'link_flags' when doing remote te

[gomp4] Add -foffload-abi support for PPC

2015-10-06 Thread James Norris
/ChangeLog.gomp +++ b/gcc/ChangeLog.gomp @@ -1,3 +1,11 @@ +2015-10-06 James Norris + + * common.opt (OFFLOAD_ABI_PPC64): New enum. + * config/nvptx/mkoffload.c (compile_native): Handle new enum. + (main): Handle new option. + * config/rs6000/rs6000.c (rs6000_offload_options): New hook. + * gcc/coretypes.h

Re: [PATCH] Remove restriction for remote testing

2015-10-07 Thread James Norris
Hi, On 10/05/2015 01:56 PM, Mike Stump wrote: I don't think this is appropriate. The design is for remote host testing to have the compete shape of an installed compiler as I recall. When it does, it then is indistinguishable from an installed compiler, and when it is installed, then no -L

[gomp4] Remove restriction for remote testing

2015-10-07 Thread James Norris
Hi, The attached patch is a backport from trunk. commit 3dabf8ddc9b4f0da3277991d20525d062e5b5138 Author: jnorris Date: Wed Oct 7 17:09:46 2015 + * testsuite/lib/atomic-dg.exp (atomic_link_flags): Move flag setting to atomic_init. (atomic_init): Restrict flags usage.

Re: Add -foffload-abi support for PPC

2015-10-08 Thread James Norris
Hi! On 10/07/2015 08:51 AM, David Edelsohn wrote: On Wed, Oct 7, 2015 at 4:02 AM, Thomas Schwinge wrote: From a quick look at the *_TYPE_SIZE definitions in gcc/config/rs6000/rs6000.h as well as , "3-1 Fundamental Types", and

Re: Add -foffload-abi support for PPC

2015-10-09 Thread James Norris
David, On 10/08/2015 11:53 AM, David Edelsohn wrote: On Thu, Oct 8, 2015 at 12:19 PM, James Norris wrote: I've revised the patch from the review comments (thank you) and is attached. Regtested on x86_64 and powerpcle64. OK for trunk? What is the goal? Do you want this to retur

[gomp4] Revert patch

2015-10-09 Thread James Norris
Hi, The attached patch reverts a previously attached patch. 2015-10-06 James Norris * common.opt (OFFLOAD_ABI_PPC64): New enum. * config/nvptx/mkoffload.c (compile_native): Handle new enum. (main): Handle new option. * config/rs6000/rs6000.c

[gomp4] Backport from trunk

2015-10-09 Thread James Norris
Hi, The attached patch was backported from trunk. commit 13d478244d380d1564eefc204201b7f681218ce3 Author: jnorris Date: Fri Oct 9 12:35:58 2015 + * config/rs6000/rs6000.c (rs6000_offload_options): New. (TARGET_OFFLOAD_OPTIONS): New. Jim diff --git a/gcc/config/rs6000/rs

[PATCH] Fix libgomp OpenACC test

2015-10-12 Thread James Norris
Hi, The attached patch fixes a test where the for-loop iterator was not initialized. Committed to trunk as obvious. Jim diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/vector-loop.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/vector-loop.c index cc915a9..8a51ee3 100644 --- a/libgomp/

[gomp4] Backport from trunk

2015-10-12 Thread James Norris
Hi, The attached patch was backported from trunk. commit 140722d9d2d574574c982f4616a80bb0ef766276 Author: jnorris Date: Mon Oct 12 20:22:30 2015 + * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop initializer. Jim diff --git a/libgomp/testsuite/libgomp.oacc-

[OpenACC 0/7] host_data construct

2015-10-22 Thread James Norris
Hi! This patch series adds the handling of OpenACC host_data construct in the C and C++ front-ends, gimple, and supporting functions in libgomp. Commentary on the changes is included in each individual patch. All of the code is in the gomp-4_0-branch. Regtested on x86_64

[OpenACC 1/7] host_data construct (C/C++ common)

2015-10-22 Thread James Norris
gcc/c-family/c-pragma.c b/gcc/c-family/c-pragma.c - Add host_data pragma definition to list in oacc_pragma[]. gcc/c-family/c-pragma.h b/gcc/c-family/c-pragma.h - Add host_data pragma enum to list in pragma_kind[]. - Add use_device clause enum to list in pragma_o

[OpenACC 3/7] host_data construct (C front-end)

2015-10-22 Thread James Norris
gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h - Add definition for c_finish_oacc_host_data(). gcc/cp/parser.c b/gcc/cp/parser.c - Add handling of use_device clause in cp_parser_omp_clause_name(). - Add handling of use_device clause in cp_parser_oacc_all_clauses().

[OpenACC 2/7] host_data construct (C FE)

2015-10-22 Thread James Norris
gcc/c/c-parser.c b/gcc/c/c-parser.c - Add handling of use_device clause in c_parser_omp_clause_name(). - Add new function c_parser_oacc_clause_use_device() to handle use_device clause with host_data. - Add handling of use_device clause in c_parser_oacc_all_c

[OpenACC 4/7] host_data construct (middle end)

2015-10-22 Thread James Norris
gcc/gimplify.c b/gcc/gimplify.c - Add new enum for use_device clause handling to gimplify_omp_var_data. - Add new enum for host_data regions to omp_region_type. - Move handling of use_device clause in gimplify_scan_omp_clauses(). - Add new functions gimplify_h

[OpenACC 5/7] host_data construct (gcc tests)

2015-10-22 Thread James Norris
gcc/testsuite/c-c++-common/goacc/host_data-1.c b/gcc/testsuite/c-c++-common/goacc/host_data-1.c gcc/testsuite/c-c++-common/goacc/host_data-2.c b/gcc/testsuite/c-c++-common/goacc/host_data-2.c gcc/testsuite/c-c++-common/goacc/host_data-3.c b/gcc/testsuite/c-c++-common/goacc/host_dat

[OpenACC 6/7] host_data construct

2015-10-22 Thread James Norris
libgomp/libgomp.map b/libgomp/libgomp.map - Add new symbol GOACC_deviceptr. libgomp/oacc-mem.c b/libgomp/oacc-mem.c - Add new function GOACC_deviceptr() to handle pointer lookup for host_data regions. diff --git a/libgomp/libgomp.map b/libgomp/libgomp.map index

[OpenACC 7/7] host_data construct (runtime tests)

2015-10-22 Thread James Norris
libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-2.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-2.c - New runtime tests for host_data. diff

Re: [OpenACC 0/7] host_data construct

2015-10-22 Thread James Norris
To all, On 10/22/2015 03:36 PM, Joseph Myers wrote: I think this patch is small enough, and the pieces insufficiently self-contained, that splitting it up rather than posting as one patch just makes it harder to understand. My strong preference is that the same patch that introduces a feature s

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

2015-10-23 Thread James Norris
x. Thanks! Jim 2015-10-23 Julian Brown James Norris gcc/c-family/ * c-pragma.c (oacc_pragmas): Add host_data pragma definition. * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_HOST_DATA. (enum pragma_omp_clause): Add PRAGMA

[OpenACC] declare directive

2015-10-27 Thread James Norris
the runtime tests has a gap in it. These tests use both the declare and routine directive. The support for the routine directive has yet to be added to trunk, so these tests will appear once the support has been committed.) 2015-10-27 James Norris gcc/ * bui

Re: [OpenACC] declare directive

2015-10-28 Thread James Norris
Cesar, On 10/28/2015 11:32 AM, Cesar Philippidis wrote: 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 inclu

OpenACC declare directive updates

2015-11-02 Thread James Norris
This patch updates the processing of OpenACC declare directive for Fortran in the following areas: 1) module support 2) device_resident and link clauses 3) clause checking 4) directive generation Commentary on the changes is included as an attachment

Re: [OpenACC] declare directive

2015-11-03 Thread James Norris
On 10/27/2015 03:18 PM, James Norris wrote: Hi! 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). All of the code is in the gomp-4_0

OpenACC declare directive updates

2015-11-04 Thread James Norris
TODO Testing New compile and runtime tests have been added. Also some have been modified. 2015-10-29 James Norris Cesar Philippidis gcc/fortran/ * dump-parse-tree.c (show_namespace): Reimplement. * f95-lang.c (gfc_attribute_table): N

Re: [OpenACC] declare directive

2015-11-04 Thread James Norris
Hi Thomas, On 11/04/2015 10:49 AM, Thomas Schwinge wrote: Hi Jim! On Tue, 3 Nov 2015 10:31:32 -0600, James Norris wrote: On 10/27/2015 03: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

Re: OpenACC declare directive updates

2015-11-06 Thread James Norris
Jakub, Ping Do you need more information before you can review this patch? Thanks! Jim On 11/04/2015 06:32 AM, James Norris wrote: This patch updates the processing of OpenACC declare directive for Fortran in the following areas: 1) module support 2

Re: [OpenACC] declare directive

2015-11-06 Thread James Norris
Jakub, Ping. Do you need more information before you can review this patch? Thanks! Jim On 10/27/2015 03:18 PM, James Norris wrote: Hi! This patch adds the processing of OpenACC declare directive in C and C++. (Note: Support in Fortran is already in trunk.) Commentary on the

Re: [OpenACC] declare directive

2015-11-06 Thread James Norris
e updated patch ready for you when you walk in on your Monday. Thank you, Jim On 11/04/2015 10:49 AM, Thomas Schwinge wrote: Hi Jim! On Tue, 3 Nov 2015 10:31:32 -0600, James Norris wrote: On 10/27/2015 03:18 PM, James Norris wrote: This patch adds the processing of OpenACC declare

Re: [OpenACC] declare directive

2015-11-06 Thread James Norris
On 11/06/2015 10:08 AM, James Norris wrote: Thomas, I've added the issues that you pointed out. Attached is the updated patch and ChangeLog. Thanks for taking the time for your review! Errr, make that 'addressed the issues that you pointed out." Opps, Jim

Re: OpenACC declare directive updates

2015-11-06 Thread James Norris
Jakub, On 11/06/2015 01:31 PM, Jakub Jelinek wrote: On Wed, Nov 04, 2015 at 06:32:00AM -0600, James Norris wrote: +/* Node in the linked list used for storing !$oacc declare constructs. */ + +typedef struct gfc_oacc_declare +{ + struct gfc_oacc_declare *next; + bool module_var

Re: [OpenACC] declare directive

2015-11-06 Thread James Norris
Jakub, On 11/06/2015 01:03 PM, Jakub Jelinek wrote: On Fri, Nov 06, 2015 at 10:08:26AM -0600, James Norris wrote: 2015-10-27 James Norris Joseph Myers gcc/ * c-family/c-pragma.c (oacc_pragmas): Add entry for declare directive. * c-family/c-pragma.h

Re: [OpenACC] declare directive

2015-11-06 Thread James Norris
Jakub, On 11/06/2015 01:22 PM, Jakub Jelinek wrote: On Fri, Nov 06, 2015 at 08:03:52PM +0100, Jakub Jelinek wrote: What exactly do you want to achieve? Why do you record it in gimplify_omp_ctx, but then only look at it in gimplify_body? The way you abuse gimplify_omp_ctx for that is just too u

Re: OpenACC declare directive updates

2015-11-06 Thread James Norris
Jakub, On 11/06/2015 01:49 PM, Jakub Jelinek wrote: On Fri, Nov 06, 2015 at 01:45:09PM -0600, James Norris wrote: Okay, I'll fix this. After fixing, OK to commit? Thank you for taking the time for the review. Well, isn't this patch really dependent on the other one? Yes. Should

Re: [OpenACC] declare directive

2015-11-06 Thread James Norris
On 11/06/2015 02:28 PM, Jakub Jelinek wrote: On Fri, Nov 06, 2015 at 02:18:11PM -0600, James Norris wrote: On 11/06/2015 01:22 PM, Jakub Jelinek wrote: On Fri, Nov 06, 2015 at 08:03:52PM +0100, Jakub Jelinek wrote: What exactly do you want to achieve? Why do you record it in gimplify_omp_ctx

Re: OpenACC declare directive updates

2015-11-08 Thread James Norris
ectly: On Fri, Nov 06, 2015 at 01:45:09PM -0600, James Norris wrote: Also, wonder about BLOCK stmt in Fortran, that can give you variables that don't live through the whole function, but only a portion of it even in Fortran. OK to commit to trunk? Thanks! Jim 2015-XX-XX Ja

Re: [OpenACC] declare directive

2015-11-08 Thread James Norris
nge has yet make it to trunk. I need some guidance from you whether I can leave the code as is and resolve the issue at stage3 time, or remove the code and the associated function device_resident_() and address the issue at stage 3. OK to commit to trunk? Thanks! Jim 2015-XX-XX James Norris

Re: OpenACC declare directive updates

2015-11-08 Thread James Norris
, that can give you variables that don't live through the whole function, but only a portion of it even in Fortran." OK to commit to trunk? Thanks! Jim 2015-XX-XX James Norris Joseph Myers gcc/c-family/ * c-pragma.c (oacc_pragmas): Add entry for declar

Re: [OpenACC] declare directive

2015-11-09 Thread James Norris
Jakub, This is an update of the patch from: https://gcc.gnu.org/ml/gcc-patches/2015-11/msg00893.html. There was an unused variable in c/c-parser.c that was removed. I've included the ChangeLog as a convenience, but nothing was changed in the file. Thanks! Jim 2015-XX-XX James N

Re: [OpenACC] declare directive

2015-11-09 Thread James Norris
Jakub, On 11/09/2015 10:21 AM, Jakub Jelinek wrote: On Mon, Nov 09, 2015 at 10:01:32AM -0600, James Norris wrote: + if (lookup_attribute ("omp declare target", DECL_ATTRIBUTES (decl))) Here you only look up "omp declare target", not "omp declare target link"

Re: [OpenACC] declare directive

2015-11-09 Thread James Norris
with determining which identifier to use with an attribute. Thanks! Jim 2015-XX-XX James Norris Joseph Myers gcc/c-family/ * c-pragma.c (oacc_pragmas): Add entry for declare directive. * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.

Re: [OpenACC] declare directive

2015-11-11 Thread James Norris
32 AM, Jakub Jelinek wrote: On Mon, Nov 09, 2015 at 05:11:44PM -0600, James Norris wrote: >diff --git a/gcc/c-family/c-pragma.h b/gcc/c-family/c-pragma.h >index 953c4e3..c6a2981 100644 >--- a/gcc/c-family/c-pragma.h >+++ b/gcc/c-family/c-pragma.h >@@ -30,6 +30,7

Re: [OpenACC] declare directive

2015-11-12 Thread James Norris
Jakub On 11/12/2015 03:09 AM, Jakub Jelinek wrote: On Wed, Nov 11, 2015 at 07:07:58PM -0600, James Norris wrote: + oacc_declare_returns->remove (t); + + if (oacc_declare_returns->elements () == 0) + { +

[PATCH] Fix unused variable.

2015-11-12 Thread James Norris
) +++ gcc/cp/ChangeLog (working copy) @@ -1,4 +1,8 @@ 2015-11-12 James Norris + + * parser.c (cp_parser_oacc_declare): Remove unused. + +2015-11-12 James Norris Joseph Myers * parser.c (cp_parser_omp_clause_name): Handle 'device_resident' Index: gcc/c

Re: OpenACC declare directive updates

2015-11-19 Thread James Norris
in a BLOCK construct. On 11/06/2015 01:49 PM, Jakub Jelinek wrote: On Fri, Nov 06, 2015 at 01:45:09PM -0600, James Norris wrote: Okay, I'll fix this. After fixing, OK to commit? Thank you for taking the time for the review. Well, isn't this patch really dependent on the other one? Also

Re: [PATCH] fortran/openmp.c -- Fix bootstrap

2015-11-22 Thread James Norris
Hi, Patch committed to trunk as obvious. Thanks to Dominique and Steve. Jim On 11/22/2015 12:59 PM, Steve Kargl wrote: I have no idea if this is actually correct, but it restores bootstrap. OK to commit? 2015-11-22 Steven G. Kargl * openmp.c (match_oacc_clause_gang): Fix boot

[gomp4] Fix Fortran deviceptr

2015-12-06 Thread James Norris
diff --git a/libgomp/ChangeLog.gomp b/libgomp/ChangeLog.gomp index a2f1c31..791aa4c 100644 --- a/libgomp/ChangeLog.gomp +++ b/libgomp/ChangeLog.gomp @@ -1,3 +1,10 @@ +2015-12-06 James Norris + + * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start): + Handle Fortran deviceptr clause combin

[PATCH] Fix Fortran deviceptr clause.

2015-12-06 Thread James Norris
region. Also a new set of test cases has been added. Regtested on x86_64-pc-linux-gnu Ok for trunk? Thanks! Jim diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index cde0b5c..df26e7c 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,10 @@ +2015-12-XX James Norris + + * oacc

Re: [gomp4] Fix Fortran deviceptr

2015-12-08 Thread James Norris
Cesar, On 12/07/2015 09:55 AM, Cesar Philippidis wrote: [snip snip] Two observations: 1. Why is deviceptr so special that gomp_map_vars can't handle it directly? Recall that the deviceptr clause in Fortran presents as two mappings: FORCE_DEVICEPTR and POINTER. The former has the devic

[gomp4] Add Fortran runtime test

2015-12-08 Thread James Norris
) @@ -1,3 +1,7 @@ +2015-12-08 James Norris + + * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Add new test. + 2015-12-08 Thomas Schwinge James Norris Index: libgomp/testsuite/libgomp.oacc-fortran/kernels-map-1.f90

Re: [gomp4] Fix Fortran deviceptr

2015-12-09 Thread James Norris
Cesar, On 12/08/2015 11:10 AM, Cesar Philippidis wrote: On 12/08/2015 08:22 AM, James Norris wrote: 2. It appears that deviceptr code in GOACC_parallel_keyed is mostly identical to GOACC_data_start. Can you put that duplicate code into a function? That would be easier to

[gomp4] OpenACC / C++

2014-10-15 Thread James Norris
Hi! This patch adds OpenACC support to C++ in the gomp4 branch. OK to apply? Thanks! Jim ChangeLog entries... = gcc/ChangeLog.gomp 2014-10-15 James Norris * builtin-types.def (BT_FN_VOID_INT_PTR_INT): New type. * oacc-builtins.def (BUILT_IN_GOACC_WAIT): New

[gomp4] Wait directive with async and wait clauses.

2014-10-22 Thread James Norris
Hi! This patch adds code to handle the OpenACC wait directive and the wait and async clauses for the wait directive as well as the other directives which support them. OK for gomp4 branch? Thanks! Jim ChangeLog 2014-10-22 James Norris * builtin-types.def (BT_FN_VOID_INT_INT_VAR

[gomp4] Fix combined directives.

2014-10-27 Thread James Norris
Hi! This patch fixes an issue in handling combined directives. The code now accepts clauses for both the loop directive and the other directive, i.e., parallel or kernels. OK for gomp4 branch? Thanks! Jim ChangeLog 2014-10-27 James Norris * c/c-parser.c (c_parser_oacc_loop

[gomp4] declare directive [0/5]

2015-06-08 Thread James Norris
Hi! This patch series completes the implementation of the OpenACC declare directive. Patches applied to gomp-4_0-branch Thanks! Jim = gcc/ChangeLog.gomp * builtin-types.def (BT_FN_VOID_PTR_INT_UINT): New type. * gimple-pretty-print.c (dump_gimple_omp_target): Handl

[gomp4] declare directive [1/5]

2015-06-08 Thread James Norris
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c index f508b91..83c1432 100644 --- a/gcc/c/c-parser.c +++ b/gcc/c/c-parser.c @@ -82,6 +82,7 @@ along with GCC; see the file COPYING3. If not see #include "omp-low.h" #include "builtins.h" #include "gomp-constants.h" +#include "tree-iterator.h"

Re: [gomp4] declare directive [2/5]

2015-06-08 Thread James Norris
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 261a12d..15da51e 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -78,6 +78,7 @@ along with GCC; see the file COPYING3. If not see #include "cilk.h" #include "wide-int.h" #include "builtins.h" +#include "gomp-constants.h" /* Possible cases

[gomp4] declare directive [3/5]

2015-06-08 Thread James Norris
diff --git a/gcc/fortran/f95-lang.c b/gcc/fortran/f95-lang.c index 5003581..a889342 100644 --- a/gcc/fortran/f95-lang.c +++ b/gcc/fortran/f95-lang.c @@ -119,6 +119,8 @@ static const struct attribute_spec gfc_attribute_table[] = affects_type_identity } */ { "omp declare target", 0, 0, t

[gomp4] declare directive [4/5]

2015-06-08 Thread James Norris
_KIND_UPDATE: case GF_OMP_TARGET_KIND_OACC_UPDATE: case GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA: + case GF_OMP_TARGET_KIND_OACC_DECLARE: cur_region = cur_region->outer; break; default: diff --git a/gcc/testsuite/ChangeLog.gomp b/gcc/testsuite/ChangeLog.gomp index fb480cf..649740c 100644

[gomp4] declare directive [5/5]

2015-06-08 Thread James Norris
diff --git a/libgomp/libgomp.map b/libgomp/libgomp.map index fe38dc6..663c27c 100644 --- a/libgomp/libgomp.map +++ b/libgomp/libgomp.map @@ -318,6 +318,7 @@ GOACC_2.0 { global: GOACC_data_end; GOACC_data_start; + GOACC_declare; GOACC_enter_exit_data; GOACC_parallel; GOACC_update; @@

Re: Next set of OpenACC changes: Fortran

2015-05-06 Thread James Norris
Tobias, First, thank you for taking the time to review the patch. Second, thank you for providing the comments. It appears all of the comments need to be acted upon in some manner. Thanks! On 05/05/2015 05:01 AM, Tobias Burnus wrote: Thomas Schwinge wrote: In follow-up messages, I'll be post

Re: [PATCH] OpenACC for C++ front end

2014-11-20 Thread James Norris
Hi! On 11/13/2014 07:02 AM, Jakub Jelinek wrote: On Wed, Nov 05, 2014 at 03:37:08PM -0600, James Norris wrote: 2014-11-05 James Norris Cesar Philippidis Thomas Schwinge Ilmir Usmanov ... Please check formatting. I see various spots with 8 spaces

Re: [PATCH] OpenACC for C front end

2014-11-20 Thread James Norris
Hi! On 11/13/2014 09:04 AM, Jakub Jelinek wrote: On Wed, Nov 05, 2014 at 03:39:44PM -0600, James Norris wrote: * c-typeck.c (c_finish_oacc_parallel, c_finish_oacc_kernels, c_finish_oacc_data): New functions. (handle_omp_array_sections, c_finish_omp_clauses): Handle

Re: [PATCH] Fix PR64748

2015-03-10 Thread James Norris
Hi! Ping. Thanks! On 02/16/2015 12:26 PM, James Norris wrote: This fixes the validation of the argument to the deviceptr clause. Bootstrapped and regtested on x86_64-unknown-linux-gnu. OK to commit to trunk? Jim

[gomp4] Add tests for atomic read / write.

2015-06-10 Thread James Norris
Hi, This patch adds tests for OpenACC atomic read and atomic write. Patch applied to gomp-4_0-branch Regards, Jim diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c new file mode 100644 index 000..ae4f22e ---

Re: [gomp4] declare directive [3/5]

2015-06-18 Thread James Norris
Hi Thomas! On 06/17/2015 04:59 AM, Thomas Schwinge wrote: Hi Jim! I had mentioned that the Fortran front end changes cause regressions in a few libgomp execution tests, if configured for Intel MIC (emulation) offloading. I have now located *where* this is coming from, but would you please work

[gomp4] Additional tests for the default clause

2015-06-18 Thread James Norris
Hi! The attached patch adds additional tests for the OpenACC default clause. Committed to gomp-4_0-branch Jim diff --git a/gcc/testsuite/c-c++-common/goacc/default-1.c b/gcc/testsuite/c-c++-common/goacc/default-1.c new file mode 100644 index 000..41757f1 --- /dev/null +++ b/gcc/testsuite/c-

[gomp4] Additional testing for deviceptr clause.

2015-06-23 Thread James Norris
Hi! The following patch adds additional testing of the deviceptr clause. Patch applied to gomp-4_0-branch. Thanks! Jim diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c index e271a37..e62c315 100644 --- a/libgomp/t

[gomp4] Additional tests for declare directive and fixes.

2015-06-24 Thread James Norris
Hi! The following patch adds additional testing of the declare directive and fixes for issues that arose from the testing. Committed to gomp-4_0-branch. Jim diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c index e7df751..bcbd163 100644 --- a/gcc/c/c-parser.c +++ b/gcc/c/c-parser.c @@ -1767,12

[gomp4] Remove unnecessary conversions

2015-06-29 Thread James Norris
argument to a gimple call. Committed to gomp-4_0-branch. Jim diff --git a/gcc/ChangeLog.gomp b/gcc/ChangeLog.gomp index 4d449b0..f2b6c4b 100644 --- a/gcc/ChangeLog.gomp +++ b/gcc/ChangeLog.gomp @@ -1,3 +1,7 @@ +2015-06-29 James Norris + + * omp-low.c (expand_omp_target): Remove unnecessary co

[gomp4] Remove clause from device_type options

2015-07-01 Thread James Norris
Hi, The independent clause is not available for use with device_type clauses associated with loop directives. This patch removes the usage. Committed to gomp-4_0-branch Jim diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c index bcbd163..88e68ae 100644 --- a/gcc/c/c-parser.c +++ b/gcc/c/c-parser

[gomp4] Fix syntax error

2015-07-01 Thread James Norris
Hi, The attached patch fixes a syntax error in one of the OpenACC runtime tests. Committed to gomp-4_0-branch Jim diff --git a/libgomp/testsuite/libgomp.oacc-fortran/if-1.f90 b/libgomp/testsuite/libgomp.oacc-fortran/if-1.f90 index 3ea9681..1729a3b 100644 --- a/libgomp/testsuite/libgomp.oacc-for

[gomp4] Allow parameter declarations with deviceptr

2015-07-01 Thread James Norris
Hi, This patch allows parameter declarations to be used as arguments to deviceptr for C and C++. Committed to gomp-4_0-branch. Jim diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c index 88e68ae..dc244ce 100644 --- a/gcc/c/c-parser.c +++ b/gcc/c/c-parser.c @@ -10749,7 +10749,7 @@ c_parser_oacc_d

[gomp4] Handle deviceptr from an outer directive

2015-07-07 Thread James Norris
Hi, This patch fixes an issue where the deviceptr clause in an outer directive was being ignored during implicit variable definition on a nested directive. Committed to gomp-4_0-branch. Jim diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 51aadc0..a721a52 100644 --- a/gcc/gimplify.c +++ b/gcc

  1   2   >