[all-commits] [llvm/llvm-project] d1033e: [OpenMP] Disable ICV deduction by default.

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Tue Jan 10 15:04:46 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d1033e3cadf46508222787f63a1e5c3a5e3dbffa
      https://github.com/llvm/llvm-project/commit/d1033e3cadf46508222787f63a1e5c3a5e3dbffa
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-01-10 (Tue, 10 Jan 2023)

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

  Log Message:
  -----------
  [OpenMP] Disable ICV deduction by default.

This is not tested well and needs to be revisited in the future.


  Commit: c3de9c1c7b93683ab9d390cb2d830204bfa657bc
      https://github.com/llvm/llvm-project/commit/c3de9c1c7b93683ab9d390cb2d830204bfa657bc
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-01-10 (Tue, 10 Jan 2023)

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

  Log Message:
  -----------
  [OpenMP] Ensure AAHeapToShared is only looking at one function

When we collect and process allocations we did not verify the call
against the anchor scope / associated function. This should be done to
avoid processing calls multiple times and generally looking at calls not
in the AAs scope.


  Commit: b2a8d2c69bce98604f1feaad9e6bebd3759b5635
      https://github.com/llvm/llvm-project/commit/b2a8d2c69bce98604f1feaad9e6bebd3759b5635
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-01-10 (Tue, 10 Jan 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/Attributor/reduced/openmp_opt_dont_follow_gep_without_value.ll
    M llvm/test/Transforms/OpenMP/global_constructor.ll
    M llvm/test/Transforms/OpenMP/reduced_pointer_info_assertion.ll
    M llvm/test/Transforms/OpenMP/single_threaded_execution.ll

  Log Message:
  -----------
  [OpenMP] Avoid running openmp-opt on dead functions

The Attributor has logic to run only on assumed live functions and this
is exposed to users now. OpenMP-opt will (mostly) ignore dead internal
functions now but run the same deduction as before if an internal
function is marked live.

This should lower compile time as we run on less code and delete more
code early on. For the full OpenMC module compiled with noinline and
JITed at runtime, we save ~25%, or ~10s on my machine during JITing.


Compare: https://github.com/llvm/llvm-project/compare/a817842329e2...b2a8d2c69bce


More information about the All-commits mailing list