[all-commits] [llvm/llvm-project] 3747eb: [mlir][Linalg] Add a padding option to Linalg tiling

Nicolas Vasilache via All-commits all-commits at lists.llvm.org
Mon Jan 25 01:26:17 PST 2021


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 3747eb9c85b3393aa00ad12e9e7ef31ffec8bd4c
      https://github.com/llvm/llvm-project/commit/3747eb9c85b3393aa00ad12e9e7ef31ffec8bd4c
  Author: Nicolas Vasilache <nicolas.vasilache at gmail.com>
  Date:   2021-01-25 (Mon, 25 Jan 2021)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Interfaces/ViewLikeInterface.h
    M mlir/include/mlir/Interfaces/ViewLikeInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/StandardOps/IR/Ops.cpp
    M mlir/test/Dialect/Linalg/roundtrip.mlir
    A mlir/test/Dialect/Linalg/tile-and-pad-tensors.mlir
    M mlir/test/lib/Transforms/TestLinalgTransforms.cpp

  Log Message:
  -----------
  [mlir][Linalg] Add a padding option to Linalg tiling

This revision allows the base Linalg tiling pattern to optionally require padding to
a constant bounding shape.
When requested, a simple analysis is performed, similar to buffer promotion.
A temporary `linalg.simple_pad` op is added to model padding for the purpose of
connecting the dots. This will be replaced by a more fleshed out `linalg.pad_tensor`
op when it is available.
In the meantime, this temporary op serves the purpose of exhibiting the necessary
properties required from a more fleshed out pad op, to compose with transformations
properly.

Reviewed By: ftynse

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




More information about the All-commits mailing list