[Mlir-commits] [mlir] [mlir][TilingInterface] Update documentation for `TilingInterface.td`. (PR #95178)
Quinn Dawkins
llvmlistbot at llvm.org
Tue Jun 11 16:44:12 PDT 2024
================
@@ -18,9 +18,46 @@ include "mlir/IR/OpBase.td"
def TilingInterface : OpInterface<"TilingInterface"> {
let description = [{
- Interface for allowing operations to expose information needed to
- tile them (similar to LinalgOp, but without having access to
- indexing maps)
+ This interface allows operations to expose information needed to tile them.
+
+ The intent of this interface is to separate the generation of the loop
+ structure (and constructs used for it) from the information needed from
+ the operation to be able to tile them. As a result an implementation of
+ the tiling algorithm (like `scf::tileUsingSCF`) can generate the inter-tile
+ loop structure, and call into the methods of the interface to be able to
+ tile any operation that implements the interface.
+
+ This interface is also meant to help with "tile and fuse", i.e. the process
+ of fusing a producer with a consumer by
+ a) Tiling the consumer
+ b) Based on the tile of the producer used by the tiled consumer,
+ materialize the tiled implementation of a producer to generate that
+ tile (and use it immediately in the consumer)
+ You could also fuse a consumer with with a producer by
----------------
qedawkins wrote:
```suggestion
You could also fuse a consumer with a producer by
```
https://github.com/llvm/llvm-project/pull/95178
More information about the Mlir-commits
mailing list