source_filename = "example.6be8c5fc5a3d8883-cgu.0"
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"
target triple = "aarch64-unknown-linux-gnu"
@example[6be8c5fc5a3d8883]::I8_275 = internal constant [275 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F\10\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F !\22#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\7F\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F\10\11\12", align 1, !dbg !0
@vtable.0 = private constant <{ [24 x i8], ptr, ptr, ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00", ptr @<std[388427d468d10f42]::rt::lang_start<()>::{closure#0} as core[eb910544b23df3b9]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}, ptr @std[388427d468d10f42]::rt::lang_start::<()>::{closure#0}, ptr @std[388427d468d10f42]::rt::lang_start::<()>::{closure#0} }>, align 8, !dbg !8
@alloc_0bd83ae4d998a852bdd6080f4dbcd402 = private unnamed_addr constant [16 x i8] c"/app/example.rs\00", align 1
@alloc_c169e6ccc1c56e2ae1f93b887af40d28 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_0bd83ae4d998a852bdd6080f4dbcd402, [16 x i8] c"\0F\00\00\00\00\00\00\00\1E\00\00\008\00\00\00" }>, align 8
@alloc_1ec479bdab7be9e43fa833f69c453205 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_0bd83ae4d998a852bdd6080f4dbcd402, [16 x i8] c"\0F\00\00\00\00\00\00\00!\00\00\00\09\00\00\00" }>, align 8
@alloc_303930954b3aa3aea3ee2f3dab5b5b9f = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_0bd83ae4d998a852bdd6080f4dbcd402, [16 x i8] c"\0F\00\00\00\00\00\00\00\22\00\00\001\00\00\00" }>, align 8
@__rustc_debug_gdb_scripts_section__ = linkonce_odr unnamed_addr constant [34 x i8] c"\01gdb_load_rust_pretty_printers.py\00", section ".debug_gdb_scripts", align 1
define hidden i64 @std[388427d468d10f42]::rt::lang_start::<()>(ptr %main, i64 %argc, ptr %argv, i8 %sigpipe) unnamed_addr #0 !dbg !42 {
start:
%sigpipe.dbg.spill = alloca [1 x i8], align 1
%argv.dbg.spill = alloca [8 x i8], align 8
%argc.dbg.spill = alloca [8 x i8], align 8
%main.dbg.spill = alloca [8 x i8], align 8
%_7 = alloca [8 x i8], align 8
store ptr %main, ptr %main.dbg.spill, align 8
#dbg_declare(ptr %main.dbg.spill, !51, !DIExpression(), !57)
store i64 %argc, ptr %argc.dbg.spill, align 8
#dbg_declare(ptr %argc.dbg.spill, !52, !DIExpression(), !58)
store ptr %argv, ptr %argv.dbg.spill, align 8
#dbg_declare(ptr %argv.dbg.spill, !53, !DIExpression(), !59)
store i8 %sigpipe, ptr %sigpipe.dbg.spill, align 1
#dbg_declare(ptr %sigpipe.dbg.spill, !54, !DIExpression(), !60)
store ptr %main, ptr %_7, align 8, !dbg !61
%_0 = call i64 @std[388427d468d10f42]::rt::lang_start_internal(ptr %_7, ptr align 8 @vtable.0, i64 %argc, ptr %argv, i8 %sigpipe), !dbg !62
ret i64 %_0, !dbg !63
}
define internal void @core[eb910544b23df3b9]::ptr::write::<core[eb910544b23df3b9]::core_arch::aarch64::sve::svint8_t>(ptr %dst, <vscale x 16 x i8> %src, ptr align 8 %0) unnamed_addr #1 !dbg !64 {
start:
%src.dbg.spill = alloca <vscale x 16 x i8>, align 16
%dst.dbg.spill = alloca [8 x i8], align 8
store ptr %dst, ptr %dst.dbg.spill, align 8
#dbg_declare(ptr %dst.dbg.spill, !111, !DIExpression(), !115)
store <vscale x 16 x i8> %src, ptr %src.dbg.spill, align 16
#dbg_declare(ptr %src.dbg.spill, !112, !DIExpression(), !116)
store <vscale x 16 x i8> %src, ptr %dst, align 16, !dbg !117
ret void, !dbg !118
}
define internal void @std[388427d468d10f42]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>(ptr %f) unnamed_addr #2 !dbg !119 {
start:
%dummy.dbg.spill = alloca [0 x i8], align 1
%f.dbg.spill = alloca [8 x i8], align 8
%result.dbg.spill = alloca [0 x i8], align 1
%_2 = alloca [0 x i8], align 1
#dbg_declare(ptr %result.dbg.spill, !127, !DIExpression(), !131)
store ptr %f, ptr %f.dbg.spill, align 8
#dbg_declare(ptr %f.dbg.spill, !126, !DIExpression(), !132)
#dbg_declare(ptr %dummy.dbg.spill, !133, !DIExpression(), !140)
call void @<fn() as core[eb910544b23df3b9]::ops::function::FnOnce<()>>::call_once(ptr %f) #10, !dbg !142
call void asm sideeffect "", "~{memory}"(), !dbg !143, !srcloc !144
ret void, !dbg !145
}
define internal <vscale x 16 x i8> @core[eb910544b23df3b9]::core_arch::aarch64::sve::generated::svext_s8::<0i32>(<vscale x 16 x i8> %op1, <vscale x 16 x i8> %op2) unnamed_addr #3 !dbg !146 {
start:
%op2.dbg.spill = alloca <vscale x 16 x i8>, align 16
%op1.dbg.spill = alloca <vscale x 16 x i8>, align 16
store <vscale x 16 x i8> %op1, ptr %op1.dbg.spill, align 16
#dbg_declare(ptr %op1.dbg.spill, !152, !DIExpression(), !154)
store <vscale x 16 x i8> %op2, ptr %op2.dbg.spill, align 16
#dbg_declare(ptr %op2.dbg.spill, !153, !DIExpression(), !155)
%_0 = call <vscale x 16 x i8> @llvm.aarch64.sve.ext.nxv16i8(<vscale x 16 x i8> %op1, <vscale x 16 x i8> %op2, i32 0), !dbg !156
ret <vscale x 16 x i8> %_0, !dbg !157
}
define internal i32 @std[388427d468d10f42]::rt::lang_start::<()>::{closure#0}(ptr align 8 %_1) unnamed_addr #1 !dbg !158 {
start:
%self.dbg.spill = alloca [1 x i8], align 1
%_1.dbg.spill = alloca [8 x i8], align 8
store ptr %_1, ptr %_1.dbg.spill, align 8
#dbg_declare(ptr %_1.dbg.spill, !164, !DIExpression(DW_OP_deref), !165)
%_4 = load ptr, ptr %_1, align 8, !dbg !166
call void @std[388427d468d10f42]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>(ptr %_4) #11, !dbg !167
%self = call i8 @<() as std[388427d468d10f42]::process::Termination>::report() #10, !dbg !168
store i8 %self, ptr %self.dbg.spill, align 1, !dbg !168
#dbg_declare(ptr %self.dbg.spill, !169, !DIExpression(), !186)
%_0 = zext i8 %self to i32, !dbg !188
ret i32 %_0, !dbg !196
}
define internal i32 @<std[388427d468d10f42]::rt::lang_start<()>::{closure#0} as core[eb910544b23df3b9]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}(ptr %_1) unnamed_addr #1 !dbg !197 {
start:
%_1.dbg.spill = alloca [8 x i8], align 8
%_2 = alloca [0 x i8], align 1
store ptr %_1, ptr %_1.dbg.spill, align 8
#dbg_declare(ptr %_1.dbg.spill, !206, !DIExpression(), !211)
#dbg_declare(ptr %_2, !207, !DIExpression(), !211)
%0 = load ptr, ptr %_1, align 8, !dbg !211
%_0 = call i32 @<std[388427d468d10f42]::rt::lang_start<()>::{closure#0} as core[eb910544b23df3b9]::ops::function::FnOnce<()>>::call_once(ptr %0) #10, !dbg !211
ret i32 %_0, !dbg !211
}
define hidden void @example[6be8c5fc5a3d8883]::main() unnamed_addr #0 !dbg !212 {
start:
%self.dbg.spill1.i = alloca [8 x i8], align 8
#dbg_declare(ptr %_13, !240, !DIExpression(), !247)
%self.dbg.spill.i4 = alloca [8 x i8], align 8
%self.dbg.spill.i3 = alloca [8 x i8], align 8
%count.dbg.spill.i = alloca [8 x i8], align 8
%self.dbg.spill.i2 = alloca [8 x i8], align 8
%self.dbg.spill.i = alloca [16 x i8], align 8
%__c_return_value.dbg.spill = alloca <vscale x 16 x i8>, align 16
%op1_val.dbg.spill = alloca <vscale x 16 x i8>, align 16
%__pred.dbg.spill = alloca <vscale x 16 x i1>, align 16
%_13 = alloca <vscale x 16 x i8>, align 16
%__c_return_value = alloca <vscale x 16 x i8>, align 16
#dbg_declare(ptr %__c_return_value, !220, !DIExpression(), !249)
%__pred = call <vscale x 16 x i1> @core[eb910544b23df3b9]::core_arch::aarch64::sve::generated::svptrue_b8() #10, !dbg !250
store <vscale x 16 x i1> %__pred, ptr %__pred.dbg.spill, align 16, !dbg !250
#dbg_declare(ptr %__pred.dbg.spill, !214, !DIExpression(), !251)
store ptr @example[6be8c5fc5a3d8883]::I8_275, ptr %self.dbg.spill.i, align 8
%0 = getelementptr inbounds i8, ptr %self.dbg.spill.i, i64 8
store i64 275, ptr %0, align 8
#dbg_declare(ptr %self.dbg.spill.i, !252, !DIExpression(), !268)
store ptr @example[6be8c5fc5a3d8883]::I8_275, ptr %self.dbg.spill.i2, align 8
#dbg_declare(ptr %self.dbg.spill.i2, !270, !DIExpression(), !279)
store i64 0, ptr %count.dbg.spill.i, align 8
#dbg_declare(ptr %count.dbg.spill.i, !278, !DIExpression(), !281)
%op1_val = call <vscale x 16 x i8> @core[eb910544b23df3b9]::core_arch::aarch64::sve::generated::svld1_s8(<vscale x 16 x i1> %__pred, ptr @example[6be8c5fc5a3d8883]::I8_275) #10, !dbg !282
store <vscale x 16 x i8> %op1_val, ptr %op1_val.dbg.spill, align 16, !dbg !282
#dbg_declare(ptr %op1_val.dbg.spill, !218, !DIExpression(), !283)
store ptr %__c_return_value, ptr %self.dbg.spill.i3, align 8
#dbg_declare(ptr %self.dbg.spill.i3, !284, !DIExpression(), !291)
%_11 = call <vscale x 16 x i8> @core[eb910544b23df3b9]::core_arch::aarch64::sve::generated::svext_s8::<0i32>(<vscale x 16 x i8> %op1_val, <vscale x 16 x i8> %op1_val) #10, !dbg !293
call void @core[eb910544b23df3b9]::ptr::write::<core[eb910544b23df3b9]::core_arch::aarch64::sve::svint8_t>(ptr %__c_return_value, <vscale x 16 x i8> %_11, ptr align 8 @alloc_1ec479bdab7be9e43fa833f69c453205) #10, !dbg !294
call void @llvm.memcpy.p0.p0.i64(ptr align 16 %_13, ptr align 16 %__c_return_value, i64 16, i1 false), !dbg !295
store ptr %_13, ptr %self.dbg.spill.i4, align 8, !dbg !296
#dbg_declare(ptr %self.dbg.spill.i4, !297, !DIExpression(), !307)
store ptr %_13, ptr %self.dbg.spill1.i, align 8, !dbg !309
#dbg_declare(ptr %self.dbg.spill1.i, !310, !DIExpression(), !315)
#dbg_declare(ptr %self.dbg.spill1.i, !317, !DIExpression(), !320)
%_0.i = load <vscale x 16 x i8>, ptr %_13, align 16, !dbg !322
store <vscale x 16 x i8> %_0.i, ptr %__c_return_value.dbg.spill, align 16, !dbg !323
#dbg_declare(ptr %__c_return_value.dbg.spill, !238, !DIExpression(), !324)
ret void, !dbg !325
}
define internal <vscale x 16 x i1> @core[eb910544b23df3b9]::core_arch::aarch64::sve::generated::svptrue_b8() unnamed_addr #3 !dbg !326 {
start:
%_0 = call <vscale x 16 x i1> @llvm.aarch64.sve.ptrue.nxv16i1(i32 31), !dbg !329
ret <vscale x 16 x i1> %_0, !dbg !332
}
define internal <vscale x 16 x i8> @core[eb910544b23df3b9]::core_arch::aarch64::sve::generated::svld1_s8(<vscale x 16 x i1> %pg, ptr %base) unnamed_addr #3 !dbg !333 {
start:
%base.dbg.spill = alloca [8 x i8], align 8
%pg.dbg.spill = alloca <vscale x 16 x i1>, align 16
store <vscale x 16 x i1> %pg, ptr %pg.dbg.spill, align 16
#dbg_declare(ptr %pg.dbg.spill, !337, !DIExpression(), !339)
store ptr %base, ptr %base.dbg.spill, align 8
#dbg_declare(ptr %base.dbg.spill, !338, !DIExpression(), !340)
%_0 = call <vscale x 16 x i8> @llvm.aarch64.sve.ld1.nxv16i8(<vscale x 16 x i1> %pg, ptr %base), !dbg !341
ret <vscale x 16 x i8> %_0, !dbg !342
}
define internal i8 @<() as std[388427d468d10f42]::process::Termination>::report() unnamed_addr #1 !dbg !343 {
start:
%_1.dbg.spill = alloca [0 x i8], align 1
#dbg_declare(ptr %_1.dbg.spill, !348, !DIExpression(), !349)
ret i8 0, !dbg !350
}
define internal void @<fn() as core[eb910544b23df3b9]::ops::function::FnOnce<()>>::call_once(ptr %_1) unnamed_addr #1 !dbg !351 {
start:
%_1.dbg.spill = alloca [8 x i8], align 8
%_2 = alloca [0 x i8], align 1
store ptr %_1, ptr %_1.dbg.spill, align 8
#dbg_declare(ptr %_1.dbg.spill, !353, !DIExpression(), !357)
#dbg_declare(ptr %_2, !354, !DIExpression(), !357)
call void %_1(), !dbg !357
ret void, !dbg !357
}
define internal i32 @<std[388427d468d10f42]::rt::lang_start<()>::{closure#0} as core[eb910544b23df3b9]::ops::function::FnOnce<()>>::call_once(ptr %0) unnamed_addr #1 personality ptr @rust_eh_personality !dbg !358 {
start:
%1 = alloca [16 x i8], align 8
%_2 = alloca [0 x i8], align 1
%_1 = alloca [8 x i8], align 8
store ptr %0, ptr %_1, align 8
#dbg_declare(ptr %_1, !362, !DIExpression(), !364)
#dbg_declare(ptr %_2, !363, !DIExpression(), !364)
%_0 = invoke i32 @std[388427d468d10f42]::rt::lang_start::<()>::{closure#0}(ptr align 8 %_1)
to label %bb1 unwind label %cleanup, !dbg !364
bb3:
%2 = load ptr, ptr %1, align 8, !dbg !364
%3 = getelementptr inbounds i8, ptr %1, i64 8, !dbg !364
%4 = load i32, ptr %3, align 8, !dbg !364
%5 = insertvalue { ptr, i32 } poison, ptr %2, 0, !dbg !364
%6 = insertvalue { ptr, i32 } %5, i32 %4, 1, !dbg !364
resume { ptr, i32 } %6, !dbg !364
cleanup:
%7 = landingpad { ptr, i32 }
cleanup
%8 = extractvalue { ptr, i32 } %7, 0
%9 = extractvalue { ptr, i32 } %7, 1
store ptr %8, ptr %1, align 8
%10 = getelementptr inbounds i8, ptr %1, i64 8
store i32 %9, ptr %10, align 8
br label %bb3
bb1:
ret i32 %_0, !dbg !364
}
declare i64 @std[388427d468d10f42]::rt::lang_start_internal(ptr, ptr align 8, i64, ptr, i8) unnamed_addr #0
declare <vscale x 16 x i8> @llvm.aarch64.sve.ext.nxv16i8(<vscale x 16 x i8>, <vscale x 16 x i8>, i32 immarg) unnamed_addr #4
declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #5
declare <vscale x 16 x i1> @llvm.aarch64.sve.ptrue.nxv16i1(i32 immarg) unnamed_addr #6
declare <vscale x 16 x i8> @llvm.aarch64.sve.ld1.nxv16i8(<vscale x 16 x i1>, ptr) unnamed_addr #7
declare i32 @rust_eh_personality(i32, i32, i64, ptr, ptr) unnamed_addr #8
define i32 @main(i32 %0, ptr %1) unnamed_addr #9 {
top:
%2 = load volatile i8, ptr @__rustc_debug_gdb_scripts_section__, align 1
%3 = sext i32 %0 to i64
%4 = call i64 @std[388427d468d10f42]::rt::lang_start::<()>(ptr @example[6be8c5fc5a3d8883]::main, i64 %3, ptr %1, i8 0)
%5 = trunc i64 %4 to i32
ret i32 %5
}
attributes #0 = { uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics,+neon,+fp-armv8,+sve,+neon,+fp-armv8,+sve,+sve2" }
attributes #1 = { inlinehint uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics,+neon,+fp-armv8,+sve,+neon,+fp-armv8,+sve,+sve2" }
attributes #2 = { noinline uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics,+neon,+fp-armv8,+sve,+neon,+fp-armv8,+sve,+sve2" }
attributes #3 = { inlinehint uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics,+neon,+fp-armv8,+sve,+neon,+fp-armv8,+sve,+sve2,+neon,+fp-armv8,+sve" }
attributes #4 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #6 = { nocallback nofree nosync nounwind willreturn memory(none) }
attributes #7 = { nocallback nofree nosync nounwind willreturn memory(argmem: read) }
attributes #8 = { nounwind uwtable "frame-pointer"="non-leaf" "probe-stack"="inline-asm" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics,+neon,+fp-armv8,+sve,+neon,+fp-armv8,+sve,+sve2" }
attributes #9 = { "frame-pointer"="non-leaf" "target-cpu"="generic" "target-features"="+v8a,+outline-atomics,+neon,+fp-armv8,+sve,+neon,+fp-armv8,+sve,+sve2" }
attributes #10 = { inlinehint }
attributes #11 = { noinline }
!llvm.module.flags = !{!32, !33, !34, !35, !36, !37}
!llvm.ident = !{!38}
!llvm.dbg.cu = !{!39}
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "I8_275", linkageName: "example[6be8c5fc5a3d8883]::I8_275", scope: !2, file: !3, line: 5, type: !4, isLocal: true, isDefinition: true, align: 8)
!2 = !DINamespace(name: "example", scope: null)
!3 = !DIFile(filename: "example.rs", directory: "/app", checksumkind: CSK_MD5, checksum: "f5f8873d8d4ddd900f54e2a61205bc0f")
!4 = !DICompositeType(tag: DW_TAG_array_type, baseType: !5, size: 2200, align: 8, elements: !6)
!5 = !DIBasicType(name: "i8", size: 8, encoding: DW_ATE_signed)
!6 = !{!7}
!7 = !DISubrange(count: 275, lowerBound: 0)
!8 = !DIGlobalVariableExpression(var: !9, expr: !DIExpression())
!9 = distinct !DIGlobalVariable(name: "<std::rt::lang_start::{closure_env#0}<()> as core::ops::function::Fn<()>>::{vtable}", scope: null, file: !10, type: !11, isLocal: true, isDefinition: true)
!10 = !DIFile(filename: "<unknown>", directory: "")
!11 = !DICompositeType(tag: DW_TAG_structure_type, name: "<std::rt::lang_start::{closure_env#0}<()> as core::ops::function::Fn<()>>::{vtable_type}", file: !10, size: 384, align: 64, flags: DIFlagArtificial, elements: !12, vtableHolder: !22, templateParams: !31, identifier: "dc3cbc16384f47fdb501694a86b6cdbf")
!12 = !{!13, !16, !18, !19, !20, !21}
!13 = !DIDerivedType(tag: DW_TAG_member, name: "drop_in_place", scope: !11, file: !10, baseType: !14, size: 64, align: 64)
!14 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const ()", baseType: !15, size: 64, align: 64, dwarfAddressSpace: 0)
!15 = !DIBasicType(name: "()", encoding: DW_ATE_unsigned)
!16 = !DIDerivedType(tag: DW_TAG_member, name: "size", scope: !11, file: !10, baseType: !17, size: 64, align: 64, offset: 64)
!17 = !DIBasicType(name: "usize", size: 64, encoding: DW_ATE_unsigned)
!18 = !DIDerivedType(tag: DW_TAG_member, name: "align", scope: !11, file: !10, baseType: !17, size: 64, align: 64, offset: 128)
!19 = !DIDerivedType(tag: DW_TAG_member, name: "__method3", scope: !11, file: !10, baseType: !14, size: 64, align: 64, offset: 192)
!20 = !DIDerivedType(tag: DW_TAG_member, name: "__method4", scope: !11, file: !10, baseType: !14, size: 64, align: 64, offset: 256)
!21 = !DIDerivedType(tag: DW_TAG_member, name: "__method5", scope: !11, file: !10, baseType: !14, size: 64, align: 64, offset: 320)
!22 = !DICompositeType(tag: DW_TAG_structure_type, name: "{closure_env#0}<()>", scope: !23, file: !10, size: 64, align: 64, elements: !26, templateParams: !31, identifier: "511507f5d8aee55f715a3889aac76111")
!23 = !DINamespace(name: "lang_start", scope: !24)
!24 = !DINamespace(name: "rt", scope: !25)
!25 = !DINamespace(name: "std", scope: null)
!26 = !{!27}
!27 = !DIDerivedType(tag: DW_TAG_member, name: "main", scope: !22, file: !10, baseType: !28, size: 64, align: 64)
!28 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn()", baseType: !29, size: 64, align: 64, dwarfAddressSpace: 0)
!29 = !DISubroutineType(types: !30)
!30 = !{null}
!31 = !{}
!32 = !{i32 8, !"PIC Level", i32 2}
!33 = !{i32 7, !"PIE Level", i32 2}
!34 = !{i32 7, !"uwtable", i32 2}
!35 = !{i32 7, !"frame-pointer", i32 1}
!36 = !{i32 7, !"Dwarf Version", i32 4}
!37 = !{i32 2, !"Debug Info Version", i32 3}
!38 = !{!"rustc version 1.98.0-nightly (c1b22f44c 2026-06-17)"}
!39 = distinct !DICompileUnit(language: DW_LANG_Rust, file: !40, producer: "clang LLVM (rustc version 1.98.0-nightly (c1b22f44c 2026-06-17))", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !41, splitDebugInlining: false, nameTableKind: None)
!40 = !DIFile(filename: "/app/example.rs/@/example.6be8c5fc5a3d8883-cgu.0", directory: "/app")
!41 = !{!8, !0}
!42 = distinct !DISubprogram(name: "lang_start<()>", linkageName: "std[388427d468d10f42]::rt::lang_start::<()>", scope: !24, file: !43, line: 199, type: !44, scopeLine: 199, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !55, retainedNodes: !50)
!43 = !DIFile(filename: "library/std/src/rt.rs", directory: "/rustc/c1b22f44c3f30e186b829de95f59740c3a690aba", checksumkind: CSK_MD5, checksum: "83eadca7bec2ebce94abb46f51902baa")
!44 = !DISubroutineType(types: !45)
!45 = !{!46, !28, !46, !47, !49}
!46 = !DIBasicType(name: "isize", size: 64, encoding: DW_ATE_signed)
!47 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const *const u8", baseType: !48, size: 64, align: 64, dwarfAddressSpace: 0)
!48 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const u8", baseType: !49, size: 64, align: 64, dwarfAddressSpace: 0)
!49 = !DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned)
!50 = !{!51, !52, !53, !54}
!51 = !DILocalVariable(name: "main", arg: 1, scope: !42, file: !43, line: 200, type: !28)
!52 = !DILocalVariable(name: "argc", arg: 2, scope: !42, file: !43, line: 201, type: !46)
!53 = !DILocalVariable(name: "argv", arg: 3, scope: !42, file: !43, line: 202, type: !47)
!54 = !DILocalVariable(name: "sigpipe", arg: 4, scope: !42, file: !43, line: 203, type: !49)
!55 = !{!56}
!56 = !DITemplateTypeParameter(name: "T", type: !15)
!57 = !DILocation(line: 200, column: 5, scope: !42)
!58 = !DILocation(line: 201, column: 5, scope: !42)
!59 = !DILocation(line: 202, column: 5, scope: !42)
!60 = !DILocation(line: 203, column: 5, scope: !42)
!61 = !DILocation(line: 206, column: 10, scope: !42)
!62 = !DILocation(line: 205, column: 5, scope: !42)
!63 = !DILocation(line: 211, column: 2, scope: !42)
!64 = distinct !DISubprogram(name: "write<core::core_arch::aarch64::sve::svint8_t>", linkageName: "core[eb910544b23df3b9]::ptr::write::<core[eb910544b23df3b9]::core_arch::aarch64::sve::svint8_t>", scope: !66, file: !65, line: 1910, type: !68, scopeLine: 1910, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !113, retainedNodes: !110)
!65 = !DIFile(filename: "library/core/src/ptr/mod.rs", directory: "/rustc/c1b22f44c3f30e186b829de95f59740c3a690aba", checksumkind: CSK_MD5, checksum: "f3d5bb7bedd0059f77c69bd750fa4b4f")
!66 = !DINamespace(name: "ptr", scope: !67)
!67 = !DINamespace(name: "core", scope: null)
!68 = !DISubroutineType(types: !69)
!69 = !{null, !70, !71, !78}
!70 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*mut core::core_arch::aarch64::sve::svint8_t", baseType: !71, size: 64, align: 64, dwarfAddressSpace: 0)
!71 = !DIDerivedType(tag: DW_TAG_typedef, name: "svint8_t", scope: !72, file: !10, baseType: !75, align: 128)
!72 = !DINamespace(name: "sve", scope: !73)
!73 = !DINamespace(name: "aarch64", scope: !74)
!74 = !DINamespace(name: "core_arch", scope: !67)
!75 = !DICompositeType(tag: DW_TAG_array_type, baseType: !5, align: 128, flags: DIFlagVector, elements: !76)
!76 = !{!77}
!77 = !DISubrange(lowerBound: 0, upperBound: !DIExpression(DW_OP_constu, 8, DW_OP_bregx, 46, 0, DW_OP_mul, DW_OP_constu, 1, DW_OP_minus))
!78 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&core::panic::location::Location", baseType: !79, size: 64, align: 64, dwarfAddressSpace: 0)
!79 = !DICompositeType(tag: DW_TAG_structure_type, name: "Location", scope: !80, file: !10, size: 192, align: 64, flags: DIFlagPublic, elements: !82, templateParams: !31, identifier: "3b029dd4992b31a86fd1a2419673ce58")
!80 = !DINamespace(name: "location", scope: !81)
!81 = !DINamespace(name: "panic", scope: !67)
!82 = !{!83, !98, !100, !101}
!83 = !DIDerivedType(tag: DW_TAG_member, name: "filename", scope: !79, file: !10, baseType: !84, size: 128, align: 64, flags: DIFlagPrivate)
!84 = !DICompositeType(tag: DW_TAG_structure_type, name: "NonNull<str>", scope: !85, file: !10, size: 128, align: 64, flags: DIFlagPublic, elements: !86, templateParams: !93, identifier: "1d9b63673beb5a7526b1f85fc7d72848")
!85 = !DINamespace(name: "non_null", scope: !66)
!86 = !{!87}
!87 = !DIDerivedType(tag: DW_TAG_member, name: "pointer", scope: !84, file: !10, baseType: !88, size: 128, align: 64, flags: DIFlagPrivate)
!88 = !DICompositeType(tag: DW_TAG_structure_type, name: "*const str", file: !10, size: 128, align: 64, elements: !89, templateParams: !31, identifier: "9b6c4209945857e804225489e1f89f1")
!89 = !{!90, !92}
!90 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !88, file: !10, baseType: !91, size: 64, align: 64)
!91 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !49, size: 64, align: 64, dwarfAddressSpace: 0)
!92 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !88, file: !10, baseType: !17, size: 64, align: 64, offset: 64)
!93 = !{!94}
!94 = !DITemplateTypeParameter(name: "T", type: !95)
!95 = !DICompositeType(tag: DW_TAG_array_type, baseType: !49, align: 8, elements: !96)
!96 = !{!97}
!97 = !DISubrange(count: -1, lowerBound: 0)
!98 = !DIDerivedType(tag: DW_TAG_member, name: "line", scope: !79, file: !10, baseType: !99, size: 32, align: 32, offset: 128, flags: DIFlagPrivate)
!99 = !DIBasicType(name: "u32", size: 32, encoding: DW_ATE_unsigned)
!100 = !DIDerivedType(tag: DW_TAG_member, name: "col", scope: !79, file: !10, baseType: !99, size: 32, align: 32, offset: 160, flags: DIFlagPrivate)
!101 = !DIDerivedType(tag: DW_TAG_member, name: "_filename", scope: !79, file: !10, baseType: !102, align: 8, offset: 192, flags: DIFlagPrivate)
!102 = !DICompositeType(tag: DW_TAG_structure_type, name: "PhantomData<&str>", scope: !103, file: !10, align: 8, flags: DIFlagPublic, elements: !31, templateParams: !104, identifier: "5c57e193b23c3cacc0d6cd2ac8a21227")
!103 = !DINamespace(name: "marker", scope: !67)
!104 = !{!105}
!105 = !DITemplateTypeParameter(name: "T", type: !106)
!106 = !DICompositeType(tag: DW_TAG_structure_type, name: "&str", file: !10, size: 128, align: 64, elements: !107, templateParams: !31, identifier: "6fc9dd7daffb1f73292744aea0793200")
!107 = !{!108, !109}
!108 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !106, file: !10, baseType: !91, size: 64, align: 64)
!109 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !106, file: !10, baseType: !17, size: 64, align: 64, offset: 64)
!110 = !{!111, !112}
!111 = !DILocalVariable(name: "dst", arg: 1, scope: !64, file: !65, line: 1910, type: !70)
!112 = !DILocalVariable(name: "src", arg: 2, scope: !64, file: !65, line: 1910, type: !71)
!113 = !{!114}
!114 = !DITemplateTypeParameter(name: "T", type: !71)
!115 = !DILocation(line: 1910, column: 30, scope: !64)
!116 = !DILocation(line: 1910, column: 43, scope: !64)
!117 = !DILocation(line: 1933, column: 41, scope: !64)
!118 = !DILocation(line: 1935, column: 2, scope: !64)
!119 = distinct !DISubprogram(name: "__rust_begin_short_backtrace<fn(), ()>", linkageName: "std[388427d468d10f42]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>", scope: !121, file: !120, line: 162, type: !123, scopeLine: 162, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !129, retainedNodes: !125)
!120 = !DIFile(filename: "library/std/src/sys/backtrace.rs", directory: "/rustc/c1b22f44c3f30e186b829de95f59740c3a690aba", checksumkind: CSK_MD5, checksum: "0469076862be40bd9e65965440a24fae")
!121 = !DINamespace(name: "backtrace", scope: !122)
!122 = !DINamespace(name: "sys", scope: !25)
!123 = !DISubroutineType(types: !124)
!124 = !{null, !28}
!125 = !{!126, !127}
!126 = !DILocalVariable(name: "f", arg: 1, scope: !119, file: !120, line: 162, type: !28)
!127 = !DILocalVariable(name: "result", scope: !128, file: !120, line: 166, type: !15, align: 8)
!128 = distinct !DILexicalBlock(scope: !119, file: !120, line: 166, column: 5)
!129 = !{!130, !56}
!130 = !DITemplateTypeParameter(name: "F", type: !28)
!131 = !DILocation(line: 166, column: 9, scope: !128)
!132 = !DILocation(line: 162, column: 43, scope: !119)
!133 = !DILocalVariable(name: "dummy", scope: !134, file: !135, line: 490, type: !15, align: 8)
!134 = distinct !DISubprogram(name: "black_box<()>", linkageName: "_RINvNtCskdUINIdmcrt_4core4hint9black_boxuECs9goHTTpiXG9_7example", scope: !136, file: !135, line: 490, type: !137, scopeLine: 490, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !55, retainedNodes: !139)
!135 = !DIFile(filename: "library/core/src/hint.rs", directory: "/rustc/c1b22f44c3f30e186b829de95f59740c3a690aba", checksumkind: CSK_MD5, checksum: "720ecb12dbf1a304509abd161627e0e2")
!136 = !DINamespace(name: "hint", scope: !67)
!137 = !DISubroutineType(types: !138)
!138 = !{null, !15}
!139 = !{!133}
!140 = !DILocation(line: 490, column: 27, scope: !134, inlinedAt: !141)
!141 = !DILocation(line: 169, column: 5, scope: !128)
!142 = !DILocation(line: 166, column: 18, scope: !119)
!143 = !DILocation(line: 491, column: 5, scope: !134, inlinedAt: !141)
!144 = !{i64 43865669235365749}
!145 = !DILocation(line: 172, column: 2, scope: !119)
!146 = distinct !DISubprogram(name: "svext_s8<0>", linkageName: "core[eb910544b23df3b9]::core_arch::aarch64::sve::generated::svext_s8::<0i32>", scope: !148, file: !147, line: 10651, type: !149, scopeLine: 10651, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !31, retainedNodes: !151)
!147 = !DIFile(filename: "library/core/src/../../stdarch/crates/core_arch/src/aarch64/sve/generated.rs", directory: "/rustc/c1b22f44c3f30e186b829de95f59740c3a690aba", checksumkind: CSK_MD5, checksum: "2201ef561c9fd3be1318db197bb11bed")
!148 = !DINamespace(name: "generated", scope: !72)
!149 = !DISubroutineType(types: !150)
!150 = !{!71, !71, !71}
!151 = !{!152, !153}
!152 = !DILocalVariable(name: "op1", arg: 1, scope: !146, file: !147, line: 10651, type: !71)
!153 = !DILocalVariable(name: "op2", arg: 2, scope: !146, file: !147, line: 10651, type: !71)
!154 = !DILocation(line: 10651, column: 34, scope: !146)
!155 = !DILocation(line: 10651, column: 49, scope: !146)
!156 = !DILocation(line: 10657, column: 14, scope: !146)
!157 = !DILocation(line: 10658, column: 2, scope: !146)
!158 = distinct !DISubprogram(name: "{closure#0}<()>", linkageName: "std[388427d468d10f42]::rt::lang_start::<()>::{closure#0}", scope: !23, file: !43, line: 206, type: !159, scopeLine: 206, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !55, retainedNodes: !163)
!159 = !DISubroutineType(types: !160)
!160 = !{!161, !162}
!161 = !DIBasicType(name: "i32", size: 32, encoding: DW_ATE_signed)
!162 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&std::rt::lang_start::{closure_env#0}<()>", baseType: !22, size: 64, align: 64, dwarfAddressSpace: 0)
!163 = !{!164}
!164 = !DILocalVariable(name: "main", scope: !158, file: !43, line: 200, type: !28, align: 64)
!165 = !DILocation(line: 200, column: 5, scope: !158)
!166 = !DILocation(line: 206, column: 70, scope: !158)
!167 = !DILocation(line: 206, column: 18, scope: !158)
!168 = !DILocation(line: 206, column: 76, scope: !158)
!169 = !DILocalVariable(name: "self", arg: 1, scope: !170, file: !171, line: 2288, type: !172)
!170 = distinct !DISubprogram(name: "to_i32", linkageName: "_RNvMsO_NtCs4QPK7YcOVgc_3std7processNtB5_8ExitCode6to_i32Cs9goHTTpiXG9_7example", scope: !172, file: !171, line: 2288, type: !182, scopeLine: 2288, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !31, declaration: !184, retainedNodes: !185)
!171 = !DIFile(filename: "library/std/src/process.rs", directory: "/rustc/c1b22f44c3f30e186b829de95f59740c3a690aba", checksumkind: CSK_MD5, checksum: "aa32a342ec19ed053728e871b78cbd51")
!172 = !DICompositeType(tag: DW_TAG_structure_type, name: "ExitCode", scope: !173, file: !10, size: 8, align: 8, flags: DIFlagPublic, elements: !174, templateParams: !31, identifier: "97e956c622bc4420add4ace3f916a231")
!173 = !DINamespace(name: "process", scope: !25)
!174 = !{!175}
!175 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !172, file: !10, baseType: !176, size: 8, align: 8, flags: DIFlagPrivate)
!176 = !DICompositeType(tag: DW_TAG_structure_type, name: "ExitCode", scope: !177, file: !10, size: 8, align: 8, flags: DIFlagPublic, elements: !180, templateParams: !31, identifier: "269ceb7df2599e391fc4c4a10049da6a")
!177 = !DINamespace(name: "common", scope: !178)
!178 = !DINamespace(name: "unix", scope: !179)
!179 = !DINamespace(name: "process", scope: !122)
!180 = !{!181}
!181 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !176, file: !10, baseType: !49, size: 8, align: 8, flags: DIFlagPrivate)
!182 = !DISubroutineType(types: !183)
!183 = !{!161, !172}
!184 = !DISubprogram(name: "to_i32", linkageName: "_RNvMsO_NtCs4QPK7YcOVgc_3std7processNtB5_8ExitCode6to_i32Cs9goHTTpiXG9_7example", scope: !172, file: !171, line: 2288, type: !182, scopeLine: 2288, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit, templateParams: !31)
!185 = !{!169}
!186 = !DILocation(line: 2288, column: 19, scope: !170, inlinedAt: !187)
!187 = !DILocation(line: 206, column: 85, scope: !158)
!188 = !DILocation(line: 592, column: 9, scope: !189, inlinedAt: !195)
!189 = distinct !DISubprogram(name: "as_i32", linkageName: "_RNvMs8_NtNtNtNtCs4QPK7YcOVgc_3std3sys7process4unix6commonNtB5_8ExitCode6as_i32Cs9goHTTpiXG9_7example", scope: !176, file: !190, line: 591, type: !191, scopeLine: 591, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !31, declaration: !194)
!190 = !DIFile(filename: "library/std/src/sys/process/unix/common.rs", directory: "/rustc/c1b22f44c3f30e186b829de95f59740c3a690aba", checksumkind: CSK_MD5, checksum: "9ce13a63119e878727d165dd623553d1")
!191 = !DISubroutineType(types: !192)
!192 = !{!161, !193}
!193 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&std::sys::process::unix::common::ExitCode", baseType: !176, size: 64, align: 64, dwarfAddressSpace: 0)
!194 = !DISubprogram(name: "as_i32", linkageName: "_RNvMs8_NtNtNtNtCs4QPK7YcOVgc_3std3sys7process4unix6commonNtB5_8ExitCode6as_i32Cs9goHTTpiXG9_7example", scope: !176, file: !190, line: 591, type: !191, scopeLine: 591, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit, templateParams: !31)
!195 = !DILocation(line: 2289, column: 16, scope: !170, inlinedAt: !187)
!196 = !DILocation(line: 206, column: 93, scope: !158)
!197 = distinct !DISubprogram(name: "call_once<std::rt::lang_start::{closure_env#0}<()>, ()>", linkageName: "<std[388427d468d10f42]::rt::lang_start<()>::{closure#0} as core[eb910544b23df3b9]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}", scope: !199, file: !198, line: 250, type: !202, scopeLine: 250, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !208, retainedNodes: !205)
!198 = !DIFile(filename: "library/core/src/ops/function.rs", directory: "/rustc/c1b22f44c3f30e186b829de95f59740c3a690aba", checksumkind: CSK_MD5, checksum: "8466779208d53d3bb610fbc92b5a920f")
!199 = !DINamespace(name: "FnOnce", scope: !200)
!200 = !DINamespace(name: "function", scope: !201)
!201 = !DINamespace(name: "ops", scope: !67)
!202 = !DISubroutineType(types: !203)
!203 = !{!161, !204}
!204 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*mut std::rt::lang_start::{closure_env#0}<()>", baseType: !22, size: 64, align: 64, dwarfAddressSpace: 0)
!205 = !{!206, !207}
!206 = !DILocalVariable(arg: 1, scope: !197, file: !198, line: 250, type: !204)
!207 = !DILocalVariable(arg: 2, scope: !197, file: !198, line: 250, type: !15)
!208 = !{!209, !210}
!209 = !DITemplateTypeParameter(name: "Self", type: !22)
!210 = !DITemplateTypeParameter(name: "Args", type: !15)
!211 = !DILocation(line: 250, column: 5, scope: !197)
!212 = distinct !DISubprogram(name: "main", linkageName: "example[6be8c5fc5a3d8883]::main", scope: !2, file: !3, line: 27, type: !29, scopeLine: 27, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagMainSubprogram, unit: !39, templateParams: !31, retainedNodes: !213)
!213 = !{!214, !218, !220, !238}
!214 = !DILocalVariable(name: "__pred", scope: !215, file: !3, line: 29, type: !216, align: 128)
!215 = distinct !DILexicalBlock(scope: !212, file: !3, line: 29, column: 9)
!216 = !DIDerivedType(tag: DW_TAG_typedef, name: "svbool_t", scope: !72, file: !10, baseType: !217, align: 128)
!217 = !DICompositeType(tag: DW_TAG_array_type, baseType: !49, align: 128, flags: DIFlagVector, elements: !76, bitStride: i64 1)
!218 = !DILocalVariable(name: "op1_val", scope: !219, file: !3, line: 30, type: !71, align: 128)
!219 = distinct !DILexicalBlock(scope: !215, file: !3, line: 30, column: 9)
!220 = !DILocalVariable(name: "__c_return_value", scope: !221, file: !3, line: 32, type: !222, align: 128)
!221 = distinct !DILexicalBlock(scope: !219, file: !3, line: 32, column: 9)
!222 = !DICompositeType(tag: DW_TAG_union_type, name: "MaybeUninit<core::core_arch::aarch64::sve::svint8_t>", scope: !223, file: !10, size: 128, align: 128, elements: !225, templateParams: !113, identifier: "cf5054d85914b407a99f1c7990dbd7d4")
!223 = !DINamespace(name: "maybe_uninit", scope: !224)
!224 = !DINamespace(name: "mem", scope: !67)
!225 = !{!226, !227}
!226 = !DIDerivedType(tag: DW_TAG_member, name: "uninit", scope: !222, file: !10, baseType: !15, align: 8)
!227 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !222, file: !10, baseType: !228, size: 128, align: 128)
!228 = !DICompositeType(tag: DW_TAG_structure_type, name: "ManuallyDrop<core::core_arch::aarch64::sve::svint8_t>", scope: !229, file: !10, size: 128, align: 128, flags: DIFlagPublic, elements: !230, templateParams: !113, identifier: "fd0c5072335b7de9b6a291c9e906f67d")
!229 = !DINamespace(name: "manually_drop", scope: !224)
!230 = !{!231}
!231 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !228, file: !10, baseType: !232, size: 128, align: 128, flags: DIFlagPrivate)
!232 = !DICompositeType(tag: DW_TAG_structure_type, name: "MaybeDangling<core::core_arch::aarch64::sve::svint8_t>", scope: !233, file: !10, size: 128, align: 128, flags: DIFlagPublic, elements: !234, templateParams: !236, identifier: "a01fe42ed9fa44bf2ab261303f7822f1")
!233 = !DINamespace(name: "maybe_dangling", scope: !224)
!234 = !{!235}
!235 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !232, file: !10, baseType: !71, size: 128, align: 128, flags: DIFlagPrivate)
!236 = !{!237}
!237 = !DITemplateTypeParameter(name: "P", type: !71)
!238 = !DILocalVariable(name: "__c_return_value", scope: !239, file: !3, line: 34, type: !71, align: 128)
!239 = distinct !DILexicalBlock(scope: !221, file: !3, line: 34, column: 9)
!240 = !DILocalVariable(name: "self", arg: 1, scope: !241, file: !242, line: 722, type: !222)
!241 = distinct !DISubprogram(name: "assume_init<core::core_arch::aarch64::sve::svint8_t>", linkageName: "_RNvMs1_NtNtCskdUINIdmcrt_4core3mem12maybe_uninitINtB5_11MaybeUninitNtNtNtNtB9_9core_arch7aarch643sve8svint8_tE11assume_initCs9goHTTpiXG9_7example", scope: !222, file: !242, line: 722, type: !243, scopeLine: 722, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !113, declaration: !245, retainedNodes: !246)
!242 = !DIFile(filename: "library/core/src/mem/maybe_uninit.rs", directory: "/rustc/c1b22f44c3f30e186b829de95f59740c3a690aba", checksumkind: CSK_MD5, checksum: "753850f62371a69ad6dccfcd91108fd1")
!243 = !DISubroutineType(types: !244)
!244 = !{!71, !222, !78}
!245 = !DISubprogram(name: "assume_init<core::core_arch::aarch64::sve::svint8_t>", linkageName: "_RNvMs1_NtNtCskdUINIdmcrt_4core3mem12maybe_uninitINtB5_11MaybeUninitNtNtNtNtB9_9core_arch7aarch643sve8svint8_tE11assume_initCs9goHTTpiXG9_7example", scope: !222, file: !242, line: 722, type: !243, scopeLine: 722, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit, templateParams: !113)
!246 = !{!240}
!247 = !DILocation(line: 722, column: 37, scope: !241, inlinedAt: !248)
!248 = distinct !DILocation(line: 34, column: 49, scope: !221)
!249 = !DILocation(line: 32, column: 13, scope: !221)
!250 = !DILocation(line: 29, column: 22, scope: !212)
!251 = !DILocation(line: 29, column: 13, scope: !215)
!252 = !DILocalVariable(name: "self", arg: 1, scope: !253, file: !254, line: 728, type: !260)
!253 = distinct !DISubprogram(name: "as_ptr<i8>", linkageName: "_RNvMNtCskdUINIdmcrt_4core5sliceSa6as_ptrCs9goHTTpiXG9_7example", scope: !255, file: !254, line: 728, type: !257, scopeLine: 728, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !266, retainedNodes: !265)
!254 = !DIFile(filename: "library/core/src/slice/mod.rs", directory: "/rustc/c1b22f44c3f30e186b829de95f59740c3a690aba", checksumkind: CSK_MD5, checksum: "9537a1775d026072b09b36ee208a616a")
!255 = !DINamespace(name: "{impl#0}", scope: !256)
!256 = !DINamespace(name: "slice", scope: !67)
!257 = !DISubroutineType(types: !258)
!258 = !{!259, !260}
!259 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const i8", baseType: !5, size: 64, align: 64, dwarfAddressSpace: 0)
!260 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[i8]", file: !10, size: 128, align: 64, elements: !261, templateParams: !31, identifier: "f1450090cd92d2181e35615f79f530f7")
!261 = !{!262, !264}
!262 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !260, file: !10, baseType: !263, size: 64, align: 64)
!263 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !5, size: 64, align: 64, dwarfAddressSpace: 0)
!264 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !260, file: !10, baseType: !17, size: 64, align: 64, offset: 64)
!265 = !{!252}
!266 = !{!267}
!267 = !DITemplateTypeParameter(name: "T", type: !5)
!268 = !DILocation(line: 728, column: 25, scope: !253, inlinedAt: !269)
!269 = distinct !DILocation(line: 30, column: 47, scope: !215)
!270 = !DILocalVariable(name: "self", arg: 1, scope: !271, file: !272, line: 838, type: !259)
!271 = distinct !DISubprogram(name: "add<i8>", linkageName: "_RNvMNtNtCskdUINIdmcrt_4core3ptr9const_ptrPa3addCs9goHTTpiXG9_7example", scope: !273, file: !272, line: 838, type: !275, scopeLine: 838, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !266, retainedNodes: !277)
!272 = !DIFile(filename: "library/core/src/ptr/const_ptr.rs", directory: "/rustc/c1b22f44c3f30e186b829de95f59740c3a690aba", checksumkind: CSK_MD5, checksum: "7ff9ebcaa7b4b0ee9707afbc873e3700")
!273 = !DINamespace(name: "{impl#0}", scope: !274)
!274 = !DINamespace(name: "const_ptr", scope: !66)
!275 = !DISubroutineType(types: !276)
!276 = !{!259, !259, !17, !78}
!277 = !{!270, !278}
!278 = !DILocalVariable(name: "count", arg: 2, scope: !271, file: !272, line: 838, type: !17)
!279 = !DILocation(line: 838, column: 29, scope: !271, inlinedAt: !280)
!280 = distinct !DILocation(line: 30, column: 56, scope: !215)
!281 = !DILocation(line: 838, column: 35, scope: !271, inlinedAt: !280)
!282 = !DILocation(line: 30, column: 23, scope: !215)
!283 = !DILocation(line: 30, column: 13, scope: !219)
!284 = !DILocalVariable(name: "self", arg: 1, scope: !285, file: !242, line: 659, type: !288)
!285 = distinct !DISubprogram(name: "as_mut_ptr<core::core_arch::aarch64::sve::svint8_t>", linkageName: "_RNvMs1_NtNtCskdUINIdmcrt_4core3mem12maybe_uninitINtB5_11MaybeUninitNtNtNtNtB9_9core_arch7aarch643sve8svint8_tE10as_mut_ptrCs9goHTTpiXG9_7example", scope: !222, file: !242, line: 659, type: !286, scopeLine: 659, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !113, declaration: !289, retainedNodes: !290)
!286 = !DISubroutineType(types: !287)
!287 = !{!70, !288}
!288 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut core::mem::maybe_uninit::MaybeUninit<core::core_arch::aarch64::sve::svint8_t>", baseType: !222, size: 64, align: 64, dwarfAddressSpace: 0)
!289 = !DISubprogram(name: "as_mut_ptr<core::core_arch::aarch64::sve::svint8_t>", linkageName: "_RNvMs1_NtNtCskdUINIdmcrt_4core3mem12maybe_uninitINtB5_11MaybeUninitNtNtNtNtB9_9core_arch7aarch643sve8svint8_tE10as_mut_ptrCs9goHTTpiXG9_7example", scope: !222, file: !242, line: 659, type: !286, scopeLine: 659, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit, templateParams: !113)
!290 = !{!284}
!291 = !DILocation(line: 659, column: 29, scope: !285, inlinedAt: !292)
!292 = distinct !DILocation(line: 33, column: 42, scope: !221)
!293 = !DILocation(line: 33, column: 56, scope: !221)
!294 = !DILocation(line: 33, column: 9, scope: !221)
!295 = !DILocation(line: 34, column: 32, scope: !221)
!296 = !DILocation(line: 729, column: 13, scope: !241, inlinedAt: !248)
!297 = !DILocalVariable(name: "self", arg: 1, scope: !298, file: !272, line: 48, type: !302)
!298 = distinct !DISubprogram(name: "cast<core::mem::manually_drop::ManuallyDrop<core::core_arch::aarch64::sve::svint8_t>, core::core_arch::aarch64::sve::svint8_t>", linkageName: "_RINvMNtNtCskdUINIdmcrt_4core3ptr9const_ptrPINtNtNtB7_3mem13manually_drop12ManuallyDropNtNtNtNtB7_9core_arch7aarch643sve8svint8_tE4castB1m_ECs9goHTTpiXG9_7example", scope: !273, file: !272, line: 48, type: !299, scopeLine: 48, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !304, retainedNodes: !303)
!299 = !DISubroutineType(types: !300)
!300 = !{!301, !302}
!301 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::core_arch::aarch64::sve::svint8_t", baseType: !71, size: 64, align: 64, dwarfAddressSpace: 0)
!302 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::mem::manually_drop::ManuallyDrop<core::core_arch::aarch64::sve::svint8_t>", baseType: !228, size: 64, align: 64, dwarfAddressSpace: 0)
!303 = !{!297}
!304 = !{!305, !306}
!305 = !DITemplateTypeParameter(name: "T", type: !228)
!306 = !DITemplateTypeParameter(name: "U", type: !71)
!307 = !DILocation(line: 48, column: 26, scope: !298, inlinedAt: !308)
!308 = distinct !DILocation(line: 729, column: 37, scope: !241, inlinedAt: !248)
!309 = !DILocation(line: 49, column: 9, scope: !298, inlinedAt: !308)
!310 = !DILocalVariable(name: "self", arg: 1, scope: !311, file: !272, line: 1148, type: !301)
!311 = distinct !DISubprogram(name: "read<core::core_arch::aarch64::sve::svint8_t>", linkageName: "_RNvMNtNtCskdUINIdmcrt_4core3ptr9const_ptrPNtNtNtNtB6_9core_arch7aarch643sve8svint8_t4readCs9goHTTpiXG9_7example", scope: !273, file: !272, line: 1148, type: !312, scopeLine: 1148, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !113, retainedNodes: !314)
!312 = !DISubroutineType(types: !313)
!313 = !{!71, !301, !78}
!314 = !{!310}
!315 = !DILocation(line: 1148, column: 30, scope: !311, inlinedAt: !316)
!316 = distinct !DILocation(line: 729, column: 49, scope: !241, inlinedAt: !248)
!317 = !DILocalVariable(name: "src", arg: 1, scope: !318, file: !65, line: 1694, type: !301)
!318 = distinct !DISubprogram(name: "read<core::core_arch::aarch64::sve::svint8_t>", linkageName: "_RINvNtCskdUINIdmcrt_4core3ptr4readNtNtNtNtB4_9core_arch7aarch643sve8svint8_tECs9goHTTpiXG9_7example", scope: !66, file: !65, line: 1694, type: !312, scopeLine: 1694, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !113, retainedNodes: !319)
!319 = !{!317}
!320 = !DILocation(line: 1694, column: 29, scope: !318, inlinedAt: !321)
!321 = distinct !DILocation(line: 1153, column: 18, scope: !311, inlinedAt: !316)
!322 = !DILocation(line: 1733, column: 9, scope: !318, inlinedAt: !321)
!323 = !DILocation(line: 34, column: 49, scope: !221)
!324 = !DILocation(line: 34, column: 13, scope: !239)
!325 = !DILocation(line: 36, column: 2, scope: !212)
!326 = distinct !DISubprogram(name: "svptrue_b8", linkageName: "core[eb910544b23df3b9]::core_arch::aarch64::sve::generated::svptrue_b8", scope: !148, file: !147, line: 31832, type: !327, scopeLine: 31832, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !31)
!327 = !DISubroutineType(types: !328)
!328 = !{!216}
!329 = !DILocation(line: 31873, column: 14, scope: !330, inlinedAt: !331)
!330 = distinct !DISubprogram(name: "svptrue_pat_b8<{CONST#5e1c51f31233fb5b}>", linkageName: "_RINvNtNtNtNtCskdUINIdmcrt_4core9core_arch7aarch643sve9generated14svptrue_pat_b8KVNtNtB4_9svpattern6SV_ALLUECs9goHTTpiXG9_7example", scope: !148, file: !147, line: 31868, type: !327, scopeLine: 31868, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !31)
!331 = !DILocation(line: 31833, column: 5, scope: !326)
!332 = !DILocation(line: 31834, column: 2, scope: !326)
!333 = distinct !DISubprogram(name: "svld1_s8", linkageName: "core[eb910544b23df3b9]::core_arch::aarch64::sve::generated::svld1_s8", scope: !148, file: !147, line: 11854, type: !334, scopeLine: 11854, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !31, retainedNodes: !336)
!334 = !DISubroutineType(types: !335)
!335 = !{!71, !216, !259}
!336 = !{!337, !338}
!337 = !DILocalVariable(name: "pg", arg: 1, scope: !333, file: !147, line: 11854, type: !216)
!338 = !DILocalVariable(name: "base", arg: 2, scope: !333, file: !147, line: 11854, type: !259)
!339 = !DILocation(line: 11854, column: 24, scope: !333)
!340 = !DILocation(line: 11854, column: 38, scope: !333)
!341 = !DILocation(line: 11859, column: 5, scope: !333)
!342 = !DILocation(line: 11860, column: 2, scope: !333)
!343 = distinct !DISubprogram(name: "report", linkageName: "<() as std[388427d468d10f42]::process::Termination>::report", scope: !344, file: !171, line: 2690, type: !345, scopeLine: 2690, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !31, retainedNodes: !347)
!344 = !DINamespace(name: "{impl#58}", scope: !173)
!345 = !DISubroutineType(types: !346)
!346 = !{!172, !15}
!347 = !{!348}
!348 = !DILocalVariable(arg: 1, scope: !343, file: !171, line: 2690, type: !15)
!349 = !DILocation(line: 2690, column: 15, scope: !343)
!350 = !DILocation(line: 2692, column: 6, scope: !343)
!351 = distinct !DISubprogram(name: "call_once<fn(), ()>", linkageName: "<fn() as core[eb910544b23df3b9]::ops::function::FnOnce<()>>::call_once", scope: !199, file: !198, line: 250, type: !123, scopeLine: 250, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !355, retainedNodes: !352)
!352 = !{!353, !354}
!353 = !DILocalVariable(arg: 1, scope: !351, file: !198, line: 250, type: !28)
!354 = !DILocalVariable(arg: 2, scope: !351, file: !198, line: 250, type: !15)
!355 = !{!356, !210}
!356 = !DITemplateTypeParameter(name: "Self", type: !28)
!357 = !DILocation(line: 250, column: 5, scope: !351)
!358 = distinct !DISubprogram(name: "call_once<std::rt::lang_start::{closure_env#0}<()>, ()>", linkageName: "<std[388427d468d10f42]::rt::lang_start<()>::{closure#0} as core[eb910544b23df3b9]::ops::function::FnOnce<()>>::call_once", scope: !199, file: !198, line: 250, type: !359, scopeLine: 250, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !39, templateParams: !208, retainedNodes: !361)
!359 = !DISubroutineType(types: !360)
!360 = !{!161, !22}
!361 = !{!362, !363}
!362 = !DILocalVariable(arg: 1, scope: !358, file: !198, line: 250, type: !22)
!363 = !DILocalVariable(arg: 2, scope: !358, file: !198, line: 250, type: !15)
!364 = !DILocation(line: 250, column: 5, scope: !358)
In rustc, when emitting a
#dbg_declarefor an alloca of scalable vector types with-O0, we run into a "Cannot implicitly convert a scalable size to a fixed-width size inTypeSize::operator ScalarTy()" ICE. This appears to be due to GlobalISel being used on-O0and LLVM not properly falling back to SDAG, which supports scalable vectors.Here's a reproduction on godbolt - https://godbolt.org/z/zxf8YcWz6 - though this might not continue to reproduce once rustc is patched to avoid this issue, but if you use "rustc 1.98.0-nightly (9e2abe0c6 2026-06-16)" (
rustup update nightly-2026-06-16) then it should work (I just can't select that on godbolt).Full LLVM IR
#dbg_declare(ptr %_13, !240, !DIExpression(), !247)is the specific line that causes the ICE.