SuccessChanges

Summary

  1. [mlir] Async: lowering async.value to LLVM (details)
  2. [mlir] Async: add support for lowering async value operands to LLVM (details)
Commit 621ad468d99d4013a4298465f02707a5e9e89cae by ezhulenev
[mlir] Async: lowering async.value to LLVM

1. Add new methods to Async runtime API to support yielding async values
2. Add lowering from `async.yield` with value payload to the new runtime API calls

`async.value` lowering requires that payload type is convertible to LLVM and supported by `llvm.mlir.cast` (DialectCast) operation.

Reviewed By: csigg

Differential Revision: https://reviews.llvm.org/D93592
The file was modifiedmlir/lib/ExecutionEngine/AsyncRuntime.cpp
The file was addedmlir/test/mlir-cpu-runner/async-value.mlir
The file was modifiedmlir/test/Conversion/AsyncToLLVM/convert-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
The file was modifiedmlir/include/mlir/ExecutionEngine/AsyncRuntime.h
The file was modifiedmlir/lib/Conversion/AsyncToLLVM/CMakeLists.txt
Commit 61422c8b661c506b25b5ac705cdbb2265af120d1 by ezhulenev
[mlir] Async: add support for lowering async value operands to LLVM

Depends On D93592

Add support for `async.execute` async value unwrapping operands:

```
%token = async.execute(%async_value as %unwrapped : !async.value<!my.type>) {
  ...
  async.yield
}
```

Reviewed By: csigg

Differential Revision: https://reviews.llvm.org/D93598
The file was modifiedmlir/test/Conversion/AsyncToLLVM/convert-to-llvm.mlir
The file was modifiedmlir/test/mlir-cpu-runner/async-value.mlir
The file was modifiedmlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp