diff --git a/mlir/include/mlir/ExecutionEngine/AsyncRuntime.h b/mlir/include/mlir/ExecutionEngine/AsyncRuntime.h --- a/mlir/include/mlir/ExecutionEngine/AsyncRuntime.h +++ b/mlir/include/mlir/ExecutionEngine/AsyncRuntime.h @@ -14,6 +14,7 @@ #ifndef MLIR_EXECUTIONENGINE_ASYNCRUNTIME_H_ #define MLIR_EXECUTIONENGINE_ASYNCRUNTIME_H_ +#include #include #ifdef mlir_async_runtime_EXPORTS @@ -38,7 +39,7 @@ using AsyncValue = struct AsyncValue; // Async value payload stored in a memory owned by the async.value. -using ValueStorage = void *; +using ValueStorage = std::byte *; // Async runtime uses LLVM coroutines to represent asynchronous tasks. Task // function is a coroutine handle and a resume function that continue coroutine diff --git a/mlir/lib/ExecutionEngine/AsyncRuntime.cpp b/mlir/lib/ExecutionEngine/AsyncRuntime.cpp --- a/mlir/lib/ExecutionEngine/AsyncRuntime.cpp +++ b/mlir/lib/ExecutionEngine/AsyncRuntime.cpp @@ -199,7 +199,7 @@ std::atomic state; // Use vector of bytes to store async value payload. - std::vector storage; + std::vector storage; // Pending awaiters are guarded by a mutex. std::mutex mu;