class CFLSteensAAResult
Declaration
class CFLSteensAAResult : public AAResultBase { /* full declaration omitted */ };
Description
A CRTP-driven "mixin" base class to help implement the function alias analysis results concept. Because of the nature of many alias analysis implementations, they often only implement a subset of the interface. This base class will attempt to implement the remaining portions of the interface in terms of simpler forms of the interface where possible, and otherwise provide conservatively correct fallback implementations. Implementors of an alias analysis should derive from this CRTP, and then override specific methods that they wish to customize. There is no need to use virtual anywhere, the CRTP base class does static dispatch to the derived type passed into it.
Declared at: llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h:39
Inherits from: AAResultBase
Method Overview
- public CFLSteensAAResult(std::function<const TargetLibraryInfo &(Function &)> GetTLI)
- public CFLSteensAAResult(llvm::CFLSteensAAResult && Arg)
- public llvm::AliasResult alias(const llvm::MemoryLocation & LocA, const llvm::MemoryLocation & LocB, llvm::AAQueryInfo & AAQI)
- public const Optional<llvm::CFLSteensAAResult::FunctionInfo> & ensureCached(llvm::Function * Fn)
- public void evict(llvm::Function * Fn)
- public const cflaa::AliasSummary * getAliasSummary(llvm::Function & Fn)
- public bool invalidate(llvm::Function &, const llvm::PreservedAnalyses &, FunctionAnalysisManager::Invalidator &)
- public llvm::AliasResult query(const llvm::MemoryLocation & LocA, const llvm::MemoryLocation & LocB)
- public void scan(llvm::Function * Fn)
- public ~CFLSteensAAResult()
Methods
¶CFLSteensAAResult(
std::function<const TargetLibraryInfo&(
Function&)> GetTLI)
CFLSteensAAResult(
std::function<const TargetLibraryInfo&(
Function&)> GetTLI)
Declared at: llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h:45
Parameters
- std::function<const TargetLibraryInfo&(Function&)> GetTLI
¶CFLSteensAAResult(llvm::CFLSteensAAResult&& Arg)
CFLSteensAAResult(llvm::CFLSteensAAResult&& Arg)
Declared at: llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h:47
Parameters
- llvm::CFLSteensAAResult&& 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/CFLSteensAliasAnalysis.h:73
Parameters
- const llvm::MemoryLocation& LocA
- const llvm::MemoryLocation& LocB
- llvm::AAQueryInfo& AAQI
¶const Optional<
llvm::CFLSteensAAResult::FunctionInfo>&
ensureCached(llvm::Function* Fn)
const Optional<
llvm::CFLSteensAAResult::FunctionInfo>&
ensureCached(llvm::Function* Fn)
Description
Ensures that the given function is available in the cache. Returns the appropriate entry from the cache.
Declared at: llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h:65
Parameters
- llvm::Function* Fn
¶void evict(llvm::Function* Fn)
void evict(llvm::Function* Fn)
Declared at: llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h:61
Parameters
- llvm::Function* Fn
¶const cflaa::AliasSummary* getAliasSummary(
llvm::Function& Fn)
const cflaa::AliasSummary* getAliasSummary(
llvm::Function& Fn)
Description
Get the alias summary for the given function Return nullptr if the summary is not found or not available
Declared at: llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h:69
Parameters
- llvm::Function& Fn
¶bool invalidate(
llvm::Function&,
const llvm::PreservedAnalyses&,
FunctionAnalysisManager::Invalidator&)
bool invalidate(
llvm::Function&,
const llvm::PreservedAnalyses&,
FunctionAnalysisManager::Invalidator&)
Description
Handle invalidation events from the new pass manager. By definition, this result is stateless and so remains valid.
Declared at: llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h:53
Parameters
- llvm::Function&
- const llvm::PreservedAnalyses&
- FunctionAnalysisManager::Invalidator&
¶llvm::AliasResult query(
const llvm::MemoryLocation& LocA,
const llvm::MemoryLocation& LocB)
llvm::AliasResult query(
const llvm::MemoryLocation& LocA,
const llvm::MemoryLocation& LocB)
Declared at: llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h:71
Parameters
- const llvm::MemoryLocation& LocA
- const llvm::MemoryLocation& LocB
¶void scan(llvm::Function* Fn)
void scan(llvm::Function* Fn)
Description
Inserts the given Function into the cache.
Declared at: llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h:59
Parameters
- llvm::Function* Fn
¶~CFLSteensAAResult()
~CFLSteensAAResult()
Declared at: llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h:48