Lines Matching refs:GV

156   ModRefInfo getModRefInfoForGlobal(const GlobalValue &GV) const {  in getModRefInfoForGlobal()
160 auto I = P->Map.find(&GV); in getModRefInfoForGlobal()
180 void addModRefInfoForGlobal(const GlobalValue &GV, ModRefInfo NewMRI) { in addModRefInfoForGlobal() argument
186 auto &GlobalMRI = P->Map[&GV]; in addModRefInfoForGlobal()
192 void eraseModRefInfoForGlobal(const GlobalValue &GV) { in eraseModRefInfoForGlobal() argument
194 P->Map.erase(&GV); in eraseModRefInfoForGlobal()
211 if (GlobalValue *GV = dyn_cast<GlobalValue>(V)) { in deleted() local
212 if (GAR->NonAddressTakenGlobals.erase(GV)) { in deleted()
215 if (GAR->IndirectGlobals.erase(GV)) { in deleted()
220 if (I->second == GV) in deleted()
227 FIPair.second.eraseModRefInfoForGlobal(*GV); in deleted()
277 for (GlobalVariable &GV : M.globals()) in AnalyzeGlobals()
278 if (GV.hasLocalLinkage()) { in AnalyzeGlobals()
279 if (!AnalyzeUsesOfPointer(&GV, &Readers, in AnalyzeGlobals()
280 GV.isConstant() ? nullptr : &Writers)) { in AnalyzeGlobals()
282 NonAddressTakenGlobals.insert(&GV); in AnalyzeGlobals()
283 Handles.emplace_front(*this, &GV); in AnalyzeGlobals()
291 FunctionInfos[Reader].addModRefInfoForGlobal(GV, ModRefInfo::Ref); in AnalyzeGlobals()
294 if (!GV.isConstant()) // No need to keep track of writers to constants in AnalyzeGlobals()
300 FunctionInfos[Writer].addModRefInfoForGlobal(GV, ModRefInfo::Mod); in AnalyzeGlobals()
305 if (GV.getValueType()->isPointerTy() && in AnalyzeGlobals()
306 AnalyzeIndirectGlobalMemory(&GV)) in AnalyzeGlobals()
413 bool GlobalsAAResult::AnalyzeIndirectGlobalMemory(GlobalVariable *GV) { in AnalyzeIndirectGlobalMemory() argument
419 if (Constant *C = GV->getInitializer()) in AnalyzeIndirectGlobalMemory()
425 for (User *U : GV->users()) { in AnalyzeIndirectGlobalMemory()
435 if (SI->getOperand(0) == GV) in AnalyzeIndirectGlobalMemory()
451 GV)) in AnalyzeIndirectGlobalMemory()
465 AllocsForIndirectGlobals[AllocRelatedValues.back()] = GV; in AnalyzeIndirectGlobalMemory()
470 IndirectGlobals.insert(GV); in AnalyzeIndirectGlobalMemory()
471 Handles.emplace_front(*this, GV); in AnalyzeIndirectGlobalMemory()
633 static bool isNonEscapingGlobalNoAliasWithLoad(const GlobalValue *GV, in isNonEscapingGlobalNoAliasWithLoad() argument
715 bool GlobalsAAResult::isNonEscapingGlobalNoAlias(const GlobalValue *GV, in isNonEscapingGlobalNoAlias() argument
734 if (InputGV == GV) in isNonEscapingGlobalNoAlias()
739 auto *GVar = dyn_cast<GlobalVariable>(GV); in isNonEscapingGlobalNoAlias()
776 if (isNonEscapingGlobalNoAliasWithLoad(GV, Ptr, Depth, DL)) in isNonEscapingGlobalNoAlias()
857 const GlobalValue *GV = GV1 ? GV1 : GV2; in alias() local
859 if (isNonEscapingGlobalNoAlias(GV, UV)) in alias()
872 if (GlobalVariable *GV = dyn_cast<GlobalVariable>(LI->getOperand(0))) in alias() local
873 if (IndirectGlobals.count(GV)) in alias()
874 GV1 = GV; in alias()
876 if (const GlobalVariable *GV = dyn_cast<GlobalVariable>(LI->getOperand(0))) in alias() local
877 if (IndirectGlobals.count(GV)) in alias()
878 GV2 = GV; in alias()
904 const GlobalValue *GV, in getModRefInfoForArgument() argument
922 MemoryLocation::getBeforeOrAfter(GV), AAQI, in getModRefInfoForArgument()
927 if (is_contained(Objects, GV)) in getModRefInfoForArgument()
942 if (const GlobalValue *GV = in getModRefInfo() local
946 if (GV->hasLocalLinkage() && !UnknownFunctionsWithLocalLinkage) in getModRefInfo()
948 if (NonAddressTakenGlobals.count(GV)) in getModRefInfo()
950 Known = FI->getModRefInfoForGlobal(*GV) | in getModRefInfo()
951 getModRefInfoForArgument(Call, GV, AAQI); in getModRefInfo()