MLIR 22.0.0git
Passes.h File Reference
#include "mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.h"
#include "mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h"
#include "mlir/Dialect/MemRef/IR/MemRef.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::BufferResultsToOutParamsPassOptions
struct  mlir::bufferization::OneShotBufferizePassOptions
struct  mlir::bufferization::OwnershipBasedBufferDeallocationPassOptions
struct  mlir::bufferization::PromoteBuffersToStackPassOptions
struct  mlir::bufferization::BufferResultsToOutParamsOpts

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::func
namespace  mlir::bufferization

Macros

#define GEN_PASS_DECL
#define GEN_PASS_DECL_BUFFERDEALLOCATIONSIMPLIFICATIONPASS
#define GEN_PASS_DECL_BUFFERHOISTINGPASS
#define GEN_PASS_DECL_BUFFERLOOPHOISTINGPASS
#define GEN_PASS_DECL_BUFFERRESULTSTOOUTPARAMSPASS
#define GEN_PASS_DECL_DROPEQUIVALENTBUFFERRESULTSPASS
#define GEN_PASS_DECL_EMPTYTENSORELIMINATIONPASS
#define GEN_PASS_DECL_EMPTYTENSORTOALLOCTENSORPASS
#define GEN_PASS_DECL_LOWERDEALLOCATIONSPASS
#define GEN_PASS_DECL_ONESHOTBUFFERIZEPASS
#define GEN_PASS_DECL_OPTIMIZEALLOCATIONLIVENESSPASS
#define GEN_PASS_DECL_OWNERSHIPBASEDBUFFERDEALLOCATIONPASS
#define GEN_PASS_DECL_PROMOTEBUFFERSTOSTACKPASS
#define GEN_PASS_REGISTRATION
 Generate the code for registering passes.
#define GEN_PASS_REGISTRATION_BUFFERDEALLOCATIONSIMPLIFICATIONPASS
#define GEN_PASS_REGISTRATION_BUFFERHOISTINGPASS
#define GEN_PASS_REGISTRATION_BUFFERLOOPHOISTINGPASS
#define GEN_PASS_REGISTRATION_BUFFERRESULTSTOOUTPARAMSPASS
#define GEN_PASS_REGISTRATION_DROPEQUIVALENTBUFFERRESULTSPASS
#define GEN_PASS_REGISTRATION_EMPTYTENSORELIMINATIONPASS
#define GEN_PASS_REGISTRATION_EMPTYTENSORTOALLOCTENSORPASS
#define GEN_PASS_REGISTRATION_LOWERDEALLOCATIONSPASS
#define GEN_PASS_REGISTRATION_ONESHOTBUFFERIZEPASS
#define GEN_PASS_REGISTRATION_OPTIMIZEALLOCATIONLIVENESSPASS
#define GEN_PASS_REGISTRATION_OWNERSHIPBASEDBUFFERDEALLOCATIONPASS
#define GEN_PASS_REGISTRATION_PROMOTEBUFFERSTOSTACKPASS

Typedefs

using mlir::bufferization::DeallocHelperMap = llvm::DenseMap<Operation *, func::FuncOp>
 Maps from symbol table to its corresponding dealloc helper function.

Functions

std::unique_ptr<::mlir::Passmlir::bufferization::createBufferDeallocationSimplificationPass ()
std::unique_ptr<::mlir::Passmlir::bufferization::createBufferHoistingPass ()
std::unique_ptr<::mlir::Passmlir::bufferization::createBufferLoopHoistingPass ()
std::unique_ptr<::mlir::Passmlir::bufferization::createBufferResultsToOutParamsPass ()
std::unique_ptr<::mlir::Passmlir::bufferization::createBufferResultsToOutParamsPass (BufferResultsToOutParamsPassOptions options)
std::unique_ptr<::mlir::Passmlir::bufferization::createDropEquivalentBufferResultsPass ()
std::unique_ptr<::mlir::Passmlir::bufferization::createEmptyTensorEliminationPass ()
std::unique_ptr<::mlir::Passmlir::bufferization::createEmptyTensorToAllocTensorPass ()
std::unique_ptr<::mlir::Passmlir::bufferization::createLowerDeallocationsPass ()
std::unique_ptr<::mlir::Passmlir::bufferization::createOneShotBufferizePass ()
std::unique_ptr<::mlir::Passmlir::bufferization::createOneShotBufferizePass (OneShotBufferizePassOptions options)
std::unique_ptr<::mlir::Passmlir::bufferization::createOptimizeAllocationLivenessPass ()
std::unique_ptr<::mlir::Passmlir::bufferization::createOwnershipBasedBufferDeallocationPass ()
std::unique_ptr<::mlir::Passmlir::bufferization::createOwnershipBasedBufferDeallocationPass (OwnershipBasedBufferDeallocationPassOptions options)
std::unique_ptr<::mlir::Passmlir::bufferization::createPromoteBuffersToStackPass ()
std::unique_ptr<::mlir::Passmlir::bufferization::createPromoteBuffersToStackPass (PromoteBuffersToStackPassOptions options)
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.
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.
LogicalResult mlir::bufferization::deallocateBuffersOwnershipBased (FunctionOpInterface op, DeallocationOptions options, SymbolTableCollection &symbolTables)
 Run the ownership-based buffer deallocation.
