aboutsummaryrefslogtreecommitdiff
path: root/libcxx/src
diff options
context:
space:
mode:
authorAbhishek Varma <abhvarma@amd.com>2024-06-01 18:23:41 +0000
committerGitHub <noreply@github.com>2024-06-01 11:23:41 -0700
commit2b2ce50fe843b5b550806a0ab15b06cd5c405d48 (patch)
tree93dc8a36a0b2ecce5f2d485b3e55e9f6f67fe1d0 /libcxx/src
parent9e22c7a0ea87228dffcdfd7ab62724f72e0b3e30 (diff)
downloadllvm-2b2ce50fe843b5b550806a0ab15b06cd5c405d48.zip
llvm-2b2ce50fe843b5b550806a0ab15b06cd5c405d48.tar.gz
llvm-2b2ce50fe843b5b550806a0ab15b06cd5c405d48.tar.bz2
[MLIR][SCF] Add an API to fuse consumer to a producer within scf loop (#88712)
This commit adds an API (`tileAndFuseConsumerOfSlice`) to fuse consumer to a producer within scf.for/scf.forall loop. To support this two new methods are added to the `TilingInterface` - `getIterationDomainTileFromOperandTile` - `getTiledImplementationFromOperandTile`. Consumer operations that implement this method can be used to be fused with tiled producer operands in a manner similar to (but essentially the inverse of) the fusion of an untiled producer with a tiled consumer. Note that this only does one `tiled producer` -> `consumer` fusion. This could be called repeatedly for fusing multiple consumers. The current implementation also is conservative in when this kicks in (like single use of the value returned by the inter-tile loops that surround the tiled producer, etc.) These can be relaxed over time. Signed-off-by: Abhishek Varma <abhvarma@amd.com> --------- Signed-off-by: Abhishek Varma <abhvarma@amd.com> Signed-off-by: Abhishek Varma <avarma094@gmail.com> Co-authored-by: cxy <chenxunyu1993@gmail.com>
Diffstat (limited to 'libcxx/src')
0 files changed, 0 insertions, 0 deletions