|
MLIR 22.0.0git
|
Public Types | |
| using | Base = OneShotBufferizePassBase |
Public Member Functions | |
| OneShotBufferizePassBase () | |
| OneShotBufferizePassBase (const OneShotBufferizePassBase &other) | |
| OneShotBufferizePassBase & | operator= (const OneShotBufferizePassBase &)=delete |
| OneShotBufferizePassBase (OneShotBufferizePassBase &&)=delete | |
| OneShotBufferizePassBase & | operator= (OneShotBufferizePassBase &&)=delete |
| ~OneShotBufferizePassBase ()=default | |
| ::llvm::StringRef | getArgument () const override |
| Return the command line argument used when registering this pass. | |
| ::llvm::StringRef | getDescription () const override |
| Return the command line description used when registering this pass. | |
| ::llvm::StringRef | getName () const override |
| Returns the derived pass name. | |
| std::unique_ptr<::mlir::Pass > | clonePass () const override |
| A clone method to create a copy of this pass. | |
| void | getDependentDialects (::mlir::DialectRegistry ®istry) const override |
| Return the dialect that must be loaded in the context before this pass. | |
| OneShotBufferizePassBase (OneShotBufferizePassOptions options) | |
| Explicitly declare the TypeID for this class. | |
| Public Member Functions inherited from mlir::OperationPass< ModuleOp > | |
| ~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 void | getDependentDialects (DialectRegistry ®istry) const |
| Register dependent dialects for the current 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 Public Member Functions | |
| static constexpr ::llvm::StringLiteral | getArgumentName () |
| Returns the command-line argument attached to this pass. | |
| static constexpr ::llvm::StringLiteral | getPassName () |
| Returns the derived pass name. | |
| static bool | classof (const ::mlir::Pass *pass) |
| Support isa/dyn_cast functionality for the derived pass class. | |
Protected Attributes | |
| ::mlir::Pass::Option< bool > | allowReturnAllocsFromLoops {*this, "allow-return-allocs-from-loops", ::llvm::cl::desc(R"PO(Allows returning/yielding new allocations from a loop.)PO"), ::llvm::cl::init(false)} |
| ::mlir::Pass::Option< bool > | allowUnknownOps {*this, "allow-unknown-ops", ::llvm::cl::desc(R"PO(Allows unknown (not bufferizable) ops in the input IR.)PO"), ::llvm::cl::init(false)} |
| ::mlir::Pass::Option< unsigned > | analysisFuzzerSeed {*this, "analysis-fuzzer-seed", ::llvm::cl::desc(R"PO(Test only: Analyze ops in random order with a given seed (fuzzer))PO"), ::llvm::cl::init(0)} |
| ::mlir::Pass::Option< std::string > | analysisHeuristic {*this, "analysis-heuristic", ::llvm::cl::desc(R"PO(Heuristic that control the IR traversal during analysis)PO"), ::llvm::cl::init("bottom-up")} |
| ::mlir::Pass::Option< bool > | bufferizeFunctionBoundaries {*this, "bufferize-function-boundaries", ::llvm::cl::desc(R"PO(Bufferize function boundaries (experimental).)PO"), ::llvm::cl::init(0)} |
| ::mlir::Pass::Option< bool > | checkParallelRegions {*this, "check-parallel-regions", ::llvm::cl::desc(R"PO(Account for parallel regions in RaW analysis.)PO"), ::llvm::cl::init(true)} |
| ::mlir::Pass::Option< bool > | copyBeforeWrite {*this, "copy-before-write", ::llvm::cl::desc(R"PO(Skip the analysis. Make a buffer copy on every write.)PO"), ::llvm::cl::init(false)} |
| ::mlir::Pass::ListOption< std::string > | dialectFilter {*this, "dialect-filter", ::llvm::cl::desc(R"PO(Restrict bufferization to ops from these dialects.)PO")} |
| ::mlir::Pass::Option< bool > | dumpAliasSets {*this, "dump-alias-sets", ::llvm::cl::desc(R"PO(Test only: Annotate tensor IR with alias sets)PO"), ::llvm::cl::init(false)} |
| ::mlir::Pass::ListOption< std::string > | noAnalysisFuncFilter {*this, "no-analysis-func-filter", ::llvm::cl::desc(R"PO(Skip analysis of functions with these symbol names.Set copyBeforeWrite to true when bufferizing them.)PO")} |
| ::mlir::Pass::Option< LayoutMapOption > | functionBoundaryTypeConversion |
| ::mlir::Pass::Option< bool > | mustInferMemorySpace {*this, "must-infer-memory-space", ::llvm::cl::desc(R"PO(The memory space of an memref types must always be inferred. If unset, a default memory space of 0 is used otherwise.)PO"), ::llvm::cl::init(false)} |
| ::mlir::Pass::Option< bool > | useEncodingForMemorySpace {*this, "use-encoding-for-memory-space", ::llvm::cl::desc(R"PO(Use the Tensor encoding attribute for the memory space. Exclusive to the 'must-infer-memory-space' option)PO"), ::llvm::cl::init(false)} |
| ::mlir::Pass::Option< bool > | testAnalysisOnly {*this, "test-analysis-only", ::llvm::cl::desc(R"PO(Test only: Only run inplaceability analysis and annotate IR)PO"), ::llvm::cl::init(false)} |
| ::mlir::Pass::Option< bool > | printConflicts {*this, "print-conflicts", ::llvm::cl::desc(R"PO(Test only: Annotate IR with RaW conflicts. Requires test-analysis-only.)PO"), ::llvm::cl::init(false)} |
| ::mlir::Pass::Option< LayoutMapOption > | unknownTypeConversion |
| ::mlir::Pass::Option< uint64_t > | bufferAlignment {*this, "buffer-alignment", ::llvm::cl::desc(R"PO(Sets the alignment of newly allocated buffers.)PO"), ::llvm::cl::init(64)} |
| ::mlir::Pass::Statistic | numBufferAlloc {this, "num-buffer-alloc", R"PS(Number of buffer allocations)PS"} |
| ::mlir::Pass::Statistic | numTensorInPlace {this, "num-tensor-in-place", R"PS(Number of in-place tensor OpOperands)PS"} |
| ::mlir::Pass::Statistic | numTensorOutOfPlace {this, "num-tensor-out-of-place", R"PS(Number of out-of-place tensor OpOperands)PS"} |
Friends | |
| std::unique_ptr<::mlir::Pass > | createOneShotBufferizePass () |
| std::unique_ptr<::mlir::Pass > | createOneShotBufferizePass (OneShotBufferizePassOptions options) |
Additional Inherited Members | |
| Protected Member Functions inherited from mlir::OperationPass< ModuleOp > | |
| OperationPass (TypeID passID) | |
| OperationPass & | operator= (const OperationPass &)=delete |
| bool | canScheduleOn (RegisteredOperationName opName) const final |
| Indicate if the current pass can be scheduled on the given operation type. | |
| ModuleOp | getOperation () |
| Return the current operation being transformed. | |
| 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. | |
| void | copyOptionValuesFrom (const Pass *other) |
| Copy the option values from 'other', which is another instance of this pass. | |
| Static Protected Member Functions inherited from mlir::OperationPass< ModuleOp > | |
| static bool | classof (const Pass *pass) |
| Support isa/dyn_cast functionality. | |
Definition at line 691 of file Bufferize.cpp.
| using mlir::bufferization::impl::OneShotBufferizePassBase< DerivedT >::Base = OneShotBufferizePassBase |
Definition at line 693 of file Bufferize.cpp.
|
inline |
Definition at line 695 of file Bufferize.cpp.
|
inline |
Definition at line 696 of file Bufferize.cpp.
|
delete |
|
default |
|
inline |
Explicitly declare the TypeID for this class.
We declare an explicit private instantiation because Pass classes should only be visible by the current library.
Definition at line 737 of file Bufferize.cpp.
|
inlinestatic |
Support isa/dyn_cast functionality for the derived pass class.
Definition at line 717 of file Bufferize.cpp.
|
inlineoverridevirtual |
A clone method to create a copy of this pass.
Implements mlir::Pass.
Definition at line 722 of file Bufferize.cpp.
|
inlineoverridevirtual |
Return the command line argument used when registering this pass.
Return an empty string if one does not exist.
Reimplemented from mlir::Pass.
Definition at line 706 of file Bufferize.cpp.
|
inlinestatic |
Returns the command-line argument attached to this pass.
Definition at line 703 of file Bufferize.cpp.
|
inlineoverride |
Return the dialect that must be loaded in the context before this pass.
Definition at line 727 of file Bufferize.cpp.
|
inlineoverridevirtual |
Return the command line description used when registering this pass.
Return an empty string if one does not exist.
Reimplemented from mlir::Pass.
Definition at line 708 of file Bufferize.cpp.
|
inlineoverridevirtual |
|
inlinestatic |
Returns the derived pass name.
Definition at line 711 of file Bufferize.cpp.
|
delete |
|
delete |
|
friend |
Definition at line 789 of file Bufferize.cpp.
|
friend |
Definition at line 793 of file Bufferize.cpp.
|
protected |
Definition at line 757 of file Bufferize.cpp.
|
protected |
Definition at line 758 of file Bufferize.cpp.
|
protected |
Definition at line 759 of file Bufferize.cpp.
|
protected |
Definition at line 760 of file Bufferize.cpp.
|
protected |
Definition at line 783 of file Bufferize.cpp.
|
protected |
Definition at line 761 of file Bufferize.cpp.
|
protected |
Definition at line 762 of file Bufferize.cpp.
|
protected |
Definition at line 763 of file Bufferize.cpp.
|
protected |
Definition at line 764 of file Bufferize.cpp.
|
protected |
Definition at line 765 of file Bufferize.cpp.
|
protected |
Definition at line 767 of file Bufferize.cpp.
|
protected |
Definition at line 773 of file Bufferize.cpp.
|
protected |
Definition at line 766 of file Bufferize.cpp.
|
protected |
Definition at line 784 of file Bufferize.cpp.
|
protected |
Definition at line 785 of file Bufferize.cpp.
|
protected |
Definition at line 786 of file Bufferize.cpp.
|
protected |
Definition at line 776 of file Bufferize.cpp.
|
protected |
Definition at line 775 of file Bufferize.cpp.
|
protected |
Definition at line 777 of file Bufferize.cpp.
|
protected |
Definition at line 774 of file Bufferize.cpp.