[clang] [llvm] [X86] Add Support for X86 TLSDESC Relocations (PR #83136)
    Paul Kirth via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Mar  6 11:25:59 PST 2024
    
    
  
================
@@ -18522,13 +18522,21 @@ GetTLSADDR(SelectionDAG &DAG, SDValue Chain, GlobalAddressSDNode *GA,
   MachineFrameInfo &MFI = DAG.getMachineFunction().getFrameInfo();
   SDVTList NodeTys = DAG.getVTList(MVT::Other, MVT::Glue);
   SDLoc dl(GA);
-  SDValue TGA = DAG.getTargetGlobalAddress(GA->getGlobal(), dl,
-                                           GA->getValueType(0),
-                                           GA->getOffset(),
-                                           OperandFlags);
+  SDValue TGA;
+  bool UseTLSDESC = DAG.getTarget().useTLSDESC();
+  if (LocalDynamic && UseTLSDESC) {
+    TGA = DAG.getTargetExternalSymbol("_TLS_MODULE_BASE_", PtrVT, OperandFlags);
+    auto UI = TGA->use_begin();
+    if (UI != TGA->use_end())
+      return SDValue(*UI->use_begin()->use_begin(), 0);
----------------
ilovepi wrote:
Can we get a comment here about why we're returning this value?
https://github.com/llvm/llvm-project/pull/83136
    
    
More information about the llvm-commits
mailing list