|
LLVM
3.7.0
|
A generic analysis pass manager with lazy running and caching of results. More...
#include <AssumptionCache.h>
Public Member Functions | |
| AnalysisManager (bool DebugLogging=false) | |
| Construct an empty analysis manager. More... | |
| AnalysisManager (AnalysisManager &&Arg) | |
| AnalysisManager & | operator= (AnalysisManager &&RHS) |
| bool | empty () const |
| Returns true if the analysis manager has an empty results cache. More... | |
| void | clear () |
| Clear the analysis result cache. More... | |
Public Member Functions inherited from llvm::detail::AnalysisManagerBase< DerivedT, IRUnitT > | |
| template<typename PassT > | |
| PassT::Result & | getResult (IRUnitT &IR) |
| Get the result of an analysis pass for this module. More... | |
| template<typename PassT > | |
| PassT::Result * | getCachedResult (IRUnitT &IR) const |
| Get the cached result of an analysis pass for this module. More... | |
| template<typename PassT > | |
| void | registerPass (PassT Pass) |
| Register an analysis pass with the manager. More... | |
| template<typename PassT > | |
| void | invalidate (IRUnitT &IR) |
| Invalidate a specific analysis pass for an IR module. More... | |
| PreservedAnalyses | invalidate (IRUnitT &IR, PreservedAnalyses PA) |
| Invalidate analyses cached for an IR unit. More... | |
Friends | |
| class | detail::AnalysisManagerBase< AnalysisManager< IRUnitT >, IRUnitT > |
Additional Inherited Members | |
Protected Types inherited from llvm::detail::AnalysisManagerBase< DerivedT, IRUnitT > | |
| typedef detail::AnalysisResultConcept < IRUnitT > | ResultConceptT |
| typedef detail::AnalysisPassConcept < IRUnitT > | PassConceptT |
Protected Member Functions inherited from llvm::detail::AnalysisManagerBase< DerivedT, IRUnitT > | |
| AnalysisManagerBase () | |
| AnalysisManagerBase (AnalysisManagerBase &&Arg) | |
| AnalysisManagerBase & | operator= (AnalysisManagerBase &&RHS) |
| PassConceptT & | lookupPass (void *PassID) |
| Lookup a registered analysis pass. More... | |
| const PassConceptT & | lookupPass (void *PassID) const |
| Lookup a registered analysis pass. More... | |
A generic analysis pass manager with lazy running and caching of results.
This analysis manager can be used for any IR unit where the address of the IR unit sufficies as its identity. It manages the cache for a unit of IR via the address of each unit of IR cached.
Definition at line 32 of file AssumptionCache.h.
|
inline |
Construct an empty analysis manager.
A flag can be passed to indicate that the manager should perform debug logging.
Definition at line 422 of file PassManager.h.
|
inline |
Definition at line 426 of file PassManager.h.
|
inline |
Clear the analysis result cache.
This routine allows cleaning up when the set of IR units itself has potentially changed, and thus we can't even look up a a result and invalidate it directly. Notably, this does not call invalidate functions as there is nothing to be done for them.
Definition at line 451 of file PassManager.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::clear().
Referenced by llvm::CGSCCAnalysisManagerModuleProxy::Result::invalidate(), llvm::FunctionAnalysisManagerModuleProxy::Result::invalidate(), llvm::CGSCCAnalysisManagerModuleProxy::Result::~Result(), and llvm::FunctionAnalysisManagerModuleProxy::Result::~Result().
|
inline |
Returns true if the analysis manager has an empty results cache.
Definition at line 438 of file PassManager.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty().
Referenced by llvm::CGSCCAnalysisManagerModuleProxy::run(), and llvm::FunctionAnalysisManagerModuleProxy::run().
|
inline |
Definition at line 430 of file PassManager.h.
|
friend |
Definition at line 410 of file PassManager.h.
1.8.6