[all-commits] [llvm/llvm-project] 1f3a28: [OpenMP][NFC] Reorganize the ompx::mapping layer i...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Mon Jul 31 13:45:40 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1f3a28d4e54649d1453eb951f570a8c1958d4a5c
      https://github.com/llvm/llvm-project/commit/1f3a28d4e54649d1453eb951f570a8c1958d4a5c
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-07-31 (Mon, 31 Jul 2023)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/include/Debug.h
    M openmp/libomptarget/DeviceRTL/include/Mapping.h
    M openmp/libomptarget/DeviceRTL/src/Debug.cpp
    M openmp/libomptarget/DeviceRTL/src/Kernel.cpp
    M openmp/libomptarget/DeviceRTL/src/Mapping.cpp
    M openmp/libomptarget/DeviceRTL/src/Parallelism.cpp
    M openmp/libomptarget/DeviceRTL/src/Reduction.cpp
    M openmp/libomptarget/DeviceRTL/src/State.cpp
    M openmp/libomptarget/DeviceRTL/src/Synchronization.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Reorganize the ompx::mapping layer in the GPU runtime

This change makes the naming more consistent, I hope.


  Commit: daef6d327aa3c952c91e54a22de4be1db191f911
      https://github.com/llvm/llvm-project/commit/daef6d327aa3c952c91e54a22de4be1db191f911
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-07-31 (Mon, 31 Jul 2023)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/src/Mapping.cpp
    M openmp/libomptarget/DeviceRTL/src/exports
    A openmp/libomptarget/test/api/ompx_3d.c
    A openmp/libomptarget/test/api/ompx_3d.cpp
    M openmp/runtime/cmake/LibompExports.cmake
    M openmp/runtime/src/CMakeLists.txt
    A openmp/runtime/src/include/ompx.h.var

  Log Message:
  -----------
  [OpenMP] Introduce ompx.h and 3D wrappers (threadId, threadDim, ...)

The new ompx.h header will give us a place to put extensions. The first
are 3D getters for the common cuda values:
  `{threadId,threadDim,blockId,blockDim}.{x,y,z}`

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


  Commit: deb0ea3e479ad1cc840d6d4c3dca852250f041b7
      https://github.com/llvm/llvm-project/commit/deb0ea3e479ad1cc840d6d4c3dca852250f041b7
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-07-31 (Mon, 31 Jul 2023)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/src/Synchronization.cpp
    A openmp/libomptarget/test/api/ompx_sync.c
    A openmp/libomptarget/test/api/ompx_sync.cpp
    M openmp/runtime/src/include/ompx.h.var

  Log Message:
  -----------
  [OpenMP] Add ompx wrappers for __syncthreads

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


  Commit: 6fa8244eb6cc4d2a079c347f7c44d842fc83a913
      https://github.com/llvm/llvm-project/commit/6fa8244eb6cc4d2a079c347f7c44d842fc83a913
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-07-31 (Mon, 31 Jul 2023)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/test/Feature/intrinsics.ll
    M llvm/test/Transforms/Attributor/cgscc_bugs.ll
    M llvm/test/Transforms/LowerGlobalDestructors/non-literal-type.ll
    M llvm/test/Transforms/SimplifyCFG/switch-on-const-select.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.globals.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.globals.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.generated.globals.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.nogenerated.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.nogenerated.globals.expected

  Log Message:
  -----------
  [IR] Mark `llvm.trap` as `memory(inaccessiblemem: write)`

Traps will not read/write the program state but they need an effect for
preservation, similar to `llvm.assume`. We really want a new memory kind
for that (see TODO), but for now `inaccessiblemem: write` is better than
any possible effect.

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


  Commit: fa367d159a9938d8d7c8ebdf1e84864072d907e5
      https://github.com/llvm/llvm-project/commit/fa367d159a9938d8d7c8ebdf1e84864072d907e5
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-07-31 (Mon, 31 Jul 2023)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Transforms/Attributor/dereferenceable-1.ll
    M llvm/test/Transforms/Attributor/lvi-after-jumpthreading.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/Attributor/nofree.ll
    M llvm/test/Transforms/Attributor/nonnull.ll
    M llvm/test/Transforms/Attributor/reduced/openmp_opt_global_read.ll
    M llvm/test/Transforms/Attributor/reduced/pred_iterator_crash.ll
    M llvm/test/Transforms/Attributor/value-simplify-assume.ll
    M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
    M llvm/test/Transforms/Attributor/value-simplify-reachability.ll
    M llvm/test/Transforms/OpenMP/barrier_removal.ll
    M llvm/test/Transforms/OpenMP/parallel_deletion.ll
    M llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll
    M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll

  Log Message:
  -----------
  [IR] Mark `llvm.assume` as `memory(inaccessiblemem: write)`

It was `inaccessiblemem: readwrite` before, no need for the read.
No real benefit is expected but it can help debugging and other efforts.

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


Compare: https://github.com/llvm/llvm-project/compare/0a68cd23049d...fa367d159a99


More information about the All-commits mailing list