|
| template<typename... Args> |
| | ValueBuilder (Args... args) |
| |
| | ValueBuilder (ArrayRef< ValueHandle > vs) |
| |
| template<typename... Args> |
| | ValueBuilder (ArrayRef< ValueHandle > vs, Args... args) |
| |
| template<typename T , typename... Args> |
| | ValueBuilder (T t, ArrayRef< ValueHandle > vs, Args... args) |
| |
| template<typename T1 , typename T2 , typename... Args> |
| | ValueBuilder (T1 t1, T2 t2, ArrayRef< ValueHandle > vs, Args... args) |
| |
| template<typename... Args> |
| | ValueBuilder (OperationFolder *folder, Args... args) |
| | Folder-based. More...
|
| |
| | ValueBuilder (OperationFolder *folder, ArrayRef< ValueHandle > vs) |
| |
| template<typename... Args> |
| | ValueBuilder (OperationFolder *folder, ArrayRef< ValueHandle > vs, Args... args) |
| |
| template<typename T , typename... Args> |
| | ValueBuilder (OperationFolder *folder, T t, ArrayRef< ValueHandle > vs, Args... args) |
| |
| template<typename T1 , typename T2 , typename... Args> |
| | ValueBuilder (OperationFolder *folder, T1 t1, T2 t2, ArrayRef< ValueHandle > vs, Args... args) |
| |
| | ValueBuilder () |
| |
Public Member Functions inherited from mlir::edsc::ValueHandle |
| | 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 |
| |
template<typename Op>
struct mlir::edsc::intrinsics::ValueBuilder< Op >
Helper variadic abstraction to allow extending to any MLIR op without boilerplate or Tablegen. Arguably a builder is not a ValueHandle but in practice it is only used as an alias to a notional ValueHandle<Op>. Implementing it as a subclass allows it to compose all the way to Value. Without subclassing, implicit conversion to Value would fail when composing in patterns such as: select(a, b, select(c, d, e)).