My Project
|
#include <Builders.h>
Public Member Functions | |
LoopBuilder (const LoopBuilder &)=delete | |
LoopBuilder (LoopBuilder &&)=default | |
LoopBuilder & | operator= (const LoopBuilder &)=delete |
LoopBuilder & | operator= (LoopBuilder &&)=default |
void | operator() (function_ref< void(void)> fun=nullptr) |
Static Public Member Functions | |
static LoopBuilder | makeAffine (ValueHandle *iv, ArrayRef< ValueHandle > lbHandles, ArrayRef< ValueHandle > ubHandles, int64_t step) |
static LoopBuilder | makeLoop (ValueHandle *iv, ValueHandle lbHandle, ValueHandle ubHandle, ValueHandle stepHandle) |
Additional Inherited Members | |
Protected Member Functions inherited from mlir::edsc::NestedBuilder | |
NestedBuilder ()=default | |
NestedBuilder (const NestedBuilder &)=delete | |
NestedBuilder (NestedBuilder &&other) | |
NestedBuilder & | operator= (const NestedBuilder &)=delete |
NestedBuilder & | operator= (NestedBuilder &&other) |
void | enter (mlir::Block *block, int prev=0) |
void | exit () |
~NestedBuilder () | |
A LoopBuilder is a generic NestedBuilder for loop-like MLIR operations. More specifically it is meant to be used as a temporary object for representing any nested MLIR construct that is "related to" an mlir::Value (for now an induction variable). This is extensible and will evolve in the future as MLIR evolves, hence the name LoopBuilder (as opposed to say ForBuilder or AffineForBuilder).
|
delete |
|
default |
|
static |
Constructs a new AffineForOp and captures the associated induction variable. A ValueHandle pointer is passed as the first argument and is the only way to capture the loop induction variable.
|
static |
Constructs a new loop::ForOp and captures the associated induction variable. A ValueHandle pointer is passed as the first argument and is the only way to capture the loop induction variable.
void mlir::edsc::LoopBuilder::operator() | ( | function_ref< void(void)> | fun = nullptr | ) |
The only purpose of this operator is to serve as a sequence point so that the evaluation of fun
(which build IR snippets in a scoped fashion) is scoped within a LoopBuilder.
The particular use case concerns nested blocks:
|
delete |
|
default |