llvm-project/mlir/test
Alex Zinenko 0a4c940c1b EDSC: introduce support for blocks
EDSC currently implement a block as a statement that is itself a list of
statements.  This suffers from two modeling problems: (1) these blocks are not
addressable, i.e. one cannot create an instruction where thus constructed block
is a successor; (2) they support block nesting, which is not supported by MLIR
blocks.  Furthermore, emitting such "compound statement" (misleadingly named
`Block` in Python bindings) does not actually produce a new Block in the IR.

Implement support for creating actual IR Blocks in EDSC.  In particular, define
a new StmtBlock EDSC class that is neither an Expr nor a Stmt but contains a
list of Stmts.  Additionally, StmtBlock may have (early-) typed arguments.
These arguments are Bindable expressions that can be used inside the block.
Provide two calls in the MLIREmitter, `emitBlock` that actually emits a new
block and `emitBlockBody` that only emits the instructions contained in the
block without creating a new block.  In the latter case, the instructions must
not use block arguments.

Update Python bindings to make it clear when instruction emission happens
without creating a new block.

PiperOrigin-RevId: 234556474
2019-03-29 16:30:56 -07:00
..
AffineOps Automated rollback of changelist 232728977. 2019-03-29 16:21:38 -07:00
Dialect Add binary broadcastable builder. 2019-03-29 16:23:38 -07:00
EDSC EDSC: introduce support for blocks 2019-03-29 16:30:56 -07:00
IR Add dialect-specific decoding for opaque constants. 2019-03-29 16:24:38 -07:00
LLVMIR LLVM dialect conversion and target: support indirect calls 2019-03-29 16:28:56 -07:00
Target LLVM dialect conversion and target: support indirect calls 2019-03-29 16:28:56 -07:00
Transforms Misc. updates/fixes to analysis utils used for DMA generation; update DMA 2019-03-29 16:30:26 -07:00
mlir-cpu-runner ExecutionEngine: provide utils for running CLI-configured LLVM passes 2019-03-29 16:29:41 -07:00
mlir-tblgen Add pattern constraints. 2019-03-29 16:26:53 -07:00