MLIR 22.0.0git
mlir::bufferization::OpWithUnstructuredControlFlowBufferizableOpInterfaceExternalModel< ConcreteModel, ConcreteOp > Struct Template Reference

A template that provides a default implementation of getAliasingOpOperands for ops that support unstructured control flow within their regions. More...

#include "mlir/Dialect/Bufferization/IR/UnstructuredControlFlow.h"

Inheritance diagram for mlir::bufferization::OpWithUnstructuredControlFlowBufferizableOpInterfaceExternalModel< ConcreteModel, ConcreteOp >:

Public Member Functions

FailureOr< BufferLikeType > getBufferType (Operation *op, Value value, const BufferizationOptions &options, const BufferizationState &state, SmallVector< Value > &invocationStack) const

Protected Member Functions

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.

Detailed Description

template<typename ConcreteModel, typename ConcreteOp>
struct mlir::bufferization::OpWithUnstructuredControlFlowBufferizableOpInterfaceExternalModel< ConcreteModel, ConcreteOp >

A template that provides a default implementation of getAliasingOpOperands for ops that support unstructured control flow within their regions.

Definition at line 32 of file UnstructuredControlFlow.h.

Member Function Documentation

◆ getAliasingBranchOpOperands()

template<typename ConcreteModel, typename ConcreteOp>
AliasingOpOperandList mlir::bufferization::OpWithUnstructuredControlFlowBufferizableOpInterfaceExternalModel< ConcreteModel, ConcreteOp >::getAliasingBranchOpOperands ( Operation * op,
BlockArgument bbArg,
const AnalysisState & state ) const
inlineprotected

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.

Definition at line 121 of file UnstructuredControlFlow.h.

References mlir::bufferization::detail::getCallerOpOperands(), mlir::BlockArgument::getOwner(), mlir::Block::getParentOp(), and result.

◆ getBufferType()

template<typename ConcreteModel, typename ConcreteOp>
FailureOr< BufferLikeType > mlir::bufferization::OpWithUnstructuredControlFlowBufferizableOpInterfaceExternalModel< ConcreteModel, ConcreteOp >::getBufferType ( Operation * op,
Value value,
const BufferizationOptions & options,
const BufferizationState & state,
SmallVector< Value > & invocationStack ) const
inline

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