[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 12:05:01 PDT 2019


jdenny added a comment.

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`).


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