@@ -342,6 +342,45 @@ public func varSimpleTestVar() async {
342
342
// This is the continuation block
343
343
// CHECK-LABEL: define internal swifttailcc void @"$s27move_function_dbginfo_async20letArgCCFlowTrueTestyyxnYalFTQ4_"(
344
344
// CHECK: call void @llvm.dbg.value(metadata %swift.opaque* undef, metadata !{{.*}}, metadata !DIExpression(DW_OP_deref)),
345
+
346
+ // DWARF: DW_TAG_subprogram
347
+ // DWARF: DW_AT_linkage_name ("$s3out20letArgCCFlowTrueTestyyxnYalF")
348
+ // DWARF: DW_AT_name ("letArgCCFlowTrueTest")
349
+
350
+ // DWARF: DW_TAG_formal_parameter
351
+ // DWARF-NEXT: DW_AT_location (DW_OP_entry_value([[ASYNC_REG]]), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x8, DW_OP_deref)
352
+ // DWARF-NEXT: DW_AT_name ("msg")
353
+ //
354
+ // DWARF: DW_AT_linkage_name ("$s3out20letArgCCFlowTrueTestyyxnYalFTQ0_")
355
+ // DWARF-NEXT: DW_AT_name ("letArgCCFlowTrueTest")
356
+ // DWARF: DW_TAG_formal_parameter
357
+ // DWARF-NEXT: DW_AT_location (DW_OP_entry_value([[ASYNC_REG]]), DW_OP_deref, DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x8, DW_OP_deref)
358
+ // DWARF-NEXT: DW_AT_name ("msg")
359
+ //
360
+ // DWARF: DW_AT_linkage_name ("$s3out20letArgCCFlowTrueTestyyxnYalFTY1_")
361
+ // DWARF-NEXT: DW_AT_name ("letArgCCFlowTrueTest")
362
+ // DWARF: DW_TAG_formal_parameter
363
+ // DWARF-NEXT: DW_AT_location (0x{{[a-f0-9]+}}:
364
+ // DWARF-NEXT: [0x{{[a-f0-9]+}}, 0x{{[a-f0-9]+}}): DW_OP_entry_value([[ASYNC_REG]]), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x8, DW_OP_deref
365
+ // DWARF-NEXT: [0x{{[a-f0-9]+}}, 0x{{[a-f0-9]+}}): DW_OP_entry_value([[ASYNC_REG]]), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x8, DW_OP_deref)
366
+ // DWARF-NEXT: DW_AT_name ("msg")
367
+ //
368
+ // DWARF: DW_AT_linkage_name ("$s3out20letArgCCFlowTrueTestyyxnYalFTQ2_")
369
+ // DWARF-NEXT: DW_AT_name ("letArgCCFlowTrueTest")
370
+ // DWARF: DW_TAG_formal_parameter
371
+ // DWARF-NEXT: DW_AT_name ("msg")
372
+ //
373
+ // DWARF: DW_AT_linkage_name ("$s3out20letArgCCFlowTrueTestyyxnYalFTQ3_")
374
+ // DWARF-NEXT: DW_AT_name ("letArgCCFlowTrueTest")
375
+ // DWARF: DW_TAG_formal_parameter
376
+ // DWARF-NEXT: DW_AT_location (0x{{[a-f0-9]+}}:
377
+ // DWARF-NEXT: [0x{{[a-f0-9]+}}, 0x{{[a-f0-9]+}}): DW_OP_entry_value([[ASYNC_REG]]), DW_OP_deref, DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x8, DW_OP_deref)
378
+ // DWARF-NEXT: DW_AT_name ("msg")
379
+ //
380
+ // DWARF: DW_AT_linkage_name ("$s3out20letArgCCFlowTrueTestyyxnYalFTQ4_")
381
+ // DWARF-NEXT: DW_AT_name ("letArgCCFlowTrueTest")
382
+ // DWARF: DW_TAG_formal_parameter
383
+ // DWARF-NEXT: DW_AT_name ("msg")
345
384
public func letArgCCFlowTrueTest< T> ( _ msg: __owned T) async {
346
385
await forceSplit1 ( )
347
386
if trueValue {
@@ -441,6 +480,58 @@ public func letArgCCFlowTrueTest<T>(_ msg: __owned T) async {
441
480
// CHECK: musttail call swifttailcc void %{{[0-9]+}}(%swift.context* swiftasync
442
481
// CHECK-NEXT: ret void,
443
482
// CHECK-NEXT: }
483
+
484
+ // DWARF: DW_AT_linkage_name ("$s3out20varArgCCFlowTrueTestyyxzYaAA1PRzlF")
485
+ // DWARF: DW_AT_name ("varArgCCFlowTrueTest")
486
+ // DWARF: DW_TAG_formal_parameter
487
+ // DWARF-NEXT: DW_AT_location (DW_OP_entry_value([[ASYNC_REG]]), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x30, DW_OP_deref)
488
+ // DWARF-NEXT: DW_AT_name ("msg")
489
+ //
490
+ // DWARF: DW_AT_linkage_name ("$s3out20varArgCCFlowTrueTestyyxzYaAA1PRzlFTQ0_")
491
+ // DWARF-NEXT: DW_AT_name ("varArgCCFlowTrueTest")
492
+ // DWARF: DW_TAG_formal_parameter
493
+ // DWARF-NEXT: DW_AT_location (DW_OP_entry_value([[ASYNC_REG]]), DW_OP_deref, DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x30, DW_OP_deref)
494
+ // DWARF-NEXT: DW_AT_name ("msg")
495
+ //
496
+ // DWARF: DW_AT_linkage_name ("$s3out20varArgCCFlowTrueTestyyxzYaAA1PRzlFTY1_")
497
+ // DWARF-NEXT: DW_AT_name ("varArgCCFlowTrueTest")
498
+ // DWARF: DW_TAG_formal_parameter
499
+ // DWARF-NEXT: DW_AT_location (0x{{[a-f0-9]+}}:
500
+ // DWARF-NEXT: [0x{{[a-f0-9]+}}, 0x{{[a-f0-9]+}}): DW_OP_entry_value([[ASYNC_REG]]), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x30, DW_OP_deref
501
+ // DWARF-NEXT: [0x{{[a-f0-9]+}}, 0x{{[a-f0-9]+}}): DW_OP_entry_value([[ASYNC_REG]]), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x30, DW_OP_deref)
502
+ // DWARF-NEXT: DW_AT_name ("msg")
503
+ //
504
+ // DWARF: DW_AT_linkage_name ("$s3out20varArgCCFlowTrueTestyyxzYaAA1PRzlFTQ2_")
505
+ // DWARF-NEXT: DW_AT_name ("varArgCCFlowTrueTest")
506
+ // DWARF: DW_TAG_formal_parameter
507
+ // DWARF-NEXT: DW_AT_name ("msg")
508
+ //
509
+ // DWARF: DW_AT_linkage_name ("$s3out20varArgCCFlowTrueTestyyxzYaAA1PRzlFTY3_")
510
+ // DWARF-NEXT: DW_AT_name ("varArgCCFlowTrueTest")
511
+ // DWARF: DW_TAG_formal_parameter
512
+ // DWARF-NEXT: DW_AT_location (0x{{[a-f0-9]+}}:
513
+ // DWARF-NEXT: [0x{{[a-f0-9]+}}, 0x{{[a-f0-9]+}}): DW_OP_entry_value([[ASYNC_REG]]), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x30, DW_OP_deref)
514
+ // DWARF-NEXT: DW_AT_name ("msg")
515
+ //
516
+ // DWARF: DW_AT_linkage_name ("$s3out20varArgCCFlowTrueTestyyxzYaAA1PRzlFTQ4_")
517
+ // DWARF-NEXT: DW_AT_name ("varArgCCFlowTrueTest")
518
+ // DWARF: DW_TAG_formal_parameter
519
+ // DWARF-NEXT: DW_AT_location (0x{{[a-f0-9]+}}:
520
+ // DWARF-NEXT: [0x{{[a-f0-9]+}}, 0x{{[a-f0-9]+}}): DW_OP_entry_value([[ASYNC_REG]]), DW_OP_deref, DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x30, DW_OP_deref)
521
+ // DWARF-NEXT: DW_AT_name ("msg")
522
+ //
523
+ // DWARF: DW_AT_linkage_name ("$s3out20varArgCCFlowTrueTestyyxzYaAA1PRzlFTY5_")
524
+ // DWARF-NEXT: DW_AT_name ("varArgCCFlowTrueTest")
525
+ // DWARF: DW_TAG_formal_parameter
526
+ // DWARF-NEXT: DW_AT_location (0x{{[a-f0-9]+}}:
527
+ // DWARF-NEXT: [0x{{[a-f0-9]+}}, 0x{{[a-f0-9]+}}): DW_OP_entry_value([[ASYNC_REG]]), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x30, DW_OP_deref)
528
+ // DWARF-NEXT: DW_AT_name ("msg")
529
+ //
530
+ // DWARF: DW_AT_linkage_name ("$s3out20varArgCCFlowTrueTestyyxzYaAA1PRzlFTQ6_")
531
+ // DWARF-NEXT: DW_AT_name ("varArgCCFlowTrueTest")
532
+ // DWARF: DW_TAG_formal_parameter
533
+ // DWARF-NEXT: DW_AT_location (DW_OP_entry_value([[ASYNC_REG]]), DW_OP_deref, DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x30, DW_OP_deref)
534
+ // DWARF-NEXT: DW_AT_name ("msg")
444
535
public func varArgCCFlowTrueTest< T : P > ( _ msg: inout T ) async {
445
536
await forceSplit1 ( )
446
537
if trueValue {
0 commit comments