MLIR
20.0.0git
|
An analysis map that contains a map for the current operation, and a set of maps for any child operations. More...
#include "mlir/Pass/AnalysisManager.h"
Public Member Functions | |
NestedAnalysisMap (Operation *op, PassInstrumentor *instrumentor) | |
NestedAnalysisMap (Operation *op, NestedAnalysisMap *parent) | |
Operation * | getOperation () const |
Get the operation for this analysis map. More... | |
void | invalidate (const PreservedAnalyses &pa) |
Invalidate any non preserved analyses. More... | |
const NestedAnalysisMap * | getParent () const |
Returns the parent analysis map for this analysis map, or null if this is the top-level map. More... | |
PassInstrumentor * | getPassInstrumentor () const |
Returns a pass instrumentation object for the current operation. More... | |
Public Attributes | |
DenseMap< Operation *, std::unique_ptr< NestedAnalysisMap > > | childAnalyses |
The cached analyses for nested operations. More... | |
detail::AnalysisMap | analyses |
The analyses for the owning operation. More... | |
PointerUnion< NestedAnalysisMap *, PassInstrumentor * > | parentOrInstrumentor |
This value has three possible states: NestedAnalysisMap*: A pointer to the parent analysis map. More... | |
An analysis map that contains a map for the current operation, and a set of maps for any child operations.
Definition at line 242 of file AnalysisManager.h.
|
inline |
Definition at line 243 of file AnalysisManager.h.
|
inline |
Definition at line 245 of file AnalysisManager.h.
|
inline |
Get the operation for this analysis map.
Definition at line 249 of file AnalysisManager.h.
References analyses, and mlir::detail::AnalysisMap::getOperation().
|
inline |
Returns the parent analysis map for this analysis map, or null if this is the top-level map.
Definition at line 256 of file AnalysisManager.h.
References parentOrInstrumentor.
Referenced by mlir::AnalysisManager::getCachedParentAnalysis(), and getPassInstrumentor().
|
inline |
Returns a pass instrumentation object for the current operation.
This value may be null.
Definition at line 262 of file AnalysisManager.h.
References getParent(), and parentOrInstrumentor.
void detail::NestedAnalysisMap::invalidate | ( | const PreservedAnalyses & | pa | ) |
Invalidate any non preserved analyses.
Definition at line 949 of file Pass.cpp.
References analyses, childAnalyses, mlir::detail::AnalysisMap::invalidate(), mlir::detail::PreservedAnalyses::isAll(), and mlir::detail::PreservedAnalyses::isNone().
detail::AnalysisMap mlir::detail::NestedAnalysisMap::analyses |
The analyses for the owning operation.
Definition at line 272 of file AnalysisManager.h.
Referenced by getOperation(), and invalidate().
DenseMap<Operation *, std::unique_ptr<NestedAnalysisMap> > mlir::detail::NestedAnalysisMap::childAnalyses |
The cached analyses for nested operations.
Definition at line 269 of file AnalysisManager.h.
Referenced by invalidate().
PointerUnion<NestedAnalysisMap *, PassInstrumentor *> mlir::detail::NestedAnalysisMap::parentOrInstrumentor |
This value has three possible states: NestedAnalysisMap*: A pointer to the parent analysis map.
PassInstrumentor*: This analysis map is the top-level map, and this pointer is the optional pass instrumentor for the current compilation. nullptr: This analysis map is the top-level map, and there is nop pass instrumentor.
Definition at line 281 of file AnalysisManager.h.
Referenced by getParent(), and getPassInstrumentor().