[all-commits] [llvm/llvm-project] cb6a3f: [llvm] Force TLSDESC for all TLS access in Fuchsia...
Paul Kirth via All-commits
all-commits at lists.llvm.org
Thu Feb 5 14:34:41 PST 2026
Branch: refs/heads/users/ilovepi/lto-tlsdesc
Home: https://github.com/llvm/llvm-project
Commit: cb6a3f79829ddbf2961da040abd89a88036c058e
https://github.com/llvm/llvm-project/commit/cb6a3f79829ddbf2961da040abd89a88036c058e
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/RISCV/tls-models.ll
M llvm/test/CodeGen/X86/tls-desc.ll
Log Message:
-----------
[llvm] Force TLSDESC for all TLS access in Fuchsia code
Fuchsia no longer supports TLS access via __tls_get_addr, and only
supports the TLSDESC ABI on all target machines.
Though we already set Fuchsia as enabling TLSDESC by default, LLD's LTO
pipeline is initialized with an empty target triple, and thus does not
correctly select the correct codegen options for Fuchsia's ABI. Instead,
we can additionally check if Fuchsia is the actual target if the option
isn't set, since useTLSDESC() is only called later, when a non-default
target triple will be available.
The alternative is to rework how LLD initializes the LTO code generation
options, so that it selects the correct target, and initializes them
correctly. However, that's a more invasive change, and would need some
discussion to make sure that is handled correctly across all of LLDs
supported formats (e.g. ELF, Mach-O, COFF, etc.).
Commit: c4a42aa9b5ca4d8d2f0ba96edf351a3bf4704730
https://github.com/llvm/llvm-project/commit/c4a42aa9b5ca4d8d2f0ba96edf351a3bf4704730
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M lld/COFF/LTO.cpp
M lld/ELF/LTO.cpp
M lld/MachO/LTO.cpp
M lld/wasm/LTO.cpp
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
Redesign how TargetOptions are used in LTO
Compare: https://github.com/llvm/llvm-project/compare/1dda780c65e5...c4a42aa9b5ca
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