Page MenuHomePhabricator

[mlir] Async: lowering async.value to LLVM
ClosedPublic

Authored by ezhulenev on Dec 20 2020, 3:38 AM.

Details

Summary
  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.

Diff Detail

Event Timeline

ezhulenev created this revision.Dec 20 2020, 3:38 AM
ezhulenev requested review of this revision.Dec 20 2020, 3:38 AM
ezhulenev edited the summary of this revision. (Show Details)Dec 20 2020, 3:41 AM
ezhulenev added a reviewer: mehdi_amini.
ezhulenev added a reviewer: csigg.
csigg accepted this revision.Dec 21 2020, 1:34 AM
csigg added inline comments.
mlir/include/mlir/ExecutionEngine/AsyncRuntime.h
75

Typo.

77

Could you document this parameter?

mlir/lib/ExecutionEngine/AsyncRuntime.cpp
134

Could you add brief comments what AsyncTokens/Values/Groups are?

This revision is now accepted and ready to land.Dec 21 2020, 1:34 AM
ezhulenev updated this revision to Diff 313042.Dec 21 2020, 2:06 AM
ezhulenev marked 3 inline comments as done.

Add documentation

ezhulenev updated this revision to Diff 313044.Dec 21 2020, 2:08 AM

Fix style warnings

ezhulenev updated this revision to Diff 313688.Dec 24 2020, 5:08 AM

Add missing targets to CMakeLists

This revision was automatically updated to reflect the committed changes.