Lines Matching refs:GV
30 Align getAlign(const DataLayout &DL, const GlobalVariable *GV) { in getAlign() argument
31 return DL.getValueOrABITypeAlignment(GV->getPointerAlignment(DL), in getAlign()
32 GV->getValueType()); in getAlign()
35 bool isDynamicLDS(const GlobalVariable &GV) { in isDynamicLDS() argument
37 const Module *M = GV.getParent(); in isDynamicLDS()
39 if (GV.getType()->getPointerAddressSpace() != AMDGPUAS::LOCAL_ADDRESS) in isDynamicLDS()
41 return DL.getTypeAllocSize(GV.getValueType()) == 0; in isDynamicLDS()
44 bool isLDSVariableToLower(const GlobalVariable &GV) { in isLDSVariableToLower() argument
45 if (GV.getType()->getPointerAddressSpace() != AMDGPUAS::LOCAL_ADDRESS) { in isLDSVariableToLower()
48 if (isDynamicLDS(GV)) { in isLDSVariableToLower()
51 if (GV.isConstant()) { in isLDSVariableToLower()
57 if (GV.hasInitializer() && !isa<UndefValue>(GV.getInitializer())) { in isLDSVariableToLower()
80 for (auto &GV : M.globals()) in eliminateConstantExprUsesOfLDSFromAllInstructions() local
81 if (AMDGPU::isLDSVariableToLower(GV)) in eliminateConstantExprUsesOfLDSFromAllInstructions()
82 LDSGlobals.push_back(&GV); in eliminateConstantExprUsesOfLDSFromAllInstructions()
91 for (auto &GV : M.globals()) { in getUsesOfLDSByFunction() local
92 if (!AMDGPU::isLDSVariableToLower(GV)) in getUsesOfLDSByFunction()
94 for (User *V : GV.users()) { in getUsesOfLDSByFunction()
98 kernels[F].insert(&GV); in getUsesOfLDSByFunction()
100 Functions[F].insert(&GV); in getUsesOfLDSByFunction()
216 for (auto *GV : GVs) { in getTransitiveUsesOfLDS() local
217 bool IsAbsolute = GV->isAbsoluteSymbolRef(); in getTransitiveUsesOfLDS()
218 bool IsDirectMapDynLDSGV = AMDGPU::isDynamicLDS(*GV) && DirectMapKernel.contains(Fn); in getTransitiveUsesOfLDS()