LogicalResult mlir::bufferization::promoteBufferResultsToOutParams (ModuleOp module, const BufferResultsToOutParamsOpts &options)
 Replace buffers that are returned from a function with an out parameter.
LogicalResult mlir::bufferization::dropEquivalentBufferResults (ModuleOp module)
 Drop all memref function results that are equivalent to a function argument.
std::unique_ptr< Passmlir::bufferization::createPromoteBuffersToStackPass (std::function< bool(Value)> isSmallAlloc)
 Creates a pass that promotes heap-based allocations to stack-based ones.
void mlir::bufferization::registerBufferDeallocationSimplificationPass ()
void mlir::bufferization::registerBufferDeallocationSimplificationPassPass ()
void mlir::bufferization::registerBufferHoistingPass ()
void mlir::bufferization::registerBufferHoistingPassPass ()
void mlir::bufferization::registerBufferLoopHoistingPass ()
void mlir::bufferization::registerBufferLoopHoistingPassPass ()
void mlir::bufferization::registerBufferResultsToOutParamsPass ()
void mlir::bufferization::registerBufferResultsToOutParamsPassPass ()
void mlir::bufferization::registerDropEquivalentBufferResultsPass ()
void mlir::bufferization::registerDropEquivalentBufferResultsPassPass ()
void mlir::bufferization::registerEmptyTensorEliminationPass ()
void mlir::bufferization::registerEmptyTensorEliminationPassPass ()
void mlir::bufferization::registerEmptyTensorToAllocTensorPass ()
void mlir::bufferization::registerEmptyTensorToAllocTensorPassPass ()
void mlir::bufferization::registerLowerDeallocationsPass ()
void mlir::bufferization::registerLowerDeallocationsPassPass ()
void mlir::bufferization::registerOneShotBufferizePass ()
void mlir::bufferization::registerOneShotBufferizePassPass ()
void mlir::bufferization::registerOptimizeAllocationLivenessPass ()
void mlir::bufferization::registerOptimizeAllocationLivenessPassPass ()
void mlir::bufferization::registerOwnershipBasedBufferDeallocationPass ()
void mlir::bufferization::registerOwnershipBasedBufferDeallocationPassPass ()
void mlir::bufferization::registerPromoteBuffersToStackPass ()
void mlir::bufferization::registerPromoteBuffersToStackPassPass ()
void mlir::bufferization::registerBufferizationPasses ()

Macro Definition Documentation

◆ GEN_PASS_DECL

#define GEN_PASS_DECL

Definition at line 31 of file Passes.h.

◆ GEN_PASS_DECL_BUFFERDEALLOCATIONSIMPLIFICATIONPASS

#define GEN_PASS_DECL_BUFFERDEALLOCATIONSIMPLIFICATIONPASS

Definition at line 6 of file Passes.h.

◆ GEN_PASS_DECL_BUFFERHOISTINGPASS

#define GEN_PASS_DECL_BUFFERHOISTINGPASS

Definition at line 7 of file Passes.h.

◆ GEN_PASS_DECL_BUFFERLOOPHOISTINGPASS

#define GEN_PASS_DECL_BUFFERLOOPHOISTINGPASS

Definition at line 8 of file Passes.h.

◆ GEN_PASS_DECL_BUFFERRESULTSTOOUTPARAMSPASS

#define GEN_PASS_DECL_BUFFERRESULTSTOOUTPARAMSPASS

Definition at line 9 of file Passes.h.

◆ GEN_PASS_DECL_DROPEQUIVALENTBUFFERRESULTSPASS

#define GEN_PASS_DECL_DROPEQUIVALENTBUFFERRESULTSPASS

Definition at line 10 of file Passes.h.

◆ GEN_PASS_DECL_EMPTYTENSORELIMINATIONPASS

