[all-commits] [llvm/llvm-project] 63086d: [mlir][Interfaces] `LoopLikeOpInterface`: Add `rep...

Matthias Springer via All-commits all-commits at lists.llvm.org
Tue Sep 26 22:53:52 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 63086d6aa0af9bb7fc73c670d680191ae646f7d8
      https://github.com/llvm/llvm-project/commit/63086d6aa0af9bb7fc73c670d680191ae646f7d8
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-09-27 (Wed, 27 Sep 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
    M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
    M mlir/include/mlir/Interfaces/LoopLikeInterface.h
    M mlir/include/mlir/Interfaces/LoopLikeInterface.td
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    M mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
    M mlir/lib/Dialect/Linalg/Transforms/SubsetHoisting.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/test/Transforms/scf-replace-with-new-yields.mlir
    M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp

  Log Message:
  -----------
  [mlir][Interfaces] `LoopLikeOpInterface`: Add `replaceWithAdditionalYields` (#67121)

`affine::replaceForOpWithNewYields` and `replaceLoopWithNewYields` (for
"scf.for") are now interface methods and additional loop-carried
variables can now be added to "scf.for"/"affine.for" uniformly. (No more
`TypeSwitch` needed.)

Note: `scf.while` and other loops with loop-carried variables can
implement `replaceWithAdditionalYields`, but to keep this commit small,
that is not done in this commit.




More information about the All-commits mailing list