[all-commits] [llvm/llvm-project] 5cde5a: [mlir] add interchange, pad and scalarize to struc...

ftynse via All-commits all-commits at lists.llvm.org
Mon May 30 02:42:54 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5cde5a5739069a4be7f86a17bd20cc6e8f2daf68
      https://github.com/llvm/llvm-project/commit/5cde5a5739069a4be7f86a17bd20cc6e8f2daf68
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2022-05-30 (Mon, 30 May 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    A mlir/test/Dialect/Linalg/transform-op-interchange.mlir
    A mlir/test/Dialect/Linalg/transform-op-pad.mlir
    A mlir/test/Dialect/Linalg/transform-op-scalarize.mlir
    A mlir/test/Dialect/Linalg/transform-op-tile.mlir
    A mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
    M mlir/test/Dialect/Linalg/transform-ops.mlir

  Log Message:
  -----------
  [mlir] add interchange, pad and scalarize to structured transform dialect

Add ops to the structured transform extension of the transform dialect that
perform interchange, padding and scalarization on structured ops. Along with
tiling that is already defined, this provides a minimal set of transformations
necessary to build vectorizable code for a single structured op.

Define two helper traits: one that implements TransformOpInterface by applying
a function to each payload op independently and another that provides a simple
"functional-style" producer/consumer list of memory effects for the transform
ops.

Reviewed By: nicolasvasilache

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




More information about the All-commits mailing list