[all-commits] [llvm/llvm-project] 67f4c2: [mlir] transform dialect; add pre/post-condition type

ftynse via All-commits all-commits at lists.llvm.org
Mon Apr 13 06:36:07 PDT 2026


  Branch: refs/heads/users/ftynse/transform-normalized-type
  Home:   https://github.com/llvm/llvm-project
  Commit: 67f4c2d941470aa2b53c5963ea2c9b351def9148
      https://github.com/llvm/llvm-project/commit/67f4c2d941470aa2b53c5963ea2c9b351def9148
  Author: Alex Zinenko <git at ozinenko.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformTypes.td
    M mlir/include/mlir/Dialect/Transform/Interfaces/CMakeLists.txt
    M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
    M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.td
    M mlir/lib/Dialect/Transform/IR/TransformAttrs.cpp
    M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
    M mlir/lib/Dialect/Transform/IR/TransformTypes.cpp
    M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
    A mlir/test/Dialect/Transform/normal-forms.mlir
    M mlir/test/Dialect/Transform/ops-invalid.mlir
    M mlir/test/lib/Dialect/Transform/CMakeLists.txt
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.h
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td

  Log Message:
  -----------
  [mlir] transform dialect; add pre/post-condition type

Add a transform dialect type denoting additional invariants on payload
IR usable for pre/post-conditions of a transformation. The invariants
are defined as a list of attributes in the type parameter, where the
attribute implements the interface for invariant-checking. This allows
clients to factor out, explicify and deduplicate precondition
verification logic.

This required adding support for Transform dialect extensions injecting
attributes into the dialects similarly to how they already do this for
operations and types.

Co-authored-by: Tim Gymnich <tim at gymni.ch>
Co-authored-by: Martin Lücke <martin.luecke at amd.com>
Assisted-by: Claude Opus 4.3 / Cursor



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