[clang] [llvm] [X86] Add Support for X86 TLSDESC Relocations (PR #83136)
Phoebe Wang via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 7 16:53:35 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);
----------------
phoebewang wrote:
Done.
https://github.com/llvm/llvm-project/pull/83136
More information about the cfe-commits
mailing list