[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