[all-commits] [llvm/llvm-project] 3d95d1: [mlir] AsyncRuntime: fix concurrency bugs + fix ex...

Eugene Zhulenev via All-commits all-commits at lists.llvm.org
Tue Nov 24 03:53:32 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 3d95d1b477dee6c1a01f6802527b60ba74271ed5
      https://github.com/llvm/llvm-project/commit/3d95d1b477dee6c1a01f6802527b60ba74271ed5
  Author: Eugene Zhulenev <ezhulenev at google.com>
  Date:   2020-11-24 (Tue, 24 Nov 2020)

  Changed paths:
    M mlir/lib/ExecutionEngine/AsyncRuntime.cpp

  Log Message:
  -----------
  [mlir] AsyncRuntime: fix concurrency bugs + fix exports in methods definitions

1. Move ThreadPool ownership to the runtime, and wait for the async tasks completion in the destructor.
2. Remove MLIR_ASYNCRUNTIME_EXPORT from method definitions because they are unnecessary in .cpp files, as only function declarations need to be exported, not their definitions.
3. Fix concurrency bugs in group emplace and potential use-after-free in token emplace.

Tested internally 10k runs in `async.mlir` and `async-group.mlir`.

Fixed: https://bugs.llvm.org/show_bug.cgi?id=48267

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D91988




More information about the All-commits mailing list