MLIR  19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
mlir::bufferization::func_ext::FuncOpInterface Struct Reference
+ Inheritance diagram for mlir::bufferization::func_ext::FuncOpInterface:

Public Member Functions

bool hasTensorSemantics (Operation *op) const
 
AliasingOpOperandList getAliasingOpOperands (Operation *op, Value value, const AnalysisState &state) const
 
FailureOr< BaseMemRefTypegetBufferType (Operation *op, Value value, const BufferizationOptions &options, SmallVector< Value > &invocationStack) const
 
LogicalResult verifyAnalysis (Operation *op, const AnalysisState &state) 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< BaseMemRefTypegetBufferType (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...
 

Detailed Description

Definition at line 322 of file FuncBufferizableOpInterfaceImpl.cpp.

Member Function Documentation

◆ bufferize()

LogicalResult mlir::bufferization::func_ext::FuncOpInterface::bufferize ( Operation op,
RewriterBase rewriter,
const BufferizationOptions options 
) const
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 387 of file FuncBufferizableOpInterfaceImpl.cpp.

◆ getAliasingOpOperands()

AliasingOpOperandList mlir::bufferization::func_ext::FuncOpInterface::getAliasingOpOperands ( Operation op,
Value  value,
const AnalysisState state 
) const
inline

Definition at line 351 of file FuncBufferizableOpInterfaceImpl.cpp.

◆ getBufferType()

FailureOr<BaseMemRefType> mlir::bufferization::func_ext::FuncOpInterface::getBufferType ( Operation op,
Value  value,
const BufferizationOptions options,
SmallVector< Value > &  invocationStack 
) const
inline

Definition at line 357 of file FuncBufferizableOpInterfaceImpl.cpp.

◆ hasTensorSemantics()

bool mlir::bufferization::func_ext::FuncOpInterface::hasTensorSemantics ( Operation op) const
inline

Definition at line 328 of file FuncBufferizableOpInterfaceImpl.cpp.

◆ isWritable()

bool mlir::bufferization::func_ext::FuncOpInterface::isWritable ( Operation op,
Value  value,
const AnalysisState state 
) const
inline

Return true if the given function argument is writable.

Definition at line 464 of file FuncBufferizableOpInterfaceImpl.cpp.

◆ supportsUnstructuredControlFlow()

static bool mlir::bufferization::func_ext::FuncOpInterface::supportsUnstructuredControlFlow ( )
inlinestatic

Definition at line 326 of file FuncBufferizableOpInterfaceImpl.cpp.

◆ verifyAnalysis()

LogicalResult mlir::bufferization::func_ext::FuncOpInterface::verifyAnalysis ( Operation op,
const AnalysisState state 
) const
inline

Definition at line 371 of file FuncBufferizableOpInterfaceImpl.cpp.


The documentation for this struct was generated from the following file: