[all-commits] [llvm/llvm-project] 03e3ce: [mlir][Transforms] Fix crash in `reconcile-unreali...

Matthias Springer via All-commits all-commits at lists.llvm.org
Fri Sep 12 06:33:04 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 03e3ce82b926a4c138e6e0bacfcd1d5572c3e380
      https://github.com/llvm/llvm-project/commit/03e3ce82b926a4c138e6e0bacfcd1d5572c3e380
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-09-12 (Fri, 12 Sep 2025)

  Changed paths:
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/ReconcileUnrealizedCasts/reconcile-unrealized-casts.mlir
    M mlir/test/Integration/Dialect/MemRef/assume-alignment-runtime-verification.mlir
    M mlir/test/Integration/Dialect/MemRef/atomic-rmw-runtime-verification.mlir
    M mlir/test/Integration/Dialect/MemRef/store-runtime-verification.mlir

  Log Message:
  -----------
  [mlir][Transforms] Fix crash in `reconcile-unrealized-casts` (#158067)

The `reconcile-unrealized-casts` pass used to crash when the input
contains circular chains of `unrealized_conversion_cast` ops.

Furthermore, the `reconcileUnrealizedCasts` helper functions used to
erase ops that were not passed via the `castOps` operand. Such ops are
now preserved. That's why some integration tests had to be changed.

Also avoid copying the set of all unresolved materializations in
`convertOperations`.

This commit is in preparation of turning `RewriterBase::replaceOp` into
a non-virtual function.

---------

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>



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