Lines Matching refs:GV

323     for (auto &GV : M.globals())  in eliminateConstantExprUsesOfLDSFromAllInstructions()  local
324 if (AMDGPU::isLDSVariableToLower(GV)) in eliminateConstantExprUsesOfLDSFromAllInstructions()
325 LDSGlobals.push_back(&GV); in eliminateConstantExprUsesOfLDSFromAllInstructions()
343 for (auto &GV : M.globals()) { in getUsesOfLDSByFunction() local
344 if (!AMDGPU::isLDSVariableToLower(GV)) { in getUsesOfLDSByFunction()
348 if (GV.isAbsoluteSymbolRef()) { in getUsesOfLDSByFunction()
353 for (User *V : GV.users()) { in getUsesOfLDSByFunction()
357 kernels[F].insert(&GV); in getUsesOfLDSByFunction()
359 functions[F].insert(&GV); in getUsesOfLDSByFunction()
489 GlobalVariable *GV = Variables[i]; in getAddressesOfVariablesInKernel() local
490 auto ConstantGepIt = LDSVarsToConstantGEP.find(GV); in getAddressesOfVariablesInKernel()
541 GlobalVariable *GV, Use &U, in replaceUseWithTableLookup() argument
565 LookupTable->getValueType(), LookupTable, GEPIdx, GV->getName()); in replaceUseWithTableLookup()
570 Builder.CreateIntToPtr(loaded, GV->getType(), GV->getName()); in replaceUseWithTableLookup()
584 auto *GV = ModuleScopeVariables[Index]; in replaceUsesInInstructionsWithTableLookup() local
586 for (Use &U : make_early_inc_range(GV->uses())) { in replaceUsesInInstructionsWithTableLookup()
591 replaceUseWithTableLookup(M, Builder, LookupTable, GV, U, in replaceUsesInInstructionsWithTableLookup()
609 for (GlobalVariable *GV : LDSUsesInfo.indirect_access[&Func]) { in kernelsThatIndirectlyAccessAnyOfPassedVariables()
610 if (VariableSet.contains(GV)) { in kernelsThatIndirectlyAccessAnyOfPassedVariables()
626 GlobalVariable *GV = nullptr; in chooseBestVariableForModuleStrategy() member
632 CandidateTy(GlobalVariable *GV, uint64_t UserCount, uint64_t AllocSize) in chooseBestVariableForModuleStrategy()
633 : GV(GV), UserCount(UserCount), Size(AllocSize) {} in chooseBestVariableForModuleStrategy()
654 return GV->getName() < Other.GV->getName(); in chooseBestVariableForModuleStrategy()
661 GlobalVariable *GV = K.first; in chooseBestVariableForModuleStrategy() local
668 GV, K.second.size(), in chooseBestVariableForModuleStrategy()
669 DL.getTypeAllocSize(GV->getValueType()).getFixedValue()); in chooseBestVariableForModuleStrategy()
674 return MostUsed.GV; in chooseBestVariableForModuleStrategy()
677 static void recordLDSAbsoluteAddress(Module *M, GlobalVariable *GV, in recordLDSAbsoluteAddress() argument
686 GV->setMetadata(LLVMContext::MD_absolute_symbol, in recordLDSAbsoluteAddress()
781 GlobalVariable *GV = K.first; in partitionVariablesIntoIndirectStrategies() local
782 assert(AMDGPU::isLDSVariableToLower(*GV)); in partitionVariablesIntoIndirectStrategies()
785 if (AMDGPU::isDynamicLDS(*GV)) { in partitionVariablesIntoIndirectStrategies()
786 DynamicVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
792 ModuleScopeVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
796 TableLookupVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
801 KernelAccessVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
804 "cannot lower LDS '" + GV->getName() + in partitionVariablesIntoIndirectStrategies()
810 if (GV == HybridModuleRoot) { in partitionVariablesIntoIndirectStrategies()
812 ModuleScopeVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
814 KernelAccessVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
816 ModuleScopeVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
818 TableLookupVariables.insert(GV); in partitionVariablesIntoIndirectStrategies()
1002 auto UpdateMaxAlignment = [&MaxDynamicAlignment, &DL](GlobalVariable *GV) { in buildRepresentativeDynamicLDSInstance() argument
1003 if (AMDGPU::isDynamicLDS(*GV)) { in buildRepresentativeDynamicLDSInstance()
1005 std::max(MaxDynamicAlignment, AMDGPU::getAlign(DL, GV)); in buildRepresentativeDynamicLDSInstance()
1009 for (GlobalVariable *GV : LDSUsesInfo.indirect_access[func]) { in buildRepresentativeDynamicLDSInstance()
1010 UpdateMaxAlignment(GV); in buildRepresentativeDynamicLDSInstance()
1013 for (GlobalVariable *GV : LDSUsesInfo.direct_access[func]) { in buildRepresentativeDynamicLDSInstance()
1014 UpdateMaxAlignment(GV); in buildRepresentativeDynamicLDSInstance()
1120 for (GlobalVariable *GV : DynamicVariables) { in lowerDynamicLDSVariables()
1121 for (Use &U : make_early_inc_range(GV->uses())) { in lowerDynamicLDSVariables()
1128 replaceUseWithTableLookup(M, Builder, table, GV, U, nullptr); in lowerDynamicLDSVariables()
1152 for (GlobalVariable *GV : K.second) { in runOnModule()
1153 LDSToKernelsThatNeedToAccessItIndirectly[GV].insert(F); in runOnModule()
1190 for (auto &GV : KernelAccessVariables) { in runOnModule() local
1191 auto &funcs = LDSToKernelsThatNeedToAccessItIndirectly[GV]; in runOnModule()
1197 Vec.insert(GV); in runOnModule()
1313 for (auto &GV : make_early_inc_range(M.globals())) in runOnModule() local
1314 if (AMDGPU::isLDSVariableToLower(GV)) { in runOnModule()
1316 GV.removeDeadConstantUsers(); in runOnModule()
1317 if (GV.use_empty()) in runOnModule()
1318 GV.eraseFromParent(); in runOnModule()
1334 for (auto &GV : M.globals()) { in superAlignLDSGlobals() local
1335 if (GV.getType()->getPointerAddressSpace() != AMDGPUAS::LOCAL_ADDRESS) { in superAlignLDSGlobals()
1339 if (!GV.hasInitializer()) { in superAlignLDSGlobals()
1344 Align Alignment = AMDGPU::getAlign(DL, &GV); in superAlignLDSGlobals()
1345 TypeSize GVSize = DL.getTypeAllocSize(GV.getValueType()); in superAlignLDSGlobals()
1361 if (Alignment != AMDGPU::getAlign(DL, &GV)) { in superAlignLDSGlobals()
1363 GV.setAlignment(Alignment); in superAlignLDSGlobals()
1390 for (GlobalVariable *GV : Sorted) { in createLDSVariableReplacement()
1391 OptimizedStructLayoutField F(GV, in createLDSVariableReplacement()
1392 DL.getTypeAllocSize(GV->getValueType()), in createLDSVariableReplacement()
1393 AMDGPU::getAlign(DL, GV)); in createLDSVariableReplacement()
1453 GlobalVariable *GV = LocalVars[I]; in createLDSVariableReplacement() local
1457 assert(GV->use_empty()); in createLDSVariableReplacement()
1458 GV->eraseFromParent(); in createLDSVariableReplacement()
1460 Map[GV] = GEP; in createLDSVariableReplacement()
1499 GlobalVariable *GV = LDSVarsToTransform[I]; in replaceLDSVariablesWithStruct() local
1500 Constant *GEP = Replacement.LDSVarsToConstantGEP.at(GV); in replaceLDSVariablesWithStruct()
1502 GV->replaceUsesWithIf(GEP, Predicate); in replaceLDSVariablesWithStruct()