Re: [Patch] Add OpenACC 2.6's no_create

2019-12-18 Thread Thomas Schwinge
Hi Tobias! On 2019-12-18T13:36:29+0100, Tobias Burnus wrote: > libgomp/target.c's gomp_map_vars_internal: it now uses the normal code > path in the upper loop, except that one directly bails out when the > 'key' has not been found (skipping the adjacent MAP_POINTER as well). > The 'case' in th

Re: [Patch] Add OpenACC 2.6's no_create

2019-12-18 Thread Tobias Burnus
Hi Thomas, @Thomas (and, possibly, Julian & Jakub): Please glance quickly the gomp_map_vars_internal change. libgomp/target.c's gomp_map_vars_internal: it now uses the normal code path in the upper loop, except that one directly bails out when the 'key' has not been found (skipping the adjac

Re: [Patch] Add OpenACC 2.6's no_create

2019-12-17 Thread Tobias Burnus
Hi Thomas, I am reasonably comfortable with the current patch (regarding your TODOs) – see attachment. It is the previous patch plus your changes plus one additional condition (see below) in target.c's first GOMP_MAP_IF_PRESENT handling. I intent to re-test it tomorrow and then commit it, un

Re: [Patch] Add OpenACC 2.6's no_create

2019-12-13 Thread Tobias Burnus
Hi Thomas, regarding your TODO in your test case about implicit mapping of variables, I did some testing. The 'copy' issue is a general feature and not restricted to no_create. Additionally, 'int *arr' is not a real array: as the compiler does not know the size, it cannot distinguish a pointer

Re: [Patch] Add OpenACC 2.6's no_create

2019-12-03 Thread Tobias Burnus
On 12/3/19 4:16 PM, Thomas Schwinge wrote: On 2019-11-15T20:11:29+0100, Tobias Burnus wrote: * Make no_create.c effective by adding 'has_firstprivate = true;' to target.c.* (* If one tries to access c or e in the no_create-3.{c,f90} run-time test case, plugin-nvidia rightly complains (illegal m

Re: [Patch] Add OpenACC 2.6's no_create

2019-12-03 Thread Thomas Schwinge
Hi! Jakub, please note question below. On 2019-11-15T20:11:29+0100, Tobias Burnus wrote: > updated version. Changes: > * Incorporate Thomas's changes > * Add no_create clause to newly added 'acc serial' > * Renamed (G)OMP_MAP_NO_ALLOC to (G)OMP_MAP_IF_PRESENT as proposed > * Make no_create.c eff

Re: [Patch] Add OpenACC 2.6's no_create

2019-11-15 Thread Tobias Burnus
Hello Thomas, hi all, updated version. Changes: * Incorporate Thomas's changes * Add no_create clause to newly added 'acc serial' * Renamed (G)OMP_MAP_NO_ALLOC to (G)OMP_MAP_IF_PRESENT as proposed * Make no_create.c effective by adding 'has_firstprivate = true;' to target.c.* (* If one tries t

Re: [Patch] Add OpenACC 2.6's no_create

2019-11-06 Thread Thomas Schwinge
Hi Tobias! On 2019-11-06T00:47:05+0100, I wrote: > --- a/libgomp/testsuite/libgomp.oacc-fortran/common-block-2.f90 > +++ b/libgomp/testsuite/libgomp.oacc-fortran/common-block-2.f90 > @@ -76,7 +76,9 @@ program main > >!$acc enter data create(b) > > - !$acc parallel loop pcopy(b) > + !$acc

Re: [Patch] Add OpenACC 2.6's no_create

2019-11-05 Thread Thomas Schwinge
Hi Tobias! On 2019-10-24T14:47:58+0200, Tobias Burnus wrote: > The clause (new in OpenACC 2.6) makes any device code use the local > memory address for each of the variables specified unless the given > variable is already present on the current device. – Or in words of > OpenACC 2.7 (in Sect.

[Patch] Add OpenACC 2.6's no_create

2019-10-24 Thread Tobias Burnus
The clause (new in OpenACC 2.6) makes any device code use the local memory address for each of the variables specified unless the given variable is already present on the current device. – Or in words of OpenACC 2.7 (in Sect. 2.7.9 no_create clause): "The no_create clause may appear on structu