Skip to content

Conversation

@Kivooeo
Copy link
Member

@Kivooeo Kivooeo commented Oct 23, 2025

This revert #143290 as per #147976 (comment)

Not sure honestly if this was a cause of regression, can we test it somehow to make sure?

r? @oli-obk

@rustbot
Copy link
Collaborator

rustbot commented Oct 23, 2025

Some changes occurred in coverage tests.

cc @Zalathar

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Oct 23, 2025
@rustbot
Copy link
Collaborator

rustbot commented Oct 23, 2025

oli-obk is not on the review rotation at the moment.
They may take a while to respond.

@theemathas theemathas added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Oct 23, 2025
@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
 ---- [codegen] tests/codegen-llvm/async-fn-debug-awaitee-field.rs#NONMSVC stdout ---- ------FileCheck stdout------------------------------ ------FileCheck stderr------------------------------ /checkout/tests/codegen-llvm/async-fn-debug-awaitee-field.rs:21:108: error: undefined variable: GEN // CHECK: [[SUSPEND_STRUCT:!.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Suspend0", scope: [[GEN]], ^ /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/async-fn-debug-awaitee-field.NONMSVC/async-fn-debug-awaitee-field.ll:57:1: note: possible intended match here !25 = !DICompositeType(tag: DW_TAG_structure_type, name: "Suspend0", scope: !11, file: !12, size: 16, align: 8, elements: !26, templateParams: !19, identifier: "43b59def9bf1466b910c926a2135cfad") ^ Input file: /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/async-fn-debug-awaitee-field.NONMSVC/async-fn-debug-awaitee-field.ll Check file: /checkout/tests/codegen-llvm/async-fn-debug-awaitee-field.rs -dump-input=help explains the following input dump. Input was: <<<<<< 1: ; ModuleID = 'async_fn_debug_awaitee_field.885dd2013f238b2f-cgu.0' check:21'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match failed for invalid pattern check:21'1 undefined variable: GEN 2: source_filename = "async_fn_debug_awaitee_field.885dd2013f238b2f-cgu.0" check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4: target triple = "aarch64-unknown-linux-gnu" check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5: check:21'0 ~ 6: ; async_fn_debug_awaitee_field::async_fn_test check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7: ; Function Attrs: uwtable check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 8: define i16 @_ZN28async_fn_debug_awaitee_field13async_fn_test17h7d5683036a38e39cE() unnamed_addr #0 !dbg !6 { check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 9: start: check:21'0 ~~~~~~~ 10: %_0 = alloca [2 x i8], align 1 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 11: store i8 0, ptr %_0, align 1, !dbg !42 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12: %0 = load i16, ptr %_0, align 1, !dbg !43 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 13: ret i16 %0, !dbg !43 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~ 14: } check:21'0 ~~ 15: check:21'0 ~ 16: ; async_fn_debug_awaitee_field::foo check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 17: ; Function Attrs: uwtable check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 18: define i8 @_ZN28async_fn_debug_awaitee_field3foo17hbddd4a089556dd04E() unnamed_addr #0 !dbg !44 { check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19: start: check:21'0 ~~~~~~~ 20: %_0 = alloca [1 x i8], align 1 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 21: store i8 0, ptr %_0, align 1, !dbg !47 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22: %0 = load i8, ptr %_0, align 1, !dbg !48 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23: ret i8 %0, !dbg !48 check:21'0 ~~~~~~~~~~~~~~~~~~~~~ 24: } check:21'0 ~~ 25: check:21'0 ~ 26: attributes #0 = { uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics" } check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27: check:21'0 ~ 28: !llvm.module.flags = !{!0, !1, !2} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29: !llvm.ident = !{!3} check:21'0 ~~~~~~~~~~~~~~~~~~~~ 30: !llvm.dbg.cu = !{!4} check:21'0 ~~~~~~~~~~~~~~~~~~~~~ 31: check:21'0 ~ 32: !0 = !{i32 8, !"PIC Level", i32 2} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 33: !1 = !{i32 7, !"Dwarf Version", i32 4} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 34: !2 = !{i32 2, !"Debug Info Version", i32 3} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 35: !3 = !{!"rustc version 1.92.0-nightly (ed877c24d 2025-10-23)"} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 36: !4 = distinct !DICompileUnit(language: DW_LANG_Rust, file: !5, producer: "clang LLVM (rustc version 1.92.0-nightly (ed877c24d 2025-10-23))", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, splitDebugInlining: false, nameTableKind: None) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 37: !5 = !DIFile(filename: "/checkout/tests/codegen-llvm/async-fn-debug-awaitee-field.rs/@/async_fn_debug_awaitee_field.885dd2013f238b2f-cgu.0", directory: "/checkout/obj") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38: !6 = distinct !DISubprogram(name: "async_fn_test", linkageName: "_ZN28async_fn_debug_awaitee_field13async_fn_test17h7d5683036a38e39cE", scope: !8, file: !7, line: 15, type: !9, scopeLine: 15, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !4, templateParams: !19) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 39: !7 = !DIFile(filename: "/checkout/tests/codegen-llvm/async-fn-debug-awaitee-field.rs", directory: "", checksumkind: CSK_MD5, checksum: "6c10b384b7f2cd2c82481233adc0abb0") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 40: !8 = !DINamespace(name: "async_fn_debug_awaitee_field", scope: null) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 41: !9 = !DISubroutineType(types: !10) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 42: !10 = !{!11} check:21'0 ~~~~~~~~~~~~~ 43: !11 = !DICompositeType(tag: DW_TAG_structure_type, name: "{async_fn_env#0}", scope: !13, file: !12, size: 16, align: 8, elements: !14, templateParams: !19, identifier: "79624d40f14e4f498cdde29845a88c04") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 44: !12 = !DIFile(filename: "<unknown>", directory: "") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 45: !13 = !DINamespace(name: "async_fn_test", scope: !8) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 46: !14 = !{!15} check:21'0 ~~~~~~~~~~~~~ 47: !15 = !DICompositeType(tag: DW_TAG_variant_part, scope: !11, file: !12, size: 16, align: 8, elements: !16, templateParams: !19, identifier: "e3e5e4cb3e361c26cfc7116dc086482c", discriminator: !41) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48: !16 = !{!17, !20, !22, !24} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49: !17 = !DIDerivedType(tag: DW_TAG_member, name: "0", scope: !15, file: !7, line: 15, baseType: !18, size: 16, align: 8, extraData: i8 0) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50: !18 = !DICompositeType(tag: DW_TAG_structure_type, name: "Unresumed", scope: !11, file: !12, size: 16, align: 8, elements: !19, identifier: "df45979978042b191ab382488a2119be") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 51: !19 = !{} check:21'0 ~~~~~~~~~~ 52: !20 = !DIDerivedType(tag: DW_TAG_member, name: "1", scope: !15, file: !7, line: 17, baseType: !21, size: 16, align: 8, extraData: i8 1) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53: !21 = !DICompositeType(tag: DW_TAG_structure_type, name: "Returned", scope: !11, file: !12, size: 16, align: 8, elements: !19, identifier: "17b067459d54010ba2a38d7beb3a4481") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 54: !22 = !DIDerivedType(tag: DW_TAG_member, name: "2", scope: !15, file: !7, line: 17, baseType: !23, size: 16, align: 8, extraData: i8 2) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55: !23 = !DICompositeType(tag: DW_TAG_structure_type, name: "Panicked", scope: !11, file: !12, size: 16, align: 8, elements: !19, identifier: "a4a140dc60964133f2c4cb30b6ecb889") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56: !24 = !DIDerivedType(tag: DW_TAG_member, name: "3", scope: !15, file: !7, line: 16, baseType: !25, size: 16, align: 8, extraData: i8 3) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57: !25 = !DICompositeType(tag: DW_TAG_structure_type, name: "Suspend0", scope: !11, file: !12, size: 16, align: 8, elements: !26, templateParams: !19, identifier: "43b59def9bf1466b910c926a2135cfad") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ check:21'2 ? possible intended match 58: !26 = !{!27} check:21'0 ~~~~~~~~~~~~~ 59: !27 = !DIDerivedType(tag: DW_TAG_member, name: "__awaitee", scope: !25, file: !12, baseType: !28, size: 8, align: 8, offset: 8) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 60: !28 = !DICompositeType(tag: DW_TAG_structure_type, name: "{async_fn_env#0}", scope: !29, file: !12, size: 8, align: 8, elements: !30, templateParams: !19, identifier: "d25135fad64cfd3c54b38a10358a4ff3") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61: !29 = !DINamespace(name: "foo", scope: !8) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 62: !30 = !{!31} check:21'0 ~~~~~~~~~~~~~ 63: !31 = !DICompositeType(tag: DW_TAG_variant_part, scope: !28, file: !12, size: 8, align: 8, elements: !32, templateParams: !19, identifier: "877f6ef13bb582b811fc855649592de5", discriminator: !39) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 64: !32 = !{!33, !35, !37} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~ 65: !33 = !DIDerivedType(tag: DW_TAG_member, name: "0", scope: !31, file: !7, line: 19, baseType: !34, size: 8, align: 8, extraData: i8 0) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66: !34 = !DICompositeType(tag: DW_TAG_structure_type, name: "Unresumed", scope: !28, file: !12, size: 8, align: 8, elements: !19, identifier: "daca6968fda5af75903f0202ba45903c") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 67: !35 = !DIDerivedType(tag: DW_TAG_member, name: "1", scope: !31, file: !7, line: 19, baseType: !36, size: 8, align: 8, extraData: i8 1) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68: !36 = !DICompositeType(tag: DW_TAG_structure_type, name: "Returned", scope: !28, file: !12, size: 8, align: 8, elements: !19, identifier: "db5c97afb70f5a1e12eb11ea575098df") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69: !37 = !DIDerivedType(tag: DW_TAG_member, name: "2", scope: !31, file: !7, line: 19, baseType: !38, size: 8, align: 8, extraData: i8 2) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 70: !38 = !DICompositeType(tag: DW_TAG_structure_type, name: "Panicked", scope: !28, file: !12, size: 8, align: 8, elements: !19, identifier: "f391247ebbd03ced3c24df7be5e2b517") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71: !39 = !DIDerivedType(tag: DW_TAG_member, name: "__state", scope: !28, file: !12, baseType: !40, size: 8, align: 8, flags: DIFlagArtificial) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72: !40 = !DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73: !41 = !DIDerivedType(tag: DW_TAG_member, name: "__state", scope: !11, file: !12, baseType: !40, size: 8, align: 8, flags: DIFlagArtificial) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 74: !42 = !DILocation(line: 15, column: 30, scope: !6) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 75: !43 = !DILocation(line: 17, column: 2, scope: !6) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 76: !44 = distinct !DISubprogram(name: "foo", linkageName: "_ZN28async_fn_debug_awaitee_field3foo17hbddd4a089556dd04E", scope: !8, file: !7, line: 19, type: !45, scopeLine: 19, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !4, templateParams: !19) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 77: !45 = !DISubroutineType(types: !46) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 78: !46 = !{!28} check:21'0 ~~~~~~~~~~~~~ 79: !47 = !DILocation(line: 19, column: 20, scope: !44) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80: !48 = !DILocation(line: 19, column: 22, scope: !44) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>>>>> ------------------------------------------ error in revision `NONMSVC`: verification with 'FileCheck' failed status: exit status: 1 command: "/usr/lib/llvm-20/bin/FileCheck" "--input-file" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/async-fn-debug-awaitee-field.NONMSVC/async-fn-debug-awaitee-field.ll" "/checkout/tests/codegen-llvm/async-fn-debug-awaitee-field.rs" "--check-prefix=CHECK" "--check-prefix" "NONMSVC" "--allow-unused-prefixes" "--dump-input-context" "100" stdout: none --- stderr ------------------------------- /checkout/tests/codegen-llvm/async-fn-debug-awaitee-field.rs:21:108: error: undefined variable: GEN // CHECK: [[SUSPEND_STRUCT:!.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Suspend0", scope: [[GEN]], ^ /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/async-fn-debug-awaitee-field.NONMSVC/async-fn-debug-awaitee-field.ll:57:1: note: possible intended match here !25 = !DICompositeType(tag: DW_TAG_structure_type, name: "Suspend0", scope: !11, file: !12, size: 16, align: 8, elements: !26, templateParams: !19, identifier: "43b59def9bf1466b910c926a2135cfad") ^ Input file: /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/async-fn-debug-awaitee-field.NONMSVC/async-fn-debug-awaitee-field.ll Check file: /checkout/tests/codegen-llvm/async-fn-debug-awaitee-field.rs -dump-input=help explains the following input dump. Input was: <<<<<< 1: ; ModuleID = 'async_fn_debug_awaitee_field.885dd2013f238b2f-cgu.0' check:21'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match failed for invalid pattern check:21'1 undefined variable: GEN 2: source_filename = "async_fn_debug_awaitee_field.885dd2013f238b2f-cgu.0" check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4: target triple = "aarch64-unknown-linux-gnu" check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5: check:21'0 ~ 6: ; async_fn_debug_awaitee_field::async_fn_test check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7: ; Function Attrs: uwtable check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 8: define i16 @_ZN28async_fn_debug_awaitee_field13async_fn_test17h7d5683036a38e39cE() unnamed_addr #0 !dbg !6 { check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 9: start: check:21'0 ~~~~~~~ 10: %_0 = alloca [2 x i8], align 1 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 11: store i8 0, ptr %_0, align 1, !dbg !42 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12: %0 = load i16, ptr %_0, align 1, !dbg !43 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 13: ret i16 %0, !dbg !43 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~ 14: } check:21'0 ~~ 15: check:21'0 ~ 16: ; async_fn_debug_awaitee_field::foo check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 17: ; Function Attrs: uwtable check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 18: define i8 @_ZN28async_fn_debug_awaitee_field3foo17hbddd4a089556dd04E() unnamed_addr #0 !dbg !44 { check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19: start: check:21'0 ~~~~~~~ 20: %_0 = alloca [1 x i8], align 1 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 21: store i8 0, ptr %_0, align 1, !dbg !47 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22: %0 = load i8, ptr %_0, align 1, !dbg !48 check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23: ret i8 %0, !dbg !48 check:21'0 ~~~~~~~~~~~~~~~~~~~~~ 24: } check:21'0 ~~ 25: check:21'0 ~ 26: attributes #0 = { uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics" } check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27: check:21'0 ~ 28: !llvm.module.flags = !{!0, !1, !2} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29: !llvm.ident = !{!3} check:21'0 ~~~~~~~~~~~~~~~~~~~~ 30: !llvm.dbg.cu = !{!4} check:21'0 ~~~~~~~~~~~~~~~~~~~~~ 31: check:21'0 ~ 32: !0 = !{i32 8, !"PIC Level", i32 2} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 33: !1 = !{i32 7, !"Dwarf Version", i32 4} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 34: !2 = !{i32 2, !"Debug Info Version", i32 3} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 35: !3 = !{!"rustc version 1.92.0-nightly (ed877c24d 2025-10-23)"} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 36: !4 = distinct !DICompileUnit(language: DW_LANG_Rust, file: !5, producer: "clang LLVM (rustc version 1.92.0-nightly (ed877c24d 2025-10-23))", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, splitDebugInlining: false, nameTableKind: None) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 37: !5 = !DIFile(filename: "/checkout/tests/codegen-llvm/async-fn-debug-awaitee-field.rs/@/async_fn_debug_awaitee_field.885dd2013f238b2f-cgu.0", directory: "/checkout/obj") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38: !6 = distinct !DISubprogram(name: "async_fn_test", linkageName: "_ZN28async_fn_debug_awaitee_field13async_fn_test17h7d5683036a38e39cE", scope: !8, file: !7, line: 15, type: !9, scopeLine: 15, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !4, templateParams: !19) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 39: !7 = !DIFile(filename: "/checkout/tests/codegen-llvm/async-fn-debug-awaitee-field.rs", directory: "", checksumkind: CSK_MD5, checksum: "6c10b384b7f2cd2c82481233adc0abb0") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 40: !8 = !DINamespace(name: "async_fn_debug_awaitee_field", scope: null) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 41: !9 = !DISubroutineType(types: !10) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 42: !10 = !{!11} check:21'0 ~~~~~~~~~~~~~ 43: !11 = !DICompositeType(tag: DW_TAG_structure_type, name: "{async_fn_env#0}", scope: !13, file: !12, size: 16, align: 8, elements: !14, templateParams: !19, identifier: "79624d40f14e4f498cdde29845a88c04") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 44: !12 = !DIFile(filename: "<unknown>", directory: "") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 45: !13 = !DINamespace(name: "async_fn_test", scope: !8) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 46: !14 = !{!15} check:21'0 ~~~~~~~~~~~~~ 47: !15 = !DICompositeType(tag: DW_TAG_variant_part, scope: !11, file: !12, size: 16, align: 8, elements: !16, templateParams: !19, identifier: "e3e5e4cb3e361c26cfc7116dc086482c", discriminator: !41) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48: !16 = !{!17, !20, !22, !24} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49: !17 = !DIDerivedType(tag: DW_TAG_member, name: "0", scope: !15, file: !7, line: 15, baseType: !18, size: 16, align: 8, extraData: i8 0) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50: !18 = !DICompositeType(tag: DW_TAG_structure_type, name: "Unresumed", scope: !11, file: !12, size: 16, align: 8, elements: !19, identifier: "df45979978042b191ab382488a2119be") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 51: !19 = !{} check:21'0 ~~~~~~~~~~ 52: !20 = !DIDerivedType(tag: DW_TAG_member, name: "1", scope: !15, file: !7, line: 17, baseType: !21, size: 16, align: 8, extraData: i8 1) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53: !21 = !DICompositeType(tag: DW_TAG_structure_type, name: "Returned", scope: !11, file: !12, size: 16, align: 8, elements: !19, identifier: "17b067459d54010ba2a38d7beb3a4481") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 54: !22 = !DIDerivedType(tag: DW_TAG_member, name: "2", scope: !15, file: !7, line: 17, baseType: !23, size: 16, align: 8, extraData: i8 2) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55: !23 = !DICompositeType(tag: DW_TAG_structure_type, name: "Panicked", scope: !11, file: !12, size: 16, align: 8, elements: !19, identifier: "a4a140dc60964133f2c4cb30b6ecb889") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56: !24 = !DIDerivedType(tag: DW_TAG_member, name: "3", scope: !15, file: !7, line: 16, baseType: !25, size: 16, align: 8, extraData: i8 3) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57: !25 = !DICompositeType(tag: DW_TAG_structure_type, name: "Suspend0", scope: !11, file: !12, size: 16, align: 8, elements: !26, templateParams: !19, identifier: "43b59def9bf1466b910c926a2135cfad") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ check:21'2 ? possible intended match 58: !26 = !{!27} check:21'0 ~~~~~~~~~~~~~ 59: !27 = !DIDerivedType(tag: DW_TAG_member, name: "__awaitee", scope: !25, file: !12, baseType: !28, size: 8, align: 8, offset: 8) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 60: !28 = !DICompositeType(tag: DW_TAG_structure_type, name: "{async_fn_env#0}", scope: !29, file: !12, size: 8, align: 8, elements: !30, templateParams: !19, identifier: "d25135fad64cfd3c54b38a10358a4ff3") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61: !29 = !DINamespace(name: "foo", scope: !8) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 62: !30 = !{!31} check:21'0 ~~~~~~~~~~~~~ 63: !31 = !DICompositeType(tag: DW_TAG_variant_part, scope: !28, file: !12, size: 8, align: 8, elements: !32, templateParams: !19, identifier: "877f6ef13bb582b811fc855649592de5", discriminator: !39) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 64: !32 = !{!33, !35, !37} check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~ 65: !33 = !DIDerivedType(tag: DW_TAG_member, name: "0", scope: !31, file: !7, line: 19, baseType: !34, size: 8, align: 8, extraData: i8 0) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66: !34 = !DICompositeType(tag: DW_TAG_structure_type, name: "Unresumed", scope: !28, file: !12, size: 8, align: 8, elements: !19, identifier: "daca6968fda5af75903f0202ba45903c") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 67: !35 = !DIDerivedType(tag: DW_TAG_member, name: "1", scope: !31, file: !7, line: 19, baseType: !36, size: 8, align: 8, extraData: i8 1) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68: !36 = !DICompositeType(tag: DW_TAG_structure_type, name: "Returned", scope: !28, file: !12, size: 8, align: 8, elements: !19, identifier: "db5c97afb70f5a1e12eb11ea575098df") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69: !37 = !DIDerivedType(tag: DW_TAG_member, name: "2", scope: !31, file: !7, line: 19, baseType: !38, size: 8, align: 8, extraData: i8 2) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 70: !38 = !DICompositeType(tag: DW_TAG_structure_type, name: "Panicked", scope: !28, file: !12, size: 8, align: 8, elements: !19, identifier: "f391247ebbd03ced3c24df7be5e2b517") check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71: !39 = !DIDerivedType(tag: DW_TAG_member, name: "__state", scope: !28, file: !12, baseType: !40, size: 8, align: 8, flags: DIFlagArtificial) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72: !40 = !DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73: !41 = !DIDerivedType(tag: DW_TAG_member, name: "__state", scope: !11, file: !12, baseType: !40, size: 8, align: 8, flags: DIFlagArtificial) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 74: !42 = !DILocation(line: 15, column: 30, scope: !6) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 75: !43 = !DILocation(line: 17, column: 2, scope: !6) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 76: !44 = distinct !DISubprogram(name: "foo", linkageName: "_ZN28async_fn_debug_awaitee_field3foo17hbddd4a089556dd04E", scope: !8, file: !7, line: 19, type: !45, scopeLine: 19, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !4, templateParams: !19) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 77: !45 = !DISubroutineType(types: !46) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 78: !46 = !{!28} check:21'0 ~~~~~~~~~~~~~ 79: !47 = !DILocation(line: 19, column: 20, scope: !44) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80: !48 = !DILocation(line: 19, column: 22, scope: !44) check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>>>>> ------------------------------------------ ---- [codegen] tests/codegen-llvm/async-fn-debug-awaitee-field.rs#NONMSVC stdout end ---- ---- [codegen] tests/codegen-llvm/cold-attribute.rs stdout ---- ------FileCheck stdout------------------------------ ------FileCheck stderr------------------------------ /checkout/tests/codegen-llvm/cold-attribute.rs:23:18: error: CHECK-LABEL: expected string not found in input // CHECK-LABEL: ; cold_attribute::async_block::{{{{closure}}}}::{{{{closure}}}} ^ /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/cold-attribute/cold-attribute.ll:13:30: note: scanning from here ; cold_attribute::async_block ^ /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/cold-attribute/cold-attribute.ll:64:1: note: possible intended match here ; cold_attribute::closure::{{closure}} ^ Input file: /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/cold-attribute/cold-attribute.ll Check file: /checkout/tests/codegen-llvm/cold-attribute.rs -dump-input=help explains the following input dump. Input was: <<<<<< 1: ; ModuleID = 'cold_attribute.42fd28ff1e94d3c2-cgu.0' 2: source_filename = "cold_attribute.42fd28ff1e94d3c2-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" 4: target triple = "aarch64-unknown-linux-gnu" 5: 6: ; cold_attribute::free_function 7: ; Function Attrs: cold uwtable 8: define void @_ZN14cold_attribute13free_function17h51dfc587269036d7E() unnamed_addr #0 { 9: start: 10: ret void 11: } 12: 13: ; cold_attribute::async_block label:23'0 X error: no match found 14: ; Function Attrs: cold uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 15: define i32 @_ZN14cold_attribute11async_block17hdeba959a4ffb752eE() unnamed_addr #0 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 16: start: label:23'0 ~~~~~~~ 17: %_0 = alloca [4 x i8], align 1 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18: store i8 0, ptr %_0, align 1 --- label:23'0 ~~~~~~~~~~~~ 21: } label:23'0 ~~ 22: label:23'0 ~ 23: ; cold_attribute::closure label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 24: ; Function Attrs: uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 25: define void @_ZN14cold_attribute7closure17h025c0d2abf9012aaE() unnamed_addr #1 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 26: start: label:23'0 ~~~~~~~ 27: ; call cold_attribute::closure::x label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28: call void @_ZN14cold_attribute7closure1x17h93974519e8023332E() label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29: ret void label:23'0 ~~~~~~~~~~ 30: } label:23'0 ~~ 31: label:23'0 ~ 32: ; cold_attribute::closure::x label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 33: ; Function Attrs: uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 34: define internal void @_ZN14cold_attribute7closure1x17h93974519e8023332E() unnamed_addr #1 personality ptr @rust_eh_personality { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 35: start: label:23'0 ~~~~~~~ 36: %0 = alloca [16 x i8], align 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 37: %f = alloca [0 x i8], align 1 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38: ; invoke cold_attribute::closure::{{closure}} label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 39: invoke void @"_ZN14cold_attribute7closure28_$u7b$$u7b$closure$u7d$$u7d$17h1daa09e7d5f4f843E"(ptr align 1 %f) label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 40: to label %bb1 unwind label %cleanup label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 41: label:23'0 ~ 42: bb3: ; preds = %cleanup label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~ 43: %1 = load ptr, ptr %0, align 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 44: %2 = getelementptr inbounds i8, ptr %0, i64 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 45: %3 = load i32, ptr %2, align 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 46: %4 = insertvalue { ptr, i32 } poison, ptr %1, 0 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 47: %5 = insertvalue { ptr, i32 } %4, i32 %3, 1 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48: resume { ptr, i32 } %5 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~ 49: label:23'0 ~ 50: cleanup: ; preds = %start label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 51: %6 = landingpad { ptr, i32 } label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 52: cleanup label:23'0 ~~~~~~~~~ 53: %7 = extractvalue { ptr, i32 } %6, 0 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 54: %8 = extractvalue { ptr, i32 } %6, 1 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55: store ptr %7, ptr %0, align 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56: %9 = getelementptr inbounds i8, ptr %0, i64 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57: store i32 %8, ptr %9, align 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58: br label %bb3 label:23'0 ~~~~~~~~~~~~~~~ 59: label:23'0 ~ 60: bb1: ; preds = %start label:23'0 ~~~~~~~~~~~~~~~~~~~~~~ 61: ret void label:23'0 ~~~~~~~~~~ 62: } label:23'0 ~~ 63: label:23'0 ~ 64: ; cold_attribute::closure::{{closure}} label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ label:23'1 ? possible intended match 65: ; Function Attrs: cold inlinehint uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66: define internal void @"_ZN14cold_attribute7closure28_$u7b$$u7b$closure$u7d$$u7d$17h1daa09e7d5f4f843E"(ptr align 1 %_1) unnamed_addr #2 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 67: start: label:23'0 ~~~~~~~ 68: ret void label:23'0 ~~~~~~~~~~ 69: } label:23'0 ~~ 70: label:23'0 ~ 71: ; cold_attribute::S::method label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72: ; Function Attrs: cold uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73: define void @_ZN14cold_attribute1S6method17h65a7d943b9262840E(ptr align 1 %self) unnamed_addr #0 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 74: start: label:23'0 ~~~~~~~ 75: ret void label:23'0 ~~~~~~~~~~ 76: } label:23'0 ~~ 77: label:23'0 ~ 78: ; cold_attribute::Trait::trait_fn label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79: ; Function Attrs: cold uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80: define void @_ZN14cold_attribute5Trait8trait_fn17hfdb84888b56f9fe3E(ptr align 1 %self) unnamed_addr #0 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 81: start: label:23'0 ~~~~~~~ 82: ret void label:23'0 ~~~~~~~~~~ 83: } label:23'0 ~~ 84: label:23'0 ~ 85: ; <cold_attribute::S as cold_attribute::Trait>::impl_fn label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 86: ; Function Attrs: cold uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87: define void @"_ZN59_$LT$cold_attribute..S$u20$as$u20$cold_attribute..Trait$GT$7impl_fn17he07edd1bf841af0dE"(ptr align 1 %self) unnamed_addr #0 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 88: start: label:23'0 ~~~~~~~ 89: ; call cold_attribute::Trait::trait_fn label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 90: call void @_ZN14cold_attribute5Trait8trait_fn17hfdb84888b56f9fe3E(ptr align 1 %self) label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91: ret void label:23'0 ~~~~~~~~~~ 92: } label:23'0 ~~ 93: label:23'0 ~ 94: ; <cold_attribute::S as cold_attribute::Trait>::trait_fn_overridden label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 95: ; Function Attrs: uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 96: define void @"_ZN59_$LT$cold_attribute..S$u20$as$u20$cold_attribute..Trait$GT$19trait_fn_overridden17h5804df6e206fe68bE"(ptr align 1 %self) unnamed_addr #1 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 97: start: label:23'0 ~~~~~~~ 98: ret void label:23'0 ~~~~~~~~~~ 99: } label:23'0 ~~ 100: label:23'0 ~ 101: ; Function Attrs: nounwind uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 102: declare i32 @rust_eh_personality(i32, i32, i64, ptr, ptr) unnamed_addr #3 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103: label:23'0 ~ 104: attributes #0 = { cold uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics" } label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 105: attributes #1 = { uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics" } label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106: attributes #2 = { cold inlinehint uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics" } label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 107: attributes #3 = { nounwind uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics" } label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 108: label:23'0 ~ 109: !llvm.module.flags = !{!0} label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 110: !llvm.ident = !{!1} label:23'0 ~~~~~~~~~~~~~~~~~~~~ 111: label:23'0 ~ 112: !0 = !{i32 8, !"PIC Level", i32 2} label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 113: !1 = !{!"rustc version 1.92.0-nightly (ed877c24d 2025-10-23)"} label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>>>>> ------------------------------------------ error: verification with 'FileCheck' failed status: exit status: 1 command: "/usr/lib/llvm-20/bin/FileCheck" "--input-file" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/cold-attribute/cold-attribute.ll" "/checkout/tests/codegen-llvm/cold-attribute.rs" "--check-prefix=CHECK" "--allow-unused-prefixes" "--dump-input-context" "100" stdout: none --- stderr ------------------------------- /checkout/tests/codegen-llvm/cold-attribute.rs:23:18: error: CHECK-LABEL: expected string not found in input // CHECK-LABEL: ; cold_attribute::async_block::{{{{closure}}}}::{{{{closure}}}} ^ /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/cold-attribute/cold-attribute.ll:13:30: note: scanning from here ; cold_attribute::async_block ^ /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/cold-attribute/cold-attribute.ll:64:1: note: possible intended match here ; cold_attribute::closure::{{closure}} ^ Input file: /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/cold-attribute/cold-attribute.ll Check file: /checkout/tests/codegen-llvm/cold-attribute.rs -dump-input=help explains the following input dump. Input was: <<<<<< 1: ; ModuleID = 'cold_attribute.42fd28ff1e94d3c2-cgu.0' 2: source_filename = "cold_attribute.42fd28ff1e94d3c2-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" 4: target triple = "aarch64-unknown-linux-gnu" 5: 6: ; cold_attribute::free_function 7: ; Function Attrs: cold uwtable 8: define void @_ZN14cold_attribute13free_function17h51dfc587269036d7E() unnamed_addr #0 { 9: start: 10: ret void 11: } 12: 13: ; cold_attribute::async_block label:23'0 X error: no match found 14: ; Function Attrs: cold uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 15: define i32 @_ZN14cold_attribute11async_block17hdeba959a4ffb752eE() unnamed_addr #0 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 16: start: label:23'0 ~~~~~~~ 17: %_0 = alloca [4 x i8], align 1 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18: store i8 0, ptr %_0, align 1 --- label:23'0 ~~~~~~~~~~~~ 21: } label:23'0 ~~ 22: label:23'0 ~ 23: ; cold_attribute::closure label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 24: ; Function Attrs: uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 25: define void @_ZN14cold_attribute7closure17h025c0d2abf9012aaE() unnamed_addr #1 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 26: start: label:23'0 ~~~~~~~ 27: ; call cold_attribute::closure::x label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28: call void @_ZN14cold_attribute7closure1x17h93974519e8023332E() label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29: ret void label:23'0 ~~~~~~~~~~ 30: } label:23'0 ~~ 31: label:23'0 ~ 32: ; cold_attribute::closure::x label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 33: ; Function Attrs: uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 34: define internal void @_ZN14cold_attribute7closure1x17h93974519e8023332E() unnamed_addr #1 personality ptr @rust_eh_personality { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 35: start: label:23'0 ~~~~~~~ 36: %0 = alloca [16 x i8], align 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 37: %f = alloca [0 x i8], align 1 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38: ; invoke cold_attribute::closure::{{closure}} label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 39: invoke void @"_ZN14cold_attribute7closure28_$u7b$$u7b$closure$u7d$$u7d$17h1daa09e7d5f4f843E"(ptr align 1 %f) label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 40: to label %bb1 unwind label %cleanup label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 41: label:23'0 ~ 42: bb3: ; preds = %cleanup label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~ 43: %1 = load ptr, ptr %0, align 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 44: %2 = getelementptr inbounds i8, ptr %0, i64 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 45: %3 = load i32, ptr %2, align 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 46: %4 = insertvalue { ptr, i32 } poison, ptr %1, 0 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 47: %5 = insertvalue { ptr, i32 } %4, i32 %3, 1 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48: resume { ptr, i32 } %5 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~ 49: label:23'0 ~ 50: cleanup: ; preds = %start label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 51: %6 = landingpad { ptr, i32 } label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 52: cleanup label:23'0 ~~~~~~~~~ 53: %7 = extractvalue { ptr, i32 } %6, 0 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 54: %8 = extractvalue { ptr, i32 } %6, 1 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55: store ptr %7, ptr %0, align 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56: %9 = getelementptr inbounds i8, ptr %0, i64 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57: store i32 %8, ptr %9, align 8 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58: br label %bb3 label:23'0 ~~~~~~~~~~~~~~~ 59: label:23'0 ~ 60: bb1: ; preds = %start label:23'0 ~~~~~~~~~~~~~~~~~~~~~~ 61: ret void label:23'0 ~~~~~~~~~~ 62: } label:23'0 ~~ 63: label:23'0 ~ 64: ; cold_attribute::closure::{{closure}} label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ label:23'1 ? possible intended match 65: ; Function Attrs: cold inlinehint uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66: define internal void @"_ZN14cold_attribute7closure28_$u7b$$u7b$closure$u7d$$u7d$17h1daa09e7d5f4f843E"(ptr align 1 %_1) unnamed_addr #2 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 67: start: label:23'0 ~~~~~~~ 68: ret void label:23'0 ~~~~~~~~~~ 69: } label:23'0 ~~ 70: label:23'0 ~ 71: ; cold_attribute::S::method label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72: ; Function Attrs: cold uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73: define void @_ZN14cold_attribute1S6method17h65a7d943b9262840E(ptr align 1 %self) unnamed_addr #0 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 74: start: label:23'0 ~~~~~~~ 75: ret void label:23'0 ~~~~~~~~~~ 76: } label:23'0 ~~ 77: label:23'0 ~ 78: ; cold_attribute::Trait::trait_fn label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79: ; Function Attrs: cold uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80: define void @_ZN14cold_attribute5Trait8trait_fn17hfdb84888b56f9fe3E(ptr align 1 %self) unnamed_addr #0 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 81: start: label:23'0 ~~~~~~~ 82: ret void label:23'0 ~~~~~~~~~~ 83: } label:23'0 ~~ 84: label:23'0 ~ 85: ; <cold_attribute::S as cold_attribute::Trait>::impl_fn label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 86: ; Function Attrs: cold uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87: define void @"_ZN59_$LT$cold_attribute..S$u20$as$u20$cold_attribute..Trait$GT$7impl_fn17he07edd1bf841af0dE"(ptr align 1 %self) unnamed_addr #0 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 88: start: label:23'0 ~~~~~~~ 89: ; call cold_attribute::Trait::trait_fn label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 90: call void @_ZN14cold_attribute5Trait8trait_fn17hfdb84888b56f9fe3E(ptr align 1 %self) label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91: ret void label:23'0 ~~~~~~~~~~ 92: } label:23'0 ~~ 93: label:23'0 ~ 94: ; <cold_attribute::S as cold_attribute::Trait>::trait_fn_overridden label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 95: ; Function Attrs: uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 96: define void @"_ZN59_$LT$cold_attribute..S$u20$as$u20$cold_attribute..Trait$GT$19trait_fn_overridden17h5804df6e206fe68bE"(ptr align 1 %self) unnamed_addr #1 { label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 97: start: label:23'0 ~~~~~~~ 98: ret void label:23'0 ~~~~~~~~~~ 99: } label:23'0 ~~ 100: label:23'0 ~ 101: ; Function Attrs: nounwind uwtable label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 102: declare i32 @rust_eh_personality(i32, i32, i64, ptr, ptr) unnamed_addr #3 label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103: label:23'0 ~ 104: attributes #0 = { cold uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics" } label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 105: attributes #1 = { uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics" } label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106: attributes #2 = { cold inlinehint uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics" } label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 107: attributes #3 = { nounwind uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics" } label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 108: label:23'0 ~ 109: !llvm.module.flags = !{!0} label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 110: !llvm.ident = !{!1} label:23'0 ~~~~~~~~~~~~~~~~~~~~ 111: label:23'0 ~ 112: !0 = !{i32 8, !"PIC Level", i32 2} label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 113: !1 = !{!"rustc version 1.92.0-nightly (ed877c24d 2025-10-23)"} label:23'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>>>>> ------------------------------------------ ---- [codegen] tests/codegen-llvm/cold-attribute.rs stdout end ---- 
