mirror of https://github.com/E-Almqvist/hsf
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
762 lines
38 KiB
762 lines
38 KiB
; ModuleID = 'probe1.49aa193e-cgu.0'
|
|
source_filename = "probe1.49aa193e-cgu.0"
|
|
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
|
target triple = "x86_64-unknown-linux-gnu"
|
|
|
|
%"alloc::string::String" = type { %"alloc::vec::Vec<u8>" }
|
|
%"alloc::vec::Vec<u8>" = type { { i8*, i64 }, i64 }
|
|
%"core::fmt::Arguments" = type { { [0 x { [0 x i8]*, i64 }]*, i64 }, { i64*, i64 }, { [0 x { i8*, i64* }]*, i64 } }
|
|
%"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>" = type { {}*, [2 x i64] }
|
|
%"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>::Some" = type { { i8*, { i64, i64 } } }
|
|
%"alloc::alloc::Global" = type {}
|
|
%"core::ptr::metadata::PtrRepr<[u8]>" = type { [2 x i64] }
|
|
%"core::fmt::Formatter" = type { { i64, i64 }, { i64, i64 }, { {}*, [3 x i64]* }, i32, i32, i8, [7 x i8] }
|
|
%"core::fmt::Opaque" = type {}
|
|
%"core::panic::location::Location" = type { { [0 x i8]*, i64 }, i32, i32 }
|
|
%"unwind::libunwind::_Unwind_Exception" = type { i64, void (i32, %"unwind::libunwind::_Unwind_Exception"*)*, [6 x i64] }
|
|
%"unwind::libunwind::_Unwind_Context" = type { [0 x i8] }
|
|
|
|
@alloc10 = private unnamed_addr constant <{ [0 x i8] }> zeroinitializer, align 8
|
|
@alloc3 = private unnamed_addr constant <{ i8*, [8 x i8] }> <{ i8* getelementptr inbounds (<{ [0 x i8] }>, <{ [0 x i8] }>* @alloc10, i32 0, i32 0, i32 0), [8 x i8] zeroinitializer }>, align 8
|
|
@alloc5 = private unnamed_addr constant <{ [8 x i8] }> zeroinitializer, align 8
|
|
@alloc7 = private unnamed_addr constant <{ [12 x i8] }> <{ [12 x i8] c"invalid args" }>, align 1
|
|
@alloc8 = private unnamed_addr constant <{ i8*, [8 x i8] }> <{ i8* getelementptr inbounds (<{ [12 x i8] }>, <{ [12 x i8] }>* @alloc7, i32 0, i32 0, i32 0), [8 x i8] c"\0C\00\00\00\00\00\00\00" }>, align 8
|
|
@alloc28 = private unnamed_addr constant <{ [75 x i8] }> <{ [75 x i8] c"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/fmt/mod.rs" }>, align 1
|
|
@alloc29 = private unnamed_addr constant <{ i8*, [16 x i8] }> <{ i8* getelementptr inbounds (<{ [75 x i8] }>, <{ [75 x i8] }>* @alloc28, i32 0, i32 0, i32 0), [16 x i8] c"K\00\00\00\00\00\00\00\81\01\00\00\0D\00\00\00" }>, align 8
|
|
|
|
; core::ptr::drop_in_place<alloc::string::String>
|
|
; Function Attrs: nonlazybind uwtable
|
|
define void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17he7c0ec0b771eba18E"(%"alloc::string::String"* %_1) unnamed_addr #0 {
|
|
start:
|
|
%0 = bitcast %"alloc::string::String"* %_1 to %"alloc::vec::Vec<u8>"*
|
|
; call core::ptr::drop_in_place<alloc::vec::Vec<u8>>
|
|
call void @"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hd5791445be336d62E"(%"alloc::vec::Vec<u8>"* %0)
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
ret void
|
|
}
|
|
|
|
; core::ptr::drop_in_place<alloc::vec::Vec<u8>>
|
|
; Function Attrs: nonlazybind uwtable
|
|
define void @"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hd5791445be336d62E"(%"alloc::vec::Vec<u8>"* %_1) unnamed_addr #0 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality {
|
|
start:
|
|
%0 = alloca { i8*, i32 }, align 8
|
|
; invoke <alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop
|
|
invoke void @"_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hd43910c9dbb2a10dE"(%"alloc::vec::Vec<u8>"* noundef align 8 dereferenceable(24) %_1)
|
|
to label %bb4 unwind label %cleanup
|
|
|
|
bb4: ; preds = %start
|
|
%1 = bitcast %"alloc::vec::Vec<u8>"* %_1 to { i8*, i64 }*
|
|
; call core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>>
|
|
call void @"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h4ca2a4d8568aa25bE"({ i8*, i64 }* %1)
|
|
br label %bb2
|
|
|
|
bb3: ; preds = %cleanup
|
|
%2 = bitcast %"alloc::vec::Vec<u8>"* %_1 to { i8*, i64 }*
|
|
; call core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>>
|
|
call void @"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h4ca2a4d8568aa25bE"({ i8*, i64 }* %2) #6
|
|
br label %bb1
|
|
|
|
cleanup: ; preds = %start
|
|
%3 = landingpad { i8*, i32 }
|
|
cleanup
|
|
%4 = extractvalue { i8*, i32 } %3, 0
|
|
%5 = extractvalue { i8*, i32 } %3, 1
|
|
%6 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %0, i32 0, i32 0
|
|
store i8* %4, i8** %6, align 8
|
|
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %0, i32 0, i32 1
|
|
store i32 %5, i32* %7, align 8
|
|
br label %bb3
|
|
|
|
bb1: ; preds = %bb3
|
|
%8 = bitcast { i8*, i32 }* %0 to i8**
|
|
%9 = load i8*, i8** %8, align 8
|
|
%10 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %0, i32 0, i32 1
|
|
%11 = load i32, i32* %10, align 8
|
|
%12 = insertvalue { i8*, i32 } undef, i8* %9, 0
|
|
%13 = insertvalue { i8*, i32 } %12, i32 %11, 1
|
|
resume { i8*, i32 } %13
|
|
|
|
bb2: ; preds = %bb4
|
|
ret void
|
|
}
|
|
|
|
; core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>>
|
|
; Function Attrs: nonlazybind uwtable
|
|
define void @"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h4ca2a4d8568aa25bE"({ i8*, i64 }* %_1) unnamed_addr #0 {
|
|
start:
|
|
; call <alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
|
|
call void @"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h6032a867d8e708f4E"({ i8*, i64 }* noundef align 8 dereferenceable(16) %_1)
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
ret void
|
|
}
|
|
|
|
; probe1::probe
|
|
; Function Attrs: nonlazybind uwtable
|
|
define void @_ZN6probe15probe17h88659a1cd765b415E() unnamed_addr #0 {
|
|
start:
|
|
%_10 = alloca [1 x { i8*, i64* }], align 8
|
|
%_3 = alloca %"core::fmt::Arguments", align 8
|
|
%res = alloca %"alloc::string::String", align 8
|
|
%_1 = alloca %"alloc::string::String", align 8
|
|
; call core::fmt::ArgumentV1::new_lower_exp
|
|
%0 = call { i8*, i64* } @_ZN4core3fmt10ArgumentV113new_lower_exp17h042822b93991e3adE(i64* noundef align 8 dereferenceable(8) bitcast (<{ [8 x i8] }>* @alloc5 to i64*))
|
|
%_11.0 = extractvalue { i8*, i64* } %0, 0
|
|
%_11.1 = extractvalue { i8*, i64* } %0, 1
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
%1 = bitcast [1 x { i8*, i64* }]* %_10 to { i8*, i64* }*
|
|
%2 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %1, i32 0, i32 0
|
|
store i8* %_11.0, i8** %2, align 8
|
|
%3 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %1, i32 0, i32 1
|
|
store i64* %_11.1, i64** %3, align 8
|
|
%_7.0 = bitcast [1 x { i8*, i64* }]* %_10 to [0 x { i8*, i64* }]*
|
|
; call core::fmt::Arguments::new_v1
|
|
call void @_ZN4core3fmt9Arguments6new_v117h99eeafbdfca9bd9eE(%"core::fmt::Arguments"* noalias nocapture noundef sret(%"core::fmt::Arguments") dereferenceable(48) %_3, [0 x { [0 x i8]*, i64 }]* noundef nonnull align 8 bitcast (<{ i8*, [8 x i8] }>* @alloc3 to [0 x { [0 x i8]*, i64 }]*), i64 1, [0 x { i8*, i64* }]* noundef nonnull align 8 %_7.0, i64 1)
|
|
br label %bb2
|
|
|
|
bb2: ; preds = %bb1
|
|
; call alloc::fmt::format
|
|
call void @_ZN5alloc3fmt6format17h4141264adb528c54E(%"alloc::string::String"* noalias nocapture noundef sret(%"alloc::string::String") dereferenceable(24) %res, %"core::fmt::Arguments"* noalias nocapture noundef dereferenceable(48) %_3)
|
|
br label %bb3
|
|
|
|
bb3: ; preds = %bb2
|
|
%4 = bitcast %"alloc::string::String"* %_1 to i8*
|
|
%5 = bitcast %"alloc::string::String"* %res to i8*
|
|
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %4, i8* align 8 %5, i64 24, i1 false)
|
|
; call core::ptr::drop_in_place<alloc::string::String>
|
|
call void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17he7c0ec0b771eba18E"(%"alloc::string::String"* %_1)
|
|
br label %bb4
|
|
|
|
bb4: ; preds = %bb3
|
|
ret void
|
|
}
|
|
|
|
; alloc::raw_vec::RawVec<T,A>::ptr
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define i8* @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$3ptr17he983e2961a636d31E"({ i8*, i64 }* noundef align 8 dereferenceable(16) %self) unnamed_addr #1 {
|
|
start:
|
|
%0 = bitcast { i8*, i64 }* %self to i8**
|
|
%_2 = load i8*, i8** %0, align 8, !nonnull !2
|
|
; call core::ptr::unique::Unique<T>::as_ptr
|
|
%1 = call i8* @"_ZN4core3ptr6unique15Unique$LT$T$GT$6as_ptr17h0f937f3d437bd21aE"(i8* nonnull %_2)
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
ret i8* %1
|
|
}
|
|
|
|
; alloc::raw_vec::RawVec<T,A>::current_memory
|
|
; Function Attrs: nonlazybind uwtable
|
|
define void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hd0d6759410affc6fE"(%"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>"* noalias nocapture noundef sret(%"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>") dereferenceable(24) %0, { i8*, i64 }* noundef align 8 dereferenceable(16) %self) unnamed_addr #0 {
|
|
start:
|
|
%_13 = alloca { i8*, { i64, i64 } }, align 8
|
|
%_2 = alloca i8, align 1
|
|
br label %bb4
|
|
|
|
bb4: ; preds = %start
|
|
%1 = icmp eq i64 1, 0
|
|
br i1 %1, label %bb1, label %bb2
|
|
|
|
bb1: ; preds = %bb4
|
|
store i8 1, i8* %_2, align 1
|
|
br label %bb3
|
|
|
|
bb2: ; preds = %bb4
|
|
%2 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %self, i32 0, i32 1
|
|
%_5 = load i64, i64* %2, align 8
|
|
%_4 = icmp eq i64 %_5, 0
|
|
%3 = zext i1 %_4 to i8
|
|
store i8 %3, i8* %_2, align 1
|
|
br label %bb3
|
|
|
|
bb3: ; preds = %bb1, %bb2
|
|
%4 = load i8, i8* %_2, align 1, !range !3
|
|
%5 = trunc i8 %4 to i1
|
|
br i1 %5, label %bb5, label %bb6
|
|
|
|
bb6: ; preds = %bb3
|
|
br label %bb7
|
|
|
|
bb5: ; preds = %bb3
|
|
%6 = bitcast %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>"* %0 to {}**
|
|
store {}* null, {}** %6, align 8
|
|
br label %bb12
|
|
|
|
bb12: ; preds = %bb11, %bb5
|
|
ret void
|
|
|
|
bb7: ; preds = %bb6
|
|
br label %bb8
|
|
|
|
bb8: ; preds = %bb7
|
|
%7 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %self, i32 0, i32 1
|
|
%_9 = load i64, i64* %7, align 8
|
|
%size = mul i64 1, %_9
|
|
; call core::alloc::layout::Layout::from_size_align_unchecked
|
|
%8 = call { i64, i64 } @_ZN4core5alloc6layout6Layout25from_size_align_unchecked17h0c8b8b1d0606c792E(i64 %size, i64 1)
|
|
%layout.0 = extractvalue { i64, i64 } %8, 0
|
|
%layout.1 = extractvalue { i64, i64 } %8, 1
|
|
br label %bb9
|
|
|
|
bb9: ; preds = %bb8
|
|
%9 = bitcast { i8*, i64 }* %self to i8**
|
|
%_16 = load i8*, i8** %9, align 8, !nonnull !2
|
|
; call core::ptr::unique::Unique<T>::cast
|
|
%_15 = call nonnull i8* @"_ZN4core3ptr6unique15Unique$LT$T$GT$4cast17hcd57d05492947191E"(i8* nonnull %_16)
|
|
br label %bb10
|
|
|
|
bb10: ; preds = %bb9
|
|
; call <T as core::convert::Into<U>>::into
|
|
%_14 = call nonnull i8* @"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17hefc6668450c84db4E"(i8* nonnull %_15)
|
|
br label %bb11
|
|
|
|
bb11: ; preds = %bb10
|
|
%10 = bitcast { i8*, { i64, i64 } }* %_13 to i8**
|
|
store i8* %_14, i8** %10, align 8
|
|
%11 = getelementptr inbounds { i8*, { i64, i64 } }, { i8*, { i64, i64 } }* %_13, i32 0, i32 1
|
|
%12 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %11, i32 0, i32 0
|
|
store i64 %layout.0, i64* %12, align 8
|
|
%13 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %11, i32 0, i32 1
|
|
store i64 %layout.1, i64* %13, align 8
|
|
%14 = bitcast %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>"* %0 to %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>::Some"*
|
|
%15 = bitcast %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>::Some"* %14 to { i8*, { i64, i64 } }*
|
|
%16 = bitcast { i8*, { i64, i64 } }* %15 to i8*
|
|
%17 = bitcast { i8*, { i64, i64 } }* %_13 to i8*
|
|
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %16, i8* align 8 %17, i64 24, i1 false)
|
|
br label %bb12
|
|
}
|
|
|
|
; <alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
|
|
; Function Attrs: nonlazybind uwtable
|
|
define void @"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h6032a867d8e708f4E"({ i8*, i64 }* noundef align 8 dereferenceable(16) %self) unnamed_addr #0 {
|
|
start:
|
|
%_2 = alloca %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>", align 8
|
|
; call alloc::raw_vec::RawVec<T,A>::current_memory
|
|
call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hd0d6759410affc6fE"(%"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>"* noalias nocapture noundef sret(%"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>") dereferenceable(24) %_2, { i8*, i64 }* noundef align 8 dereferenceable(16) %self)
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
%0 = bitcast %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>"* %_2 to {}**
|
|
%1 = load {}*, {}** %0, align 8
|
|
%2 = icmp eq {}* %1, null
|
|
%_4 = select i1 %2, i64 0, i64 1
|
|
%3 = icmp eq i64 %_4, 1
|
|
br i1 %3, label %bb2, label %bb4
|
|
|
|
bb2: ; preds = %bb1
|
|
%4 = bitcast %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>"* %_2 to %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>::Some"*
|
|
%5 = bitcast %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>::Some"* %4 to { i8*, { i64, i64 } }*
|
|
%6 = bitcast { i8*, { i64, i64 } }* %5 to i8**
|
|
%ptr = load i8*, i8** %6, align 8, !nonnull !2
|
|
%7 = bitcast %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>"* %_2 to %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>::Some"*
|
|
%8 = bitcast %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>::Some"* %7 to { i8*, { i64, i64 } }*
|
|
%9 = getelementptr inbounds { i8*, { i64, i64 } }, { i8*, { i64, i64 } }* %8, i32 0, i32 1
|
|
%10 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %9, i32 0, i32 0
|
|
%layout.0 = load i64, i64* %10, align 8
|
|
%11 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %9, i32 0, i32 1
|
|
%layout.1 = load i64, i64* %11, align 8, !range !4
|
|
%_7 = bitcast { i8*, i64 }* %self to %"alloc::alloc::Global"*
|
|
; call <alloc::alloc::Global as core::alloc::Allocator>::deallocate
|
|
call void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h040112264cdb3e0aE"(%"alloc::alloc::Global"* noundef nonnull align 1 %_7, i8* nonnull %ptr, i64 %layout.0, i64 %layout.1)
|
|
br label %bb3
|
|
|
|
bb4: ; preds = %bb3, %bb1
|
|
ret void
|
|
|
|
bb3: ; preds = %bb2
|
|
br label %bb4
|
|
}
|
|
|
|
; alloc::alloc::dealloc
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define internal void @_ZN5alloc5alloc7dealloc17h4ebba9b12b65a00aE(i8* %ptr, i64 %0, i64 %1) unnamed_addr #1 {
|
|
start:
|
|
%layout = alloca { i64, i64 }, align 8
|
|
%2 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %layout, i32 0, i32 0
|
|
store i64 %0, i64* %2, align 8
|
|
%3 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %layout, i32 0, i32 1
|
|
store i64 %1, i64* %3, align 8
|
|
; call core::alloc::layout::Layout::size
|
|
%_4 = call i64 @_ZN4core5alloc6layout6Layout4size17hfb2138d70cbfcbfcE({ i64, i64 }* noundef align 8 dereferenceable(16) %layout)
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
; call core::alloc::layout::Layout::align
|
|
%_6 = call i64 @_ZN4core5alloc6layout6Layout5align17h7741f2ecfd4af4ecE({ i64, i64 }* noundef align 8 dereferenceable(16) %layout)
|
|
br label %bb2
|
|
|
|
bb2: ; preds = %bb1
|
|
call void @__rust_dealloc(i8* %ptr, i64 %_4, i64 %_6) #7
|
|
br label %bb3
|
|
|
|
bb3: ; preds = %bb2
|
|
ret void
|
|
}
|
|
|
|
; <alloc::alloc::Global as core::alloc::Allocator>::deallocate
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define internal void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h040112264cdb3e0aE"(%"alloc::alloc::Global"* noundef nonnull align 1 %self, i8* nonnull %ptr, i64 %0, i64 %1) unnamed_addr #1 {
|
|
start:
|
|
%layout = alloca { i64, i64 }, align 8
|
|
%2 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %layout, i32 0, i32 0
|
|
store i64 %0, i64* %2, align 8
|
|
%3 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %layout, i32 0, i32 1
|
|
store i64 %1, i64* %3, align 8
|
|
; call core::alloc::layout::Layout::size
|
|
%_4 = call i64 @_ZN4core5alloc6layout6Layout4size17hfb2138d70cbfcbfcE({ i64, i64 }* noundef align 8 dereferenceable(16) %layout)
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
%4 = icmp eq i64 %_4, 0
|
|
br i1 %4, label %bb5, label %bb2
|
|
|
|
bb5: ; preds = %bb1
|
|
br label %bb6
|
|
|
|
bb2: ; preds = %bb1
|
|
; call core::ptr::non_null::NonNull<T>::as_ptr
|
|
%_6 = call i8* @"_ZN4core3ptr8non_null16NonNull$LT$T$GT$6as_ptr17h752dc894c13efd04E"(i8* nonnull %ptr)
|
|
br label %bb3
|
|
|
|
bb3: ; preds = %bb2
|
|
%5 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %layout, i32 0, i32 0
|
|
%_8.0 = load i64, i64* %5, align 8
|
|
%6 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %layout, i32 0, i32 1
|
|
%_8.1 = load i64, i64* %6, align 8, !range !4
|
|
; call alloc::alloc::dealloc
|
|
call void @_ZN5alloc5alloc7dealloc17h4ebba9b12b65a00aE(i8* %_6, i64 %_8.0, i64 %_8.1)
|
|
br label %bb4
|
|
|
|
bb4: ; preds = %bb3
|
|
br label %bb6
|
|
|
|
bb6: ; preds = %bb5, %bb4
|
|
ret void
|
|
}
|
|
|
|
; core::ptr::metadata::from_raw_parts_mut
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define { [0 x i8]*, i64 } @_ZN4core3ptr8metadata18from_raw_parts_mut17hd909bd99f18a5853E({}* %data_address, i64 %metadata) unnamed_addr #1 {
|
|
start:
|
|
%_4 = alloca { i8*, i64 }, align 8
|
|
%_3 = alloca %"core::ptr::metadata::PtrRepr<[u8]>", align 8
|
|
%0 = bitcast { i8*, i64 }* %_4 to {}**
|
|
store {}* %data_address, {}** %0, align 8
|
|
%1 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %_4, i32 0, i32 1
|
|
store i64 %metadata, i64* %1, align 8
|
|
%2 = bitcast %"core::ptr::metadata::PtrRepr<[u8]>"* %_3 to { i8*, i64 }*
|
|
%3 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %_4, i32 0, i32 0
|
|
%4 = load i8*, i8** %3, align 8
|
|
%5 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %_4, i32 0, i32 1
|
|
%6 = load i64, i64* %5, align 8
|
|
%7 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %2, i32 0, i32 0
|
|
store i8* %4, i8** %7, align 8
|
|
%8 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %2, i32 0, i32 1
|
|
store i64 %6, i64* %8, align 8
|
|
%9 = bitcast %"core::ptr::metadata::PtrRepr<[u8]>"* %_3 to { [0 x i8]*, i64 }*
|
|
%10 = getelementptr inbounds { [0 x i8]*, i64 }, { [0 x i8]*, i64 }* %9, i32 0, i32 0
|
|
%11 = load [0 x i8]*, [0 x i8]** %10, align 8
|
|
%12 = getelementptr inbounds { [0 x i8]*, i64 }, { [0 x i8]*, i64 }* %9, i32 0, i32 1
|
|
%13 = load i64, i64* %12, align 8
|
|
%14 = insertvalue { [0 x i8]*, i64 } undef, [0 x i8]* %11, 0
|
|
%15 = insertvalue { [0 x i8]*, i64 } %14, i64 %13, 1
|
|
ret { [0 x i8]*, i64 } %15
|
|
}
|
|
|
|
; core::ptr::non_null::NonNull<T>::new_unchecked
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define nonnull i8* @"_ZN4core3ptr8non_null16NonNull$LT$T$GT$13new_unchecked17h3002bb9d16274afbE"(i8* %ptr) unnamed_addr #1 {
|
|
start:
|
|
%0 = alloca i8*, align 8
|
|
store i8* %ptr, i8** %0, align 8
|
|
%1 = load i8*, i8** %0, align 8, !nonnull !2
|
|
ret i8* %1
|
|
}
|
|
|
|
; core::ptr::non_null::NonNull<T>::as_ptr
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define i8* @"_ZN4core3ptr8non_null16NonNull$LT$T$GT$6as_ptr17h752dc894c13efd04E"(i8* nonnull %self) unnamed_addr #1 {
|
|
start:
|
|
ret i8* %self
|
|
}
|
|
|
|
; <core::ptr::non_null::NonNull<T> as core::convert::From<core::ptr::unique::Unique<T>>>::from
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define nonnull i8* @"_ZN119_$LT$core..ptr..non_null..NonNull$LT$T$GT$$u20$as$u20$core..convert..From$LT$core..ptr..unique..Unique$LT$T$GT$$GT$$GT$4from17h7ad682d0cd401239E"(i8* nonnull %unique) unnamed_addr #1 {
|
|
start:
|
|
; call core::ptr::unique::Unique<T>::as_ptr
|
|
%_2 = call i8* @"_ZN4core3ptr6unique15Unique$LT$T$GT$6as_ptr17h0f937f3d437bd21aE"(i8* nonnull %unique)
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
; call core::ptr::non_null::NonNull<T>::new_unchecked
|
|
%0 = call nonnull i8* @"_ZN4core3ptr8non_null16NonNull$LT$T$GT$13new_unchecked17h3002bb9d16274afbE"(i8* %_2)
|
|
br label %bb2
|
|
|
|
bb2: ; preds = %bb1
|
|
ret i8* %0
|
|
}
|
|
|
|
; core::ptr::unique::Unique<T>::new_unchecked
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define nonnull i8* @"_ZN4core3ptr6unique15Unique$LT$T$GT$13new_unchecked17h1eba88c7a540e879E"(i8* %ptr) unnamed_addr #1 {
|
|
start:
|
|
%0 = alloca i8*, align 8
|
|
store i8* %ptr, i8** %0, align 8
|
|
%1 = load i8*, i8** %0, align 8, !nonnull !2
|
|
ret i8* %1
|
|
}
|
|
|
|
; core::ptr::unique::Unique<T>::as_ptr
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define i8* @"_ZN4core3ptr6unique15Unique$LT$T$GT$6as_ptr17h0f937f3d437bd21aE"(i8* nonnull %self) unnamed_addr #1 {
|
|
start:
|
|
ret i8* %self
|
|
}
|
|
|
|
; core::ptr::unique::Unique<T>::cast
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define nonnull i8* @"_ZN4core3ptr6unique15Unique$LT$T$GT$4cast17hcd57d05492947191E"(i8* nonnull %self) unnamed_addr #1 {
|
|
start:
|
|
; call core::ptr::unique::Unique<T>::as_ptr
|
|
%_3 = call i8* @"_ZN4core3ptr6unique15Unique$LT$T$GT$6as_ptr17h0f937f3d437bd21aE"(i8* nonnull %self)
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
; call core::ptr::unique::Unique<T>::new_unchecked
|
|
%0 = call nonnull i8* @"_ZN4core3ptr6unique15Unique$LT$T$GT$13new_unchecked17h1eba88c7a540e879E"(i8* %_3)
|
|
br label %bb2
|
|
|
|
bb2: ; preds = %bb1
|
|
ret i8* %0
|
|
}
|
|
|
|
; core::ptr::mut_ptr::<impl *mut T>::is_null
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define noundef zeroext i1 @"_ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17hda23e669c89ca927E"(i8* %self) unnamed_addr #1 {
|
|
start:
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
; call core::ptr::mut_ptr::<impl *mut T>::guaranteed_eq
|
|
%0 = call noundef zeroext i1 @"_ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$13guaranteed_eq17hc1e0d6984a79c873E"(i8* %self, i8* null)
|
|
br label %bb2
|
|
|
|
bb2: ; preds = %bb1
|
|
ret i1 %0
|
|
}
|
|
|
|
; core::ptr::mut_ptr::<impl *mut T>::guaranteed_eq
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define noundef zeroext i1 @"_ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$13guaranteed_eq17hc1e0d6984a79c873E"(i8* %self, i8* %other) unnamed_addr #1 {
|
|
start:
|
|
%0 = alloca i8, align 1
|
|
%1 = icmp eq i8* %self, %other
|
|
%2 = zext i1 %1 to i8
|
|
store i8 %2, i8* %0, align 1
|
|
%3 = load i8, i8* %0, align 1, !range !3
|
|
%4 = trunc i8 %3 to i1
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
ret i1 %4
|
|
}
|
|
|
|
; core::ptr::slice_from_raw_parts_mut
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define { [0 x i8]*, i64 } @_ZN4core3ptr24slice_from_raw_parts_mut17h9fd93bd0298a3d49E(i8* %data, i64 %len) unnamed_addr #1 {
|
|
start:
|
|
%0 = bitcast i8* %data to {}*
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
; call core::ptr::metadata::from_raw_parts_mut
|
|
%1 = call { [0 x i8]*, i64 } @_ZN4core3ptr8metadata18from_raw_parts_mut17hd909bd99f18a5853E({}* %0, i64 %len)
|
|
%2 = extractvalue { [0 x i8]*, i64 } %1, 0
|
|
%3 = extractvalue { [0 x i8]*, i64 } %1, 1
|
|
br label %bb2
|
|
|
|
bb2: ; preds = %bb1
|
|
%4 = insertvalue { [0 x i8]*, i64 } undef, [0 x i8]* %2, 0
|
|
%5 = insertvalue { [0 x i8]*, i64 } %4, i64 %3, 1
|
|
ret { [0 x i8]*, i64 } %5
|
|
}
|
|
|
|
; <T as core::convert::Into<U>>::into
|
|
; Function Attrs: nonlazybind uwtable
|
|
define nonnull i8* @"_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17hefc6668450c84db4E"(i8* nonnull %self) unnamed_addr #0 {
|
|
start:
|
|
; call <core::ptr::non_null::NonNull<T> as core::convert::From<core::ptr::unique::Unique<T>>>::from
|
|
%0 = call nonnull i8* @"_ZN119_$LT$core..ptr..non_null..NonNull$LT$T$GT$$u20$as$u20$core..convert..From$LT$core..ptr..unique..Unique$LT$T$GT$$GT$$GT$4from17h7ad682d0cd401239E"(i8* nonnull %self)
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
ret i8* %0
|
|
}
|
|
|
|
; alloc::vec::Vec<T,A>::as_mut_ptr
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define i8* @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$10as_mut_ptr17h74f8f655d2920920E"(%"alloc::vec::Vec<u8>"* noundef align 8 dereferenceable(24) %self) unnamed_addr #1 {
|
|
start:
|
|
%_2 = bitcast %"alloc::vec::Vec<u8>"* %self to { i8*, i64 }*
|
|
; call alloc::raw_vec::RawVec<T,A>::ptr
|
|
%ptr = call i8* @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$3ptr17he983e2961a636d31E"({ i8*, i64 }* noundef align 8 dereferenceable(16) %_2)
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
; call core::ptr::mut_ptr::<impl *mut T>::is_null
|
|
%_5 = call noundef zeroext i1 @"_ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17hda23e669c89ca927E"(i8* %ptr)
|
|
br label %bb2
|
|
|
|
bb2: ; preds = %bb1
|
|
%_4 = xor i1 %_5, true
|
|
call void @llvm.assume(i1 %_4)
|
|
br label %bb3
|
|
|
|
bb3: ; preds = %bb2
|
|
ret i8* %ptr
|
|
}
|
|
|
|
; <alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop
|
|
; Function Attrs: nonlazybind uwtable
|
|
define void @"_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hd43910c9dbb2a10dE"(%"alloc::vec::Vec<u8>"* noundef align 8 dereferenceable(24) %self) unnamed_addr #0 {
|
|
start:
|
|
; call alloc::vec::Vec<T,A>::as_mut_ptr
|
|
%_3 = call i8* @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$10as_mut_ptr17h74f8f655d2920920E"(%"alloc::vec::Vec<u8>"* noundef align 8 dereferenceable(24) %self)
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
%0 = getelementptr inbounds %"alloc::vec::Vec<u8>", %"alloc::vec::Vec<u8>"* %self, i32 0, i32 1
|
|
%_5 = load i64, i64* %0, align 8
|
|
; call core::ptr::slice_from_raw_parts_mut
|
|
%1 = call { [0 x i8]*, i64 } @_ZN4core3ptr24slice_from_raw_parts_mut17h9fd93bd0298a3d49E(i8* %_3, i64 %_5)
|
|
%_2.0 = extractvalue { [0 x i8]*, i64 } %1, 0
|
|
%_2.1 = extractvalue { [0 x i8]*, i64 } %1, 1
|
|
br label %bb2
|
|
|
|
bb2: ; preds = %bb1
|
|
br label %bb3
|
|
|
|
bb3: ; preds = %bb2
|
|
ret void
|
|
}
|
|
|
|
; core::fmt::ArgumentV1::new
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define { i8*, i64* } @_ZN4core3fmt10ArgumentV13new17h8a003a007113b3e6E(i64* noundef align 8 dereferenceable(8) %x, i1 (i64*, %"core::fmt::Formatter"*)* nonnull %f) unnamed_addr #1 {
|
|
start:
|
|
%0 = alloca %"core::fmt::Opaque"*, align 8
|
|
%1 = alloca i1 (%"core::fmt::Opaque"*, %"core::fmt::Formatter"*)*, align 8
|
|
%2 = alloca { i8*, i64* }, align 8
|
|
%3 = bitcast i1 (i64*, %"core::fmt::Formatter"*)* %f to i1 (%"core::fmt::Opaque"*, %"core::fmt::Formatter"*)*
|
|
store i1 (%"core::fmt::Opaque"*, %"core::fmt::Formatter"*)* %3, i1 (%"core::fmt::Opaque"*, %"core::fmt::Formatter"*)** %1, align 8
|
|
%_3 = load i1 (%"core::fmt::Opaque"*, %"core::fmt::Formatter"*)*, i1 (%"core::fmt::Opaque"*, %"core::fmt::Formatter"*)** %1, align 8, !nonnull !2
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
%4 = bitcast i64* %x to %"core::fmt::Opaque"*
|
|
store %"core::fmt::Opaque"* %4, %"core::fmt::Opaque"** %0, align 8
|
|
%_5 = load %"core::fmt::Opaque"*, %"core::fmt::Opaque"** %0, align 8, !nonnull !2
|
|
br label %bb2
|
|
|
|
bb2: ; preds = %bb1
|
|
%5 = bitcast { i8*, i64* }* %2 to %"core::fmt::Opaque"**
|
|
store %"core::fmt::Opaque"* %_5, %"core::fmt::Opaque"** %5, align 8
|
|
%6 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %2, i32 0, i32 1
|
|
%7 = bitcast i64** %6 to i1 (%"core::fmt::Opaque"*, %"core::fmt::Formatter"*)**
|
|
store i1 (%"core::fmt::Opaque"*, %"core::fmt::Formatter"*)* %_3, i1 (%"core::fmt::Opaque"*, %"core::fmt::Formatter"*)** %7, align 8
|
|
%8 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %2, i32 0, i32 0
|
|
%9 = load i8*, i8** %8, align 8, !nonnull !2
|
|
%10 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %2, i32 0, i32 1
|
|
%11 = load i64*, i64** %10, align 8, !nonnull !2
|
|
%12 = insertvalue { i8*, i64* } undef, i8* %9, 0
|
|
%13 = insertvalue { i8*, i64* } %12, i64* %11, 1
|
|
ret { i8*, i64* } %13
|
|
}
|
|
|
|
; core::fmt::Arguments::new_v1
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define internal void @_ZN4core3fmt9Arguments6new_v117h99eeafbdfca9bd9eE(%"core::fmt::Arguments"* noalias nocapture noundef sret(%"core::fmt::Arguments") dereferenceable(48) %0, [0 x { [0 x i8]*, i64 }]* noundef nonnull align 8 %pieces.0, i64 %pieces.1, [0 x { i8*, i64* }]* noundef nonnull align 8 %args.0, i64 %args.1) unnamed_addr #1 {
|
|
start:
|
|
%_23 = alloca { i64*, i64 }, align 8
|
|
%_15 = alloca %"core::fmt::Arguments", align 8
|
|
%_3 = alloca i8, align 1
|
|
%_4 = icmp ult i64 %pieces.1, %args.1
|
|
br i1 %_4, label %bb1, label %bb2
|
|
|
|
bb2: ; preds = %start
|
|
%_12 = add i64 %args.1, 1
|
|
%_9 = icmp ugt i64 %pieces.1, %_12
|
|
%1 = zext i1 %_9 to i8
|
|
store i8 %1, i8* %_3, align 1
|
|
br label %bb3
|
|
|
|
bb1: ; preds = %start
|
|
store i8 1, i8* %_3, align 1
|
|
br label %bb3
|
|
|
|
bb3: ; preds = %bb2, %bb1
|
|
%2 = load i8, i8* %_3, align 1, !range !3
|
|
%3 = trunc i8 %2 to i1
|
|
br i1 %3, label %bb4, label %bb6
|
|
|
|
bb6: ; preds = %bb3
|
|
%4 = bitcast { i64*, i64 }* %_23 to {}**
|
|
store {}* null, {}** %4, align 8
|
|
%5 = bitcast %"core::fmt::Arguments"* %0 to { [0 x { [0 x i8]*, i64 }]*, i64 }*
|
|
%6 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %5, i32 0, i32 0
|
|
store [0 x { [0 x i8]*, i64 }]* %pieces.0, [0 x { [0 x i8]*, i64 }]** %6, align 8
|
|
%7 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %5, i32 0, i32 1
|
|
store i64 %pieces.1, i64* %7, align 8
|
|
%8 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 1
|
|
%9 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %_23, i32 0, i32 0
|
|
%10 = load i64*, i64** %9, align 8
|
|
%11 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %_23, i32 0, i32 1
|
|
%12 = load i64, i64* %11, align 8
|
|
%13 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %8, i32 0, i32 0
|
|
store i64* %10, i64** %13, align 8
|
|
%14 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %8, i32 0, i32 1
|
|
store i64 %12, i64* %14, align 8
|
|
%15 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 2
|
|
%16 = getelementptr inbounds { [0 x { i8*, i64* }]*, i64 }, { [0 x { i8*, i64* }]*, i64 }* %15, i32 0, i32 0
|
|
store [0 x { i8*, i64* }]* %args.0, [0 x { i8*, i64* }]** %16, align 8
|
|
%17 = getelementptr inbounds { [0 x { i8*, i64* }]*, i64 }, { [0 x { i8*, i64* }]*, i64 }* %15, i32 0, i32 1
|
|
store i64 %args.1, i64* %17, align 8
|
|
ret void
|
|
|
|
bb4: ; preds = %bb3
|
|
; call core::fmt::Arguments::new_v1
|
|
call void @_ZN4core3fmt9Arguments6new_v117h99eeafbdfca9bd9eE(%"core::fmt::Arguments"* noalias nocapture noundef sret(%"core::fmt::Arguments") dereferenceable(48) %_15, [0 x { [0 x i8]*, i64 }]* noundef nonnull align 8 bitcast (<{ i8*, [8 x i8] }>* @alloc8 to [0 x { [0 x i8]*, i64 }]*), i64 1, [0 x { i8*, i64* }]* noundef nonnull align 8 bitcast (<{ [0 x i8] }>* @alloc10 to [0 x { i8*, i64* }]*), i64 0)
|
|
br label %bb5
|
|
|
|
bb5: ; preds = %bb4
|
|
; call core::panicking::panic_fmt
|
|
call void @_ZN4core9panicking9panic_fmt17he1bbc7336d49a357E(%"core::fmt::Arguments"* noalias nocapture noundef dereferenceable(48) %_15, %"core::panic::location::Location"* noundef align 8 dereferenceable(24) bitcast (<{ i8*, [16 x i8] }>* @alloc29 to %"core::panic::location::Location"*)) #8
|
|
unreachable
|
|
}
|
|
|
|
; core::alloc::layout::Layout::from_size_align_unchecked
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define internal { i64, i64 } @_ZN4core5alloc6layout6Layout25from_size_align_unchecked17h0c8b8b1d0606c792E(i64 %size, i64 %align) unnamed_addr #1 {
|
|
start:
|
|
%0 = alloca { i64, i64 }, align 8
|
|
; call core::num::nonzero::NonZeroUsize::new_unchecked
|
|
%_4 = call i64 @_ZN4core3num7nonzero12NonZeroUsize13new_unchecked17h9ff490317470fb8dE(i64 %align), !range !4
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
%1 = bitcast { i64, i64 }* %0 to i64*
|
|
store i64 %size, i64* %1, align 8
|
|
%2 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %0, i32 0, i32 1
|
|
store i64 %_4, i64* %2, align 8
|
|
%3 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %0, i32 0, i32 0
|
|
%4 = load i64, i64* %3, align 8
|
|
%5 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %0, i32 0, i32 1
|
|
%6 = load i64, i64* %5, align 8, !range !4
|
|
%7 = insertvalue { i64, i64 } undef, i64 %4, 0
|
|
%8 = insertvalue { i64, i64 } %7, i64 %6, 1
|
|
ret { i64, i64 } %8
|
|
}
|
|
|
|
; core::alloc::layout::Layout::size
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define internal i64 @_ZN4core5alloc6layout6Layout4size17hfb2138d70cbfcbfcE({ i64, i64 }* noundef align 8 dereferenceable(16) %self) unnamed_addr #1 {
|
|
start:
|
|
%0 = bitcast { i64, i64 }* %self to i64*
|
|
%1 = load i64, i64* %0, align 8
|
|
ret i64 %1
|
|
}
|
|
|
|
; core::alloc::layout::Layout::align
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define internal i64 @_ZN4core5alloc6layout6Layout5align17h7741f2ecfd4af4ecE({ i64, i64 }* noundef align 8 dereferenceable(16) %self) unnamed_addr #1 {
|
|
start:
|
|
%0 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %self, i32 0, i32 1
|
|
%_2 = load i64, i64* %0, align 8, !range !4
|
|
; call core::num::nonzero::NonZeroUsize::get
|
|
%1 = call i64 @_ZN4core3num7nonzero12NonZeroUsize3get17h1930f18810009377E(i64 %_2)
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
ret i64 %1
|
|
}
|
|
|
|
; core::num::nonzero::NonZeroUsize::new_unchecked
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define internal i64 @_ZN4core3num7nonzero12NonZeroUsize13new_unchecked17h9ff490317470fb8dE(i64 %n) unnamed_addr #1 {
|
|
start:
|
|
%0 = alloca i64, align 8
|
|
store i64 %n, i64* %0, align 8
|
|
%1 = load i64, i64* %0, align 8, !range !4
|
|
ret i64 %1
|
|
}
|
|
|
|
; core::num::nonzero::NonZeroUsize::get
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define internal i64 @_ZN4core3num7nonzero12NonZeroUsize3get17h1930f18810009377E(i64 %self) unnamed_addr #1 {
|
|
start:
|
|
ret i64 %self
|
|
}
|
|
|
|
; core::fmt::ArgumentV1::new_lower_exp
|
|
; Function Attrs: inlinehint nonlazybind uwtable
|
|
define { i8*, i64* } @_ZN4core3fmt10ArgumentV113new_lower_exp17h042822b93991e3adE(i64* noundef align 8 dereferenceable(8) %x) unnamed_addr #1 {
|
|
start:
|
|
; call core::fmt::ArgumentV1::new
|
|
%0 = call { i8*, i64* } @_ZN4core3fmt10ArgumentV13new17h8a003a007113b3e6E(i64* noundef align 8 dereferenceable(8) %x, i1 (i64*, %"core::fmt::Formatter"*)* nonnull @"_ZN4core3fmt3num3imp55_$LT$impl$u20$core..fmt..LowerExp$u20$for$u20$isize$GT$3fmt17hbab51f9862c59e16E")
|
|
%1 = extractvalue { i8*, i64* } %0, 0
|
|
%2 = extractvalue { i8*, i64* } %0, 1
|
|
br label %bb1
|
|
|
|
bb1: ; preds = %start
|
|
%3 = insertvalue { i8*, i64* } undef, i8* %1, 0
|
|
%4 = insertvalue { i8*, i64* } %3, i64* %2, 1
|
|
ret { i8*, i64* } %4
|
|
}
|
|
|
|
; Function Attrs: nonlazybind uwtable
|
|
declare i32 @rust_eh_personality(i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*) unnamed_addr #0
|
|
|
|
; alloc::fmt::format
|
|
; Function Attrs: nonlazybind uwtable
|
|
declare void @_ZN5alloc3fmt6format17h4141264adb528c54E(%"alloc::string::String"* noalias nocapture noundef sret(%"alloc::string::String") dereferenceable(24), %"core::fmt::Arguments"* noalias nocapture noundef dereferenceable(48)) unnamed_addr #0
|
|
|
|
; Function Attrs: argmemonly nofree nounwind willreturn
|
|
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #2
|
|
|
|
; Function Attrs: nounwind nonlazybind uwtable
|
|
declare void @__rust_dealloc(i8*, i64, i64) unnamed_addr #3
|
|
|
|
; Function Attrs: inaccessiblememonly nofree nosync nounwind willreturn
|
|
declare void @llvm.assume(i1 noundef) #4
|
|
|
|
; core::panicking::panic_fmt
|
|
; Function Attrs: cold noinline noreturn nonlazybind uwtable
|
|
declare void @_ZN4core9panicking9panic_fmt17he1bbc7336d49a357E(%"core::fmt::Arguments"* noalias nocapture noundef dereferenceable(48), %"core::panic::location::Location"* noundef align 8 dereferenceable(24)) unnamed_addr #5
|
|
|
|
; core::fmt::num::imp::<impl core::fmt::LowerExp for isize>::fmt
|
|
; Function Attrs: nonlazybind uwtable
|
|
declare noundef zeroext i1 @"_ZN4core3fmt3num3imp55_$LT$impl$u20$core..fmt..LowerExp$u20$for$u20$isize$GT$3fmt17hbab51f9862c59e16E"(i64* noundef align 8 dereferenceable(8), %"core::fmt::Formatter"* noundef align 8 dereferenceable(64)) unnamed_addr #0
|
|
|
|
attributes #0 = { nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" }
|
|
attributes #1 = { inlinehint nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" }
|
|
attributes #2 = { argmemonly nofree nounwind willreturn }
|
|
attributes #3 = { nounwind nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" }
|
|
attributes #4 = { inaccessiblememonly nofree nosync nounwind willreturn }
|
|
attributes #5 = { cold noinline noreturn nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" }
|
|
attributes #6 = { cold }
|
|
attributes #7 = { nounwind }
|
|
attributes #8 = { noreturn }
|
|
|
|
!llvm.module.flags = !{!0, !1}
|
|
|
|
!0 = !{i32 7, !"PIC Level", i32 2}
|
|
!1 = !{i32 2, !"RtLibUseGOT", i32 1}
|
|
!2 = !{}
|
|
!3 = !{i8 0, i8 2}
|
|
!4 = !{i64 1, i64 0}
|
|
|