-
-
Save TimNN/49b1f374071614a98aa4936794f33265 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; 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