[all-commits] [llvm/llvm-project] 3b99e7: [MLIR][Linalg] Remove unary named ops (#220905)

Renato Golin via All-commits all-commits at lists.llvm.org
Thu Sep 10 01:27:20 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3b99e79991bede38fb18e0169df3009ce30e0c1d
      https://github.com/llvm/llvm-project/commit/3b99e79991bede38fb18e0169df3009ce30e0c1d
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CategoryToNamedOp.cpp
    M mlir/lib/Dialect/Linalg/Transforms/NamedToElementwise.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Bufferization/canonicalize.mlir
    M mlir/test/Dialect/Linalg/elementwise/named-to-elementwise.mlir
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    R mlir/test/Dialect/Linalg/linalg-morph-category-ops.mlir
    M mlir/test/Dialect/Linalg/linalg-morph-elementwise-to-named.mlir
    M mlir/test/Dialect/Linalg/linalg-morph-multi-step.mlir
    M mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
    M mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
    M mlir/test/Dialect/Linalg/scalable-unpack-producer-fusion.mlir
    M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
    M mlir/test/Dialect/Linalg/transform-op-generalize.mlir
    R mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-unary.mlir
    M mlir/test/Dialect/SCF/canonicalize.mlir
    M mlir/test/Dialect/SCF/parallel-loop-unroll.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer-using-slices.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
    M mlir/test/python/dialects/linalg/opdsl/test_core_named_ops.py

  Log Message:
  -----------
  [MLIR][Linalg] Remove unary named ops (#220905)

Remove ops, change tests to elementwise to continue working as is.

Ref:

https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531

Assisted by: Claude Opus


  Commit: 70f5696eaf0280812fb4e3888875538634d806f1
      https://github.com/llvm/llvm-project/commit/70f5696eaf0280812fb4e3888875538634d806f1
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/lib/Dialect/Linalg/Transforms/CategoryToNamedOp.cpp
    M mlir/lib/Dialect/Linalg/Transforms/FoldAddIntoDest.cpp
    M mlir/lib/Dialect/Linalg/Transforms/NamedToElementwise.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Arith/sharding-propagation.mlir
    M mlir/test/Dialect/Linalg/block-pack-matmul.mlir
    M mlir/test/Dialect/Linalg/decompose-generic-by-unfolding-projected-permutation.mlir
    M mlir/test/Dialect/Linalg/elementwise/named-to-elementwise.mlir
    M mlir/test/Dialect/Linalg/fold-add-into-dest.mlir
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/Dialect/Linalg/linalg-morph-elementwise-to-named.mlir
    R mlir/test/Dialect/Linalg/linalg-morph-multi-step.mlir
    M mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/Dialect/Linalg/reshape_fusion.mlir
    M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
    M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
    M mlir/test/Dialect/Linalg/transform-op-rewrite-in-destination-passing-style.mlir
    M mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-binary.mlir
    M mlir/test/Dialect/SparseTensor/encoding_with_symbols.mlir
    M mlir/test/Dialect/SparseTensor/external_after_codegen.mlir
    M mlir/test/Dialect/Transform/test-promote-tensors.mlir
    M mlir/test/Interfaces/TilingInterface/query-fusability.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer-using-slices.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
    M mlir/test/Interfaces/TilingInterface/tile-fuse-and-yield-using-interface.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Remove binary named ops (#220912)

Remove ops, change tests to elementwise to continue working as is.

Depends on the unary removal branch. #220905 

Ref:

https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531

Assisted by: Claude Opus


  Commit: 80164074c01fead28cbf013861eeab23d277bbaf
      https://github.com/llvm/llvm-project/commit/80164074c01fead28cbf013861eeab23d277bbaf
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Linalg/Transforms/CategoryToNamedOp.cpp
    M mlir/lib/Dialect/Linalg/Transforms/MorphOps.cpp
    R mlir/lib/Dialect/Linalg/Transforms/NamedToElementwise.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Linalg/decompose-generic-by-unfolding-projected-permutation.mlir
    R mlir/test/Dialect/Linalg/elementwise/named-to-elementwise.mlir
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/linalg-morph-elementwise-to-named.mlir
    R mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
    M mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-binary.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Remove Linalg named ops (#220916)

Removes the named ops from the Linalg dialect.

I have also updated the ElementwiseOp builder to simplify the default
case: kind + no affine map.

Depends on both unary and binary removal branches. #220905 #220912

This PR also has the final cleanup, which turned out to be simple
enough.

Ref:

https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531

Assisted by: Claude Opus


Compare: https://github.com/llvm/llvm-project/compare/51daef2bd9d2...80164074c01f

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