[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