MLIR  20.0.0git
Namespaces | Macros | Typedefs | Functions
BufferResultsToOutParams.cpp File Reference
#include "mlir/Dialect/Bufferization/Transforms/Passes.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/IR/Operation.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Dialect/Bufferization/Transforms/Passes.h.inc"

Go to the source code of this file.

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::bufferization
 

Macros

#define GEN_PASS_DEF_BUFFERRESULTSTOOUTPARAMS
 

Typedefs

using MemCpyFn = bufferization::BufferResultsToOutParamsOpts::MemCpyFn
 

Functions

static bool hasFullyDynamicLayoutMap (MemRefType type)
 Return true if the given MemRef type has a fully dynamic layout. More...
 
static bool hasStaticIdentityLayout (MemRefType type)
 Return true if the given MemRef type has a static identity layout (i.e., no layout). More...
 
static LogicalResult updateFuncOp (func::FuncOp func, SmallVectorImpl< BlockArgument > &appendedEntryArgs, bool addResultAttribute)
 
static LogicalResult updateReturnOps (func::FuncOp func, ArrayRef< BlockArgument > appendedEntryArgs, MemCpyFn memCpyFn, bool hoistStaticAllocs)
 
static LogicalResult updateCalls (ModuleOp module, const bufferization::BufferResultsToOutParamsOpts &options)
 

Macro Definition Documentation

◆ GEN_PASS_DEF_BUFFERRESULTSTOOUTPARAMS

#define GEN_PASS_DEF_BUFFERRESULTSTOOUTPARAMS

Definition at line 18 of file BufferResultsToOutParams.cpp.

Typedef Documentation

◆ MemCpyFn

Definition at line 24 of file BufferResultsToOutParams.cpp.

Function Documentation

◆ hasFullyDynamicLayoutMap()

static bool hasFullyDynamicLayoutMap ( MemRefType  type)
static

Return true if the given MemRef type has a fully dynamic layout.

Definition at line 27 of file BufferResultsToOutParams.cpp.

References mlir::getStridesAndOffset().

Referenced by updateCalls(), and updateFuncOp().

◆ hasStaticIdentityLayout()

static bool hasStaticIdentityLayout ( MemRefType  type)
static

Return true if the given MemRef type has a static identity layout (i.e., no layout).

Definition at line 41 of file BufferResultsToOutParams.cpp.

Referenced by updateCalls(), and updateFuncOp().

◆ updateCalls()

static LogicalResult updateCalls ( ModuleOp  module,
const bufferization::BufferResultsToOutParamsOpts options 
)
static

◆ updateFuncOp()

static LogicalResult updateFuncOp ( func::FuncOp  func,
SmallVectorImpl< BlockArgument > &  appendedEntryArgs,
bool  addResultAttribute 
)
static

◆ updateReturnOps()

static LogicalResult updateReturnOps ( func::FuncOp  func,
ArrayRef< BlockArgument appendedEntryArgs,
MemCpyFn  memCpyFn,
bool  hoistStaticAllocs 
)
static