[all-commits] [llvm/llvm-project] a8d0c8: [mlir][Interfaces][NFC] Move `SubsetInsertionOpInt...

Matthias Springer via All-commits all-commits at lists.llvm.org
Sun Oct 29 21:42:57 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a8d0c86174b4e7355e250b3eb266e055df224f48
      https://github.com/llvm/llvm-project/commit/a8d0c86174b4e7355e250b3eb266e055df224f48
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/Bufferization.h
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
    M mlir/include/mlir/Dialect/Bufferization/IR/CMakeLists.txt
    R mlir/include/mlir/Dialect/Bufferization/IR/SubsetInsertionOpInterface.h
    R mlir/include/mlir/Dialect/Bufferization/IR/SubsetInsertionOpInterface.td
    M mlir/include/mlir/Interfaces/CMakeLists.txt
    A mlir/include/mlir/Interfaces/SubsetInsertionOpInterface.h
    A mlir/include/mlir/Interfaces/SubsetInsertionOpInterface.td
    M mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
    R mlir/lib/Dialect/Bufferization/IR/SubsetInsertionOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/Transforms/SubsetInsertionOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/Transforms/SubsetInsertionOpInterfaceImpl.cpp
    M mlir/lib/Interfaces/CMakeLists.txt
    A mlir/lib/Interfaces/SubsetInsertionOpInterface.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][Interfaces][NFC] Move `SubsetInsertionOpInterface` to `mlir/Interfaces` (#70615)

`SubsetInsertionOpInterface` is an interface for ops that insert into a
destination tensor at a subset. It is currently used by the
bufferization framework to support efficient
`tensor.extract_slice/insert_slice` bufferization and to drive "empty
tensor elimination".

This commit moves the interface to `mlir/Interfaces`. This is in
preparation of adding a new "loop-invariant subset hoisting"
transformation to
`mlir/Transforms/Utils/LoopInvariantCodeMotionUtils.cpp`, which will
utilize `SubsetInsertionOpInterface`. (This new transform is roughly
what `Linalg/Transforms/SubsetHoisting.cpp` is doing, but in a generic
and interface-driven way.)




More information about the All-commits mailing list