Go to the documentation of this file.
14 #ifndef LLVM_ANALYSIS_CFLANDERSALIASANALYSIS_H
15 #define LLVM_ANALYSIS_CFLANDERSALIASANALYSIS_H
22 #include <forward_list>
27 template <
typename T>
class Optional;
30 class TargetLibraryInfo;
76 FunctionInfo buildInfoFrom(
const Function &);
87 std::forward_list<cflaa::FunctionHandle<CFLAndersAAResult>> Handles;
107 std::unique_ptr<CFLAndersAAResult> Result;
127 #endif // LLVM_ANALYSIS_CFLANDERSALIASANALYSIS_H
AliasResult query(const MemoryLocation &, const MemoryLocation &)
A set of analyses that are preserved following a run of a transformation pass.
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...
static Expected< BitVector > scan(StringRef &S, StringRef Original)
This is an optimization pass for GlobalISel generic memory operations.
ImmutablePass * createCFLAndersAAWrapperPass()
ImmutablePass class - This class is used to provide information that does not need to be run.
bool invalidate(Function &, const PreservedAnalyses &, FunctionAnalysisManager::Invalidator &)
Handle invalidation events from the new pass manager.
const cflaa::AliasSummary * getAliasSummary(const Function &)
Get the alias summary for the given function Return nullptr if the summary is not found or not availa...
The possible results of an alias query.
This class stores info we want to provide to or retain within an alias query.
const CFLAndersAAResult & getResult() const
Represent the analysis usage information of a pass.
API to communicate dependencies between analyses during invalidation.
CFLAndersAAResult(std::function< const TargetLibraryInfo &(Function &F)> GetTLI)
void initializePass() override
initializePass - This method may be overriden by immutable passes to allow them to perform various in...
void evict(const Function *Fn)
Evict the given function from cache.
Legacy wrapper pass to provide the CFLAndersAAResult object.
A special type used by analysis passes to provide an address that identifies that particular analysis...
CFLAndersAAResult & getResult()
print Print MemDeps of function
A CRTP mix-in that provides informational APIs needed for analysis passes.
AliasSummary is just a collection of ExternalRelation and ExternalAttribute.
CFLAndersAAResult run(Function &F, FunctionAnalysisManager &AM)
Provides information about what library functions are available for the current target.
A container for analyses that lazily runs them and caches their results.
Analysis pass providing a never-invalidated alias analysis result.
AliasResult alias(const MemoryLocation &, const MemoryLocation &, AAQueryInfo &)
A CRTP-driven "mixin" base class to help implement the function alias analysis results concept.
Representation for a specific memory location.