summaryrefslogtreecommitdiff
path: root/mlir/docs/Tutorials/transform/Ch2.md
AgeCommit message (Collapse)Author
2025-07-18[mlir][transform] Fix ch2 and additional documentation (#148407)lonely eagle
Fixed error code in example.In addition to this, the content in the documentation has been improved by adding links to the code repository.
2025-07-07[MLIR][Linalg] Remove elemwise_unary and elemwise_binary (#147082)Renato Golin
RFC: https://discourse.llvm.org/t/rfc-deprecate-linalg-elemwise-unary-and-elemwise-binary/87144 Remove the two operations and fix the tests by: * Cleaning simple operation tests of the old ops * Changing `linalg.elemwise_{u|bi}nary` with `linalg.{exp|add}` on transform tests * Changing some of the tests with `linalg.elementwise` instead, to broaden test coverage * Surgically removing the `elemwise_*` part in the Python tests * Update MLIR transform examples (text and tests) with `linalg.elementwise` instead Nothing else changed.
2024-03-20[mlir] split transform interfaces into a separate library (#85221)Oleksandr "Alex" Zinenko
Transform interfaces are implemented, direction or via extensions, in libraries belonging to multiple other dialects. Those dialects don't need to depend on the non-interface part of the transform dialect, which includes the growing number of ops and transitive dependency footprint. Split out the interfaces into a separate library. This in turn requires flipping the dependency from the interface on the dialect that has crept in because both co-existed in one library. The interface shouldn't depend on the transform dialect either. As a consequence of splitting, the capability of the interpreter to automatically walk the payload IR to identify payload ops of a certain kind based on the type used for the entry point symbol argument is disabled. This is a good move by itself as it simplifies the interpreter logic. This functionality can be trivially replaced by a `transform.structured.match` operation.
2024-02-09[mlir] update transform dialect tutorials (#81199)Oleksandr "Alex" Zinenko
Use the "main" transform-interpreter pass instead of the test pass. This, along with the previously introduced debug extension, now allow tutorials to no longer depend on test passes and extensions.
2024-01-03[mlir][docs] Capitalize "Transform" in "transform dialect" (#76840)Andrzej WarzyƄski
A mix of "Transform dialect" and "transform dialect" is used ATM. This patch capitalizes the outstanding instances of "transform".
2023-09-26[mlir] cleanup of structured.tile* transform ops (#67320)Oleksandr "Alex" Zinenko
Rename and restructure tiling-related transform ops from the structured extension to be more homogeneous. In particular, all ops now follow a consistent naming scheme: - `transform.structured.tile_using_for`; - `transform.structured.tile_using_forall`; - `transform.structured.tile_reduction_using_for`; - `transform.structured.tile_reduction_using_forall`. This drops the "_op" naming artifact from `tile_to_forall_op` that shouldn't have been included in the first place, consistently specifies the name of the control flow op to be produced for loops (instead of `tile_reduction_using_scf` since `scf.forall` also belongs to `scf`), and opts for the `using` connector to avoid ambiguity. The loops produced by tiling are now systematically placed as *trailing* results of the transform op. While this required changing 3 out of 4 ops (except for `tile_using_for`), this is the only choice that makes sense when producing multiple `scf.for` ops that can be associated with a variadic number of handles. This choice is also most consistent with *other* transform ops from the structured extension, in particular with fusion ops, that produce the structured op as the leading result and the loop as the trailing result.
2023-06-28[mlir][doc] Fix broken docsKohei Yamaguchi
- Fix include paths for Transform Dialect Tutorial - Add math dialect's pass into Pass.md - Remove a include path of Quant dialect from Pass.md Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D153944
2023-06-20[mlir][transform] Add TransformRewriterMatthias Springer
All `apply` functions now have a `TransformRewriter &` parameter. This rewriter should be used to modify the IR. It has a `TrackingListener` attached and updates the internal handle-payload mappings based on rewrites. Implementations no longer need to create their own `TrackingListener` and `IRRewriter`. Error checking is integrated into `applyTransform`. Tracking listener errors are reported only for ops with the `ReportTrackingListenerFailuresOpTrait` trait attached, allowing for a gradual migration. Furthermore, errors can be silenced with an op attribute. Additional API will be added to `TransformRewriter` in subsequent revisions. This revision just adds an "empty" `TransformRewriter` class and updates all `apply` implementations. Differential Revision: https://reviews.llvm.org/D152427
2023-05-31[mlir] fix documentation includesAlex Zinenko
2023-05-30[mlir] add initial chapters of the transform dialect tutorialAlex Zinenko
The transform dialect has been around for a while and is sufficiently stable at this point. Add the first three chapters of the tutorial describing its usage and extension. Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D151491