reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
18086 if (DAG.getTarget().useEmulatedTLS()) 18087 return LowerToTLSEmulatedModel(GA, DAG); 18090 auto PtrVT = getPointerTy(DAG.getDataLayout()); 18094 TLSModel::Model model = DAG.getTarget().getTLSModel(GV); 18098 return LowerToTLSGeneralDynamicModel64(GA, DAG, PtrVT); 18099 return LowerToTLSGeneralDynamicModel32(GA, DAG, PtrVT); 18101 return LowerToTLSLocalDynamicModel(GA, DAG, PtrVT, 18105 return LowerToTLSExecModel(GA, DAG, PtrVT, model, Subtarget.is64Bit(), 18125 SDValue Result = DAG.getTargetGlobalAddress(GA->getGlobal(), DL, 18128 SDValue Offset = DAG.getNode(WrapperKind, DL, PtrVT, Result); 18132 Offset = DAG.getNode(ISD::ADD, DL, PtrVT, 18133 DAG.getNode(X86ISD::GlobalBaseReg, SDLoc(), PtrVT), 18138 SDValue Chain = DAG.getEntryNode(); 18139 SDVTList NodeTys = DAG.getVTList(MVT::Other, MVT::Glue); 18140 Chain = DAG.getCALLSEQ_START(Chain, 0, 0, DL); 18142 Chain = DAG.getNode(X86ISD::TLSCALL, DL, NodeTys, Args); 18143 Chain = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(0, DL, true), 18143 Chain = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(0, DL, true), 18144 DAG.getIntPtrConstant(0, DL, true), 18148 MachineFrameInfo &MFI = DAG.getMachineFunction().getFrameInfo(); 18154 return DAG.getCopyFromReg(Chain, DL, Reg, PtrVT, Chain.getValue(1)); 18170 SDValue Chain = DAG.getEntryNode(); 18176 ? Type::getInt8PtrTy(*DAG.getContext(), 18178 : Type::getInt32PtrTy(*DAG.getContext(), 18182 ? DAG.getIntPtrConstant(0x58, dl) 18184 ? DAG.getIntPtrConstant(0x2C, dl) 18185 : DAG.getExternalSymbol("_tls_array", PtrVT)); 18188 DAG.getLoad(PtrVT, dl, Chain, TlsArray, MachinePointerInfo(Ptr)); 18195 SDValue IDX = DAG.getExternalSymbol("_tls_index", PtrVT); 18197 IDX = DAG.getExtLoad(ISD::ZEXTLOAD, dl, PtrVT, Chain, IDX, 18200 IDX = DAG.getLoad(PtrVT, dl, Chain, IDX, MachinePointerInfo()); 18202 auto &DL = DAG.getDataLayout(); 18204 DAG.getConstant(Log2_64_Ceil(DL.getPointerSize()), dl, MVT::i8); 18205 IDX = DAG.getNode(ISD::SHL, dl, PtrVT, IDX, Scale); 18207 res = DAG.getNode(ISD::ADD, dl, PtrVT, ThreadPointer, IDX); 18210 res = DAG.getLoad(PtrVT, dl, Chain, res, MachinePointerInfo()); 18213 SDValue TGA = DAG.getTargetGlobalAddress(GA->getGlobal(), dl, 18216 SDValue Offset = DAG.getNode(X86ISD::Wrapper, dl, PtrVT, TGA); 18220 return DAG.getNode(ISD::ADD, dl, PtrVT, res, Offset);