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

Alexey Bataev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Aug 11 08:53:37 PDT 2019


ABataev added a comment.

In D65835#1624610 <https://reviews.llvm.org/D65835#1624610>, @jdenny wrote:

> In D65835#1624477 <https://reviews.llvm.org/D65835#1624477>, @ABataev wrote:
>
> > Try something like `target parallel firstprivate (a) map(a)`. Currently it will create a firstprivate copy of the variable a in target context thought it is not required at all. It may lead to increased register pressure and performance degradation.
>
>
> Thanks.  The only combination that appears to be affected is `firstprivate` and `map` for scalar types.  I had only tried arrays and structs earlier, but they're not affected. If I had looked a little more closely at the test case this patch already introduced, I would have noticed that `int` is affected.  The problematic analysis is in sema, where there was an apparent assumption that `firstprivate` wouldn't appear with `map` due to the previous restriction.  This update fixes that.
>
> For my previous update, I meant to point out that I introduced a fixme into the test suite.  See the phabricator summary for details.


This is wrong. It affects all possible combinations and not only fof scalar types, all of them are affected.


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