|
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 (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.
Implements mlir::Pass.
|
inlineprotected |
Query an analysis for the current operation.
Definition at line 448 of file Pass.h.
References mlir::Pass::getAnalysis().
|
inlineprotected |
Return the current operation being transformed.
Definition at line 444 of file Pass.h.
References mlir::Pass::getOperation().
|
protecteddefault |
|
protecteddelete |
|
inlineprotected |