#define GEN_PASS_DECL_EMPTYTENSORELIMINATIONPASS

Definition at line 11 of file Passes.h.

◆ GEN_PASS_DECL_EMPTYTENSORTOALLOCTENSORPASS

#define GEN_PASS_DECL_EMPTYTENSORTOALLOCTENSORPASS

Definition at line 12 of file Passes.h.

◆ GEN_PASS_DECL_LOWERDEALLOCATIONSPASS

#define GEN_PASS_DECL_LOWERDEALLOCATIONSPASS

Definition at line 13 of file Passes.h.

◆ GEN_PASS_DECL_ONESHOTBUFFERIZEPASS

#define GEN_PASS_DECL_ONESHOTBUFFERIZEPASS

Definition at line 14 of file Passes.h.

◆ GEN_PASS_DECL_OPTIMIZEALLOCATIONLIVENESSPASS

#define GEN_PASS_DECL_OPTIMIZEALLOCATIONLIVENESSPASS

Definition at line 15 of file Passes.h.

◆ GEN_PASS_DECL_OWNERSHIPBASEDBUFFERDEALLOCATIONPASS

#define GEN_PASS_DECL_OWNERSHIPBASEDBUFFERDEALLOCATIONPASS

Definition at line 16 of file Passes.h.

◆ GEN_PASS_DECL_PROMOTEBUFFERSTOSTACKPASS

#define GEN_PASS_DECL_PROMOTEBUFFERSTOSTACKPASS

Definition at line 17 of file Passes.h.

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 198 of file Passes.h.

◆ GEN_PASS_REGISTRATION_BUFFERDEALLOCATIONSIMPLIFICATIONPASS

#define GEN_PASS_REGISTRATION_BUFFERDEALLOCATIONSIMPLIFICATIONPASS

Definition at line 1084 of file Passes.h.

◆ GEN_PASS_REGISTRATION_BUFFERHOISTINGPASS

#define GEN_PASS_REGISTRATION_BUFFERHOISTINGPASS

Definition at line 1085 of file Passes.h.

◆ GEN_PASS_REGISTRATION_BUFFERLOOPHOISTINGPASS

#define GEN_PASS_REGISTRATION_BUFFERLOOPHOISTINGPASS

Definition at line 1086 of file Passes.h.

◆ GEN_PASS_REGISTRATION_BUFFERRESULTSTOOUTPARAMSPASS

#define GEN_PASS_REGISTRATION_BUFFERRESULTSTOOUTPARAMSPASS

Definition at line 1087 of file Passes.h.

◆ GEN_PASS_REGISTRATION_DROPEQUIVALENTBUFFERRESULTSPASS

#define GEN_PASS_REGISTRATION_DROPEQUIVALENTBUFFERRESULTSPASS

Definition at line 1088 of file Passes.h.

◆ GEN_PASS_REGISTRATION_EMPTYTENSORELIMINATIONPASS

#define GEN_PASS_REGISTRATION_EMPTYTENSORELIMINATIONPASS

Definition at line 1089 of file Passes.h.

◆ GEN_PASS_REGISTRATION_EMPTYTENSORTOALLOCTENSORPASS

#define GEN_PASS_REGISTRATION_EMPTYTENSORTOALLOCTENSORPASS

Definition at line 1090 of file Passes.h.

◆ GEN_PASS_REGISTRATION_LOWERDEALLOCATIONSPASS

#define GEN_PASS_REGISTRATION_LOWERDEALLOCATIONSPASS

Definition at line 1091 of file Passes.h.

◆ GEN_PASS_REGISTRATION_ONESHOTBUFFERIZEPASS

#define GEN_PASS_REGISTRATION_ONESHOTBUFFERIZEPASS

Definition at line 1092 of file Passes.h.

◆ GEN_PASS_REGISTRATION_OPTIMIZEALLOCATIONLIVENESSPASS

#define GEN_PASS_REGISTRATION_OPTIMIZEALLOCATIONLIVENESSPASS

Definition at line 1093 of file Passes.h.

◆ GEN_PASS_REGISTRATION_OWNERSHIPBASEDBUFFERDEALLOCATIONPASS

#define GEN_PASS_REGISTRATION_OWNERSHIPBASEDBUFFERDEALLOCATIONPASS

Definition at line 1094 of file Passes.h.

◆ GEN_PASS_REGISTRATION_PROMOTEBUFFERSTOSTACKPASS

#define GEN_PASS_REGISTRATION_PROMOTEBUFFERSTOSTACKPASS

Definition at line 1095 of file Passes.h.