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

Joel E. Denny via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Aug 10 15:09:22 PDT 2019


jdenny updated this revision to Diff 214542.
jdenny retitled this revision from "[OpenMP] Fix map/is_device_ptr with DSA on combined directive" to "[OpenMP] Permit map with DSA on combined directive".
jdenny edited the summary of this revision.
jdenny added a comment.

I made the following changes, as suggested:

- Add back restriction for OpenMP < 5.0.
- Remove `is_device_ptr` changes.

Alexey, you said:

> Plus, these changes are not enough to support this new feature from OpenMP 5.0. There definitely must be some changes in the codegen. If the variable is mapped in the target construct, we should not generate a code for the private clause of this variable on the target construct, since, in this case, private clauses are applied for the inner subdirectives, which are the part of the combined directive, but not the target part of the directive.

I haven't spent enough time exploring codegen here in the past, so I'm starting out by investigating the codegen output for various examples.  I'm looking for differences between a combined `target teams` and an equivalent separate `target` and `teams`.  So far, I see nothing but superficial differences.  Do you have an example where there's an undesirable difference?

Thanks.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65835/new/

https://reviews.llvm.org/D65835

Files:
  clang/lib/Sema/SemaOpenMP.cpp
  clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_messages.cpp
  clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_messages.cpp
  clang/test/OpenMP/target_teams_distribute_simd_firstprivate_messages.cpp
  clang/test/OpenMP/target_teams_distribute_simd_lastprivate_messages.cpp
  clang/test/OpenMP/target_teams_distribute_simd_private_messages.cpp
  clang/test/OpenMP/target_teams_map_codegen.cpp
  clang/test/OpenMP/target_teams_map_messages.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65835.214542.patch
Type: text/x-patch
Size: 19252 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190810/ac9be3a2/attachment-0001.bin>


More information about the cfe-commits mailing list