MLIR
20.0.0git
|
#include "mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Dialect/Bufferization/Transforms/Passes.h.inc"
Go to the source code of this file.
Classes | |
struct | mlir::bufferization::BufferResultsToOutParamsOpts |
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... | |
Typedefs | |
using | mlir::bufferization::DeallocHelperMap = llvm::DenseMap< Operation *, func::FuncOp > |
Maps from symbol table to its corresponding dealloc helper function. 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 (DeallocationOptions options=DeallocationOptions()) |
Creates an instance of the OwnershipBasedBufferDeallocation pass to free all allocated buffers. More... | |
std::unique_ptr< Pass > | mlir::bufferization::createOptimizeAllocationLivenessPass () |
Creates a pass that finds all temporary allocations and attempts to move the deallocation after the last user/dependency of the allocation, thereby optimizing allocation liveness. 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, const DeallocHelperMap &deallocHelperFuncMap) |
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, DeallocationOptions options) |
Run the ownership-based buffer 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 BufferResultsToOutParamsOpts &options={}) |
Creates a pass that converts memref function results to out-params. More... | |
LogicalResult | mlir::bufferization::promoteBufferResultsToOutParams (ModuleOp module, const BufferResultsToOutParamsOpts &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< 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... | |