Author: Eugene Zhulenev Date: 2020-12-16T11:05:21-08:00 New Revision: 11f1027b4d8d851c94497330bb901bd5753188f3
URL: https://github.com/llvm/llvm-project/commit/11f1027b4d8d851c94497330bb901bd5753188f3 DIFF: https://github.com/llvm/llvm-project/commit/11f1027b4d8d851c94497330bb901bd5753188f3.diff LOG: [mlir] AsyncRuntime: mode runtime declarations to mlir::runtime namespace Define Async runtime related typedefs in the `mlir::runtime` namespace. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D93391 Added: Modified: mlir/include/mlir/ExecutionEngine/AsyncRuntime.h mlir/lib/ExecutionEngine/AsyncRuntime.cpp Removed: ################################################################################ diff --git a/mlir/include/mlir/ExecutionEngine/AsyncRuntime.h b/mlir/include/mlir/ExecutionEngine/AsyncRuntime.h index 54724af4133d..e3d90198f36c 100644 --- a/mlir/include/mlir/ExecutionEngine/AsyncRuntime.h +++ b/mlir/include/mlir/ExecutionEngine/AsyncRuntime.h @@ -32,6 +32,9 @@ #define MLIR_ASYNCRUNTIME_DEFINE_FUNCTIONS #endif // _WIN32 +namespace mlir { +namespace runtime { + //===----------------------------------------------------------------------===// // Async runtime API. //===----------------------------------------------------------------------===// @@ -102,4 +105,7 @@ mlirAsyncRuntimeAwaitAllInGroupAndExecute(AsyncGroup *, CoroHandle, CoroResume); extern "C" MLIR_ASYNCRUNTIME_EXPORT void mlirAsyncRuntimePrintCurrentThreadId(); +} // namespace runtime +} // namespace mlir + #endif // MLIR_EXECUTIONENGINE_ASYNCRUNTIME_H_ diff --git a/mlir/lib/ExecutionEngine/AsyncRuntime.cpp b/mlir/lib/ExecutionEngine/AsyncRuntime.cpp index 3b90b9c694f3..3bfed86aa996 100644 --- a/mlir/lib/ExecutionEngine/AsyncRuntime.cpp +++ b/mlir/lib/ExecutionEngine/AsyncRuntime.cpp @@ -24,10 +24,14 @@ #include <thread> #include <vector> +using namespace mlir::runtime; + //===----------------------------------------------------------------------===// // Async runtime API. //===----------------------------------------------------------------------===// +namespace mlir { +namespace runtime { namespace { // Forward declare class defined below. @@ -66,12 +70,6 @@ class AsyncRuntime { std::atomic<int32_t> numRefCountedObjects; }; -// Returns the default per-process instance of an async runtime. -AsyncRuntime *getDefaultAsyncRuntimeInstance() { - static auto runtime = std::make_unique<AsyncRuntime>(); - return runtime.get(); -} - // -------------------------------------------------------------------------- // // A base class for all reference counted objects created by the async runtime. // -------------------------------------------------------------------------- // @@ -110,6 +108,12 @@ class RefCounted { } // namespace +// Returns the default per-process instance of an async runtime. +static AsyncRuntime *getDefaultAsyncRuntimeInstance() { + static auto runtime = std::make_unique<AsyncRuntime>(); + return runtime.get(); +} + struct AsyncToken : public RefCounted { // AsyncToken created with a reference count of 2 because it will be returned // to the `async.execute` caller and also will be later on emplaced by the @@ -140,6 +144,9 @@ struct AsyncGroup : public RefCounted { std::vector<std::function<void()>> awaiters; }; +} // namespace runtime +} // namespace mlir + // Adds references to reference counted runtime object. extern "C" void mlirAsyncRuntimeAddRef(RefCountedObjPtr ptr, int32_t count) { RefCounted *refCounted = static_cast<RefCounted *>(ptr); _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits