@@ -187,7 +187,7 @@ define void @my_async_function_pa(i8* %ctxt, %async.task* %task, %async.actor* %
187
187
i32 128 ; Initial async context size without space for frame
188
188
}>
189
189
190
- define swiftcc void @my_async_function2 (%async.task* %task , %async.actor* %actor , i8* %async.ctxt ) {
190
+ define swiftcc void @my_async_function2 (%async.task* %task , %async.actor* %actor , i8* %async.ctxt ) "frame-pointer" = "all" {
191
191
entry:
192
192
193
193
%id = call token @llvm.coro.id.async (i32 128 , i32 16 , i32 2 , i8* bitcast (<{i32 , i32 }>* @my_async_function2_fp to i8* ))
@@ -239,7 +239,8 @@ entry:
239
239
unreachable
240
240
}
241
241
242
- ; CHECK-LABEL: define swiftcc void @my_async_function2(%async.task* %task, %async.actor* %actor, i8* %async.ctxt) {
242
+ ; CHECK-LABEL: define swiftcc void @my_async_function2(%async.task* %task, %async.actor* %actor, i8* %async.ctxt)
243
+ ; CHECK-SAME: #[[FRAMEPOINTER:[0-9]+]]
243
244
; CHECK: store i8* %async.ctxt,
244
245
; CHECK: store %async.actor* %actor,
245
246
; CHECK: store %async.task* %task,
@@ -250,7 +251,8 @@ entry:
250
251
; CHECK: tail call swiftcc void @asyncSuspend(i8* [[CALLEE_CTXT]], %async.task* %task, %async.actor* %actor)
251
252
; CHECK: ret void
252
253
253
- ; CHECK-LABEL: define internal swiftcc void @my_async_function2.resume.0(i8* %0, i8* nocapture readnone %1, i8* nocapture readonly %2) {
254
+ ; CHECK-LABEL: define internal swiftcc void @my_async_function2.resume.0(i8* %0, i8* nocapture readnone %1, i8* nocapture readonly %2)
255
+ ; CHECK-SAME: #[[FRAMEPOINTER]]
254
256
; CHECK: [[CALLEE_CTXT_ADDR:%.*]] = bitcast i8* %2 to i8**
255
257
; CHECK: [[CALLEE_CTXT:%.*]] = load i8*, i8** [[CALLEE_CTXT_ADDR]]
256
258
; CHECK: [[CALLEE_CTXT_SPILL_ADDR:%.*]] = getelementptr inbounds i8, i8* [[CALLEE_CTXT]], i64 152
@@ -260,7 +262,8 @@ entry:
260
262
; CHECK: tail call swiftcc void @asyncSuspend(i8* [[CALLEE_CTXT_RELOAD]]
261
263
; CHECK: ret void
262
264
263
- ; CHECK-LABEL: define internal swiftcc void @my_async_function2.resume.1(i8* nocapture readonly %0, i8* %1, i8* nocapture readnone %2) {
265
+ ; CHECK-LABEL: define internal swiftcc void @my_async_function2.resume.1(i8* nocapture readonly %0, i8* %1, i8* nocapture readnone %2)
266
+ ; CHECK-SAME: #[[FRAMEPOINTER]]
264
267
; CHECK: bitcast i8* %0 to i8**
265
268
; CHECK: [[ACTOR_ARG:%.*]] = bitcast i8* %1
266
269
; CHECK: tail call swiftcc void @asyncReturn({{.*}}[[ACTOR_ARG]])
0 commit comments