Skip to content

Instantly share code, notes, and snippets.

@tomaka
Created February 15, 2016 06:46
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 tomaka/ac4f2d80092182762dd7 to your computer and use it in GitHub Desktop.
Save tomaka/ac4f2d80092182762dd7 to your computer and use it in GitHub Desktop.
; ModuleID = 'test.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 }
%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>" = type { %"3.collections::string::String"* }
%"3.collections::string::String" = type { %"3.collections::vec::Vec<u8>" }
%"3.collections::vec::Vec<u8>" = type { %"5.alloc::raw_vec::RawVec<u8>", i32 }
%"5.alloc::raw_vec::RawVec<u8>" = type { %"2.core::ptr::Unique<u8>", i32 }
%"2.core::ptr::Unique<u8>" = type { %"2.core::nonzero::NonZero<*const u8>", %"2.core::marker::PhantomData<u8>" }
%"2.core::nonzero::NonZero<*const u8>" = type { i8* }
%"2.core::marker::PhantomData<u8>" = type {}
%"2.core::fmt::Arguments" = type { { %str_slice*, i32 }, %"2.core::option::Option<&'static [core::fmt::rt::v1::Argument]>", { %"2.core::fmt::ArgumentV1"*, i32 } }
%"2.core::option::Option<&'static [core::fmt::rt::v1::Argument]>" = type { { %"2.core::fmt::rt::v1::Argument"*, i32 } }
%"2.core::fmt::rt::v1::Argument" = type { %"2.core::fmt::rt::v1::Position", %"2.core::fmt::rt::v1::FormatSpec" }
%"2.core::fmt::rt::v1::Position" = type { i32, [0 x i32], [1 x i32] }
%"2.core::fmt::rt::v1::FormatSpec" = type { i32, i8, i32, %"2.core::fmt::rt::v1::Count", %"2.core::fmt::rt::v1::Count" }
%"2.core::fmt::rt::v1::Count" = type { i32, [0 x i32], [1 x i32] }
%"2.core::fmt::ArgumentV1" = type { %"2.core::fmt::Void"*, i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)* }
%"2.core::fmt::Void" = type {}
%"2.core::fmt::Formatter" = type { i32, i32, i8, %"2.core::option::Option<usize>", %"2.core::option::Option<usize>", { i8*, void (i8*)** }, %"2.core::slice::Iter<core::fmt::ArgumentV1>", { %"2.core::fmt::ArgumentV1"*, i32 } }
%"2.core::option::Option<usize>" = type { i32, [0 x i32], [1 x i32] }
%"2.core::slice::Iter<core::fmt::ArgumentV1>" = type { %"2.core::fmt::ArgumentV1"*, %"2.core::fmt::ArgumentV1"*, %"2.core::marker::PhantomData<&'static core::fmt::ArgumentV1>" }
%"2.core::marker::PhantomData<&'static core::fmt::ArgumentV1>" = type {}
%"1.std::ffi::c_str::NulError" = type { i32, %"3.collections::vec::Vec<u8>" }
%"1.std::sys_common::libunwind::_Unwind_Exception" = type { i64, void (i32, %"1.std::sys_common::libunwind::_Unwind_Exception"*)*, [20 x i32] }
%"1.std::sys_common::libunwind::_Unwind_Context" = type {}
%"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>" = type { i32, [0 x i32], [4 x i32] }
%"1.std::ffi::c_str::CStr" = type { i8 }
%"1.std::ffi::c_str::CString" = type { { i8*, i32 } }
@_ZN6result13unwrap_failed15__STATIC_FMTSTR20h93f0614df7a757baT2OE = external global { %str_slice*, i32 }
@_ZN6result13unwrap_failed10_FILE_LINE20h5a713f35311e7081D2OE = external global { %str_slice, i32 }
@str4444 = internal constant [43 x i8] c"called `Result::unwrap()` on an `Err` value"
@str4608 = internal constant [17 x i8] c"capacity overflow"
@_ZN7raw_vec11alloc_guard14_MSG_FILE_LINE20h274bf01c755e7ebebzbE = external global { %str_slice, %str_slice, i32 }
@const4799 = internal unnamed_addr constant i32 4, align 4
@vtable4840 = internal unnamed_addr constant { void (i8*)*, i32, i32, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i8*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Arguments"*)* } { void (i8*)* @_ZN2i89drop.450817h3995b712e15faffeE, i32 4, i32 4, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i8*, i32)* @"_ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_str21h13222558523887407488E", i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i32)* @_ZN3fmt5Write10write_char21h16290616956093539697E, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Arguments"*)* @"_ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_fmt21h16619816972899206628E" }, align 8
@_ZN6string10T.ToString9to_string15__STATIC_FMTSTR20hf93ded18d9bdb8e0bXfE = external global { %str_slice*, i32 }
@"_ZN7raw_vec15RawVec$LT$T$GT$13shrink_to_fit14_MSG_FILE_LINE20h274bf01c755e7ebeRvbE" = external global { %str_slice, %str_slice, i32 }
@str4878 = internal constant [4 x i8] c"Rust"
@_ZN4main10_FILE_LINE20h29fb8fa22348e8df1baE = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @str4895, i32 0, i32 0), i32 10 }, i32 18 }, align 4
@str4891 = internal constant [44 x i8] c"assertion failed: `(left == right)` (left: `"
@str4892 = internal constant [11 x i8] c"`, right: `"
@str4893 = internal constant [2 x i8] c"`)"
@ref4894 = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str4891, i32 0, i32 0), i32 44 }, %str_slice { i8* getelementptr inbounds ([11 x i8], [11 x i8]* @str4892, i32 0, i32 0), i32 11 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str4893, i32 0, i32 0), i32 2 }], align 4
@str4895 = internal constant [10 x i8] c"src/lib.rs"
; Function Attrs: nounwind
declare i32 @my_strlen(i8*) unnamed_addr #0
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.start(i64, i8* nocapture) #1
; Function Attrs: argmemonly nounwind
declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture readonly, i32, i32, i1) #1
; Function Attrs: argmemonly nounwind
declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) #1
; Function Attrs: nounwind
declare void @__rust_deallocate(i8*, i32, i32) unnamed_addr #0
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.end(i64, i8* nocapture) #1
; Function Attrs: cold noinline noreturn uwtable
define internal fastcc void @_ZN6result13unwrap_failed20h7753715955134796405E(%"1.std::ffi::c_str::NulError"* noalias nocapture dereferenceable(16) %error) unnamed_addr #2 personality i32 (i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*)* @rust_eh_personality {
normal-return3:
%msg = alloca %str_slice, align 8
%0 = alloca %"2.core::fmt::Arguments", align 8
%1 = alloca [2 x %"2.core::fmt::ArgumentV1"], align 8
%2 = getelementptr inbounds %str_slice, %str_slice* %msg, i32 0, i32 0
store i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str4444, i32 0, i32 0), i8** %2, align 8
%3 = getelementptr inbounds %str_slice, %str_slice* %msg, i32 0, i32 1
store i32 43, i32* %3, align 4
%4 = bitcast %"2.core::fmt::Arguments"* %0 to i8*
call void @llvm.lifetime.start(i64 24, i8* %4)
%5 = load i32, i32* bitcast ({ %str_slice*, i32 }* @_ZN6result13unwrap_failed15__STATIC_FMTSTR20h93f0614df7a757baT2OE to i32*), align 4
%6 = load i32, i32* getelementptr inbounds ({ %str_slice*, i32 }, { %str_slice*, i32 }* @_ZN6result13unwrap_failed15__STATIC_FMTSTR20h93f0614df7a757baT2OE, i32 0, i32 1), align 4
%7 = bitcast [2 x %"2.core::fmt::ArgumentV1"]* %1 to i8*
call void @llvm.lifetime.start(i64 16, i8* %7)
%8 = getelementptr inbounds [2 x %"2.core::fmt::ArgumentV1"], [2 x %"2.core::fmt::ArgumentV1"]* %1, i32 0, i32 0
%9 = getelementptr inbounds [2 x %"2.core::fmt::ArgumentV1"], [2 x %"2.core::fmt::ArgumentV1"]* %1, i32 0, i32 0, i32 1
store i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)* bitcast (i8 (%str_slice*, %"2.core::fmt::Formatter"*)* @"_ZN3fmt25_$RF$$u27$a$u20$T.Display3fmt21h11898998357427427792E" to i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)*), i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)** %9, align 4, !alias.scope !0, !noalias !3
%10 = bitcast [2 x %"2.core::fmt::ArgumentV1"]* %1 to %str_slice**
store %str_slice* %msg, %str_slice** %10, align 8, !alias.scope !0, !noalias !3
%11 = getelementptr inbounds [2 x %"2.core::fmt::ArgumentV1"], [2 x %"2.core::fmt::ArgumentV1"]* %1, i32 0, i32 1
%12 = getelementptr inbounds [2 x %"2.core::fmt::ArgumentV1"], [2 x %"2.core::fmt::ArgumentV1"]* %1, i32 0, i32 1, i32 1
store i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)* bitcast (i8 (%"1.std::ffi::c_str::NulError"*, %"2.core::fmt::Formatter"*)* @_ZN3ffi5c_str27NulError...core..fmt..Debug3fmt20hb134d53edb24185a0yeE to i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)*), i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)** %12, align 4, !alias.scope !5, !noalias !8
%13 = bitcast %"2.core::fmt::ArgumentV1"* %11 to %"1.std::ffi::c_str::NulError"**
store %"1.std::ffi::c_str::NulError"* %error, %"1.std::ffi::c_str::NulError"** %13, align 8, !alias.scope !5, !noalias !8
%14 = bitcast %"2.core::fmt::Arguments"* %0 to i32*
store i32 %5, i32* %14, align 8, !alias.scope !10, !noalias !13
%15 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %0, i32 0, i32 0, i32 1
store i32 %6, i32* %15, align 4, !alias.scope !10, !noalias !13
%16 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %0, i32 0, i32 1
%17 = bitcast %"2.core::option::Option<&'static [core::fmt::rt::v1::Argument]>"* %16 to i64*
store i64 0, i64* %17, align 8, !alias.scope !10, !noalias !13
%18 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %0, i32 0, i32 2, i32 0
store %"2.core::fmt::ArgumentV1"* %8, %"2.core::fmt::ArgumentV1"** %18, align 8, !alias.scope !10, !noalias !13
%19 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %0, i32 0, i32 2, i32 1
store i32 2, i32* %19, align 4, !alias.scope !10, !noalias !13
invoke void @_ZN9panicking9panic_fmt20h1637ce23cecef0986YLE(%"2.core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %0, { %str_slice, i32 }* noalias nonnull readonly dereferenceable(12) @_ZN6result13unwrap_failed10_FILE_LINE20h5a713f35311e7081D2OE)
to label %normal-return4 unwind label %unwind_custom_
unwind_custom_: ; preds = %normal-return3
%20 = landingpad { i8*, i32 }
cleanup
%21 = getelementptr inbounds %"1.std::ffi::c_str::NulError", %"1.std::ffi::c_str::NulError"* %error, i32 0, i32 1, i32 0, i32 1
%22 = load i32, i32* %21, align 4, !alias.scope !16
switch i32 %22, label %then-block-8598-.i.i.i.i.i [
i32 0, label %_ZN25std..ffi..c_str..NulError9drop.421317h9615176818444b33E.exit
i32 488447261, label %_ZN25std..ffi..c_str..NulError9drop.421317h9615176818444b33E.exit
]
then-block-8598-.i.i.i.i.i: ; preds = %unwind_custom_
%23 = getelementptr inbounds %"1.std::ffi::c_str::NulError", %"1.std::ffi::c_str::NulError"* %error, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0
%24 = load i8*, i8** %23, align 4, !alias.scope !16
call void @__rust_deallocate(i8* %24, i32 %22, i32 1) #0, !noalias !16
br label %_ZN25std..ffi..c_str..NulError9drop.421317h9615176818444b33E.exit
_ZN25std..ffi..c_str..NulError9drop.421317h9615176818444b33E.exit: ; preds = %unwind_custom_, %unwind_custom_, %then-block-8598-.i.i.i.i.i
%25 = bitcast %"1.std::ffi::c_str::NulError"* %error to i8*
call void @llvm.lifetime.end(i64 16, i8* %25)
resume { i8*, i32 } %20
normal-return4: ; preds = %normal-return3
call void @llvm.lifetime.end(i64 24, i8* %4)
unreachable
}
; Function Attrs: cold noinline noreturn
declare void @_ZN9panicking9panic_fmt20h1637ce23cecef0986YLE(%"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24), { %str_slice, i32 }* noalias readonly dereferenceable(12)) unnamed_addr #3
; Function Attrs: uwtable
define internal i8 @"_ZN3fmt25_$RF$$u27$a$u20$T.Display3fmt21h11898998357427427792E"(%str_slice* noalias nocapture readonly dereferenceable(8), %"2.core::fmt::Formatter"* noalias dereferenceable(52)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %str_slice, %str_slice* %0, i32 0, i32 0
%3 = load i8*, i8** %2, align 4
%4 = getelementptr inbounds %str_slice, %str_slice* %0, i32 0, i32 1
%5 = load i32, i32* %4, align 4
%6 = tail call i8 @_ZN3fmt11str.Display3fmt20h75827670d376d85fSlXE(i8* noalias nonnull readonly %3, i32 %5, %"2.core::fmt::Formatter"* noalias nonnull dereferenceable(52) %1)
ret i8 %6
}
declare i8 @_ZN3fmt11str.Display3fmt20h75827670d376d85fSlXE(i8* noalias nonnull readonly, i32, %"2.core::fmt::Formatter"* noalias dereferenceable(52)) unnamed_addr
; Function Attrs: nounwind
declare i32 @rust_eh_personality(i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*) unnamed_addr #0
declare i8 @_ZN3ffi5c_str27NulError...core..fmt..Debug3fmt20hb134d53edb24185a0yeE(%"1.std::ffi::c_str::NulError"* noalias readonly dereferenceable(16), %"2.core::fmt::Formatter"* noalias dereferenceable(52)) unnamed_addr
declare void @_ZN3ffi5c_str7CString4_new20h14fc098f20fae8ffLEeE(%"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* noalias nocapture sret dereferenceable(20), %"3.collections::vec::Vec<u8>"* noalias nocapture dereferenceable(12)) unnamed_addr
declare void @"_ZN6string32String.Into$LT$Vec$LT$u8$GT$$GT$4into20h5561ddfd294324d9kZfE"(%"3.collections::vec::Vec<u8>"* noalias nocapture sret dereferenceable(12), %"3.collections::string::String"* noalias nocapture dereferenceable(12)) unnamed_addr
declare i8* @_ZN3ffi5c_str4CStr6as_ptr20h657d885273054583bPeE(%"1.std::ffi::c_str::CStr"* noalias nonnull readonly, i32) unnamed_addr
declare { %"1.std::ffi::c_str::CStr"*, i32 } @_ZN3ffi5c_str18CString.ops..Deref5deref20h35d9edf2de6efa929IeE(%"1.std::ffi::c_str::CString"* noalias readonly dereferenceable(8)) unnamed_addr
; Function Attrs: uwtable
define void @_ZN4main20h36c8d57047a06aa2KaaE() unnamed_addr #4 personality i32 (i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*)* @rust_eh_personality {
entry-block:
%arg.i5.i = alloca %"1.std::ffi::c_str::NulError", align 8
%0 = alloca %"3.collections::vec::Vec<u8>", align 8
%arg.i.i7 = alloca %"3.collections::string::String", align 8
%s.i = alloca i64, align 8
%1 = alloca %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>", align 8
%arg.sroa.0.i = alloca %"3.collections::vec::Vec<u8>", align 8
%addr_of.i.i = alloca %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>", align 8
%arg.i.i = alloca %"2.core::fmt::Arguments", align 8
%self.i = alloca %str_slice, align 8
%buf.i = alloca %"3.collections::string::String", align 8
%2 = alloca [1 x %"2.core::fmt::ArgumentV1"], align 8
%len = alloca i32, align 4
%.sroa.0 = alloca %"3.collections::vec::Vec<u8>", align 8
%left_val = alloca i32*, align 4
%right_val = alloca i32*, align 4
%3 = alloca %"2.core::fmt::Arguments", align 8
%4 = alloca [2 x %"2.core::fmt::ArgumentV1"], align 8
%5 = bitcast i32* %len to i8*
call void @llvm.lifetime.start(i64 4, i8* %5)
%6 = bitcast %"3.collections::vec::Vec<u8>"* %.sroa.0 to i8*
call void @llvm.lifetime.start(i64 12, i8* %6)
%7 = bitcast %str_slice* %self.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %7)
%8 = getelementptr inbounds %str_slice, %str_slice* %self.i, i32 0, i32 0
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str4878, i32 0, i32 0), i8** %8, align 8, !noalias !19
%9 = getelementptr inbounds %str_slice, %str_slice* %self.i, i32 0, i32 1
store i32 4, i32* %9, align 4, !noalias !19
%10 = bitcast %"3.collections::string::String"* %buf.i to i8*
call void @llvm.lifetime.start(i64 12, i8* %10), !noalias !19
%11 = bitcast %"3.collections::string::String"* %buf.i to i32*
store i32 1, i32* %11, align 8, !alias.scope !22, !noalias !19
%12 = getelementptr inbounds %"3.collections::string::String", %"3.collections::string::String"* %buf.i, i32 0, i32 0, i32 0, i32 1
store i32 0, i32* %12, align 4, !alias.scope !22, !noalias !19
%13 = getelementptr inbounds %"3.collections::string::String", %"3.collections::string::String"* %buf.i, i32 0, i32 0, i32 1
store i32 0, i32* %13, align 8, !alias.scope !29, !noalias !19
%14 = load i32, i32* bitcast ({ %str_slice*, i32 }* @_ZN6string10T.ToString9to_string15__STATIC_FMTSTR20hf93ded18d9bdb8e0bXfE to i32*), align 4, !noalias !19
%15 = load i32, i32* getelementptr inbounds ({ %str_slice*, i32 }, { %str_slice*, i32 }* @_ZN6string10T.ToString9to_string15__STATIC_FMTSTR20hf93ded18d9bdb8e0bXfE, i32 0, i32 1), align 4, !noalias !19
%16 = bitcast [1 x %"2.core::fmt::ArgumentV1"]* %2 to i8*
call void @llvm.lifetime.start(i64 8, i8* %16), !noalias !19
%17 = getelementptr inbounds [1 x %"2.core::fmt::ArgumentV1"], [1 x %"2.core::fmt::ArgumentV1"]* %2, i32 0, i32 0
%18 = getelementptr inbounds [1 x %"2.core::fmt::ArgumentV1"], [1 x %"2.core::fmt::ArgumentV1"]* %2, i32 0, i32 0, i32 1
store i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)* bitcast (i8 (%str_slice*, %"2.core::fmt::Formatter"*)* @"_ZN3fmt25_$RF$$u27$a$u20$T.Display3fmt21h11898998357427427792E" to i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)*), i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)** %18, align 4, !alias.scope !30, !noalias !33
%19 = bitcast [1 x %"2.core::fmt::ArgumentV1"]* %2 to %str_slice**
store %str_slice* %self.i, %str_slice** %19, align 8, !alias.scope !30, !noalias !33
%20 = bitcast %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %addr_of.i.i to i8*
call void @llvm.lifetime.start(i64 4, i8* %20), !noalias !35
%21 = ptrtoint %"3.collections::string::String"* %buf.i to i32
%22 = bitcast %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %addr_of.i.i to i32*
store i32 %21, i32* %22, align 8, !noalias !35
%23 = bitcast %"2.core::fmt::Arguments"* %arg.i.i to i8*
call void @llvm.lifetime.start(i64 24, i8* %23), !noalias !35
%24 = bitcast %"2.core::fmt::Arguments"* %arg.i.i to i32*
store i32 %14, i32* %24, align 8, !noalias !19
%25 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %arg.i.i, i32 0, i32 0, i32 1
store i32 %15, i32* %25, align 4, !noalias !19
%26 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %arg.i.i, i32 0, i32 1
%27 = bitcast %"2.core::option::Option<&'static [core::fmt::rt::v1::Argument]>"* %26 to i64*
store i64 0, i64* %27, align 8, !noalias !19
%28 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %arg.i.i, i32 0, i32 2, i32 0
store %"2.core::fmt::ArgumentV1"* %17, %"2.core::fmt::ArgumentV1"** %28, align 8, !noalias !19
%29 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %arg.i.i, i32 0, i32 2, i32 1
store i32 1, i32* %29, align 4, !noalias !19
%30 = invoke i8 @_ZN3fmt5write20h09e4f9c97b710191XMWE(i8* noalias nonnull %20, void (i8*)** nonnull getelementptr inbounds ({ void (i8*)*, i32, i32, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i8*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Arguments"*)* }, { void (i8*)*, i32, i32, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i8*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Arguments"*)* }* @vtable4840, i32 0, i32 0), %"2.core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %arg.i.i)
to label %normal-return2.i unwind label %unwind_ast_8665_.i, !noalias !19
unwind_ast_8665_.i: ; preds = %then-block-23486-.i.i.i.i, %then-block-23423-.i.i.i.i, %entry-block
%31 = landingpad { i8*, i32 }
cleanup
%32 = load i32, i32* %12, align 4, !alias.scope !39, !noalias !19
switch i32 %32, label %then-block-8598-.i.i.i.i.i3.i [
i32 0, label %_ZN27collections..string..String9drop.446017hd99796de187a6992E.exit4.i
i32 488447261, label %_ZN27collections..string..String9drop.446017hd99796de187a6992E.exit4.i
]
then-block-8598-.i.i.i.i.i3.i: ; preds = %unwind_ast_8665_.i
%33 = getelementptr inbounds %"3.collections::string::String", %"3.collections::string::String"* %buf.i, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
%34 = load i8*, i8** %33, align 8, !alias.scope !39, !noalias !19
call void @__rust_deallocate(i8* %34, i32 %32, i32 1) #0, !noalias !42
br label %_ZN27collections..string..String9drop.446017hd99796de187a6992E.exit4.i
_ZN27collections..string..String9drop.446017hd99796de187a6992E.exit4.i: ; preds = %then-block-8598-.i.i.i.i.i3.i, %unwind_ast_8665_.i, %unwind_ast_8665_.i
call void @llvm.lifetime.end(i64 12, i8* nonnull %10), !noalias !19
resume { i8*, i32 } %31
normal-return2.i: ; preds = %entry-block
call void @llvm.lifetime.end(i64 24, i8* %23), !noalias !35
call void @llvm.lifetime.end(i64 4, i8* %20), !noalias !35
call void @llvm.lifetime.end(i64 8, i8* %16), !noalias !19
%35 = load i32, i32* %13, align 8, !alias.scope !43, !noalias !19
%36 = load i32, i32* %12, align 4, !alias.scope !48, !noalias !19
%37 = icmp ult i32 %36, %35
br i1 %37, label %then-block-23423-.i.i.i.i, label %next-block1.i.i.i.i
then-block-23423-.i.i.i.i: ; preds = %normal-return2.i
invoke void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias nonnull readonly dereferenceable(20) @"_ZN7raw_vec15RawVec$LT$T$GT$13shrink_to_fit14_MSG_FILE_LINE20h274bf01c755e7ebeRvbE")
to label %.noexc.i unwind label %unwind_ast_8665_.i, !noalias !19
.noexc.i: ; preds = %then-block-23423-.i.i.i.i
unreachable
next-block1.i.i.i.i: ; preds = %normal-return2.i
%38 = icmp eq i32 %35, 0
br i1 %38, label %then-block-23448-.i.i.i.i, label %else-block.i.i.i.i
then-block-23448-.i.i.i.i: ; preds = %next-block1.i.i.i.i
%39 = bitcast %"3.collections::string::String"* %buf.i to i64*
%40 = getelementptr inbounds %"3.collections::string::String", %"3.collections::string::String"* %buf.i, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
%41 = load i8*, i8** %40, align 8, !alias.scope !48, !noalias !19
store i64 1, i64* %39, align 8, !alias.scope !51, !noalias !56
switch i32 %36, label %then-block-8598-.i.i.i.i.i1.i [
i32 0, label %_ZN6string10T.ToString9to_string20h3793517966147839138E.exit
i32 488447261, label %_ZN6string10T.ToString9to_string20h3793517966147839138E.exit
]
then-block-8598-.i.i.i.i.i1.i: ; preds = %then-block-23448-.i.i.i.i
call void @__rust_deallocate(i8* %41, i32 %36, i32 1) #0, !noalias !60
br label %_ZN6string10T.ToString9to_string20h3793517966147839138E.exit
else-block.i.i.i.i: ; preds = %next-block1.i.i.i.i
%42 = icmp eq i32 %36, %35
br i1 %42, label %_ZN6string10T.ToString9to_string20h3793517966147839138E.exit, label %then-block-23460-.i.i.i.i
then-block-23460-.i.i.i.i: ; preds = %else-block.i.i.i.i
%43 = getelementptr inbounds %"3.collections::string::String", %"3.collections::string::String"* %buf.i, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
%44 = load i8*, i8** %43, align 8, !alias.scope !63, !noalias !19
%45 = call i8* @__rust_reallocate(i8* %44, i32 %36, i32 %35, i32 1) #0, !noalias !66
%46 = icmp eq i8* %45, null
br i1 %46, label %then-block-23486-.i.i.i.i, label %next-block2.i.i.i.i
then-block-23486-.i.i.i.i: ; preds = %then-block-23460-.i.i.i.i
invoke void @_ZN3oom3oom20hc9548a4043ae6aa0PzbE()
to label %.noexc2.i unwind label %unwind_ast_8665_.i, !noalias !19
.noexc2.i: ; preds = %then-block-23486-.i.i.i.i
unreachable
next-block2.i.i.i.i: ; preds = %then-block-23460-.i.i.i.i
%47 = ptrtoint i8* %45 to i32
store i32 %47, i32* %11, align 8, !alias.scope !48, !noalias !19
store i32 %35, i32* %12, align 4, !alias.scope !48, !noalias !19
br label %_ZN6string10T.ToString9to_string20h3793517966147839138E.exit
_ZN6string10T.ToString9to_string20h3793517966147839138E.exit: ; preds = %then-block-23448-.i.i.i.i, %then-block-23448-.i.i.i.i, %then-block-8598-.i.i.i.i.i1.i, %else-block.i.i.i.i, %next-block2.i.i.i.i
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* nonnull %10, i32 12, i32 8, i1 false)
call void @llvm.lifetime.end(i64 12, i8* nonnull %10), !noalias !19
call void @llvm.lifetime.end(i64 8, i8* %7)
%tmpcast.i = bitcast i64* %s.i to %"1.std::ffi::c_str::CString"*
%48 = bitcast i64* %s.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %48), !noalias !67
%49 = bitcast %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %1 to i8*
call void @llvm.lifetime.start(i64 20, i8* %49), !noalias !67
%50 = bitcast %"3.collections::vec::Vec<u8>"* %arg.sroa.0.i to i8*
call void @llvm.lifetime.start(i64 12, i8* %50)
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %50, i8* %6, i32 12, i32 8, i1 false)
call void @llvm.memset.p0i8.i32(i8* %6, i8 29, i32 12, i32 8, i1 false)
%51 = bitcast %"3.collections::vec::Vec<u8>"* %0 to i8*
call void @llvm.lifetime.start(i64 12, i8* %51), !noalias !70
%52 = bitcast %"3.collections::string::String"* %arg.i.i7 to i8*
call void @llvm.lifetime.start(i64 12, i8* %52), !noalias !70
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %52, i8* %50, i32 12, i32 8, i1 false), !noalias !67
call void @llvm.memset.p0i8.i32(i8* %50, i8 29, i32 12, i32 8, i1 false)
invoke void @"_ZN6string32String.Into$LT$Vec$LT$u8$GT$$GT$4into20h5561ddfd294324d9kZfE"(%"3.collections::vec::Vec<u8>"* noalias nocapture nonnull sret dereferenceable(12) %0, %"3.collections::string::String"* noalias nocapture nonnull dereferenceable(12) %arg.i.i7)
to label %normal-return.i.i unwind label %_ZN27collections..string..String9drop.446017hd99796de187a6992E.exit.i.i, !noalias !70
normal-return.i.i: ; preds = %_ZN6string10T.ToString9to_string20h3793517966147839138E.exit
call void @llvm.lifetime.end(i64 12, i8* %52), !noalias !70
invoke void @_ZN3ffi5c_str7CString4_new20h14fc098f20fae8ffLEeE(%"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* noalias nocapture nonnull sret dereferenceable(20) %1, %"3.collections::vec::Vec<u8>"* noalias nocapture nonnull dereferenceable(12) %0)
to label %normal-return.i unwind label %_ZN27collections..string..String9drop.446017hd99796de187a6992E.exit.i.i, !noalias !74
_ZN27collections..string..String9drop.446017hd99796de187a6992E.exit.i.i: ; preds = %normal-return.i.i, %_ZN6string10T.ToString9to_string20h3793517966147839138E.exit
%53 = landingpad { i8*, i32 }
cleanup
call void @llvm.lifetime.end(i64 12, i8* %50)
br label %unwind_custom_.body.i
normal-return.i: ; preds = %normal-return.i.i
call void @llvm.lifetime.end(i64 12, i8* %51), !noalias !70
call void @llvm.lifetime.end(i64 12, i8* %50)
call void @llvm.lifetime.end(i64 12, i8* %50)
%54 = getelementptr inbounds %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>", %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %1, i32 0, i32 0
%55 = load i32, i32* %54, align 8, !range !75, !alias.scope !76, !noalias !79
%switch.i.i = icmp eq i32 %55, 1
%56 = getelementptr inbounds %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>", %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %1, i32 0, i32 2
br i1 %switch.i.i, label %match_case2.i.i, label %normal-return1.i
match_case2.i.i: ; preds = %normal-return.i
%57 = bitcast %"1.std::ffi::c_str::NulError"* %arg.i5.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %57), !noalias !81
%58 = bitcast [4 x i32]* %56 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %57, i8* %58, i32 16, i32 4, i1 false), !noalias !79
call void @llvm.memset.p0i8.i32(i8* %58, i8 29, i32 16, i32 4, i1 false), !alias.scope !76, !noalias !79
invoke fastcc void @_ZN6result13unwrap_failed20h7753715955134796405E(%"1.std::ffi::c_str::NulError"* noalias nocapture nonnull dereferenceable(16) %arg.i5.i)
to label %normal-return.i6.i unwind label %unwind_custom_.body7.i, !noalias !81
normal-return.i6.i: ; preds = %match_case2.i.i
call void @llvm.lifetime.end(i64 16, i8* %57), !noalias !81
unreachable
unwind_custom_.body7.i: ; preds = %match_case2.i.i
%59 = landingpad { i8*, i32 }
cleanup
call void @llvm.lifetime.end(i64 20, i8* nonnull %49), !alias.scope !76, !noalias !79
br label %unwind_custom_.body.i
unwind_custom_.body.i: ; preds = %unwind_custom_.body7.i, %_ZN27collections..string..String9drop.446017hd99796de187a6992E.exit.i.i
%eh.lpad-body.i = phi { i8*, i32 } [ %59, %unwind_custom_.body7.i ], [ %53, %_ZN27collections..string..String9drop.446017hd99796de187a6992E.exit.i.i ]
%60 = extractvalue { i8*, i32 } %eh.lpad-body.i, 0
%61 = extractvalue { i8*, i32 } %eh.lpad-body.i, 1
br label %_ZN27collections..string..String9drop.446017hd99796de187a6992E.exit.i
_ZN27collections..string..String9drop.446017hd99796de187a6992E.exit.i: ; preds = %_ZN24std..ffi..c_str..CString9drop.416717h08cdfb41b28bfd8dE.exit.i, %unwind_custom_.body.i
%.sroa.0.0.i = phi i8* [ %71, %_ZN24std..ffi..c_str..CString9drop.416717h08cdfb41b28bfd8dE.exit.i ], [ %60, %unwind_custom_.body.i ]
%.sroa.5.0.i = phi i32 [ %72, %_ZN24std..ffi..c_str..CString9drop.416717h08cdfb41b28bfd8dE.exit.i ], [ %61, %unwind_custom_.body.i ]
call void @llvm.lifetime.end(i64 12, i8* nonnull %6)
%62 = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0.i, 0
%63 = insertvalue { i8*, i32 } %62, i32 %.sroa.5.0.i, 1
resume { i8*, i32 } %63
normal-return1.i: ; preds = %normal-return.i
%64 = bitcast [4 x i32]* %56 to i64*
%65 = load i64, i64* %64, align 4, !alias.scope !76, !noalias !79
store i64 %65, i64* %s.i, align 8, !alias.scope !82, !noalias !83
call void @llvm.lifetime.end(i64 20, i8* nonnull %49), !alias.scope !76, !noalias !79
call void @llvm.lifetime.end(i64 20, i8* nonnull %49), !noalias !67
%66 = invoke { %"1.std::ffi::c_str::CStr"*, i32 } @_ZN3ffi5c_str18CString.ops..Deref5deref20h35d9edf2de6efa929IeE(%"1.std::ffi::c_str::CString"* noalias nonnull readonly dereferenceable(8) %tmpcast.i)
to label %normal-return2.i8 unwind label %unwind_ast_20_.i, !noalias !67
normal-return2.i8: ; preds = %normal-return1.i
%67 = extractvalue { %"1.std::ffi::c_str::CStr"*, i32 } %66, 0
%68 = extractvalue { %"1.std::ffi::c_str::CStr"*, i32 } %66, 1
%69 = invoke i8* @_ZN3ffi5c_str4CStr6as_ptr20h657d885273054583bPeE(%"1.std::ffi::c_str::CStr"* noalias nonnull readonly %67, i32 %68)
to label %normal-return4.i unwind label %unwind_ast_20_.i, !noalias !67
unwind_ast_20_.i: ; preds = %normal-return2.i8, %normal-return1.i
%70 = landingpad { i8*, i32 }
cleanup
%71 = extractvalue { i8*, i32 } %70, 0
%72 = extractvalue { i8*, i32 } %70, 1
%73 = bitcast i64* %s.i to i8**
%74 = load i8*, i8** %73, align 8, !noalias !67
%75 = icmp eq i8* %74, inttoptr (i32 488447261 to i8*)
br i1 %75, label %_ZN24std..ffi..c_str..CString9drop.416717h08cdfb41b28bfd8dE.exit.i, label %cond.i.i.i
cond.i.i.i: ; preds = %unwind_ast_20_.i
%76 = getelementptr inbounds %"1.std::ffi::c_str::CString", %"1.std::ffi::c_str::CString"* %tmpcast.i, i32 0, i32 0, i32 1
%77 = load i32, i32* %76, align 4, !noalias !67
%78 = icmp eq i32 %77, 0
br i1 %78, label %_ZN24std..ffi..c_str..CString9drop.416717h08cdfb41b28bfd8dE.exit.i, label %cond2.i.i.i
cond2.i.i.i: ; preds = %cond.i.i.i
call void @__rust_deallocate(i8* %74, i32 %77, i32 1) #0, !noalias !67
br label %_ZN24std..ffi..c_str..CString9drop.416717h08cdfb41b28bfd8dE.exit.i
_ZN24std..ffi..c_str..CString9drop.416717h08cdfb41b28bfd8dE.exit.i: ; preds = %cond2.i.i.i, %cond.i.i.i, %unwind_ast_20_.i
call void @llvm.lifetime.end(i64 8, i8* nonnull %48), !noalias !67
br label %_ZN27collections..string..String9drop.446017hd99796de187a6992E.exit.i
normal-return4.i: ; preds = %normal-return2.i8
%79 = call i32 @my_strlen(i8* %69), !noalias !67
%80 = bitcast i64* %s.i to i8**
%81 = load i8*, i8** %80, align 8, !noalias !67
%82 = icmp eq i8* %81, inttoptr (i32 488447261 to i8*)
br i1 %82, label %_ZN6strlen20h14ec33f35cf8736eoaaE.exit, label %cond.i.i9.i
cond.i.i9.i: ; preds = %normal-return4.i
%83 = getelementptr inbounds %"1.std::ffi::c_str::CString", %"1.std::ffi::c_str::CString"* %tmpcast.i, i32 0, i32 0, i32 1
%84 = load i32, i32* %83, align 4, !noalias !67
%85 = icmp eq i32 %84, 0
br i1 %85, label %_ZN6strlen20h14ec33f35cf8736eoaaE.exit, label %cond2.i.i10.i
cond2.i.i10.i: ; preds = %cond.i.i9.i
call void @__rust_deallocate(i8* %81, i32 %84, i32 1) #0, !noalias !67
br label %_ZN6strlen20h14ec33f35cf8736eoaaE.exit
_ZN6strlen20h14ec33f35cf8736eoaaE.exit: ; preds = %normal-return4.i, %cond.i.i9.i, %cond2.i.i10.i
call void @llvm.lifetime.end(i64 8, i8* nonnull %48), !noalias !67
call void @llvm.lifetime.end(i64 12, i8* nonnull %6)
store i32 %79, i32* %len, align 4
call void @llvm.lifetime.end(i64 12, i8* nonnull %6)
%86 = bitcast i32** %left_val to i8*
call void @llvm.lifetime.start(i64 4, i8* %86)
store i32* %len, i32** %left_val, align 4
%87 = bitcast i32** %right_val to i8*
call void @llvm.lifetime.start(i64 4, i8* %87)
store i32* @const4799, i32** %right_val, align 4
%88 = icmp eq i32 %79, 4
br i1 %88, label %next-block, label %then-block-70-
then-block-70-: ; preds = %_ZN6strlen20h14ec33f35cf8736eoaaE.exit
%89 = bitcast %"2.core::fmt::Arguments"* %3 to i8*
call void @llvm.lifetime.start(i64 24, i8* %89)
%90 = bitcast [2 x %"2.core::fmt::ArgumentV1"]* %4 to i8*
call void @llvm.lifetime.start(i64 16, i8* %90)
%91 = getelementptr inbounds [2 x %"2.core::fmt::ArgumentV1"], [2 x %"2.core::fmt::ArgumentV1"]* %4, i32 0, i32 0
%92 = getelementptr inbounds [2 x %"2.core::fmt::ArgumentV1"], [2 x %"2.core::fmt::ArgumentV1"]* %4, i32 0, i32 0, i32 1
store i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)* bitcast (i8 (i32**, %"2.core::fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt21h14191854059921597989E" to i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)*), i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)** %92, align 4, !alias.scope !84, !noalias !87
%93 = bitcast [2 x %"2.core::fmt::ArgumentV1"]* %4 to i32***
store i32** %left_val, i32*** %93, align 8, !alias.scope !84, !noalias !87
%94 = getelementptr inbounds [2 x %"2.core::fmt::ArgumentV1"], [2 x %"2.core::fmt::ArgumentV1"]* %4, i32 0, i32 1
%95 = getelementptr inbounds [2 x %"2.core::fmt::ArgumentV1"], [2 x %"2.core::fmt::ArgumentV1"]* %4, i32 0, i32 1, i32 1
store i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)* bitcast (i8 (i32**, %"2.core::fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt21h14191854059921597989E" to i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)*), i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)** %95, align 4, !alias.scope !89, !noalias !92
%96 = bitcast %"2.core::fmt::ArgumentV1"* %94 to i32***
store i32** %right_val, i32*** %96, align 8, !alias.scope !89, !noalias !92
%97 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %3, i32 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref4894, i32 0, i32 0), %str_slice** %97, align 8, !alias.scope !94, !noalias !97
%98 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %3, i32 0, i32 0, i32 1
store i32 3, i32* %98, align 4, !alias.scope !94, !noalias !97
%99 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %3, i32 0, i32 1
%100 = bitcast %"2.core::option::Option<&'static [core::fmt::rt::v1::Argument]>"* %99 to i64*
store i64 0, i64* %100, align 8, !alias.scope !94, !noalias !97
%101 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %3, i32 0, i32 2, i32 0
store %"2.core::fmt::ArgumentV1"* %91, %"2.core::fmt::ArgumentV1"** %101, align 8, !alias.scope !94, !noalias !97
%102 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %3, i32 0, i32 2, i32 1
store i32 2, i32* %102, align 4, !alias.scope !94, !noalias !97
call void @_ZN10sys_common6unwind16begin_unwind_fmt20h6215f9c309c38d00H6sE(%"2.core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %3, { %str_slice, i32 }* noalias nonnull readonly dereferenceable(12) @_ZN4main10_FILE_LINE20h29fb8fa22348e8df1baE)
unreachable
next-block: ; preds = %_ZN6strlen20h14ec33f35cf8736eoaaE.exit
call void @llvm.lifetime.end(i64 4, i8* %87)
call void @llvm.lifetime.end(i64 4, i8* %86)
call void @llvm.lifetime.end(i64 4, i8* nonnull %5)
ret void
}
declare i8 @_ZN3fmt5write20h09e4f9c97b710191XMWE(i8* noalias nonnull, void (i8*)** nonnull, %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24)) unnamed_addr
; Function Attrs: norecurse nounwind readnone
define internal void @_ZN2i89drop.450817h3995b712e15faffeE(i8* nocapture) unnamed_addr #5 {
entry-block:
ret void
}
; Function Attrs: uwtable
define internal i8 @"_ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_str21h13222558523887407488E"(%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* noalias nocapture readonly dereferenceable(4), i8* noalias nocapture nonnull readonly, i32) unnamed_addr #4 {
entry-block:
%3 = getelementptr inbounds %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>", %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %0, i32 0, i32 0
%4 = load %"3.collections::string::String"*, %"3.collections::string::String"** %3, align 4, !nonnull !100
%5 = getelementptr inbounds %"3.collections::string::String", %"3.collections::string::String"* %4, i32 0, i32 0, i32 1
%6 = load i32, i32* %5, align 4, !alias.scope !101, !noalias !110
%.idx.i.i.i.i.i = getelementptr %"3.collections::string::String", %"3.collections::string::String"* %4, i32 0, i32 0, i32 0, i32 1
%.idx.val.i.i.i.i.i = load i32, i32* %.idx.i.i.i.i.i, align 4, !alias.scope !114, !noalias !110
%7 = sub i32 %.idx.val.i.i.i.i.i, %6
%8 = icmp ult i32 %7, %2
br i1 %8, label %next-block.i.i.i.i.i, label %loop_body.preheader.i.i.i
next-block.i.i.i.i.i: ; preds = %entry-block
%9 = tail call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %6, i32 %2) #0
%10 = extractvalue { i32, i1 } %9, 1
br i1 %10, label %match_case2.i2.i.i.i.i.i.i, label %"_ZN7raw_vec15RawVec$LT$T$GT$18amortized_new_size21h17653985550706015584E.exit.i.i.i.i.i"
match_case2.i2.i.i.i.i.i.i: ; preds = %next-block.i.i.i.i.i
tail call void @_ZN6option13expect_failed20h39dc6c123aa21242iqOE(i8* noalias nonnull readonly getelementptr inbounds ([17 x i8], [17 x i8]* @str4608, i32 0, i32 0), i32 17), !noalias !117
unreachable
"_ZN7raw_vec15RawVec$LT$T$GT$18amortized_new_size21h17653985550706015584E.exit.i.i.i.i.i": ; preds = %next-block.i.i.i.i.i
%11 = extractvalue { i32, i1 } %9, 0
%12 = shl i32 %.idx.val.i.i.i.i.i, 1
%13 = icmp uge i32 %11, %12
%14 = select i1 %13, i32 %11, i32 %12
%15 = icmp slt i32 %14, 0
br i1 %15, label %then-block-22261-.i.i.i.i.i.i, label %_ZN7raw_vec11alloc_guard20ha81e6ada230ab1e4MybE.exit.i.i.i.i.i
then-block-22261-.i.i.i.i.i.i: ; preds = %"_ZN7raw_vec15RawVec$LT$T$GT$18amortized_new_size21h17653985550706015584E.exit.i.i.i.i.i"
tail call void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias nonnull readonly dereferenceable(20) @_ZN7raw_vec11alloc_guard14_MSG_FILE_LINE20h274bf01c755e7ebebzbE), !noalias !122
unreachable
_ZN7raw_vec11alloc_guard20ha81e6ada230ab1e4MybE.exit.i.i.i.i.i: ; preds = %"_ZN7raw_vec15RawVec$LT$T$GT$18amortized_new_size21h17653985550706015584E.exit.i.i.i.i.i"
%16 = icmp eq i32 %.idx.val.i.i.i.i.i, 0
br i1 %16, label %then-block-21884-.i.i.i.i.i, label %else-block.i.i.i.i.i
then-block-21884-.i.i.i.i.i: ; preds = %_ZN7raw_vec11alloc_guard20ha81e6ada230ab1e4MybE.exit.i.i.i.i.i
%17 = tail call i8* @__rust_allocate(i32 %14, i32 1) #0, !noalias !122
br label %join.i.i.i.i.i
else-block.i.i.i.i.i: ; preds = %_ZN7raw_vec11alloc_guard20ha81e6ada230ab1e4MybE.exit.i.i.i.i.i
%18 = getelementptr inbounds %"3.collections::string::String", %"3.collections::string::String"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
%19 = load i8*, i8** %18, align 4, !alias.scope !123, !noalias !110
%20 = tail call i8* @__rust_reallocate(i8* %19, i32 %.idx.val.i.i.i.i.i, i32 %14, i32 1) #0, !noalias !122
br label %join.i.i.i.i.i
join.i.i.i.i.i: ; preds = %else-block.i.i.i.i.i, %then-block-21884-.i.i.i.i.i
%ptr.0.i.i.i.i.i = phi i8* [ %17, %then-block-21884-.i.i.i.i.i ], [ %20, %else-block.i.i.i.i.i ]
%21 = icmp eq i8* %ptr.0.i.i.i.i.i, null
br i1 %21, label %then-block-21908-.i.i.i.i.i, label %next-block1.i.i.i.i.i
then-block-21908-.i.i.i.i.i: ; preds = %join.i.i.i.i.i
tail call void @_ZN3oom3oom20hc9548a4043ae6aa0PzbE(), !noalias !122
unreachable
next-block1.i.i.i.i.i: ; preds = %join.i.i.i.i.i
%22 = ptrtoint i8* %ptr.0.i.i.i.i.i to i32
%23 = bitcast %"3.collections::string::String"* %4 to i32*
store i32 %22, i32* %23, align 4, !alias.scope !114, !noalias !110
store i32 %14, i32* %.idx.i.i.i.i.i, align 4, !alias.scope !114, !noalias !110
br label %loop_body.preheader.i.i.i
loop_body.preheader.i.i.i: ; preds = %next-block1.i.i.i.i.i, %entry-block
%24 = icmp eq i32 %2, 0
br i1 %24, label %_ZN6string17String.fmt..Write9write_str20hc79367b8c49737ced0fE.exit, label %match_case.lr.ph.i.i.i
match_case.lr.ph.i.i.i: ; preds = %loop_body.preheader.i.i.i
%25 = getelementptr inbounds %"3.collections::string::String", %"3.collections::string::String"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
%26 = load i8*, i8** %25, align 4, !alias.scope !126, !noalias !110
%scevgep.i.i.i = getelementptr i8, i8* %26, i32 %6
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %scevgep.i.i.i, i8* nonnull %1, i32 %2, i32 1, i1 false), !noalias !126
%27 = add i32 %6, %2
store i32 %27, i32* %5, align 4, !alias.scope !126, !noalias !110
br label %_ZN6string17String.fmt..Write9write_str20hc79367b8c49737ced0fE.exit
_ZN6string17String.fmt..Write9write_str20hc79367b8c49737ced0fE.exit: ; preds = %loop_body.preheader.i.i.i, %match_case.lr.ph.i.i.i
ret i8 0
}
; Function Attrs: cold noinline noreturn
declare void @_ZN6option13expect_failed20h39dc6c123aa21242iqOE(i8* noalias nonnull readonly, i32) unnamed_addr #3
; Function Attrs: nounwind readnone
declare { i32, i1 } @llvm.uadd.with.overflow.i32(i32, i32) #6
; Function Attrs: cold noinline noreturn
declare void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20)) unnamed_addr #3
; Function Attrs: nounwind
declare noalias i8* @__rust_allocate(i32, i32) unnamed_addr #0
; Function Attrs: nounwind
declare i8* @__rust_reallocate(i8*, i32, i32, i32) unnamed_addr #0
; Function Attrs: cold noinline noreturn
declare void @_ZN3oom3oom20hc9548a4043ae6aa0PzbE() unnamed_addr #3
; Function Attrs: uwtable
define internal i8 @_ZN3fmt5Write10write_char21h16290616956093539697E(%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* noalias nocapture readonly dereferenceable(4), i32) unnamed_addr #4 {
entry-block:
%utf_8 = alloca i32, align 4
%tmpcast = bitcast i32* %utf_8 to [4 x i8]*
%2 = bitcast i32* %utf_8 to i8*
call void @llvm.lifetime.start(i64 4, i8* %2)
store i32 0, i32* %utf_8, align 4
%3 = icmp ult i32 %1, 128
br i1 %3, label %next.i.i, label %else-block.i.i
next.i.i: ; preds = %entry-block
%4 = trunc i32 %1 to i8
store i8 %4, i8* %2, align 4, !alias.scope !127, !noalias !132
br label %"_ZN5slice56_$u5b$T$u5d$.ops..Index$LT$ops..RangeTo$LT$usize$GT$$GT$5index20h3426661034275425222E.exit"
else-block.i.i: ; preds = %entry-block
%5 = icmp ult i32 %1, 2048
br i1 %5, label %next3.i.i, label %else-block7.i.i
next3.i.i: ; preds = %else-block.i.i
%6 = lshr i32 %1, 6
%7 = and i32 %6, 31
%8 = trunc i32 %7 to i8
%9 = or i8 %8, -64
store i8 %9, i8* %2, align 4, !alias.scope !127, !noalias !132
%10 = and i32 %1, 63
%11 = trunc i32 %10 to i8
%12 = or i8 %11, -128
%13 = getelementptr inbounds [4 x i8], [4 x i8]* %tmpcast, i32 0, i32 1
store i8 %12, i8* %13, align 1, !alias.scope !127, !noalias !132
br label %"_ZN5slice56_$u5b$T$u5d$.ops..Index$LT$ops..RangeTo$LT$usize$GT$$GT$5index20h3426661034275425222E.exit"
else-block7.i.i: ; preds = %else-block.i.i
%14 = icmp ult i32 %1, 65536
br i1 %14, label %next10.i.i, label %next17.i.i
next10.i.i: ; preds = %else-block7.i.i
%15 = lshr i32 %1, 12
%16 = and i32 %15, 15
%17 = trunc i32 %16 to i8
%18 = or i8 %17, -32
store i8 %18, i8* %2, align 4, !alias.scope !127, !noalias !132
%19 = lshr i32 %1, 6
%20 = and i32 %19, 63
%21 = trunc i32 %20 to i8
%22 = or i8 %21, -128
%23 = getelementptr inbounds [4 x i8], [4 x i8]* %tmpcast, i32 0, i32 1
store i8 %22, i8* %23, align 1, !alias.scope !127, !noalias !132
%24 = and i32 %1, 63
%25 = trunc i32 %24 to i8
%26 = or i8 %25, -128
%27 = getelementptr inbounds [4 x i8], [4 x i8]* %tmpcast, i32 0, i32 2
store i8 %26, i8* %27, align 2, !alias.scope !127, !noalias !132
br label %"_ZN5slice56_$u5b$T$u5d$.ops..Index$LT$ops..RangeTo$LT$usize$GT$$GT$5index20h3426661034275425222E.exit"
next17.i.i: ; preds = %else-block7.i.i
%28 = lshr i32 %1, 18
%29 = and i32 %28, 7
%30 = trunc i32 %29 to i8
%31 = or i8 %30, -16
store i8 %31, i8* %2, align 4, !alias.scope !127, !noalias !132
%32 = lshr i32 %1, 12
%33 = and i32 %32, 63
%34 = trunc i32 %33 to i8
%35 = or i8 %34, -128
%36 = getelementptr inbounds [4 x i8], [4 x i8]* %tmpcast, i32 0, i32 1
store i8 %35, i8* %36, align 1, !alias.scope !127, !noalias !132
%37 = lshr i32 %1, 6
%38 = and i32 %37, 63
%39 = trunc i32 %38 to i8
%40 = or i8 %39, -128
%41 = getelementptr inbounds [4 x i8], [4 x i8]* %tmpcast, i32 0, i32 2
store i8 %40, i8* %41, align 2, !alias.scope !127, !noalias !132
%42 = and i32 %1, 63
%43 = trunc i32 %42 to i8
%44 = or i8 %43, -128
%45 = getelementptr inbounds [4 x i8], [4 x i8]* %tmpcast, i32 0, i32 3
store i8 %44, i8* %45, align 1, !alias.scope !127, !noalias !132
br label %"_ZN5slice56_$u5b$T$u5d$.ops..Index$LT$ops..RangeTo$LT$usize$GT$$GT$5index20h3426661034275425222E.exit"
"_ZN5slice56_$u5b$T$u5d$.ops..Index$LT$ops..RangeTo$LT$usize$GT$$GT$5index20h3426661034275425222E.exit": ; preds = %next17.i.i, %next10.i.i, %next3.i.i, %next.i.i
%.sroa.8.0 = phi i32 [ 1, %next.i.i ], [ 2, %next3.i.i ], [ 3, %next10.i.i ], [ 4, %next17.i.i ]
%46 = call i8 @"_ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_str21h13222558523887407488E"(%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* noalias nonnull dereferenceable(4) %0, i8* noalias nonnull readonly %2, i32 %.sroa.8.0)
call void @llvm.lifetime.end(i64 4, i8* nonnull %2)
ret i8 0
}
; Function Attrs: uwtable
define internal i8 @"_ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_fmt21h16619816972899206628E"(%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* noalias nocapture readonly dereferenceable(4), %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24) %args) unnamed_addr #4 {
entry-block:
%addr_of.i = alloca %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>", align 8
%arg.i = alloca %"2.core::fmt::Arguments", align 8
%1 = bitcast %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %0 to i32*
%2 = load i32, i32* %1, align 4, !range !135
%3 = bitcast %"2.core::fmt::Arguments"* %args to i8*
%4 = bitcast %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %addr_of.i to i8*
call void @llvm.lifetime.start(i64 4, i8* %4), !noalias !136
%5 = bitcast %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %addr_of.i to i32*
store i32 %2, i32* %5, align 8, !noalias !136
%6 = bitcast %"2.core::fmt::Arguments"* %arg.i to i8*
call void @llvm.lifetime.start(i64 24, i8* %6), !noalias !136
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %3, i32 24, i32 4, i1 false)
%7 = call i8 @_ZN3fmt5write20h09e4f9c97b710191XMWE(i8* noalias nonnull %4, void (i8*)** nonnull getelementptr inbounds ({ void (i8*)*, i32, i32, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i8*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Arguments"*)* }, { void (i8*)*, i32, i32, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i8*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Arguments"*)* }* @vtable4840, i32 0, i32 0), %"2.core::fmt::Arguments"* noalias nocapture nonnull dereferenceable(24) %arg.i), !noalias !140
call void @llvm.lifetime.end(i64 24, i8* %6), !noalias !136
call void @llvm.lifetime.end(i64 4, i8* %4), !noalias !136
call void @llvm.lifetime.end(i64 24, i8* %3)
ret i8 %7
}
; Function Attrs: cold noinline noreturn
declare void @_ZN10sys_common6unwind16begin_unwind_fmt20h6215f9c309c38d00H6sE(%"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24), { %str_slice, i32 }* noalias readonly dereferenceable(12)) unnamed_addr #3
; Function Attrs: uwtable
define internal i8 @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt21h14191854059921597989E"(i32** noalias nocapture readonly dereferenceable(4), %"2.core::fmt::Formatter"* noalias dereferenceable(52)) unnamed_addr #4 {
entry-block:
%2 = load i32*, i32** %0, align 4, !nonnull !100
%3 = tail call i8 @_ZN3fmt3num16usize.fmt..Debug3fmt20hba0f09b094161cefI4UE(i32* noalias nonnull readonly dereferenceable(4) %2, %"2.core::fmt::Formatter"* noalias nonnull dereferenceable(52) %1)
ret i8 %3
}
declare i8 @_ZN3fmt3num16usize.fmt..Debug3fmt20hba0f09b094161cefI4UE(i32* noalias readonly dereferenceable(4), %"2.core::fmt::Formatter"* noalias dereferenceable(52)) unnamed_addr
attributes #0 = { nounwind }
attributes #1 = { argmemonly nounwind }
attributes #2 = { cold noinline noreturn uwtable }
attributes #3 = { cold noinline noreturn }
attributes #4 = { uwtable }
attributes #5 = { norecurse nounwind readnone }
attributes #6 = { nounwind readnone }
!0 = !{!1}
!1 = distinct !{!1, !2, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h8772557822634343886E: argument 0"}
!2 = distinct !{!2, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h8772557822634343886E"}
!3 = !{!4}
!4 = distinct !{!4, !2, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h8772557822634343886E: argument 1"}
!5 = !{!6}
!6 = distinct !{!6, !7, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h4222336422328842925E: argument 0"}
!7 = distinct !{!7, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h4222336422328842925E"}
!8 = !{!9}
!9 = distinct !{!9, !7, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h4222336422328842925E: argument 1"}
!10 = !{!11}
!11 = distinct !{!11, !12, !"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120hac22e56c14d17949qIWE: argument 0"}
!12 = distinct !{!12, !"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120hac22e56c14d17949qIWE"}
!13 = !{!14, !15}
!14 = distinct !{!14, !12, !"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120hac22e56c14d17949qIWE: argument 1"}
!15 = distinct !{!15, !12, !"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120hac22e56c14d17949qIWE: argument 2"}
!16 = !{!17}
!17 = distinct !{!17, !18, !"_ZN7raw_vec20RawVec$LT$T$GT$.Drop4drop21h11172686036858442731E: argument 0"}
!18 = distinct !{!18, !"_ZN7raw_vec20RawVec$LT$T$GT$.Drop4drop21h11172686036858442731E"}
!19 = !{!20}
!20 = distinct !{!20, !21, !"_ZN6string10T.ToString9to_string20h3793517966147839138E: argument 0"}
!21 = distinct !{!21, !"_ZN6string10T.ToString9to_string20h3793517966147839138E"}
!22 = !{!23, !25, !27}
!23 = distinct !{!23, !24, !"_ZN7raw_vec15RawVec$LT$T$GT$3new21h18333653490351175200E: argument 0"}
!24 = distinct !{!24, !"_ZN7raw_vec15RawVec$LT$T$GT$3new21h18333653490351175200E"}
!25 = distinct !{!25, !26, !"_ZN3vec12Vec$LT$T$GT$3new21h16401190454226457531E: argument 0"}
!26 = distinct !{!26, !"_ZN3vec12Vec$LT$T$GT$3new21h16401190454226457531E"}
!27 = distinct !{!27, !28, !"_ZN6string6String3new20h65f7ea92408d507eoffE: argument 0"}
!28 = distinct !{!28, !"_ZN6string6String3new20h65f7ea92408d507eoffE"}
!29 = !{!25, !27}
!30 = !{!31}
!31 = distinct !{!31, !32, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h8772557822634343886E: argument 0"}
!32 = distinct !{!32, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h8772557822634343886E"}
!33 = !{!34, !20}
!34 = distinct !{!34, !32, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h8772557822634343886E: argument 1"}
!35 = !{!36, !38, !20}
!36 = distinct !{!36, !37, !"_ZN3fmt5Write9write_fmt21h10658780632426935008E: argument 0"}
!37 = distinct !{!37, !"_ZN3fmt5Write9write_fmt21h10658780632426935008E"}
!38 = distinct !{!38, !37, !"_ZN3fmt5Write9write_fmt21h10658780632426935008E: %args"}
!39 = !{!40}
!40 = distinct !{!40, !41, !"_ZN7raw_vec20RawVec$LT$T$GT$.Drop4drop21h11172686036858442731E: argument 0"}
!41 = distinct !{!41, !"_ZN7raw_vec20RawVec$LT$T$GT$.Drop4drop21h11172686036858442731E"}
!42 = !{!40, !20}
!43 = !{!44, !46}
!44 = distinct !{!44, !45, !"_ZN3vec12Vec$LT$T$GT$13shrink_to_fit21h13678018017223501599E: argument 0"}
!45 = distinct !{!45, !"_ZN3vec12Vec$LT$T$GT$13shrink_to_fit21h13678018017223501599E"}
!46 = distinct !{!46, !47, !"_ZN6string6String13shrink_to_fit20h537e9fc577baa2bcUrfE: argument 0"}
!47 = distinct !{!47, !"_ZN6string6String13shrink_to_fit20h537e9fc577baa2bcUrfE"}
!48 = !{!49, !44, !46}
!49 = distinct !{!49, !50, !"_ZN7raw_vec15RawVec$LT$T$GT$13shrink_to_fit21h10063605059236924287E: argument 0"}
!50 = distinct !{!50, !"_ZN7raw_vec15RawVec$LT$T$GT$13shrink_to_fit21h10063605059236924287E"}
!51 = !{!52, !54, !49, !44, !46}
!52 = distinct !{!52, !53, !"_ZN3mem4swap20h7640413696161584270E: argument 0"}
!53 = distinct !{!53, !"_ZN3mem4swap20h7640413696161584270E"}
!54 = distinct !{!54, !55, !"_ZN3mem7replace21h11681206135161410366E: argument 1"}
!55 = distinct !{!55, !"_ZN3mem7replace21h11681206135161410366E"}
!56 = !{!57, !58, !59, !20}
!57 = distinct !{!57, !53, !"_ZN3mem4swap20h7640413696161584270E: argument 1"}
!58 = distinct !{!58, !55, !"_ZN3mem7replace21h11681206135161410366E: argument 0"}
!59 = distinct !{!59, !55, !"_ZN3mem7replace21h11681206135161410366E: %src"}
!60 = !{!61, !49, !44, !46, !20}
!61 = distinct !{!61, !62, !"_ZN7raw_vec20RawVec$LT$T$GT$.Drop4drop21h11172686036858442731E: argument 0"}
!62 = distinct !{!62, !"_ZN7raw_vec20RawVec$LT$T$GT$.Drop4drop21h11172686036858442731E"}
!63 = !{!64, !49, !44, !46}
!64 = distinct !{!64, !65, !"_ZN7raw_vec15RawVec$LT$T$GT$3ptr19h728133215989471373E: argument 0"}
!65 = distinct !{!65, !"_ZN7raw_vec15RawVec$LT$T$GT$3ptr19h728133215989471373E"}
!66 = !{!49, !44, !46, !20}
!67 = !{!68}
!68 = distinct !{!68, !69, !"_ZN6strlen20h14ec33f35cf8736eoaaE: %str"}
!69 = distinct !{!69, !"_ZN6strlen20h14ec33f35cf8736eoaaE"}
!70 = !{!71, !73, !68}
!71 = distinct !{!71, !72, !"_ZN3ffi5c_str7CString3new20h7782128559903177296E: argument 0"}
!72 = distinct !{!72, !"_ZN3ffi5c_str7CString3new20h7782128559903177296E"}
!73 = distinct !{!73, !72, !"_ZN3ffi5c_str7CString3new20h7782128559903177296E: %t"}
!74 = !{!73, !68}
!75 = !{i32 0, i32 2}
!76 = !{!77}
!77 = distinct !{!77, !78, !"_ZN6result24Result$LT$T$C$$u20$E$GT$6unwrap20h1229944460341768978E: %self"}
!78 = distinct !{!78, !"_ZN6result24Result$LT$T$C$$u20$E$GT$6unwrap20h1229944460341768978E"}
!79 = !{!80, !68}
!80 = distinct !{!80, !78, !"_ZN6result24Result$LT$T$C$$u20$E$GT$6unwrap20h1229944460341768978E: argument 0"}
!81 = !{!80, !77, !68}
!82 = !{!80}
!83 = !{!77, !68}
!84 = !{!85}
!85 = distinct !{!85, !86, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new21h10464915080653870938E: argument 0"}
!86 = distinct !{!86, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new21h10464915080653870938E"}
!87 = !{!88}
!88 = distinct !{!88, !86, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new21h10464915080653870938E: argument 1"}
!89 = !{!90}
!90 = distinct !{!90, !91, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new21h10464915080653870938E: argument 0"}
!91 = distinct !{!91, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new21h10464915080653870938E"}
!92 = !{!93}
!93 = distinct !{!93, !91, !"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new21h10464915080653870938E: argument 1"}
!94 = !{!95}
!95 = distinct !{!95, !96, !"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120hac22e56c14d17949qIWE: argument 0"}
!96 = distinct !{!96, !"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120hac22e56c14d17949qIWE"}
!97 = !{!98, !99}
!98 = distinct !{!98, !96, !"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120hac22e56c14d17949qIWE: argument 1"}
!99 = distinct !{!99, !96, !"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120hac22e56c14d17949qIWE: argument 2"}
!100 = !{}
!101 = !{!102, !104, !106, !108}
!102 = distinct !{!102, !103, !"_ZN3vec12Vec$LT$T$GT$7reserve20h5203663800028280480E: argument 0"}
!103 = distinct !{!103, !"_ZN3vec12Vec$LT$T$GT$7reserve20h5203663800028280480E"}
!104 = distinct !{!104, !105, !"_ZN3vec12Vec$LT$T$GT$17extend_from_slice20h3257864489660678328E: argument 0"}
!105 = distinct !{!105, !"_ZN3vec12Vec$LT$T$GT$17extend_from_slice20h3257864489660678328E"}
!106 = distinct !{!106, !107, !"_ZN6string6String8push_str20h18c1794a501053795qfE: argument 0"}
!107 = distinct !{!107, !"_ZN6string6String8push_str20h18c1794a501053795qfE"}
!108 = distinct !{!108, !109, !"_ZN6string17String.fmt..Write9write_str20hc79367b8c49737ced0fE: argument 0"}
!109 = distinct !{!109, !"_ZN6string17String.fmt..Write9write_str20hc79367b8c49737ced0fE"}
!110 = !{!111, !112, !113}
!111 = distinct !{!111, !105, !"_ZN3vec12Vec$LT$T$GT$17extend_from_slice20h3257864489660678328E: argument 1"}
!112 = distinct !{!112, !107, !"_ZN6string6String8push_str20h18c1794a501053795qfE: argument 1"}
!113 = distinct !{!113, !109, !"_ZN6string17String.fmt..Write9write_str20hc79367b8c49737ced0fE: argument 1"}
!114 = !{!115, !102, !104, !106, !108}
!115 = distinct !{!115, !116, !"_ZN7raw_vec15RawVec$LT$T$GT$7reserve20h5314765770824990834E: argument 0"}
!116 = distinct !{!116, !"_ZN7raw_vec15RawVec$LT$T$GT$7reserve20h5314765770824990834E"}
!117 = !{!118, !120, !115, !102, !104, !111, !106, !112, !108, !113}
!118 = distinct !{!118, !119, !"_ZN6option15Option$LT$T$GT$6expect21h17867553941385224535E: %self"}
!119 = distinct !{!119, !"_ZN6option15Option$LT$T$GT$6expect21h17867553941385224535E"}
!120 = distinct !{!120, !121, !"_ZN7raw_vec15RawVec$LT$T$GT$18amortized_new_size21h17653985550706015584E: argument 0"}
!121 = distinct !{!121, !"_ZN7raw_vec15RawVec$LT$T$GT$18amortized_new_size21h17653985550706015584E"}
!122 = !{!115, !102, !104, !111, !106, !112, !108, !113}
!123 = !{!124, !115, !102, !104, !106, !108}
!124 = distinct !{!124, !125, !"_ZN7raw_vec15RawVec$LT$T$GT$3ptr19h728133215989471373E: argument 0"}
!125 = distinct !{!125, !"_ZN7raw_vec15RawVec$LT$T$GT$3ptr19h728133215989471373E"}
!126 = !{!104, !106, !108}
!127 = !{!128, !130}
!128 = distinct !{!128, !129, !"_ZN4char15encode_utf8_raw20h3e64ad80527e0f049ILE: argument 1"}
!129 = distinct !{!129, !"_ZN4char15encode_utf8_raw20h3e64ad80527e0f049ILE"}
!130 = distinct !{!130, !131, !"_ZN4char12char.CharExt11encode_utf820h06c49ae681e3aa92uILE: argument 1"}
!131 = distinct !{!131, !"_ZN4char12char.CharExt11encode_utf820h06c49ae681e3aa92uILE"}
!132 = !{!133, !134}
!133 = distinct !{!133, !129, !"_ZN4char15encode_utf8_raw20h3e64ad80527e0f049ILE: argument 0"}
!134 = distinct !{!134, !131, !"_ZN4char12char.CharExt11encode_utf820h06c49ae681e3aa92uILE: argument 0"}
!135 = !{i32 1, i32 0}
!136 = !{!137, !139}
!137 = distinct !{!137, !138, !"_ZN3fmt5Write9write_fmt21h10658780632426935008E: argument 0"}
!138 = distinct !{!138, !"_ZN3fmt5Write9write_fmt21h10658780632426935008E"}
!139 = distinct !{!139, !138, !"_ZN3fmt5Write9write_fmt21h10658780632426935008E: %args"}
!140 = !{!139}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment