[all-commits] [llvm/llvm-project] 7ee345: [mlir][TilingInterface] Fix `iter_args` handling i...
MaheshRavishankar via All-commits
all-commits at lists.llvm.org
Mon Sep 26 12:15:02 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7ee34550f5495479428098256d0685c498036ec2
https://github.com/llvm/llvm-project/commit/7ee34550f5495479428098256d0685c498036ec2
Author: Mahesh Ravishankar <ravishankarm at google.com>
Date: 2022-09-26 (Mon, 26 Sep 2022)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
Log Message:
-----------
[mlir][TilingInterface] Fix `iter_args` handling in tile (and fuse).
The current approach for handling `iter_args` was to replace all uses
of the value that is used as `init` value with the corresponding
region block argument within the `scf.for`. This is not always
correct. Instead a more deliberate approach needs to be taken to
handle these. If the slice being fused represents a slice of the
destination operand of the untiled op, then
- Make the destination of the fused producer the `init` value of the
loop nest
- For the tiled and fused producer op created, replace the slice of
the destination operand with a slice of the corresponding region
iter arg of the innermost loop of the generated loop nest
Differential Revision: https://reviews.llvm.org/D134411
More information about the All-commits
mailing list