[all-commits] [llvm/llvm-project] e65a5e: [mlir][Linalg] Fuse sequence of Linalg operation (...

MaheshRavishankar via All-commits all-commits at lists.llvm.org
Mon Nov 23 10:35:50 PST 2020


  Branch: refs/heads/temp-test-main
  Home:   https://github.com/llvm/llvm-project
  Commit: e65a5e5b00a37700a79e0a9f2fb1c1e60a2584bf
      https://github.com/llvm/llvm-project/commit/e65a5e5b00a37700a79e0a9f2fb1c1e60a2584bf
  Author: MaheshRavishankar <ravishankarm at google.com>
  Date:   2020-11-23 (Mon, 23 Nov 2020)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/test/Dialect/Linalg/fusion-pattern.mlir
    A mlir/test/Dialect/Linalg/fusion-sequence.mlir
    M mlir/test/lib/Transforms/TestLinalgFusionTransforms.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir][Linalg] Fuse sequence of Linalg operation (on buffers)

Enhance the tile+fuse logic to allow fusing a sequence of operations.

Make sure the value used to obtain tile shape is a
SubViewOp/SubTensorOp. Current logic used to get the bounds of loop
depends on the use of `getOrCreateRange` method on `SubViewOp` and
`SubTensorOp`. Make sure that the value/dim used to compute the range
is from such ops.  This fix is a reasonable WAR, but a btter fix would
be to make `getOrCreateRange` method be a method of `ViewInterface`.

Differential Revision: https://reviews.llvm.org/D90991




More information about the All-commits mailing list