MLIR  20.0.0git
Classes | Namespaces | Macros | Typedefs | Functions
Passes.h File Reference
#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< Passmlir::bufferization::createBufferDeallocationPass ()
 Creates an instance of the BufferDeallocation pass to free all allocated buffers. More...
 
std::unique_ptr< Passmlir::bufferization::createOwnershipBasedBufferDeallocationPass (DeallocationOptions options=DeallocationOptions())
 Creates an instance of the OwnershipBasedBufferDeallocation pass to free all allocated buffers. More...
 
std::unique_ptr< Passmlir::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< Passmlir::bufferization::createBufferDeallocationSimplificationPass ()
 Creates a pass that optimizes bufferization.dealloc operations. More...
 
std::unique_ptr< Passmlir::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< Passmlir::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< Passmlir::bufferization::createBufferLoopHoistingPass ()
 Creates a pass that moves allocations upwards out of loops. More...
 
std::unique_ptr< Passmlir::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< Passmlir::bufferization::createDropEquivalentBufferResultsPass ()
 Creates a pass that drops memref function results that are equivalent to a function argument. More...
 
std::unique_ptr< Passmlir::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< Passmlir::bufferization::createOneShotBufferizePass ()
 Create a pass that bufferizes all ops that implement BufferizableOpInterface with One-Shot Bufferize. More...
 
std::unique_ptr< Passmlir::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< Passmlir::bufferization::createPromoteBuffersToStackPass (unsigned maxAllocSizeInBytes=1024, unsigned maxRankOfAllocatedMemRef=1)
 Creates a pass that promotes heap-based allocations to stack-based ones. More...
 
std::unique_ptr< Passmlir::bufferization::createPromoteBuffersToStackPass (std::function< bool(Value)> isSmallAlloc)
 Creates a pass that promotes heap-based allocations to stack-based ones. More...
 
std::unique_ptr< Passmlir::bufferization::createEmptyTensorEliminationPass ()
 Create a pass that tries to eliminate tensor.empty ops that are anchored on insert_slice ops. More...
 

Macro Definition Documentation

◆ GEN_PASS_DECL

#define GEN_PASS_DECL

Definition at line 28 of file Passes.h.

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 233 of file Passes.h.