[all-commits] [llvm/llvm-project] d7c371: [AMDGPU] Add AMDGPU-specific module splitting (#89...

Pierre van Houtryve via All-commits all-commits at lists.llvm.org
Thu May 23 03:26:46 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d7c37130008374341e79c355ad85cc48942136ff
      https://github.com/llvm/llvm-project/commit/d7c37130008374341e79c355ad85cc48942136ff
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUSplitModule.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
    A llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
    A llvm/test/tools/llvm-split/AMDGPU/debug-name-hiding.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-alias-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-cost-ranking.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-duplication.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-external.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-indirect.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-overridable.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables-noexternal.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-load-balancing.ll
    A llvm/test/tools/llvm-split/AMDGPU/kernels-no-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
    A llvm/test/tools/llvm-split/AMDGPU/lit.local.cfg

  Log Message:
  -----------
  [AMDGPU] Add AMDGPU-specific module splitting (#89245)

This enables the --lto-partitions option to work more consistently.

This module splitting logic is fully aware of AMDGPU modules and their
specificities and takes advantage of
them to split modules in a way that avoids compilation issue (such as
resource usage being incorrectly represented).

This also includes a logging system that's more elaborate than just
LLVM_DEBUG which allows
printing logs to uniquely named files, and optionally with all value
names hidden so they can be safely shared without leaking informatiton
about the source. Logs can also be enabled through an environment
variable, which avoids the sometimes complicated process of passing a
-mllvm option all the way from clang driver to the offload linker that
handles full LTO codegen.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list