MLIR
20.0.0git
|
Public Member Functions | |
bool | hasTensorSemantics (Operation *op) const |
AliasingOpOperandList | getAliasingOpOperands (Operation *op, Value value, const AnalysisState &state) const |
FailureOr< BaseMemRefType > | getBufferType (Operation *op, Value value, const BufferizationOptions &options, SmallVector< Value > &invocationStack) const |
LogicalResult | bufferize (Operation *op, RewriterBase &rewriter, const BufferizationOptions &options) const |
Rewrite function bbArgs and return values into buffer form. More... | |
bool | isWritable (Operation *op, Value value, const AnalysisState &state) const |
Return true if the given function argument is writable. More... | |
Public Member Functions inherited from mlir::bufferization::OpWithUnstructuredControlFlowBufferizableOpInterfaceExternalModel< FuncOpInterface, FuncOp > | |
FailureOr< BaseMemRefType > | getBufferType (Operation *op, Value value, const BufferizationOptions &options, SmallVector< Value > &invocationStack) const |
Static Public Member Functions | |
static bool | supportsUnstructuredControlFlow () |
Additional Inherited Members | |
Protected Member Functions inherited from mlir::bufferization::OpWithUnstructuredControlFlowBufferizableOpInterfaceExternalModel< FuncOpInterface, FuncOp > | |
AliasingOpOperandList | getAliasingBranchOpOperands (Operation *op, BlockArgument bbArg, const AnalysisState &state) const |
Assuming that bbArg is a block argument of a block that belongs to the given op , return all OpOperands of users of this block that are aliasing with the given block argument. More... | |
Definition at line 340 of file FuncBufferizableOpInterfaceImpl.cpp.
|
inline |
Rewrite function bbArgs and return values into buffer form.
This function bufferizes the function signature and the ReturnOp. When the entire function body has been bufferized, function return types can be switched to more concise memref types as part of foldMemRefCasts
.
All function bbArgs are writable unless they are explicitly marked as read-only. Callers must insert copies when needed.
Definition at line 396 of file FuncBufferizableOpInterfaceImpl.cpp.
References mlir::bufferization::bufferizeBlockSignature(), mlir::OpBuilder::create(), mlir::detail::enumerate(), mlir::get(), mlir::bufferization::func_ext::getBufferizedFunctionArgType(), mlir::Operation::getContext(), mlir::bufferization::getReturnOps(), options, and mlir::OpBuilder::setInsertionPoint().
|
inline |
Definition at line 369 of file FuncBufferizableOpInterfaceImpl.cpp.
|
inline |
|
inline |
Definition at line 346 of file FuncBufferizableOpInterfaceImpl.cpp.
References isaTensor().
|
inline |
Return true
if the given function argument is writable.
Definition at line 473 of file FuncBufferizableOpInterfaceImpl.cpp.
|
inlinestatic |
Definition at line 344 of file FuncBufferizableOpInterfaceImpl.cpp.