diff options
author | Eugene Zhulenev <ezhulenev@google.com> | 2020-11-24 03:17:33 -0800 |
---|---|---|
committer | Eugene Zhulenev <ezhulenev@google.com> | 2020-11-24 03:53:13 -0800 |
commit | 3d95d1b477dee6c1a01f6802527b60ba74271ed5 (patch) | |
tree | 1b3bbfa82e2e025aa78edf75e5da2c052ab8656c /llvm/lib/Object/XCOFFObjectFile.cpp | |
parent | 02fdbc3567249471349474c70828cb5a5d4881c8 (diff) | |
download | llvm-3d95d1b477dee6c1a01f6802527b60ba74271ed5.zip llvm-3d95d1b477dee6c1a01f6802527b60ba74271ed5.tar.gz llvm-3d95d1b477dee6c1a01f6802527b60ba74271ed5.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/Object/XCOFFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions