Skip to content

Instantly share code, notes, and snippets.

@TimNN
Created February 28, 2017 12:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TimNN/49b1f374071614a98aa4936794f33265 to your computer and use it in GitHub Desktop.
Save TimNN/49b1f374071614a98aa4936794f33265 to your computer and use it in GitHub Desktop.
; ModuleID = 'packed_struct_vec.cgu-0.rs'
source_filename = "packed_struct_vec.cgu-0.rs"
target datalayout = "e-p:32:32-i64:64-v128:32:128-n32-S128"
target triple = "asmjs-unknown-emscripten"
%str_slice = type { i8*, i32 }
%"core::fmt::Formatter" = type { i32, i32, i8, %"core::option::Option<usize>", %"core::option::Option<usize>", { i8*, void (i8*)** }, %"core::slice::Iter<core::fmt::ArgumentV1>", { %"core::fmt::ArgumentV1"*, i32 } }
%"core::option::Option<usize>" = type { i32, [0 x i32], [1 x i32] }
%"core::slice::Iter<core::fmt::ArgumentV1>" = type { %"core::fmt::ArgumentV1"*, %"core::fmt::ArgumentV1"*, %"core::marker::PhantomData<&core::fmt::ArgumentV1>" }
%"core::fmt::ArgumentV1" = type { %"core::fmt::Void"*, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* }
%"core::fmt::Void" = type { {} }
%"core::marker::PhantomData<&core::fmt::ArgumentV1>" = type {}
%"core::fmt::Arguments" = type { { %str_slice*, i32 }, %"core::option::Option<&[core::fmt::rt::v1::Argument]>", { %"core::fmt::ArgumentV1"*, i32 } }
%"core::option::Option<&[core::fmt::rt::v1::Argument]>" = type { { %"core::fmt::rt::v1::Argument"*, i32 } }
%"core::fmt::rt::v1::Argument" = type { %"core::fmt::rt::v1::Position", %"core::fmt::rt::v1::FormatSpec" }
%"core::fmt::rt::v1::Position" = type { i32, [0 x i32], [1 x i32] }
%"core::fmt::rt::v1::FormatSpec" = type { i32, i8, i32, %"core::fmt::rt::v1::Count", %"core::fmt::rt::v1::Count" }
%"core::fmt::rt::v1::Count" = type { i32, [0 x i32], [1 x i32] }
%Foo = type <{ i8, i64 }>
%"core::fmt::builders::DebugStruct" = type { %"core::fmt::Formatter"*, %"core::result::Result<(), core::fmt::Error>", i8 }
%"core::result::Result<(), core::fmt::Error>" = type { i8, [0 x i8], [0 x i8] }
%"unwind::libunwind::_Unwind_Exception" = type { i64, void (i32, %"unwind::libunwind::_Unwind_Exception"*)*, [20 x i32] }
%"unwind::libunwind::_Unwind_Context" = type {}
@_ZN17packed_struct_vec4main10_FILE_LINE17h742f8a6aef657c3aE = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([48 x i8], [48 x i8]* @str.2, i32 0, i32 0), i32 48 }, i32 33 }, align 4
@vtable.0 = internal unnamed_addr constant { void (i8*)*, i32, i32, i64 (%str_slice*)* } { void (i8*)* @_ZN4drop17hb95dc24c08c19112E, i32 8, i32 4, i64 (%str_slice*)* @"_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$11get_type_id17h047895f63f73a2e6E" }, align 8
@str.2 = internal constant [48 x i8] c"/checkout/src/test/run-pass/packed-struct-vec.rs"
@ref.4 = internal unnamed_addr constant <{ i8, i64 }> <{ i8 1, i64 2 }>, align 1
@str.6 = internal constant [23 x i8] c"assertion failed: false"
@str.7 = internal constant [3 x i8] c"Foo"
@str.8 = internal constant [3 x i8] c"bar"
@vtable.9 = internal unnamed_addr constant { void (i8*)*, i32, i32, i8 (i8**, %"core::fmt::Formatter"*)* } { void (i8*)* @_ZN4drop17hb95dc24c08c19112E, i32 4, i32 4, i8 (i8**, %"core::fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h45cb7058e2aee2d9E" }, align 8
@str.a = internal constant [3 x i8] c"baz"
@vtable.b = internal unnamed_addr constant { void (i8*)*, i32, i32, i8 (i64**, %"core::fmt::Formatter"*)* } { void (i8*)* @_ZN4drop17hb95dc24c08c19112E, i32 4, i32 4, i8 (i64**, %"core::fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h556e94f998483d41E" }, align 8
@str.g = internal constant [0 x i8] zeroinitializer
@str.h = internal constant [2 x i8] c", "
@str.i = internal constant [1 x i8] c"\0A"
@ref.j = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.g, i32 0, i32 0), i32 0 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.h, i32 0, i32 0), i32 2 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.i, i32 0, i32 0), i32 1 }], align 4
; Function Attrs: norecurse nounwind readnone uwtable
define internal i64 @"_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$11get_type_id17h047895f63f73a2e6E"(%str_slice* noalias nocapture readonly dereferenceable(8)) unnamed_addr #0 {
entry-block:
ret i64 4721040525823384027
}
; Function Attrs: cold noinline noreturn uwtable
define internal fastcc void @_ZN3std9panicking11begin_panic17h2fb99fe31af45536E() unnamed_addr #1 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality {
entry-block:
%0 = tail call i8* @__rust_allocate(i32 8, i32 4) #6
%1 = icmp eq i8* %0, null
br i1 %1, label %bb5.i.i, label %"_ZN35_$LT$alloc..boxed..Box$LT$T$GT$$GT$3new17h25fa2ac717ae529dE.exit"
bb5.i.i: ; preds = %entry-block
tail call void @_ZN5alloc3oom3oom17h418421088806e038E()
unreachable
"_ZN35_$LT$alloc..boxed..Box$LT$T$GT$$GT$3new17h25fa2ac717ae529dE.exit": ; preds = %entry-block
%2 = bitcast i8* %0 to i8**
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.6, i32 0, i32 0), i8** %2, align 4
%3 = getelementptr inbounds i8, i8* %0, i32 4
%4 = bitcast i8* %3 to i32*
store i32 23, i32* %4, align 4
tail call void @_ZN3std9panicking20rust_panic_with_hook17hd0067971b6d1240eE(i8* noalias nonnull %0, void (i8*)** noalias nonnull readonly getelementptr inbounds ({ void (i8*)*, i32, i32, i64 (%str_slice*)* }, { void (i8*)*, i32, i32, i64 (%str_slice*)* }* @vtable.0, i32 0, i32 0), { %str_slice, i32 }* noalias nonnull readonly dereferenceable(12) @_ZN17packed_struct_vec4main10_FILE_LINE17h742f8a6aef657c3aE)
unreachable
}
; Function Attrs: norecurse nounwind readnone
define internal void @_ZN4drop17hb95dc24c08c19112E(i8* nocapture) unnamed_addr #2 {
entry-block:
ret void
}
; Function Attrs: uwtable
define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h45cb7058e2aee2d9E"(i8** noalias nocapture readonly dereferenceable(4), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr #3 {
entry-block:
%2 = load i8*, i8** %0, align 4, !nonnull !1
%3 = tail call i8 @"_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u8$GT$3fmt17h0dc9512fc28cd51cE"(i8* noalias nonnull readonly dereferenceable(1) %2, %"core::fmt::Formatter"* nonnull dereferenceable(52) %1)
ret i8 %3
}
; Function Attrs: uwtable
define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h556e94f998483d41E"(i64** noalias nocapture readonly dereferenceable(4), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr #3 {
entry-block:
%2 = load i64*, i64** %0, align 4, !nonnull !1
%3 = tail call i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u64$GT$3fmt17h584eddf15951a517E"(i64* noalias nonnull readonly dereferenceable(8) %2, %"core::fmt::Formatter"* nonnull dereferenceable(52) %1)
ret i8 %3
}
; Function Attrs: noreturn uwtable
define internal void @_ZN17packed_struct_vec4main17h23fbd31e25036237E() unnamed_addr #4 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality {
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6c5aa89dcd825372E.exit.lr.ph":
%_84 = alloca [2 x %"core::fmt::ArgumentV1"], align 8
%_79 = alloca %"core::fmt::Arguments", align 8
%foo = alloca %Foo, align 8
%_52 = alloca [2 x %"core::fmt::ArgumentV1"], align 8
%_47 = alloca %"core::fmt::Arguments", align 8
%foos = alloca [10 x %Foo], align 8
%0 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 0, i32 0
call void @llvm.lifetime.start(i64 90, i8* nonnull %0)
%1 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 0
%2 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 10
%3 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 0, i32 0
store i8 1, i8* %3, align 8
%4 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 0, i32 1
store i64 2, i64* %4, align 8
%5 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 1, i32 0
store i8 1, i8* %5, align 1
%6 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 1, i32 1
store i64 2, i64* %6, align 8
%7 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 2, i32 0
store i8 1, i8* %7, align 2
%8 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 2, i32 1
store i64 2, i64* %8, align 8
%9 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 3, i32 0
store i8 1, i8* %9, align 1
%10 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 3, i32 1
store i64 2, i64* %10, align 8
%11 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 4, i32 0
store i8 1, i8* %11, align 4
%12 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 4, i32 1
store i64 2, i64* %12, align 8
%13 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 5, i32 0
store i8 1, i8* %13, align 1
%14 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 5, i32 1
store i64 2, i64* %14, align 8
%15 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 6, i32 0
store i8 1, i8* %15, align 2
%16 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 6, i32 1
store i64 2, i64* %16, align 8
%17 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 7, i32 0
store i8 1, i8* %17, align 1
%18 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 7, i32 1
store i64 2, i64* %18, align 8
%19 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 8, i32 0
store i8 1, i8* %19, align 8
%20 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 8, i32 1
store i64 2, i64* %20, align 8
%21 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 9, i32 0
store i8 1, i8* %21, align 1
%22 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 9, i32 1
store i64 2, i64* %22, align 8
%23 = bitcast %"core::fmt::Arguments"* %_47 to i8*
%24 = bitcast [2 x %"core::fmt::ArgumentV1"]* %_52 to i8*
%25 = bitcast [2 x %"core::fmt::ArgumentV1"]* %_52 to i32*
%26 = getelementptr inbounds [2 x %"core::fmt::ArgumentV1"], [2 x %"core::fmt::ArgumentV1"]* %_52, i32 0, i32 0, i32 1
%27 = bitcast i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %26 to i32*
%28 = getelementptr inbounds [2 x %"core::fmt::ArgumentV1"], [2 x %"core::fmt::ArgumentV1"]* %_52, i32 0, i32 1
%29 = bitcast %"core::fmt::ArgumentV1"* %28 to i32*
%30 = getelementptr inbounds [2 x %"core::fmt::ArgumentV1"], [2 x %"core::fmt::ArgumentV1"]* %_52, i32 0, i32 1, i32 1
%31 = bitcast i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %30 to i32*
%32 = getelementptr inbounds [2 x %"core::fmt::ArgumentV1"], [2 x %"core::fmt::ArgumentV1"]* %_52, i32 0, i32 0
%33 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %_47, i32 0, i32 0, i32 0
%34 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %_47, i32 0, i32 0, i32 1
%_6.sroa.0.0..sroa_idx.i23 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %_47, i32 0, i32 1, i32 0, i32 0
%35 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %_47, i32 0, i32 2, i32 0
%36 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %_47, i32 0, i32 2, i32 1
call void @llvm.lifetime.start(i64 24, i8* nonnull %23)
call void @llvm.lifetime.start(i64 16, i8* nonnull %24)
%37 = ptrtoint [10 x %Foo]* %foos to i32
store i32 %37, i32* %25, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %27, align 4
store i32 ptrtoint (<{ i8, i64 }>* @ref.4 to i32), i32* %29, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %31, align 4
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.j, i32 0, i32 0), %str_slice** %33, align 8, !alias.scope !2, !noalias !5
store i32 3, i32* %34, align 4, !alias.scope !2, !noalias !5
store %"core::fmt::rt::v1::Argument"* null, %"core::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i23, align 8, !alias.scope !2, !noalias !5
store %"core::fmt::ArgumentV1"* %32, %"core::fmt::ArgumentV1"** %35, align 8, !alias.scope !2, !noalias !5
store i32 2, i32* %36, align 4, !alias.scope !2, !noalias !5
call void @_ZN3std2io5stdio6_print17h83b8589704f0a522E(%"core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %_47)
call void @llvm.lifetime.end(i64 24, i8* nonnull %23)
call void @llvm.lifetime.end(i64 16, i8* nonnull %24)
call void @llvm.lifetime.start(i64 24, i8* nonnull %23)
call void @llvm.lifetime.start(i64 16, i8* nonnull %24)
%38 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 1
%39 = ptrtoint %Foo* %38 to i32
store i32 %39, i32* %25, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %27, align 4
store i32 ptrtoint (<{ i8, i64 }>* @ref.4 to i32), i32* %29, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %31, align 4
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.j, i32 0, i32 0), %str_slice** %33, align 8, !alias.scope !2, !noalias !5
store i32 3, i32* %34, align 4, !alias.scope !2, !noalias !5
store %"core::fmt::rt::v1::Argument"* null, %"core::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i23, align 8, !alias.scope !2, !noalias !5
store %"core::fmt::ArgumentV1"* %32, %"core::fmt::ArgumentV1"** %35, align 8, !alias.scope !2, !noalias !5
store i32 2, i32* %36, align 4, !alias.scope !2, !noalias !5
call void @_ZN3std2io5stdio6_print17h83b8589704f0a522E(%"core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %_47)
call void @llvm.lifetime.end(i64 24, i8* nonnull %23)
call void @llvm.lifetime.end(i64 16, i8* nonnull %24)
call void @llvm.lifetime.start(i64 24, i8* nonnull %23)
call void @llvm.lifetime.start(i64 16, i8* nonnull %24)
%40 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 2
%41 = ptrtoint %Foo* %40 to i32
store i32 %41, i32* %25, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %27, align 4
store i32 ptrtoint (<{ i8, i64 }>* @ref.4 to i32), i32* %29, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %31, align 4
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.j, i32 0, i32 0), %str_slice** %33, align 8, !alias.scope !2, !noalias !5
store i32 3, i32* %34, align 4, !alias.scope !2, !noalias !5
store %"core::fmt::rt::v1::Argument"* null, %"core::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i23, align 8, !alias.scope !2, !noalias !5
store %"core::fmt::ArgumentV1"* %32, %"core::fmt::ArgumentV1"** %35, align 8, !alias.scope !2, !noalias !5
store i32 2, i32* %36, align 4, !alias.scope !2, !noalias !5
call void @_ZN3std2io5stdio6_print17h83b8589704f0a522E(%"core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %_47)
call void @llvm.lifetime.end(i64 24, i8* nonnull %23)
call void @llvm.lifetime.end(i64 16, i8* nonnull %24)
call void @llvm.lifetime.start(i64 24, i8* nonnull %23)
call void @llvm.lifetime.start(i64 16, i8* nonnull %24)
%42 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 3
%43 = ptrtoint %Foo* %42 to i32
store i32 %43, i32* %25, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %27, align 4
store i32 ptrtoint (<{ i8, i64 }>* @ref.4 to i32), i32* %29, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %31, align 4
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.j, i32 0, i32 0), %str_slice** %33, align 8, !alias.scope !2, !noalias !5
store i32 3, i32* %34, align 4, !alias.scope !2, !noalias !5
store %"core::fmt::rt::v1::Argument"* null, %"core::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i23, align 8, !alias.scope !2, !noalias !5
store %"core::fmt::ArgumentV1"* %32, %"core::fmt::ArgumentV1"** %35, align 8, !alias.scope !2, !noalias !5
store i32 2, i32* %36, align 4, !alias.scope !2, !noalias !5
call void @_ZN3std2io5stdio6_print17h83b8589704f0a522E(%"core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %_47)
call void @llvm.lifetime.end(i64 24, i8* nonnull %23)
call void @llvm.lifetime.end(i64 16, i8* nonnull %24)
call void @llvm.lifetime.start(i64 24, i8* nonnull %23)
call void @llvm.lifetime.start(i64 16, i8* nonnull %24)
%44 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 4
%45 = ptrtoint %Foo* %44 to i32
store i32 %45, i32* %25, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %27, align 4
store i32 ptrtoint (<{ i8, i64 }>* @ref.4 to i32), i32* %29, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %31, align 4
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.j, i32 0, i32 0), %str_slice** %33, align 8, !alias.scope !2, !noalias !5
store i32 3, i32* %34, align 4, !alias.scope !2, !noalias !5
store %"core::fmt::rt::v1::Argument"* null, %"core::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i23, align 8, !alias.scope !2, !noalias !5
store %"core::fmt::ArgumentV1"* %32, %"core::fmt::ArgumentV1"** %35, align 8, !alias.scope !2, !noalias !5
store i32 2, i32* %36, align 4, !alias.scope !2, !noalias !5
call void @_ZN3std2io5stdio6_print17h83b8589704f0a522E(%"core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %_47)
call void @llvm.lifetime.end(i64 24, i8* nonnull %23)
call void @llvm.lifetime.end(i64 16, i8* nonnull %24)
call void @llvm.lifetime.start(i64 24, i8* nonnull %23)
call void @llvm.lifetime.start(i64 16, i8* nonnull %24)
%46 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 5
%47 = ptrtoint %Foo* %46 to i32
store i32 %47, i32* %25, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %27, align 4
store i32 ptrtoint (<{ i8, i64 }>* @ref.4 to i32), i32* %29, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %31, align 4
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.j, i32 0, i32 0), %str_slice** %33, align 8, !alias.scope !2, !noalias !5
store i32 3, i32* %34, align 4, !alias.scope !2, !noalias !5
store %"core::fmt::rt::v1::Argument"* null, %"core::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i23, align 8, !alias.scope !2, !noalias !5
store %"core::fmt::ArgumentV1"* %32, %"core::fmt::ArgumentV1"** %35, align 8, !alias.scope !2, !noalias !5
store i32 2, i32* %36, align 4, !alias.scope !2, !noalias !5
call void @_ZN3std2io5stdio6_print17h83b8589704f0a522E(%"core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %_47)
call void @llvm.lifetime.end(i64 24, i8* nonnull %23)
call void @llvm.lifetime.end(i64 16, i8* nonnull %24)
call void @llvm.lifetime.start(i64 24, i8* nonnull %23)
call void @llvm.lifetime.start(i64 16, i8* nonnull %24)
%48 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 6
%49 = ptrtoint %Foo* %48 to i32
store i32 %49, i32* %25, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %27, align 4
store i32 ptrtoint (<{ i8, i64 }>* @ref.4 to i32), i32* %29, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %31, align 4
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.j, i32 0, i32 0), %str_slice** %33, align 8, !alias.scope !2, !noalias !5
store i32 3, i32* %34, align 4, !alias.scope !2, !noalias !5
store %"core::fmt::rt::v1::Argument"* null, %"core::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i23, align 8, !alias.scope !2, !noalias !5
store %"core::fmt::ArgumentV1"* %32, %"core::fmt::ArgumentV1"** %35, align 8, !alias.scope !2, !noalias !5
store i32 2, i32* %36, align 4, !alias.scope !2, !noalias !5
call void @_ZN3std2io5stdio6_print17h83b8589704f0a522E(%"core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %_47)
call void @llvm.lifetime.end(i64 24, i8* nonnull %23)
call void @llvm.lifetime.end(i64 16, i8* nonnull %24)
call void @llvm.lifetime.start(i64 24, i8* nonnull %23)
call void @llvm.lifetime.start(i64 16, i8* nonnull %24)
%50 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 7
%51 = ptrtoint %Foo* %50 to i32
store i32 %51, i32* %25, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %27, align 4
store i32 ptrtoint (<{ i8, i64 }>* @ref.4 to i32), i32* %29, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %31, align 4
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.j, i32 0, i32 0), %str_slice** %33, align 8, !alias.scope !2, !noalias !5
store i32 3, i32* %34, align 4, !alias.scope !2, !noalias !5
store %"core::fmt::rt::v1::Argument"* null, %"core::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i23, align 8, !alias.scope !2, !noalias !5
store %"core::fmt::ArgumentV1"* %32, %"core::fmt::ArgumentV1"** %35, align 8, !alias.scope !2, !noalias !5
store i32 2, i32* %36, align 4, !alias.scope !2, !noalias !5
call void @_ZN3std2io5stdio6_print17h83b8589704f0a522E(%"core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %_47)
call void @llvm.lifetime.end(i64 24, i8* nonnull %23)
call void @llvm.lifetime.end(i64 16, i8* nonnull %24)
call void @llvm.lifetime.start(i64 24, i8* nonnull %23)
call void @llvm.lifetime.start(i64 16, i8* nonnull %24)
%52 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 8
%53 = ptrtoint %Foo* %52 to i32
store i32 %53, i32* %25, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %27, align 4
store i32 ptrtoint (<{ i8, i64 }>* @ref.4 to i32), i32* %29, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %31, align 4
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.j, i32 0, i32 0), %str_slice** %33, align 8, !alias.scope !2, !noalias !5
store i32 3, i32* %34, align 4, !alias.scope !2, !noalias !5
store %"core::fmt::rt::v1::Argument"* null, %"core::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i23, align 8, !alias.scope !2, !noalias !5
store %"core::fmt::ArgumentV1"* %32, %"core::fmt::ArgumentV1"** %35, align 8, !alias.scope !2, !noalias !5
store i32 2, i32* %36, align 4, !alias.scope !2, !noalias !5
call void @_ZN3std2io5stdio6_print17h83b8589704f0a522E(%"core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %_47)
call void @llvm.lifetime.end(i64 24, i8* nonnull %23)
call void @llvm.lifetime.end(i64 16, i8* nonnull %24)
call void @llvm.lifetime.start(i64 24, i8* nonnull %23)
call void @llvm.lifetime.start(i64 16, i8* nonnull %24)
%54 = getelementptr inbounds [10 x %Foo], [10 x %Foo]* %foos, i32 0, i32 9
%55 = ptrtoint %Foo* %54 to i32
store i32 %55, i32* %25, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %27, align 4
store i32 ptrtoint (<{ i8, i64 }>* @ref.4 to i32), i32* %29, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %31, align 4
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.j, i32 0, i32 0), %str_slice** %33, align 8, !alias.scope !2, !noalias !5
store i32 3, i32* %34, align 4, !alias.scope !2, !noalias !5
store %"core::fmt::rt::v1::Argument"* null, %"core::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i23, align 8, !alias.scope !2, !noalias !5
store %"core::fmt::ArgumentV1"* %32, %"core::fmt::ArgumentV1"** %35, align 8, !alias.scope !2, !noalias !5
store i32 2, i32* %36, align 4, !alias.scope !2, !noalias !5
call void @_ZN3std2io5stdio6_print17h83b8589704f0a522E(%"core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %_47)
call void @llvm.lifetime.end(i64 24, i8* nonnull %23)
call void @llvm.lifetime.end(i64 16, i8* nonnull %24)
%56 = getelementptr inbounds %Foo, %Foo* %foo, i32 0, i32 0
%57 = getelementptr inbounds %Foo, %Foo* %foo, i32 0, i32 1
%58 = bitcast %"core::fmt::Arguments"* %_79 to i8*
%59 = bitcast [2 x %"core::fmt::ArgumentV1"]* %_84 to i8*
%60 = ptrtoint %Foo* %foo to i32
%61 = bitcast [2 x %"core::fmt::ArgumentV1"]* %_84 to i32*
%62 = getelementptr inbounds [2 x %"core::fmt::ArgumentV1"], [2 x %"core::fmt::ArgumentV1"]* %_84, i32 0, i32 0, i32 1
%63 = bitcast i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %62 to i32*
%64 = getelementptr inbounds [2 x %"core::fmt::ArgumentV1"], [2 x %"core::fmt::ArgumentV1"]* %_84, i32 0, i32 1
%65 = bitcast %"core::fmt::ArgumentV1"* %64 to i32*
%66 = getelementptr inbounds [2 x %"core::fmt::ArgumentV1"], [2 x %"core::fmt::ArgumentV1"]* %_84, i32 0, i32 1, i32 1
%67 = bitcast i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %66 to i32*
%68 = getelementptr inbounds [2 x %"core::fmt::ArgumentV1"], [2 x %"core::fmt::ArgumentV1"]* %_84, i32 0, i32 0
%69 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %_79, i32 0, i32 0, i32 0
%70 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %_79, i32 0, i32 0, i32 1
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %_79, i32 0, i32 1, i32 0, i32 0
%71 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %_79, i32 0, i32 2, i32 0
%72 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %_79, i32 0, i32 2, i32 1
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6c5aa89dcd825372E.exit"
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6c5aa89dcd825372E.exit.thread": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6c5aa89dcd825372E.exit"
call void @llvm.lifetime.end(i64 9, i8* nonnull %56)
call fastcc void @_ZN3std9panicking11begin_panic17h2fb99fe31af45536E()
unreachable
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6c5aa89dcd825372E.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6c5aa89dcd825372E.exit.lr.ph", %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6c5aa89dcd825372E.exit"
%73 = phi %Foo* [ %1, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6c5aa89dcd825372E.exit.lr.ph" ], [ %75, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6c5aa89dcd825372E.exit" ]
%74 = getelementptr inbounds %Foo, %Foo* %73, i32 0, i32 0
%75 = getelementptr inbounds %Foo, %Foo* %73, i32 1
call void @llvm.lifetime.start(i64 9, i8* nonnull %56)
%76 = getelementptr inbounds i8, i8* %74, i32 1
%77 = bitcast i8* %76 to i64*
%78 = load i8, i8* %74, align 1
%79 = load i64, i64* %77, align 1
store i8 %78, i8* %56, align 8
store i64 %79, i64* %57, align 8
call void @llvm.lifetime.start(i64 24, i8* nonnull %58)
call void @llvm.lifetime.start(i64 16, i8* nonnull %59)
store i32 %60, i32* %61, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %63, align 4
store i32 ptrtoint (<{ i8, i64 }>* @ref.4 to i32), i32* %65, align 8
store i32 ptrtoint (i8 (%Foo*, %"core::fmt::Formatter"*)* @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E" to i32), i32* %67, align 4
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.j, i32 0, i32 0), %str_slice** %69, align 8, !alias.scope !8, !noalias !11
store i32 3, i32* %70, align 4, !alias.scope !8, !noalias !11
store %"core::fmt::rt::v1::Argument"* null, %"core::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !8, !noalias !11
store %"core::fmt::ArgumentV1"* %68, %"core::fmt::ArgumentV1"** %71, align 8, !alias.scope !8, !noalias !11
store i32 2, i32* %72, align 4, !alias.scope !8, !noalias !11
call void @_ZN3std2io5stdio6_print17h83b8589704f0a522E(%"core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %_79)
call void @llvm.lifetime.end(i64 24, i8* nonnull %58)
call void @llvm.lifetime.end(i64 16, i8* nonnull %59)
call void @llvm.lifetime.end(i64 9, i8* nonnull %56)
%80 = icmp eq %Foo* %75, %2
br i1 %80, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6c5aa89dcd825372E.exit.thread", label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6c5aa89dcd825372E.exit"
}
; Function Attrs: uwtable
define internal i8 @"_ZN59_$LT$packed_struct_vec..Foo$u20$as$u20$core..fmt..Debug$GT$3fmt17h25b2f4a7c9c357f6E"(%Foo* noalias readonly dereferenceable(9), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr #3 {
entry-block:
%_26 = alloca i64*, align 4
%_18 = alloca i8*, align 4
%builder = alloca %"core::fmt::builders::DebugStruct", align 8
%2 = getelementptr inbounds %Foo, %Foo* %0, i32 0, i32 0
%3 = getelementptr inbounds %Foo, %Foo* %0, i32 0, i32 1
%4 = bitcast %"core::fmt::builders::DebugStruct"* %builder to i8*
call void @llvm.lifetime.start(i64 8, i8* nonnull %4)
call void @_ZN4core3fmt8builders16debug_struct_new17h5e0e8e591a04bd77E(%"core::fmt::builders::DebugStruct"* noalias nocapture nonnull sret dereferenceable(8) %builder, %"core::fmt::Formatter"* nonnull dereferenceable(52) %1, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.7, i32 0, i32 0), i32 3)
%5 = bitcast i8** %_18 to i8*
call void @llvm.lifetime.start(i64 4, i8* nonnull %5)
store i8* %2, i8** %_18, align 4
%6 = call dereferenceable(8) %"core::fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17hd7b495995e6d2225E(%"core::fmt::builders::DebugStruct"* nonnull dereferenceable(8) %builder, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.8, i32 0, i32 0), i32 3, i8* nonnull %5, void (i8*)** noalias nonnull readonly getelementptr inbounds ({ void (i8*)*, i32, i32, i8 (i8**, %"core::fmt::Formatter"*)* }, { void (i8*)*, i32, i32, i8 (i8**, %"core::fmt::Formatter"*)* }* @vtable.9, i32 0, i32 0))
call void @llvm.lifetime.end(i64 4, i8* nonnull %5)
%7 = bitcast i64** %_26 to i8*
call void @llvm.lifetime.start(i64 4, i8* nonnull %7)
store i64* %3, i64** %_26, align 4
%8 = call dereferenceable(8) %"core::fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17hd7b495995e6d2225E(%"core::fmt::builders::DebugStruct"* nonnull dereferenceable(8) %builder, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.a, i32 0, i32 0), i32 3, i8* nonnull %7, void (i8*)** noalias nonnull readonly getelementptr inbounds ({ void (i8*)*, i32, i32, i8 (i64**, %"core::fmt::Formatter"*)* }, { void (i8*)*, i32, i32, i8 (i64**, %"core::fmt::Formatter"*)* }* @vtable.b, i32 0, i32 0))
call void @llvm.lifetime.end(i64 4, i8* nonnull %7)
%9 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17hc2efdb38df03f992E(%"core::fmt::builders::DebugStruct"* nonnull dereferenceable(8) %builder)
call void @llvm.lifetime.end(i64 8, i8* nonnull %4)
ret i8 %9
}
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.start(i64, i8* nocapture) #5
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.end(i64, i8* nocapture) #5
; Function Attrs: nounwind
declare i32 @rust_eh_personality(i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*) unnamed_addr #6
; Function Attrs: cold noinline noreturn
declare void @_ZN3std9panicking20rust_panic_with_hook17hd0067971b6d1240eE(i8* noalias nonnull, void (i8*)** noalias nonnull readonly, { %str_slice, i32 }* noalias readonly dereferenceable(12)) unnamed_addr #7
declare void @_ZN4core3fmt8builders16debug_struct_new17h5e0e8e591a04bd77E(%"core::fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(8), %"core::fmt::Formatter"* dereferenceable(52), i8* noalias nonnull readonly, i32) unnamed_addr
declare i8 @"_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u8$GT$3fmt17h0dc9512fc28cd51cE"(i8* noalias readonly dereferenceable(1), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr
declare i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u64$GT$3fmt17h584eddf15951a517E"(i64* noalias readonly dereferenceable(8), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr
; Function Attrs: cold noinline noreturn
declare void @_ZN5alloc3oom3oom17h418421088806e038E() unnamed_addr #7
; Function Attrs: nounwind
declare noalias i8* @__rust_allocate(i32, i32) unnamed_addr #6
declare void @_ZN3std2io5stdio6_print17h83b8589704f0a522E(%"core::fmt::Arguments"* noalias nocapture dereferenceable(24)) unnamed_addr
declare dereferenceable(8) %"core::fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17hd7b495995e6d2225E(%"core::fmt::builders::DebugStruct"* dereferenceable(8), i8* noalias nonnull readonly, i32, i8* nonnull, void (i8*)** noalias nonnull readonly) unnamed_addr
declare i8 @_ZN4core3fmt8builders11DebugStruct6finish17hc2efdb38df03f992E(%"core::fmt::builders::DebugStruct"* dereferenceable(8)) unnamed_addr
define i32 @main(i32, i8**) unnamed_addr {
top:
%2 = tail call i32 @_ZN3std2rt10lang_start17hb7fc7ec87b663023E(i8* bitcast (void ()* @_ZN17packed_struct_vec4main17h23fbd31e25036237E to i8*), i32 %0, i8** %1)
ret i32 %2
}
declare i32 @_ZN3std2rt10lang_start17hb7fc7ec87b663023E(i8*, i32, i8**) unnamed_addr
attributes #0 = { norecurse nounwind readnone uwtable }
attributes #1 = { cold noinline noreturn uwtable }
attributes #2 = { norecurse nounwind readnone }
attributes #3 = { uwtable }
attributes #4 = { noreturn uwtable }
attributes #5 = { argmemonly nounwind }
attributes #6 = { nounwind }
attributes #7 = { cold noinline noreturn }
!llvm.module.flags = !{!0}
!0 = !{i32 1, !"PIE Level", i32 2}
!1 = !{}
!2 = !{!3}
!3 = distinct !{!3, !4, !"_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE: argument 0"}
!4 = distinct !{!4, !"_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE"}
!5 = !{!6, !7}
!6 = distinct !{!6, !4, !"_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE: argument 1"}
!7 = distinct !{!7, !4, !"_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE: argument 2"}
!8 = !{!9}
!9 = distinct !{!9, !10, !"_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE: argument 0"}
!10 = distinct !{!10, !"_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE"}
!11 = !{!12, !13}
!12 = distinct !{!12, !10, !"_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE: argument 1"}
!13 = distinct !{!13, !10, !"_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE: argument 2"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment