This is an archive of the discontinued LLVM Phabricator instance.

[mlir] Implement lowering to LLVM of async.execute ops with token dependencies
ClosedPublic

Authored by ezhulenev on Oct 22 2020, 6:40 AM.

Details

Summary

Add support for lowering async.execute operations with token dependencies

Example:

%dep = ... : !async.token
%token = async.execute[%dep] {
...
}

Token dependencies lowered to async.await operations inside the outline coroutine body.

Diff Detail

Event Timeline

ezhulenev created this revision.Oct 22 2020, 6:40 AM
Herald added a project: Restricted Project. · View Herald Transcript
ezhulenev requested review of this revision.Oct 22 2020, 6:40 AM
ezhulenev edited the summary of this revision. (Show Details)Oct 22 2020, 6:42 AM
ezhulenev edited reviewers, added: herhut, mehdi_amini; removed: ftynse.
ftynse accepted this revision.Oct 29 2020, 8:33 AM
This revision is now accepted and ready to land.Oct 29 2020, 8:33 AM
herhut accepted this revision.Oct 29 2020, 9:13 AM

Nice!

mehdi_amini accepted this revision.Oct 29 2020, 10:12 PM
mehdi_amini added inline comments.
mlir/test/Conversion/AsyncToLLVM/convert-to-llvm.mlir
141

Nit: please use CHECK-LABEL for splitting functions, it ensures that captures from SSA value above can't be accidentally reused below

ezhulenev updated this revision to Diff 301864.Oct 30 2020, 5:20 AM
ezhulenev marked an inline comment as done.

Use CHECK-LABEL to match function