LLVM 20.0.0git
|
A manager for alias analyses. More...
#include "llvm/Analysis/AliasAnalysis.h"
Public Types | |
using | Result = AAResults |
Public Member Functions | |
template<typename AnalysisT > | |
void | registerFunctionAnalysis () |
Register a specific AA result. | |
template<typename AnalysisT > | |
void | registerModuleAnalysis () |
Register a specific AA result. | |
Result | run (Function &F, FunctionAnalysisManager &AM) |
Public Member Functions inherited from llvm::PassInfoMixin< DerivedT > | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::AnalysisInfoMixin< AAManager > | |
static AnalysisKey * | ID () |
Returns an opaque, unique ID for this analysis type. | |
Static Public Member Functions inherited from llvm::PassInfoMixin< DerivedT > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. | |
A manager for alias analyses.
This class can have analyses registered with it and when run, it will run all of them and aggregate their results into single AA results interface that dispatches across all of the alias analysis results available.
Note that the order in which analyses are registered is very significant. That is the order in which the results will be aggregated and queried.
This manager effectively wraps the AnalysisManager for registering alias analyses. When you register your alias analysis with this manager, it will ensure the analysis itself is registered with its AnalysisManager.
The result of this analysis is only invalidated if one of the particular aggregated AA results end up being invalidated. This removes the need to explicitly preserve the results of AAManager
. Note that analyses should no longer be registered once the AAManager
is run.
Definition at line 927 of file AliasAnalysis.h.
using llvm::AAManager::Result = AAResults |
Definition at line 929 of file AliasAnalysis.h.
|
inline |
Register a specific AA result.
Definition at line 932 of file AliasAnalysis.h.
Referenced by llvm::PassBuilder::buildDefaultAAPipeline(), llvm::lintFunction(), llvm::AMDGPUTargetMachine::registerDefaultAliasAnalyses(), and llvm::NVPTXTargetMachine::registerDefaultAliasAnalyses().
|
inline |
Register a specific AA result.
Definition at line 937 of file AliasAnalysis.h.
Referenced by llvm::PassBuilder::buildDefaultAAPipeline().
AAManager::Result AAManager::run | ( | Function & | F, |
FunctionAnalysisManager & | AM | ||
) |
Definition at line 796 of file AliasAnalysis.cpp.
References F, and llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult().
Referenced by llvm::SILoadStoreOptimizerPass::run().