[llvm] [X86] Use a large-model call for __tls_get_addr (PR #216195)
Farid Zakaria via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 17 16:47:16 PDT 2026
================
@@ -595,6 +595,47 @@ void X86AsmPrinter::LowerTlsAddr(X86MCInstLower &MCInstLowering,
.addReg(0));
} else if (Is64Bits) {
bool NeedsPadding = Specifier == X86::S_TLSGD;
+ const MCSymbol *TlsGetAddr = Ctx.getOrCreateSymbol("__tls_get_addr");
+ if (Is64BitsLP64 && getSubtarget().isTargetELF() &&
+ TM.getCodeModel() == CodeModel::Large && !TM.useTLSDESC()) {
----------------
fzakaria wrote:
@MaskRay :
` !TM.useTLSDESC()` was how I do the equivalent`-mtls-dialect=gnu` path.
This keeps it 1:1 with GCC
https://github.com/llvm/llvm-project/pull/216195
More information about the llvm-commits
mailing list