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

ftynse via All-commits all-commits at lists.llvm.org
Tue Apr 14 00:43:21 PDT 2026


  Branch: refs/heads/users/ftynse/transform-normalized-type
  Home:   https://github.com/llvm/llvm-project
  Commit: d68e5e9610136d4aa870dc2fc782481d879abb15
      https://github.com/llvm/llvm-project/commit/d68e5e9610136d4aa870dc2fc782481d879abb15
  Author: Alex Zinenko <git at ozinenko.com>
  Date:   2026-04-14 (Tue, 14 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