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.
Paths
| Differential D89958
[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 TimelineHerald added subscribers: stephenneuendorffer, nicolasvasilache. · View Herald TranscriptOct 22 2020, 6:40 AM ezhulenev added a child revision: D89963: [mlir] Transform scf.parallel to scf.for + async.execute.Oct 22 2020, 7:25 AM This revision is now accepted and ready to land.Oct 29 2020, 8:33 AM mehdi_amini added inline comments.
Closed by commit rGf507aa17b791: [mlir] Implement lowering to LLVM of async.execute ops with token dependencies (authored by ezhulenev). · Explain WhyOct 30 2020, 5:59 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 301869 mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
mlir/test/Conversion/AsyncToLLVM/convert-to-llvm.mlir
mlir/test/mlir-cpu-runner/async.mlir
|
Nit: please use CHECK-LABEL for splitting functions, it ensures that captures from SSA value above can't be accidentally reused below