[Mlir-commits] [mlir] Added free-threading CPython mode support in MLIR Python bindings (PR #107103)

Peter Hawkins llvmlistbot at llvm.org
Tue Jan 7 08:19:51 PST 2025


================
@@ -26,6 +26,8 @@ class PyExecutionEngine {
     other.executionEngine.ptr = nullptr;
   }
   ~PyExecutionEngine() {
+    // Avoid races in llvm::orc::LLJIT::deinitialize
----------------
hawkinsp wrote:

Hmm. I think this "race" is actually a false positive.

`registerEHFrames` ultimately calls `__register_frame` from `libgcc`. I believe the `__register_frame` from `libgcc` is thread safe via locking, if built with threading enabled. But we didn't instrument `libgcc` with tsan instrumentation, so it's not surprising that tsan doesn't propagate happens-before information through it.

I think I might revert this change and add a tsan suppression.

https://github.com/llvm/llvm-project/pull/107103


More information about the Mlir-commits mailing list