[all-commits] [llvm/llvm-project] 6db928: [mlir][linalg] Fusion on tensors.

Tobias Gysi via All-commits all-commits at lists.llvm.org
Mon Sep 20 07:46:14 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6db928b8f31b17caf205eee9c95bb817e51a3f2c
      https://github.com/llvm/llvm-project/commit/6db928b8f31b17caf205eee9c95bb817e51a3f2c
  Author: Tobias Gysi <gysit at google.com>
  Date:   2021-09-20 (Mon, 20 Sep 2021)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Passes.h
    M mlir/include/mlir/Dialect/Linalg/Passes.td
    M mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
    A mlir/test/Dialect/Linalg/tile-and-fuse-on-tensors.mlir

  Log Message:
  -----------
  [mlir][linalg] Fusion on tensors.

Add a new version of fusion on tensors that supports the following scenarios:
- support input and output operand fusion
- fuse a producer result passed in via tile loop iteration arguments (update the tile loop iteration arguments)
- supports only linalg operations on tensors
- supports only scf::for
- cannot add an output to the tile loop nest

The LinalgTileAndFuseOnTensors pass tiles the root operation and fuses its producers.

Reviewed By: nicolasvasilache, mravishankar

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




More information about the All-commits mailing list