[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