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()
405 bool GlobalsAAResult::AnalyzeIndirectGlobalMemory(GlobalVariable *GV) { in AnalyzeIndirectGlobalMemory() argument
411 if (Constant *C = GV->getInitializer()) in AnalyzeIndirectGlobalMemory()
417 for (User *U : GV->users()) { in AnalyzeIndirectGlobalMemory()
427 if (SI->getOperand(0) == GV) in AnalyzeIndirectGlobalMemory()
443 GV)) in AnalyzeIndirectGlobalMemory()
457 AllocsForIndirectGlobals[AllocRelatedValues.back()] = GV; in AnalyzeIndirectGlobalMemory()
462 IndirectGlobals.insert(GV); in AnalyzeIndirectGlobalMemory()
463 Handles.emplace_front(*this, GV); in AnalyzeIndirectGlobalMemory()
625 static bool isNonEscapingGlobalNoAliasWithLoad(const GlobalValue *GV, in isNonEscapingGlobalNoAliasWithLoad() argument
707 bool GlobalsAAResult::isNonEscapingGlobalNoAlias(const GlobalValue *GV, in isNonEscapingGlobalNoAlias() argument
726 if (InputGV == GV) in isNonEscapingGlobalNoAlias()
731 auto *GVar = dyn_cast<GlobalVariable>(GV); in isNonEscapingGlobalNoAlias()
768 if (isNonEscapingGlobalNoAliasWithLoad(GV, Ptr, Depth, DL)) in isNonEscapingGlobalNoAlias()
849 const GlobalValue *GV = GV1 ? GV1 : GV2; in alias() local
851 if (isNonEscapingGlobalNoAlias(GV, UV)) in alias()
864 if (GlobalVariable *GV = dyn_cast<GlobalVariable>(LI->getOperand(0))) in alias() local
865 if (IndirectGlobals.count(GV)) in alias()
866 GV1 = GV; in alias()
868 if (const GlobalVariable *GV = dyn_cast<GlobalVariable>(LI->getOperand(0))) in alias() local
869 if (IndirectGlobals.count(GV)) in alias()
870 GV2 = GV; in alias()
896 const GlobalValue *GV, in getModRefInfoForArgument() argument
914 MemoryLocation::getBeforeOrAfter(GV), AAQI, in getModRefInfoForArgument()
919 if (is_contained(Objects, GV)) in getModRefInfoForArgument()
934 if (const GlobalValue *GV = in getModRefInfo() local
938 if (GV->hasLocalLinkage() && !UnknownFunctionsWithLocalLinkage) in getModRefInfo()
940 if (NonAddressTakenGlobals.count(GV)) in getModRefInfo()
942 Known = FI->getModRefInfoForGlobal(*GV) | in getModRefInfo()
943 getModRefInfoForArgument(Call, GV, AAQI); in getModRefInfo()