[all-commits] [llvm/llvm-project] 92f7e8: [mlir][Linalg] Implement padding for linalg.conv a...

hanhanW via All-commits all-commits at lists.llvm.org
Fri Mar 13 14:37:17 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 92f7e8133ae98e1f300bad164c4099b2e609bae7
      https://github.com/llvm/llvm-project/commit/92f7e8133ae98e1f300bad164c4099b2e609bae7
  Author: Hanhan Wang <hanchung at google.com>
  Date:   2020-03-13 (Fri, 13 Mar 2020)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.h
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp
    M mlir/lib/Dialect/Linalg/Transforms/LinalgTransforms.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/test/Dialect/Linalg/loops.mlir
    M mlir/test/Dialect/Linalg/roundtrip.mlir

  Log Message:
  -----------
  [mlir][Linalg] Implement padding for linalg.conv and lowering to loops.

Summary:
To enable this, two changes are needed:
1) Add an optional attribute `padding` to linalg.conv.
2) Compute if the indices accessing is out of bound in the loops. If so, use the
padding value `0`. Otherwise, use the value derived from load.

In the patch, the padding only works for lowering without other transformations,
e.g., tiling, fusion, etc.

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




More information about the All-commits mailing list