MLIR  19.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"

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

Constructor & Destructor Documentation

◆ NestedAnalysisMap() [1/2]

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

Definition at line 243 of file AnalysisManager.h.

◆ NestedAnalysisMap() [2/2]

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

Definition at line 245 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 249 of file AnalysisManager.h.

References analyses, and mlir::detail::AnalysisMap::getOperation().

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

References parentOrInstrumentor.

Referenced by mlir::AnalysisManager::getCachedParentAnalysis(), and getPassInstrumentor().

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

References getParent(), and parentOrInstrumentor.

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

Referenced by getOperation(), and invalidate().

◆ childAnalyses

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().

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

Referenced by getParent(), and getPassInstrumentor().


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