My Project
Public Types | Public Member Functions | Friends | List of all members
mlir::AnalysisManager Class Reference

#include <AnalysisManager.h>

Public Types

using PreservedAnalyses = detail::PreservedAnalyses
 

Public Member Functions

template<typename AnalysisT >
Optional< std::reference_wrapper< AnalysisT > > getCachedParentAnalysis (Operation *parentOp) const
 
template<typename AnalysisT >
AnalysisT & getAnalysis ()
 
template<typename AnalysisT >
Optional< std::reference_wrapper< AnalysisT > > getCachedAnalysis () const
 
template<typename AnalysisT >
AnalysisT & getChildAnalysis (Operation *op)
 Query for a analysis of a child operation, constructing it if necessary. More...
 
template<typename AnalysisT >
Optional< std::reference_wrapper< AnalysisT > > getCachedChildAnalysis (Operation *op) const
 Query for a cached analysis of a child operation, or return null. More...
 
AnalysisManager slice (Operation *op)
 Get an analysis manager for the given child operation. More...
 
void invalidate (const PreservedAnalyses &pa)
 Invalidate any non preserved analyses,. More...
 
void clear ()
 Clear any held analyses. More...
 
PassInstrumentorgetPassInstrumentor () const
 Returns a pass instrumentation object for the current operation. More...
 

Friends

class ModuleAnalysisManager
 Allow access to the constructor. More...
 

Detailed Description

This class represents an analysis manager for a particular operation instance. It is used to manage and cache analyses on the operation as well as those for child operations, via nested AnalysisManager instances accessible via 'slice'. This class is intended to be passed around by value, and cannot be constructed directly.

Member Typedef Documentation

◆ PreservedAnalyses

Member Function Documentation

◆ clear()

void mlir::AnalysisManager::clear ( )
inline

Clear any held analyses.

◆ getAnalysis()

template<typename AnalysisT >
AnalysisT& mlir::AnalysisManager::getAnalysis ( )
inline

◆ getCachedAnalysis()

template<typename AnalysisT >
Optional<std::reference_wrapper<AnalysisT> > mlir::AnalysisManager::getCachedAnalysis ( ) const
inline

◆ getCachedChildAnalysis()

template<typename AnalysisT >
Optional<std::reference_wrapper<AnalysisT> > mlir::AnalysisManager::getCachedChildAnalysis ( Operation op) const
inline

Query for a cached analysis of a child operation, or return null.

◆ getCachedParentAnalysis()

template<typename AnalysisT >
Optional<std::reference_wrapper<AnalysisT> > mlir::AnalysisManager::getCachedParentAnalysis ( Operation parentOp) const
inline

◆ getChildAnalysis()

template<typename AnalysisT >
AnalysisT& mlir::AnalysisManager::getChildAnalysis ( Operation op)
inline

Query for a analysis of a child operation, constructing it if necessary.

◆ getPassInstrumentor()

PassInstrumentor * AnalysisManager::getPassInstrumentor ( ) const

Returns a pass instrumentation object for the current operation.

Returns a pass instrumentation object for the current operation. This value may be null.

◆ invalidate()

void mlir::AnalysisManager::invalidate ( const PreservedAnalyses pa)
inline

Invalidate any non preserved analyses,.

◆ slice()

AnalysisManager AnalysisManager::slice ( Operation op)

Get an analysis manager for the given child operation.

Friends And Related Function Documentation

◆ ModuleAnalysisManager

friend class ModuleAnalysisManager
friend

Allow access to the constructor.


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