MLIR
18.0.0git
|
Go to the source code of this file.
Classes | |
struct | mlir::bufferization::BufferResultsToOutParamsOptions |
Namespaces | |
mlir | |
Include the generated interface declarations. | |
mlir::func | |
mlir::bufferization | |
Macros | |
#define | GEN_PASS_DECL |
#define | GEN_PASS_REGISTRATION |
Generate the code for registering passes. More... | |
Functions | |
std::unique_ptr< Pass > | mlir::bufferization::createBufferDeallocationPass () |
Creates an instance of the BufferDeallocation pass to free all allocated buffers. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createOwnershipBasedBufferDeallocationPass (bool privateFuncDynamicOwnership=false) |
Creates an instance of the OwnershipBasedBufferDeallocation pass to free all allocated buffers. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createBufferDeallocationSimplificationPass () |
Creates a pass that optimizes bufferization.dealloc operations. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createLowerDeallocationsPass () |
Creates an instance of the LowerDeallocations pass to lower bufferization.dealloc operations to the memref dialect. More... | |
void | mlir::bufferization::populateBufferizationDeallocLoweringPattern (RewritePatternSet &patterns, func::FuncOp deallocLibraryFunc) |
Adds the conversion pattern of the bufferization.dealloc operation to the given pattern set for use in other transformation passes. More... | |
func::FuncOp | mlir::bufferization::buildDeallocationLibraryFunction (OpBuilder &builder, Location loc, SymbolTable &symbolTable) |
Construct the library function needed for the fully generic bufferization.dealloc lowering implemented in the LowerDeallocations pass. More... | |
LogicalResult | mlir::bufferization::deallocateBuffers (Operation *op) |
Run buffer deallocation. More... | |
LogicalResult | mlir::bufferization::deallocateBuffersOwnershipBased (FunctionOpInterface op, bool privateFuncDynamicOwnership) |
Run ownership basedbuffer deallocation. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createBufferHoistingPass () |
Creates a pass that moves allocations upwards to reduce the number of required copies that are inserted during the BufferDeallocation pass. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createBufferLoopHoistingPass () |
Creates a pass that moves allocations upwards out of loops. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createBufferResultsToOutParamsPass (const BufferResultsToOutParamsOptions &options={}) |
Creates a pass that converts memref function results to out-params. More... | |
LogicalResult | mlir::bufferization::promoteBufferResultsToOutParams (ModuleOp module, const BufferResultsToOutParamsOptions &options) |
Replace buffers that are returned from a function with an out parameter. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createDropEquivalentBufferResultsPass () |
Creates a pass that drops memref function results that are equivalent to a function argument. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createEmptyTensorToAllocTensorPass () |
Create a pass that rewrites tensor.empty to bufferization.alloc_tensor. More... | |
LogicalResult | mlir::bufferization::dropEquivalentBufferResults (ModuleOp module) |
Drop all memref function results that are equivalent to a function argument. More... | |
std::unique_ptr< OperationPass< func::FuncOp > > | mlir::bufferization::createFinalizingBufferizePass () |
Creates a pass that finalizes a partial bufferization by removing remaining bufferization.to_tensor and bufferization.to_memref operations. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createOneShotBufferizePass () |
Create a pass that bufferizes all ops that implement BufferizableOpInterface with One-Shot Bufferize. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createOneShotBufferizePass (const OneShotBufferizationOptions &options) |
Create a pass that bufferizes all ops that implement BufferizableOpInterface with One-Shot Bufferize and the specified bufferization options. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createPromoteBuffersToStackPass (unsigned maxAllocSizeInBytes=1024, unsigned maxRankOfAllocatedMemRef=1) |
Creates a pass that promotes heap-based allocations to stack-based ones. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createPromoteBuffersToStackPass (std::function< bool(Value)> isSmallAlloc) |
Creates a pass that promotes heap-based allocations to stack-based ones. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createEmptyTensorEliminationPass () |
Create a pass that tries to eliminate tensor.empty ops that are anchored on insert_slice ops. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createBufferizationBufferizePass () |
Create a pass that bufferizes ops from the bufferization dialect. More... | |