MLIR  16.0.0git
Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
mlir::StructuredGenerator< StructuredOpInterface > Class Template Reference

Helper StructuredGenerator class to manipulate and rewrite ops with StructuredOpInterface. More...

#include "mlir/Dialect/Utils/StructuredOpsUtils.h"

+ Collaboration diagram for mlir::StructuredGenerator< StructuredOpInterface >:

Classes

struct  IteratorType
 
struct  Par
 
struct  Red
 
struct  Win
 

Public Types

using MapList = ArrayRef< ArrayRef< AffineExpr > >
 

Public Member Functions

 StructuredGenerator (OpBuilder &builder, StructuredOpInterface op)
 
bool iters (ArrayRef< IteratorType > its)
 
bool layout (MapList l)
 

Protected Attributes

OpBuilderbuilder
 
MLIRContextctx
 
Location loc
 
SmallVector< StringRef > iterators
 
SmallVector< AffineMap, 4 > maps
 
Operationop
 

Detailed Description

template<typename StructuredOpInterface>
class mlir::StructuredGenerator< StructuredOpInterface >

Helper StructuredGenerator class to manipulate and rewrite ops with StructuredOpInterface.

This is templated for now because VectorOps do not yet implement the StructuredOpInterface itself.

Definition at line 129 of file StructuredOpsUtils.h.

Member Typedef Documentation

◆ MapList

template<typename StructuredOpInterface>
using mlir::StructuredGenerator< StructuredOpInterface >::MapList = ArrayRef<ArrayRef<AffineExpr> >

Definition at line 131 of file StructuredOpsUtils.h.

Constructor & Destructor Documentation

◆ StructuredGenerator()

template<typename StructuredOpInterface>
mlir::StructuredGenerator< StructuredOpInterface >::StructuredGenerator ( OpBuilder builder,
StructuredOpInterface  op 
)
inline

Definition at line 148 of file StructuredOpsUtils.h.

Member Function Documentation

◆ iters()

template<typename StructuredOpInterface>
bool mlir::StructuredGenerator< StructuredOpInterface >::iters ( ArrayRef< IteratorType its)
inline

◆ layout()

template<typename StructuredOpInterface>
bool mlir::StructuredGenerator< StructuredOpInterface >::layout ( MapList  l)
inline

Member Data Documentation

◆ builder

template<typename StructuredOpInterface>
OpBuilder& mlir::StructuredGenerator< StructuredOpInterface >::builder
protected

Definition at line 169 of file StructuredOpsUtils.h.

◆ ctx

template<typename StructuredOpInterface>
MLIRContext* mlir::StructuredGenerator< StructuredOpInterface >::ctx
protected

Definition at line 170 of file StructuredOpsUtils.h.

◆ iterators

template<typename StructuredOpInterface>
SmallVector<StringRef> mlir::StructuredGenerator< StructuredOpInterface >::iterators
protected

◆ loc

template<typename StructuredOpInterface>
Location mlir::StructuredGenerator< StructuredOpInterface >::loc
protected

Definition at line 171 of file StructuredOpsUtils.h.

◆ maps

template<typename StructuredOpInterface>
SmallVector<AffineMap, 4> mlir::StructuredGenerator< StructuredOpInterface >::maps
protected

◆ op

template<typename StructuredOpInterface>
Operation* mlir::StructuredGenerator< StructuredOpInterface >::op
protected

Definition at line 174 of file StructuredOpsUtils.h.


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