|
MLIR 22.0.0git
|
Pass to transform an operation that implements the given interface. More...
#include "mlir/Pass/Pass.h"
Protected Member Functions | |
| bool | canScheduleOn (Operation *op) const final |
| Indicate if the current pass can be scheduled on the given operation type. | |
| bool | canScheduleOn (RegisteredOperationName opName) const final |
| Indicate if the current pass can be scheduled on the given operation type. | |
| InterfaceT | getOperation () |
| Return the current operation being transformed. | |
| template<typename AnalysisT> | |
| AnalysisT & | getAnalysis () |
| Query an analysis for the current operation. | |
| OperationPass (TypeID passID) | |
| OperationPass (const OperationPass &)=default | |
| OperationPass (OperationPass &&)=delete | |
| Protected Member Functions inherited from mlir::OperationPass< OpT > | |
| OperationPass (TypeID passID) | |
| OperationPass (const OperationPass &)=default | |
| OperationPass & | operator= (const OperationPass &)=delete |
| OperationPass (OperationPass &&)=delete | |
| OperationPass & | operator= (OperationPass &&)=delete |
| bool | canScheduleOn (RegisteredOperationName opName) const final |
| Indicate if the current pass can be scheduled on the given operation type. | |
| OpT | getOperation () |
| Return the current operation being transformed. | |
| template<typename AnalysisT> | |
| AnalysisT & | getAnalysis () |
| Query an analysis for the current operation of the specific derived operation type. | |
| Protected Member Functions inherited from mlir::Pass | |
| Pass (TypeID passID, std::optional< StringRef > opName=std::nullopt) | |
| Pass (const Pass &other) | |
| Pass & | operator= (const Pass &)=delete |
| Pass (Pass &&)=delete | |
| Pass & | operator= (Pass &&)=delete |
| detail::PassExecutionState & | getPassState () |
| Returns the current pass state. | |
| MLIRContext & | getContext () |
| Return the MLIR context for the current operation being transformed. | |
| virtual void | runOnOperation ()=0 |
| The polymorphic API that runs the pass over the currently held operation. | |
| virtual LogicalResult | initialize (MLIRContext *context) |
| Initialize any complex state necessary for running this pass. | |
| LogicalResult | runPipeline (OpPassManager &pipeline, Operation *op) |
| Schedule an arbitrary pass pipeline on the provided operation. | |
| std::unique_ptr< Pass > | clone () const |
| A clone method to create a copy of this pass. | |
| Operation * | getOperation () |
| Return the current operation being transformed. | |
| void | signalPassFailure () |
| Signal that some invariant was broken when running. | |
| template<typename AnalysisT> | |
| AnalysisT & | getAnalysis () |
| Query an analysis for the current ir unit. | |
| template<typename AnalysisT, typename OpT> | |
| AnalysisT & | getAnalysis () |
| Query an analysis for the current ir unit of a specific derived operation type. | |
| template<typename AnalysisT> | |
| std::optional< std::reference_wrapper< AnalysisT > > | getCachedAnalysis () |
| Query a cached instance of an analysis for the current ir unit if one exists. | |
| void | markAllAnalysesPreserved () |
| Mark all analyses as preserved. | |
| template<typename... AnalysesT> | |
| void | markAnalysesPreserved () |
| Mark the provided analyses as preserved. | |
| void | markAnalysesPreserved (TypeID id) |
| template<typename AnalysisT> | |
| std::optional< std::reference_wrapper< AnalysisT > > | getCachedParentAnalysis (Operation *parent) |
| Returns the analysis for the given parent operation if it exists. | |
| template<typename AnalysisT> | |
| std::optional< std::reference_wrapper< AnalysisT > > | getCachedParentAnalysis () |
| Returns the analysis for the parent operation if it exists. | |
| template<typename AnalysisT> | |
| std::optional< std::reference_wrapper< AnalysisT > > | getCachedChildAnalysis (Operation *child) |
| Returns the analysis for the given child operation if it exists. | |
| template<typename AnalysisT> | |
| AnalysisT & | getChildAnalysis (Operation *child) |
| Returns the analysis for the given child operation, or creates it if it doesn't exist. | |
| template<typename AnalysisT, typename OpTy> | |
| AnalysisT & | getChildAnalysis (OpTy child) |
| Returns the analysis for the given child operation of specific derived operation type, or creates it if it doesn't exist. | |
| AnalysisManager | getAnalysisManager () |
| Returns the current analysis manager. | |
| virtual std::unique_ptr< Pass > | clonePass () const =0 |
| Create a copy of this pass, ignoring statistics and options. | |
| void | copyOptionValuesFrom (const Pass *other) |
| Copy the option values from 'other', which is another instance of this pass. | |
Additional Inherited Members | |
| Public Member Functions inherited from mlir::OperationPass< OpT > | |
| ~OperationPass () override=default | |
| Public Member Functions inherited from mlir::Pass | |
| virtual | ~Pass ()=default |
| TypeID | getTypeID () const |
| Returns the unique identifier that corresponds to this pass. | |
| const PassInfo * | lookupPassInfo () const |
| Returns the pass info for this pass, or null if unknown. | |
| virtual StringRef | getName () const =0 |
| Returns the derived pass name. | |
| virtual void | getDependentDialects (DialectRegistry ®istry) const |
| Register dependent dialects for the current pass. | |
| virtual StringRef | getArgument () const |
| Return the command line argument used when registering this pass. | |
| virtual StringRef | getDescription () const |
| Return the command line description used when registering this pass. | |
| std::optional< StringRef > | getOpName () const |
| Returns the name of the operation that this pass operates on, or std::nullopt if this is a generic OperationPass. | |
| virtual LogicalResult | initializeOptions (StringRef options, function_ref< LogicalResult(const Twine &)> errorHandler) |
| Attempt to initialize the options of this pass from the given string. | |
| void | printAsTextualPipeline (raw_ostream &os, bool pretty=false) |
| Prints out the pass in the textual representation of pipelines. | |
| ArrayRef< Statistic * > | getStatistics () const |
| Returns the main statistics for this pass instance. | |
| MutableArrayRef< Statistic * > | getStatistics () |
| const Pass * | getThreadingSibling () const |
| Returns the thread sibling of this pass. | |
| const Pass * | getThreadingSiblingOrThis () const |
| Returns the thread sibling of this pass, or the pass itself it has no sibling. | |
| Static Protected Member Functions inherited from mlir::OperationPass< OpT > | |
| static bool | classof (const Pass *pass) |
| Support isa/dyn_cast functionality. | |
Pass to transform an operation that implements the given interface.
Interface passes must not:
Derived interface passes are expected to provide the following:
|
inlinefinalprotectedvirtual |
Indicate if the current pass can be scheduled on the given operation type.
For an InterfacePass, this checks if the operation implements the given interface.
Reimplemented from mlir::Pass.
|
inlinefinalprotectedvirtual |
Indicate if the current pass can be scheduled on the given operation type.
This is useful for generic operation passes to add restrictions on the operations they operate on.
Implements mlir::Pass.
|
inlineprotected |
Query an analysis for the current operation.
Definition at line 456 of file Pass.h.
References mlir::Pass::getAnalysis().
|
inlineprotected |
Return the current operation being transformed.
Definition at line 452 of file Pass.h.
References mlir::Pass::getOperation().
|
protecteddefault |
|
protecteddelete |
|
inlineprotected |