Lines Matching refs:GV
324 for (GlobalVariable *GV : Variables) { in getAddressesOfVariablesInKernel()
325 auto ConstantGepIt = LDSVarsToConstantGEP.find(GV); in getAddressesOfVariablesInKernel()
376 GlobalVariable *GV, Use &U, in replaceUseWithTableLookup() argument
400 LookupTable->getValueType(), LookupTable, GEPIdx, GV->getName()); in replaceUseWithTableLookup()
405 Builder.CreateIntToPtr(loaded, GV->getType(), GV->getName()); in replaceUseWithTableLookup()
419 auto *GV = ModuleScopeVariables[Index]; in replaceUsesInInstructionsWithTableLookup() local
421 for (Use &U : make_early_inc_range(GV->uses())) { in replaceUsesInInstructionsWithTableLookup()
426 replaceUseWithTableLookup(M, Builder, LookupTable, GV, U, in replaceUsesInInstructionsWithTableLookup()
444 for (GlobalVariable *GV : LDSUsesInfo.indirect_access[&Func]) { in kernelsThatIndirectlyAccessAnyOfPassedVariables()
445 if (VariableSet.contains(GV)) { in kernelsThatIndirectlyAccessAnyOfPassedVariables()
461 GlobalVariable *GV = nullptr; in chooseBestVariableForModuleStrategy() member
467 CandidateTy(GlobalVariable *GV, uint64_t UserCount, uint64_t AllocSize) in chooseBestVariableForModuleStrategy()
468 : GV(GV), UserCount(UserCount), Size(AllocSize) {} in chooseBestVariableForModuleStrategy()
489 return GV->getName() < Other.GV->getName(); in chooseBestVariableForModuleStrategy()
496 GlobalVariable *GV = K.first; in chooseBestVariableForModuleStrategy() local
503 GV, K.second.size(), in chooseBestVariableForModuleStrategy()
504 DL.getTypeAllocSize(GV->getValueType()).getFixedValue()); in chooseBestVariableForModuleStrategy()
509 return MostUsed.GV; in chooseBestVariableForModuleStrategy()
512 static void recordLDSAbsoluteAddress(Module *M, GlobalVariable *GV, in recordLDSAbsoluteAddress() argument
521 GV->setMetadata(LLVMContext::MD_absolute_symbol, in recordLDSAbsoluteAddress()
616 GlobalVariable *GV = K.first; in partitionVariablesIntoIndirectStrategies() local
617 assert(AMDGPU::isLDSVariableToLower(*GV)); in partitionVariablesIntoIndirectStrategies()
620 if (AMDGPU::isDynamicLDS(*GV)) { in partitionVariablesIntoIndirectStrategies()
621 DynamicVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
627 ModuleScopeVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
631 TableLookupVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
636 KernelAccessVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
639 "cannot lower LDS '" + GV->getName() + in partitionVariablesIntoIndirectStrategies()
645 if (GV == HybridModuleRoot) { in partitionVariablesIntoIndirectStrategies()
647 ModuleScopeVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
649 KernelAccessVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
651 ModuleScopeVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
653 TableLookupVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
837 auto UpdateMaxAlignment = [&MaxDynamicAlignment, &DL](GlobalVariable *GV) { in buildRepresentativeDynamicLDSInstance() argument
838 if (AMDGPU::isDynamicLDS(*GV)) { in buildRepresentativeDynamicLDSInstance()
840 std::max(MaxDynamicAlignment, AMDGPU::getAlign(DL, GV)); in buildRepresentativeDynamicLDSInstance()
844 for (GlobalVariable *GV : LDSUsesInfo.indirect_access[func]) { in buildRepresentativeDynamicLDSInstance()
845 UpdateMaxAlignment(GV); in buildRepresentativeDynamicLDSInstance()
848 for (GlobalVariable *GV : LDSUsesInfo.direct_access[func]) { in buildRepresentativeDynamicLDSInstance()
849 UpdateMaxAlignment(GV); in buildRepresentativeDynamicLDSInstance()
910 for (GlobalVariable *GV : DynamicVariables) { in lowerDynamicLDSVariables()
911 for (Use &U : make_early_inc_range(GV->uses())) { in lowerDynamicLDSVariables()
918 replaceUseWithTableLookup(M, Builder, table, GV, U, nullptr); in lowerDynamicLDSVariables()
942 for (GlobalVariable *GV : K.second) { in runOnModule()
943 LDSToKernelsThatNeedToAccessItIndirectly[GV].insert(F); in runOnModule()
980 for (auto &GV : KernelAccessVariables) { in runOnModule() local
981 auto &funcs = LDSToKernelsThatNeedToAccessItIndirectly[GV]; in runOnModule()
987 Vec.insert(GV); in runOnModule()
1103 for (auto &GV : make_early_inc_range(M.globals())) in runOnModule() local
1104 if (AMDGPU::isLDSVariableToLower(GV)) { in runOnModule()
1106 GV.removeDeadConstantUsers(); in runOnModule()
1107 if (GV.use_empty()) in runOnModule()
1108 GV.eraseFromParent(); in runOnModule()
1124 for (auto &GV : M.globals()) { in superAlignLDSGlobals() local
1125 if (GV.getType()->getPointerAddressSpace() != AMDGPUAS::LOCAL_ADDRESS) { in superAlignLDSGlobals()
1129 if (!GV.hasInitializer()) { in superAlignLDSGlobals()
1134 Align Alignment = AMDGPU::getAlign(DL, &GV); in superAlignLDSGlobals()
1135 TypeSize GVSize = DL.getTypeAllocSize(GV.getValueType()); in superAlignLDSGlobals()
1151 if (Alignment != AMDGPU::getAlign(DL, &GV)) { in superAlignLDSGlobals()
1153 GV.setAlignment(Alignment); in superAlignLDSGlobals()
1180 for (GlobalVariable *GV : Sorted) { in createLDSVariableReplacement()
1181 OptimizedStructLayoutField F(GV, in createLDSVariableReplacement()
1182 DL.getTypeAllocSize(GV->getValueType()), in createLDSVariableReplacement()
1183 AMDGPU::getAlign(DL, GV)); in createLDSVariableReplacement()
1243 GlobalVariable *GV = LocalVars[I]; in createLDSVariableReplacement() local
1247 assert(GV->use_empty()); in createLDSVariableReplacement()
1248 GV->eraseFromParent(); in createLDSVariableReplacement()
1250 Map[GV] = GEP; in createLDSVariableReplacement()
1289 GlobalVariable *GV = LDSVarsToTransform[I]; in replaceLDSVariablesWithStruct() local
1290 Constant *GEP = Replacement.LDSVarsToConstantGEP.at(GV); in replaceLDSVariablesWithStruct()
1292 GV->replaceUsesWithIf(GEP, Predicate); in replaceLDSVariablesWithStruct()