[all-commits] [llvm/llvm-project] 1c025f: [AMDGPU][SplitModule] Allow non-kernels to be trea...

Pierre van Houtryve via All-commits all-commits at lists.llvm.org
Sun Jun 23 23:47:14 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1c025fb02d0fa15b76ca816d8414d532a687ebeb
      https://github.com/llvm/llvm-project/commit/1c025fb02d0fa15b76ca816d8414d532a687ebeb
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-06-24 (Mon, 24 Jun 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    M llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
    M llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
    A llvm/test/tools/llvm-split/AMDGPU/debug-non-kernel-root.ll
    M llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
    A llvm/test/tools/llvm-split/AMDGPU/non-kernels-dependencies.ll
    A llvm/test/tools/llvm-split/AMDGPU/non-kernels-dependency-indirect.ll

  Log Message:
  -----------
  [AMDGPU][SplitModule] Allow non-kernels to be treated as roots (#95902)

I initially assumed only kernels could be roots, but that is wrong. A
function with no callers also needs to be a root to ensure it is
correctly handled.
They're very rare because we usually internalize everything, and
internal functions with no callers would be deleted.

When they are present, we need to also consider their dependencies and
act accordingly. Previously, we could put a function "by default" in P0,
but it could call another function with internal linkage defined in
another module which was of course incorrect.

Fixes SWDEV-467695



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