diff mbox

FWD: Re: OpenACC subarray specifications in the GCC Fortran front end

Message ID 87tx65pgvj.fsf@schwinge.name
State New
Headers show

Commit Message

Thomas Schwinge July 25, 2014, 4:01 p.m. UTC
Hi Cesar!

On Thu, 24 Jul 2014 15:44:13 -0700, Cesar Philippidis <cesar@codesourcery.com> wrote:
> On 07/24/2014 06:11 AM, Thomas Schwinge wrote:
> > I'd suggest to continue to handle all the data clauses [...]
> 
> I moved all of the data clause matching back to gfc_match_omp_clauses,
> and I guarded the copyin clause with the openacc flag.

Thanks!

> It looks like the
> private clause may also require a special memory mapping, so I left the
> openacc flag in place.

Where is that?  (I don't see it.)

> Is this patch OK to commit to gomp-4_0-branch?

Yes, though you may directly fold in the following patch to nuke the
unused OMP_LIST_COPY (or do that later).



Grüße,
 Thomas

Comments

Cesar Philippidis July 28, 2014, 5 p.m. UTC | #1
On 07/25/2014 09:01 AM, Thomas Schwinge wrote:

> On Thu, 24 Jul 2014 15:44:13 -0700, Cesar Philippidis <cesar@codesourcery.com> wrote:
>> On 07/24/2014 06:11 AM, Thomas Schwinge wrote:
>>> I'd suggest to continue to handle all the data clauses [...]
>>
>> I moved all of the data clause matching back to gfc_match_omp_clauses,
>> and I guarded the copyin clause with the openacc flag.
> 
> Thanks!
> 
>> It looks like the
>> private clause may also require a special memory mapping, so I left the
>> openacc flag in place.
> 
> Where is that?  (I don't see it.)

The loop construct has a private clause.

>> Is this patch OK to commit to gomp-4_0-branch?
> 
> Yes, though you may directly fold in the following patch to nuke the
> unused OMP_LIST_COPY (or do that later).

Thanks, committed in r213131.

> --- gcc/fortran/dump-parse-tree.c
> +++ gcc/fortran/dump-parse-tree.c
> @@ -1257,7 +1257,6 @@ show_omp_clauses (gfc_omp_clauses *omp_clauses)
>  	const char *type = NULL;
>  	switch (list_type)
>  	  {
> -	  case OMP_LIST_COPY: type = "COPY"; break;
>  	  case OMP_LIST_DEVICEPTR: type = "DEVICEPTR"; break;
>  	  case OMP_LIST_USE_DEVICE: type = "USE_DEVICE"; break;
>  	  case OMP_LIST_DEVICE_RESIDENT: type = "USE_DEVICE"; break;
> --- gcc/fortran/gfortran.h
> +++ gcc/fortran/gfortran.h
> @@ -1157,9 +1157,8 @@ enum
>    OMP_LIST_TO,
>    OMP_LIST_FROM,
>    OMP_LIST_REDUCTION,
> -  OMP_LIST_COPY,
> -  OMP_LIST_DATA_CLAUSE_FIRST = OMP_LIST_COPY,
>    OMP_LIST_DEVICEPTR,
> +  OMP_LIST_DATA_CLAUSE_FIRST = OMP_LIST_DEVICEPTR,
>    OMP_LIST_DATA_CLAUSE_LAST = OMP_LIST_DEVICEPTR,
>    OMP_LIST_DEVICE_RESIDENT,
>    OMP_LIST_USE_DEVICE,

I'll take care of this separately.

Cesar
diff mbox

Patch

--- gcc/fortran/dump-parse-tree.c
+++ gcc/fortran/dump-parse-tree.c
@@ -1257,7 +1257,6 @@  show_omp_clauses (gfc_omp_clauses *omp_clauses)
 	const char *type = NULL;
 	switch (list_type)
 	  {
-	  case OMP_LIST_COPY: type = "COPY"; break;
 	  case OMP_LIST_DEVICEPTR: type = "DEVICEPTR"; break;
 	  case OMP_LIST_USE_DEVICE: type = "USE_DEVICE"; break;
 	  case OMP_LIST_DEVICE_RESIDENT: type = "USE_DEVICE"; break;
--- gcc/fortran/gfortran.h
+++ gcc/fortran/gfortran.h
@@ -1157,9 +1157,8 @@  enum
   OMP_LIST_TO,
   OMP_LIST_FROM,
   OMP_LIST_REDUCTION,
-  OMP_LIST_COPY,
-  OMP_LIST_DATA_CLAUSE_FIRST = OMP_LIST_COPY,
   OMP_LIST_DEVICEPTR,
+  OMP_LIST_DATA_CLAUSE_FIRST = OMP_LIST_DEVICEPTR,
   OMP_LIST_DATA_CLAUSE_LAST = OMP_LIST_DEVICEPTR,
   OMP_LIST_DEVICE_RESIDENT,
   OMP_LIST_USE_DEVICE,