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

Nicolas Vasilache via All-commits all-commits at lists.llvm.org
Fri Jun 20 03:32:07 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 00c18d04ab6341022867d3b6674ec3ab30e5de2c
      https://github.com/llvm/llvm-project/commit/00c18d04ab6341022867d3b6674ec3ab30e5de2c
  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-multiple-of.mlir
    A mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface.mlir

  Log Message:
  -----------
  [mlir][Transforms] Add a PadTilingInterface transformation and hook i… (#144991)

…t 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.

In the future this should be moved out of a specific Linalg
implementation file and into a more general "Structured" file.



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