[all-commits] [llvm/llvm-project] aa82c4: [OpenMP] Implement TR8 `present` map type modifier...

Joel E. Denny via All-commits all-commits at lists.llvm.org
Wed Jul 22 07:16:03 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: aa82c40f0a0a3f135e4761351940c3ad1a30fd8f
      https://github.com/llvm/llvm-project/commit/aa82c40f0a0a3f135e4761351940c3ad1a30fd8f
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2020-07-22 (Wed, 22 Jul 2020)

  Changed paths:
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/target_data_ast_print.cpp
    M clang/test/OpenMP/target_data_codegen.cpp
    M clang/test/OpenMP/target_enter_data_codegen.cpp
    M clang/test/OpenMP/target_map_codegen.cpp
    M clang/test/OpenMP/target_map_messages.cpp
    M clang/test/OpenMP/target_parallel_for_map_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_map_messages.cpp
    M clang/test/OpenMP/target_parallel_map_messages.cpp
    M clang/test/OpenMP/target_simd_map_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_map_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_map_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_map_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_map_messages.cpp
    M clang/test/OpenMP/target_teams_map_messages.cpp

  Log Message:
  -----------
  [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

This patch implements Clang front end support for the OpenMP TR8
`present` map type modifier.  The next patch in this series implements
OpenMP runtime support.

This patch does not attempt to implement TR8 sec. 2.22.7.1 "map
Clause", p. 319, L14-16:

> If a map clause with a present map-type-modifier is present in a map
> clause, then the effect of the clause is ordered before all other
> map clauses that do not have the present modifier.

Compare to L10-11, which Clang does not appear to implement yet:

> For a given construct, the effect of a map clause with the to, from,
> or tofrom map-type is ordered before the effect of a map clause with
> the alloc, release, or delete map-type.

This patch also does not implement the `present` implicit-behavior for
`defaultmap` or the `present` motion-modifier for `target update`.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D83061


  Commit: 45b8f7ec35ef653bafdf48034857222517c17781
      https://github.com/llvm/llvm-project/commit/45b8f7ec35ef653bafdf48034857222517c17781
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2020-07-22 (Wed, 22 Jul 2020)

  Changed paths:
    M openmp/libomptarget/include/omptarget.h
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/device.h
    M openmp/libomptarget/src/omptarget.cpp
    M openmp/libomptarget/src/private.h
    A openmp/libomptarget/test/mapping/present/target.c
    A openmp/libomptarget/test/mapping/present/target_data.c
    A openmp/libomptarget/test/mapping/present/target_enter_data.c
    A openmp/libomptarget/test/mapping/present/target_exit_data.c
    A openmp/libomptarget/test/mapping/present/unified_shared_memory.c
    A openmp/libomptarget/test/mapping/present/zero_length_array_section.c
    A openmp/libomptarget/test/mapping/present/zero_length_array_section_exit.c

  Log Message:
  -----------
  [OpenMP] Implement TR8 `present` map type modifier in runtime (2/2)

This implements OpenMP runtime support for the OpenMP TR8 `present`
map type modifier.  The previous patch in this series implements Clang
front end support.  See that patch summary for behaviors that are not
yet supported.

Reviewed By: grokos, jdoerfert

Differential Revision: https://reviews.llvm.org/D83062


Compare: https://github.com/llvm/llvm-project/compare/a60251d739b9...45b8f7ec35ef


More information about the All-commits mailing list