| /llvm-project-15.0.7/mlir/test/Dialect/Async/ |
| H A D | ops.mlir | 4 func.func @identity_token(%arg0: !async.token) -> !async.token { 28 // CHECK: async.execute -> !async.value<f32> 41 // CHECK: async.execute -> !async.value<f32> 52 %token, %results:2 = async.execute -> (!async.value<f32>, !async.value<f32>) { 75 // CHECK: async.execute (%arg0 as %arg1: !async.value<f32>) -> !async.value<f32> 102 %token2 = async.execute -> () { async.yield } 104 %token3 = async.execute () { async.yield } 106 %token4 = async.execute [] { async.yield } 113 async.await %arg0 : !async.token 120 %0 = async.await %arg0 : !async.value<f32> [all …]
|
| H A D | runtime.mlir | 5 // CHECK: %0 = async.runtime.create : !async.token 6 %0 = async.runtime.create : !async.token 13 // CHECK: %0 = async.runtime.create : !async.value<f32> 14 %0 = async.runtime.create : !async.value<f32> 24 %0 = async.runtime.create_group %c : !async.group 32 async.runtime.set_available %arg0 : !async.token 46 async.runtime.set_error %arg0 : !async.token 60 %0 = async.runtime.is_error %arg0 : !async.token 81 async.runtime.await %arg0 : !async.token 88 async.runtime.await %arg0 : !async.value<f32> [all …]
|
| H A D | async-to-async-runtime-eliminate-blocking.mlir | 18 %1 = async.runtime.create: !async.value<f32> 20 async.runtime.store %0, %1: !async.value<f32> 22 async.runtime.set_available %1: !async.value<f32> 28 %2 = async.await %1 : !async.value<f32> 184 async.await %arg : !async.token 191 %r = async.runtime.create : !async.token 193 async.runtime.set_available %r: !async.token 230 async.await %arg : !async.token 237 %r = async.runtime.create : !async.token 276 async.await %arg : !async.token [all …]
|
| H A D | async-runtime-ref-counting.mlir | 23 %0 = async.runtime.create : !async.token 47 %0 = async.runtime.create : !async.token 68 async.runtime.await %arg0 : !async.token 75 %token = async.runtime.create : !async.token 84 %token = async.runtime.create : !async.token 103 %token = async.runtime.create : !async.token 124 %token = async.runtime.create : !async.token 152 %0 = async.runtime.create : !async.token 208 async.runtime.await %token : !async.token 228 async.runtime.await %token : !async.token [all …]
|
| H A D | async-runtime-ref-counting-opt.mlir | 9 async.runtime.add_ref %arg0 {count = 1 : i64} : !async.token 10 async.runtime.drop_ref %arg0 {count = 1 : i64} : !async.token 18 async.runtime.add_ref %arg0 {count = 1 : i64} : !async.token 22 async.runtime.drop_ref %arg0 {count = 1 : i64} : !async.token 33 async.runtime.add_ref %arg0 {count = 1 : i64} : !async.token 34 async.runtime.await %arg0 : !async.token 36 async.runtime.await %arg0 : !async.token 37 async.runtime.add_ref %arg0 {count = 1 : i64} : !async.token 38 async.runtime.await %arg0 : !async.token 52 async.runtime.await %arg0 : !async.token [all …]
|
| H A D | async-to-async-runtime.mlir | 11 async.await %token : !async.token 57 async.await %token1 : !async.token 68 async.await %token0 : !async.token 189 %0 = async.create_group %c : !async.group 192 %token = async.execute { async.yield } 293 async.await %token0 : !async.token 341 async.await %token : !async.token 388 %token0 = async.execute { async.yield } 391 async.await %token0 : !async.token 393 async.await %token0 : !async.token [all …]
|
| H A D | async-runtime-policy-based-ref-counting.mlir | 4 // CHECK: %[[TOKEN:.*]]: !async.token 5 func.func @token_await(%arg0: !async.token) { 6 // CHECK: async.runtime.await %[[TOKEN]] 7 // CHECK-NOT: async.runtime.drop_ref 8 async.runtime.await %arg0 : !async.token 16 // CHECK-NOT: async.runtime.drop_ref 17 async.runtime.await %arg0 : !async.group 24 func.func @add_token_to_group(%arg0: !async.group, %arg1: !async.token) { 27 async.runtime.add_to_group %arg1, %arg0 : !async.token 36 %0 = async.runtime.load %arg0 : !async.value<f32> [all …]
|
| H A D | coro.mlir | 5 // CHECK: %0 = async.coro.id 7 %0 = async.coro.id 8 return %0 : !async.coro.id 12 func.func @coro_handle(%arg0: !async.coro.id) -> !async.coro.handle { 15 %0 = async.coro.begin %arg0 16 return %0 : !async.coro.handle 20 func.func @coro_free(%arg0: !async.coro.id, %arg1: !async.coro.handle) { 22 async.coro.free %arg0, %arg1 29 async.coro.end %arg0 34 func.func @coro_save(%arg0: !async.coro.handle) -> !async.coro.state { [all …]
|
| /llvm-project-15.0.7/mlir/test/mlir-cpu-runner/ |
| H A D | async-error.mlir | 18 async.runtime.await %token0 : !async.token 21 %err0 = async.runtime.is_error %token0 : !async.token 31 async.runtime.await %token1 : !async.token 34 %err1 = async.runtime.is_error %token1 : !async.token 45 async.await %token : !async.token 48 async.runtime.await %token2 : !async.token 63 %ret = async.await %value : !async.value<f32> 66 async.runtime.await %token3 : !async.token 67 async.runtime.await %value3 : !async.value<f32> 81 %group0 = async.create_group %c2 : !async.group [all …]
|
| H A D | async-group.mlir | 1 …-opt %s -pass-pipeline="async-to-async-runtime,func.func(async-runtime-ref-counting,async-runtime-… 20 %group = async.create_group %c5 : !async.group 22 %token0 = async.execute { async.yield } 23 %token1 = async.execute { async.yield } 24 %token2 = async.execute { async.yield } 25 %token3 = async.execute { async.yield } 26 %token4 = async.execute { async.yield } 28 %0 = async.add_to_group %token0, %group : !async.token 29 %1 = async.add_to_group %token1, %group : !async.token 30 %2 = async.add_to_group %token2, %group : !async.token [all …]
|
| H A D | async-value.mlir | 12 // Blocking async.await outside of the async.execute. 14 %token, %result = async.execute -> !async.value<f32> { 18 %1 = async.await %result : !async.value<f32> 24 // Non-blocking async.await inside the async.execute 26 %token0, %result0 = async.execute -> !async.value<f32> { 27 %token1, %result2 = async.execute -> !async.value<f32> { 31 %3 = async.await %result2 : !async.value<f32> 34 %4 = async.await %result0 : !async.value<f32> 48 %6 = async.await %result2 : !async.value<memref<f32>> 63 async.yield [all …]
|
| /llvm-project-15.0.7/mlir/test/Dialect/GPU/ |
| H A D | async-region.mlir | 57 async.await %a1 : !async.token 75 async.await %a : !async.token 102 async.await %a1 : !async.token 109 // CHECK-SAME: -> (!async.value<index>, !async.value<!gpu.async.token>) 119 // CHECK: async.await %[[a0]] : !async.token 120 // CHECK: %[[t:.*]] = async.await %[[f0]]#1 : !async.value<!gpu.async.token> 122 async.await %a0 : !async.token 124 %x = async.await %f0 : !async.value<index> 145 // CHECK-SAME: -> (!async.value<!gpu.async.token>, !async.value<!gpu.async.token>) 151 // CHECK: async.yield %[[t]], %[[t]] : !gpu.async.token, !gpu.async.token [all …]
|
| /llvm-project-15.0.7/mlir/test/Conversion/AsyncToLLVM/ |
| H A D | convert-runtime-to-llvm.mlir | 6 %0 = async.runtime.create : !async.token 17 %0 = async.runtime.create : !async.value<f32> 34 %0 = async.runtime.create : !async.token 36 async.runtime.set_available %0 : !async.token 43 %0 = async.runtime.create : !async.value<f32> 52 %0 = async.runtime.create : !async.token 70 %0 = async.runtime.create : !async.token 72 async.runtime.await %0 : !async.token 81 async.runtime.await %0 : !async.value<f32> 91 async.runtime.await %0 : !async.group [all …]
|
| H A D | convert-to-llvm.mlir | 1 // RUN: mlir-opt %s -split-input-file -async-to-async-runtime -convert-async-to-llvm | FileCheck %s 7 async.runtime.add_ref %arg0 {count = 2 : i64} : !async.token 24 async.yield 32 async.await %token : !async.token 84 async.await %token1 : !async.token 94 async.await %token0 : !async.token 183 %0 = async.create_group %c : !async.group 186 %token = async.execute { async.yield } 188 async.add_to_group %token, %0 : !async.token 232 %0 = async.await %result : !async.value<f32> [all …]
|
| /llvm-project-15.0.7/llvm/test/Transforms/Coroutines/ |
| H A D | coro-async.ll | 9 %async.ctxt = type { i8*, void (i8*, %async.task*, %async.actor*)* } 11 ; The async callee. 18 ; size needed for the async context of the current async function. 42 tail call swiftcc void %callee(i8* %async.ctxt, %async.task* %task, %async.actor* %actor) 114 tail call swiftcc void @asyncReturn(i8* %async.ctxt, %async.task* %task.2, %async.actor* %actor) 254 tail call swiftcc void @asyncReturn(i8* %async.ctxt, %async.task* %task.2, %async.actor* %actor.2) 324 tail call swiftcc void %callee(i8* %async.ctxt, %async.task* %task, %async.actor* %actor) 354 tail call swiftcc void @asyncReturn(i8* %async.ctxt, %async.task* %task.2, %async.actor* %actor) 404 tail call swiftcc void @asyncReturn(i8* %async.ctxt, %async.task* %task.2, %async.actor* %actor) 412 i8* %async.ctxt, %async.task* %task.2, %async.actor* null) [all …]
|
| H A D | coro-async-unreachable.ll | 5 %async.task = type { i64 } 6 %async.actor = type { i64 } 7 %async.fp = type <{ i32, i32 }> 9 %async.ctxt = type { i8*, void (i8*, %async.task*, %async.actor*)* } 11 ; The async callee. 16 …nction.my_other_async_function_fp.apply(i8* %fnPtr, i8* %async.ctxt, %async.task* %task, %async.ac… 17 %callee = bitcast i8* %fnPtr to void(i8*, %async.task*, %async.actor*)* 18 tail call swiftcc void %callee(i8* %async.ctxt, %async.task* %task, %async.actor* %actor) 43 define swiftcc void @unreachable(i8* %async.ctxt, %async.task* %task, %async.actor* %actor) { 102 declare swiftcc void @asyncReturn(i8*, %async.task*, %async.actor*) [all …]
|
| H A D | coro-async-addr-lifetime-infinite-loop-bug.ll | 5 %async.task = type { i64 } 6 %async.actor = type { i64 } 7 %async.fp = type <{ i32, i32 }> 9 %async.ctxt = type { i8*, void (i8*, %async.task*, %async.actor*)* } 11 ; The async callee. 13 declare void @my_other_async_function(i8* %async.ctxt) 16 <{ i32 trunc ( ; Relative pointer to async function 27 tail call swiftcc void %callee(i8* %async.ctxt) 77 declare i8* @llvm.coro.prepare.async(i8*) 80 declare i1 @llvm.coro.end.async(i8*, i1, ...) [all …]
|
| H A D | coro-async-addr-lifetime-start-bug.ll | 5 %async.task = type { i64 } 6 %async.actor = type { i64 } 7 %async.fp = type <{ i32, i32 }> 9 %async.ctxt = type { i8*, void (i8*, %async.task*, %async.actor*)* } 11 ; The async callee. 13 declare void @my_other_async_function(i8* %async.ctxt) 16 <{ i32 trunc ( ; Relative pointer to async function 27 tail call swiftcc void %callee(i8* %async.ctxt) 101 declare i8* @llvm.coro.prepare.async(i8*) 104 declare i1 @llvm.coro.end.async(i8*, i1, ...) [all …]
|
| H A D | coro-async-dyn-align.ll | 5 %async.task = type { i64 } 6 %async.actor = type { i64 } 7 %async.fp = type <{ i32, i32 }> 9 %async.ctxt = type { i8*, void (i8*)* } 12 declare void @my_other_async_function(i8* %async.ctxt) 25 declare i8* @llvm.coro.async.context.alloc(i8*, i8*) 26 declare void @llvm.coro.async.context.dealloc(i8*) 27 declare i8* @llvm.coro.async.resume() 30 declare i1 @llvm.coro.end.async(i8*, i1, ...) 38 tail call swiftcc void %callee(i8* %async.ctxt) [all …]
|
| /llvm-project-15.0.7/llvm/test/CodeGen/NVPTX/ |
| H A D | async-copy.ll | 6 declare void @llvm.nvvm.cp.async.wait.group(i32) 10 ; ALL: cp.async.wait_group 8; 11 tail call void @llvm.nvvm.cp.async.wait.group(i32 8) 12 ; ALL: cp.async.wait_group 0; 14 ; ALL: cp.async.wait_group 16; 19 declare void @llvm.nvvm.cp.async.wait.all() 23 ; ALL: cp.async.wait_all 24 tail call void @llvm.nvvm.cp.async.wait.all() 28 declare void @llvm.nvvm.cp.async.commit.group() 32 ; ALL: cp.async.commit_group [all …]
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/Async/ |
| H A D | Passes.td | 20 Option<"asyncDispatch", "async-dispatch", 38 "async::AsyncDialect", 43 def AsyncToAsyncRuntime : Pass<"async-to-async-runtime", "ModuleOp"> { 44 let summary = "Lower high level async operations (e.g. async.execute) to the" 45 "explicit async.runtime and async.coro operations"; 54 let dependentDialects = ["async::AsyncDialect"]; 61 `async.execute` and `async.await` operations are lowered to the async 86 `async.execute` and `async.await` operations are lowered to the async 99 1. After `async.runtime.await` operation for async tokens and groups 101 2. After `async.runtime.is_error` operation for async tokens and groups [all …]
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/Async/IR/ |
| H A D | AsyncOps.td | 50 (`async.token` or `async.value`). 52 `async.execute` operation takes `async.token` dependencies and `async.value` 127 async.await %0 : !async.token 130 %2 = async.await %1 : !async.value<f32> 188 The `async.add_to_group` adds an async token or value to the async group. 195 %0 = async.create_group %size : !async.group 197 %2 = async.add_to_group %1, %0 : !async.token 218 %0 = async.create_group %size : !async.group 221 %2 = async.add_to_group %1, %0 : !async.token 224 %4 = async.add_to_group %2, %0 : !async.token [all …]
|
| /llvm-project-15.0.7/mlir/test/Integration/GPU/CUDA/ |
| H A D | async.mlir | 4 // RUN: -gpu-async-region -gpu-to-llvm \ 5 // RUN: -async-to-async-runtime -async-runtime-ref-counting \ 29 %t0, %f0 = async.execute () -> !async.value<memref<?xi32>> { 32 async.yield %b0 : memref<?xi32> 36 %t1, %f1 = async.execute [%t0] ( 41 async.yield %b1 : memref<?xi32> 43 %t2, %f2 = async.execute [%t0] ( 48 async.yield %b2 : memref<?xi32> 52 %t3 = async.execute [%t1, %t2] ( 64 async.yield [all …]
|
| /llvm-project-15.0.7/lldb/unittests/Process/gdb-remote/ |
| H A D | GDBRemoteCommunicationClientTest.cpp | 77 std::future<bool> write_result = std::async(std::launch::async, [&] { in TEST_F() 86 write_result = std::async(std::launch::async, [&] { in TEST_F() 106 write_result = std::async(std::launch::async, [&] { in TEST_F() 131 read_result = std::async(std::launch::async, in TEST_F() 152 async_result = std::async(std::launch::async, [&] { in TEST_F() 182 std::async(std::launch::async, in TEST_F() 208 std::async(std::launch::async, in TEST_F() 255 std::async(std::launch::async, in TEST_F() 315 result = std::async(std::launch::async, [&] { in TEST_F() 348 result = std::async(std::launch::async, [&] { in TEST_F() [all …]
|
| /llvm-project-15.0.7/mlir/test/mlir-opt/ |
| H A D | async.mlir | 3 …-opt %s -pass-pipeline="async-to-async-runtime,func.func(async-runtime-ref-counting,async-runtime-… 32 %outer = async.execute { 37 // No op async region to create a token for testing async dependency. 38 %noop = async.execute { 40 async.yield 43 %inner = async.execute [%noop] { 48 async.yield 50 async.await %inner : !async.token 56 async.yield 58 async.await %outer : !async.token
|