|
LLVM 23.0.0git
|
An alias analysis result set for globals. More...
#include "llvm/Analysis/GlobalsModRef.h"
Classes | |
| class | FunctionInfo |
| The mod/ref information collected for a particular function. More... | |
Static Public Member Functions | |
| static LLVM_ABI GlobalsAAResult | analyzeModule (Module &M, std::function< const TargetLibraryInfo &(Function &F)> GetTLI, CallGraph &CG) |
Friends | |
| struct | RecomputeGlobalsAAPass |
Additional Inherited Members | |
| Protected Member Functions inherited from llvm::AAResultBase | |
| AAResultBase ()=default | |
| AAResultBase (const AAResultBase &Arg)=default | |
| AAResultBase (AAResultBase &&Arg) | |
An alias analysis result set for globals.
This focuses on handling aliasing properties of globals and interprocedural function call mod/ref information.
Definition at line 31 of file GlobalsModRef.h.
| GlobalsAAResult::GlobalsAAResult | ( | GlobalsAAResult && | Arg | ) |
Definition at line 974 of file GlobalsModRef.cpp.
References llvm::AAResultBase::AAResultBase(), assert(), H, and llvm::move().
|
default |
References Call, F, llvm::AAResultBase::getMemoryEffects(), llvm::AAResultBase::getModRefInfo(), and LLVM_ABI.
| AliasResult GlobalsAAResult::alias | ( | const MemoryLocation & | LocA, |
| const MemoryLocation & | LocB, | ||
| AAQueryInfo & | AAQI, | ||
| const Instruction * | CtxI ) |
alias - If one of the pointers is to a global that we are tracking, and the other is some random pointer, we know there cannot be an alias, because the address of the global isn't taken.
Definition at line 834 of file GlobalsModRef.cpp.
References llvm::dyn_cast(), EnableUnsafeGlobalsModRefAliasResults, llvm::getUnderlyingObject(), llvm::AliasResult::MayAlias, llvm::AliasResult::NoAlias, llvm::MemoryLocation::Ptr, and llvm::Value::stripPointerCastsForAliasAnalysis().
|
static |
Definition at line 990 of file GlobalsModRef.cpp.
References F.
Referenced by llvm::GlobalsAA::run(), and llvm::GlobalsAAWrapperPass::runOnModule().
|
inline |
Definition at line 918 of file AliasAnalysis.h.
| MemoryEffects GlobalsAAResult::getMemoryEffects | ( | const Function * | F | ) |
getMemoryEffects - Return the behavior of the specified function if called from the specified call site.
The call site may be null in which case the most generic behavior of this function should be returned.
Definition at line 238 of file GlobalsModRef.cpp.
References F, and llvm::MemoryEffectsBase< IRMemLocation >::unknown().
| ModRefInfo GlobalsAAResult::getModRefInfo | ( | const CallBase * | Call, |
| const MemoryLocation & | Loc, | ||
| AAQueryInfo & | AAQI ) |
Definition at line 948 of file GlobalsModRef.cpp.
References Call, llvm::dyn_cast(), F, llvm::getUnderlyingObject(), llvm::GlobalValue::hasLocalLinkage(), and llvm::ModRef.
|
inline |
Definition at line 931 of file AliasAnalysis.h.
|
inline |
Definition at line 936 of file AliasAnalysis.h.
| bool GlobalsAAResult::invalidate | ( | Module & | M, |
| const PreservedAnalyses & | PA, | ||
| ModuleAnalysisManager::Invalidator & | ) |
Definition at line 823 of file GlobalsModRef.cpp.
References llvm::PreservedAnalyses::getChecker().
|
friend |
Definition at line 80 of file GlobalsModRef.h.
References LLVM_ABI, and RecomputeGlobalsAAPass.
Referenced by RecomputeGlobalsAAPass.