@Kivooeo
Copy link
Member Author

Kivooeo commented Oct 23, 2025

I managed to fix async-fn-debug-awaitee-field.rs

But I have no idea what to do with cold-attribute.rs, @ehuss as original test creator could you please take a look?

@ehuss
Copy link
Contributor

ehuss commented Oct 23, 2025

It just looks like the label needs to change from cold_attribute::async_block::{{{{closure}}}}::{{{{closure}}}} to cold_attribute::async_block.

@Zalathar
Copy link
Member

It just looks like the label needs to change from cold_attribute::async_block::{{{{closure}}}}::{{{{closure}}}} to cold_attribute::async_block.

I don't think that's right; cold_attribute::async_block is the name of the enclosing function, not the async block that the label is trying to find (and which doesn't seem to appear in the output at all after the revert).

@ehuss
Copy link
Contributor

ehuss commented Oct 23, 2025

You are right of course. I'm not 100% certain, but from what I can tell we need to do something to force the code generation of the async block. I'm not sure what the best way to do that is, but the following seems to work:

diff --git a/tests/codegen-llvm/cold-attribute.rs b/tests/codegen-llvm/cold-attribute.rs index 92b4280eaf2..0ddb3ed7c7f 100644 --- a/tests/codegen-llvm/cold-attribute.rs +++ b/tests/codegen-llvm/cold-attribute.rs @@ -12,20 +12,27 @@ #[cold] pub fn free_function() {} -// CHECK-LABEL: ; cold_attribute::async_block +// CHECK-LABEL: ; cold_attribute::async_fn // CHECK-NEXT: Function Attrs: cold {{.*}} #[cold] -pub async fn async_block() { - async fn x(f: impl Future<Output = ()>) { - f.await; +pub async fn async_fn() {} + +pub fn async_block() { + use std::task::{Context, Waker}; + + fn x(f: impl Future<Output = ()>) { + // This is needed to force the code generation of the async block. + let waker = Waker::noop(); + let mut context = Context::from_waker(&waker); + let mut pinned = std::pin::pin!(f); + let _ = pinned.as_mut().poll(&mut context); } x( - // CHECK-LABEL: ; cold_attribute::async_block::{{{{closure}}}}::{{{{closure}}}} + // CHECK-LABEL: ; cold_attribute::async_block::{{{{closure}}}} // CHECK-NEXT: Function Attrs: cold {{.*}} #[cold] async {}, - ) - .await; + ); } pub fn closure() {

Does that look reasonable?

@wesleywiser wesleywiser self-assigned this Oct 23, 2025
@apiraino
Copy link
Contributor

Visited for beta backport as per compiler team on Zulip.

cc @Kivooeo

@oli-obk
Copy link
Contributor

oli-obk commented Oct 23, 2025

I don't think we should land this. There is no fundamental regression here. The failure also happens in code calling this function on stable. Now it happens in the definition

@Kivooeo
Copy link
Member Author

Kivooeo commented Oct 23, 2025

I don't have a strong opinion here, so I'll follow whatever the team decides. While you're discussing this, I'll try to fix cold-attribute.rs test few more times - the error output is absolutely abysmal and unreadable

Just ping me if you decide to not close it, so I will continue fighting with test accordingly

@wesleywiser
Copy link
Member

I think @oli-obk's point is correct and we've just moved an existing compile failure earlier in the build graph.

Thanks for your work on the revert @Kivooeo but I don't think we should take a revert for this in 1.91.

@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 24, 2025
@Kivooeo
Copy link
Member Author

Kivooeo commented Oct 24, 2025

Should I maybe notify https://github.com/s0l0ist/leptos-repro about this regression and ask them to increase recursion limit (if this is even a good fix, I'm not sure), or what is usual process here

upd: Well this crate is seems abandoned, so I guess they wont update to 1.91 😅

@cuviper cuviper removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Oct 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

10 participants