[PATCH] D65835: [OpenMP] Permit map with DSA on combined directive

Joel E. Denny via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Aug 11 15:53:57 PDT 2019


jdenny added a comment.

In D65835#1624659 <https://reviews.llvm.org/D65835#1624659>, @ABataev wrote:

> In D65835#1624629 <https://reviews.llvm.org/D65835#1624629>, @jdenny wrote:
>
> > In D65835#1624624 <https://reviews.llvm.org/D65835#1624624>, @ABataev wrote:
> >
> > > In D65835#1624619 <https://reviews.llvm.org/D65835#1624619>, @jdenny wrote:
> > >
> > > > In D65835#1624617 <https://reviews.llvm.org/D65835#1624617>, @ABataev wrote:
> > > >
> > > > > Target teams private map will produce extra private in target context, other constructs either.
> > > >
> > > >
> > > > Here's what I tried:
> > > >
> > > >   int a;
> > > >   #pragma omp target teams private(a) map(a)
> > > >     ;
> > > >
> > > >
> > > > The same code is generated as for:
> > > >
> > > >   int a;
> > > >   #pragma omp target map(a)
> > > >   #pragma omp teams private(a)
> > > >     ;
> > > >
> > > >
> > > > I haven't debugged it yet, but it seems orthogonal to whether you have a combined directive, which is what this patch is about.
> > >
> > >
> > > Did you check the mapping flags, generated during host codegen? They must be the same. With private clause it may generate just map(alloc) instead of map(tofrom).
> >
> >
> > I diffed the `.ll` files for combined vs. separate constructs.  The only difference is the file ID.  `@.offload_maptypes` isn't generated in either (but it is if I replace `private` with `firstprivate`).
>
>
> Maptypes array must be generated in all cases, check the host codegen.
>  Also, test codegen with the different kinds of maptypes, not only to from,  but also alloc, to, from, etc. Yoh will see the difference in many cases and 2ith many kinds of types, not only scalars.


I'll work on another patch for the bugs where directives are separate, and I'll return to this patch if more fixes are then needed to support combined directives consistently.  Thanks.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65835/new/

https://reviews.llvm.org/D65835





More information about the cfe-commits mailing list