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.