|
My Project
|
Namespaces | |
| detail | |
Classes | |
| struct | OperationBuilder |
| struct | ValueBuilder |
Functions | |
| OperationHandle | br (BlockHandle bh, ArrayRef< ValueHandle > operands) |
| OperationHandle | br (BlockHandle *bh, ArrayRef< ValueHandle *> captures, ArrayRef< ValueHandle > operands) |
| OperationHandle | cond_br (ValueHandle cond, BlockHandle trueBranch, ArrayRef< ValueHandle > trueOperands, BlockHandle falseBranch, ArrayRef< ValueHandle > falseOperands) |
| OperationHandle | cond_br (ValueHandle cond, BlockHandle *trueBranch, ArrayRef< ValueHandle *> trueCaptures, ArrayRef< ValueHandle > trueOperands, BlockHandle *falseBranch, ArrayRef< ValueHandle *> falseCaptures, ArrayRef< ValueHandle > falseOperands) |
Provides a set of first class intrinsics. In the future, most of intrinsics related to Operation that don't contain other operations should be Tablegen'd.
| using mlir::edsc::intrinsics::addf = typedef ValueBuilder<AddFOp> |
| using mlir::edsc::intrinsics::affine_apply = typedef ValueBuilder<AffineApplyOp> |
| using mlir::edsc::intrinsics::affine_if = typedef OperationBuilder<AffineIfOp> |
| using mlir::edsc::intrinsics::affine_load = typedef ValueBuilder<AffineLoadOp> |
| using mlir::edsc::intrinsics::affine_store = typedef OperationBuilder<AffineStoreOp> |
| using mlir::edsc::intrinsics::alloc = typedef ValueBuilder<AllocOp> |
| using mlir::edsc::intrinsics::call = typedef OperationBuilder<mlir::CallOp> |
| using mlir::edsc::intrinsics::constant_float = typedef ValueBuilder<ConstantFloatOp> |
| using mlir::edsc::intrinsics::constant_index = typedef ValueBuilder<ConstantIndexOp> |
| using mlir::edsc::intrinsics::constant_int = typedef ValueBuilder<ConstantIntOp> |
| using mlir::edsc::intrinsics::dealloc = typedef OperationBuilder<DeallocOp> |
| using mlir::edsc::intrinsics::dim = typedef ValueBuilder<DimOp> |
| using mlir::edsc::intrinsics::linalg_fill = typedef OperationBuilder<linalg::FillOp> |
| using mlir::edsc::intrinsics::linalg_reshape = typedef OperationBuilder<linalg::ReshapeOp> |
| using mlir::edsc::intrinsics::linalg_yield = typedef OperationBuilder<linalg::YieldOp> |
| using mlir::edsc::intrinsics::memref_cast = typedef ValueBuilder<MemRefCastOp> |
| using mlir::edsc::intrinsics::mulf = typedef ValueBuilder<MulFOp> |
| using mlir::edsc::intrinsics::muli = typedef ValueBuilder<MulIOp> |
| using mlir::edsc::intrinsics::ret = typedef OperationBuilder<ReturnOp> |
| using mlir::edsc::intrinsics::select = typedef ValueBuilder<SelectOp> |
| using mlir::edsc::intrinsics::std_load = typedef ValueBuilder<LoadOp> |
| using mlir::edsc::intrinsics::std_store = typedef OperationBuilder<StoreOp> |
| using mlir::edsc::intrinsics::subi = typedef ValueBuilder<SubIOp> |
| using mlir::edsc::intrinsics::tanh = typedef ValueBuilder<TanhOp> |
| using mlir::edsc::intrinsics::view = typedef ValueBuilder<ViewOp> |
| OperationHandle mlir::edsc::intrinsics::br | ( | BlockHandle | bh, |
| ArrayRef< ValueHandle > | operands | ||
| ) |
Branches into the mlir::Block* captured by BlockHandle b with operands.
Prerequisites: All Handles have already captured previously constructed IR objects.
| OperationHandle mlir::edsc::intrinsics::br | ( | BlockHandle * | bh, |
| ArrayRef< ValueHandle *> | captures, | ||
| ArrayRef< ValueHandle > | operands | ||
| ) |
Creates a new mlir::Block* and branches to it from the current block. Argument types are specified by operands. Captures the new block in bh and the actual operands in captures. To insert the new mlir::Block*, a local ScopedContext is constructed and released to the current block. The branch operation is then added to the new block.
Prerequisites: b has not yet captured an mlir::Block*. No captures have captured any mlir::Value. All operands have already captured an mlir::Value captures.size() == operands.size() captures and operands are pairwise of the same type.
| OperationHandle mlir::edsc::intrinsics::cond_br | ( | ValueHandle | cond, |
| BlockHandle | trueBranch, | ||
| ArrayRef< ValueHandle > | trueOperands, | ||
| BlockHandle | falseBranch, | ||
| ArrayRef< ValueHandle > | falseOperands | ||
| ) |
Branches into the mlir::Block* captured by BlockHandle trueBranch with trueOperands if cond evaluates to true (resp. falseBranch and falseOperand if cond evaluates to false).
Prerequisites: All Handles have captured previously constructed IR objects.
| OperationHandle mlir::edsc::intrinsics::cond_br | ( | ValueHandle | cond, |
| BlockHandle * | trueBranch, | ||
| ArrayRef< ValueHandle *> | trueCaptures, | ||
| ArrayRef< ValueHandle > | trueOperands, | ||
| BlockHandle * | falseBranch, | ||
| ArrayRef< ValueHandle *> | falseCaptures, | ||
| ArrayRef< ValueHandle > | falseOperands | ||
| ) |
Eagerly creates new mlir::Block* with argument types specified by trueOperands/falseOperands. Captures the new blocks in trueBranch/falseBranch and the arguments in trueCaptures/falseCaptures. To insert the new mlir::Block*, a local ScopedContext is constructed and released. The branch operation is then added in the original location and targeting the eagerly constructed blocks.
Prerequisites: trueBranch/falseBranch has not yet captured an mlir::Block*. No trueCaptures/falseCaptures have captured any mlir::Value. All trueOperands/trueOperands have already captured an mlir::Value trueCaptures.size() == trueOperands.size() falseCaptures.size() == falseOperands.size() trueCaptures and trueOperands are pairwise of the same type falseCaptures and falseOperands are pairwise of the same type.
1.8.13