89
89
store i8* %async.ctxt , i8** %callee_context.caller_context.addr
90
90
%resume_proj_fun = bitcast i8* (i8* )* @resume_context_projection to i8*
91
91
%callee = bitcast void (i8* , %async.task* , %async.actor* )* @asyncSuspend to i8*
92
- %res = call {i8* , i8* , i8* } (i8* , i8* , ...) @llvm.coro.suspend.async (
92
+ %res = call {i8* , i8* , i8* } (i32 , i8* , i8* , ...) @llvm.coro.suspend.async (i32 0 ,
93
93
i8* %resume.func_ptr ,
94
94
i8* %resume_proj_fun ,
95
95
void (i8* , i8* , %async.task* , %async.actor* )* @my_async_function.my_other_async_function_fp.apply ,
@@ -206,7 +206,7 @@ entry:
206
206
store i8* %async.ctxt , i8** %callee_context.caller_context.addr
207
207
%resume_proj_fun = bitcast i8* (i8* )* @resume_context_projection to i8*
208
208
%callee = bitcast void (i8* , %async.task* , %async.actor* )* @asyncSuspend to i8*
209
- %res = call {i8* , i8* , i8* } (i8* , i8* , ...) @llvm.coro.suspend.async (
209
+ %res = call {i8* , i8* , i8* } (i32 , i8* , i8* , ...) @llvm.coro.suspend.async (i32 2 ,
210
210
i8* %resume.func_ptr ,
211
211
i8* %resume_proj_fun ,
212
212
void (i8* , i8* , %async.task* , %async.actor* )* @my_async_function.my_other_async_function_fp.apply ,
@@ -224,7 +224,7 @@ entry:
224
224
store i8* %async.ctxt , i8** %callee_context.caller_context.addr.1
225
225
%resume_proj_fun.2 = bitcast i8* (i8* )* @resume_context_projection to i8*
226
226
%callee.2 = bitcast void (i8* , %async.task* , %async.actor* )* @asyncSuspend to i8*
227
- %res.2 = call {i8* , i8* , i8* } (i8* , i8* , ...) @llvm.coro.suspend.async (
227
+ %res.2 = call {i8* , i8* , i8* } (i32 , i8* , i8* , ...) @llvm.coro.suspend.async (i32 0 ,
228
228
i8* %resume.func_ptr.1 ,
229
229
i8* %resume_proj_fun.2 ,
230
230
void (i8* , i8* , %async.task* , %async.actor* )* @my_async_function.my_other_async_function_fp.apply ,
@@ -260,8 +260,8 @@ entry:
260
260
; CHECK: tail call swiftcc void @asyncSuspend(i8* [[CALLEE_CTXT_RELOAD]]
261
261
; CHECK: ret void
262
262
263
- ; CHECK-LABEL: define internal swiftcc void @my_async_function2.resume.1(i8* nocapture readnone %0, i8* %1, i8* nocapture readonly %2) {
264
- ; CHECK: bitcast i8* %2 to i8**
263
+ ; CHECK-LABEL: define internal swiftcc void @my_async_function2.resume.1(i8* nocapture readonly %0, i8* %1, i8* nocapture readnone %2) {
264
+ ; CHECK: bitcast i8* %0 to i8**
265
265
; CHECK: [[ACTOR_ARG:%.*]] = bitcast i8* %1
266
266
; CHECK: tail call swiftcc void @asyncReturn({{.*}}[[ACTOR_ARG]])
267
267
; CHECK: ret void
@@ -320,7 +320,7 @@ entry:
320
320
store i8* %async.ctxt , i8** %callee_context.caller_context.addr
321
321
%resume_proj_fun = bitcast i8* (i8* )* @resume_context_projection to i8*
322
322
%callee = bitcast void (i8* , %async.task* , %async.actor* )* @asyncSuspend to i8*
323
- %res = call {i8* , i8* , i8* } (i8* , i8* , ...) @llvm.coro.suspend.async (
323
+ %res = call {i8* , i8* , i8* } (i32 , i8* , i8* , ...) @llvm.coro.suspend.async (i32 0 ,
324
324
i8* %resume.func_ptr ,
325
325
i8* %resume_proj_fun ,
326
326
void (i8* , i8* , %async.task* , %async.actor* )* @dont_crash_on_cf_dispatch ,
@@ -366,7 +366,7 @@ entry:
366
366
store i8* %async.ctxt , i8** %callee_context.caller_context.addr
367
367
%resume_proj_fun = bitcast i8* (i8* )* @resume_context_projection to i8*
368
368
%callee = bitcast void (i8* , %async.task* , %async.actor* )* @asyncSuspend to i8*
369
- %res = call {i8* , i8* , i8* } (i8* , i8* , ...) @llvm.coro.suspend.async (
369
+ %res = call {i8* , i8* , i8* } (i32 , i8* , i8* , ...) @llvm.coro.suspend.async (i32 0 ,
370
370
i8* %resume.func_ptr ,
371
371
i8* %resume_proj_fun ,
372
372
void (i8* , i8* , %async.task* , %async.actor* )* @dont_crash_on_cf_dispatch ,
@@ -439,11 +439,12 @@ entry:
439
439
store i8* %async.ctxt , i8** %callee_context.caller_context.addr
440
440
%resume_proj_fun = bitcast i8* (i8* )* @resume_context_projection to i8*
441
441
%callee = bitcast void (i8* , %async.task* , %async.actor* )* @asyncSuspend to i8*
442
- %res = call {i8* , i8* , i8* , i8* } (i8* , i8* , ...) @llvm.coro.suspend.async.sl_p0i8p0i8p0i8p0i8s (
443
- i8* %resume.func_ptr ,
444
- i8* %resume_proj_fun ,
445
- void (i8* , i8* , %async.task* , %async.actor* )* @my_async_function.my_other_async_function_fp.apply ,
446
- i8* %callee , i8* %callee_context , %async.task* %task , %async.actor * %actor )
442
+ %res = call {i8* , i8* , i8* , i8* } (i32 , i8* , i8* , ...)
443
+ @llvm.coro.suspend.async.sl_p0i8p0i8p0i8p0i8s (i32 0 ,
444
+ i8* %resume.func_ptr ,
445
+ i8* %resume_proj_fun ,
446
+ void (i8* , i8* , %async.task* , %async.actor* )* @my_async_function.my_other_async_function_fp.apply ,
447
+ i8* %callee , i8* %callee_context , %async.task* %task , %async.actor * %actor )
447
448
448
449
call void @llvm.coro.async.context.dealloc (i8* %callee_context )
449
450
%continuation_task_arg = extractvalue {i8* , i8* , i8* , i8* } %res , 3
@@ -517,13 +518,13 @@ entry:
517
518
; CHECK: store i64* null, i64** [[ALLOCA]]
518
519
; CHECK: call void @do_with_swifterror(i64** {{.*}}swifterror{{.*}} [[ALLOCA]])
519
520
520
- declare { i8* , i8* , i8* , i8* } @llvm.coro.suspend.async.sl_p0i8p0i8p0i8p0i8s (i8* , i8* , ...)
521
+ declare { i8* , i8* , i8* , i8* } @llvm.coro.suspend.async.sl_p0i8p0i8p0i8p0i8s (i32 , i8* , i8* , ...)
521
522
declare i8* @llvm.coro.prepare.async (i8* )
522
523
declare token @llvm.coro.id.async (i32 , i32 , i32 , i8* )
523
524
declare i8* @llvm.coro.begin (token, i8* )
524
525
declare i1 @llvm.coro.end.async (i8* , i1 , ...)
525
526
declare i1 @llvm.coro.end (i8* , i1 )
526
- declare {i8* , i8* , i8* } @llvm.coro.suspend.async (i8* , i8* , ...)
527
+ declare {i8* , i8* , i8* } @llvm.coro.suspend.async (i32 , i8* , i8* , ...)
527
528
declare i8* @llvm.coro.async.context.alloc (i8* , i8* )
528
529
declare void @llvm.coro.async.context.dealloc (i8* )
529
530
declare swiftcc void @asyncReturn (i8* , %async.task* , %async.actor* )
0 commit comments