@@ -342,6 +342,45 @@ public func varSimpleTestVar() async {
342342// This is the continuation block
343343// CHECK-LABEL: define internal swifttailcc void @"$s27move_function_dbginfo_async20letArgCCFlowTrueTestyyxnYalFTQ4_"(
344344// 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")
345384public func letArgCCFlowTrueTest< T> ( _ msg: __owned T) async {
346385 await forceSplit1 ( )
347386 if trueValue {
@@ -441,6 +480,58 @@ public func letArgCCFlowTrueTest<T>(_ msg: __owned T) async {
441480// CHECK: musttail call swifttailcc void %{{[0-9]+}}(%swift.context* swiftasync
442481// CHECK-NEXT: ret void,
443482// 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")
444535public func varArgCCFlowTrueTest< T : P > ( _ msg: inout T ) async {
445536 await forceSplit1 ( )
446537 if trueValue {
0 commit comments