[all-commits] [llvm/llvm-project] a706b9: [OpenMP][NFCI] Re-enable two remarks tests after D...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Sat Jul 10 16:56:27 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a706b94ea5560a7733e403006a9066cc41e82b5d
      https://github.com/llvm/llvm-project/commit/a706b94ea5560a7733e403006a9066cc41e82b5d
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2021-07-10 (Sat, 10 Jul 2021)

  Changed paths:
    M clang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
    M clang/test/OpenMP/remarks_parallel_in_target_state_machine.c

  Log Message:
  -----------
  [OpenMP][NFCI] Re-enable two remarks tests after D101977 landed


  Commit: 0a223827de8d923f357bf6d3d222fd26e2fbca4a
      https://github.com/llvm/llvm-project/commit/0a223827de8d923f357bf6d3d222fd26e2fbca4a
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2021-07-10 (Sat, 10 Jul 2021)

  Changed paths:
    M openmp/libomptarget/deviceRTLs/common/src/loop.cu
    M openmp/libomptarget/deviceRTLs/common/src/parallel.cu
    M openmp/libomptarget/deviceRTLs/common/src/reduction.cu
    M openmp/libomptarget/deviceRTLs/common/src/support.cu
    M openmp/libomptarget/deviceRTLs/common/src/sync.cu
    M openmp/libomptarget/deviceRTLs/common/src/task.cu
    M openmp/libomptarget/deviceRTLs/common/support.h

  Log Message:
  -----------
  [OpenMP] Remove checkXXXX device runtime functions

We had multiple functions to determine the execution mode (SPMD/Generic)
and runtime status (initialized/uninitialized) but that just increased
complexity without a real benefit. Especially with D102307 in mind it
is helpful to reduce the dependence on the `ident_t` flags.

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


  Commit: 8cb7d71355f9ca884efde1dfa03dc349fb890721
      https://github.com/llvm/llvm-project/commit/8cb7d71355f9ca884efde1dfa03dc349fb890721
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2021-07-10 (Sat, 10 Jul 2021)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll

  Log Message:
  -----------
  [OpenMP][FIX] Add missing `)` to remark


  Commit: 514c033db1e0c237eccd56b9fc11fe05a6baff39
      https://github.com/llvm/llvm-project/commit/514c033db1e0c237eccd56b9fc11fe05a6baff39
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2021-07-10 (Sat, 10 Jul 2021)

  Changed paths:
    M clang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
    M clang/test/OpenMP/remarks_parallel_in_target_state_machine.c
    M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
    M llvm/lib/IR/Assumptions.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll
    A llvm/test/Transforms/OpenMP/spmdization.ll
    A llvm/test/Transforms/OpenMP/spmdization_remarks.ll

  Log Message:
  -----------
  [OpenMP] Detect SPMD compatible kernels and execute them as such

In the spirit of TRegions [0], this patch analyzes a kernel and tracks
if it can be executed in SPMD-mode. If so, we flip the arguments of
the __kmpc_target_init and deinit call to enable the mode. We also
update the `<kernel>_exec_mode` flag to indicate to the runtime we
changed the mode to SPMD.

The code analysis is done interprocedurally by extending the
AAKernelInfo abstract attribute to track SPMD compatibility as well.

[0] https://link.springer.com/chapter/10.1007/978-3-030-28596-8_11

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


  Commit: 2e7e2994a94efad7fde5547d4e493e28b3b660a3
      https://github.com/llvm/llvm-project/commit/2e7e2994a94efad7fde5547d4e493e28b3b660a3
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2021-07-10 (Sat, 10 Jul 2021)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp

  Log Message:
  -----------
  [Attributor][FIX] Destroy bump allocator objects to avoid leaks

AllocationInfo and DeallocationInfo objects themselves are allocated
with the Attributor bump allocator and do not need to be deallocated.
That said, the sets in AllocationInfo and DeallocationInfo need to be
destroyed to avoid memory leaks.


Compare: https://github.com/llvm/llvm-project/compare/d9659bf6a036...2e7e2994a94e


More information about the All-commits mailing list