MLIR  16.0.0git
Classes | Namespaces | Enumerations | Functions
BufferizableOpInterface.h File Reference
#include "mlir/IR/Operation.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/SetVector.h"
#include "mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h.inc"
+ Include dependency graph for BufferizableOpInterface.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mlir::bufferization::OpFilter
 
struct  mlir::bufferization::OpFilter::Entry
 An op filter entry. More...
 
struct  mlir::bufferization::BufferizationOptions
 Options for BufferizableOpInterface-based bufferization. More...
 
struct  mlir::bufferization::DialectAnalysisState
 Dialect-specific analysis state. More...
 
class  mlir::bufferization::AnalysisState
 AnalysisState provides a variety of helper functions for dealing with tensor values. More...
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::bufferization
 
 mlir::bufferization::detail
 

Enumerations

enum  mlir::bufferization::BufferRelation { mlir::bufferization::BufferRelation::None, mlir::bufferization::BufferRelation::Equivalent }
 Specify fine-grain relationship between buffers to enable more analysis. More...
 

Functions

bool mlir::bufferization::isFunctionArgument (Value value)
 Return true if the given value is a BlockArgument of a func::FuncOp. More...
 
FailureOr< Valuemlir::bufferization::allocateTensorForShapedValue (OpBuilder &b, Location loc, Value shapedValue, bool escape, const BufferizationOptions &options, bool copy=true)
 Create an AllocTensorOp for the given shaped value (memref or tensor). More...
 
bool mlir::bufferization::allocationDoesNotEscape (OpResult opResult)
 Return true if the allocation of the given op is guaranteed to not escape the containing block. More...
 
FailureOr< Valuemlir::bufferization::getBuffer (RewriterBase &rewriter, Value value, const BufferizationOptions &options)
 Lookup the buffer for the given value. More...
 
FailureOr< BaseMemRefTypemlir::bufferization::getBufferType (Value value, const BufferizationOptions &options)
 Return the buffer type for a given Value (tensor) after bufferization without bufferizing any IR. More...
 
FailureOr< BaseMemRefTypemlir::bufferization::getBufferType (Value value, const BufferizationOptions &options, const DenseMap< Value, BaseMemRefType > &fixedTypes)
 Return the buffer type for a given Value (tensor) after bufferization without bufferizing any IR. More...
 
void mlir::bufferization::replaceOpWithBufferizedValues (RewriterBase &rewriter, Operation *op, ValueRange values)
 Replace an op with replacement values. More...
 
template<typename OpTy , typename... Args>
OpTy mlir::bufferization::replaceOpWithNewBufferizedOp (RewriterBase &rewriter, Operation *op, Args &&...args)
 Replace an op with a new op. More...
 
bool mlir::bufferization::shouldDeallocateOpResult (OpResult opResult, const BufferizationOptions &options)
 Return true if the buffer of given OpResult should be deallocated. More...
 
BaseMemRefType mlir::bufferization::getMemRefType (Value value, const BufferizationOptions &options, MemRefLayoutAttrInterface layout={}, unsigned memorySpace=0)
 Return a MemRefType to which the type of the given value can be bufferized. More...
 
BaseMemRefType mlir::bufferization::getMemRefTypeWithFullyDynamicLayout (TensorType tensorType, unsigned memorySpace=0)
 Return a MemRef type with fully dynamic layout. More...
 
BaseMemRefType mlir::bufferization::getMemRefTypeWithStaticIdentityLayout (TensorType tensorType, unsigned memorySpace=0)
 Return a MemRef type with a static identity layout (i.e., no layout map). More...
 
Operationmlir::bufferization::getOwnerOfValue (Value value)
 Return the owner of the given value. More...
 
FailureOr< BaseMemRefTypemlir::bufferization::detail::defaultGetBufferType (Value value, const BufferizationOptions &options, const DenseMap< Value, BaseMemRefType > &fixedTypes)
 This is the default implementation of BufferizableOpInterface::getBufferType. More...
 
bool mlir::bufferization::detail::defaultIsRepetitiveRegion (BufferizableOpInterface bufferizableOp, unsigned index)
 This is the default implementation of BufferizableOpInterface::isRepetitiveRegion. More...