My Project
|
#include <Utils.h>
Public Member Functions | |
LoopRangeBuilder (ValueHandle *iv, ValueHandle range) | |
LoopRangeBuilder (ValueHandle *iv, Value range) | |
LoopRangeBuilder (ValueHandle *iv, SubViewOp::Range range) | |
LoopRangeBuilder (const LoopRangeBuilder &)=delete | |
LoopRangeBuilder (LoopRangeBuilder &&)=default | |
LoopRangeBuilder & | operator= (const LoopRangeBuilder &)=delete |
LoopRangeBuilder & | operator= (LoopRangeBuilder &&)=default |
ValueHandle | operator() (std::function< void(void)> fun=nullptr) |
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 LoopRangeBuilder is a generic NestedBuilder for loop.for 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).
mlir::edsc::LoopRangeBuilder::LoopRangeBuilder | ( | ValueHandle * | iv, |
ValueHandle | range | ||
) |
Constructs a new loop.for 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.
mlir::edsc::LoopRangeBuilder::LoopRangeBuilder | ( | ValueHandle * | iv, |
Value | range | ||
) |
mlir::edsc::LoopRangeBuilder::LoopRangeBuilder | ( | ValueHandle * | iv, |
SubViewOp::Range | range | ||
) |
|
delete |
|
default |
ValueHandle mlir::edsc::LoopRangeBuilder::operator() | ( | std::function< 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 LoopRangeBuilder.
|
delete |
|
default |