[PATCH] D65835: [OpenMP] Fix map/is_device_ptr with DSA on combined directive
Alexey Bataev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 7 12:15:09 PDT 2019
ABataev added a comment.
In D65835#1619549 <https://reviews.llvm.org/D65835#1619549>, @jdenny wrote:
> In D65835#1619526 <https://reviews.llvm.org/D65835#1619526>, @ABataev wrote:
>
> > > Maybe, but I haven't found any statement in either version that states that map restrictions apply to is_device_ptr.
> >
> > `is_device_ptr` is a kind of mapping clause. I assume we can extend the restrictions for `map` clause to this clause too.
>
>
> I'd like to understand this better. Is there something from the spec we can quote in the code?
See 2.19.7 Data-Mapping Attribute Rules, Clauses, and Directives
>
>
>>> Another question is whether the restriction would make sense. For example, does it ever make sense to specify both is_device_ptr and firstprivate for the same variable on a target construct?
>>
>> On a `target` construct - no.
>
> Why not?
It is meaningless. That's why it is prohibited in OpenMP 5.0 and allowed only for the combined constructs. These private clauses are applied to inner subconstructs.
For example, `target parallel map(p) private(p)`. In the context of `target` region the variable is mapped while in the `parallel` context it is private.
For `target map(p) private(p)` it is absolutely meaningless.
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