[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