My Project
|
#include <Builders.h>
Public Member Functions | |
ValueHandle (Type t) | |
ValueHandle (Value v) | |
ValueHandle (index_t cst) | |
ValueHandle (const ValueHandle &other)=default | |
ValueHandle is a value type, use the default copy constructor. More... | |
ValueHandle & | operator= (const ValueHandle &other) |
void | swap (ValueHandle &other) |
Provide a swap operator. More... | |
operator Value () const | |
Implicit conversion useful for automatic conversion to Container<Value>. More... | |
operator bool () const | |
bool | hasValue () const |
Value | getValue () const |
bool | hasType () const |
Type | getType () const |
Operation * | getOperation () const |
Static Public Member Functions | |
static ValueHandle | null () |
A ValueHandle in a null state can never be captured;. More... | |
template<typename Op , typename... Args> | |
static ValueHandle | create (Args... args) |
template<typename Op , typename... Args> | |
static ValueHandle | create (OperationFolder *folder, Args... args) |
static ValueHandle | createComposedAffineApply (AffineMap map, ArrayRef< Value > operands) |
Special case to build composed AffineApply operations. More... | |
static ValueHandle | create (StringRef name, ArrayRef< ValueHandle > operands, ArrayRef< Type > resultTypes, ArrayRef< NamedAttribute > attributes={}) |
Generic create for a named operation producing a single value. More... | |
Protected Member Functions | |
ValueHandle () | |
![]() | |
CapturableHandle ()=default | |
Protected Attributes | |
Type | t |
Value | v |
ValueHandle implements a (potentially "delayed") typed Value abstraction. ValueHandle should be captured by pointer but otherwise passed by Value everywhere. A ValueHandle can have 3 states:
A ValueHandle is meant to capture a single Value and should be used for operations that have a single result. For convenience of use, we also include AffineForOp in this category although it does not return a value. In the case of AffineForOp, the captured Value is the loop induction variable.
|
inlineexplicit |
A ValueHandle that is constructed from a Type represents a typed "delayed" Value. A delayed Value can only capture Values of the specified type. Such a delayed value represents the declaration (in the PL sense) of a placeholder for an mlir::Value that will be constructed and captured at some later point in the program.
|
inlineexplicit |
A ValueHandle that is constructed from an mlir::Value is an "eager" Value. An eager Value represents both the declaration and the definition (in the PL sense) of a placeholder for an mlir::Value that has already been constructed in the past and that is captured "now" in the program.
mlir::edsc::ValueHandle::ValueHandle | ( | index_t | cst | ) |
Builds a ConstantIndexOp of value cst
. The constant is created at the current insertion point. This implicit constructor is provided to each build an eager Value for a constant at the current insertion point in the IR. An implicit constructor allows idiomatic expressions mixing ValueHandle and literals.
|
default |
ValueHandle is a value type, use the default copy constructor.
|
inlineprotected |
|
static |
Generic mlir::Op create. This is the key to being extensible to the whole of MLIR without duplicating the type system or the op definitions.
|
static |
Generic mlir::Op create. This is the key to being extensible to the whole of MLIR without duplicating the type system or the op definitions. When non-null, the optional pointer folder
is used to call into the createAndFold
builder method. If folder
is null, the regular create
method is called.
|
static |
Generic create for a named operation producing a single value.
|
static |
Special case to build composed AffineApply operations.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
A ValueHandle in a null state can never be captured;.
|
inline |
|
inline |
Implicit conversion useful for automatic conversion to Container<Value>.
ValueHandle & mlir::edsc::ValueHandle::operator= | ( | const ValueHandle & | other | ) |
ValueHandle is a value type, the assignment operator typechecks before assigning.
|
inline |
Provide a swap operator.
|
protected |
|
protected |