[all-commits] [llvm/llvm-project] 38b001: [ThinLTO] Properly support targets that require im...

Shilei Tian via All-commits all-commits at lists.llvm.org
Sat Mar 29 08:56:00 PDT 2025


  Branch: refs/heads/users/shiltian/thin-lto-import-all-functions
  Home:   https://github.com/llvm/llvm-project
  Commit: 38b001c2e265ff1c8898a1b92af6c79684b45f9a
      https://github.com/llvm/llvm-project/commit/38b001c2e265ff1c8898a1b92af6c79684b45f9a
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
    M llvm/test/Transforms/FunctionImport/adjustable_threshold.ll
    M llvm/test/Transforms/FunctionImport/noinline.ll

  Log Message:
  -----------
  [ThinLTO] Properly support targets that require importing all external functions

`ForceImportAll` mostly works, but it uses `available_externally` linkage. For
targets that don't support object linking, like AMDGPU, this approach doesn't
work.

With this PR, all imported functions use "default" linkage. I'm not entirely
sure if that's the best approach, but for AMDGPU it's not really a problem since
we internalize everything at a later stage.



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