reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/PowerPC/PPCISelLowering.cpp
 2845   if (DAG.getTarget().useEmulatedTLS())
 2846     return LowerToTLSEmulatedModel(GA, DAG);
 2850   EVT PtrVT = getPointerTy(DAG.getDataLayout());
 2852   const Module *M = DAG.getMachineFunction().getFunction().getParent();
 2859     SDValue TGAHi = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0,
 2861     SDValue TGALo = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0,
 2863     SDValue TLSReg = is64bit ? DAG.getRegister(PPC::X13, MVT::i64)
 2864                              : DAG.getRegister(PPC::R2, MVT::i32);
 2866     SDValue Hi = DAG.getNode(PPCISD::Hi, dl, PtrVT, TGAHi, TLSReg);
 2867     return DAG.getNode(PPCISD::Lo, dl, PtrVT, TGALo, Hi);
 2871     SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, 0);
 2872     SDValue TGATLS = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0,
 2876       setUsesTOCBasePtr(DAG);
 2877       SDValue GOTReg = DAG.getRegister(PPC::X2, MVT::i64);
 2878       GOTPtr = DAG.getNode(PPCISD::ADDIS_GOT_TPREL_HA, dl,
 2882         GOTPtr = DAG.getNode(PPCISD::PPC32_GOT, dl, PtrVT);
 2884         GOTPtr = DAG.getNode(PPCISD::GlobalBaseReg, dl, PtrVT);
 2886         GOTPtr = DAG.getNode(PPCISD::PPC32_PICGOT, dl, PtrVT);
 2888     SDValue TPOffset = DAG.getNode(PPCISD::LD_GOT_TPREL_L, dl,
 2890     return DAG.getNode(PPCISD::ADD_TLS, dl, PtrVT, TPOffset, TGATLS);
 2894     SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, 0);
 2897       setUsesTOCBasePtr(DAG);
 2898       SDValue GOTReg = DAG.getRegister(PPC::X2, MVT::i64);
 2899       GOTPtr = DAG.getNode(PPCISD::ADDIS_TLSGD_HA, dl, PtrVT,
 2903         GOTPtr = DAG.getNode(PPCISD::GlobalBaseReg, dl, PtrVT);
 2905         GOTPtr = DAG.getNode(PPCISD::PPC32_PICGOT, dl, PtrVT);
 2907     return DAG.getNode(PPCISD::ADDI_TLSGD_L_ADDR, dl, PtrVT,
 2912     SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, 0);
 2915       setUsesTOCBasePtr(DAG);
 2916       SDValue GOTReg = DAG.getRegister(PPC::X2, MVT::i64);
 2917       GOTPtr = DAG.getNode(PPCISD::ADDIS_TLSLD_HA, dl, PtrVT,
 2921         GOTPtr = DAG.getNode(PPCISD::GlobalBaseReg, dl, PtrVT);
 2923         GOTPtr = DAG.getNode(PPCISD::PPC32_PICGOT, dl, PtrVT);
 2925     SDValue TLSAddr = DAG.getNode(PPCISD::ADDI_TLSLD_L_ADDR, dl,
 2927     SDValue DtvOffsetHi = DAG.getNode(PPCISD::ADDIS_DTPREL_HA, dl,
 2929     return DAG.getNode(PPCISD::ADDI_DTPREL_L, dl, PtrVT, DtvOffsetHi, TGA);