[all-commits] [llvm/llvm-project] d7d67e: [mlir][Transforms] Add a PadTilingInterface transf...

Nicolas Vasilache via All-commits all-commits at lists.llvm.org
Fri Jun 20 05:42:52 PDT 2025


  Branch: refs/heads/users/nico/revisit-pad
  Home:   https://github.com/llvm/llvm-project
  Commit: d7d67e9f9b5641f14894bd64540cef678771613d
      https://github.com/llvm/llvm-project/commit/d7d67e9f9b5641f14894bd64540cef678771613d
  Author: Nicolas Vasilache <nico.vasilache at amd.com>
  Date:   2025-06-20 (Fri, 20 Jun 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
    A mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface.mlir

  Log Message:
  -----------
  [mlir][Transforms] Add a PadTilingInterface transformation and hook it up to the transform dialect

This revision revisits the padding transformation from first principles and prepares it to work more generally with TilingInterface.

Compared to structured.transform.pad it has the following differences:
  - no support for nofold, copy-back, transpose and hoisting: these have been carried by the padding op in the very early days of StructuredOps
    and have since then been separated out as independent transformations that compose.
  - no conflated static bounding box derivation attempts: pad_tiling_interface composes more naturally with or without tiling.
  - properly derives padding size on outputs where multiple dimensions contribute: this is not supported in structured.transform.pad
  - geared towards supporting TilingInterface once the proper control mechanisms are supported through a PadSizeComputationFunction (supports LinalgOp by default)

This will gradually replace structured.transform.pad as it is fleshed out and tested more comprehensively.


  Commit: 5cad7b5842fdd47bf6c3509c2d6e7579d9f1f75e
      https://github.com/llvm/llvm-project/commit/5cad7b5842fdd47bf6c3509c2d6e7579d9f1f75e
  Author: Nicolas Vasilache <nico.vasilache at amd.com>
  Date:   2025-06-20 (Fri, 20 Jun 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    A mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface-multiple-of.mlir
    M mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface.mlir

  Log Message:
  -----------
  Address review and add more tests


  Commit: b748d0b931c2bc6733dc4c26e1904e9544e4383b
      https://github.com/llvm/llvm-project/commit/b748d0b931c2bc6733dc4c26e1904e9544e4383b
  Author: Nicolas Vasilache <nico.vasilache at amd.com>
  Date:   2025-06-20 (Fri, 20 Jun 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp

  Log Message:
  -----------
  [mlir][transform] NFC - extract a minimal DomainAndOperandsAffineMapTransferInterface out of LinalgStructuredInterface and use that for PadTilingInterface


Compare: https://github.com/llvm/llvm-project/compare/d7d67e9f9b56%5E...b748d0b931c2

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list