[mlir] Async: lowering async.value to LLVM

Authored by ezhulenev on Dec 24 2020, 5:08 AM.


[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