Lines Matching refs:async

1 // RUN: mlir-opt %s -split-input-file -async-to-async-runtime -convert-async-to-llvm | FileCheck %s
4 func.func @reference_counting(%arg0: !async.token) {
7 async.runtime.add_ref %arg0 {count = 2 : i64} : !async.token
11 async.runtime.drop_ref %arg0 {count = 1 : i64} : !async.token
21 %token = async.execute {
24 async.yield
32 async.await %token : !async.token
36 // Function outlined from the async.execute operation.
44 // Pass a suspended coroutine to the async runtime.
76 %token0 = async.execute {
79 %token1 = async.execute {
82 async.yield
84 async.await %token1 : !async.token
87 async.yield
94 async.await %token0 : !async.token
98 // Function outlined from the inner async.execute operation.
109 // Function outlined from the outer async.execute operation.
134 %token = async.execute {
137 async.yield
140 %token_0 = async.execute [%token] {
143 async.yield
148 // Function outlined from the first async.execute operation.
158 // Function outlined from the second async.execute operation with dependency.
183 %0 = async.create_group %c : !async.group
186 %token = async.execute { async.yield }
188 async.add_to_group %token, %0 : !async.token
191 async.execute {
192 async.await_all %0
193 async.yield
197 async.await_all %0
202 // Function outlined from the async.execute operation.
224 %token, %result = async.execute -> !async.value<f32> {
226 async.yield %c0 : f32
231 %0 = async.await %result : !async.value<f32>
236 // Function outlined from the async.execute operation.
260 %token, %result = async.execute -> !async.value<f32> {
262 async.yield %c0 : f32
266 %token0 = async.execute(%result as %value: !async.value<f32>) {
268 async.yield
272 async.await %token0 : !async.token
277 // Function outlined from the first async.execute operation.
280 // Function outlined from the second async.execute operation.
289 // Suspend coroutine second time waiting for the async operand.