class BasicAAResult
Declaration
class BasicAAResult : public AAResultBase { /* full declaration omitted */ };
Description
This is the AA result object for the basic, local, and stateless alias analysis. It implements the AA query interface in an entirely stateless manner. As one consequence, it is never invalidated due to IR changes. While it does retain some storage, that is used as an optimization and not to preserve information from query to query. However it does retain handles to various other analyses and must be recomputed when those analyses are.
Declared at: llvm/include/llvm/Analysis/BasicAliasAnalysis.h:54
Inherits from: AAResultBase
Method Overview
- public BasicAAResult(const llvm::DataLayout & DL, const llvm::Function & F, const llvm::TargetLibraryInfo & TLI, llvm::AssumptionCache & AC, llvm::DominatorTree * DT = nullptr, llvm::LoopInfo * LI = nullptr, llvm::PhiValues * PV = nullptr)
- public BasicAAResult(const llvm::BasicAAResult & Arg)
- public BasicAAResult(llvm::BasicAAResult && Arg)
- public llvm::AliasResult alias(const llvm::MemoryLocation & LocA, const llvm::MemoryLocation & LocB, llvm::AAQueryInfo & AAQI)
- public llvm::ModRefInfo getArgModRefInfo(const llvm::CallBase * Call, unsigned int ArgIdx)
- public llvm::FunctionModRefBehavior getModRefBehavior(const llvm::CallBase * Call)
- public llvm::FunctionModRefBehavior getModRefBehavior(const llvm::Function * Fn)
- public llvm::ModRefInfo getModRefInfo(const llvm::CallBase * Call, const llvm::MemoryLocation & Loc, llvm::AAQueryInfo & AAQI)
- public llvm::ModRefInfo getModRefInfo(const llvm::CallBase * Call1, const llvm::CallBase * Call2, llvm::AAQueryInfo & AAQI)
- public bool invalidate(llvm::Function & Fn, const llvm::PreservedAnalyses & PA, FunctionAnalysisManager::Invalidator & Inv)
- public bool pointsToConstantMemory(const llvm::MemoryLocation & Loc, llvm::AAQueryInfo & AAQI, bool OrLocal)
Methods
¶BasicAAResult(const llvm::DataLayout& DL,
const llvm::Function& F,
const llvm::TargetLibraryInfo& TLI,
llvm::AssumptionCache& AC,
llvm::DominatorTree* DT = nullptr,
llvm::LoopInfo* LI = nullptr,
llvm::PhiValues* PV = nullptr)
BasicAAResult(const llvm::DataLayout& DL,
const llvm::Function& F,
const llvm::TargetLibraryInfo& TLI,
llvm::AssumptionCache& AC,
llvm::DominatorTree* DT = nullptr,
llvm::LoopInfo* LI = nullptr,
llvm::PhiValues* PV = nullptr)
Declared at: llvm/include/llvm/Analysis/BasicAliasAnalysis.h:66
Parameters
- const llvm::DataLayout& DL
- const llvm::Function& F
- const llvm::TargetLibraryInfo& TLI
- llvm::AssumptionCache& AC
- llvm::DominatorTree* DT = nullptr
- llvm::LoopInfo* LI = nullptr
- llvm::PhiValues* PV = nullptr
¶BasicAAResult(const llvm::BasicAAResult& Arg)
BasicAAResult(const llvm::BasicAAResult& Arg)
Declared at: llvm/include/llvm/Analysis/BasicAliasAnalysis.h:73
Parameters
- const llvm::BasicAAResult& Arg
¶BasicAAResult(llvm::BasicAAResult&& Arg)
BasicAAResult(llvm::BasicAAResult&& Arg)
Declared at: llvm/include/llvm/Analysis/BasicAliasAnalysis.h:76
Parameters
- llvm::BasicAAResult&& Arg
¶llvm::AliasResult alias(
const llvm::MemoryLocation& LocA,
const llvm::MemoryLocation& LocB,
llvm::AAQueryInfo& AAQI)
llvm::AliasResult alias(
const llvm::MemoryLocation& LocA,
const llvm::MemoryLocation& LocB,
llvm::AAQueryInfo& AAQI)
Declared at: llvm/include/llvm/Analysis/BasicAliasAnalysis.h:84
Parameters
- const llvm::MemoryLocation& LocA
- const llvm::MemoryLocation& LocB
- llvm::AAQueryInfo& AAQI
¶llvm::ModRefInfo getArgModRefInfo(
const llvm::CallBase* Call,
unsigned int ArgIdx)
llvm::ModRefInfo getArgModRefInfo(
const llvm::CallBase* Call,
unsigned int ArgIdx)
Description
Get the location associated with a pointer argument of a callsite.
Declared at: llvm/include/llvm/Analysis/BasicAliasAnalysis.h:98
Parameters
- const llvm::CallBase* Call
- unsigned int ArgIdx
¶llvm::FunctionModRefBehavior getModRefBehavior(
const llvm::CallBase* Call)
llvm::FunctionModRefBehavior getModRefBehavior(
const llvm::CallBase* Call)
Description
Returns the behavior when calling the given call site.
Declared at: llvm/include/llvm/Analysis/BasicAliasAnalysis.h:101
Parameters
- const llvm::CallBase* Call
¶llvm::FunctionModRefBehavior getModRefBehavior(
const llvm::Function* Fn)
llvm::FunctionModRefBehavior getModRefBehavior(
const llvm::Function* Fn)
Description
Returns the behavior when calling the given function. For use when the call site is not known.
Declared at: llvm/include/llvm/Analysis/BasicAliasAnalysis.h:105
Parameters
- const llvm::Function* Fn
¶llvm::ModRefInfo getModRefInfo(
const llvm::CallBase* Call,
const llvm::MemoryLocation& Loc,
llvm::AAQueryInfo& AAQI)
llvm::ModRefInfo getModRefInfo(
const llvm::CallBase* Call,
const llvm::MemoryLocation& Loc,
llvm::AAQueryInfo& AAQI)
Declared at: llvm/include/llvm/Analysis/BasicAliasAnalysis.h:87
Parameters
- const llvm::CallBase* Call
- const llvm::MemoryLocation& Loc
- llvm::AAQueryInfo& AAQI
¶llvm::ModRefInfo getModRefInfo(
const llvm::CallBase* Call1,
const llvm::CallBase* Call2,
llvm::AAQueryInfo& AAQI)
llvm::ModRefInfo getModRefInfo(
const llvm::CallBase* Call1,
const llvm::CallBase* Call2,
llvm::AAQueryInfo& AAQI)
Declared at: llvm/include/llvm/Analysis/BasicAliasAnalysis.h:90
Parameters
- const llvm::CallBase* Call1
- const llvm::CallBase* Call2
- llvm::AAQueryInfo& AAQI
¶bool invalidate(
llvm::Function& Fn,
const llvm::PreservedAnalyses& PA,
FunctionAnalysisManager::Invalidator& Inv)
bool invalidate(
llvm::Function& Fn,
const llvm::PreservedAnalyses& PA,
FunctionAnalysisManager::Invalidator& Inv)
Description
Handle invalidation events in the new pass manager.
Declared at: llvm/include/llvm/Analysis/BasicAliasAnalysis.h:81
Parameters
- llvm::Function& Fn
- const llvm::PreservedAnalyses& PA
- FunctionAnalysisManager::Invalidator& Inv
¶bool pointsToConstantMemory(
const llvm::MemoryLocation& Loc,
llvm::AAQueryInfo& AAQI,
bool OrLocal)
bool pointsToConstantMemory(
const llvm::MemoryLocation& Loc,
llvm::AAQueryInfo& AAQI,
bool OrLocal)
Description
Chases pointers until we find a (constant global) or not.
Declared at: llvm/include/llvm/Analysis/BasicAliasAnalysis.h:94
Parameters
- const llvm::MemoryLocation& Loc
- llvm::AAQueryInfo& AAQI
- bool OrLocal