class CFLAndersAAResult
Declaration
class CFLAndersAAResult : 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/CFLAndersAliasAnalysis.h:38
Inherits from: AAResultBase
Method Overview
- public CFLAndersAAResult(std::function<const TargetLibraryInfo &(Function &)> GetTLI)
- public CFLAndersAAResult(llvm::CFLAndersAAResult && RHS)
- public llvm::AliasResult alias(const llvm::MemoryLocation &, const llvm::MemoryLocation &, llvm::AAQueryInfo &)
- public void evict(const llvm::Function * Fn)
- public const cflaa::AliasSummary * getAliasSummary(const llvm::Function &)
- public bool invalidate(llvm::Function &, const llvm::PreservedAnalyses &, FunctionAnalysisManager::Invalidator &)
- public llvm::AliasResult query(const llvm::MemoryLocation &, const llvm::MemoryLocation &)
- public ~CFLAndersAAResult()
Methods
¶CFLAndersAAResult(
std::function<const TargetLibraryInfo&(
Function&)> GetTLI)
CFLAndersAAResult(
std::function<const TargetLibraryInfo&(
Function&)> GetTLI)
Declared at: llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h:44
Parameters
- std::function<const TargetLibraryInfo&(Function&)> GetTLI
¶CFLAndersAAResult(llvm::CFLAndersAAResult&& RHS)
CFLAndersAAResult(llvm::CFLAndersAAResult&& RHS)
Declared at: llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h:46
Parameters
- llvm::CFLAndersAAResult&& RHS
¶llvm::AliasResult alias(
const llvm::MemoryLocation&,
const llvm::MemoryLocation&,
llvm::AAQueryInfo&)
llvm::AliasResult alias(
const llvm::MemoryLocation&,
const llvm::MemoryLocation&,
llvm::AAQueryInfo&)
Declared at: llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h:64
Parameters
- const llvm::MemoryLocation&
- const llvm::MemoryLocation&
- llvm::AAQueryInfo&
¶void evict(const llvm::Function* Fn)
void evict(const llvm::Function* Fn)
Description
Evict the given function from cache
Declared at: llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h:57
Parameters
- const llvm::Function* Fn
¶const cflaa::AliasSummary* getAliasSummary(
const llvm::Function&)
const cflaa::AliasSummary* getAliasSummary(
const llvm::Function&)
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/CFLAndersAliasAnalysis.h:61
Parameters
- const llvm::Function&
¶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/CFLAndersAliasAnalysis.h:51
Parameters
- llvm::Function&
- const llvm::PreservedAnalyses&
- FunctionAnalysisManager::Invalidator&
¶llvm::AliasResult query(
const llvm::MemoryLocation&,
const llvm::MemoryLocation&)
llvm::AliasResult query(
const llvm::MemoryLocation&,
const llvm::MemoryLocation&)
Declared at: llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h:63
Parameters
- const llvm::MemoryLocation&
- const llvm::MemoryLocation&
¶~CFLAndersAAResult()
~CFLAndersAAResult()
Declared at: llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h:47