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