MLIR  16.0.0git
Public Member Functions | Public Attributes | List of all members
mlir::detail::NestedAnalysisMap Struct Reference

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"

+ Collaboration diagram for mlir::detail::NestedAnalysisMap:

Public Member Functions

 NestedAnalysisMap (Operation *op, PassInstrumentor *instrumentor)
 
 NestedAnalysisMap (Operation *op, NestedAnalysisMap *parent)
 
OperationgetOperation () const
 Get the operation for this analysis map. More...
 
void invalidate (const PreservedAnalyses &pa)
 Invalidate any non preserved analyses. More...
 
const NestedAnalysisMapgetParent () const
 Returns the parent analysis map for this analysis map, or null if this is the top-level map. More...
 
PassInstrumentorgetPassInstrumentor () 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...
 

Detailed Description

An analysis map that contains a map for the current operation, and a set of maps for any child operations.

Definition at line 241 of file AnalysisManager.h.

Constructor & Destructor Documentation

◆ NestedAnalysisMap() [1/2]

mlir::detail::NestedAnalysisMap::NestedAnalysisMap ( Operation op,
PassInstrumentor instrumentor 
)
inline

Definition at line 242 of file AnalysisManager.h.

◆ NestedAnalysisMap() [2/2]

mlir::detail::NestedAnalysisMap::NestedAnalysisMap ( Operation op,
NestedAnalysisMap parent 
)
inline

Definition at line 244 of file AnalysisManager.h.

Member Function Documentation

◆ getOperation()

Operation* mlir::detail::NestedAnalysisMap::getOperation ( ) const
inline

Get the operation for this analysis map.

Definition at line 248 of file AnalysisManager.h.

◆ getParent()

const NestedAnalysisMap* mlir::detail::NestedAnalysisMap::getParent ( ) const
inline

Returns the parent analysis map for this analysis map, or null if this is the top-level map.

Definition at line 255 of file AnalysisManager.h.

Referenced by mlir::AnalysisManager::getCachedParentAnalysis().

◆ getPassInstrumentor()

PassInstrumentor* mlir::detail::NestedAnalysisMap::getPassInstrumentor ( ) const
inline

Returns a pass instrumentation object for the current operation.

This value may be null.

Definition at line 261 of file AnalysisManager.h.

◆ invalidate()

void detail::NestedAnalysisMap::invalidate ( const PreservedAnalyses pa)

Member Data Documentation

◆ analyses

detail::AnalysisMap mlir::detail::NestedAnalysisMap::analyses

The analyses for the owning operation.

Definition at line 271 of file AnalysisManager.h.

◆ childAnalyses

DenseMap<Operation *, std::unique_ptr<NestedAnalysisMap> > mlir::detail::NestedAnalysisMap::childAnalyses

The cached analyses for nested operations.

Definition at line 268 of file AnalysisManager.h.

◆ parentOrInstrumentor

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 280 of file AnalysisManager.h.


The documentation for this struct was generated from the following files: