[all-commits] [llvm/llvm-project] c6a892: [mlir][SMT] restore custom builder for forall/exis...

Maksim Levental via All-commits all-commits at lists.llvm.org
Sat Apr 12 09:33:01 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c6a892e0ed82a378ad1a69905f70700bf57c68cf
      https://github.com/llvm/llvm-project/commit/c6a892e0ed82a378ad1a69905f70700bf57c68cf
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-04-12 (Sat, 12 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
    M mlir/lib/Dialect/SMT/IR/SMTOps.cpp
    M mlir/unittests/Dialect/SMT/CMakeLists.txt
    A mlir/unittests/Dialect/SMT/QuantifierTest.cpp

  Log Message:
  -----------
  [mlir][SMT] restore custom builder for forall/exists (#135470)

This reverts commit 54e70ac7650f1c22f687937d1a082e4152f97b22 which
itself fixed an [asan
leak](https://lab.llvm.org/buildbot/#/builders/55/builds/9761) from the
original upstreaming commit. The leak was due to op allocations not
being `free`ed.

~~The necessary change was to explicitly `->destroy()` the ops at the
end of the tests. I believe this is because the rewriter used in the
tests doesn't actually insert them into a module and so without an
explicit `->destroy()` no bookkeeping process is able to take care of
them.~~

The necessary change was to use `OwningOpRef` which calls `op->erase()`
in its [own
destructor](https://github.com/makslevental/llvm-project/blob/89cfae41ecc043f8c47be4dea4b7c740d4f950b3/mlir/include/mlir/IR/OwningOpRef.h#L39).



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