My Project
Public Member Functions | List of all members
mlir::FunctionPass< T > Struct Template Referenceabstract

#include <Pass.h>

Inheritance diagram for mlir::FunctionPass< T >:
Inheritance graph
[legend]
Collaboration diagram for mlir::FunctionPass< T >:
Collaboration graph
[legend]

Public Member Functions

virtual void runOnFunction ()=0
 The polymorphic API that runs the pass over the currently held function. More...
 
void runOnOperation () final
 The polymorphic API that runs the pass over the currently held operation. More...
 
FuncOp getFunction ()
 Return the current module being transformed. More...
 
- Public Member Functions inherited from mlir::Pass
virtual ~Pass ()=default
 
const PassIDgetPassID () const
 Returns the unique identifier that corresponds to this pass. More...
 
const PassInfolookupPassInfo () const
 Returns the pass info for this pass. More...
 
Optional< StringRef > getOpName () const
 
LogicalResult initializeOptions (StringRef options)
 Attempt to initialize the options of this pass from the given string. More...
 
void printAsTextualPipeline (raw_ostream &os)
 
ArrayRef< Statistic * > getStatistics () const
 Returns the main statistics for this pass instance. More...
 
MutableArrayRef< Statistic * > getStatistics ()
 

Additional Inherited Members

- Static Public Member Functions inherited from mlir::detail::PassModel< T, OpPassBase< FuncOp > >
static bool classof (const Pass *pass)
 Support isa/dyn_cast functionality for the derived pass class. More...
 
- Static Public Member Functions inherited from mlir::OpPassBase< FuncOp >
static bool classof (const Pass *pass)
 Support isa/dyn_cast functionality. More...
 
- Static Public Member Functions inherited from mlir::Pass
static const PassInfolookupPassInfo (const PassID *passID)
 Returns the pass info for the specified pass class or null if unknown. More...
 
template<typename PassT >
static const PassInfolookupPassInfo ()
 
- Protected Member Functions inherited from mlir::OperationPass< T, FuncOp >
 OperationPass ()
 
FuncOp getOperation ()
 Return the current operation being transformed. More...
 
- Protected Member Functions inherited from mlir::detail::PassModel< T, OpPassBase< FuncOp > >
 PassModel (Optional< StringRef > opName=llvm::None)
 
void signalPassFailure ()
 
AnalysisT & getAnalysis ()
 Query an analysis for the current ir unit. More...
 
Optional< std::reference_wrapper< AnalysisT > > getCachedAnalysis ()
 
void markAllAnalysesPreserved ()
 Mark all analyses as preserved. More...
 
void markAnalysesPreserved ()
 Mark the provided analyses as preserved. More...
 
void markAnalysesPreserved (const AnalysisID *id)
 
StringRef getName () override
 Returns the derived pass name. More...
 
std::unique_ptr< Passclone () const override
 A clone method to create a copy of this pass. More...
 
Optional< std::reference_wrapper< AnalysisT > > getCachedParentAnalysis (Operation *parent)
 Returns the analysis for the parent operation if it exists. More...
 
Optional< std::reference_wrapper< AnalysisT > > getCachedParentAnalysis ()
 
Optional< std::reference_wrapper< AnalysisT > > getCachedChildAnalysis (Operation *child)
 Returns the analysis for the given child operation if it exists. More...
 
AnalysisT & getChildAnalysis (Operation *child)
 
- Protected Member Functions inherited from mlir::Pass
 Pass (const PassID *passID, Optional< StringRef > opName=llvm::None)
 
detail::PassExecutionStategetPassState ()
 Returns the current pass state. More...
 
MLIRContextgetContext ()
 Return the MLIR context for the current function being transformed. More...
 
OperationgetOperation ()
 Return the current operation being transformed. More...
 
AnalysisManager getAnalysisManager ()
 Returns the current analysis manager. More...
 
void copyOptionValuesFrom (const Pass *other)
 

Detailed Description

template<typename T>
struct mlir::FunctionPass< T >

A model for providing function pass specific utilities.

Derived function passes are expected to provide the following:

Member Function Documentation

◆ getFunction()

template<typename T >
FuncOp mlir::FunctionPass< T >::getFunction ( )
inline

Return the current module being transformed.

◆ runOnFunction()

template<typename T >
virtual void mlir::FunctionPass< T >::runOnFunction ( )
pure virtual

The polymorphic API that runs the pass over the currently held function.

◆ runOnOperation()

template<typename T >
void mlir::FunctionPass< T >::runOnOperation ( )
inlinefinalvirtual

The polymorphic API that runs the pass over the currently held operation.

Implements mlir::Pass.


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