MMatthias Springer[mlir][linalg] Expand test case for tile-and-fuse with transform dialect
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[mlir] (NFC) Clean up bazel and CMake target names All dialect targets in bazel have been named *Dialect and all dialect targets in CMake have been named MLIR*Dialect. | 3 年前 | |
[mlir][linalg] Expand test case for tile-and-fuse with transform dialect Reverse the order of the payload ops. fuse_into_containing_op should still work. Differential Revision: https://reviews.llvm.org/D130355 | 3 年前 | |
[mlir][Linalg] Split reduction transform op This revision separates the LinalgSplitReduction pattern, whose application is based on attributes, from its implementation. A transform dialect op extension is added to control the application of the transformation at a finer granularity. Differential Revision: https://reviews.llvm.org/D128165 | 3 年前 | |
[mlir][linalg] Expand test case for tile-and-fuse with transform dialect Reverse the order of the payload ops. fuse_into_containing_op should still work. Differential Revision: https://reviews.llvm.org/D130355 | 3 年前 | |
[mlir] Introduce transform.alternatives op Introduce a transform dialect op that allows one to attempt different transformation sequences on the same piece of payload IR until one of them succeeds. This op fundamentally expands the scope of possibilities in the transform dialect that, until now, could only propagate transformation failure, at least using in-tree operations. This requires a more detailed specification of the execution model for the transform dialect that now indicates how failure is handled and propagated. Transformations described by transform operations now have tri-state results, with some errors being fundamentally irrecoverable (e.g., generating malformed IR) and some others being recoverable by containing ops. Existing transform ops directly implementing the apply interface method are updated to produce this directly. Transform ops with the TransformEachTransformOpTrait are currently considered to produce only irrecoverable failures and will be updated separately. Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D127724 | 3 年前 | |
[mlir] improve and test TransformState::Extension Add the mechanism for TransformState extensions to update the mapping between Transform IR values and Payload IR operations held by the state. The mechanism is intentionally restrictive, similarly to how results of the transform op are handled. Introduce test ops that exercise a simple extension that maintains information across the application of multiple transform ops. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D124778 | 4 年前 | |
[mlir] Introduce Transform dialect This dialect provides operations that can be used to control transformation of the IR using a different portion of the IR. It refers to the IR being transformed as payload IR, and to the IR guiding the transformation as transform IR. The main use case for this dialect is orchestrating fine-grain transformations on individual operations or sets thereof. For example, it may involve finding loop-like operations with specific properties (e.g., large size) in the payload IR, applying loop tiling to those and only those operations, and then applying loop unrolling to the inner loops produced by the previous transformations. As such, it is not intended as a replacement for the pass infrastructure, nor for the pattern rewriting infrastructure. In the most common case, the transform IR will be processed and applied to payload IR by a pass. Transformations expressed by the transform dialect may be implemented using the pattern infrastructure or any other relevant MLIR component. This dialect is designed to be extensible, that is, clients of this dialect are allowed to inject additional operations into this dialect using the newly introduced in this patch TransformDialectExtension mechanism. This allows the dialect to avoid a dependency on the implementation of the transformation as well as to avoid introducing dialect-specific transform dialects. See https://discourse.llvm.org/t/rfc-interfaces-and-dialects-for-precise-ir-transformation-control/60927. Reviewed By: nicolasvasilache, Mogball, rriddle Differential Revision: https://reviews.llvm.org/D123135 | 4 年前 |