; ModuleID = 'core.cgu-0.rs' source_filename = "core.cgu-0.rs" target datalayout = "e-p:16:16:16-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-n8" target triple = "avr-atmel-none" %str_slice = type { i8*, i16 } %"fmt::rt::v1::Argument" = type { %"fmt::rt::v1::Position", %"fmt::rt::v1::FormatSpec" } %"fmt::rt::v1::Position" = type { i16, [0 x i16], [1 x i16] } %"fmt::rt::v1::FormatSpec" = type { i32, i8, i32, %"fmt::rt::v1::Count", %"fmt::rt::v1::Count" } %"fmt::rt::v1::Count" = type { i16, [0 x i16], [1 x i16] } %"fmt::ArgumentV1" = type { %"fmt::Void"*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)* } %"fmt::Void" = type { {} } %"fmt::Formatter" = type { i32, i32, i8, %"option::Option", %"option::Option", { i8*, void (i8*)** }, %"slice::Iter", { %"fmt::ArgumentV1"*, i16 } } %"option::Option" = type { i16, [0 x i16], [1 x i16] } %"slice::Iter" = type { %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"*, %"marker::PhantomData<&fmt::ArgumentV1>" } %"marker::PhantomData<&fmt::ArgumentV1>" = type {} %"str::SplitTerminator" = type { %"str::SplitInternal" } %"str::SplitInternal" = type { i16, i16, %"str::pattern::CharSearcher", i8, i8 } %"str::pattern::CharSearcher" = type { %"str::pattern::CharEqSearcher" } %"str::pattern::CharEqSearcher" = type { i32, %str_slice, %"str::CharIndices", i8 } %"str::CharIndices" = type { i16, %"str::Chars" } %"str::Chars" = type { %"slice::Iter" } %"slice::Iter" = type { i8*, i8*, %"marker::PhantomData<&u8>" } %"marker::PhantomData<&u8>" = type {} %"fmt::builders::PadAdapter" = type { %"fmt::Formatter"*, i8 } %"fmt::Arguments" = type { { %str_slice*, i16 }, %"option::Option<&[fmt::rt::v1::Argument]>", { %"fmt::ArgumentV1"*, i16 } } %"option::Option<&[fmt::rt::v1::Argument]>" = type { { %"fmt::rt::v1::Argument"*, i16 } } %"fmt::Write::write_fmt::Adapter" = type { %"fmt::builders::PadAdapter"* } %"num::flt2dec::decoder::Decoded" = type { i64, i64, i64, i16, i8 } %"num::dec2flt::parse::Decimal" = type { { i8*, i16 }, { i8*, i16 }, i64 } %"char::EscapeDefaultState" = type { i32, [0 x i32], [2 x i32] } %"char::EscapeUnicode" = type { i32, i8, i16 } %"char::EscapeDefault" = type { %"char::EscapeDefaultState" } %"str::pattern::CharEqSearcher<&[char]>" = type { { i32*, i16 }, %str_slice, %"str::CharIndices", i8 } %"str::pattern::StrSearcherImpl" = type { i16, [3 x i16], [3 x i64] } %"str::pattern::TwoWaySearcher" = type { i16, i16, i16, i64, i16, i16, i16, i16 } %"str::pattern::EmptyNeedle" = type { i16, i16, i8, i8 } %"option::Option" = type { i8, [0 x i8], [1 x i8] } %"iter::Cloned>" = type { %"slice::Iter" } %"iter::Map, str::LinesAnyMap>" = type { %"str::SplitTerminator", %"str::LinesAnyMap" } %"str::LinesAnyMap" = type {} %"str::Lines" = type { %"iter::Map, str::LinesAnyMap>" } %"hash::sip::Hasher" = type { i64, i64, i16, %"hash::sip::State", i64, i16, %"marker::PhantomData" } %"hash::sip::State" = type { i64, i64, i64, i64 } %"marker::PhantomData" = type {} %"hash::sip::Hasher" = type { i64, i64, i16, %"hash::sip::State", i64, i16, %"marker::PhantomData" } %"marker::PhantomData" = type {} %"hash::sip::SipHasher24" = type { %"hash::sip::Hasher" } %"num::flt2dec::decoder::FullDecoded" = type { i64, [0 x i64], [4 x i64] } %"num::bignum::Big32x40" = type { i16, [40 x i32] } %"option::Option" = type { i64, [0 x i64], [1 x i64] } %"ops::Range" = type { i16, i16 } %"slice::IterMut" = type { i8*, i8*, %"marker::PhantomData<&mut u8>" } %"marker::PhantomData<&mut u8>" = type {} %"num::diy_float::Fp" = type { i64, i16 } %"option::Option<(usize, i16)>" = type { i16, [0 x i16], [2 x i16] } %"ops::RangeTo" = type { i16 } %closure = type {} %"num::flt2dec::Part" = type { i16, [0 x i16], [2 x i16] } %"iter::Rev>" = type { %"slice::IterMut" } %"num::flt2dec::Formatted" = type { { i8*, i16 }, { %"num::flt2dec::Part"*, i16 } } %"slice::Iter" = type { %"num::flt2dec::Part"*, %"num::flt2dec::Part"*, %"marker::PhantomData<&num::flt2dec::Part>" } %"marker::PhantomData<&num::flt2dec::Part>" = type {} %"ops::RangeFrom" = type { i16 } %"option::Option" = type { i32, [0 x i32], [1 x i32] } %"iter::Chain, slice::Iter>" = type { %"slice::Iter", %"slice::Iter", i8 } %"option::Option" = type { i64, [0 x i64], [1 x i64] } %"num::dec2flt::rawfp::Unpacked" = type { i64, i16 } %"iter::Rev>" = type { %"ops::Range" } %"num::dec2flt::parse::ParseResult" = type { i64, [0 x i64], [2 x i64] } %"num::dec2flt::ParseFloatError" = type { i8 } %"result::Result<(), fmt::Error>" = type { i8, [0 x i8], [0 x i8] } %"result::Result" = type { i8, [7 x i8], [1 x i64] } %"result::Result" = type { i8, [3 x i8], [1 x i32] } %"iter::Rev>" = type { %"slice::Iter" } %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>" = type { %"iter::Rev>", i8, %closure.0* } %closure.0 = type {} %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>" = type { %"slice::Iter", i8, %closure.0* } %"num::TryFromIntError" = type { {} } %"result::Result" = type { i8, [1 x i8], [1 x i16] } %"num::ParseIntError" = type { i8 } %"option::Option" = type { i16, [0 x i16], [1 x i16] } %"option::Option" = type { i32, [0 x i32], [1 x i32] } %"result::Result" = type { i8, [1 x i8], [1 x i16] } %"result::Result" = type { i8, [3 x i8], [1 x i32] } %"result::Result" = type { i8, [7 x i8], [2 x i64] } %"option::Option" = type { i64, [0 x i64], [2 x i64] } %"result::Result" = type { i8, [1 x i8], [1 x i16] } %"option::Option" = type { i16, [0 x i16], [1 x i16] } %"result::Result" = type { i8, [7 x i8], [1 x i64] } %"option::Option" = type { i64, [0 x i64], [1 x i64] } %"option::Option" = type { i8, [0 x i8], [1 x i8] } %"result::Result" = type { i8, [0 x i8], [1 x i8] } %"result::Result" = type { i8, [7 x i8], [2 x i64] } %"option::Option" = type { i64, [0 x i64], [2 x i64] } %"result::Result" = type { i8, [3 x i8], [1 x i32] } %"option::Option" = type { i32, [0 x i32], [1 x i32] } %"result::Result" = type { i8, [7 x i8], [1 x i64] } %"result::Result" = type { i8, [0 x i8], [1 x i8] } %"result::Result" = type { i8, [1 x i8], [1 x i16] } %"option::Option" = type { i16, [0 x i16], [1 x i16] } %"ops::RangeFull" = type {} %"result::Result<(), str::Utf8Error>" = type { i16, [0 x i16], [2 x i16] } %"result::Result<&str, str::Utf8Error>" = type { i16, [0 x i16], [2 x i16] } %"str::Utf8Error" = type { i16, %"option::Option" } %"fmt::Error" = type {} %"ops::_DummyErrorType" = type {} %"option::Option" = type { i8, [0 x i8], [1 x i8] } %"num::bignum::tests::Big8x3" = type { i16, [3 x i8] } %"sync::atomic::AtomicBool" = type { %"cell::UnsafeCell" } %"cell::UnsafeCell" = type { i8 } %"fmt::builders::DebugTuple" = type { %"fmt::Formatter"*, %"result::Result<(), fmt::Error>", i16, i8 } %"cell::Cell" = type { %"cell::UnsafeCell" } %"cell::UnsafeCell" = type { i16 } %"cell::BorrowError" = type { {} } %"fmt::builders::DebugStruct" = type { %"fmt::Formatter"*, %"result::Result<(), fmt::Error>", i8 } %"cell::BorrowMutError" = type { {} } %"cell::UnsafeCell" = type { i16 } %"cell::UnsafeCell" = type { i16 } %"cell::UnsafeCell" = type { i8 } %"cell::UnsafeCell" = type { i16 } %"cell::RefCell<&i32>" = type { %"cell::Cell", %"cell::UnsafeCell<&i32>" } %"cell::UnsafeCell<&i32>" = type { i32* } %"cell::RefCell<&marker::Send>" = type { %"cell::Cell", %"cell::UnsafeCell<&marker::Send>" } %"cell::UnsafeCell<&marker::Send>" = type { { i8*, void (i8*)** } } %"cell::Cell<&i32>" = type { %"cell::UnsafeCell<&i32>" } %"cell::Cell<&marker::Send>" = type { %"cell::UnsafeCell<&marker::Send>" } %"char::CharTryFromError" = type { {} } %"option::Option" = type { i32, [0 x i32], [1 x i32] } %"char::EscapeDebug" = type { %"char::EscapeDefault" } %closure.3 = type {} %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>" = type { %"iter::Rev>", i8, %closure.1 } %closure.1 = type {} %closure.7 = type {} %closure.6 = type {} %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>" = type { %"iter::Rev>", i8, %closure.2 } %"iter::Rev>" = type { %"slice::Iter" } %"slice::Iter" = type { i32*, i32*, %"marker::PhantomData<&u32>" } %"marker::PhantomData<&u32>" = type {} %closure.2 = type {} %closure.5 = type {} %closure.4 = type {} %"option::Option<(usize, char)>" = type { i32, [0 x i32], [2 x i32] } %"iter::Zip, &mut slice::Iter<&str>>" = type { %"slice::Iter", %"slice::Iter<&str>"*, i16, i16 } %"slice::Iter" = type { %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"*, %"marker::PhantomData<&fmt::rt::v1::Argument>" } %"marker::PhantomData<&fmt::rt::v1::Argument>" = type {} %"slice::Iter<&str>" = type { %str_slice*, %str_slice*, %"marker::PhantomData<&&str>" } %"marker::PhantomData<&&str>" = type {} %"iter::Zip, slice::Iter>" = type { %"slice::IterMut", %"slice::Iter", i16, i16 } %"iter::Zip, slice::Iter>" = type { %"slice::IterMut", %"slice::Iter", i16, i16 } %"slice::IterMut" = type { i32*, i32*, %"marker::PhantomData<&mut u32>" } %"marker::PhantomData<&mut u32>" = type {} %"iter::Zip, &mut slice::Iter<&str>>" = type { %"slice::Iter", %"slice::Iter<&str>"*, i16, i16 } %"iter::Enumerate>" = type { %"slice::Iter", i16 } %"iter::Enumerate>" = type { %"slice::Iter", i16 } %"iter::Skip" = type { %"str::CharIndices", i16 } %closure.8 = type { %closure.4 } %closure.9 = type { {}, %closure.10 } %closure.10 = type {} %closure.11 = type {} %"iter::Rev>>" = type { %"iter::Cloned>" } %"iter::Cloned>" = type { %"slice::Iter" } %"iter::Rev>" = type { %"slice::IterMut" } %"iter::Rev>>" = type { %"iter::Cloned>" } %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>" = type { %"slice::Iter<&str>", %closure.10 } %"slice::Iter" = type { i32*, i32*, %"marker::PhantomData<&char>" } %"marker::PhantomData<&char>" = type {} %"option::Option<(&fmt::rt::v1::Argument, &&str)>" = type { { %"fmt::rt::v1::Argument"*, %str_slice* } } %"option::Option<(&mut u8, &u8)>" = type { { i8*, i8* } } %"option::Option<(&fmt::ArgumentV1, &&str)>" = type { { %"fmt::ArgumentV1"*, %str_slice* } } %"option::Option<(&mut u32, &u32)>" = type { { i32*, i32* } } %closure.15 = type { %"iter::Zip, &mut slice::Iter<&str>>"** } %closure.14 = type { %"iter::Zip, &mut slice::Iter<&str>>"** } %closure.12 = type { %"fmt::ArgumentV1"* } %closure.13 = type { %"fmt::rt::v1::Argument"* } %"option::Option<(usize, &u32)>" = type { { i16, i32* } } %closure.16 = type { %"iter::Enumerate>"** } %"option::Option<(usize, &u8)>" = type { { i16, i8* } } %closure.17 = type { %"iter::Enumerate>"** } %closure.18 = type { %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"** } %closure.20 = type { %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"** } %closure.21 = type { %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"** } %closure.19 = type { %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"** } %"option::Option<&str>" = type { %str_slice } %closure.22 = type { %str_slice*, i16*, i16* } %"option::Option<(usize, usize)>" = type { i16, [0 x i16], [2 x i16] } %closure.23 = type {} %closure.27 = type {} %closure.29 = type { %"fmt::builders::DebugTuple"**, { i8*, void (i8*)** }* } %closure.30 = type { %"fmt::builders::DebugTuple"** } %closure.31 = type { %"fmt::builders::DebugStruct"** } %closure.32 = type { %"fmt::builders::DebugStruct"**, %str_slice*, { i8*, void (i8*)** }* } %closure.33 = type { %"fmt::builders::DebugMap"**, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* } %"fmt::builders::DebugMap" = type { %"fmt::Formatter"*, %"result::Result<(), fmt::Error>", i8 } %closure.34 = type { %"fmt::builders::DebugInner"**, { i8*, void (i8*)** }* } %"fmt::builders::DebugInner" = type { %"fmt::Formatter"*, %"result::Result<(), fmt::Error>", i8 } %closure.35 = type { %"fmt::builders::DebugMap"**, %str_slice* } %closure.36 = type { %"fmt::builders::DebugList"** } %"fmt::builders::DebugList" = type { %"fmt::builders::DebugInner" } %closure.37 = type { %"fmt::builders::DebugSet"** } %"fmt::builders::DebugSet" = type { %"fmt::builders::DebugInner" } %closure.38 = type { %"fmt::builders::DebugInner"**, %str_slice* } %"slice::Iter<(u8, u8)>" = type { { i8, i8 }*, { i8, i8 }*, %"marker::PhantomData<&(u8, u8)>" } %"marker::PhantomData<&(u8, u8)>" = type {} %"slice::Repr" = type { %"fmt::ArgumentV1"*, i16 } %"slice::Repr<(u8, u8)>" = type { { i8, i8 }*, i16 } %"slice::Repr" = type { i16*, i16 } %"slice::Repr" = type { i32*, i16 } %"slice::Repr" = type { i32*, i16 } %"slice::Repr" = type { %"fmt::rt::v1::Argument"*, i16 } %"slice::Repr" = type { i8*, i16 } %"slice::Repr<&str>" = type { %str_slice*, i16 } %"slice::Repr<(u64, i16, i16)>" = type { { i64, i16, i16 }*, i16 } %"slice::Repr" = type { %"num::flt2dec::Part"*, i16 } %"str::pattern::SearchStep" = type { i16, [0 x i16], [2 x i16] } %closure.39 = type { i32* } %closure.40 = type {} %"str::pattern::CharEqPattern" = type { i32 } %"str::pattern::StrSearcher" = type { %str_slice, %str_slice, %"str::pattern::StrSearcherImpl" } %"str::ParseBoolError" = type { {} } %closure.24 = type {} %closure.26 = type {} %closure.25 = type {} %"fmt::num::LowerHex" = type {} %"fmt::num::Binary" = type {} %"fmt::num::UpperHex" = type {} %"fmt::num::Octal" = type {} %closure.28 = type {} %closure.43 = type { %closure.41*, %str_slice* } %closure.41 = type { %"option::Option"*, i8*, %str_slice* } %closure.42 = type { %str_slice* } %closure.44 = type { %str_slice* } %closure.45 = type { %"num::flt2dec::Formatted"* } %closure.46 = type {} %closure.47 = type {} %closure.49 = type {} %closure.48 = type {} %closure.50 = type {} %closure.51 = type {} %closure.53 = type {} %closure.52 = type {} %"result::Result" = type { i8, [0 x i8], [1 x i8] } %"result::Result" = type { i8, [0 x i8], [1 x i8] } %"result::Result" = type { i16, [0 x i16], [1 x i16] } %"result::Result" = type { i16, [0 x i16], [1 x i16] } %"result::Result" = type { i32, [0 x i32], [1 x i32] } %"result::Result" = type { i32, [0 x i32], [1 x i32] } %"result::Result" = type { i64, [0 x i64], [1 x i64] } %"result::Result" = type { i64, [0 x i64], [1 x i64] } %"result::Result" = type { i64, [0 x i64], [2 x i64] } %"result::Result" = type { i64, [0 x i64], [2 x i64] } %"result::Result" = type { i16, [0 x i16], [1 x i16] } %"result::Result" = type { i16, [0 x i16], [1 x i16] } %"any::TypeId" = type { i64 } %"sync::atomic::AtomicI8" = type { %"cell::UnsafeCell" } %"sync::atomic::AtomicU8" = type { %"cell::UnsafeCell" } %"sync::atomic::AtomicI16" = type { %"cell::UnsafeCell" } %"sync::atomic::AtomicU16" = type { %"cell::UnsafeCell" } %"sync::atomic::AtomicIsize" = type { %"cell::UnsafeCell" } %"sync::atomic::AtomicUsize" = type { %"cell::UnsafeCell" } %"char::InvalidSequence" = type { {} } %closure.55 = type { %closure.49 } %closure.58 = type { %closure.50 } %closure.57 = type { %closure.53 } %closure.56 = type { %closure.40 } %closure.62 = type { %closure.47 } %closure.59 = type { %closure.51 } %closure.61 = type { %closure.46 } %closure.54 = type { %closure.39 } %closure.64 = type { %closure.54 } %closure.60 = type { %closure.52 } %closure.63 = type { %closure.48 } %"slice::SearchWhile" = type { i8, [0 x i8], [1 x i8] } %closure.65 = type { i16, %closure } %"slice::SearchWhile>" = type { i16, [0 x i16], [2 x i16] } %"str::pattern::CharSliceSearcher" = type { %"str::pattern::CharEqSearcher<&[char]>" } %"str::Bytes" = type { %"iter::Cloned>" } %"str::LinesAny" = type { %"str::Lines" } %"hash::sip::SipHasher13" = type { %"hash::sip::Hasher" } %"hash::sip::SipHasher" = type { %"hash::sip::SipHasher24" } %"hash::sip::Sip13Rounds" = type {} %"hash::sip::Sip24Rounds" = type {} %"fmt::num::Decimal" = type {} @_ZN4core3num7flt2dec8strategy6dragon5POW1017h88e4df403f806749E = internal constant [10 x i32] [i32 1, i32 10, i32 100, i32 1000, i32 10000, i32 100000, i32 1000000, i32 10000000, i32 100000000, i32 1000000000], align 4 @_ZN4core3num7flt2dec8strategy6dragon8TWOPOW1017haf496a5b962ad9b8E = internal constant [10 x i32] [i32 2, i32 20, i32 200, i32 2000, i32 20000, i32 200000, i32 2000000, i32 20000000, i32 200000000, i32 2000000000], align 4 @_ZN4core3num7flt2dec8strategy6dragon9POW10TO1617hbbbaf8d4d2f8dee2E = internal constant [2 x i32] [i32 1874919424, i32 2328306], align 4 @_ZN4core3num7flt2dec8strategy6dragon9POW10TO3217hc05c7eb5f1c0873eE = internal constant [4 x i32] [i32 0, i32 -2052264063, i32 762134875, i32 1262], align 4 @_ZN4core3num7flt2dec8strategy6dragon9POW10TO6417hf48ad9bb5ab58a53E = internal constant [7 x i32] [i32 0, i32 0, i32 -1083564287, i32 1849224548, i32 -626550803, i32 -381683212, i32 1593091], align 4 @_ZN4core3num7flt2dec8strategy6dragon10POW10TO12817hfba59346df8e20f6E = internal constant [14 x i32] [i32 0, i32 0, i32 0, i32 0, i32 781532673, i32 64985353, i32 253049085, i32 594863151, i32 -741345812, i32 -1006314488, i32 -1127370534, i32 -1506574567, i32 -383834621, i32 590], align 4 @_ZN4core3num7flt2dec8strategy6dragon10POW10TO25617he0be6d5e6cbb2939E = internal constant [27 x i32] [i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -1741784063, i32 -1093433509, i32 -656826510, i32 303378311, i32 1809731782, i32 -817205648, i32 -711600113, i32 649228654, i32 -1379506512, i32 487929380, i32 1011012442, i32 1677677582, i32 -866815040, i32 1710878487, i32 1438394610, i32 -2133014537, i32 -194056740, i32 1608314830, i32 349175], align 4 @_ZN4core3str15UTF8_CHAR_WIDTH17hf4cf59840b72a0ddE = constant [256 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\04\04\04\04\04\00\00\00\00\00\00\00\00\00\00\00", align 1 @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1014_MSG_FILE_LINE17h7b0c18099756f542E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.8V, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 44 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon15div_rem_upto_1614_MSG_FILE_LINE17h2c34697c2fb6f717E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.8W, i32 0, i32 0), i16 29 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 73 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h8770de7f9c7583c0E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.8X, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 91 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h84e4a5e6f67c7d5aE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.8Y, i32 0, i32 0), i16 29 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 92 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17ha5cf262bb40c1ba5E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.8Z, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 93 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h75f96d05a5287c9aE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.90, i32 0, i32 0), i16 54 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 94 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h0ed9268da3ad6611E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.91, i32 0, i32 0), i16 55 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 95 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h5c59a6a9c3209c2fE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.92, i32 0, i32 0), i16 45 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 96 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17hb5b6e631c03044c5E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str.93, i32 0, i32 0), i16 24 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 163 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17hae7a8990905214c9E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.8X, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 229 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h34b5036ddd8f8f26E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.8Y, i32 0, i32 0), i16 29 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 230 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17hdd4d6a5c5af2732cE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.8Z, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 231 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17hbcabcb3ce5c48587E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.90, i32 0, i32 0), i16 54 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 232 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h373a54973e762b7eE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.91, i32 0, i32 0), i16 55 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 233 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h43f79d886cb189b7E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str.94, i32 0, i32 0), i16 30 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 299 }, align 4 @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h4ff4944356841c9fE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str.93, i32 0, i32 0), i16 24 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 300 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu12cached_power14_MSG_FILE_LINE17h835e2df8eba8557eE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.95, i32 0, i32 0), i16 42 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 132 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than14_MSG_FILE_LINE17hca0d19cd42db2adfE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.96, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 139 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h7e8d9148b21d5ba3E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.8X, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 166 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17hfc1d0c2d729ef10eE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.8Y, i32 0, i32 0), i16 29 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 167 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17hded9536681c19d85E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.8Z, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 168 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h464fe7f0431fe611E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.90, i32 0, i32 0), i16 54 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 169 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h3a70f7050b6cfee5E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.91, i32 0, i32 0), i16 55 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 170 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h37de92384018f33eE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.92, i32 0, i32 0), i16 45 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 171 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h0da3276de3ff69eaE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.97, i32 0, i32 0), i16 45 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 172 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt10_FILE_LINE17h57ef23ecafbcb0c3E = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 199 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR17h4c4f98d23281d852E = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt10_FILE_LINE17h7c0b2edd85257991E = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 200 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR17h515b28cf16a894beE = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h109dcff1456e0431E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str.9c, i32 0, i32 0), i16 24 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 265 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt10_FILE_LINE17h8a1e3b8c35e1caf6E = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 279 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR17h4348e75db3472106E = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt10_FILE_LINE17h55fcd72770337d88E = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 280 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR17h1411230bd459a35cE = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17ha15461ffe7637effE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str.9c, i32 0, i32 0), i16 24 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 308 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14round_and_weed14_MSG_FILE_LINE17h00ba860aa30e15f3E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9d, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 341 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14round_and_weed14_MSG_FILE_LINE17h5da423b00701744cE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str.9e, i32 0, i32 0), i16 30 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 400 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h80fddfc5e417b126E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.8X, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 444 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17ha148a1bc0a666077E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.9f, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 445 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h187880aa687a841fE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9d, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 446 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h858dc0782860c7dfE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.9g, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 496 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h6a9f339045a7f79dE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str.9c, i32 0, i32 0), i16 24 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 512 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt10_FILE_LINE17h310d5a372f4bc4c0E = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 525 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt15__STATIC_FMTSTR17h4afddc4284ba50d7E = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt10_FILE_LINE17hc551cc6a4508eaa2E = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 526 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt15__STATIC_FMTSTR17h7d6201b5640eb271E = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h303b99628247ef64E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str.9c, i32 0, i32 0), i16 24 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 563 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14possibly_round14_MSG_FILE_LINE17h4f0291a7a115f3d1E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([39 x i8], [39 x i8]* @str.9h, i32 0, i32 0), i16 39 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 591 }, align 4 @_ZN4core3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE17h6aa8c491507b15bdE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9d, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 271 }, align 4 @_ZN4core3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE17h090d2784ee173b18E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.9n, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 272 }, align 4 @_ZN4core3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE17h2425b6e0d4b46f98E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.9o, i32 0, i32 0), i16 34 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 273 }, align 4 @_ZN4core3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE17hfb39b11e4d374308E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9d, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 339 }, align 4 @_ZN4core3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE17h8037d005c86b0d77E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.9n, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 340 }, align 4 @_ZN4core3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE17h9bc9d824a932e3bcE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.9p, i32 0, i32 0), i16 34 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 341 }, align 4 @_ZN4core3num7flt2dec15to_shortest_str14_MSG_FILE_LINE17ha0cf7769732fb3ecE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.9o, i32 0, i32 0), i16 34 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 419 }, align 4 @_ZN4core3num7flt2dec15to_shortest_str14_MSG_FILE_LINE17h88da6a0e31e4b58dE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.92, i32 0, i32 0), i16 45 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 420 }, align 4 @_ZN4core3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE17hefeecccb7a8f28e8E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.9p, i32 0, i32 0), i16 34 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 474 }, align 4 @_ZN4core3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE17h61059301510dcedaE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.92, i32 0, i32 0), i16 45 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 475 }, align 4 @_ZN4core3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE17h6d7f87e02605760dE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.9u, i32 0, i32 0), i16 46 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 476 }, align 4 @_ZN4core3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE17hffdd8509680814e6E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.9p, i32 0, i32 0), i16 34 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 553 }, align 4 @_ZN4core3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE17h7628f902c4df4d68E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.9v, i32 0, i32 0), i16 29 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 554 }, align 4 @_ZN4core3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE17h98b5e5ef81066f87E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9w, i32 0, i32 0), i16 61 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 580 }, align 4 @_ZN4core3num7flt2dec18to_exact_fixed_str14_MSG_FILE_LINE17h2fc8cc530e970244E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.9o, i32 0, i32 0), i16 34 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 609 }, align 4 @_ZN4core3num7flt2dec18to_exact_fixed_str14_MSG_FILE_LINE17h07a21a3c4c0d9486E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([37 x i8], [37 x i8]* @str.9x, i32 0, i32 0), i16 37 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 634 }, align 4 @_ZN4core3num7flt2dec18to_exact_fixed_str10_FILE_LINE17h8a4cf05572b1a413E = constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 645 }, align 4 @_ZN4core3num7flt2dec18to_exact_fixed_str15__STATIC_FMTSTR17hc56d04ae6bd82343E = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @_ZN4core3num7dec2flt9algorithm12power_of_ten14_MSG_FILE_LINE17h29f6fca0ae32231bE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.9y, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 27 }, align 4 @_ZN4core3num7dec2flt9algorithm11quick_start14_MSG_FILE_LINE17h66da1ee386959d6aE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.9z, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 353 }, align 4 @_ZN4core3num7dec2flt3num6to_u6414_MSG_FILE_LINE17h0106e14c46e8808cE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([37 x i8], [37 x i8]* @str.9A, i32 0, i32 0), i16 37 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.4o, i32 0, i32 0), i16 66 }, i32 72 }, align 4 @_ZN4core3num7dec2flt3num8get_bits14_MSG_FILE_LINE17h5606d303a9facc1cE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.9B, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.4o, i32 0, i32 0), i16 66 }, i32 87 }, align 4 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits14_MSG_FILE_LINE17haac3806bef65dd79E" = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.9F, i32 0, i32 0), i16 29 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 192 }, align 4 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8from_int14_MSG_FILE_LINE17hf65814c9d9a82d2bE" = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.9G, i32 0, i32 0), i16 60 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 203 }, align 4 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8from_int14_MSG_FILE_LINE17hf613ad8708708ce7E" = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.9H, i32 0, i32 0), i16 60 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 258 }, align 4 @_ZN4core3num7dec2flt5rawfp11fp_to_float10_FILE_LINE17h245de7b91f43ca4dE = constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 286 }, align 4 @_ZN4core3num7dec2flt5rawfp11fp_to_float15__STATIC_FMTSTR17hacc06cae0f828d0fE = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.9K, i32 0, i32 0), i16 2 }, align 2 @_ZN4core3num7dec2flt5rawfp11fp_to_float10_FILE_LINE17h467ebeacba895acaE = constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 290 }, align 4 @_ZN4core3num7dec2flt5rawfp11fp_to_float15__STATIC_FMTSTR17h020bf701b3b354d9E = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.9M, i32 0, i32 0), i16 2 }, align 2 @_ZN4core3num7dec2flt5rawfp12round_normal10_FILE_LINE17ha2587f6c02acc30cE = constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 299 }, align 4 @_ZN4core3num7dec2flt5rawfp12round_normal15__STATIC_FMTSTR17hb82a1651718652a3E = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @_ZN4core3num7dec2flt5rawfp13encode_normal14_MSG_FILE_LINE17h8489218f9f41268cE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str.9N, i32 0, i32 0), i16 41 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 316 }, align 4 @_ZN4core3num7dec2flt5rawfp13encode_normal14_MSG_FILE_LINE17h0f9b83f05ece18e9E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.9O, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 322 }, align 4 @_ZN4core3num7dec2flt5rawfp16encode_subnormal14_MSG_FILE_LINE17hb6fa307ff9bfe821E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.9P, i32 0, i32 0), i16 40 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 331 }, align 4 @_ZN4core3num7dec2flt5rawfp9big_to_fp14_MSG_FILE_LINE17h7020ee6540656b73E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str.9Q, i32 0, i32 0), i16 38 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 339 }, align 4 @_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17hbdf077f96a965164E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str.9R, i32 0, i32 0), i16 32 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 361 }, align 4 @_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17h186d3dd7cd4f0b33E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.9S, i32 0, i32 0), i16 27 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 362 }, align 4 @_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17h751ca0252a196d42E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9T, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 363 }, align 4 @_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17he97403117525e23fE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.9U, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 364 }, align 4 @_ZN4core3num7dec2flt5rawfp10next_float14_MSG_FILE_LINE17h84b5a7e564f1db42E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.9V, i32 0, i32 0), i16 27 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 382 }, align 4 @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$12full_div_rem14_MSG_FILE_LINE17hbeeeb4f2f222dd01E" = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str.ao, i32 0, i32 0), i16 32 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 97 }, align 4 @"_ZN50_$LT$u16$u20$as$u20$core..num..bignum..FullOps$GT$12full_div_rem14_MSG_FILE_LINE17h9079661a0db5853aE" = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str.ao, i32 0, i32 0), i16 32 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 97 }, align 4 @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$12full_div_rem14_MSG_FILE_LINE17he9e6c31cbda6b5b4E" = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str.ao, i32 0, i32 0), i16 32 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 97 }, align 4 @_ZN4core3num6bignum8Big32x403sub14_MSG_FILE_LINE17ha7fcaec34c5c6b46E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str.bp, i32 0, i32 0), i16 26 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 489 }, align 4 @_ZN4core3num6bignum8Big32x408mul_pow214_MSG_FILE_LINE17hf068252aab141b94E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.bq, i32 0, i32 0), i16 29 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 489 }, align 4 @_ZN4core3num6bignum8Big32x408mul_pow214_MSG_FILE_LINE17hca09544eabb18052E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.br, i32 0, i32 0), i16 66 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 489 }, align 4 @_ZN4core3num6bignum8Big32x408mul_pow214_MSG_FILE_LINE17hd3f1779aacd41852E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([86 x i8], [86 x i8]* @str.bs, i32 0, i32 0), i16 86 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 489 }, align 4 @_ZN4core3num6bignum8Big32x4013div_rem_small14_MSG_FILE_LINE17hcbb4e40069f31227E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.bt, i32 0, i32 0), i16 27 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 489 }, align 4 @_ZN4core3num6bignum8Big32x407div_rem14_MSG_FILE_LINE17h693bcdaaad40f22eE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str.bu, i32 0, i32 0), i16 30 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 489 }, align 4 @_ZN4core3num6bignum8Big32x407div_rem14_MSG_FILE_LINE17h1d3fab8f10cd4ca0E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.bv, i32 0, i32 0), i16 58 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 489 }, align 4 @_ZN4core3num6bignum8Big32x407div_rem14_MSG_FILE_LINE17h3d27264bfd8717fcE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.bw, i32 0, i32 0), i16 58 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 489 }, align 4 @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h5cfbf618330cc045E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.bx, i32 0, i32 0), i16 1 }, align 2 @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt16__STATIC_FMTARGS17h9616c1efd66fa87aE" = internal constant { %"fmt::rt::v1::Argument"*, i16 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } }* @ref.by to %"fmt::rt::v1::Argument"*), i16 1 }, align 2 @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h7e1450afdf037163E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.bA, i32 0, i32 0), i16 1 }, align 2 @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt16__STATIC_FMTARGS17h6572f6cc12a5887eE" = internal constant { %"fmt::rt::v1::Argument"*, i16 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, i16 } } } }* @ref.bB to %"fmt::rt::v1::Argument"*), i16 1 }, align 2 @_ZN4core3num6bignum5tests6Big8x33sub14_MSG_FILE_LINE17hae08ebb944dcff2cE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str.bp, i32 0, i32 0), i16 26 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 494 }, align 4 @_ZN4core3num6bignum5tests6Big8x38mul_pow214_MSG_FILE_LINE17h6017b75fa7df4187E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.bC, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 494 }, align 4 @_ZN4core3num6bignum5tests6Big8x38mul_pow214_MSG_FILE_LINE17h6b5ce6e274a258beE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([65 x i8], [65 x i8]* @str.bD, i32 0, i32 0), i16 65 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 494 }, align 4 @_ZN4core3num6bignum5tests6Big8x38mul_pow214_MSG_FILE_LINE17hab3164a8c22127ffE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([85 x i8], [85 x i8]* @str.bE, i32 0, i32 0), i16 85 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 494 }, align 4 @_ZN4core3num6bignum5tests6Big8x313div_rem_small14_MSG_FILE_LINE17ha7c11e58527611fbE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.bt, i32 0, i32 0), i16 27 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 494 }, align 4 @_ZN4core3num6bignum5tests6Big8x37div_rem14_MSG_FILE_LINE17h3666fb7d0f5ed512E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str.bu, i32 0, i32 0), i16 30 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 494 }, align 4 @_ZN4core3num6bignum5tests6Big8x37div_rem14_MSG_FILE_LINE17hc228160f110181adE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.bv, i32 0, i32 0), i16 58 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 494 }, align 4 @_ZN4core3num6bignum5tests6Big8x37div_rem14_MSG_FILE_LINE17h65cca788a46c56aaE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.bw, i32 0, i32 0), i16 58 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 494 }, align 4 @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h4c80950f35298301E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.bx, i32 0, i32 0), i16 1 }, align 2 @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt16__STATIC_FMTARGS17h2f92ca082e00ee64E" = internal constant { %"fmt::rt::v1::Argument"*, i16 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } }* @ref.by to %"fmt::rt::v1::Argument"*), i16 1 }, align 2 @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h68ee0dd6e7e4c029E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.bA, i32 0, i32 0), i16 1 }, align 2 @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt16__STATIC_FMTARGS17h0fc81cce249c7e90E" = internal constant { %"fmt::rt::v1::Argument"*, i16 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, i16 } } } }* @ref.bB to %"fmt::rt::v1::Argument"*), i16 1 }, align 2 @_ZN4core3num9diy_float2Fp9normalize14_MSG_FILE_LINE17h7b5b121a5b6a2c13E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str.bI, i32 0, i32 0), i16 32 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 76 }, align 4 @_ZN4core3num9diy_float2Fp12normalize_to14_MSG_FILE_LINE17h15bab13672ec3b1bE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.bJ, i32 0, i32 0), i16 29 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 84 }, align 4 @_ZN4core3num9diy_float2Fp12normalize_to10_FILE_LINE17hfe0dee6374efc584E = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 86 }, align 4 @_ZN4core3num9diy_float2Fp12normalize_to15__STATIC_FMTSTR17h2f02ad13932d4593E = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.5N, i32 0, i32 0), i16 58 }, i32 2774 }, align 4 @"_ZN57_$LT$core..ops..RangeFull$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17ha1b449a2c39d07c8E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.c4, i32 0, i32 0), i16 1 }, align 2 @"_ZN64_$LT$core..ops..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h208d78576dd92322E" = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.c5, i32 0, i32 0), i16 2 }, align 2 @"_ZN68_$LT$core..ops..RangeFrom$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17heafd7bd97e02091dE" = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.c5, i32 0, i32 0), i16 2 }, align 2 @"_ZN66_$LT$core..ops..RangeTo$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h878694dd336a5dddE" = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.c4, i32 0, i32 0), i16 1 }, align 2 @"_ZN75_$LT$core..ops..RangeToInclusive$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17head18d7df6792664E" = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.c7, i32 0, i32 0), i16 1 }, align 2 @_ZN4core4sync6atomic12atomic_store14_MSG_FILE_LINE17hc8bde15d3df72a18E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.cu, i32 0, i32 0), i16 42 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1408 }, align 4 @_ZN4core4sync6atomic12atomic_store14_MSG_FILE_LINE17h7dc8d2b0f4cf9a89E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.cw, i32 0, i32 0), i16 50 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1409 }, align 4 @_ZN4core4sync6atomic12atomic_store14_MSG_FILE_LINE17h60a14d3c37a4a5efE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1410 }, align 4 @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17hdc2e1f0507338a79E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.cy, i32 0, i32 0), i16 40 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1420 }, align 4 @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h21a76ff909701ce8E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([49 x i8], [49 x i8]* @str.cz, i32 0, i32 0), i16 49 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1421 }, align 4 @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h14074b5b0a72ef82E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1422 }, align 4 @_ZN4core4sync6atomic11atomic_swap14_MSG_FILE_LINE17h2b490e84b62b7776E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1434 }, align 4 @_ZN4core4sync6atomic10atomic_add14_MSG_FILE_LINE17h2101aa0a331f6065E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1447 }, align 4 @_ZN4core4sync6atomic10atomic_sub14_MSG_FILE_LINE17h59606d9920cefd7eE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1460 }, align 4 @_ZN4core4sync6atomic23atomic_compare_exchange14_MSG_FILE_LINE17h043bc3b6f4145146E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1481 }, align 4 @_ZN4core4sync6atomic23atomic_compare_exchange14_MSG_FILE_LINE17hbce6f8795415cd5dE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1482 }, align 4 @_ZN4core4sync6atomic23atomic_compare_exchange14_MSG_FILE_LINE17h72e2c485c7aff61fE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.cA, i32 0, i32 0), i16 61 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1483 }, align 4 @_ZN4core4sync6atomic23atomic_compare_exchange14_MSG_FILE_LINE17hc95c904a26bfdd0fE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.cB, i32 0, i32 0), i16 52 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1484 }, align 4 @_ZN4core4sync6atomic23atomic_compare_exchange14_MSG_FILE_LINE17hc0e049a4c0214aefE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.cC, i32 0, i32 0), i16 60 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1485 }, align 4 @_ZN4core4sync6atomic28atomic_compare_exchange_weak14_MSG_FILE_LINE17h5243b594a50bdd9dE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1507 }, align 4 @_ZN4core4sync6atomic28atomic_compare_exchange_weak14_MSG_FILE_LINE17h4374281800c96151E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1508 }, align 4 @_ZN4core4sync6atomic28atomic_compare_exchange_weak14_MSG_FILE_LINE17h87aace2f0d4f24e6E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.cA, i32 0, i32 0), i16 61 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1509 }, align 4 @_ZN4core4sync6atomic28atomic_compare_exchange_weak14_MSG_FILE_LINE17h2f061bb688a642a1E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.cB, i32 0, i32 0), i16 52 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1510 }, align 4 @_ZN4core4sync6atomic28atomic_compare_exchange_weak14_MSG_FILE_LINE17hfa8c30dbe62875a9E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.cC, i32 0, i32 0), i16 60 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1511 }, align 4 @_ZN4core4sync6atomic10atomic_and14_MSG_FILE_LINE17h05e1de79f9fa76f5E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1524 }, align 4 @_ZN4core4sync6atomic9atomic_or14_MSG_FILE_LINE17h011dea618619f900E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1536 }, align 4 @_ZN4core4sync6atomic10atomic_xor14_MSG_FILE_LINE17h17a2965af1a7e36fE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1548 }, align 4 @_ZN4core4sync6atomic5fence14_MSG_FILE_LINE17h16ab2b4cef06d278E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str.cD, i32 0, i32 0), i16 41 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1588 }, align 4 @_ZN4core4sync6atomic5fence14_MSG_FILE_LINE17h536feb76b4f36008E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.cx, i32 0, i32 0), i16 23 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.cv, i32 0, i32 0), i16 62 }, i32 1589 }, align 4 @"_ZN37_$LT$core..cell..RefCell$LT$T$GT$$GT$10into_inner14_MSG_FILE_LINE17h93afc45406be0dddE" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.cH, i32 0, i32 0), i16 45 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.cI, i32 0, i32 0), i16 55 }, i32 579 }, align 4 @"_ZN71_$LT$core..cell..BorrowRef$LT$$u27$b$GT$$u20$as$u20$core..ops..Drop$GT$4drop14_MSG_FILE_LINE17hc4f9300e38365508E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.cJ, i32 0, i32 0), i16 55 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.cI, i32 0, i32 0), i16 55 }, i32 937 }, align 4 @"_ZN74_$LT$core..cell..BorrowRef$LT$$u27$b$GT$$u20$as$u20$core..clone..Clone$GT$5clone14_MSG_FILE_LINE17h7e78b8df4892b957E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.cK, i32 0, i32 0), i16 34 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.cI, i32 0, i32 0), i16 55 }, i32 948 }, align 4 @"_ZN74_$LT$core..cell..BorrowRef$LT$$u27$b$GT$$u20$as$u20$core..clone..Clone$GT$5clone14_MSG_FILE_LINE17h8e4b4e4d0da4539dE" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.cL, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.cI, i32 0, i32 0), i16 55 }, i32 950 }, align 4 @"_ZN74_$LT$core..cell..BorrowRefMut$LT$$u27$b$GT$$u20$as$u20$core..ops..Drop$GT$4drop14_MSG_FILE_LINE17hecf9af498c7a4ff6E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.cM, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.cI, i32 0, i32 0), i16 55 }, i32 1071 }, align 4 @_ZN4core4char10from_digit14_MSG_FILE_LINE17h142076d2110a31d5E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.cO, i32 0, i32 0), i16 42 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 294 }, align 4 @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17h6465b6d5284cfff6E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.cP, i32 0, i32 0), i16 40 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 346 }, align 4 @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf810_FILE_LINE17hecaddeadb8419568E" = constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 446 }, align 4 @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf815__STATIC_FMTSTR17hc1e04e9580246ba1E" = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.cT, i32 0, i32 0), i16 3 }, align 2 @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$12encode_utf1610_FILE_LINE17h618eac574374150cE" = constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 470 }, align 4 @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$12encode_utf1615__STATIC_FMTSTR17h1f421ffd581420deE" = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.cW, i32 0, i32 0), i16 3 }, align 2 @_ZN4core9panicking18panic_bounds_check15__STATIC_FMTSTR17h7334bb83145009dcE = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.di, i32 0, i32 0), i16 2 }, align 2 @_ZN4core4iter6traits17ExactSizeIterator3len10_FILE_LINE17h79ec571ea672a4fdE = constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.dj, i32 0, i32 0), i16 62 }, i32 584 }, align 4 @_ZN4core4iter6traits17ExactSizeIterator3len15__STATIC_FMTSTR17h651f22776ee8ce6aE = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$9next_back14_MSG_FILE_LINE17hc26e3ba0ee7bb7e4E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.dq, i32 0, i32 0), i16 40 }, %str_slice { i8* getelementptr inbounds ([59 x i8], [59 x i8]* @str.6n, i32 0, i32 0), i16 59 }, i32 815 }, align 4 @"_ZN38_$LT$core..iter..Peekable$LT$I$GT$$GT$4peek14_MSG_FILE_LINE17h97ff1b33fe41f9c1E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.dq, i32 0, i32 0), i16 40 }, %str_slice { i8* getelementptr inbounds ([59 x i8], [59 x i8]* @str.6n, i32 0, i32 0), i16 59 }, i32 1460 }, align 4 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap14_MSG_FILE_LINE17he486b23078a63573E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str.dt, i32 0, i32 0), i16 43 }, %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.du, i32 0, i32 0), i16 57 }, i32 329 }, align 4 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$13get_or_insert14_MSG_FILE_LINE17h1f3525f328b25949E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.dq, i32 0, i32 0), i16 40 }, %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.du, i32 0, i32 0), i16 57 }, i32 677 }, align 4 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$18get_or_insert_with14_MSG_FILE_LINE17h38090465d9800c99E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.dq, i32 0, i32 0), i16 40 }, %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.du, i32 0, i32 0), i16 57 }, i32 710 }, align 4 @_ZN4core6option13expect_failed10_FILE_LINE17h2d314696688a8b39E = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.du, i32 0, i32 0), i16 57 }, i32 794 }, align 4 @_ZN4core6option13expect_failed15__STATIC_FMTSTR17h46cfa024b3f67623E = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.bx, i32 0, i32 0), i16 1 }, align 2 @_ZN4core6result13unwrap_failed10_FILE_LINE17h9f1fbb9b72e18e3bE = constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.dv, i32 0, i32 0), i16 57 }, i32 859 }, align 4 @_ZN4core6result13unwrap_failed15__STATIC_FMTSTR17h93b0787a9d644b66E = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.dx, i32 0, i32 0), i16 2 }, align 2 @_ZN4core5slice4sort19partition_in_blocks5width14_MSG_FILE_LINE17hc5345a53312239abE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str.dy, i32 0, i32 0), i16 41 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.dz, i32 0, i32 0), i16 61 }, i32 249 }, align 4 @_ZN4core5slice4sort19partition_in_blocks14_MSG_FILE_LINE17hd825444caa0b30a8E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.dA, i32 0, i32 0), i16 54 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.dz, i32 0, i32 0), i16 61 }, i32 275 }, align 4 @_ZN4core5slice4sort19partition_in_blocks14_MSG_FILE_LINE17hd98e342a46be48bcE = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.dB, i32 0, i32 0), i16 50 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.dz, i32 0, i32 0), i16 61 }, i32 276 }, align 4 @_ZN4core5slice4sort19partition_in_blocks10_FILE_LINE17h521cd5222bde9184E = constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.dz, i32 0, i32 0), i16 61 }, i32 361 }, align 4 @_ZN4core5slice4sort19partition_in_blocks15__STATIC_FMTSTR17h7b96b733b70b07d7E = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @_ZN4core5slice4sort19partition_in_blocks10_FILE_LINE17ha965dc21c222d974E = constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.dz, i32 0, i32 0), i16 61 }, i32 373 }, align 4 @_ZN4core5slice4sort19partition_in_blocks15__STATIC_FMTSTR17h6a43e4d10368ed2aE = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$7windows14_MSG_FILE_LINE17haad899f47966c438E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.dC, i32 0, i32 0), i16 27 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 337 }, align 4 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6chunks14_MSG_FILE_LINE17hd29ffe86c07f5cf4E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.dC, i32 0, i32 0), i16 27 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 343 }, align 4 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$12split_at_mut14_MSG_FILE_LINE17h33c38f527f46027cE" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.dD, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 429 }, align 4 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10chunks_mut14_MSG_FILE_LINE17h387ba2e8f91511c2E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str.dE, i32 0, i32 0), i16 32 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 524 }, align 4 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$16clone_from_slice14_MSG_FILE_LINE17hbb1126211f96ba00E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.dF, i32 0, i32 0), i16 52 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 591 }, align 4 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice14_MSG_FILE_LINE17h2eda22cabc8a5119E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.dF, i32 0, i32 0), i16 52 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 605 }, align 4 @_ZN4core5slice20slice_index_len_fail10_FILE_LINE17hb608fd23f09b4d9fE = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 672 }, align 4 @_ZN4core5slice20slice_index_len_fail15__STATIC_FMTSTR17h3c61f769e1794c16E = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.dI, i32 0, i32 0), i16 2 }, align 2 @_ZN4core5slice22slice_index_order_fail10_FILE_LINE17h6fe4814a706e47b7E = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 678 }, align 4 @_ZN4core5slice22slice_index_order_fail15__STATIC_FMTSTR17h9b202a02791c331dE = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.dL, i32 0, i32 0), i16 2 }, align 2 @"_ZN101_$LT$core..ops..RangeInclusive$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index14_MSG_FILE_LINE17h52566274d00dbf0bE" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.dM, i32 0, i32 0), i16 44 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 974 }, align 4 @"_ZN101_$LT$core..ops..RangeInclusive$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut14_MSG_FILE_LINE17h5639ae6d3685bc20E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.dM, i32 0, i32 0), i16 44 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 985 }, align 4 @_ZN4core3str7pattern14TwoWaySearcher22reverse_maximal_suffix14_MSG_FILE_LINE17h357cddbcd4ffa880E = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.ek, i32 0, i32 0), i16 40 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1171 }, align 4 @"_ZN59_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Display$GT$3fmt15__STATIC_FMTSTR17h61a63291c0f29c60E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.et, i32 0, i32 0), i16 2 }, align 2 @"_ZN59_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Display$GT$3fmt15__STATIC_FMTSTR17ha8bc9fd42bee0c72E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.ev, i32 0, i32 0), i16 1 }, align 2 @"_ZN4core3str6traits96_$LT$impl$u20$core..ops..Index$LT$core..ops..RangeInclusive$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index14_MSG_FILE_LINE17h7dc04a1d6a3d907eE" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.dM, i32 0, i32 0), i16 44 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1709 }, align 4 @"_ZN4core3str6traits99_$LT$impl$u20$core..ops..IndexMut$LT$core..ops..RangeInclusive$LT$usize$GT$$GT$$u20$for$u20$str$GT$9index_mut14_MSG_FILE_LINE17h3926757362935b9cE" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.eI, i32 0, i32 0), i16 42 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1736 }, align 4 @_ZN4core3str16slice_error_fail10_FILE_LINE17h7ce3e95b7263c963E = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 2142 }, align 4 @_ZN4core3str16slice_error_fail15__STATIC_FMTSTR17hc45edc02364ee629E = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.eM, i32 0, i32 0), i16 3 }, align 2 @_ZN4core3str16slice_error_fail10_FILE_LINE17h7b48146fd7c1875cE = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 2146 }, align 4 @_ZN4core3str16slice_error_fail15__STATIC_FMTSTR17hf858fd73f60d061fE = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([4 x %str_slice], [4 x %str_slice]* @ref.eQ, i32 0, i32 0), i16 4 }, align 2 @_ZN4core3str16slice_error_fail10_FILE_LINE17h719f79f88811a315E = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 2159 }, align 4 @_ZN4core3str16slice_error_fail15__STATIC_FMTSTR17h4222a9e955da873fE = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([5 x %str_slice], [5 x %str_slice]* @ref.eU, i32 0, i32 0), i16 5 }, align 2 @_ZN4core4hash3sip9u8to64_le14_MSG_FILE_LINE17h4f28c10550247664E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.fh, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([59 x i8], [59 x i8]* @str.fi, i32 0, i32 0), i16 59 }, i32 123 }, align 4 @_ZN4core4hash3sip9u8to64_le14_MSG_FILE_LINE17h691376550501b538E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.fj, i32 0, i32 0), i16 64 }, %str_slice { i8* getelementptr inbounds ([59 x i8], [59 x i8]* @str.fi, i32 0, i32 0), i16 59 }, i32 127 }, align 4 @_ZN4core4hash3sip9u8to64_le14_MSG_FILE_LINE17h05bc7c906e49bab1E = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.fk, i32 0, i32 0), i16 64 }, %str_slice { i8* getelementptr inbounds ([59 x i8], [59 x i8]* @str.fi, i32 0, i32 0), i16 59 }, i32 131 }, align 4 @_ZN4core4hash3sip9u8to64_le10_FILE_LINE17hb1314b69735ec1cbE = constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([59 x i8], [59 x i8]* @str.fi, i32 0, i32 0), i16 59 }, i32 138 }, align 4 @_ZN4core4hash3sip9u8to64_le15__STATIC_FMTSTR17hc8a05e3fca9a161cE = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.9b, i32 0, i32 0), i16 3 }, align 2 @"_ZN41_$LT$core..hash..sip..Hasher$LT$S$GT$$GT$11short_write14_MSG_FILE_LINE17h1929e3669ef282d0E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str.fl, i32 0, i32 0), i16 32 }, %str_slice { i8* getelementptr inbounds ([59 x i8], [59 x i8]* @str.fi, i32 0, i32 0), i16 59 }, i32 244 }, align 4 @"_ZN41_$LT$core..hash..sip..Hasher$LT$S$GT$$GT$11short_write14_MSG_FILE_LINE17hd0a4ad800331362bE" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([56 x i8], [56 x i8]* @str.fm, i32 0, i32 0), i16 56 }, %str_slice { i8* getelementptr inbounds ([59 x i8], [59 x i8]* @str.fi, i32 0, i32 0), i16 59 }, i32 251 }, align 4 @"_ZN71_$LT$core..hash..sip..Hasher$LT$S$GT$$u20$as$u20$core..hash..Hasher$GT$5write14_MSG_FILE_LINE17hb3ab70b616e00ef8E" = constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([56 x i8], [56 x i8]* @str.fn, i32 0, i32 0), i16 56 }, %str_slice { i8* getelementptr inbounds ([59 x i8], [59 x i8]* @str.fi, i32 0, i32 0), i16 59 }, i32 351 }, align 4 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17hdf2f8a2013dc2cccE" = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 137 }, align 4 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17h388419605fe5bc60E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.fu, i32 0, i32 0), i16 2 }, align 2 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17hbee463269442fc67E" = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 138 }, align 4 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17h988f0c5e39c5818fE" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.fu, i32 0, i32 0), i16 2 }, align 2 @"_ZN72_$LT$core..fmt..num..Decimal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17hc14371f069146e5bE" = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 139 }, align 4 @"_ZN72_$LT$core..fmt..num..Decimal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17h5c63de77a8c6c262E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.fu, i32 0, i32 0), i16 2 }, align 2 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17he32bf21ec38c5135E" = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 140 }, align 4 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17h3c93a5d01fc99bc3E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.fu, i32 0, i32 0), i16 2 }, align 2 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17h5c181ed6d434c76dE" = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 142 }, align 4 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17hdcb2e6b19593ad2eE" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.fu, i32 0, i32 0), i16 2 }, align 2 @"_ZN4core3fmt8builders11DebugStruct5field28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h4b6cf2704b99263eE" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.fS, i32 0, i32 0), i16 3 }, align 2 @"_ZN4core3fmt8builders11DebugStruct5field28_$u7b$$u7b$closure$u7d$$u7d$16__STATIC_FMTARGS17h5635ac24068b12deE" = internal constant { %"fmt::rt::v1::Argument"*, i16 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } }* @ref.fT to %"fmt::rt::v1::Argument"*), i16 3 }, align 2 @"_ZN4core3fmt8builders11DebugStruct5field28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17ha02279b67cd32833E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.fU, i32 0, i32 0), i16 3 }, align 2 @"_ZN4core3fmt8builders10DebugTuple5field28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17hff4f1aa961cba555E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.fV, i32 0, i32 0), i16 2 }, align 2 @"_ZN4core3fmt8builders10DebugTuple5field28_$u7b$$u7b$closure$u7d$$u7d$16__STATIC_FMTARGS17h2d74a3ca76119800E" = internal constant { %"fmt::rt::v1::Argument"*, i16 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } }* @ref.fW to %"fmt::rt::v1::Argument"*), i16 2 }, align 2 @"_ZN4core3fmt8builders10DebugTuple5field28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h60f461c0ba544eb8E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.fX, i32 0, i32 0), i16 3 }, align 2 @"_ZN4core3fmt8builders10DebugInner5entry28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h15884e8f8d08fd04E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.fV, i32 0, i32 0), i16 2 }, align 2 @"_ZN4core3fmt8builders10DebugInner5entry28_$u7b$$u7b$closure$u7d$$u7d$16__STATIC_FMTARGS17h9ec4384f22ad700cE" = internal constant { %"fmt::rt::v1::Argument"*, i16 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } }* @ref.fW to %"fmt::rt::v1::Argument"*), i16 2 }, align 2 @"_ZN4core3fmt8builders10DebugInner5entry28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h8faa9dc00df7b8acE" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.fY, i32 0, i32 0), i16 2 }, align 2 @_ZN4core3fmt8builders13debug_set_new15__STATIC_FMTSTR17h7680b074c7ec2141E = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.g0, i32 0, i32 0), i16 1 }, align 2 @_ZN4core3fmt8builders14debug_list_new15__STATIC_FMTSTR17hdca59cd55c3f5ab7E = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.g2, i32 0, i32 0), i16 1 }, align 2 @_ZN4core3fmt8builders13debug_map_new15__STATIC_FMTSTR17h7a78b19c92224f20E = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.g0, i32 0, i32 0), i16 1 }, align 2 @"_ZN4core3fmt8builders8DebugMap5entry28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h0088e7c084deb552E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.fS, i32 0, i32 0), i16 3 }, align 2 @"_ZN4core3fmt8builders8DebugMap5entry28_$u7b$$u7b$closure$u7d$$u7d$16__STATIC_FMTARGS17hd3b6171c3ca88798E" = internal constant { %"fmt::rt::v1::Argument"*, i16 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } }* @ref.g3 to %"fmt::rt::v1::Argument"*), i16 3 }, align 2 @"_ZN4core3fmt8builders8DebugMap5entry28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h73deb3efb7c6ab3aE" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.g4, i32 0, i32 0), i16 3 }, align 2 @"_ZN4core3fmt8builders8DebugMap6finish28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17hcccb4a0522d92d00E" = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.g5, i32 0, i32 0), i16 2 }, align 2 @"_ZN73_$LT$core..ops..RangeInclusive$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17ha890e8a2419c070fE" = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.gb, i32 0, i32 0), i16 2 }, align 2 @"_ZN73_$LT$core..ops..RangeInclusive$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17hc49690825a87b9dfE" = constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.gd, i32 0, i32 0), i16 2 }, align 2 @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE = internal constant { %str_slice*, i16 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.gf, i32 0, i32 0), i16 1 }, align 2 @str.0 = internal constant [58 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/f32.rs" @str.1 = internal constant [33 x i8] c"attempt to subtract with overflow" @panic_loc.2 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.0, i32 0, i32 0), i16 58 }, i32 228 }, align 4 @str.3 = internal constant [58 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/f64.rs" @panic_loc.4 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.3, i32 0, i32 0), i16 58 }, i32 228 }, align 4 @str.5 = internal constant [72 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/flt2dec/estimator.rs" @panic_loc.6 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.5, i32 0, i32 0), i16 72 }, i32 20 }, align 4 @str.7 = internal constant [28 x i8] c"attempt to add with overflow" @panic_loc.8 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.5, i32 0, i32 0), i16 72 }, i32 23 }, align 4 @str.9 = internal constant [33 x i8] c"attempt to multiply with overflow" @panic_loc.a = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.5, i32 0, i32 0), i16 72 }, i32 23 }, align 4 @str.b = internal constant [70 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/flt2dec/decoder.rs" @panic_loc.c = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([70 x i8], [70 x i8]* @str.b, i32 0, i32 0), i16 70 }, i32 89 }, align 4 @panic_loc.d = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([70 x i8], [70 x i8]* @str.b, i32 0, i32 0), i16 70 }, i32 93 }, align 4 @str.e = internal constant [78 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/flt2dec/strategy/dragon.rs" @panic_loc.f = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 56 }, align 4 @panic_bounds_check_loc.g = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 58 }, align 4 @panic_loc.h = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 59 }, align 4 @panic_bounds_check_loc.i = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 61 }, align 4 @panic_loc.j = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 69 }, align 4 @panic_loc.k = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 70 }, align 4 @panic_loc.l = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 71 }, align 4 @panic_loc.m = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 72 }, align 4 @panic_loc.n = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 103 }, align 4 @str.o = internal constant [31 x i8] c"attempt to negate with overflow" @panic_loc.p = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 114 }, align 4 @panic_loc.q = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 125 }, align 4 @panic_loc.r = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 126 }, align 4 @panic_loc.s = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 127 }, align 4 @panic_loc.t = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 138 }, align 4 @panic_loc.u = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 164 }, align 4 @panic_bounds_check_loc.v = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 164 }, align 4 @panic_loc.w = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 165 }, align 4 @panic_bounds_check_loc.x = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 218 }, align 4 @panic_loc.y = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 219 }, align 4 @panic_loc.z = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 220 }, align 4 @panic_loc.A = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 242 }, align 4 @panic_loc.B = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 251 }, align 4 @panic_loc.C = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 260 }, align 4 @panic_loc.D = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 274 }, align 4 @panic_loc.E = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 275 }, align 4 @panic_loc.F = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 295 }, align 4 @panic_loc.G = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 296 }, align 4 @panic_loc.H = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 297 }, align 4 @panic_loc.I = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 298 }, align 4 @panic_loc.J = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 301 }, align 4 @panic_bounds_check_loc.K = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 301 }, align 4 @ref.L = internal unnamed_addr constant i8 1, align 1 @ref.M = internal unnamed_addr constant i8 0, align 1 @panic_loc.N = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 311 }, align 4 @panic_loc.O = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 318 }, align 4 @panic_bounds_check_loc.P = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 320 }, align 4 @panic_loc.Q = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([78 x i8], [78 x i8]* @str.e, i32 0, i32 0), i16 78 }, i32 321 }, align 4 @_ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017ha478cfdf26316e11E = constant { { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] } } { { i64, i16, i16, [4 x i8] } { i64 -1865951482774665761, i16 -1087, i16 -308, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -6093090917745768758, i16 -1060, i16 -300, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -38366372719436721, i16 -1034, i16 -292, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -4731433901725329908, i16 -1007, i16 -284, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -8228041688891786180, i16 -980, i16 -276, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -3219690930897053053, i16 -954, i16 -268, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -7101705404292871755, i16 -927, i16 -260, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -1541319077368263733, i16 -901, i16 -252, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -5851220927660403859, i16 -874, i16 -244, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -9062348037703676329, i16 -847, i16 -236, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -4462904269766699465, i16 -821, i16 -228, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -8027971522334779313, i16 -794, i16 -220, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -2921563150702462265, i16 -768, i16 -212, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -6879582898840692748, i16 -741, i16 -204, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -1210330751515841307, i16 -715, i16 -196, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -5604615407819967858, i16 -688, i16 -188, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -8878612607581929669, i16 -661, i16 -180, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -4189117143640191558, i16 -635, i16 -172, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -7823984217374209642, i16 -608, i16 -164, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -2617598379430861436, i16 -582, i16 -156, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -6653111496142234890, i16 -555, i16 -148, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -872862063775190746, i16 -529, i16 -140, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -5353181642124984136, i16 -502, i16 -132, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -8691279853972075893, i16 -475, i16 -124, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -3909969587797413805, i16 -449, i16 -116, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -7616003081050118571, i16 -422, i16 -108, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -2307682335666372931, i16 -396, i16 -100, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -6422206049907525489, i16 -369, i16 -92, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -528786136287117932, i16 -343, i16 -84, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -5096825099203863601, i16 -316, i16 -76, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -8500279345513818773, i16 -289, i16 -68, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -3625356651333078602, i16 -263, i16 -60, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -7403949918844649556, i16 -236, i16 -52, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -1991698500497491194, i16 -210, i16 -44, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -6186779746782440749, i16 -183, i16 -36, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -177973607073265138, i16 -157, i16 -28, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -4835449396872013077, i16 -130, i16 -20, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -8305539271883716404, i16 -103, i16 -12, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -3335171328526686932, i16 -77, i16 -4, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -7187745005283311616, i16 -50, i16 4, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -1669528073709551616, i16 -24, i16 12, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -5946744073709551616, i16 3, i16 20, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -9133518327554766460, i16 30, i16 28, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -4568956265895094861, i16 56, i16 36, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -8106986416796705680, i16 83, i16 44, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -3039304518611664792, i16 109, i16 52, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -6967307053960650171, i16 136, i16 60, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -1341049929119499481, i16 162, i16 68, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -5702008784649933400, i16 189, i16 76, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -8951176327949752869, i16 216, i16 84, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -4297245513042813542, i16 242, i16 92, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -7904546130479028392, i16 269, i16 100, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -2737644984756826646, i16 295, i16 108, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -6742553186979055798, i16 322, i16 116, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -1006140569036166267, i16 348, i16 124, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -5452481866653427593, i16 375, i16 132, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -8765264286586255934, i16 402, i16 140, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -4020214983419339459, i16 428, i16 148, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -7698142301602209613, i16 455, i16 156, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -2430079312244744221, i16 481, i16 164, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -6513398903789220827, i16 508, i16 172, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -664674077828931748, i16 534, i16 180, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -5198069505264599346, i16 561, i16 188, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -8575712306248138270, i16 588, i16 196, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -3737760522056206171, i16 614, i16 204, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -7487697328667536417, i16 641, i16 212, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -2116491865831296966, i16 667, i16 220, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -6279758049420528746, i16 694, i16 228, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -316522074587315140, i16 720, i16 236, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -4938676049251384304, i16 747, i16 244, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -8382449121214030822, i16 774, i16 252, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -3449775934753242068, i16 800, i16 260, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -7273132090830278359, i16 827, i16 268, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -1796764746270372707, i16 853, i16 276, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -6041542782089432023, i16 880, i16 284, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -9204148869281624187, i16 907, i16 292, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -4674203974643163859, i16 933, i16 300, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -8185402070463610993, i16 960, i16 308, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -3156152948152813503, i16 986, i16 316, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -7054365918152680535, i16 1013, i16 324, [4 x i8] undef }, { i64, i16, i16, [4 x i8] } { i64 -1470777745987373095, i16 1039, i16 332, [4 x i8] undef } }, align 8 @str.R = internal constant [77 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/flt2dec/strategy/grisu.rs" @panic_loc.S = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 128 }, align 4 @panic_loc.T = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 130 }, align 4 @panic_loc.U = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 130 }, align 4 @str.V = internal constant [31 x i8] c"attempt to divide with overflow" @panic_loc.W = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.V, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 130 }, align 4 @panic_bounds_check_loc.X = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 131 }, align 4 @panic_loc.Y = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 172 }, align 4 @panic_loc.Z = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 175 }, align 4 @panic_loc.10 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 176 }, align 4 @panic_loc.11 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 193 }, align 4 @panic_loc.12 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 221 }, align 4 @panic_loc.13 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 224 }, align 4 @panic_loc.14 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 225 }, align 4 @str.15 = internal constant [36 x i8] c"attempt to shift right with overflow" @panic_loc.16 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 230 }, align 4 @str.17 = internal constant [35 x i8] c"attempt to shift left with overflow" @panic_loc.18 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 231 }, align 4 @panic_loc.19 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 231 }, align 4 @panic_loc.1a = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 238 }, align 4 @panic_loc.1b = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 238 }, align 4 @panic_loc.1c = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 248 }, align 4 @panic_loc.1d = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 250 }, align 4 @panic_loc.1e = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 250 }, align 4 @str.1f = internal constant [25 x i8] c"attempt to divide by zero" @panic_loc.1g = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.1f, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 263 }, align 4 @str.1h = internal constant [57 x i8] c"attempt to calculate the remainder with a divisor of zero" @panic_loc.1i = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.1h, i32 0, i32 0), i16 57 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 264 }, align 4 @panic_loc.1j = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 266 }, align 4 @panic_bounds_check_loc.1k = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 266 }, align 4 @panic_loc.1l = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 267 }, align 4 @panic_loc.1m = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 269 }, align 4 @panic_loc.1n = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 269 }, align 4 @panic_loc.1o = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 272 }, align 4 @panic_loc.1p = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 273 }, align 4 @ref.1q = internal unnamed_addr constant i32 1, align 4 @ref.1r = internal unnamed_addr constant i16 0, align 2 @panic_loc.1s = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 300 }, align 4 @panic_loc.1t = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 301 }, align 4 @panic_loc.1u = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 302 }, align 4 @panic_loc.1v = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 306 }, align 4 @panic_loc.1w = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 307 }, align 4 @panic_loc.1x = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 307 }, align 4 @panic_loc.1y = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 309 }, align 4 @panic_bounds_check_loc.1z = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 309 }, align 4 @panic_loc.1A = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 310 }, align 4 @panic_loc.1B = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 313 }, align 4 @panic_loc.1C = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 315 }, align 4 @panic_loc.1D = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 315 }, align 4 @panic_loc.1E = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 319 }, align 4 @panic_loc.1F = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 285 }, align 4 @panic_loc.1G = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 348 }, align 4 @panic_loc.1H = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 349 }, align 4 @panic_loc.1I = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 396 }, align 4 @panic_loc.1J = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 397 }, align 4 @panic_loc.1K = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 398 }, align 4 @panic_loc.1L = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 398 }, align 4 @panic_loc.1M = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 399 }, align 4 @panic_loc.1N = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 401 }, align 4 @panic_loc.1O = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 410 }, align 4 @panic_loc.1P = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 411 }, align 4 @panic_loc.1Q = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 412 }, align 4 @panic_loc.1R = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 412 }, align 4 @panic_loc.1S = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 420 }, align 4 @panic_loc.1T = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 420 }, align 4 @panic_loc.1U = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 450 }, align 4 @panic_loc.1V = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 454 }, align 4 @panic_loc.1W = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 455 }, align 4 @panic_loc.1X = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 456 }, align 4 @panic_loc.1Y = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 456 }, align 4 @panic_loc.1Z = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 476 }, align 4 @panic_loc.20 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 476 }, align 4 @panic_loc.21 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 490 }, align 4 @panic_loc.22 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 491 }, align 4 @panic_loc.23 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 492 }, align 4 @panic_loc.24 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.1f, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 510 }, align 4 @panic_loc.25 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.1h, i32 0, i32 0), i16 57 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 511 }, align 4 @panic_loc.26 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 513 }, align 4 @panic_bounds_check_loc.27 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 513 }, align 4 @panic_loc.28 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 514 }, align 4 @panic_loc.29 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 518 }, align 4 @panic_loc.2a = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 518 }, align 4 @panic_loc.2b = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 519 }, align 4 @panic_loc.2c = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 549 }, align 4 @panic_loc.2d = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 549 }, align 4 @panic_loc.2e = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 556 }, align 4 @panic_loc.2f = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 557 }, align 4 @panic_loc.2g = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 561 }, align 4 @panic_loc.2h = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 562 }, align 4 @panic_loc.2i = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 562 }, align 4 @panic_loc.2j = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 564 }, align 4 @panic_bounds_check_loc.2k = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 564 }, align 4 @panic_loc.2l = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 565 }, align 4 @panic_loc.2m = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 569 }, align 4 @panic_loc.2n = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 531 }, align 4 @panic_loc.2o = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 621 }, align 4 @panic_loc.2p = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 644 }, align 4 @panic_loc.2q = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 644 }, align 4 @panic_loc.2r = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 665 }, align 4 @panic_loc.2s = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 670 }, align 4 @panic_bounds_check_loc.2t = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 672 }, align 4 @panic_loc.2u = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([77 x i8], [77 x i8]* @str.R, i32 0, i32 0), i16 77 }, i32 673 }, align 4 @str.2v = internal constant [66 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/flt2dec/mod.rs" @panic_bounds_check_loc.2w = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 158 }, align 4 @panic_loc.2x = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 158 }, align 4 @panic_loc.2y = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 159 }, align 4 @panic_bounds_check_loc.2z = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 159 }, align 4 @panic_bounds_check_loc.2A = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 163 }, align 4 @panic_bounds_check_loc.2B = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 164 }, align 4 @panic_loc.2C = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 207 }, align 4 @panic_loc.2D = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 238 }, align 4 @panic_loc.2E = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 253 }, align 4 @panic_bounds_check_loc.2F = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 272 }, align 4 @panic_loc.2G = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 290 }, align 4 @byte_str.2H = internal unnamed_addr constant [2 x i8] c"0.", align 1 @panic_bounds_check_loc.2I = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 291 }, align 4 @panic_bounds_check_loc.2J = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 292 }, align 4 @panic_bounds_check_loc.2K = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 293 }, align 4 @panic_loc.2L = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 294 }, align 4 @panic_loc.2M = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 295 }, align 4 @panic_bounds_check_loc.2N = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 295 }, align 4 @panic_bounds_check_loc.2O = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 304 }, align 4 @byte_str.2P = internal unnamed_addr constant [1 x i8] c".", align 1 @panic_bounds_check_loc.2Q = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 305 }, align 4 @panic_bounds_check_loc.2R = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 306 }, align 4 @panic_loc.2S = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 307 }, align 4 @panic_loc.2T = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 308 }, align 4 @panic_bounds_check_loc.2U = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 308 }, align 4 @panic_bounds_check_loc.2V = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 315 }, align 4 @panic_loc.2W = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 316 }, align 4 @panic_bounds_check_loc.2X = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 316 }, align 4 @panic_bounds_check_loc.2Y = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 318 }, align 4 @panic_bounds_check_loc.2Z = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 319 }, align 4 @panic_bounds_check_loc.30 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 340 }, align 4 @panic_bounds_check_loc.31 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 345 }, align 4 @panic_loc.32 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 346 }, align 4 @panic_bounds_check_loc.33 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 349 }, align 4 @panic_loc.34 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 350 }, align 4 @panic_loc.35 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 351 }, align 4 @panic_loc.36 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 353 }, align 4 @panic_bounds_check_loc.37 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 353 }, align 4 @panic_loc.38 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 354 }, align 4 @panic_loc.39 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 359 }, align 4 @byte_str.3a = internal unnamed_addr constant [2 x i8] c"E-", align 1 @byte_str.3b = internal unnamed_addr constant [2 x i8] c"e-", align 1 @panic_bounds_check_loc.3c = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 361 }, align 4 @panic_loc.3d = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 362 }, align 4 @panic_loc.3e = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 362 }, align 4 @byte_str.3f = internal unnamed_addr constant [1 x i8] c"E", align 1 @byte_str.3g = internal unnamed_addr constant [1 x i8] c"e", align 1 @panic_bounds_check_loc.3h = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 364 }, align 4 @panic_loc.3i = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 365 }, align 4 @panic_loc.3j = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 367 }, align 4 @byte_str.3k = internal unnamed_addr constant [1 x i8] c"-", align 1 @byte_str.3l = internal unnamed_addr constant [1 x i8] c"+", align 1 @byte_str.3m = internal unnamed_addr constant [0 x i8] zeroinitializer, align 1 @panic_bounds_check_loc.3n = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 435 }, align 4 @panic_bounds_check_loc.3o = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 436 }, align 4 @byte_str.3p = internal unnamed_addr constant [1 x i8] c"0", align 1 @panic_bounds_check_loc.3q = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 439 }, align 4 @byte_str.3r = internal unnamed_addr constant [3 x i8] c"inf", align 1 @panic_bounds_check_loc.3s = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 430 }, align 4 @byte_str.3t = internal unnamed_addr constant [3 x i8] c"NaN", align 1 @panic_bounds_check_loc.3u = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 426 }, align 4 @panic_loc.3v = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 499 }, align 4 @byte_str.3w = internal unnamed_addr constant [3 x i8] c"0E0", align 1 @byte_str.3x = internal unnamed_addr constant [3 x i8] c"0e0", align 1 @panic_bounds_check_loc.3y = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 490 }, align 4 @panic_bounds_check_loc.3z = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 486 }, align 4 @panic_bounds_check_loc.3A = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 482 }, align 4 @panic_loc.3B = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 531 }, align 4 @panic_loc.3C = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 531 }, align 4 @panic_bounds_check_loc.3D = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 569 }, align 4 @panic_loc.3E = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 570 }, align 4 @panic_bounds_check_loc.3F = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 570 }, align 4 @byte_str.3G = internal unnamed_addr constant [2 x i8] c"E0", align 1 @byte_str.3H = internal unnamed_addr constant [2 x i8] c"e0", align 1 @panic_bounds_check_loc.3I = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 571 }, align 4 @panic_bounds_check_loc.3J = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 574 }, align 4 @panic_bounds_check_loc.3K = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 564 }, align 4 @panic_bounds_check_loc.3L = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 560 }, align 4 @panic_loc.3M = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 639 }, align 4 @panic_bounds_check_loc.3N = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 647 }, align 4 @panic_bounds_check_loc.3O = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 648 }, align 4 @panic_bounds_check_loc.3P = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 651 }, align 4 @panic_bounds_check_loc.3Q = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 624 }, align 4 @panic_bounds_check_loc.3R = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 625 }, align 4 @panic_bounds_check_loc.3S = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 628 }, align 4 @panic_bounds_check_loc.3T = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 619 }, align 4 @panic_bounds_check_loc.3U = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.2v, i32 0, i32 0), i16 66 }, i32 615 }, align 4 @str.3V = internal constant [72 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/dec2flt/algorithm.rs" @panic_loc.3W = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 28 }, align 4 @const.3X = internal unnamed_addr constant { [611 x i64], [611 x i16], [2 x i8] } { [611 x i64] [i64 -2254563809124702148, i64 -8326631408344020698, i64 -5796603242002637969, i64 -2634068034075909557, i64 -8563821548938525329, i64 -6093090917745768758, i64 -3004677628754823043, i64 -8795452545612846258, i64 -6382629663588669918, i64 -3366601061058449494, i64 -9021654690802612790, i64 -6665382345075878083, i64 -3720041912917459700, i64 -38366372719436721, i64 -6941508010590729807, i64 -4065198994811024354, i64 -469812725086392539, i64 -7211161980820077193, i64 -4402266457597708587, i64 -891147053569747830, i64 -7474495936122174249, i64 -4731433901725329908, i64 -1302606358729274481, i64 -7731658001846878407, i64 -5052886483881210104, i64 -1704422086424124726, i64 -7982792831656159810, i64 -5366805021142811858, i64 -2096820258001126919, i64 -8228041688891786180, i64 -5673366092687344821, i64 -2480021597431793123, i64 -8467542526035952558, i64 -5972742139117552793, i64 -2854241655469553087, i64 -8701430062309552536, i64 -6265101559459552766, i64 -3219690930897053053, i64 -8929835859451740014, i64 -6550608805887287114, i64 -3576574988931720988, i64 -9152888395723407474, i64 -6829424476226871438, i64 -3925094576856201393, i64 -294682202642863838, i64 -7101705404292871755, i64 -4265445736938701789, i64 -720121152745989333, i64 -7367604748107325189, i64 -4597819916706768582, i64 -1135588877456072824, i64 -7627272076051127371, i64 -4922404076636521309, i64 -1541319077368263733, i64 -7880853450996246689, i64 -5239380795317920457, i64 -1937539975720012667, i64 -8128491512466089773, i64 -5548928372155224312, i64 -2324474446766642487, i64 -8370325556870233410, i64 -5851220927660403859, i64 -2702340141148116919, i64 -8606491615858654931, i64 -6146428501395930759, i64 -3071349608317525545, i64 -8837122532839535322, i64 -6434717147622031248, i64 -3431710416100151156, i64 -9062348037703676329, i64 -6716249028702207507, i64 -3783625267450371479, i64 -117845565885576445, i64 -6991182506319567134, i64 -4127292114472071014, i64 -547429124662700863, i64 -7259672230555269896, i64 -4462904269766699465, i64 -966944318780986428, i64 -7521869226879198373, i64 -4790650515171610063, i64 -1376627125537124674, i64 -7777920981101784777, i64 -5110715207949843068, i64 -1776707991509915931, i64 -8027971522334779313, i64 -5423278384491086237, i64 -2167411962186469892, i64 -8272161504007625539, i64 -5728515861582144019, i64 -2548958808550292120, i64 -8510628282985014431, i64 -6026599335303880135, i64 -2921563150702462265, i64 -8743505996830120771, i64 -6317696477610263060, i64 -3285434578585440921, i64 -8970925639256982432, i64 -6601971030643840136, i64 -3640777769877412266, i64 -9193015133814464522, i64 -6879582898840692748, i64 -3987792605123478032, i64 -373054737976959636, i64 -7150688238876681628, i64 -4326674280168464131, i64 -796656831783192260, i64 -7415439547505577019, i64 -4657613415954583369, i64 -1210330751515841307, i64 -7673985747338482673, i64 -4980796165745715437, i64 -1614309188754756393, i64 -7926472270612804602, i64 -5296404319838617848, i64 -2008819381370884406, i64 -8173041140997884610, i64 -5604615407819967858, i64 -2394083241347571919, i64 -8413831053483314305, i64 -5905602798426754977, i64 -2770317479606055818, i64 -8648977452394866742, i64 -6199535797066195524, i64 -3137733727905356501, i64 -8878612607581929669, i64 -6486579741050024182, i64 -3496538657885142324, i64 -9102865688819295808, i64 -6766896092596731856, i64 -3846934097318526916, i64 -196981603220770741, i64 -7040642529654063569, i64 -4189117143640191558, i64 -624710411122851543, i64 -7307973034592864070, i64 -4523280274813692184, i64 -1042414325089727326, i64 -7569037980822161435, i64 -4849611457600313890, i64 -1450328303573004458, i64 -7823984217374209642, i64 -5168294253290374149, i64 -1848681798185579782, i64 -8072955151507069220, i64 -5479507920956448621, i64 -2237698882768172872, i64 -8316090829371189901, i64 -5783427518286599472, i64 -2617598379430861436, i64 -8553528014785370254, i64 -6080224000054324913, i64 -2988593981640518237, i64 -8785400266166405754, i64 -6370064314280619289, i64 -3350894374423386207, i64 -9011838011655698235, i64 -6653111496142234890, i64 -3704703351750405709, i64 -19193171260619232, i64 -6929524759678968876, i64 -4050219931171323191, i64 -451088895536766085, i64 -7199459587351560659, i64 -4387638465762062920, i64 -872862063775190746, i64 -7463067817500576072, i64 -4717148753448332186, i64 -1284749923383027329, i64 -7720497729755473936, i64 -5038936143766954516, i64 -1686984161281305242, i64 -7971894128441897632, i64 -5353181642124984136, i64 -2079791034228842266, i64 -8217398424034108272, i64 -5660062011615247436, i64 -2463391496091671391, i64 -8457148712698376476, i64 -5959749872445582690, i64 -2838001322129590459, i64 -8691279853972075893, i64 -6252413799037706962, i64 -3203831230369745799, i64 -8919923546622172980, i64 -6538218414850328321, i64 -3561087000135522498, i64 -9143208402725783417, i64 -6817324484979841367, i64 -3909969587797413805, i64 -275775966319379352, i64 -7089889006590693951, i64 -4250675239810979535, i64 -701658031336336515, i64 -7356065297226292178, i64 -4583395603105477318, i64 -1117558485454458744, i64 -7616003081050118571, i64 -4908317832885260309, i64 -1523711272679187483, i64 -7869848573065574033, i64 -5225624697904579637, i64 -1920344853953336642, i64 -8117744561361917257, i64 -5535494683275008668, i64 -2307682335666372931, i64 -8359830487432564938, i64 -5838102090863318268, i64 -2685941595151759931, i64 -8596242524610931813, i64 -6133617137336276862, i64 -3055335403242958174, i64 -8827113654667930715, i64 -6422206049907525489, i64 -3416071543957018958, i64 -9052573742614218704, i64 -6704031159840385477, i64 -3768352931373093942, i64 -98755145788979523, i64 -6979250993759194058, i64 -4112377723771604668, i64 -528786136287117932, i64 -7248020362820530563, i64 -4448339435098275300, i64 -948738275445456221, i64 -7510490449794491994, i64 -4776427043815727089, i64 -1358847786342270957, i64 -7766808894105001204, i64 -5096825099203863601, i64 -1759345355577441597, i64 -8017119874876982854, i64 -5409713825168840664, i64 -2150456263033662926, i64 -8261564192037121185, i64 -5715269221619013577, i64 -2532400508596379067, i64 -8500279345513818773, i64 -6013663163464885562, i64 -2905392935903719049, i64 -8733399612580906261, i64 -6305063497298744923, i64 -3269643353196043249, i64 -8961056123388608887, i64 -6589634135808373205, i64 -3625356651333078602, i64 -9183376934724255982, i64 -6867535149977932074, i64 -3972732919045027188, i64 -354230130378896081, i64 -7138922859127891907, i64 -4311967555482476979, i64 -778273425925708320, i64 -7403949918844649556, i64 -4643251380128424041, i64 -1192378206733142147, i64 -7662765406849295698, i64 -4966770740134231719, i64 -1596777406740401744, i64 -7915514906853832946, i64 -5282707615139903279, i64 -1991698500497491194, i64 -8162340590452013853, i64 -5591239719637629412, i64 -2377363631119648861, i64 -8403381297090862394, i64 -5892540602936190088, i64 -2753989735242849706, i64 -8638772612167862923, i64 -6186779746782440749, i64 -3121788665050663032, i64 -8868646943297746251, i64 -6474122660694794910, i64 -3480967307441105734, i64 -9093133594791772939, i64 -6754730975062328270, i64 -3831727700400522434, i64 -177973607073265138, i64 -7028762532061872568, i64 -4174267146649952805, i64 -606147914885053103, i64 -7296371474444240045, i64 -4508778324627912153, i64 -1024286887357502287, i64 -7557708332239520785, i64 -4835449396872013077, i64 -1432625727662628443, i64 -7812920107430224633, i64 -5154464115860392887, i64 -1831394126398103205, i64 -8062150356639896359, i64 -5466001927372482545, i64 -2220816390788215277, i64 -8305539271883716404, i64 -5770238071427257601, i64 -2601111570856684097, i64 -8543223759426509417, i64 -6067343680855748867, i64 -2972493582642298180, i64 -8775337516792518218, i64 -6357485877563259869, i64 -3335171328526686932, i64 -9002011107970261189, i64 -6640827866535438582, i64 -3689348814741910323, i64 -9223372036854775808, i64 -6917529027641081856, i64 -4035225266123964416, i64 -432345564227567616, i64 -7187745005283311616, i64 -4372995238176751616, i64 -854558029293551616, i64 -7451627795949551616, i64 -4702848726509551616, i64 -1266874889709551616, i64 -7709325833709551616, i64 -5024971273709551616, i64 -1669528073709551616, i64 -7960984073709551616, i64 -5339544073709551616, i64 -2062744073709551616, i64 -8206744073709551616, i64 -5646744073709551616, i64 -2446744073709551616, i64 -8446744073709551616, i64 -5946744073709551616, i64 -2821744073709551616, i64 -8681119073709551616, i64 -6239712823709551616, i64 -3187955011209551616, i64 -8910000909647051616, i64 -6525815118631426616, i64 -3545582879861895366, i64 -9133518327554766460, i64 -6805211891016070171, i64 -3894828845342699809, i64 -256850038250986858, i64 -7078060301547948642, i64 -4235889358507547899, i64 -683175679707046969, i64 -7344513827457986212, i64 -4568956265895094861, i64 -1099509313941480672, i64 -7604722348854507276, i64 -4894216917640746191, i64 -1506085128623544835, i64 -7858832233030797378, i64 -5211854272861108818, i64 -1903131822648998119, i64 -8106986416796705680, i64 -5522047002568494196, i64 -2290872734783229841, i64 -8349324486880600507, i64 -5824969590173362729, i64 -2669525969289315508, i64 -8585982758446904048, i64 -6120792429631242156, i64 -3039304518611664792, i64 -8817094351773372351, i64 -6409681921289327534, i64 -3400416383184271514, i64 -9042789267131251552, i64 -6691800565486676536, i64 -3753064688430957766, i64 -79644842111309304, i64 -6967307053960650171, i64 -4097447799023424810, i64 -510123730351893108, i64 -7236356359111015049, i64 -4433759430461380907, i64 -930513269649338229, i64 -7499099821171918249, i64 -4762188758037509908, i64 -1341049929119499481, i64 -7755685233340769031, i64 -5082920523248573385, i64 -1741964635633328828, i64 -8006256924911912373, i64 -5396135137712502563, i64 -2133482903713240299, i64 -8250955842461857043, i64 -5702008784649933400, i64 -2515824962385028846, i64 -8489919629131724885, i64 -6000713517987268202, i64 -2889205879056697348, i64 -8723282702051517699, i64 -6292417359137009219, i64 -3253835680493873620, i64 -8951176327949752869, i64 -6577284391509803182, i64 -3609919470959866073, i64 -9173728696990998152, i64 -6855474852811359786, i64 -3957657547586811828, i64 -335385916056126881, i64 -7127145225176161157, i64 -4297245513042813542, i64 -759870872876129023, i64 -7392448323188662496, i64 -4628874385558440215, i64 -1174406963520662365, i64 -7651533379841495834, i64 -4952730706374481889, i64 -1579227364540714457, i64 -7904546130479028392, i64 -5268996644671397586, i64 -1974559787411859078, i64 -8151628894773493780, i64 -5577850100039479321, i64 -2360626606621961247, i64 -8392920656779807635, i64 -5879464802547371640, i64 -2737644984756826646, i64 -8628557143114098510, i64 -6174010410465235233, i64 -3105826994654156138, i64 -8858670899299929442, i64 -6461652605697523898, i64 -3465379738694516969, i64 -9083391364325154962, i64 -6742553186979055798, i64 -3816505465296431844, i64 -158945813193151901, i64 -7016870160886801794, i64 -4159401682681114338, i64 -587566084924005019, i64 -7284757830718584993, i64 -4494261269970843337, i64 -1006140569036166267, i64 -7546366883288685773, i64 -4821272585683469312, i64 -1414904713676948736, i64 -7801844473689174816, i64 -5140619573684080616, i64 -1814088448677712866, i64 -8051334308064652397, i64 -5452481866653427593, i64 -2203916314889396587, i64 -8294976724446954723, i64 -5757034887131305500, i64 -2584607590486743971, i64 -8532908771695296838, i64 -6054449946191733143, i64 -2956376414312278525, i64 -8765264286586255934, i64 -6344894339805432013, i64 -3319431906329402113, i64 -8992173969096958177, i64 -6628531442943809817, i64 -3673978285252374367, i64 -9213765455923815835, i64 -6905520801477381890, i64 -4020214983419339459, i64 -413582710846786419, i64 -7176018221920323368, i64 -4358336758973016306, i64 -836234930288882479, i64 -7440175859071633405, i64 -4688533805412153852, i64 -1248981238337804411, i64 -7698142301602209613, i64 -5010991858575374112, i64 -1652053804791829737, i64 -7950062655635975441, i64 -5325892301117581398, i64 -2045679357969588843, i64 -8196078626372074883, i64 -5633412264537705700, i64 -2430079312244744221, i64 -8436328597794046994, i64 -5933724728815170838, i64 -2805469892591575644, i64 -8670947710510816633, i64 -6226998619711132888, i64 -3172062256211528206, i64 -8900067937773286985, i64 -6513398903789220827, i64 -3530062611309138129, i64 -9123818159709293187, i64 -6793086681209228580, i64 -3879672333084147821, i64 -237904397927796872, i64 -7066219276345954901, i64 -4221088077005055722, i64 -664674077828931748, i64 -7332950326284164199, i64 -4554501889427817344, i64 -1081441343357383777, i64 -7593429867239446716, i64 -4880101315621920491, i64 -1488440626100012710, i64 -7847804418953589800, i64 -5198069505264599346, i64 -1885900863153361278, i64 -8096217067111932655, i64 -5508585315462527915, i64 -2274045625900771989, i64 -8338807543829064349, i64 -5811823411358942533, i64 -2653093245771290262, i64 -8575712306248138270, i64 -6107954364382784933, i64 -3023256937051093262, i64 -8807064613298015145, i64 -6397144748195131027, i64 -3384744916816525880, i64 -9032994600651410531, i64 -6679557232386875260, i64 -3737760522056206171, i64 -60514634142869810, i64 -6955350673980375487, i64 -4082502324048081455, i64 -491441886632713914, i64 -7224680206786528052, i64 -4419164240055772162, i64 -912269281642327298, i64 -7487697328667536417, i64 -4747935642407032618, i64 -1323233534581402868, i64 -7744549986754458648, i64 -5069001465015685407, i64 -1724565812842218854, i64 -7995382660667468640, i64 -5382542307406947896, i64 -2116491865831296966, i64 -8240336443785642460, i64 -5688734536304665171, i64 -2499232151953443559, i64 -8479549122611984080, i64 -5987750384837592197, i64 -2873001962619602342, i64 -8713155254278333320, i64 -6279758049420528746, i64 -3238011543348273028, i64 -8941286242233752498, i64 -6564921784364802719, i64 -3594466212028615495, i64 -9164070410158966540, i64 -6843401994271320271, i64 -3942566474411762435, i64 -316522074587315140, i64 -7115355324258153818, i64 -4282508136895304369, i64 -741449152691742557, i64 -7380934748073420954, i64 -4614482416664388289, i64 -1156417002403097457, i64 -7640289654143017767, i64 -4938676049251384304, i64 -1561659043136842476, i64 -7893565929601608404, i64 -5255271393574622601, i64 -1957403223540890347, i64 -8140906042354138323, i64 -5564446534515285000, i64 -2343872149716718345, i64 -8382449121214030822, i64 -5866375383090150623, i64 -2721283210435300375, i64 -8618331034163144591, i64 -6161227774276542834, i64 -3089848699418290639, i64 -8848684464777513505, i64 -6449169562544503977, i64 -3449775934753242068, i64 -9073638986861858148, i64 -6730362715149934781, i64 -3801267375510030573, i64 -139898200960150312, i64 -7004965403241175801, i64 -4144520735624081847, i64 -568964901102714405, i64 -7273132090830278359, i64 -4479729095110460045, i64 -987975350460687152, i64 -7535013621679011326, i64 -4807081008671376254, i64 -1397165242411832413, i64 -7790757304148477114, i64 -5126760611758208489, i64 -1796764746270372707, i64 -8040506994060064798, i64 -5438947724147693093, i64 -2186998636757228463, i64 -8284403175614349645, i64 -5743817951090549152, i64 -2568086420435798537, i64 -8522583040413455941, i64 -6041542782089432023, i64 -2940242459184402124, i64 -8755180564631333184, i64 -6332289687361778576, i64 -3303676090774835316, i64 -8982326584375353928, i64 -6616222212041804506, i64 -3658591746624867729, i64 -9204148869281624187, i64 -6893500068174642329, i64 -4005189066790915007, i64 -394800315061255855, i64 -7164279224554366766, i64 -4343663012265570553, i64 -817892746904575287, i64 -7428711994456441410, i64 -4674203974643163859, i64 -1231068949876566920, i64 -7686947121313936181, i64 -4996997883215032322, i64 -1634561335591402499, i64 -7939129862385708418], [611 x i16] [i16 -1077, i16 -1073, i16 -1070, i16 -1067, i16 -1063, i16 -1060, i16 -1057, i16 -1053, i16 -1050, i16 -1047, i16 -1043, i16 -1040, i16 -1037, i16 -1034, i16 -1030, i16 -1027, i16 -1024, i16 -1020, i16 -1017, i16 -1014, i16 -1010, i16 -1007, i16 -1004, i16 -1000, i16 -997, i16 -994, i16 -990, i16 -987, i16 -984, i16 -980, i16 -977, i16 -974, i16 -970, i16 -967, i16 -964, i16 -960, i16 -957, i16 -954, i16 -950, i16 -947, i16 -944, i16 -940, i16 -937, i16 -934, i16 -931, i16 -927, i16 -924, i16 -921, i16 -917, i16 -914, i16 -911, i16 -907, i16 -904, i16 -901, i16 -897, i16 -894, i16 -891, i16 -887, i16 -884, i16 -881, i16 -877, i16 -874, i16 -871, i16 -867, i16 -864, i16 -861, i16 -857, i16 -854, i16 -851, i16 -847, i16 -844, i16 -841, i16 -838, i16 -834, i16 -831, i16 -828, i16 -824, i16 -821, i16 -818, i16 -814, i16 -811, i16 -808, i16 -804, i16 -801, i16 -798, i16 -794, i16 -791, i16 -788, i16 -784, i16 -781, i16 -778, i16 -774, i16 -771, i16 -768, i16 -764, i16 -761, i16 -758, i16 -754, i16 -751, i16 -748, i16 -744, i16 -741, i16 -738, i16 -735, i16 -731, i16 -728, i16 -725, i16 -721, i16 -718, i16 -715, i16 -711, i16 -708, i16 -705, i16 -701, i16 -698, i16 -695, i16 -691, i16 -688, i16 -685, i16 -681, i16 -678, i16 -675, i16 -671, i16 -668, i16 -665, i16 -661, i16 -658, i16 -655, i16 -651, i16 -648, i16 -645, i16 -642, i16 -638, i16 -635, i16 -632, i16 -628, i16 -625, i16 -622, i16 -618, i16 -615, i16 -612, i16 -608, i16 -605, i16 -602, i16 -598, i16 -595, i16 -592, i16 -588, i16 -585, i16 -582, i16 -578, i16 -575, i16 -572, i16 -568, i16 -565, i16 -562, i16 -558, i16 -555, i16 -552, i16 -549, i16 -545, i16 -542, i16 -539, i16 -535, i16 -532, i16 -529, i16 -525, i16 -522, i16 -519, i16 -515, i16 -512, i16 -509, i16 -505, i16 -502, i16 -499, i16 -495, i16 -492, i16 -489, i16 -485, i16 -482, i16 -479, i16 -475, i16 -472, i16 -469, i16 -465, i16 -462, i16 -459, i16 -455, i16 -452, i16 -449, i16 -446, i16 -442, i16 -439, i16 -436, i16 -432, i16 -429, i16 -426, i16 -422, i16 -419, i16 -416, i16 -412, i16 -409, i16 -406, i16 -402, i16 -399, i16 -396, i16 -392, i16 -389, i16 -386, i16 -382, i16 -379, i16 -376, i16 -372, i16 -369, i16 -366, i16 -362, i16 -359, i16 -356, i16 -353, i16 -349, i16 -346, i16 -343, i16 -339, i16 -336, i16 -333, i16 -329, i16 -326, i16 -323, i16 -319, i16 -316, i16 -313, i16 -309, i16 -306, i16 -303, i16 -299, i16 -296, i16 -293, i16 -289, i16 -286, i16 -283, i16 -279, i16 -276, i16 -273, i16 -269, i16 -266, i16 -263, i16 -259, i16 -256, i16 -253, i16 -250, i16 -246, i16 -243, i16 -240, i16 -236, i16 -233, i16 -230, i16 -226, i16 -223, i16 -220, i16 -216, i16 -213, i16 -210, i16 -206, i16 -203, i16 -200, i16 -196, i16 -193, i16 -190, i16 -186, i16 -183, i16 -180, i16 -176, i16 -173, i16 -170, i16 -166, i16 -163, i16 -160, i16 -157, i16 -153, i16 -150, i16 -147, i16 -143, i16 -140, i16 -137, i16 -133, i16 -130, i16 -127, i16 -123, i16 -120, i16 -117, i16 -113, i16 -110, i16 -107, i16 -103, i16 -100, i16 -97, i16 -93, i16 -90, i16 -87, i16 -83, i16 -80, i16 -77, i16 -73, i16 -70, i16 -67, i16 -63, i16 -60, i16 -57, i16 -54, i16 -50, i16 -47, i16 -44, i16 -40, i16 -37, i16 -34, i16 -30, i16 -27, i16 -24, i16 -20, i16 -17, i16 -14, i16 -10, i16 -7, i16 -4, i16 0, i16 3, i16 6, i16 10, i16 13, i16 16, i16 20, i16 23, i16 26, i16 30, i16 33, i16 36, i16 39, i16 43, i16 46, i16 49, i16 53, i16 56, i16 59, i16 63, i16 66, i16 69, i16 73, i16 76, i16 79, i16 83, i16 86, i16 89, i16 93, i16 96, i16 99, i16 103, i16 106, i16 109, i16 113, i16 116, i16 119, i16 123, i16 126, i16 129, i16 132, i16 136, i16 139, i16 142, i16 146, i16 149, i16 152, i16 156, i16 159, i16 162, i16 166, i16 169, i16 172, i16 176, i16 179, i16 182, i16 186, i16 189, i16 192, i16 196, i16 199, i16 202, i16 206, i16 209, i16 212, i16 216, i16 219, i16 222, i16 226, i16 229, i16 232, i16 235, i16 239, i16 242, i16 245, i16 249, i16 252, i16 255, i16 259, i16 262, i16 265, i16 269, i16 272, i16 275, i16 279, i16 282, i16 285, i16 289, i16 292, i16 295, i16 299, i16 302, i16 305, i16 309, i16 312, i16 315, i16 319, i16 322, i16 325, i16 328, i16 332, i16 335, i16 338, i16 342, i16 345, i16 348, i16 352, i16 355, i16 358, i16 362, i16 365, i16 368, i16 372, i16 375, i16 378, i16 382, i16 385, i16 388, i16 392, i16 395, i16 398, i16 402, i16 405, i16 408, i16 412, i16 415, i16 418, i16 422, i16 425, i16 428, i16 431, i16 435, i16 438, i16 441, i16 445, i16 448, i16 451, i16 455, i16 458, i16 461, i16 465, i16 468, i16 471, i16 475, i16 478, i16 481, i16 485, i16 488, i16 491, i16 495, i16 498, i16 501, i16 505, i16 508, i16 511, i16 515, i16 518, i16 521, i16 524, i16 528, i16 531, i16 534, i16 538, i16 541, i16 544, i16 548, i16 551, i16 554, i16 558, i16 561, i16 564, i16 568, i16 571, i16 574, i16 578, i16 581, i16 584, i16 588, i16 591, i16 594, i16 598, i16 601, i16 604, i16 608, i16 611, i16 614, i16 617, i16 621, i16 624, i16 627, i16 631, i16 634, i16 637, i16 641, i16 644, i16 647, i16 651, i16 654, i16 657, i16 661, i16 664, i16 667, i16 671, i16 674, i16 677, i16 681, i16 684, i16 687, i16 691, i16 694, i16 697, i16 701, i16 704, i16 707, i16 711, i16 714, i16 717, i16 720, i16 724, i16 727, i16 730, i16 734, i16 737, i16 740, i16 744, i16 747, i16 750, i16 754, i16 757, i16 760, i16 764, i16 767, i16 770, i16 774, i16 777, i16 780, i16 784, i16 787, i16 790, i16 794, i16 797, i16 800, i16 804, i16 807, i16 810, i16 813, i16 817, i16 820, i16 823, i16 827, i16 830, i16 833, i16 837, i16 840, i16 843, i16 847, i16 850, i16 853, i16 857, i16 860, i16 863, i16 867, i16 870, i16 873, i16 877, i16 880, i16 883, i16 887, i16 890, i16 893, i16 897, i16 900, i16 903, i16 907, i16 910, i16 913, i16 916, i16 920, i16 923, i16 926, i16 930, i16 933, i16 936, i16 940, i16 943, i16 946, i16 950], [2 x i8] undef }, align 8 @panic_bounds_check_loc.3Y = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 29 }, align 4 @panic_bounds_check_loc.3Z = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 30 }, align 4 @panic_loc.40 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 108 }, align 4 @panic_loc.41 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 164 }, align 4 @panic_loc.42 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 164 }, align 4 @panic_loc.43 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.1h, i32 0, i32 0), i16 57 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 165 }, align 4 @panic_loc.44 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.V, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 168 }, align 4 @panic_loc.45 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 168 }, align 4 @panic_loc.46 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 247 }, align 4 @panic_loc.47 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 248 }, align 4 @panic_loc.48 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 254 }, align 4 @panic_loc.49 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 260 }, align 4 @panic_loc.4a = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 264 }, align 4 @panic_loc.4b = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 265 }, align 4 @panic_loc.4c = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 326 }, align 4 @panic_loc.4d = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 329 }, align 4 @panic_loc.4e = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 363 }, align 4 @panic_loc.4f = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 363 }, align 4 @panic_loc.4g = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 364 }, align 4 @panic_loc.4h = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 365 }, align 4 @panic_loc.4i = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 366 }, align 4 @panic_loc.4j = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 367 }, align 4 @panic_loc.4k = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 368 }, align 4 @panic_loc.4l = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 369 }, align 4 @panic_loc.4m = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 398 }, align 4 @panic_loc.4n = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([72 x i8], [72 x i8]* @str.3V, i32 0, i32 0), i16 72 }, i32 400 }, align 4 @str.4o = internal constant [66 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/dec2flt/num.rs" @panic_loc.4p = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.4o, i32 0, i32 0), i16 66 }, i32 25 }, align 4 @panic_loc.4q = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.4o, i32 0, i32 0), i16 66 }, i32 52 }, align 4 @panic_loc.4r = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.4o, i32 0, i32 0), i16 66 }, i32 52 }, align 4 @panic_loc.4s = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.4o, i32 0, i32 0), i16 66 }, i32 52 }, align 4 @panic_loc.4t = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.4o, i32 0, i32 0), i16 66 }, i32 63 }, align 4 @panic_bounds_check_loc.4u = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.4o, i32 0, i32 0), i16 66 }, i32 75 }, align 4 @panic_bounds_check_loc.4v = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.4o, i32 0, i32 0), i16 66 }, i32 77 }, align 4 @panic_loc.4w = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.4o, i32 0, i32 0), i16 66 }, i32 87 }, align 4 @str.4x = internal constant [68 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/dec2flt/rawfp.rs" @panic_loc.4y = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 130 }, align 4 @panic_loc.4z = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 135 }, align 4 @panic_loc.4A = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 135 }, align 4 @panic_loc.4B = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 140 }, align 4 @panic_loc.4C = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 140 }, align 4 @panic_loc.4D = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 145 }, align 4 @panic_loc.4E = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 150 }, align 4 @panic_loc.4F = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 150 }, align 4 @panic_loc.4G = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 155 }, align 4 @panic_loc.4H = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 160 }, align 4 @panic_loc.4I = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 160 }, align 4 @panic_loc.4J = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 165 }, align 4 @panic_loc.4K = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 165 }, align 4 @const.4L = internal unnamed_addr constant [11 x float] [float 1.000000e+00, float 1.000000e+01, float 1.000000e+02, float 1.000000e+03, float 1.000000e+04, float 1.000000e+05, float 1.000000e+06, float 1.000000e+07, float 1.000000e+08, float 1.000000e+09, float 1.000000e+10], align 4 @panic_bounds_check_loc.4M = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 208 }, align 4 @const.4N = internal unnamed_addr constant [23 x double] [double 1.000000e+00, double 1.000000e+01, double 1.000000e+02, double 1.000000e+03, double 1.000000e+04, double 1.000000e+05, double 1.000000e+06, double 1.000000e+07, double 1.000000e+08, double 1.000000e+09, double 1.000000e+10, double 1.000000e+11, double 1.000000e+12, double 1.000000e+13, double 1.000000e+14, double 1.000000e+15, double 1.000000e+16, double 1.000000e+17, double 1.000000e+18, double 1.000000e+19, double 1.000000e+20, double 1.000000e+21, double 1.000000e+22], align 8 @panic_bounds_check_loc.4O = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 263 }, align 4 @panic_loc.4P = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 284 }, align 4 @panic_loc.4Q = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 296 }, align 4 @panic_loc.4R = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 297 }, align 4 @panic_loc.4S = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 297 }, align 4 @panic_loc.4T = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 298 }, align 4 @panic_loc.4U = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 298 }, align 4 @panic_loc.4V = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 298 }, align 4 @panic_loc.4W = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 299 }, align 4 @panic_loc.4X = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 301 }, align 4 @panic_loc.4Y = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 307 }, align 4 @panic_loc.4Z = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 309 }, align 4 @panic_loc.50 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 319 }, align 4 @panic_loc.51 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 321 }, align 4 @panic_loc.52 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 325 }, align 4 @panic_loc.53 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 352 }, align 4 @panic_loc.54 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 368 }, align 4 @panic_loc.55 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 370 }, align 4 @panic_loc.56 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.4x, i32 0, i32 0), i16 68 }, i32 394 }, align 4 @str.57 = internal constant [68 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/dec2flt/parse.rs" @panic_bounds_check_loc.58 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.57, i32 0, i32 0), i16 68 }, i32 93 }, align 4 @panic_loc.59 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.57, i32 0, i32 0), i16 68 }, i32 94 }, align 4 @ref.5a = internal unnamed_addr constant i8 48, align 1 @ref.5b = internal unnamed_addr constant i8* @ref.5a, align 2 @panic_loc.5c = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([68 x i8], [68 x i8]* @str.57, i32 0, i32 0), i16 68 }, i32 130 }, align 4 @str.5d = internal constant [21 x i8] c"invalid float literal" @str.5e = internal constant [36 x i8] c"cannot parse float from empty string" @str.5f = internal constant [66 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/dec2flt/mod.rs" @panic_bounds_check_loc.5g = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.5f, i32 0, i32 0), i16 66 }, i32 201 }, align 4 @str.5h = internal constant [3 x i8] c"inf" @str.5i = internal constant [3 x i8] c"NaN" @panic_loc.5j = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.5f, i32 0, i32 0), i16 66 }, i32 240 }, align 4 @ref.5k = internal unnamed_addr constant {} zeroinitializer, align 1 @const.5l = internal unnamed_addr constant {}* @ref.5k, align 2 @panic_loc.5m = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.5f, i32 0, i32 0), i16 66 }, i32 277 }, align 4 @panic_loc.5n = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.5f, i32 0, i32 0), i16 66 }, i32 285 }, align 4 @panic_loc.5o = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.5f, i32 0, i32 0), i16 66 }, i32 288 }, align 4 @panic_loc.5p = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.5f, i32 0, i32 0), i16 66 }, i32 290 }, align 4 @panic_loc.5q = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.5f, i32 0, i32 0), i16 66 }, i32 299 }, align 4 @panic_loc.5r = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.5f, i32 0, i32 0), i16 66 }, i32 304 }, align 4 @panic_loc.5s = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.5f, i32 0, i32 0), i16 66 }, i32 310 }, align 4 @panic_loc.5t = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str.5f, i32 0, i32 0), i16 66 }, i32 324 }, align 4 @str.5u = internal constant [64 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/diy_float.rs" @panic_loc.5v = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 38 }, align 4 @panic_loc.5w = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 39 }, align 4 @panic_loc.5x = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 40 }, align 4 @panic_loc.5y = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 41 }, align 4 @panic_loc.5z = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 42 }, align 4 @panic_loc.5A = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 43 }, align 4 @panic_loc.5B = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 44 }, align 4 @panic_loc.5C = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 54 }, align 4 @panic_loc.5D = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 58 }, align 4 @panic_loc.5E = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 62 }, align 4 @panic_loc.5F = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 66 }, align 4 @panic_loc.5G = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 70 }, align 4 @panic_loc.5H = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 74 }, align 4 @panic_loc.5I = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 83 }, align 4 @panic_loc.5J = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 86 }, align 4 @panic_loc.5K = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 86 }, align 4 @panic_loc.5L = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.5u, i32 0, i32 0), i16 64 }, i32 88 }, align 4 @str.5M = internal constant [47 x i8] c"out of range integral type conversion attempted" @str.5N = internal constant [58 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/mod.rs" @panic_bounds_check_loc.5O = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.5N, i32 0, i32 0), i16 58 }, i32 2790 }, align 4 @str.5P = internal constant [38 x i8] c"number too small to fit in target type" @str.5Q = internal constant [38 x i8] c"number too large to fit in target type" @str.5R = internal constant [29 x i8] c"invalid digit found in string" @str.5S = internal constant [38 x i8] c"cannot parse integer from empty string" @str.5T = internal constant [54 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/ptr.rs" @panic_loc.5U = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.1f, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.5T, i32 0, i32 0), i16 54 }, i32 538 }, align 4 @panic_loc.5V = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.V, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.5T, i32 0, i32 0), i16 54 }, i32 538 }, align 4 @ref.5W = internal unnamed_addr constant [0 x %"fmt::ArgumentV1"] zeroinitializer, align 2 @str.5X = internal constant [3 x i8] c"Any" @str.5Y = internal constant [10 x i8] c"AtomicBool" @vtable.5Z = internal unnamed_addr constant { void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* } { void (i8*)* @_ZN4core3ptr13drop_in_place17had6aad2067d969ceE, i16 1, i16 1, i8 (i8*, %"fmt::Formatter"*)* @"_ZN41_$LT$bool$u20$as$u20$core..fmt..Debug$GT$3fmt17h39b75d22877987b9E" }, align 8 @str.60 = internal constant [11 x i8] c"BorrowError" @str.61 = internal constant [24 x i8] c"already mutably borrowed" @str.62 = internal constant [14 x i8] c"BorrowMutError" @str.63 = internal constant [16 x i8] c"already borrowed" @vtable.64 = internal unnamed_addr constant { void (i32*)*, i16, i16 } { void (i32*)* @_ZN4core3ptr13drop_in_place17h736fcefdd87ac541E, i16 4, i16 4 }, align 8 @str.65 = internal constant [41 x i8] c"converted integer out of range for `char`" @str.66 = internal constant [55 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/char.rs" @panic_loc.67 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 299 }, align 4 @panic_loc.68 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 301 }, align 4 @panic_loc.69 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 301 }, align 4 @panic_loc.6a = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 349 }, align 4 @panic_loc.6b = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 350 }, align 4 @panic_loc.6c = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 350 }, align 4 @panic_loc.6d = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 351 }, align 4 @panic_loc.6e = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 351 }, align 4 @panic_loc.6f = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 365 }, align 4 @panic_loc.6g = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 531 }, align 4 @panic_loc.6h = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 531 }, align 4 @panic_loc.6i = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 536 }, align 4 @panic_loc.6j = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.66, i32 0, i32 0), i16 55 }, i32 577 }, align 4 @str.6k = internal constant [64 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/iter/iterator.rs" @panic_loc.6l = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.6k, i32 0, i32 0), i16 64 }, i32 180 }, align 4 @panic_loc.6m = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.6k, i32 0, i32 0), i16 64 }, i32 256 }, align 4 @str.6n = internal constant [59 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/iter/mod.rs" @panic_loc.6o = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([59 x i8], [59 x i8]* @str.6n, i32 0, i32 0), i16 59 }, i32 855 }, align 4 @panic_loc.6p = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([59 x i8], [59 x i8]* @str.6n, i32 0, i32 0), i16 59 }, i32 864 }, align 4 @str.6q = internal constant [3 x i8] c"Map" @str.6r = internal constant [4 x i8] c"iter" @vtable.6s = internal unnamed_addr constant { void (%"str::SplitTerminator"*)*, i16, i16, i8 (%"str::SplitTerminator"*, %"fmt::Formatter"*)* } { void (%"str::SplitTerminator"*)* @_ZN4core3ptr13drop_in_place17h6a550860c20e03a5E, i16 24, i16 4, i8 (%"str::SplitTerminator"*, %"fmt::Formatter"*)* @"_ZN86_$LT$core..str..SplitTerminator$LT$$u27$a$C$$u20$P$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h207aaef5b13163c7E" }, align 8 @panic_loc.6t = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([59 x i8], [59 x i8]* @str.6n, i32 0, i32 0), i16 59 }, i32 1255 }, align 4 @str.6u = internal constant [60 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/slice/mod.rs" @panic_bounds_check_loc.6v = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 356 }, align 4 @panic_loc.6w = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 459 }, align 4 @panic_bounds_check_loc.6x = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 752 }, align 4 @panic_bounds_check_loc.6y = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 758 }, align 4 @panic_loc.6z = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 790 }, align 4 @panic_loc.6A = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 795 }, align 4 @str.6B = internal constant [4 x i8] c"Iter" @vtable.6C = internal unnamed_addr constant { void ({ i8*, i16 }*)*, i16, i16, i8 ({ i8*, i16 }*, %"fmt::Formatter"*)* } { void ({ i8*, i16 }*)* @_ZN4core3ptr13drop_in_place17h77a19f99f3cc4196E, i16 4, i16 2, i8 ({ i8*, i16 }*, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7b00f3d483be2e73E" }, align 8 @panic_loc.6D = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.1f, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 1247 }, align 4 @str.6E = internal constant [62 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/str/pattern.rs" @panic_loc.6F = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 314 }, align 4 @panic_loc.6G = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 316 }, align 4 @panic_loc.6H = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 318 }, align 4 @panic_loc.6I = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 858 }, align 4 @panic_loc.6J = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 868 }, align 4 @panic_loc.6K = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 894 }, align 4 @panic_loc.6L = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 894 }, align 4 @panic_loc.6M = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 907 }, align 4 @panic_loc.6N = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1095 }, align 4 @panic_loc.6O = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1097 }, align 4 @panic_loc.6P = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1100 }, align 4 @panic_loc.6Q = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1102 }, align 4 @panic_loc.6R = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1105 }, align 4 @panic_loc.6S = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1106 }, align 4 @panic_loc.6T = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1109 }, align 4 @panic_loc.6U = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1114 }, align 4 @panic_loc.6V = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1144 }, align 4 @panic_loc.6W = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1145 }, align 4 @panic_loc.6X = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1145 }, align 4 @panic_loc.6Y = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1146 }, align 4 @panic_loc.6Z = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1146 }, align 4 @panic_loc.70 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1149 }, align 4 @panic_loc.71 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1151 }, align 4 @panic_loc.72 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1154 }, align 4 @panic_loc.73 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1155 }, align 4 @panic_loc.74 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1158 }, align 4 @panic_loc.75 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.6E, i32 0, i32 0), i16 62 }, i32 1163 }, align 4 @str.76 = internal constant [41 x i8] c"provided string was not `true` or `false`" @str.77 = internal constant [58 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/str/mod.rs" @panic_loc.78 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 403 }, align 4 @panic_loc.79 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 510 }, align 4 @panic_loc.7a = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 512 }, align 4 @panic_loc.7b = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 600 }, align 4 @panic_loc.7c = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 600 }, align 4 @str.7d = internal constant [13 x i8] c"SplitInternal" @str.7e = internal constant [5 x i8] c"start" @vtable.7f = internal unnamed_addr constant { void (i16*)*, i16, i16, i8 (i16*, %"fmt::Formatter"*)* } { void (i16*)* @_ZN4core3ptr13drop_in_place17h3e2d5f36594e0c0dE, i16 2, i16 2, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h6522a18f19176b1eE" }, align 8 @str.7g = internal constant [3 x i8] c"end" @str.7h = internal constant [7 x i8] c"matcher" @vtable.7i = internal unnamed_addr constant { void (%"str::pattern::CharSearcher"*)*, i16, i16, i8 (%"str::pattern::CharSearcher"*, %"fmt::Formatter"*)* } { void (%"str::pattern::CharSearcher"*)* @_ZN4core3ptr13drop_in_place17he2ca2dc0833adcebE, i16 16, i16 4, i8 (%"str::pattern::CharSearcher"*, %"fmt::Formatter"*)* @"_ZN83_$LT$core..str..pattern..CharSearcher$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hc7f86400b8a75f48E" }, align 8 @str.7j = internal constant [20 x i8] c"allow_trailing_empty" @str.7k = internal constant [8 x i8] c"finished" @panic_loc.7l = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1243 }, align 4 @panic_loc.7m = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1329 }, align 4 @panic_loc.7n = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1330 }, align 4 @panic_loc.7o = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1330 }, align 4 @panic_bounds_check_loc.7p = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1352 }, align 4 @panic_bounds_check_loc.7q = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1354 }, align 4 @panic_loc.7r = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1344 }, align 4 @panic_bounds_check_loc.7s = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1349 }, align 4 @panic_loc.7t = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1405 }, align 4 @panic_loc.7u = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1411 }, align 4 @panic_loc.7v = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1411 }, align 4 @panic_loc.7w = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1423 }, align 4 @panic_bounds_check_loc.7x = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1426 }, align 4 @panic_loc.7y = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1427 }, align 4 @panic_loc.7z = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1430 }, align 4 @panic_loc.7A = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 1807 }, align 4 @panic_loc.7B = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 2126 }, align 4 @str.7C = internal constant [5 x i8] c"[...]" @str.7D = internal constant [0 x i8] zeroinitializer @panic_loc.7E = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 2154 }, align 4 @panic_loc.7F = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 2158 }, align 4 @panic_loc.7G = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.77, i32 0, i32 0), i16 58 }, i32 2410 }, align 4 @str.7H = internal constant [60 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/fmt/float.rs" @panic_loc.7I = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.7H, i32 0, i32 0), i16 60 }, i32 53 }, align 4 @str.7J = internal constant [58 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/fmt/num.rs" @panic_loc.7K = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 78 }, align 4 @panic_loc.7L = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 90 }, align 4 @str.7M = internal constant [4 x i8] c" " @str.7N = internal constant [63 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/fmt/builders.rs" @panic_loc.7O = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([63 x i8], [63 x i8]* @str.7N, i32 0, i32 0), i16 63 }, i32 37 }, align 4 @str.7P = internal constant [1 x i8] c"," @str.7Q = internal constant [2 x i8] c" {" @vtable.7R = internal unnamed_addr constant { void (%"fmt::builders::PadAdapter"*)*, i16, i16, i8 (%"fmt::builders::PadAdapter"*, i8*, i16)*, i8 (%"fmt::builders::PadAdapter"*, i32)*, i8 (%"fmt::builders::PadAdapter"*, %"fmt::Arguments"*)* } { void (%"fmt::builders::PadAdapter"*)* @_ZN4core3ptr13drop_in_place17h3581579f9210eaa8E, i16 4, i16 2, i8 (%"fmt::builders::PadAdapter"*, i8*, i16)* @"_ZN96_$LT$core..fmt..builders..PadAdapter$LT$$u27$a$C$$u20$$u27$b$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17h3ad6ffc1bc6bfdc1E", i8 (%"fmt::builders::PadAdapter"*, i32)* @_ZN4core3fmt5Write10write_char17hf90414f7abc72c5aE, i8 (%"fmt::builders::PadAdapter"*, %"fmt::Arguments"*)* @_ZN4core3fmt5Write9write_fmt17h4fd7a03ea1fb5c80E }, align 8 @str.7S = internal constant [2 x i8] c"\0A}" @str.7T = internal constant [2 x i8] c" }" @panic_loc.7U = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([63 x i8], [63 x i8]* @str.7N, i32 0, i32 0), i16 63 }, i32 115 }, align 4 @panic_loc.7V = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([63 x i8], [63 x i8]* @str.7N, i32 0, i32 0), i16 63 }, i32 161 }, align 4 @str.7W = internal constant [1 x i8] c" " @str.7X = internal constant [1 x i8] c"(" @str.7Y = internal constant [1 x i8] c"\0A" @str.7Z = internal constant [1 x i8] c")" @panic_loc.80 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([63 x i8], [63 x i8]* @str.7N, i32 0, i32 0), i16 63 }, i32 183 }, align 4 @str.81 = internal constant [2 x i8] c", " @panic_loc.82 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([63 x i8], [63 x i8]* @str.7N, i32 0, i32 0), i16 63 }, i32 227 }, align 4 @str.83 = internal constant [1 x i8] c"}" @vtable.84 = internal unnamed_addr constant { void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* } { void (i8**)* @_ZN4core3ptr13drop_in_place17h111de891e14ea063E, i16 2, i16 2, i8 (i8**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hd748daefd2dab943E" }, align 8 @vtable.85 = internal unnamed_addr constant { void (i32**)*, i16, i16, i8 (i32**, %"fmt::Formatter"*)* } { void (i32**)* @_ZN4core3ptr13drop_in_place17h9013b35ec5f912e9E, i16 2, i16 2, i8 (i32**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4ac5fcaae806d36aE" }, align 8 @str.86 = internal constant [1 x i8] c"]" @panic_loc.87 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([63 x i8], [63 x i8]* @str.7N, i32 0, i32 0), i16 63 }, i32 403 }, align 4 @vtable.88 = internal unnamed_addr constant { void (%"fmt::Write::write_fmt::Adapter"*)*, i16, i16, i8 (%"fmt::Write::write_fmt::Adapter"*, i8*, i16)*, i8 (%"fmt::Write::write_fmt::Adapter"*, i32)*, i8 (%"fmt::Write::write_fmt::Adapter"*, %"fmt::Arguments"*)* } { void (%"fmt::Write::write_fmt::Adapter"*)* @_ZN4core3ptr13drop_in_place17h347bdc34f1e57e4cE, i16 2, i16 2, i8 (%"fmt::Write::write_fmt::Adapter"*, i8*, i16)* @"_ZN96_$LT$core..fmt..Write..write_fmt..Adapter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17he4aa10131d4a24d7E", i8 (%"fmt::Write::write_fmt::Adapter"*, i32)* @"_ZN96_$LT$core..fmt..Write..write_fmt..Adapter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17h0c38f41ff3288b1dE", i8 (%"fmt::Write::write_fmt::Adapter"*, %"fmt::Arguments"*)* @"_ZN96_$LT$core..fmt..Write..write_fmt..Adapter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_fmt17h8d1442384bbe48e2E" }, align 8 @str.89 = internal constant [58 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/fmt/mod.rs" @panic_bounds_check_loc.8a = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 967 }, align 4 @panic_bounds_check_loc.8b = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 979 }, align 4 @panic_loc.8c = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1013 }, align 4 @panic_loc.8d = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1015 }, align 4 @panic_loc.8e = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1020 }, align 4 @panic_loc.8f = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1050 }, align 4 @panic_loc.8g = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1056 }, align 4 @panic_loc.8h = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1108 }, align 4 @panic_loc.8i = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1130 }, align 4 @panic_loc.8j = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1167 }, align 4 @panic_loc.8k = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1178 }, align 4 @panic_loc.8l = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1216 }, align 4 @str.8m = internal constant [64 x i8] c"0000000000000000000000000000000000000000000000000000000000000000" @panic_loc.8n = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1206 }, align 4 @panic_loc.8o = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1272 }, align 4 @panic_loc.8p = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1276 }, align 4 @panic_loc.8q = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1280 }, align 4 @panic_loc.8r = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1285 }, align 4 @str.8s = internal constant [45 x i8] c"an error occurred when formatting an argument" @str.8t = internal constant [4 x i8] c"true" @str.8u = internal constant [5 x i8] c"false" @panic_loc.8v = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.89, i32 0, i32 0), i16 58 }, i32 1505 }, align 4 @str.8w = internal constant [2 x i8] c"()" @str.8x = internal constant [11 x i8] c"PhantomData" @str.8y = internal constant [63 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/char_private.rs" @panic_loc.8z = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([63 x i8], [63 x i8]* @str.8y, i32 0, i32 0), i16 63 }, i32 19 }, align 4 @panic_loc.8A = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([63 x i8], [63 x i8]* @str.8y, i32 0, i32 0), i16 63 }, i32 41 }, align 4 @ref.8B = internal unnamed_addr constant [42 x { i8, i8 }] [{ i8, i8 } { i8 0, i8 1 }, { i8, i8 } { i8 3, i8 5 }, { i8, i8 } { i8 5, i8 8 }, { i8, i8 } { i8 6, i8 3 }, { i8, i8 } { i8 7, i8 4 }, { i8, i8 } { i8 8, i8 7 }, { i8, i8 } { i8 9, i8 16 }, { i8, i8 } { i8 10, i8 27 }, { i8, i8 } { i8 11, i8 24 }, { i8, i8 } { i8 12, i8 22 }, { i8, i8 } { i8 13, i8 20 }, { i8, i8 } { i8 14, i8 22 }, { i8, i8 } { i8 15, i8 4 }, { i8, i8 } { i8 16, i8 3 }, { i8, i8 } { i8 18, i8 18 }, { i8, i8 } { i8 19, i8 9 }, { i8, i8 } { i8 22, i8 1 }, { i8, i8 } { i8 23, i8 5 }, { i8, i8 } { i8 24, i8 2 }, { i8, i8 } { i8 25, i8 3 }, { i8, i8 } { i8 26, i8 7 }, { i8, i8 } { i8 28, i8 1 }, { i8, i8 } { i8 31, i8 22 }, { i8, i8 } { i8 32, i8 3 }, { i8, i8 } { i8 35, i8 1 }, { i8, i8 } { i8 43, i8 5 }, { i8, i8 } { i8 44, i8 2 }, { i8, i8 } { i8 45, i8 11 }, { i8, i8 } { i8 46, i8 1 }, { i8, i8 } { i8 48, i8 3 }, { i8, i8 } { i8 49, i8 1 }, { i8, i8 } { i8 50, i8 2 }, { i8, i8 } { i8 -89, i8 1 }, { i8, i8 } { i8 -88, i8 2 }, { i8, i8 } { i8 -87, i8 2 }, { i8, i8 } { i8 -86, i8 4 }, { i8, i8 } { i8 -85, i8 8 }, { i8, i8 } { i8 -6, i8 2 }, { i8, i8 } { i8 -5, i8 5 }, { i8, i8 } { i8 -3, i8 4 }, { i8, i8 } { i8 -2, i8 3 }, { i8, i8 } { i8 -1, i8 9 }], align 1 @ref.8C = internal unnamed_addr constant [303 x i8] c"\ADxy\8B\8D\A20WX`\88\8B\8C\90\1C\1D\DD\0E\0FKL./?\5C]\B5\E2\84\8D\8E\91\92\A9\B1\BA\BB\C5\C6\C9\CA\DE\E4\E5\04\11\12)147:;=IJ]\84\8E\92\A9\B1\B4\BA\BB\C6\CA\CE\CF\E4\E5\04\0D\0E\11\12)14:;EFIJ^de\84\91\9B\9D\C9\CE\CF\04\0D\11)EIWde\84\8D\91\A9\B4\BA\BB\C5\C9\DF\E4\E5\F0\04\0D\11;NO\8F\9E\9E\9F\06\07\096=>V\F3\D0\D1\04\14\18VW\BD5\CE\CF\E0\12\87\89\8E\9E\04\0D\0E\11\12)14:;EFIJNOdeZ\5C\B6\B7\097\90\91\A8o_\EE\EFZb\9A\9B'(U\9D\A0\A1\A3\A4\A7\A8\AD\BA\BC\C4\06\0B\0C\15\1D:?EQ\A6\A7\CC\CD\A0\07\19\1A\22%\C5\C6\04 #%&(38:HJLPSUVXZ\5C^`cefksx}\7F\8A\A4\AA\AF\B0\C0\D0/\1F12?", align 1 @ref.8G = internal unnamed_addr constant [342 x i8] c"^\22{\05\03\04-\03e\04\01/.\80\82\1D\031\0F\1C\04$\0C\1B\05+\05D\04\0E*\80\AA\06$\04$\04(\084\0B\01\80\90\817\09\16\0A\08\80\989\03c\08\090\16\05!\03\1B\05\01@8\04K\05(\04\03\04\09\08\09\07@ '\04\0C\096\03:\05\1A\07\04\0C\07PI73\0D3\07\06\81`\1F\81\81N\04\1E\0FC\0E\19\07\0A\06D\0C'\09u\0B?A*\06;\05\0A\06Q\06\01\05\10\03\05\80\8B^\22H\08\0A\80\A6^\22E\0B\0A\06\0D\138\08\0A6\1A\03\0F\04\10\81`S\0C\01\81\C09\81\07F\0A\1D\03G\83I\83\9Afu\0B\80\C4\8A\BC\84/\8F\D1\82G\A1\B9\829\07*\04\02`&\0AF\0A(\05\13\83pE\0B/\10\11@\01\1F\97\ED\13\82\F3\A5\0D\02\8B\FEk\05\0D\03\09\07\10\93`\80\F6\0As\08n\17F\80\BAW\09\12\80\8E\81G\03\85B\0F\15\85P+\87\D5\80\D7)K\05\0A\04\02\84\A0<\06\01\04U\05\1B4\02\81\0E,\04d\0CV\0A\0D\03\5C\04=9\1D\0D,\04\09\07\02\80\AE\83\D3\0D\0D\03\07\09t\0CU+\0C\048\08\0A\06(\08\1Eb\18\08\1C\04\0F!\12.\01\86?", align 1 @str.8H = internal constant [7 x i8] c"Decoded" @str.8I = internal constant [4 x i8] c"mant" @vtable.8J = internal unnamed_addr constant { void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* } { void (i64**)* @_ZN4core3ptr13drop_in_place17h03b0c91c8ab11876E, i16 2, i16 2, i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hc6bce8b1263db721E" }, align 8 @str.8K = internal constant [5 x i8] c"minus" @str.8L = internal constant [4 x i8] c"plus" @str.8M = internal constant [3 x i8] c"exp" @vtable.8N = internal unnamed_addr constant { void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* } { void (i16**)* @_ZN4core3ptr13drop_in_place17ha463bf09d8e01fd3E, i16 2, i16 2, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7dc37617bd1042e0E" }, align 8 @str.8O = internal constant [9 x i8] c"inclusive" @vtable.8P = internal unnamed_addr constant { void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* } { void (i8**)* @_ZN4core3ptr13drop_in_place17hd065e34f526193f9E, i16 2, i16 2, i8 (i8**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0a52dfbcf7070eaeE" }, align 8 @str.8Q = internal constant [6 x i8] c"Finite" @vtable.8R = internal unnamed_addr constant { void (%"num::flt2dec::decoder::Decoded"**)*, i16, i16, i8 (%"num::flt2dec::decoder::Decoded"**, %"fmt::Formatter"*)* } { void (%"num::flt2dec::decoder::Decoded"**)* @_ZN4core3ptr13drop_in_place17h96690873be694b9fE, i16 2, i16 2, i8 (%"num::flt2dec::decoder::Decoded"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h98e492d837d048d3E" }, align 8 @str.8S = internal constant [4 x i8] c"Zero" @str.8T = internal constant [8 x i8] c"Infinite" @str.8U = internal constant [3 x i8] c"Nan" @str.8V = internal constant [25 x i8] c"assertion failed: n < 512" @str.8W = internal constant [29 x i8] c"assertion failed: *x < *scale" @str.8X = internal constant [28 x i8] c"assertion failed: d.mant > 0" @str.8Y = internal constant [29 x i8] c"assertion failed: d.minus > 0" @str.8Z = internal constant [28 x i8] c"assertion failed: d.plus > 0" @str.90 = internal constant [54 x i8] c"assertion failed: d.mant.checked_add(d.plus).is_some()" @str.91 = internal constant [55 x i8] c"assertion failed: d.mant.checked_sub(d.minus).is_some()" @str.92 = internal constant [45 x i8] c"assertion failed: buf.len() >= MAX_SIG_DIGITS" @str.93 = internal constant [24 x i8] c"assertion failed: d < 10" @str.94 = internal constant [30 x i8] c"assertion failed: mant < scale" @str.95 = internal constant [42 x i8] c"assertion failed: alpha <= e && e <= gamma" @str.96 = internal constant [23 x i8] c"assertion failed: x > 0" @str.97 = internal constant [45 x i8] c"assertion failed: d.mant + d.plus < (1 << 61)" @str.98 = internal constant [44 x i8] c"assertion failed: `(left == right)` (left: `" @str.99 = internal constant [11 x i8] c"`, right: `" @str.9a = internal constant [2 x i8] c"`)" @ref.9b = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.98, i32 0, i32 0), i16 44 }, %str_slice { i8* getelementptr inbounds ([11 x i8], [11 x i8]* @str.99, i32 0, i32 0), i16 11 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.9a, i32 0, i32 0), i16 2 }], align 2 @str.9c = internal constant [24 x i8] c"assertion failed: q < 10" @str.9d = internal constant [33 x i8] c"assertion failed: !buf.is_empty()" @str.9e = internal constant [30 x i8] c"assertion failed: *last > b'0'" @str.9f = internal constant [36 x i8] c"assertion failed: d.mant < (1 << 61)" @str.9g = internal constant [25 x i8] c"assertion failed: len > 0" @str.9h = internal constant [39 x i8] c"assertion failed: remainder < ten_kappa" @str.9i = internal constant [4 x i8] c"Copy" @vtable.9j = internal unnamed_addr constant { void ({ i8*, i16 }**)*, i16, i16, i8 ({ i8*, i16 }**, %"fmt::Formatter"*)* } { void ({ i8*, i16 }**)* @_ZN4core3ptr13drop_in_place17h3079cf91327b4b87E, i16 2, i16 2, i8 ({ i8*, i16 }**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h616fa81013213fc5E" }, align 8 @str.9k = internal constant [3 x i8] c"Num" @vtable.9l = internal unnamed_addr constant { void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* } { void (i16**)* @_ZN4core3ptr13drop_in_place17h4e42f5925209baa0E, i16 2, i16 2, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0555eceffc55d495E" }, align 8 @vtable.9m = internal unnamed_addr constant { void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* } { void (i16**)* @_ZN4core3ptr13drop_in_place17hb8474b1633d7fbfeE, i16 2, i16 2, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6911bd12d17307ffE" }, align 8 @str.9n = internal constant [31 x i8] c"assertion failed: buf[0] > b'0'" @str.9o = internal constant [34 x i8] c"assertion failed: parts.len() >= 4" @str.9p = internal constant [34 x i8] c"assertion failed: parts.len() >= 6" @str.9q = internal constant [12 x i8] c"MinusPlusRaw" @str.9r = internal constant [9 x i8] c"MinusPlus" @str.9s = internal constant [8 x i8] c"MinusRaw" @str.9t = internal constant [5 x i8] c"Minus" @str.9u = internal constant [46 x i8] c"assertion failed: dec_bounds.0 <= dec_bounds.1" @str.9v = internal constant [29 x i8] c"assertion failed: ndigits > 0" @str.9w = internal constant [61 x i8] c"assertion failed: buf.len() >= ndigits || buf.len() >= maxlen" @str.9x = internal constant [37 x i8] c"assertion failed: buf.len() >= maxlen" @str.9y = internal constant [35 x i8] c"assertion failed: e >= table::MIN_E" @str.9z = internal constant [25 x i8] c"assertion failed: *k == 0" @str.9A = internal constant [37 x i8] c"assertion failed: x.bit_length() < 64" @str.9B = internal constant [35 x i8] c"assertion failed: end - start <= 64" @str.9C = internal constant [8 x i8] c"Unpacked" @str.9D = internal constant [3 x i8] c"sig" @str.9E = internal constant [1 x i8] c"k" @str.9F = internal constant [29 x i8] c"f32::from_bits: too many bits" @str.9G = internal constant [60 x i8] c"assertion failed: (x as f32) == fp_to_float(Fp{f: x, e: 0,})" @str.9H = internal constant [60 x i8] c"assertion failed: (x as f64) == fp_to_float(Fp{f: x, e: 0,})" @str.9I = internal constant [22 x i8] c"fp_to_float: exponent " @str.9J = internal constant [10 x i8] c" too large" @ref.9K = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str.9I, i32 0, i32 0), i16 22 }, %str_slice { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @str.9J, i32 0, i32 0), i16 10 }], align 2 @str.9L = internal constant [10 x i8] c" too small" @ref.9M = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str.9I, i32 0, i32 0), i16 22 }, %str_slice { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @str.9L, i32 0, i32 0), i16 10 }], align 2 @str.9N = internal constant [41 x i8] c"encode_normal: significand not normalized" @str.9O = internal constant [36 x i8] c"encode_normal: exponent out of range" @str.9P = internal constant [40 x i8] c"encode_subnormal: not actually subnormal" @str.9Q = internal constant [38 x i8] c"big_to_fp: unexpectedly, input is zero" @str.9R = internal constant [32 x i8] c"prev_float: argument is infinite" @str.9S = internal constant [27 x i8] c"prev_float: argument is NaN" @str.9T = internal constant [33 x i8] c"prev_float: argument is subnormal" @str.9U = internal constant [28 x i8] c"prev_float: argument is zero" @str.9V = internal constant [27 x i8] c"next_float: argument is NaN" @str.9W = internal constant [8 x i8] c"Negative" @str.9X = internal constant [8 x i8] c"Positive" @str.9Y = internal constant [7 x i8] c"Decimal" @str.9Z = internal constant [8 x i8] c"integral" @str.a0 = internal constant [10 x i8] c"fractional" @vtable.a1 = internal unnamed_addr constant { void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* } { void (i64**)* @_ZN4core3ptr13drop_in_place17h8be0482d9ea2be98E, i16 2, i16 2, i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h021fb8e45336fa8cE" }, align 8 @str.a2 = internal constant [7 x i8] c"Invalid" @str.a3 = internal constant [14 x i8] c"ShortcutToZero" @str.a4 = internal constant [13 x i8] c"ShortcutToInf" @str.a5 = internal constant [5 x i8] c"Valid" @vtable.a6 = internal unnamed_addr constant { void (%"num::dec2flt::parse::Decimal"**)*, i16, i16, i8 (%"num::dec2flt::parse::Decimal"**, %"fmt::Formatter"*)* } { void (%"num::dec2flt::parse::Decimal"**)* @_ZN4core3ptr13drop_in_place17hd248482728887ebbE, i16 2, i16 2, i8 (%"num::dec2flt::parse::Decimal"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h980b312471defcaeE" }, align 8 @str.a7 = internal constant [15 x i8] c"ParseFloatError" @str.a8 = internal constant [4 x i8] c"kind" @vtable.a9 = internal unnamed_addr constant { void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* } { void (i8**)* @_ZN4core3ptr13drop_in_place17h4b37bfaf61bc756aE, i16 2, i16 2, i8 (i8**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hfe303034ce655e2aE" }, align 8 @str.aa = internal constant [5 x i8] c"Empty" @str.ab = internal constant [61 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/num/bignum.rs" @panic_loc.ac = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 71 }, align 4 @panic_loc.ad = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 72 }, align 4 @panic_loc.ae = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 72 }, align 4 @panic_loc.af = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 73 }, align 4 @panic_loc.ag = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 78 }, align 4 @panic_loc.ah = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 79 }, align 4 @panic_loc.ai = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 79 }, align 4 @panic_loc.aj = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 81 }, align 4 @panic_loc.ak = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 87 }, align 4 @panic_loc.al = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 88 }, align 4 @panic_loc.am = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.1f, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 90 }, align 4 @panic_loc.an = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.1h, i32 0, i32 0), i16 57 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 90 }, align 4 @str.ao = internal constant [32 x i8] c"assertion failed: borrow < other" @panic_bounds_check_loc.ap = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 144 }, align 4 @panic_loc.aq = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 145 }, align 4 @panic_loc.ar = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 145 }, align 4 @panic_loc.as = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 146 }, align 4 @panic_loc.at = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 163 }, align 4 @panic_loc.au = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.1f, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 164 }, align 4 @panic_loc.av = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.1h, i32 0, i32 0), i16 57 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 165 }, align 4 @panic_bounds_check_loc.aw = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 166 }, align 4 @panic_loc.ax = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 166 }, align 4 @panic_loc.ay = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 182 }, align 4 @panic_loc.az = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 191 }, align 4 @panic_loc.aA = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 192 }, align 4 @panic_loc.aB = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 192 }, align 4 @panic_loc.aC = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 194 }, align 4 @panic_loc.aD = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 196 }, align 4 @panic_bounds_check_loc.aE = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 212 }, align 4 @panic_loc.aF = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 213 }, align 4 @panic_bounds_check_loc.aG = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 226 }, align 4 @panic_bounds_check_loc.aH = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 227 }, align 4 @panic_loc.aI = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 229 }, align 4 @panic_bounds_check_loc.aJ = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 267 }, align 4 @panic_loc.aK = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 268 }, align 4 @panic_loc.aL = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 278 }, align 4 @panic_loc.aM = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.1f, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 279 }, align 4 @panic_loc.aN = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.1h, i32 0, i32 0), i16 57 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 280 }, align 4 @panic_loc.aO = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 283 }, align 4 @panic_loc.aP = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 284 }, align 4 @panic_loc.aQ = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 284 }, align 4 @panic_bounds_check_loc.aR = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 288 }, align 4 @panic_loc.aS = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 288 }, align 4 @panic_bounds_check_loc.aT = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 291 }, align 4 @panic_loc.aU = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 295 }, align 4 @panic_loc.aV = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 298 }, align 4 @panic_loc.aW = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 298 }, align 4 @panic_bounds_check_loc.aX = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 300 }, align 4 @panic_loc.aY = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 301 }, align 4 @panic_loc.aZ = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 303 }, align 4 @panic_bounds_check_loc.b0 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 304 }, align 4 @panic_loc.b1 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 304 }, align 4 @panic_loc.b2 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 305 }, align 4 @panic_loc.b3 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.15, i32 0, i32 0), i16 36 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 305 }, align 4 @panic_bounds_check_loc.b4 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 307 }, align 4 @panic_loc.b5 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 307 }, align 4 @const.b6 = internal unnamed_addr constant { { i64, i16, [6 x i8] }, { i64, i16, [6 x i8] }, { i64, i16, [6 x i8] } } { { i64, i16, [6 x i8] } { i64 125, i16 3, [6 x i8] undef }, { i64, i16, [6 x i8] } { i64 15625, i16 6, [6 x i8] undef }, { i64, i16, [6 x i8] } { i64 1220703125, i16 13, [6 x i8] undef } }, align 8 @panic_bounds_check_loc.b7 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 323 }, align 4 @panic_loc.b8 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 329 }, align 4 @panic_loc.b9 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 335 }, align 4 @panic_loc.ba = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 357 }, align 4 @panic_loc.bb = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 358 }, align 4 @panic_loc.bc = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 362 }, align 4 @panic_loc.bd = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 363 }, align 4 @panic_loc.be = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 365 }, align 4 @panic_loc.bf = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 366 }, align 4 @panic_loc.bg = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 409 }, align 4 @panic_loc.bh = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.1f, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 426 }, align 4 @panic_loc.bi = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.1h, i32 0, i32 0), i16 57 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 427 }, align 4 @panic_loc.bj = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 429 }, align 4 @panic_loc.bk = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 432 }, align 4 @panic_bounds_check_loc.bl = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 432 }, align 4 @panic_loc.bm = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 474 }, align 4 @panic_loc.bn = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 476 }, align 4 @panic_loc.bo = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.ab, i32 0, i32 0), i16 61 }, i32 477 }, align 4 @str.bp = internal constant [26 x i8] c"assertion failed: noborrow" @str.bq = internal constant [29 x i8] c"assertion failed: digits < 40" @str.br = internal constant [66 x i8] c"assertion failed: self.base[40 - digits..].iter().all(|&v| v == 0)" @str.bs = internal constant [86 x i8] c"assertion failed: bits == 0 || (self.base[40 - digits - 1] >> (digitbits - bits)) == 0" @str.bt = internal constant [27 x i8] c"assertion failed: other > 0" @str.bu = internal constant [30 x i8] c"assertion failed: !d.is_zero()" @str.bv = internal constant [58 x i8] c"assertion failed: q.base[q.size..].iter().all(|&d| d == 0)" @str.bw = internal constant [58 x i8] c"assertion failed: r.base[r.size..].iter().all(|&d| d == 0)" @ref.bx = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }], align 2 @ref.by = internal unnamed_addr constant { { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } } { { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } { { i16, i16 } { i16 1, i16 0 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } { i32 32, i8 3, [3 x i8] undef, i32 4, { i16, [2 x i8] } { i16 3, [2 x i8] undef }, { i16, [2 x i8] } { i16 3, [2 x i8] undef } } } }, align 4 @str.bz = internal constant [1 x i8] c"_" @ref.bA = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.bz, i32 0, i32 0), i16 1 }], align 2 @ref.bB = internal unnamed_addr constant { { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, i16 } } } } { { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, i16 } } } { { i16, i16 } { i16 1, i16 0 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, i16 } } { i32 32, i8 3, [3 x i8] undef, i32 8, { i16, [2 x i8] } { i16 3, [2 x i8] undef }, { i16, i16 } { i16 1, i16 1 } } } }, align 4 @str.bC = internal constant [28 x i8] c"assertion failed: digits < 3" @str.bD = internal constant [65 x i8] c"assertion failed: self.base[3 - digits..].iter().all(|&v| v == 0)" @str.bE = internal constant [85 x i8] c"assertion failed: bits == 0 || (self.base[3 - digits - 1] >> (digitbits - bits)) == 0" @str.bF = internal constant [2 x i8] c"Fp" @str.bG = internal constant [1 x i8] c"f" @str.bH = internal constant [1 x i8] c"e" @str.bI = internal constant [32 x i8] c"assertion failed: f >= (1 >> 63)" @str.bJ = internal constant [29 x i8] c"assertion failed: edelta >= 0" @panic_loc.bK = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.o, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.5N, i32 0, i32 0), i16 58 }, i32 1246 }, align 4 @panic_loc.bL = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.9, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.5N, i32 0, i32 0), i16 58 }, i32 2344 }, align 4 @panic_loc.bM = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.5N, i32 0, i32 0), i16 58 }, i32 2346 }, align 4 @panic_loc.bN = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.1h, i32 0, i32 0), i16 57 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.5N, i32 0, i32 0), i16 58 }, i32 2346 }, align 4 @panic_loc.bO = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.17, i32 0, i32 0), i16 35 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.5N, i32 0, i32 0), i16 58 }, i32 2346 }, align 4 @str.bP = internal constant [6 x i8] c"Normal" @str.bQ = internal constant [9 x i8] c"Subnormal" @str.bR = internal constant [15 x i8] c"TryFromIntError" @vtable.bS = internal unnamed_addr constant { void ({}**)*, i16, i16, i8 ({}**, %"fmt::Formatter"*)* } { void ({}**)* @_ZN4core3ptr13drop_in_place17h397b9a24e82e067bE, i16 2, i16 2, i8 ({}**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17ha182f808b5684546E" }, align 8 @str.bT = internal constant [13 x i8] c"ParseIntError" @vtable.bU = internal unnamed_addr constant { void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* } { void (i8**)* @_ZN4core3ptr13drop_in_place17h710dc23528d2f814E, i16 2, i16 2, i8 (i8**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h79bdde62fbe8ab4cE" }, align 8 @str.bV = internal constant [9 x i8] c"Underflow" @str.bW = internal constant [8 x i8] c"Overflow" @str.bX = internal constant [12 x i8] c"InvalidDigit" @str.bY = internal constant [54 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/ops.rs" @panic_loc.bZ = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.bY, i32 0, i32 0), i16 54 }, i32 263 }, align 4 @panic_loc.c0 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.bY, i32 0, i32 0), i16 54 }, i32 336 }, align 4 @panic_loc.c1 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.1f, i32 0, i32 0), i16 25 }, %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.bY, i32 0, i32 0), i16 54 }, i32 587 }, align 4 @panic_loc.c2 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.1h, i32 0, i32 0), i16 57 }, %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.bY, i32 0, i32 0), i16 54 }, i32 666 }, align 4 @str.c3 = internal constant [2 x i8] c".." @ref.c4 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.c3, i32 0, i32 0), i16 2 }], align 2 @ref.c5 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.c3, i32 0, i32 0), i16 2 }], align 2 @str.c6 = internal constant [3 x i8] c"..." @ref.c7 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @str.c6, i32 0, i32 0), i16 3 }], align 2 @str.c8 = internal constant [7 x i8] c"Greater" @str.c9 = internal constant [5 x i8] c"Equal" @str.ca = internal constant [4 x i8] c"Less" @str.cb = internal constant [6 x i8] c"TypeId" @str.cc = internal constant [1 x i8] c"t" @str.cd = internal constant [15 x i8] c"__Nonexhaustive" @str.ce = internal constant [6 x i8] c"SeqCst" @str.cf = internal constant [6 x i8] c"AcqRel" @str.cg = internal constant [7 x i8] c"Acquire" @str.ch = internal constant [7 x i8] c"Release" @str.ci = internal constant [7 x i8] c"Relaxed" @str.cj = internal constant [8 x i8] c"AtomicI8" @vtable.ck = internal unnamed_addr constant { void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* } { void (i8*)* @_ZN4core3ptr13drop_in_place17hf44d9b805d2410e2E, i16 1, i16 1, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i8$GT$3fmt17ha8cb49c8b8a2202cE" }, align 8 @str.cl = internal constant [8 x i8] c"AtomicU8" @vtable.cm = internal unnamed_addr constant { void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* } { void (i8*)* @_ZN4core3ptr13drop_in_place17h3edf7dc84500d28fE, i16 1, i16 1, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u8$GT$3fmt17hc9485a28da9d8db0E" }, align 8 @str.cn = internal constant [9 x i8] c"AtomicI16" @vtable.co = internal unnamed_addr constant { void (i16*)*, i16, i16, i8 (i16*, %"fmt::Formatter"*)* } { void (i16*)* @_ZN4core3ptr13drop_in_place17h6f13437005164652E, i16 2, i16 2, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i16$GT$3fmt17hcc604328e0447177E" }, align 8 @str.cp = internal constant [9 x i8] c"AtomicU16" @vtable.cq = internal unnamed_addr constant { void (i16*)*, i16, i16, i8 (i16*, %"fmt::Formatter"*)* } { void (i16*)* @_ZN4core3ptr13drop_in_place17h54f101d392d9afe3E, i16 2, i16 2, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u16$GT$3fmt17he77858b6931c345fE" }, align 8 @str.cr = internal constant [11 x i8] c"AtomicIsize" @vtable.cs = internal unnamed_addr constant { void (i16*)*, i16, i16, i8 (i16*, %"fmt::Formatter"*)* } { void (i16*)* @_ZN4core3ptr13drop_in_place17h4db4c6bab67306fcE, i16 2, i16 2, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$isize$GT$3fmt17h600858a2fe38fc4bE" }, align 8 @str.ct = internal constant [11 x i8] c"AtomicUsize" @str.cu = internal constant [42 x i8] c"there is no such thing as an acquire store" @str.cv = internal constant [62 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/sync/atomic.rs" @str.cw = internal constant [50 x i8] c"there is no such thing as an acquire/release store" @str.cx = internal constant [23 x i8] c"invalid memory ordering" @str.cy = internal constant [40 x i8] c"there is no such thing as a release load" @str.cz = internal constant [49 x i8] c"there is no such thing as an acquire/release load" @str.cA = internal constant [61 x i8] c"there is no such thing as an acquire/release failure ordering" @str.cB = internal constant [52 x i8] c"there is no such thing as a release failure ordering" @str.cC = internal constant [60 x i8] c"a failure ordering can't be stronger than a success ordering" @str.cD = internal constant [41 x i8] c"there is no such thing as a relaxed fence" @str.cE = internal constant [6 x i8] c"Unused" @str.cF = internal constant [7 x i8] c"Writing" @str.cG = internal constant [7 x i8] c"Reading" @str.cH = internal constant [45 x i8] c"assertion failed: self.borrow.get() == UNUSED" @str.cI = internal constant [55 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/cell.rs" @str.cJ = internal constant [55 x i8] c"assertion failed: borrow != WRITING && borrow != UNUSED" @str.cK = internal constant [34 x i8] c"assertion failed: borrow != UNUSED" @str.cL = internal constant [35 x i8] c"assertion failed: borrow != WRITING" @str.cM = internal constant [35 x i8] c"assertion failed: borrow == WRITING" @str.cN = internal constant [16 x i8] c"CharTryFromError" @str.cO = internal constant [42 x i8] c"from_digit: radix is too high (maximum 36)" @str.cP = internal constant [40 x i8] c"to_digit: radix is too high (maximum 36)" @str.cQ = internal constant [18 x i8] c"encode_utf8: need " @str.cR = internal constant [19 x i8] c" bytes to encode U+" @str.cS = internal constant [21 x i8] c", but the buffer has " @ref.cT = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([18 x i8], [18 x i8]* @str.cQ, i32 0, i32 0), i16 18 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str.cR, i32 0, i32 0), i16 19 }, %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str.cS, i32 0, i32 0), i16 21 }], align 2 @str.cU = internal constant [19 x i8] c"encode_utf16: need " @str.cV = internal constant [19 x i8] c" units to encode U+" @ref.cW = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str.cU, i32 0, i32 0), i16 19 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str.cV, i32 0, i32 0), i16 19 }, %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str.cS, i32 0, i32 0), i16 21 }], align 2 @str.cX = internal constant [13 x i8] c"EscapeUnicode" @str.cY = internal constant [1 x i8] c"c" @str.cZ = internal constant [5 x i8] c"state" @vtable.d0 = internal unnamed_addr constant { void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* } { void (i8**)* @_ZN4core3ptr13drop_in_place17h71e86f835c535c77E, i16 2, i16 2, i8 (i8**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hdec4212963da18ecE" }, align 8 @str.d1 = internal constant [13 x i8] c"hex_digit_idx" @str.d2 = internal constant [9 x i8] c"Backslash" @str.d3 = internal constant [4 x i8] c"Type" @str.d4 = internal constant [9 x i8] c"LeftBrace" @str.d5 = internal constant [5 x i8] c"Value" @str.d6 = internal constant [10 x i8] c"RightBrace" @str.d7 = internal constant [4 x i8] c"Done" @str.d8 = internal constant [13 x i8] c"EscapeDefault" @vtable.d9 = internal unnamed_addr constant { void (%"char::EscapeDefaultState"**)*, i16, i16, i8 (%"char::EscapeDefaultState"**, %"fmt::Formatter"*)* } { void (%"char::EscapeDefaultState"**)* @_ZN4core3ptr13drop_in_place17h4f5faf0dbde596c6E, i16 2, i16 2, i8 (%"char::EscapeDefaultState"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h60da0c873e70a85aE" }, align 8 @str.da = internal constant [7 x i8] c"Unicode" @vtable.db = internal unnamed_addr constant { void (%"char::EscapeUnicode"**)*, i16, i16, i8 (%"char::EscapeUnicode"**, %"fmt::Formatter"*)* } { void (%"char::EscapeUnicode"**)* @_ZN4core3ptr13drop_in_place17h0a4bbb56f1ab7f4fE, i16 2, i16 2, i8 (%"char::EscapeUnicode"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6731735a6e9ca86bE" }, align 8 @str.dc = internal constant [4 x i8] c"Char" @str.dd = internal constant [11 x i8] c"EscapeDebug" @vtable.de = internal unnamed_addr constant { void (%"char::EscapeDefault"**)*, i16, i16, i8 (%"char::EscapeDefault"**, %"fmt::Formatter"*)* } { void (%"char::EscapeDefault"**)* @_ZN4core3ptr13drop_in_place17h2c8fb4e90906200fE, i16 2, i16 2, i8 (%"char::EscapeDefault"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h07c0203af6558673E" }, align 8 @str.df = internal constant [15 x i8] c"InvalidSequence" @str.dg = internal constant [32 x i8] c"index out of bounds: the len is " @str.dh = internal constant [18 x i8] c" but the index is " @ref.di = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str.dg, i32 0, i32 0), i16 32 }, %str_slice { i8* getelementptr inbounds ([18 x i8], [18 x i8]* @str.dh, i32 0, i32 0), i16 18 }], align 2 @str.dj = internal constant [62 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/iter/traits.rs" @str.dk = internal constant [6 x i8] c"Cloned" @str.dl = internal constant [2 x i8] c"it" @vtable.dm = internal unnamed_addr constant { void (%"slice::Iter"**)*, i16, i16, i8 (%"slice::Iter"**, %"fmt::Formatter"*)* } { void (%"slice::Iter"**)* @_ZN4core3ptr13drop_in_place17h299759c86f915ff9E, i16 2, i16 2, i8 (%"slice::Iter"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h8fd42b272e3a069cE" }, align 8 @str.dn = internal constant [4 x i8] c"Back" @str.do = internal constant [5 x i8] c"Front" @str.dp = internal constant [4 x i8] c"Both" @str.dq = internal constant [40 x i8] c"internal error: entered unreachable code" @str.dr = internal constant [4 x i8] c"Some" @str.ds = internal constant [4 x i8] c"None" @str.dt = internal constant [43 x i8] c"called `Option::unwrap()` on a `None` value" @str.du = internal constant [57 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/option.rs" @str.dv = internal constant [57 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/result.rs" @str.dw = internal constant [2 x i8] c": " @ref.dx = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.dw, i32 0, i32 0), i16 2 }], align 2 @str.dy = internal constant [41 x i8] c"assertion failed: mem::size_of::() > 0" @str.dz = internal constant [61 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/slice/sort.rs" @str.dA = internal constant [54 x i8] c"assertion failed: block_l <= BLOCK && block_r <= BLOCK" @str.dB = internal constant [50 x i8] c"assertion failed: width(l, r) == block_l + block_r" @str.dC = internal constant [27 x i8] c"assertion failed: size != 0" @str.dD = internal constant [28 x i8] c"assertion failed: mid <= len" @str.dE = internal constant [32 x i8] c"assertion failed: chunk_size > 0" @str.dF = internal constant [52 x i8] c"destination and source slices have different lengths" @str.dG = internal constant [6 x i8] c"index " @str.dH = internal constant [34 x i8] c" out of range for slice of length " @ref.dI = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str.dG, i32 0, i32 0), i16 6 }, %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.dH, i32 0, i32 0), i16 34 }], align 2 @str.dJ = internal constant [22 x i8] c"slice index starts at " @str.dK = internal constant [13 x i8] c" but ends at " @ref.dL = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str.dJ, i32 0, i32 0), i16 22 }, %str_slice { i8* getelementptr inbounds ([13 x i8], [13 x i8]* @str.dK, i32 0, i32 0), i16 13 }], align 2 @str.dM = internal constant [44 x i8] c"attempted to index slice up to maximum usize" @panic_loc.dN = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6u, i32 0, i32 0), i16 60 }, i32 1166 }, align 4 @str.dO = internal constant [6 x i8] c"Reject" @str.dP = internal constant [5 x i8] c"Match" @str.dQ = internal constant [14 x i8] c"CharEqSearcher" @str.dR = internal constant [7 x i8] c"char_eq" @str.dS = internal constant [8 x i8] c"haystack" @vtable.dT = internal unnamed_addr constant { void (%str_slice**)*, i16, i16, i8 (%str_slice**, %"fmt::Formatter"*)* } { void (%str_slice**)* @_ZN4core3ptr13drop_in_place17h98a4dd788bdb6051E, i16 2, i16 2, i8 (%str_slice**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4fd55fd4623c1a54E" }, align 8 @str.dU = internal constant [12 x i8] c"char_indices" @vtable.dV = internal unnamed_addr constant { void (%"str::CharIndices"**)*, i16, i16, i8 (%"str::CharIndices"**, %"fmt::Formatter"*)* } { void (%"str::CharIndices"**)* @_ZN4core3ptr13drop_in_place17hdd78443308a5b46fE, i16 2, i16 2, i8 (%"str::CharIndices"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h02adb0908191972eE" }, align 8 @str.dW = internal constant [10 x i8] c"ascii_only" @vtable.dX = internal unnamed_addr constant { void ({ i32*, i16 }**)*, i16, i16, i8 ({ i32*, i16 }**, %"fmt::Formatter"*)* } { void ({ i32*, i16 }**)* @_ZN4core3ptr13drop_in_place17hd42fe86687354441E, i16 2, i16 2, i8 ({ i32*, i16 }**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h24fc3e1522fb664eE" }, align 8 @str.dY = internal constant [12 x i8] c"CharSearcher" @vtable.dZ = internal unnamed_addr constant { void (%"str::pattern::CharEqSearcher"**)*, i16, i16, i8 (%"str::pattern::CharEqSearcher"**, %"fmt::Formatter"*)* } { void (%"str::pattern::CharEqSearcher"**)* @_ZN4core3ptr13drop_in_place17h99cedba5e554a722E, i16 2, i16 2, i8 (%"str::pattern::CharEqSearcher"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h040c345661acf167E" }, align 8 @str.e0 = internal constant [17 x i8] c"CharSliceSearcher" @vtable.e1 = internal unnamed_addr constant { void (%"str::pattern::CharEqSearcher<&[char]>"**)*, i16, i16, i8 (%"str::pattern::CharEqSearcher<&[char]>"**, %"fmt::Formatter"*)* } { void (%"str::pattern::CharEqSearcher<&[char]>"**)* @_ZN4core3ptr13drop_in_place17h044c8ccaa45a3387E, i16 2, i16 2, i8 (%"str::pattern::CharEqSearcher<&[char]>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h8607aeeda06719dcE" }, align 8 @str.e2 = internal constant [11 x i8] c"StrSearcher" @str.e3 = internal constant [6 x i8] c"needle" @str.e4 = internal constant [8 x i8] c"searcher" @vtable.e5 = internal unnamed_addr constant { void (%"str::pattern::StrSearcherImpl"**)*, i16, i16, i8 (%"str::pattern::StrSearcherImpl"**, %"fmt::Formatter"*)* } { void (%"str::pattern::StrSearcherImpl"**)* @_ZN4core3ptr13drop_in_place17h8c952be3dd68a860E, i16 2, i16 2, i8 (%"str::pattern::StrSearcherImpl"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4bd5cbb0a4c6993fE" }, align 8 @str.e6 = internal constant [6 x i8] c"TwoWay" @vtable.e7 = internal unnamed_addr constant { void (%"str::pattern::TwoWaySearcher"**)*, i16, i16, i8 (%"str::pattern::TwoWaySearcher"**, %"fmt::Formatter"*)* } { void (%"str::pattern::TwoWaySearcher"**)* @_ZN4core3ptr13drop_in_place17h0f68554354844ee5E, i16 2, i16 2, i8 (%"str::pattern::TwoWaySearcher"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h5bfe5dfea651b483E" }, align 8 @vtable.e8 = internal unnamed_addr constant { void (%"str::pattern::EmptyNeedle"**)*, i16, i16, i8 (%"str::pattern::EmptyNeedle"**, %"fmt::Formatter"*)* } { void (%"str::pattern::EmptyNeedle"**)* @_ZN4core3ptr13drop_in_place17h79e86f69378fb7a6E, i16 2, i16 2, i8 (%"str::pattern::EmptyNeedle"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h476f9150a77a9f7dE" }, align 8 @str.e9 = internal constant [11 x i8] c"EmptyNeedle" @str.ea = internal constant [8 x i8] c"position" @str.eb = internal constant [11 x i8] c"is_match_fw" @str.ec = internal constant [11 x i8] c"is_match_bw" @str.ed = internal constant [14 x i8] c"TwoWaySearcher" @str.ee = internal constant [8 x i8] c"crit_pos" @str.ef = internal constant [13 x i8] c"crit_pos_back" @str.eg = internal constant [6 x i8] c"period" @str.eh = internal constant [7 x i8] c"byteset" @str.ei = internal constant [6 x i8] c"memory" @str.ej = internal constant [11 x i8] c"memory_back" @str.ek = internal constant [40 x i8] c"assertion failed: period <= known_period" @str.el = internal constant [14 x i8] c"ParseBoolError" @str.em = internal constant [5 x i8] c"_priv" @str.en = internal constant [9 x i8] c"Utf8Error" @str.eo = internal constant [11 x i8] c"valid_up_to" @str.ep = internal constant [9 x i8] c"error_len" @vtable.eq = internal unnamed_addr constant { void (%"option::Option"**)*, i16, i16, i8 (%"option::Option"**, %"fmt::Formatter"*)* } { void (%"option::Option"**)* @_ZN4core3ptr13drop_in_place17h7126bdd384aaa042E, i16 2, i16 2, i8 (%"option::Option"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h114eaef0ac3795d8E" }, align 8 @str.er = internal constant [26 x i8] c"invalid utf-8 sequence of " @str.es = internal constant [18 x i8] c" bytes from index " @ref.et = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str.er, i32 0, i32 0), i16 26 }, %str_slice { i8* getelementptr inbounds ([18 x i8], [18 x i8]* @str.es, i32 0, i32 0), i16 18 }], align 2 @str.eu = internal constant [42 x i8] c"incomplete utf-8 byte sequence from index " @ref.ev = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.eu, i32 0, i32 0), i16 42 }], align 2 @str.ew = internal constant [5 x i8] c"Chars" @str.ex = internal constant [11 x i8] c"CharIndices" @str.ey = internal constant [12 x i8] c"front_offset" @vtable.ez = internal unnamed_addr constant { void (%"str::Chars"**)*, i16, i16, i8 (%"str::Chars"**, %"fmt::Formatter"*)* } { void (%"str::Chars"**)* @_ZN4core3ptr13drop_in_place17he8e6190b066af60aE, i16 2, i16 2, i8 (%"str::Chars"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h43b116534b6a1d9cE" }, align 8 @str.eA = internal constant [5 x i8] c"Bytes" @vtable.eB = internal unnamed_addr constant { void (%"iter::Cloned>"**)*, i16, i16, i8 (%"iter::Cloned>"**, %"fmt::Formatter"*)* } { void (%"iter::Cloned>"**)* @_ZN4core3ptr13drop_in_place17ha0305c6f79d36915E, i16 2, i16 2, i8 (%"iter::Cloned>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hd858bf7f4fba14b0E" }, align 8 @str.eC = internal constant [15 x i8] c"SplitTerminator" @vtable.eD = internal unnamed_addr constant { void (%"str::SplitInternal"*)*, i16, i16, i8 (%"str::SplitInternal"*, %"fmt::Formatter"*)* } { void (%"str::SplitInternal"*)* @_ZN4core3ptr13drop_in_place17hfdf9d929d4470158E, i16 24, i16 4, i8 (%"str::SplitInternal"*, %"fmt::Formatter"*)* @"_ZN84_$LT$core..str..SplitInternal$LT$$u27$a$C$$u20$P$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h49def0b14b0d8c25E" }, align 8 @str.eE = internal constant [5 x i8] c"Lines" @vtable.eF = internal unnamed_addr constant { void (%"iter::Map, str::LinesAnyMap>"**)*, i16, i16, i8 (%"iter::Map, str::LinesAnyMap>"**, %"fmt::Formatter"*)* } { void (%"iter::Map, str::LinesAnyMap>"**)* @_ZN4core3ptr13drop_in_place17h928ed3fc531c3994E, i16 2, i16 2, i8 (%"iter::Map, str::LinesAnyMap>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h767707744d2ddfebE" }, align 8 @str.eG = internal constant [8 x i8] c"LinesAny" @vtable.eH = internal unnamed_addr constant { void (%"str::Lines"**)*, i16, i16, i8 (%"str::Lines"**, %"fmt::Formatter"*)* } { void (%"str::Lines"**)* @_ZN4core3ptr13drop_in_place17h98e619c6aed35484E, i16 2, i16 2, i8 (%"str::Lines"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h66f8980708eb626cE" }, align 8 @str.eI = internal constant [42 x i8] c"attempted to index str up to maximum usize" @str.eJ = internal constant [11 x i8] c"byte index " @str.eK = internal constant [22 x i8] c" is out of bounds of `" @str.eL = internal constant [1 x i8] c"`" @ref.eM = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([11 x i8], [11 x i8]* @str.eJ, i32 0, i32 0), i16 11 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str.eK, i32 0, i32 0), i16 22 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.eL, i32 0, i32 0), i16 1 }], align 2 @str.eN = internal constant [14 x i8] c"begin <= end (" @str.eO = internal constant [4 x i8] c" <= " @str.eP = internal constant [16 x i8] c") when slicing `" @ref.eQ = internal unnamed_addr constant [4 x %str_slice] [%str_slice { i8* getelementptr inbounds ([14 x i8], [14 x i8]* @str.eN, i32 0, i32 0), i16 14 }, %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str.eO, i32 0, i32 0), i16 4 }, %str_slice { i8* getelementptr inbounds ([16 x i8], [16 x i8]* @str.eP, i32 0, i32 0), i16 16 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.eL, i32 0, i32 0), i16 1 }], align 2 @str.eR = internal constant [38 x i8] c" is not a char boundary; it is inside " @str.eS = internal constant [8 x i8] c" (bytes " @str.eT = internal constant [6 x i8] c") of `" @ref.eU = internal unnamed_addr constant [5 x %str_slice] [%str_slice { i8* getelementptr inbounds ([11 x i8], [11 x i8]* @str.eJ, i32 0, i32 0), i16 11 }, %str_slice { i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str.eR, i32 0, i32 0), i16 38 }, %str_slice { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @str.eS, i32 0, i32 0), i16 8 }, %str_slice { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str.eT, i32 0, i32 0), i16 6 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.eL, i32 0, i32 0), i16 1 }], align 2 @str.eV = internal constant [11 x i8] c"SipHasher13" @str.eW = internal constant [6 x i8] c"hasher" @vtable.eX = internal unnamed_addr constant { void (%"hash::sip::Hasher"**)*, i16, i16, i8 (%"hash::sip::Hasher"**, %"fmt::Formatter"*)* } { void (%"hash::sip::Hasher"**)* @_ZN4core3ptr13drop_in_place17h6ea3c863116a2935E, i16 2, i16 2, i8 (%"hash::sip::Hasher"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h30d310258df22f26E" }, align 8 @str.eY = internal constant [11 x i8] c"SipHasher24" @vtable.eZ = internal unnamed_addr constant { void (%"hash::sip::Hasher"**)*, i16, i16, i8 (%"hash::sip::Hasher"**, %"fmt::Formatter"*)* } { void (%"hash::sip::Hasher"**)* @_ZN4core3ptr13drop_in_place17hf4ac7f061955524fE, i16 2, i16 2, i8 (%"hash::sip::Hasher"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h16dcbf5cbf3eb556E" }, align 8 @str.f0 = internal constant [9 x i8] c"SipHasher" @vtable.f1 = internal unnamed_addr constant { void (%"hash::sip::SipHasher24"**)*, i16, i16, i8 (%"hash::sip::SipHasher24"**, %"fmt::Formatter"*)* } { void (%"hash::sip::SipHasher24"**)* @_ZN4core3ptr13drop_in_place17h63d253a8832af655E, i16 2, i16 2, i8 (%"hash::sip::SipHasher24"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17ha455224a66cd9dceE" }, align 8 @str.f2 = internal constant [6 x i8] c"Hasher" @str.f3 = internal constant [2 x i8] c"k0" @str.f4 = internal constant [2 x i8] c"k1" @str.f5 = internal constant [6 x i8] c"length" @vtable.f6 = internal unnamed_addr constant { void (%"hash::sip::State"**)*, i16, i16, i8 (%"hash::sip::State"**, %"fmt::Formatter"*)* } { void (%"hash::sip::State"**)* @_ZN4core3ptr13drop_in_place17h78e86f9fb945c963E, i16 2, i16 2, i8 (%"hash::sip::State"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17ha2617f3974fd7eb8E" }, align 8 @str.f7 = internal constant [4 x i8] c"tail" @str.f8 = internal constant [5 x i8] c"ntail" @str.f9 = internal constant [7 x i8] c"_marker" @vtable.fa = internal unnamed_addr constant { void (%"marker::PhantomData"**)*, i16, i16, i8 (%"marker::PhantomData"**, %"fmt::Formatter"*)* } { void (%"marker::PhantomData"**)* @_ZN4core3ptr13drop_in_place17h878cf5dca04813c4E, i16 2, i16 2, i8 (%"marker::PhantomData"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h8aa282aa6b530220E" }, align 8 @vtable.fb = internal unnamed_addr constant { void (%"marker::PhantomData"**)*, i16, i16, i8 (%"marker::PhantomData"**, %"fmt::Formatter"*)* } { void (%"marker::PhantomData"**)* @_ZN4core3ptr13drop_in_place17h5c07a938296e1377E, i16 2, i16 2, i8 (%"marker::PhantomData"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h54bd37477622b536E" }, align 8 @str.fc = internal constant [5 x i8] c"State" @str.fd = internal constant [2 x i8] c"v0" @str.fe = internal constant [2 x i8] c"v2" @str.ff = internal constant [2 x i8] c"v1" @str.fg = internal constant [2 x i8] c"v3" @str.fh = internal constant [25 x i8] c"assertion failed: len < 8" @str.fi = internal constant [59 x i8] c"/home/dylan/projects/rust-lang/rust/src/libcore/hash/sip.rs" @str.fj = internal constant [64 x i8] c"assertion failed: start + i + mem::size_of::() <= buf.len()" @str.fk = internal constant [64 x i8] c"assertion failed: start + i + mem::size_of::() <= buf.len()" @str.fl = internal constant [32 x i8] c"assertion failed: msg.len() <= 8" @str.fm = internal constant [56 x i8] c"assertion failed: 0 + mem::size_of::() <= msg.len()" @str.fn = internal constant [56 x i8] c"assertion failed: i + mem::size_of::() <= msg.len()" @str.fo = internal constant [11 x i8] c"Sip13Rounds" @str.fp = internal constant [11 x i8] c"Sip24Rounds" @str.fq = internal constant [2 x i8] c"0b" @panic_loc.fr = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 137 }, align 4 @panic_loc.fs = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 130 }, align 4 @str.ft = internal constant [27 x i8] c"number not in the range 0.." @ref.fu = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.ft, i32 0, i32 0), i16 27 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.dw, i32 0, i32 0), i16 2 }], align 2 @str.fv = internal constant [2 x i8] c"0o" @panic_loc.fw = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 138 }, align 4 @panic_loc.fx = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 139 }, align 4 @str.fy = internal constant [2 x i8] c"0x" @panic_loc.fz = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 140 }, align 4 @panic_loc.fA = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 141 }, align 4 @panic_loc.fB = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 141 }, align 4 @panic_loc.fC = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 142 }, align 4 @panic_loc.fD = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 143 }, align 4 @panic_loc.fE = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 143 }, align 4 @byte_str.fF = internal unnamed_addr constant [200 x i8] c"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899", align 1 @panic_loc.fG = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.V, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 222 }, align 4 @str.fH = internal constant [48 x i8] c"attempt to calculate the remainder with overflow" @panic_loc.fI = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([48 x i8], [48 x i8]* @str.fH, i32 0, i32 0), i16 48 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 223 }, align 4 @panic_loc.fJ = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 224 }, align 4 @panic_loc.fK = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 226 }, align 4 @panic_loc.fL = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([48 x i8], [48 x i8]* @str.fH, i32 0, i32 0), i16 48 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 235 }, align 4 @panic_loc.fM = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.V, i32 0, i32 0), i16 31 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 236 }, align 4 @panic_loc.fN = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 237 }, align 4 @panic_loc.fO = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 243 }, align 4 @panic_loc.fP = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7, i32 0, i32 0), i16 28 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 244 }, align 4 @panic_loc.fQ = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 247 }, align 4 @panic_loc.fR = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.1, i32 0, i32 0), i16 33 }, %str_slice { i8* getelementptr inbounds ([58 x i8], [58 x i8]* @str.7J, i32 0, i32 0), i16 58 }, i32 254 }, align 4 @ref.fS = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.7Y, i32 0, i32 0), i16 1 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.dw, i32 0, i32 0), i16 2 }], align 2 @ref.fT = internal unnamed_addr constant { { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } } { { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } { { i16, i16 } { i16 1, i16 0 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } { i32 32, i8 3, [3 x i8] undef, i32 0, { i16, [2 x i8] } { i16 3, [2 x i8] undef }, { i16, [2 x i8] } { i16 3, [2 x i8] undef } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } { { i16, i16 } { i16 1, i16 1 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } { i32 32, i8 3, [3 x i8] undef, i32 0, { i16, [2 x i8] } { i16 3, [2 x i8] undef }, { i16, [2 x i8] } { i16 3, [2 x i8] undef } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } { { i16, i16 } { i16 1, i16 2 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } { i32 32, i8 3, [3 x i8] undef, i32 4, { i16, [2 x i8] } { i16 3, [2 x i8] undef }, { i16, [2 x i8] } { i16 3, [2 x i8] undef } } } }, align 4 @ref.fU = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.7W, i32 0, i32 0), i16 1 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.dw, i32 0, i32 0), i16 2 }], align 2 @ref.fV = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.7Y, i32 0, i32 0), i16 1 }], align 2 @ref.fW = internal unnamed_addr constant { { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } } { { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } { { i16, i16 } { i16 1, i16 0 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } { i32 32, i8 3, [3 x i8] undef, i32 0, { i16, [2 x i8] } { i16 3, [2 x i8] undef }, { i16, [2 x i8] } { i16 3, [2 x i8] undef } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } { { i16, i16 } { i16 1, i16 1 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } { i32 32, i8 3, [3 x i8] undef, i32 4, { i16, [2 x i8] } { i16 3, [2 x i8] undef }, { i16, [2 x i8] } { i16 3, [2 x i8] undef } } } }, align 4 @ref.fX = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }], align 2 @ref.fY = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }], align 2 @str.fZ = internal constant [1 x i8] c"{" @ref.g0 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.fZ, i32 0, i32 0), i16 1 }], align 2 @str.g1 = internal constant [1 x i8] c"[" @ref.g2 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.g1, i32 0, i32 0), i16 1 }], align 2 @ref.g3 = internal unnamed_addr constant { { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } } { { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } { { i16, i16 } { i16 1, i16 0 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } { i32 32, i8 3, [3 x i8] undef, i32 0, { i16, [2 x i8] } { i16 3, [2 x i8] undef }, { i16, [2 x i8] } { i16 3, [2 x i8] undef } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } { { i16, i16 } { i16 1, i16 1 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } { i32 32, i8 3, [3 x i8] undef, i32 4, { i16, [2 x i8] } { i16 3, [2 x i8] undef }, { i16, [2 x i8] } { i16 3, [2 x i8] undef } } }, { { i16, i16 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } } { { i16, i16 } { i16 1, i16 2 }, { i32, i8, [3 x i8], i32, { i16, [2 x i8] }, { i16, [2 x i8] } } { i32 32, i8 3, [3 x i8] undef, i32 4, { i16, [2 x i8] } { i16 3, [2 x i8] undef }, { i16, [2 x i8] } { i16 3, [2 x i8] undef } } } }, align 4 @ref.g4 = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.dw, i32 0, i32 0), i16 2 }], align 2 @ref.g5 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.83, i32 0, i32 0), i16 1 }], align 2 @str.g6 = internal constant [7 x i8] c"Unknown" @str.g7 = internal constant [6 x i8] c"Center" @str.g8 = internal constant [5 x i8] c"Right" @str.g9 = internal constant [4 x i8] c"Left" @str.ga = internal constant [5 x i8] c"Error" @ref.gb = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 }, %str_slice { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @str.c6, i32 0, i32 0), i16 3 }], align 2 @str.gc = internal constant [15 x i8] c"[empty range @ " @ref.gd = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([15 x i8], [15 x i8]* @str.gc, i32 0, i32 0), i16 15 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.86, i32 0, i32 0), i16 1 }], align 2 @str.ge = internal constant [60 x i8] c"from_str_radix_int: must lie in the range `[2, 36]` - found " @ref.gf = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.ge, i32 0, i32 0), i16 60 }], align 2 ; Function Attrs: inlinehint uwtable define internal float @"_ZN4core3f3250_$LT$impl$u20$core..num..Float$u20$for$u20$f32$GT$3nan17h44c77e48f089c7dfE"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret float 0x7FF8000000000000 } ; Function Attrs: inlinehint uwtable define internal float @"_ZN4core3f3250_$LT$impl$u20$core..num..Float$u20$for$u20$f32$GT$8infinity17h92a359cde5b26333E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret float 0x7FF0000000000000 } ; Function Attrs: uwtable define i8 @"_ZN4core3f3250_$LT$impl$u20$core..num..Float$u20$for$u20$f32$GT$8classify17hb609435157385d3aE"(float) unnamed_addr #1 { entry-block: %transmute_temp = alloca i32 %_5 = alloca { i32, i32 } %_0 = alloca i8 br label %start start: ; preds = %entry-block %1 = bitcast i32* %transmute_temp to float* store float %0, float* %1, align 4 %2 = load i32, i32* %transmute_temp br label %bb1 bb1: ; preds = %start %3 = and i32 %2, 8388607 %4 = and i32 %2, 2139095040 %5 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %_5, i32 0, i32 0 store i32 %3, i32* %5 %6 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %_5, i32 0, i32 1 store i32 %4, i32* %6 %7 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %_5, i32 0, i32 0 %8 = load i32, i32* %7 switch i32 %8, label %bb8 [ i32 0, label %bb7 ] bb2: ; preds = %bb7 store i8 2, i8* %_0 br label %bb10 bb3: ; preds = %bb8 store i8 3, i8* %_0 br label %bb10 bb4: ; preds = %bb9 store i8 1, i8* %_0 br label %bb10 bb5: ; preds = %bb9 store i8 0, i8* %_0 br label %bb10 bb6: ; preds = %bb8 store i8 4, i8* %_0 br label %bb10 bb7: ; preds = %bb1 %9 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %_5, i32 0, i32 1 %10 = load i32, i32* %9 switch i32 %10, label %bb8 [ i32 0, label %bb2 ] bb8: ; preds = %bb7, %bb1 %11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %_5, i32 0, i32 1 %12 = load i32, i32* %11 switch i32 %12, label %bb6 [ i32 0, label %bb3 i32 2139095040, label %bb9 ] bb9: ; preds = %bb8 %13 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %_5, i32 0, i32 0 %14 = load i32, i32* %13 switch i32 %14, label %bb5 [ i32 0, label %bb4 ] bb10: ; preds = %bb2, %bb3, %bb4, %bb5, %bb6 %15 = load i8, i8* %_0 ret i8 %15 } ; Function Attrs: uwtable define void @"_ZN4core3f3250_$LT$impl$u20$core..num..Float$u20$for$u20$f32$GT$14integer_decode17hd889309234d10bb5E"({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16), float) unnamed_addr #1 { entry-block: %transmute_temp = alloca i32 %mantissa = alloca i32 %exponent = alloca i16 %sign = alloca i8 br label %start start: ; preds = %entry-block %2 = bitcast i32* %transmute_temp to float* store float %1, float* %2, align 4 %3 = load i32, i32* %transmute_temp br label %bb1 bb1: ; preds = %start %4 = lshr i32 %3, 31 br label %bb2 bb2: ; preds = %bb1 %5 = icmp eq i32 %4, 0 br i1 %5, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 1, i8* %sign br label %bb5 bb4: ; preds = %bb2 store i8 -1, i8* %sign br label %bb5 bb5: ; preds = %bb4, %bb3 %6 = lshr i32 %3, 23 br label %bb6 bb6: ; preds = %bb5 %7 = and i32 %6, 255 %8 = trunc i32 %7 to i16 store i16 %8, i16* %exponent %9 = load i16, i16* %exponent %10 = icmp eq i16 %9, 0 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = and i32 %3, 8388607 %12 = shl i32 %11, 1 br label %bb9 bb8: ; preds = %bb6 %13 = and i32 %3, 8388607 %14 = or i32 %13, 8388608 store i32 %14, i32* %mantissa br label %bb10 bb9: ; preds = %bb7 store i32 %12, i32* %mantissa br label %bb10 bb10: ; preds = %bb8, %bb9 br label %bb11 bb11: ; preds = %bb10 %15 = load i16, i16* %exponent %16 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %15, i16 150) %17 = extractvalue { i16, i1 } %16, 0 %18 = extractvalue { i16, i1 } %16, 1 %19 = call i1 @llvm.expect.i1(i1 %18, i1 false) br i1 %19, label %panic, label %bb12 bb12: ; preds = %bb11 store i16 %17, i16* %exponent %20 = load i32, i32* %mantissa %21 = zext i32 %20 to i64 %22 = load i16, i16* %exponent %23 = load i8, i8* %sign %24 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %0, i32 0, i32 0 store i64 %21, i64* %24 %25 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %0, i32 0, i32 1 store i16 %22, i16* %25 %26 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %0, i32 0, i32 2 store i8 %23, i8* %26 ret void panic: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2) unreachable } ; Function Attrs: inlinehint uwtable define internal double @"_ZN4core3f6450_$LT$impl$u20$core..num..Float$u20$for$u20$f64$GT$3nan17h0e2c78c79ed279f6E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret double 0x7FF8000000000000 } ; Function Attrs: inlinehint uwtable define internal double @"_ZN4core3f6450_$LT$impl$u20$core..num..Float$u20$for$u20$f64$GT$8infinity17hb0182c0eed6a3a63E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret double 0x7FF0000000000000 } ; Function Attrs: uwtable define i8 @"_ZN4core3f6450_$LT$impl$u20$core..num..Float$u20$for$u20$f64$GT$8classify17h728b57eae53575ffE"(double) unnamed_addr #1 { entry-block: %transmute_temp = alloca i64 %_5 = alloca { i64, i64 } %_0 = alloca i8 br label %start start: ; preds = %entry-block %1 = bitcast i64* %transmute_temp to double* store double %0, double* %1, align 8 %2 = load i64, i64* %transmute_temp br label %bb1 bb1: ; preds = %start %3 = and i64 %2, 4503599627370495 %4 = and i64 %2, 9218868437227405312 %5 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_5, i32 0, i32 0 store i64 %3, i64* %5 %6 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_5, i32 0, i32 1 store i64 %4, i64* %6 %7 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_5, i32 0, i32 0 %8 = load i64, i64* %7 switch i64 %8, label %bb8 [ i64 0, label %bb7 ] bb2: ; preds = %bb7 store i8 2, i8* %_0 br label %bb10 bb3: ; preds = %bb8 store i8 3, i8* %_0 br label %bb10 bb4: ; preds = %bb9 store i8 1, i8* %_0 br label %bb10 bb5: ; preds = %bb9 store i8 0, i8* %_0 br label %bb10 bb6: ; preds = %bb8 store i8 4, i8* %_0 br label %bb10 bb7: ; preds = %bb1 %9 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_5, i32 0, i32 1 %10 = load i64, i64* %9 switch i64 %10, label %bb8 [ i64 0, label %bb2 ] bb8: ; preds = %bb7, %bb1 %11 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_5, i32 0, i32 1 %12 = load i64, i64* %11 switch i64 %12, label %bb6 [ i64 0, label %bb3 i64 9218868437227405312, label %bb9 ] bb9: ; preds = %bb8 %13 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_5, i32 0, i32 0 %14 = load i64, i64* %13 switch i64 %14, label %bb5 [ i64 0, label %bb4 ] bb10: ; preds = %bb2, %bb3, %bb4, %bb5, %bb6 %15 = load i8, i8* %_0 ret i8 %15 } ; Function Attrs: uwtable define void @"_ZN4core3f6450_$LT$impl$u20$core..num..Float$u20$for$u20$f64$GT$14integer_decode17h438dfbd3aa19248aE"({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16), double) unnamed_addr #1 { entry-block: %transmute_temp = alloca i64 %mantissa = alloca i64 %exponent = alloca i16 %sign = alloca i8 br label %start start: ; preds = %entry-block %2 = bitcast i64* %transmute_temp to double* store double %1, double* %2, align 8 %3 = load i64, i64* %transmute_temp br label %bb1 bb1: ; preds = %start %4 = lshr i64 %3, 63 br label %bb2 bb2: ; preds = %bb1 %5 = icmp eq i64 %4, 0 br i1 %5, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 1, i8* %sign br label %bb5 bb4: ; preds = %bb2 store i8 -1, i8* %sign br label %bb5 bb5: ; preds = %bb4, %bb3 %6 = lshr i64 %3, 52 br label %bb6 bb6: ; preds = %bb5 %7 = and i64 %6, 2047 %8 = trunc i64 %7 to i16 store i16 %8, i16* %exponent %9 = load i16, i16* %exponent %10 = icmp eq i16 %9, 0 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = and i64 %3, 4503599627370495 %12 = shl i64 %11, 1 br label %bb9 bb8: ; preds = %bb6 %13 = and i64 %3, 4503599627370495 %14 = or i64 %13, 4503599627370496 store i64 %14, i64* %mantissa br label %bb10 bb9: ; preds = %bb7 store i64 %12, i64* %mantissa br label %bb10 bb10: ; preds = %bb8, %bb9 br label %bb11 bb11: ; preds = %bb10 %15 = load i16, i16* %exponent %16 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %15, i16 1075) %17 = extractvalue { i16, i1 } %16, 0 %18 = extractvalue { i16, i1 } %16, 1 %19 = call i1 @llvm.expect.i1(i1 %18, i1 false) br i1 %19, label %panic, label %bb12 bb12: ; preds = %bb11 store i16 %17, i16* %exponent %20 = load i64, i64* %mantissa %21 = load i16, i16* %exponent %22 = load i8, i8* %sign %23 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %0, i32 0, i32 0 store i64 %20, i64* %23 %24 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %0, i32 0, i32 1 store i16 %21, i16* %24 %25 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %0, i32 0, i32 2 store i8 %22, i8* %25 ret void panic: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4) unreachable } ; Function Attrs: uwtable define i16 @_ZN4core3num7flt2dec9estimator23estimate_scaling_factor17h8fa174e95a860b54E(i64, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %0, i64 1) %3 = extractvalue { i64, i1 } %2, 0 %4 = extractvalue { i64, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb1 bb1: ; preds = %start %6 = call i32 @"_ZN4core3num21_$LT$impl$u20$u64$GT$13leading_zeros17hb8c3213f88d11a79E"(i64 %3) br label %bb2 bb2: ; preds = %bb1 %7 = zext i32 %6 to i64 %8 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 64, i64 %7) %9 = extractvalue { i64, i1 } %8, 0 %10 = extractvalue { i64, i1 } %8, 1 %11 = call i1 @llvm.expect.i1(i1 %10, i1 false) br i1 %11, label %panic1, label %bb3 bb3: ; preds = %bb2 %12 = sext i16 %1 to i64 %13 = call { i64, i1 } @llvm.sadd.with.overflow.i64(i64 %9, i64 %12) %14 = extractvalue { i64, i1 } %13, 0 %15 = extractvalue { i64, i1 } %13, 1 %16 = call i1 @llvm.expect.i1(i1 %15, i1 false) br i1 %16, label %panic2, label %bb4 bb4: ; preds = %bb3 %17 = call { i64, i1 } @llvm.smul.with.overflow.i64(i64 %14, i64 1292913986) %18 = extractvalue { i64, i1 } %17, 0 %19 = extractvalue { i64, i1 } %17, 1 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic3, label %bb5 bb5: ; preds = %bb4 %21 = ashr i64 %18, 32 br label %bb6 bb6: ; preds = %bb5 %22 = trunc i64 %21 to i16 ret i16 %22 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8) unreachable panic3: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.a) unreachable } ; Function Attrs: uwtable define float @"_ZN67_$LT$f32$u20$as$u20$core..num..flt2dec..decoder..DecodableFloat$GT$18min_pos_norm_value17h72eb169709824ae6E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret float 0x3810000000000000 } ; Function Attrs: uwtable define double @"_ZN67_$LT$f64$u20$as$u20$core..num..flt2dec..decoder..DecodableFloat$GT$18min_pos_norm_value17h1b79b74aae235c11E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret double 0x10000000000000 } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec7decoder6decode17h66ea56e5c322d6a8E({ i8, %"num::flt2dec::decoder::FullDecoded" }* noalias nocapture sret dereferenceable(48), float) unnamed_addr #1 { entry-block: %_42 = alloca %"num::flt2dec::decoder::FullDecoded" %_32 = alloca %"num::flt2dec::decoder::Decoded" %_24 = alloca %"num::flt2dec::decoder::Decoded" %minnorm = alloca { i64, i16, i8 } %_15 = alloca %"num::flt2dec::decoder::Decoded" %_12 = alloca i8 %decoded = alloca %"num::flt2dec::decoder::FullDecoded" %_6 = alloca { i64, i16, i8 } br label %start start: ; preds = %entry-block call void @_ZN4core3num7dec2flt5rawfp8RawFloat15integer_decode217h42ba21943640059aE({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16) %_6, float %1) br label %bb1 bb1: ; preds = %start %2 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %_6, i32 0, i32 0 %3 = load i64, i64* %2 %4 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %_6, i32 0, i32 1 %5 = load i16, i16* %4 %6 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %_6, i32 0, i32 2 %7 = load i8, i8* %6 %8 = and i64 %3, 1 %9 = icmp eq i64 %8, 0 %10 = call i8 @"_ZN4core3f3250_$LT$impl$u20$core..num..Float$u20$for$u20$f32$GT$8classify17hb609435157385d3aE"(float %1) store i8 %10, i8* %_12 br label %bb2 bb2: ; preds = %bb1 %11 = load i8, i8* %_12, !range !0 %12 = zext i8 %11 to i16 switch i16 %12, label %bb7 [ i16 0, label %bb3 i16 1, label %bb4 i16 2, label %bb5 i16 3, label %bb6 ] bb3: ; preds = %bb2 %13 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %decoded, i32 0, i32 0 store i64 0, i64* %13 br label %bb8 bb4: ; preds = %bb2 %14 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %decoded, i32 0, i32 0 store i64 1, i64* %14 br label %bb8 bb5: ; preds = %bb2 %15 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %decoded, i32 0, i32 0 store i64 2, i64* %15 br label %bb8 bb6: ; preds = %bb2 %16 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_15, i32 0, i32 0 store i64 %3, i64* %16 %17 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_15, i32 0, i32 1 store i64 1, i64* %17 %18 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_15, i32 0, i32 2 store i64 1, i64* %18 %19 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_15, i32 0, i32 3 store i16 %5, i16* %19 %20 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_15, i32 0, i32 4 %21 = zext i1 %9 to i8 store i8 %21, i8* %20 %22 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %decoded, i32 0, i32 0 store i64 3, i64* %22 %23 = bitcast %"num::flt2dec::decoder::FullDecoded"* %decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %24 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %23, i32 0, i32 1 %25 = bitcast %"num::flt2dec::decoder::Decoded"* %_15 to i8* %26 = bitcast %"num::flt2dec::decoder::Decoded"* %24 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %25, i16 32, i32 8, i1 false) br label %bb8 bb7: ; preds = %bb2 %27 = call float @"_ZN67_$LT$f32$u20$as$u20$core..num..flt2dec..decoder..DecodableFloat$GT$18min_pos_norm_value17h72eb169709824ae6E"() br label %bb9 bb8: ; preds = %bb3, %bb4, %bb5, %bb6, %bb17 %28 = icmp slt i8 %7, 0 %29 = bitcast %"num::flt2dec::decoder::FullDecoded"* %decoded to i8* %30 = bitcast %"num::flt2dec::decoder::FullDecoded"* %_42 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %29, i16 40, i32 8, i1 false) %31 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %0, i32 0, i32 0 %32 = zext i1 %28 to i8 store i8 %32, i8* %31 %33 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %0, i32 0, i32 1 %34 = bitcast %"num::flt2dec::decoder::FullDecoded"* %_42 to i8* %35 = bitcast %"num::flt2dec::decoder::FullDecoded"* %33 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %35, i8* %34, i16 40, i32 8, i1 false) ret void bb9: ; preds = %bb7 call void @_ZN4core3num7dec2flt5rawfp8RawFloat15integer_decode217h42ba21943640059aE({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16) %minnorm, float %27) br label %bb10 bb10: ; preds = %bb9 %36 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %minnorm, i32 0, i32 0 %37 = load i64, i64* %36 %38 = icmp eq i64 %3, %37 br i1 %38, label %bb11, label %bb12 bb11: ; preds = %bb10 %39 = shl i64 %3, 2 br label %bb13 bb12: ; preds = %bb10 %40 = shl i64 %3, 1 br label %bb15 bb13: ; preds = %bb11 %41 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %5, i16 2) %42 = extractvalue { i16, i1 } %41, 0 %43 = extractvalue { i16, i1 } %41, 1 %44 = call i1 @llvm.expect.i1(i1 %43, i1 false) br i1 %44, label %panic, label %bb14 bb14: ; preds = %bb13 %45 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_24, i32 0, i32 0 store i64 %39, i64* %45 %46 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_24, i32 0, i32 1 store i64 1, i64* %46 %47 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_24, i32 0, i32 2 store i64 2, i64* %47 %48 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_24, i32 0, i32 3 store i16 %42, i16* %48 %49 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_24, i32 0, i32 4 %50 = zext i1 %9 to i8 store i8 %50, i8* %49 %51 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %decoded, i32 0, i32 0 store i64 3, i64* %51 %52 = bitcast %"num::flt2dec::decoder::FullDecoded"* %decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %53 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %52, i32 0, i32 1 %54 = bitcast %"num::flt2dec::decoder::Decoded"* %_24 to i8* %55 = bitcast %"num::flt2dec::decoder::Decoded"* %53 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %55, i8* %54, i16 32, i32 8, i1 false) br label %bb17 bb15: ; preds = %bb12 %56 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %5, i16 1) %57 = extractvalue { i16, i1 } %56, 0 %58 = extractvalue { i16, i1 } %56, 1 %59 = call i1 @llvm.expect.i1(i1 %58, i1 false) br i1 %59, label %panic1, label %bb16 bb16: ; preds = %bb15 %60 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_32, i32 0, i32 0 store i64 %40, i64* %60 %61 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_32, i32 0, i32 1 store i64 1, i64* %61 %62 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_32, i32 0, i32 2 store i64 1, i64* %62 %63 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_32, i32 0, i32 3 store i16 %57, i16* %63 %64 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_32, i32 0, i32 4 %65 = zext i1 %9 to i8 store i8 %65, i8* %64 %66 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %decoded, i32 0, i32 0 store i64 3, i64* %66 %67 = bitcast %"num::flt2dec::decoder::FullDecoded"* %decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %68 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %67, i32 0, i32 1 %69 = bitcast %"num::flt2dec::decoder::Decoded"* %_32 to i8* %70 = bitcast %"num::flt2dec::decoder::Decoded"* %68 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %69, i16 32, i32 8, i1 false) br label %bb17 bb17: ; preds = %bb16, %bb14 br label %bb8 panic: ; preds = %bb13 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c) unreachable panic1: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.d) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec7decoder6decode17haf3ab329e2f330eeE({ i8, %"num::flt2dec::decoder::FullDecoded" }* noalias nocapture sret dereferenceable(48), double) unnamed_addr #1 { entry-block: %_42 = alloca %"num::flt2dec::decoder::FullDecoded" %_32 = alloca %"num::flt2dec::decoder::Decoded" %_24 = alloca %"num::flt2dec::decoder::Decoded" %minnorm = alloca { i64, i16, i8 } %_15 = alloca %"num::flt2dec::decoder::Decoded" %_12 = alloca i8 %decoded = alloca %"num::flt2dec::decoder::FullDecoded" %_6 = alloca { i64, i16, i8 } br label %start start: ; preds = %entry-block call void @_ZN4core3num7dec2flt5rawfp8RawFloat15integer_decode217h1257133cc87f568aE({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16) %_6, double %1) br label %bb1 bb1: ; preds = %start %2 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %_6, i32 0, i32 0 %3 = load i64, i64* %2 %4 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %_6, i32 0, i32 1 %5 = load i16, i16* %4 %6 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %_6, i32 0, i32 2 %7 = load i8, i8* %6 %8 = and i64 %3, 1 %9 = icmp eq i64 %8, 0 %10 = call i8 @"_ZN4core3f6450_$LT$impl$u20$core..num..Float$u20$for$u20$f64$GT$8classify17h728b57eae53575ffE"(double %1) store i8 %10, i8* %_12 br label %bb2 bb2: ; preds = %bb1 %11 = load i8, i8* %_12, !range !0 %12 = zext i8 %11 to i16 switch i16 %12, label %bb7 [ i16 0, label %bb3 i16 1, label %bb4 i16 2, label %bb5 i16 3, label %bb6 ] bb3: ; preds = %bb2 %13 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %decoded, i32 0, i32 0 store i64 0, i64* %13 br label %bb8 bb4: ; preds = %bb2 %14 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %decoded, i32 0, i32 0 store i64 1, i64* %14 br label %bb8 bb5: ; preds = %bb2 %15 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %decoded, i32 0, i32 0 store i64 2, i64* %15 br label %bb8 bb6: ; preds = %bb2 %16 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_15, i32 0, i32 0 store i64 %3, i64* %16 %17 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_15, i32 0, i32 1 store i64 1, i64* %17 %18 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_15, i32 0, i32 2 store i64 1, i64* %18 %19 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_15, i32 0, i32 3 store i16 %5, i16* %19 %20 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_15, i32 0, i32 4 %21 = zext i1 %9 to i8 store i8 %21, i8* %20 %22 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %decoded, i32 0, i32 0 store i64 3, i64* %22 %23 = bitcast %"num::flt2dec::decoder::FullDecoded"* %decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %24 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %23, i32 0, i32 1 %25 = bitcast %"num::flt2dec::decoder::Decoded"* %_15 to i8* %26 = bitcast %"num::flt2dec::decoder::Decoded"* %24 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %25, i16 32, i32 8, i1 false) br label %bb8 bb7: ; preds = %bb2 %27 = call double @"_ZN67_$LT$f64$u20$as$u20$core..num..flt2dec..decoder..DecodableFloat$GT$18min_pos_norm_value17h1b79b74aae235c11E"() br label %bb9 bb8: ; preds = %bb3, %bb4, %bb5, %bb6, %bb17 %28 = icmp slt i8 %7, 0 %29 = bitcast %"num::flt2dec::decoder::FullDecoded"* %decoded to i8* %30 = bitcast %"num::flt2dec::decoder::FullDecoded"* %_42 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %29, i16 40, i32 8, i1 false) %31 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %0, i32 0, i32 0 %32 = zext i1 %28 to i8 store i8 %32, i8* %31 %33 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %0, i32 0, i32 1 %34 = bitcast %"num::flt2dec::decoder::FullDecoded"* %_42 to i8* %35 = bitcast %"num::flt2dec::decoder::FullDecoded"* %33 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %35, i8* %34, i16 40, i32 8, i1 false) ret void bb9: ; preds = %bb7 call void @_ZN4core3num7dec2flt5rawfp8RawFloat15integer_decode217h1257133cc87f568aE({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16) %minnorm, double %27) br label %bb10 bb10: ; preds = %bb9 %36 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %minnorm, i32 0, i32 0 %37 = load i64, i64* %36 %38 = icmp eq i64 %3, %37 br i1 %38, label %bb11, label %bb12 bb11: ; preds = %bb10 %39 = shl i64 %3, 2 br label %bb13 bb12: ; preds = %bb10 %40 = shl i64 %3, 1 br label %bb15 bb13: ; preds = %bb11 %41 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %5, i16 2) %42 = extractvalue { i16, i1 } %41, 0 %43 = extractvalue { i16, i1 } %41, 1 %44 = call i1 @llvm.expect.i1(i1 %43, i1 false) br i1 %44, label %panic, label %bb14 bb14: ; preds = %bb13 %45 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_24, i32 0, i32 0 store i64 %39, i64* %45 %46 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_24, i32 0, i32 1 store i64 1, i64* %46 %47 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_24, i32 0, i32 2 store i64 2, i64* %47 %48 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_24, i32 0, i32 3 store i16 %42, i16* %48 %49 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_24, i32 0, i32 4 %50 = zext i1 %9 to i8 store i8 %50, i8* %49 %51 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %decoded, i32 0, i32 0 store i64 3, i64* %51 %52 = bitcast %"num::flt2dec::decoder::FullDecoded"* %decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %53 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %52, i32 0, i32 1 %54 = bitcast %"num::flt2dec::decoder::Decoded"* %_24 to i8* %55 = bitcast %"num::flt2dec::decoder::Decoded"* %53 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %55, i8* %54, i16 32, i32 8, i1 false) br label %bb17 bb15: ; preds = %bb12 %56 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %5, i16 1) %57 = extractvalue { i16, i1 } %56, 0 %58 = extractvalue { i16, i1 } %56, 1 %59 = call i1 @llvm.expect.i1(i1 %58, i1 false) br i1 %59, label %panic1, label %bb16 bb16: ; preds = %bb15 %60 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_32, i32 0, i32 0 store i64 %40, i64* %60 %61 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_32, i32 0, i32 1 store i64 1, i64* %61 %62 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_32, i32 0, i32 2 store i64 1, i64* %62 %63 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_32, i32 0, i32 3 store i16 %57, i16* %63 %64 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %_32, i32 0, i32 4 %65 = zext i1 %9 to i8 store i8 %65, i8* %64 %66 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %decoded, i32 0, i32 0 store i64 3, i64* %66 %67 = bitcast %"num::flt2dec::decoder::FullDecoded"* %decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %68 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %67, i32 0, i32 1 %69 = bitcast %"num::flt2dec::decoder::Decoded"* %_32 to i8* %70 = bitcast %"num::flt2dec::decoder::Decoded"* %68 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %69, i16 32, i32 8, i1 false) br label %bb17 bb17: ; preds = %bb16, %bb14 br label %bb8 panic: ; preds = %bb13 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c) unreachable panic1: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.d) unreachable } ; Function Attrs: uwtable define dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017h6188a5c336b5a2f1E(%"num::bignum::Big32x40"* dereferenceable(164), i16) unnamed_addr #1 { entry-block: %_70 = alloca {} %_61 = alloca {} %_52 = alloca {} %_43 = alloca {} %_34 = alloca {} %_25 = alloca {} %_13 = alloca {} %_7 = alloca {} %_6 = alloca {} br label %start start: ; preds = %entry-block %2 = icmp ult i16 %1, 512 %3 = xor i1 %2, true br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1014_MSG_FILE_LINE17h7b0c18099756f542E) unreachable bb2: ; preds = %start %4 = and i16 %1, 7 %5 = icmp ne i16 %4, 0 br i1 %5, label %bb3, label %bb4 bb3: ; preds = %bb2 %6 = and i16 %1, 7 %7 = call dereferenceable(4) i32* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h56e0198429dc7869E"(i32* noalias nonnull readonly getelementptr inbounds ([10 x i32], [10 x i32]* @_ZN4core3num7flt2dec8strategy6dragon5POW1017h88e4df403f806749E, i32 0, i32 0), i16 10, i16 %6) br label %bb5 bb4: ; preds = %bb2 br label %bb7 bb5: ; preds = %bb3 %8 = load i32, i32* %7 %9 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %0, i32 %8) br label %bb6 bb6: ; preds = %bb5 br label %bb7 bb7: ; preds = %bb4, %bb6 %10 = and i16 %1, 8 %11 = icmp ne i16 %10, 0 br i1 %11, label %bb8, label %bb9 bb8: ; preds = %bb7 br label %bb10 bb9: ; preds = %bb7 br label %bb12 bb10: ; preds = %bb8 %12 = load i32, i32* getelementptr inbounds ([10 x i32], [10 x i32]* @_ZN4core3num7flt2dec8strategy6dragon5POW1017h88e4df403f806749E, i16 0, i16 8) %13 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %0, i32 %12) br label %bb11 bb11: ; preds = %bb10 br label %bb12 bb12: ; preds = %bb9, %bb11 %14 = and i16 %1, 16 %15 = icmp ne i16 %14, 0 br i1 %15, label %bb13, label %bb14 bb13: ; preds = %bb12 %16 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h944414df05bbbe83E(%"num::bignum::Big32x40"* dereferenceable(164) %0, i32* noalias nonnull readonly getelementptr inbounds ([2 x i32], [2 x i32]* @_ZN4core3num7flt2dec8strategy6dragon9POW10TO1617hbbbaf8d4d2f8dee2E, i32 0, i32 0), i16 2) br label %bb15 bb14: ; preds = %bb12 br label %bb16 bb15: ; preds = %bb13 br label %bb16 bb16: ; preds = %bb14, %bb15 %17 = and i16 %1, 32 %18 = icmp ne i16 %17, 0 br i1 %18, label %bb17, label %bb18 bb17: ; preds = %bb16 %19 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h944414df05bbbe83E(%"num::bignum::Big32x40"* dereferenceable(164) %0, i32* noalias nonnull readonly getelementptr inbounds ([4 x i32], [4 x i32]* @_ZN4core3num7flt2dec8strategy6dragon9POW10TO3217hc05c7eb5f1c0873eE, i32 0, i32 0), i16 4) br label %bb19 bb18: ; preds = %bb16 br label %bb20 bb19: ; preds = %bb17 br label %bb20 bb20: ; preds = %bb18, %bb19 %20 = and i16 %1, 64 %21 = icmp ne i16 %20, 0 br i1 %21, label %bb21, label %bb22 bb21: ; preds = %bb20 %22 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h944414df05bbbe83E(%"num::bignum::Big32x40"* dereferenceable(164) %0, i32* noalias nonnull readonly getelementptr inbounds ([7 x i32], [7 x i32]* @_ZN4core3num7flt2dec8strategy6dragon9POW10TO6417hf48ad9bb5ab58a53E, i32 0, i32 0), i16 7) br label %bb23 bb22: ; preds = %bb20 br label %bb24 bb23: ; preds = %bb21 br label %bb24 bb24: ; preds = %bb22, %bb23 %23 = and i16 %1, 128 %24 = icmp ne i16 %23, 0 br i1 %24, label %bb25, label %bb26 bb25: ; preds = %bb24 %25 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h944414df05bbbe83E(%"num::bignum::Big32x40"* dereferenceable(164) %0, i32* noalias nonnull readonly getelementptr inbounds ([14 x i32], [14 x i32]* @_ZN4core3num7flt2dec8strategy6dragon10POW10TO12817hfba59346df8e20f6E, i32 0, i32 0), i16 14) br label %bb27 bb26: ; preds = %bb24 br label %bb28 bb27: ; preds = %bb25 br label %bb28 bb28: ; preds = %bb26, %bb27 %26 = and i16 %1, 256 %27 = icmp ne i16 %26, 0 br i1 %27, label %bb29, label %bb30 bb29: ; preds = %bb28 %28 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h944414df05bbbe83E(%"num::bignum::Big32x40"* dereferenceable(164) %0, i32* noalias nonnull readonly getelementptr inbounds ([27 x i32], [27 x i32]* @_ZN4core3num7flt2dec8strategy6dragon10POW10TO25617he0be6d5e6cbb2939E, i32 0, i32 0), i16 27) br label %bb31 bb30: ; preds = %bb28 br label %bb32 bb31: ; preds = %bb29 br label %bb32 bb32: ; preds = %bb30, %bb31 ret %"num::bignum::Big32x40"* %0 } ; Function Attrs: uwtable define internal dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h10330b94303a76a5E(%"num::bignum::Big32x40"* dereferenceable(164), i16) unnamed_addr #1 { entry-block: %tmp_ret4 = alloca { %"num::bignum::Big32x40"*, i32 } %tmp_ret = alloca { %"num::bignum::Big32x40"*, i32 } %_15 = alloca {} %_11 = alloca {} %n = alloca i16 br label %start start: ; preds = %entry-block store i16 %1, i16* %n %2 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly getelementptr inbounds ([10 x i32], [10 x i32]* @_ZN4core3num7flt2dec8strategy6dragon5POW1017h88e4df403f806749E, i32 0, i32 0), i16 10) br label %bb1 bb1: ; preds = %start %3 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %2, i16 1) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb2 bb2: ; preds = %bb1 br label %bb3 bb3: ; preds = %bb8, %bb2 %7 = load i16, i16* %n %8 = icmp ugt i16 %7, %4 br i1 %8, label %bb5, label %bb4 bb4: ; preds = %bb3 %9 = load i16, i16* %n %10 = icmp ult i16 %9, 10 %11 = call i1 @llvm.expect.i1(i1 %10, i1 true) br i1 %11, label %bb9, label %panic3 bb5: ; preds = %bb3 %12 = icmp ult i16 %4, 10 %13 = call i1 @llvm.expect.i1(i1 %12, i1 true) br i1 %13, label %bb6, label %panic1 bb6: ; preds = %bb5 %14 = getelementptr inbounds [10 x i32], [10 x i32]* @_ZN4core3num7flt2dec8strategy6dragon5POW1017h88e4df403f806749E, i16 0, i16 %4 %15 = load i32, i32* %14 call void @_ZN4core3num6bignum8Big32x4013div_rem_small17h0ac24309684bb9e6E({ %"num::bignum::Big32x40"*, i32 }* noalias nocapture sret dereferenceable(8) %tmp_ret, %"num::bignum::Big32x40"* dereferenceable(164) %0, i32 %15) %16 = getelementptr inbounds { %"num::bignum::Big32x40"*, i32 }, { %"num::bignum::Big32x40"*, i32 }* %tmp_ret, i32 0, i32 0 %17 = getelementptr inbounds { %"num::bignum::Big32x40"*, i32 }, { %"num::bignum::Big32x40"*, i32 }* %tmp_ret, i32 0, i32 1 %18 = load %"num::bignum::Big32x40"*, %"num::bignum::Big32x40"** %16, !nonnull !1 %19 = load i32, i32* %17 br label %bb7 bb7: ; preds = %bb6 %20 = load i16, i16* %n %21 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %20, i16 %4) %22 = extractvalue { i16, i1 } %21, 0 %23 = extractvalue { i16, i1 } %21, 1 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic2, label %bb8 bb8: ; preds = %bb7 store i16 %22, i16* %n br label %bb3 bb9: ; preds = %bb4 %25 = getelementptr inbounds [10 x i32], [10 x i32]* @_ZN4core3num7flt2dec8strategy6dragon8TWOPOW1017haf496a5b962ad9b8E, i16 0, i16 %9 %26 = load i32, i32* %25 call void @_ZN4core3num6bignum8Big32x4013div_rem_small17h0ac24309684bb9e6E({ %"num::bignum::Big32x40"*, i32 }* noalias nocapture sret dereferenceable(8) %tmp_ret4, %"num::bignum::Big32x40"* dereferenceable(164) %0, i32 %26) %27 = getelementptr inbounds { %"num::bignum::Big32x40"*, i32 }, { %"num::bignum::Big32x40"*, i32 }* %tmp_ret4, i32 0, i32 0 %28 = getelementptr inbounds { %"num::bignum::Big32x40"*, i32 }, { %"num::bignum::Big32x40"*, i32 }* %tmp_ret4, i32 0, i32 1 %29 = load %"num::bignum::Big32x40"*, %"num::bignum::Big32x40"** %27, !nonnull !1 %30 = load i32, i32* %28 br label %bb10 bb10: ; preds = %bb9 ret %"num::bignum::Big32x40"* %0 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.f) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.g, i16 %4, i16 10) unreachable panic2: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.h) unreachable panic3: ; preds = %bb4 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.i, i16 %9, i16 10) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec8strategy6dragon15div_rem_upto_1617h13ec30b29ebf8ff0E({ i8, %"num::bignum::Big32x40"* }* noalias nocapture sret dereferenceable(4), %"num::bignum::Big32x40"* dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #1 { entry-block: %_45 = alloca {} %_44 = alloca {} %_36 = alloca {} %_28 = alloca {} %_20 = alloca {} %_12 = alloca {} %d = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %d %6 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %5) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %8 = load i8, i8* %d %9 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %8, i8 8) %10 = extractvalue { i8, i1 } %9, 0 %11 = extractvalue { i8, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic, label %bb5 bb5: ; preds = %bb4 store i8 %10, i8* %d br label %bb6 bb6: ; preds = %bb3, %bb5 %13 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %4) br label %bb7 bb7: ; preds = %bb6 br i1 %13, label %bb8, label %bb9 bb8: ; preds = %bb7 %14 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %4) br label %bb10 bb9: ; preds = %bb7 br label %bb12 bb10: ; preds = %bb8 %15 = load i8, i8* %d %16 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %15, i8 4) %17 = extractvalue { i8, i1 } %16, 0 %18 = extractvalue { i8, i1 } %16, 1 %19 = call i1 @llvm.expect.i1(i1 %18, i1 false) br i1 %19, label %panic1, label %bb11 bb11: ; preds = %bb10 store i8 %17, i8* %d br label %bb12 bb12: ; preds = %bb9, %bb11 %20 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %3) br label %bb13 bb13: ; preds = %bb12 br i1 %20, label %bb14, label %bb15 bb14: ; preds = %bb13 %21 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %3) br label %bb16 bb15: ; preds = %bb13 br label %bb18 bb16: ; preds = %bb14 %22 = load i8, i8* %d %23 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %22, i8 2) %24 = extractvalue { i8, i1 } %23, 0 %25 = extractvalue { i8, i1 } %23, 1 %26 = call i1 @llvm.expect.i1(i1 %25, i1 false) br i1 %26, label %panic2, label %bb17 bb17: ; preds = %bb16 store i8 %24, i8* %d br label %bb18 bb18: ; preds = %bb15, %bb17 %27 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %2) br label %bb19 bb19: ; preds = %bb18 br i1 %27, label %bb20, label %bb21 bb20: ; preds = %bb19 %28 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %2) br label %bb22 bb21: ; preds = %bb19 br label %bb24 bb22: ; preds = %bb20 %29 = load i8, i8* %d %30 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %29, i8 1) %31 = extractvalue { i8, i1 } %30, 0 %32 = extractvalue { i8, i1 } %30, 1 %33 = call i1 @llvm.expect.i1(i1 %32, i1 false) br i1 %33, label %panic3, label %bb23 bb23: ; preds = %bb22 store i8 %31, i8* %d br label %bb24 bb24: ; preds = %bb21, %bb23 %34 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h7d894440b0927409E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %2) br label %bb25 bb25: ; preds = %bb24 %35 = xor i1 %34, true br i1 %35, label %bb26, label %bb27 bb26: ; preds = %bb25 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon15div_rem_upto_1614_MSG_FILE_LINE17h2c34697c2fb6f717E) unreachable bb27: ; preds = %bb25 %36 = load i8, i8* %d %37 = getelementptr inbounds { i8, %"num::bignum::Big32x40"* }, { i8, %"num::bignum::Big32x40"* }* %0, i32 0, i32 0 store i8 %36, i8* %37 %38 = getelementptr inbounds { i8, %"num::bignum::Big32x40"* }, { i8, %"num::bignum::Big32x40"* }* %0, i32 0, i32 1 store %"num::bignum::Big32x40"* %1, %"num::bignum::Big32x40"** %38 ret void panic: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.j) unreachable panic1: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.k) unreachable panic2: ; preds = %bb16 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.l) unreachable panic3: ; preds = %bb22 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.m) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num7flt2dec8strategy6dragon15format_shortest17h0a14c12127ad9977E({ i16, i16 }* noalias nocapture sret dereferenceable(4), %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32), i8* nonnull, i16) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %tmp_ret = alloca { i8, %"num::bignum::Big32x40"* } %_215 = alloca %"option::Option" %_207 = alloca i8 %_205 = alloca i8 %_204 = alloca {} %_195 = alloca i8 %_194 = alloca {} %_189 = alloca %"num::bignum::Big32x40" %_184 = alloca i8 %_177 = alloca i8 %_163 = alloca {} %_162 = alloca {} %_149 = alloca {} %_148 = alloca {} %i = alloca i16 %scale8 = alloca %"num::bignum::Big32x40" %scale4 = alloca %"num::bignum::Big32x40" %scale2 = alloca %"num::bignum::Big32x40" %_121 = alloca %"num::bignum::Big32x40" %_116 = alloca i8 %_113 = alloca {} %_84 = alloca {} %_63 = alloca {} %scale = alloca %"num::bignum::Big32x40" %plus = alloca %"num::bignum::Big32x40" %minus = alloca %"num::bignum::Big32x40" %mant = alloca %"num::bignum::Big32x40" %k = alloca i16 %rounding = alloca i8 %_41 = alloca {} %_36 = alloca %"option::Option" %_32 = alloca {} %_27 = alloca %"option::Option" %_23 = alloca {} %_17 = alloca {} %_11 = alloca {} %_5 = alloca {} br label %start start: ; preds = %entry-block %4 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %5 = load i64, i64* %4 %6 = icmp ugt i64 %5, 0 %7 = xor i1 %6, true br i1 %7, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h8770de7f9c7583c0E) unreachable bb2: ; preds = %start %8 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 1 %9 = load i64, i64* %8 %10 = icmp ugt i64 %9, 0 %11 = xor i1 %10, true br i1 %11, label %bb3, label %bb4 bb3: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h84e4a5e6f67c7d5aE) unreachable bb4: ; preds = %bb2 %12 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 2 %13 = load i64, i64* %12 %14 = icmp ugt i64 %13, 0 %15 = xor i1 %14, true br i1 %15, label %bb5, label %bb6 bb5: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17ha5cf262bb40c1ba5E) unreachable bb6: ; preds = %bb4 %16 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %17 = load i64, i64* %16 %18 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 2 %19 = load i64, i64* %18 call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_add17h1f5f4b4c611a092eE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_27, i64 %17, i64 %19) br label %bb7 bb7: ; preds = %bb6 %20 = call zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_some17he122cfca64bbac8eE"(%"option::Option"* noalias readonly dereferenceable(16) %_27) br label %bb8 bb8: ; preds = %bb7 %21 = xor i1 %20, true br i1 %21, label %bb9, label %bb10 bb9: ; preds = %bb8 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h75f96d05a5287c9aE) unreachable bb10: ; preds = %bb8 %22 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %23 = load i64, i64* %22 %24 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 1 %25 = load i64, i64* %24 call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_sub17ha5a95dc30e2d585eE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_36, i64 %23, i64 %25) br label %bb11 bb11: ; preds = %bb10 %26 = call zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_some17he122cfca64bbac8eE"(%"option::Option"* noalias readonly dereferenceable(16) %_36) br label %bb12 bb12: ; preds = %bb11 %27 = xor i1 %26, true br i1 %27, label %bb13, label %bb14 bb13: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h0ed9268da3ad6611E) unreachable bb14: ; preds = %bb12 %28 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb15 bb15: ; preds = %bb14 %29 = icmp uge i16 %28, 17 %30 = xor i1 %29, true br i1 %30, label %bb16, label %bb17 bb16: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h5c59a6a9c3209c2fE) unreachable bb17: ; preds = %bb15 %31 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 4 %32 = load i8, i8* %31, !range !2 %33 = trunc i8 %32 to i1 br i1 %33, label %bb18, label %bb19 bb18: ; preds = %bb17 store i8 1, i8* %rounding br label %bb20 bb19: ; preds = %bb17 store i8 0, i8* %rounding br label %bb20 bb20: ; preds = %bb19, %bb18 %34 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %35 = load i64, i64* %34 %36 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 2 %37 = load i64, i64* %36 %38 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %35, i64 %37) %39 = extractvalue { i64, i1 } %38, 0 %40 = extractvalue { i64, i1 } %38, 1 %41 = call i1 @llvm.expect.i1(i1 %40, i1 false) br i1 %41, label %panic, label %bb21 bb21: ; preds = %bb20 %42 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %43 = load i16, i16* %42 %44 = call i16 @_ZN4core3num7flt2dec9estimator23estimate_scaling_factor17h8fa174e95a860b54E(i64 %39, i16 %43) store i16 %44, i16* %k br label %bb22 bb22: ; preds = %bb21 %45 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %46 = load i64, i64* %45 call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %mant, i64 %46) br label %bb23 bb23: ; preds = %bb22 %47 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 1 %48 = load i64, i64* %47 call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %minus, i64 %48) br label %bb24 bb24: ; preds = %bb23 %49 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 2 %50 = load i64, i64* %49 call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %plus, i64 %50) br label %bb25 bb25: ; preds = %bb24 call void @_ZN4core3num6bignum8Big32x4010from_small17h197cc74323061977E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %scale, i32 1) br label %bb26 bb26: ; preds = %bb25 %51 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %52 = load i16, i16* %51 %53 = icmp slt i16 %52, 0 br i1 %53, label %bb27, label %bb28 bb27: ; preds = %bb26 %54 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %55 = load i16, i16* %54 %56 = icmp eq i16 %55, -32768 %57 = call i1 @llvm.expect.i1(i1 %56, i1 false) br i1 %57, label %panic1, label %bb29 bb28: ; preds = %bb26 %58 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %59 = load i16, i16* %58 %60 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, i16 %59) br label %bb31 bb29: ; preds = %bb27 %61 = sub i16 0, %55 %62 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %scale, i16 %61) br label %bb30 bb30: ; preds = %bb29 br label %bb34 bb31: ; preds = %bb28 %63 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %64 = load i16, i16* %63 %65 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %minus, i16 %64) br label %bb32 bb32: ; preds = %bb31 %66 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %67 = load i16, i16* %66 %68 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %plus, i16 %67) br label %bb33 bb33: ; preds = %bb32 br label %bb34 bb34: ; preds = %bb33, %bb30 %69 = load i16, i16* %k %70 = icmp sge i16 %69, 0 br i1 %70, label %bb35, label %bb36 bb35: ; preds = %bb34 %71 = load i16, i16* %k %72 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017h6188a5c336b5a2f1E(%"num::bignum::Big32x40"* dereferenceable(164) %scale, i16 %71) br label %bb37 bb36: ; preds = %bb34 %73 = load i16, i16* %k %74 = icmp eq i16 %73, -32768 %75 = call i1 @llvm.expect.i1(i1 %74, i1 false) br i1 %75, label %panic2, label %bb38 bb37: ; preds = %bb35 br label %bb44 bb38: ; preds = %bb36 %76 = sub i16 0, %73 %77 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017h6188a5c336b5a2f1E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, i16 %76) br label %bb39 bb39: ; preds = %bb38 %78 = load i16, i16* %k %79 = icmp eq i16 %78, -32768 %80 = call i1 @llvm.expect.i1(i1 %79, i1 false) br i1 %80, label %panic3, label %bb40 bb40: ; preds = %bb39 %81 = sub i16 0, %78 %82 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017h6188a5c336b5a2f1E(%"num::bignum::Big32x40"* dereferenceable(164) %minus, i16 %81) br label %bb41 bb41: ; preds = %bb40 %83 = load i16, i16* %k %84 = icmp eq i16 %83, -32768 %85 = call i1 @llvm.expect.i1(i1 %84, i1 false) br i1 %85, label %panic4, label %bb42 bb42: ; preds = %bb41 %86 = sub i16 0, %83 %87 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017h6188a5c336b5a2f1E(%"num::bignum::Big32x40"* dereferenceable(164) %plus, i16 %86) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb43, %bb37 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_121, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %mant) br label %bb45 bb45: ; preds = %bb44 %88 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403add17h5f030b2daa3047deE(%"num::bignum::Big32x40"* dereferenceable(164) %_121, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %plus) br label %bb46 bb46: ; preds = %bb45 %89 = call i8 @"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h083638ebe80269f5E"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %88) store i8 %89, i8* %_116 br label %bb47 bb47: ; preds = %bb46 %90 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h940ecdcfb97b2e25E(i8* noalias readonly dereferenceable(1) %_116, i8* noalias readonly dereferenceable(1) %rounding) br label %bb48 bb48: ; preds = %bb47 br i1 %90, label %bb49, label %bb50 bb49: ; preds = %bb48 %91 = load i16, i16* %k %92 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %91, i16 1) %93 = extractvalue { i16, i1 } %92, 0 %94 = extractvalue { i16, i1 } %92, 1 %95 = call i1 @llvm.expect.i1(i1 %94, i1 false) br i1 %95, label %panic5, label %bb51 bb50: ; preds = %bb48 %96 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, i32 10) br label %bb52 bb51: ; preds = %bb49 store i16 %93, i16* %k br label %bb55 bb52: ; preds = %bb50 %97 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %minus, i32 10) br label %bb53 bb53: ; preds = %bb52 %98 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %plus, i32 10) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb51 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %scale2, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale) br label %bb56 bb56: ; preds = %bb55 %99 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %scale2, i16 1) br label %bb57 bb57: ; preds = %bb56 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %scale4, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale) br label %bb58 bb58: ; preds = %bb57 %100 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %scale4, i16 2) br label %bb59 bb59: ; preds = %bb58 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %scale8, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale) br label %bb60 bb60: ; preds = %bb59 %101 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %scale8, i16 3) br label %bb61 bb61: ; preds = %bb60 store i16 0, i16* %i br label %bb62 bb62: ; preds = %bb83, %bb61 call void @_ZN4core3num7flt2dec8strategy6dragon15div_rem_upto_1617h13ec30b29ebf8ff0E({ i8, %"num::bignum::Big32x40"* }* noalias nocapture sret dereferenceable(4) %tmp_ret, %"num::bignum::Big32x40"* dereferenceable(164) %mant, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale2, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale4, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale8) %102 = getelementptr inbounds { i8, %"num::bignum::Big32x40"* }, { i8, %"num::bignum::Big32x40"* }* %tmp_ret, i32 0, i32 0 %103 = getelementptr inbounds { i8, %"num::bignum::Big32x40"* }, { i8, %"num::bignum::Big32x40"* }* %tmp_ret, i32 0, i32 1 %104 = load i8, i8* %102 %105 = load %"num::bignum::Big32x40"*, %"num::bignum::Big32x40"** %103, !nonnull !1 br label %bb63 bb63: ; preds = %bb62 %106 = icmp ult i8 %104, 10 %107 = xor i1 %106, true br i1 %107, label %bb64, label %bb65 bb64: ; preds = %bb63 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17hb5b6e631c03044c5E) unreachable bb65: ; preds = %bb63 %108 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %104) %109 = extractvalue { i8, i1 } %108, 0 %110 = extractvalue { i8, i1 } %108, 1 %111 = call i1 @llvm.expect.i1(i1 %110, i1 false) br i1 %111, label %panic6, label %bb66 bb66: ; preds = %bb65 %112 = load i16, i16* %i %113 = icmp ult i16 %112, %3 %114 = call i1 @llvm.expect.i1(i1 %113, i1 true) br i1 %114, label %bb67, label %panic7 bb67: ; preds = %bb66 %115 = getelementptr inbounds i8, i8* %2, i16 %112 store i8 %109, i8* %115 %116 = load i16, i16* %i %117 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %116, i16 1) %118 = extractvalue { i16, i1 } %117, 0 %119 = extractvalue { i16, i1 } %117, 1 %120 = call i1 @llvm.expect.i1(i1 %119, i1 false) br i1 %120, label %panic8, label %bb68 bb68: ; preds = %bb67 store i16 %118, i16* %i %121 = call i8 @"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h083638ebe80269f5E"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %mant, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %minus) store i8 %121, i8* %_177 br label %bb69 bb69: ; preds = %bb68 %122 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h940ecdcfb97b2e25E(i8* noalias readonly dereferenceable(1) %_177, i8* noalias readonly dereferenceable(1) %rounding) br label %bb70 bb70: ; preds = %bb69 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_189, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %mant) br label %bb71 bb71: ; preds = %bb70 %123 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403add17h5f030b2daa3047deE(%"num::bignum::Big32x40"* dereferenceable(164) %_189, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %plus) br label %bb72 bb72: ; preds = %bb71 %124 = call i8 @"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h083638ebe80269f5E"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %123) store i8 %124, i8* %_184 br label %bb73 bb73: ; preds = %bb72 %125 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h940ecdcfb97b2e25E(i8* noalias readonly dereferenceable(1) %_184, i8* noalias readonly dereferenceable(1) %rounding) br label %bb74 bb74: ; preds = %bb73 br i1 %122, label %bb75, label %bb77 bb75: ; preds = %bb77, %bb74 store i8 1, i8* %_195 br label %bb78 bb76: ; preds = %bb77 store i8 0, i8* %_195 br label %bb78 bb77: ; preds = %bb74 br i1 %125, label %bb75, label %bb76 bb78: ; preds = %bb76, %bb75 %126 = load i8, i8* %_195, !range !2 %127 = trunc i8 %126 to i1 br i1 %127, label %bb79, label %bb80 bb79: ; preds = %bb78 br i1 %125, label %bb86, label %bb85 bb80: ; preds = %bb78 %128 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, i32 10) br label %bb81 bb81: ; preds = %bb80 %129 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %minus, i32 10) br label %bb82 bb82: ; preds = %bb81 %130 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %plus, i32 10) br label %bb83 bb83: ; preds = %bb82 br label %bb62 bb84: ; preds = %bb91 store i8 1, i8* %_205 br label %bb87 bb85: ; preds = %bb91, %bb79 store i8 0, i8* %_205 br label %bb87 bb86: ; preds = %bb79 %131 = xor i1 %122, true br i1 %131, label %bb88, label %bb90 bb87: ; preds = %bb85, %bb84 %132 = load i8, i8* %_205, !range !2 %133 = trunc i8 %132 to i1 br i1 %133, label %bb94, label %bb95 bb88: ; preds = %bb93, %bb86 store i8 1, i8* %_207 br label %bb91 bb89: ; preds = %bb93 store i8 0, i8* %_207 br label %bb91 bb90: ; preds = %bb86 %134 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, i16 1) br label %bb92 bb91: ; preds = %bb89, %bb88 %135 = load i8, i8* %_207, !range !2 %136 = trunc i8 %135 to i1 br i1 %136, label %bb84, label %bb85 bb92: ; preds = %bb90 %137 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %134, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale) br label %bb93 bb93: ; preds = %bb92 br i1 %137, label %bb88, label %bb89 bb94: ; preds = %bb87 %138 = load i16, i16* %i %139 = call i16 @_ZN4core3num7flt2dec8round_up17h81d2a24bdebce58cE(i8* nonnull %2, i16 %3, i16 %138) store i16 %139, i16* %abi_cast %140 = bitcast %"option::Option"* %_215 to i8* %141 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %140, i8* %141, i16 2, i32 1, i1 false) br label %bb96 bb95: ; preds = %bb87 br label %bb103 bb96: ; preds = %bb94 %142 = getelementptr inbounds %"option::Option", %"option::Option"* %_215, i32 0, i32 0 %143 = load i8, i8* %142, !range !2 %144 = zext i8 %143 to i16 switch i16 %144, label %bb97 [ i16 1, label %bb98 ] bb97: ; preds = %bb96 br label %bb99 bb98: ; preds = %bb96 %145 = bitcast %"option::Option"* %_215 to { i8, i8 }* %146 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %145, i32 0, i32 1 %147 = load i8, i8* %146 %148 = load i16, i16* %i %149 = icmp ult i16 %148, %3 %150 = call i1 @llvm.expect.i1(i1 %149, i1 true) br i1 %150, label %bb100, label %panic9 bb99: ; preds = %bb102, %bb97 br label %bb103 bb100: ; preds = %bb98 %151 = getelementptr inbounds i8, i8* %2, i16 %148 store i8 %147, i8* %151 %152 = load i16, i16* %i %153 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %152, i16 1) %154 = extractvalue { i16, i1 } %153, 0 %155 = extractvalue { i16, i1 } %153, 1 %156 = call i1 @llvm.expect.i1(i1 %155, i1 false) br i1 %156, label %panic10, label %bb101 bb101: ; preds = %bb100 store i16 %154, i16* %i %157 = load i16, i16* %k %158 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %157, i16 1) %159 = extractvalue { i16, i1 } %158, 0 %160 = extractvalue { i16, i1 } %158, 1 %161 = call i1 @llvm.expect.i1(i1 %160, i1 false) br i1 %161, label %panic11, label %bb102 bb102: ; preds = %bb101 store i16 %159, i16* %k br label %bb99 bb103: ; preds = %bb95, %bb99 %162 = load i16, i16* %i %163 = load i16, i16* %k %164 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 0 store i16 %162, i16* %164 %165 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 1 store i16 %163, i16* %165 ret void panic: ; preds = %bb20 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.n) unreachable panic1: ; preds = %bb27 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.p) unreachable panic2: ; preds = %bb36 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.q) unreachable panic3: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.r) unreachable panic4: ; preds = %bb41 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.s) unreachable panic5: ; preds = %bb49 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.t) unreachable panic6: ; preds = %bb65 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.u) unreachable panic7: ; preds = %bb66 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.v, i16 %112, i16 %3) unreachable panic8: ; preds = %bb67 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.w) unreachable panic9: ; preds = %bb98 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.x, i16 %148, i16 %3) unreachable panic10: ; preds = %bb100 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.y) unreachable panic11: ; preds = %bb101 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.z) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num7flt2dec8strategy6dragon12format_exact17h65783c20fb9db8c7E({ i16, i16 }* noalias nocapture sret dereferenceable(4), %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32), i8* nonnull, i16, i16) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %arg7 = alloca %"ops::Range" %arg = alloca %"ops::Range" %tmp_ret = alloca %"ops::Range" %_252 = alloca i8 %_246 = alloca %"option::Option" %_235 = alloca i8 %_231 = alloca i8 %_227 = alloca i8 %_226 = alloca {} %order = alloca i8 %_207 = alloca {} %_206 = alloca {} %_199 = alloca {} %_198 = alloca {} %_189 = alloca {} %_180 = alloca {} %_171 = alloca {} %_162 = alloca {} %d = alloca i8 %_153 = alloca i8* %iter2 = alloca %"slice::IterMut" %_149 = alloca %"ops::Range" %_145 = alloca %"slice::IterMut" %_result1 = alloca {} %_140 = alloca {} %_135 = alloca %"option::Option" %_134 = alloca {} %iter = alloca %"ops::Range" %_131 = alloca %"ops::Range" %_result = alloca {} %scale8 = alloca %"num::bignum::Big32x40" %scale4 = alloca %"num::bignum::Big32x40" %scale2 = alloca %"num::bignum::Big32x40" %_114 = alloca {} %len = alloca i16 %_85 = alloca %"num::bignum::Big32x40" %_77 = alloca {} %_62 = alloca {} %_49 = alloca {} %scale = alloca %"num::bignum::Big32x40" %mant = alloca %"num::bignum::Big32x40" %k = alloca i16 %_38 = alloca %"option::Option" %_34 = alloca {} %_29 = alloca %"option::Option" %_25 = alloca {} %_19 = alloca {} %_13 = alloca {} %_7 = alloca {} br label %start start: ; preds = %entry-block %5 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %6 = load i64, i64* %5 %7 = icmp ugt i64 %6, 0 %8 = xor i1 %7, true br i1 %8, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17hae7a8990905214c9E) unreachable bb2: ; preds = %start %9 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 1 %10 = load i64, i64* %9 %11 = icmp ugt i64 %10, 0 %12 = xor i1 %11, true br i1 %12, label %bb3, label %bb4 bb3: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h34b5036ddd8f8f26E) unreachable bb4: ; preds = %bb2 %13 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 2 %14 = load i64, i64* %13 %15 = icmp ugt i64 %14, 0 %16 = xor i1 %15, true br i1 %16, label %bb5, label %bb6 bb5: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17hdd4d6a5c5af2732cE) unreachable bb6: ; preds = %bb4 %17 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %18 = load i64, i64* %17 %19 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 2 %20 = load i64, i64* %19 call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_add17h1f5f4b4c611a092eE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_29, i64 %18, i64 %20) br label %bb7 bb7: ; preds = %bb6 %21 = call zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_some17he122cfca64bbac8eE"(%"option::Option"* noalias readonly dereferenceable(16) %_29) br label %bb8 bb8: ; preds = %bb7 %22 = xor i1 %21, true br i1 %22, label %bb9, label %bb10 bb9: ; preds = %bb8 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17hbcabcb3ce5c48587E) unreachable bb10: ; preds = %bb8 %23 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %24 = load i64, i64* %23 %25 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 1 %26 = load i64, i64* %25 call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_sub17ha5a95dc30e2d585eE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_38, i64 %24, i64 %26) br label %bb11 bb11: ; preds = %bb10 %27 = call zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_some17he122cfca64bbac8eE"(%"option::Option"* noalias readonly dereferenceable(16) %_38) br label %bb12 bb12: ; preds = %bb11 %28 = xor i1 %27, true br i1 %28, label %bb13, label %bb14 bb13: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h373a54973e762b7eE) unreachable bb14: ; preds = %bb12 %29 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %30 = load i64, i64* %29 %31 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %32 = load i16, i16* %31 %33 = call i16 @_ZN4core3num7flt2dec9estimator23estimate_scaling_factor17h8fa174e95a860b54E(i64 %30, i16 %32) store i16 %33, i16* %k br label %bb15 bb15: ; preds = %bb14 %34 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %35 = load i64, i64* %34 call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %mant, i64 %35) br label %bb16 bb16: ; preds = %bb15 call void @_ZN4core3num6bignum8Big32x4010from_small17h197cc74323061977E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %scale, i32 1) br label %bb17 bb17: ; preds = %bb16 %36 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %37 = load i16, i16* %36 %38 = icmp slt i16 %37, 0 br i1 %38, label %bb18, label %bb19 bb18: ; preds = %bb17 %39 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %40 = load i16, i16* %39 %41 = icmp eq i16 %40, -32768 %42 = call i1 @llvm.expect.i1(i1 %41, i1 false) br i1 %42, label %panic, label %bb20 bb19: ; preds = %bb17 %43 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %44 = load i16, i16* %43 %45 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, i16 %44) br label %bb22 bb20: ; preds = %bb18 %46 = sub i16 0, %40 %47 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %scale, i16 %46) br label %bb21 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb19 br label %bb23 bb23: ; preds = %bb22, %bb21 %48 = load i16, i16* %k %49 = icmp sge i16 %48, 0 br i1 %49, label %bb24, label %bb25 bb24: ; preds = %bb23 %50 = load i16, i16* %k %51 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017h6188a5c336b5a2f1E(%"num::bignum::Big32x40"* dereferenceable(164) %scale, i16 %50) br label %bb26 bb25: ; preds = %bb23 %52 = load i16, i16* %k %53 = icmp eq i16 %52, -32768 %54 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %54, label %panic3, label %bb27 bb26: ; preds = %bb24 br label %bb29 bb27: ; preds = %bb25 %55 = sub i16 0, %52 %56 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017h6188a5c336b5a2f1E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, i16 %55) br label %bb28 bb28: ; preds = %bb27 br label %bb29 bb29: ; preds = %bb28, %bb26 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_85, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale) br label %bb30 bb30: ; preds = %bb29 %57 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb31 bb31: ; preds = %bb30 %58 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h10330b94303a76a5E(%"num::bignum::Big32x40"* dereferenceable(164) %_85, i16 %57) br label %bb32 bb32: ; preds = %bb31 %59 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403add17h5f030b2daa3047deE(%"num::bignum::Big32x40"* dereferenceable(164) %58, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %mant) br label %bb33 bb33: ; preds = %bb32 %60 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %59, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale) br label %bb34 bb34: ; preds = %bb33 br i1 %60, label %bb35, label %bb36 bb35: ; preds = %bb34 %61 = load i16, i16* %k %62 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %61, i16 1) %63 = extractvalue { i16, i1 } %62, 0 %64 = extractvalue { i16, i1 } %62, 1 %65 = call i1 @llvm.expect.i1(i1 %64, i1 false) br i1 %65, label %panic4, label %bb37 bb36: ; preds = %bb34 %66 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, i32 10) br label %bb38 bb37: ; preds = %bb35 store i16 %63, i16* %k br label %bb39 bb38: ; preds = %bb36 br label %bb39 bb39: ; preds = %bb38, %bb37 %67 = load i16, i16* %k %68 = icmp slt i16 %67, %4 br i1 %68, label %bb40, label %bb41 bb40: ; preds = %bb39 store i16 0, i16* %len br label %bb49 bb41: ; preds = %bb39 %69 = load i16, i16* %k %70 = sext i16 %69 to i32 %71 = sext i16 %4 to i32 %72 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %70, i32 %71) %73 = extractvalue { i32, i1 } %72, 0 %74 = extractvalue { i32, i1 } %72, 1 %75 = call i1 @llvm.expect.i1(i1 %74, i1 false) br i1 %75, label %panic5, label %bb42 bb42: ; preds = %bb41 %76 = trunc i32 %73 to i16 %77 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb43 bb43: ; preds = %bb42 %78 = icmp ult i16 %76, %77 br i1 %78, label %bb44, label %bb45 bb44: ; preds = %bb43 %79 = load i16, i16* %k %80 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %79, i16 %4) %81 = extractvalue { i16, i1 } %80, 0 %82 = extractvalue { i16, i1 } %80, 1 %83 = call i1 @llvm.expect.i1(i1 %82, i1 false) br i1 %83, label %panic6, label %bb46 bb45: ; preds = %bb43 %84 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) store i16 %84, i16* %len br label %bb47 bb46: ; preds = %bb44 store i16 %81, i16* %len br label %bb48 bb47: ; preds = %bb45 br label %bb48 bb48: ; preds = %bb47, %bb46 br label %bb49 bb49: ; preds = %bb48, %bb40 %85 = load i16, i16* %len %86 = icmp ugt i16 %85, 0 br i1 %86, label %bb50, label %bb51 bb50: ; preds = %bb49 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %scale2, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale) br label %bb52 bb51: ; preds = %bb49 br label %bb105 bb52: ; preds = %bb50 %87 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %scale2, i16 1) br label %bb53 bb53: ; preds = %bb52 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %scale4, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale) br label %bb54 bb54: ; preds = %bb53 %88 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %scale4, i16 2) br label %bb55 bb55: ; preds = %bb54 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %scale8, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale) br label %bb56 bb56: ; preds = %bb55 %89 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %scale8, i16 3) br label %bb57 bb57: ; preds = %bb56 %90 = load i16, i16* %len %91 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_131, i32 0, i32 0 store i16 0, i16* %91 %92 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_131, i32 0, i32 1 store i16 %90, i16* %92 %93 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_131, i32 0, i32 0 %94 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_131, i32 0, i32 1 %95 = load i16, i16* %93 %96 = load i16, i16* %94 %97 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %95, i16* %97 %98 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %96, i16* %98 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) %99 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 0 %100 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 1 %101 = load i16, i16* %99 %102 = load i16, i16* %100 br label %bb58 bb58: ; preds = %bb57 %103 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 0 store i16 %101, i16* %103 %104 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 1 store i16 %102, i16* %104 br label %bb59 bb59: ; preds = %bb104, %bb58 call void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_135, %"ops::Range"* dereferenceable(4) %iter) br label %bb60 bb60: ; preds = %bb59 %105 = getelementptr inbounds %"option::Option", %"option::Option"* %_135, i32 0, i32 0 %106 = load i16, i16* %105, !range !3 switch i16 %106, label %bb62 [ i16 0, label %bb61 ] bb61: ; preds = %bb60 br label %bb105 bb62: ; preds = %bb60 %107 = bitcast %"option::Option"* %_135 to { i16, i16 }* %108 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %107, i32 0, i32 1 %109 = load i16, i16* %108 %110 = call zeroext i1 @_ZN4core3num6bignum8Big32x407is_zero17h758b2da3fba44433E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %mant) br label %bb63 bb63: ; preds = %bb62 br i1 %110, label %bb64, label %bb65 bb64: ; preds = %bb63 %111 = load i16, i16* %len %112 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_149, i32 0, i32 0 store i16 %109, i16* %112 %113 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_149, i32 0, i32 1 store i16 %111, i16* %113 %114 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_149, i32 0, i32 0 %115 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_149, i32 0, i32 1 %116 = load i16, i16* %114 %117 = load i16, i16* %115 %118 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg7, i32 0, i32 0 store i16 %116, i16* %118 %119 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg7, i32 0, i32 1 store i16 %117, i16* %119 %120 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hcdd3129a0e4a9186E"(i8* nonnull %2, i16 %3, %"ops::Range"* noalias nocapture dereferenceable(4) %arg7) %121 = extractvalue { i8*, i16 } %120, 0 %122 = extractvalue { i8*, i16 } %120, 1 br label %bb66 bb65: ; preds = %bb63 store i8 0, i8* %d %123 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %mant, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale8) br label %bb73 bb66: ; preds = %bb64 call void @"_ZN4core5slice97_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$mut$u20$$u5b$T$u5d$$GT$9into_iter17hb54fc44aaf7ce3efE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_145, i8* nonnull %121, i16 %122) br label %bb67 bb67: ; preds = %bb66 %124 = bitcast %"slice::IterMut"* %_145 to i8* %125 = bitcast %"slice::IterMut"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %125, i8* %124, i16 4, i32 2, i1 false) br label %bb68 bb68: ; preds = %bb71, %bb67 %126 = call i8* @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha98f667bd924c796E"(%"slice::IterMut"* dereferenceable(4) %iter2) store i8* %126, i8** %_153 br label %bb69 bb69: ; preds = %bb68 %127 = load i8*, i8** %_153 %128 = icmp ne i8* %127, null %129 = zext i1 %128 to i16 switch i16 %129, label %bb71 [ i16 0, label %bb70 ] bb70: ; preds = %bb69 %130 = load i16, i16* %len %131 = load i16, i16* %k %132 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 0 store i16 %130, i16* %132 %133 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 1 store i16 %131, i16* %133 br label %bb72 bb71: ; preds = %bb69 %134 = load i8*, i8** %_153, !nonnull !1 store i8 48, i8* %134 br label %bb68 bb72: ; preds = %bb141, %bb70 ret void bb73: ; preds = %bb65 br i1 %123, label %bb74, label %bb75 bb74: ; preds = %bb73 %135 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale8) br label %bb76 bb75: ; preds = %bb73 br label %bb78 bb76: ; preds = %bb74 %136 = load i8, i8* %d %137 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %136, i8 8) %138 = extractvalue { i8, i1 } %137, 0 %139 = extractvalue { i8, i1 } %137, 1 %140 = call i1 @llvm.expect.i1(i1 %139, i1 false) br i1 %140, label %panic8, label %bb77 bb77: ; preds = %bb76 store i8 %138, i8* %d br label %bb78 bb78: ; preds = %bb75, %bb77 %141 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %mant, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale4) br label %bb79 bb79: ; preds = %bb78 br i1 %141, label %bb80, label %bb81 bb80: ; preds = %bb79 %142 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale4) br label %bb82 bb81: ; preds = %bb79 br label %bb84 bb82: ; preds = %bb80 %143 = load i8, i8* %d %144 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %143, i8 4) %145 = extractvalue { i8, i1 } %144, 0 %146 = extractvalue { i8, i1 } %144, 1 %147 = call i1 @llvm.expect.i1(i1 %146, i1 false) br i1 %147, label %panic9, label %bb83 bb83: ; preds = %bb82 store i8 %145, i8* %d br label %bb84 bb84: ; preds = %bb81, %bb83 %148 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %mant, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale2) br label %bb85 bb85: ; preds = %bb84 br i1 %148, label %bb86, label %bb87 bb86: ; preds = %bb85 %149 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale2) br label %bb88 bb87: ; preds = %bb85 br label %bb90 bb88: ; preds = %bb86 %150 = load i8, i8* %d %151 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %150, i8 2) %152 = extractvalue { i8, i1 } %151, 0 %153 = extractvalue { i8, i1 } %151, 1 %154 = call i1 @llvm.expect.i1(i1 %153, i1 false) br i1 %154, label %panic10, label %bb89 bb89: ; preds = %bb88 store i8 %152, i8* %d br label %bb90 bb90: ; preds = %bb87, %bb89 %155 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %mant, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale) br label %bb91 bb91: ; preds = %bb90 br i1 %155, label %bb92, label %bb93 bb92: ; preds = %bb91 %156 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale) br label %bb94 bb93: ; preds = %bb91 br label %bb96 bb94: ; preds = %bb92 %157 = load i8, i8* %d %158 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %157, i8 1) %159 = extractvalue { i8, i1 } %158, 0 %160 = extractvalue { i8, i1 } %158, 1 %161 = call i1 @llvm.expect.i1(i1 %160, i1 false) br i1 %161, label %panic11, label %bb95 bb95: ; preds = %bb94 store i8 %159, i8* %d br label %bb96 bb96: ; preds = %bb93, %bb95 %162 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h7d894440b0927409E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %mant, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %scale) br label %bb97 bb97: ; preds = %bb96 %163 = xor i1 %162, true br i1 %163, label %bb98, label %bb99 bb98: ; preds = %bb97 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h43f79d886cb189b7E) unreachable bb99: ; preds = %bb97 %164 = load i8, i8* %d %165 = icmp ult i8 %164, 10 %166 = xor i1 %165, true br i1 %166, label %bb100, label %bb101 bb100: ; preds = %bb99 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h4ff4944356841c9fE) unreachable bb101: ; preds = %bb99 %167 = load i8, i8* %d %168 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %167) %169 = extractvalue { i8, i1 } %168, 0 %170 = extractvalue { i8, i1 } %168, 1 %171 = call i1 @llvm.expect.i1(i1 %170, i1 false) br i1 %171, label %panic12, label %bb102 bb102: ; preds = %bb101 %172 = icmp ult i16 %109, %3 %173 = call i1 @llvm.expect.i1(i1 %172, i1 true) br i1 %173, label %bb103, label %panic13 bb103: ; preds = %bb102 %174 = getelementptr inbounds i8, i8* %2, i16 %109 store i8 %169, i8* %174 %175 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %mant, i32 10) br label %bb104 bb104: ; preds = %bb103 br label %bb59 bb105: ; preds = %bb51, %bb61 %176 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %scale, i32 5) br label %bb106 bb106: ; preds = %bb105 %177 = call i8 @"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h083638ebe80269f5E"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %mant, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %176) store i8 %177, i8* %order br label %bb107 bb107: ; preds = %bb106 %178 = call zeroext i1 @"_ZN60_$LT$core..cmp..Ordering$u20$as$u20$core..cmp..PartialEq$GT$2eq17he33e10b377b14488E"(i8* noalias readonly dereferenceable(1) %order, i8* noalias readonly dereferenceable(1) @ref.L) br label %bb112 bb108: ; preds = %bb116, %bb112 store i8 1, i8* %_227 br label %bb111 bb109: ; preds = %bb116 store i8 0, i8* %_227 br label %bb111 bb110: ; preds = %bb112 %179 = call zeroext i1 @"_ZN60_$LT$core..cmp..Ordering$u20$as$u20$core..cmp..PartialEq$GT$2eq17he33e10b377b14488E"(i8* noalias readonly dereferenceable(1) %order, i8* noalias readonly dereferenceable(1) @ref.M) br label %bb117 bb111: ; preds = %bb109, %bb108 %180 = load i8, i8* %_227, !range !2 %181 = trunc i8 %180 to i1 br i1 %181, label %bb124, label %bb125 bb112: ; preds = %bb107 br i1 %178, label %bb108, label %bb110 bb113: ; preds = %bb121 store i8 1, i8* %_231 br label %bb116 bb114: ; preds = %bb121, %bb117 store i8 0, i8* %_231 br label %bb116 bb115: ; preds = %bb117 %182 = load i16, i16* %len %183 = icmp eq i16 %182, 0 br i1 %183, label %bb118, label %bb120 bb116: ; preds = %bb114, %bb113 %184 = load i8, i8* %_231, !range !2 %185 = trunc i8 %184 to i1 br i1 %185, label %bb108, label %bb109 bb117: ; preds = %bb110 br i1 %179, label %bb115, label %bb114 bb118: ; preds = %bb123, %bb115 store i8 1, i8* %_235 br label %bb121 bb119: ; preds = %bb123 store i8 0, i8* %_235 br label %bb121 bb120: ; preds = %bb115 %186 = load i16, i16* %len %187 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %186, i16 1) %188 = extractvalue { i16, i1 } %187, 0 %189 = extractvalue { i16, i1 } %187, 1 %190 = call i1 @llvm.expect.i1(i1 %189, i1 false) br i1 %190, label %panic14, label %bb122 bb121: ; preds = %bb119, %bb118 %191 = load i8, i8* %_235, !range !2 %192 = trunc i8 %191 to i1 br i1 %192, label %bb113, label %bb114 bb122: ; preds = %bb120 %193 = call dereferenceable(1) i8* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h08f0dba53d9565f6E"(i8* noalias nonnull readonly %2, i16 %3, i16 %188) br label %bb123 bb123: ; preds = %bb122 %194 = load i8, i8* %193 %195 = and i8 %194, 1 %196 = icmp eq i8 %195, 1 br i1 %196, label %bb118, label %bb119 bb124: ; preds = %bb111 %197 = load i16, i16* %len %198 = call i16 @_ZN4core3num7flt2dec8round_up17h81d2a24bdebce58cE(i8* nonnull %2, i16 %3, i16 %197) store i16 %198, i16* %abi_cast %199 = bitcast %"option::Option"* %_246 to i8* %200 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %199, i8* %200, i16 2, i32 1, i1 false) br label %bb126 bb125: ; preds = %bb111 br label %bb141 bb126: ; preds = %bb124 %201 = getelementptr inbounds %"option::Option", %"option::Option"* %_246, i32 0, i32 0 %202 = load i8, i8* %201, !range !2 %203 = zext i8 %202 to i16 switch i16 %203, label %bb127 [ i16 1, label %bb128 ] bb127: ; preds = %bb126 br label %bb129 bb128: ; preds = %bb126 %204 = bitcast %"option::Option"* %_246 to { i8, i8 }* %205 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %204, i32 0, i32 1 %206 = load i8, i8* %205 %207 = load i16, i16* %k %208 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %207, i16 1) %209 = extractvalue { i16, i1 } %208, 0 %210 = extractvalue { i16, i1 } %208, 1 %211 = call i1 @llvm.expect.i1(i1 %210, i1 false) br i1 %211, label %panic15, label %bb130 bb129: ; preds = %bb140, %bb127 br label %bb141 bb130: ; preds = %bb128 store i16 %209, i16* %k %212 = load i16, i16* %k %213 = icmp sgt i16 %212, %4 br i1 %213, label %bb133, label %bb132 bb131: ; preds = %bb135 store i8 1, i8* %_252 br label %bb134 bb132: ; preds = %bb135, %bb130 store i8 0, i8* %_252 br label %bb134 bb133: ; preds = %bb130 %214 = load i16, i16* %len %215 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb135 bb134: ; preds = %bb132, %bb131 %216 = load i8, i8* %_252, !range !2 %217 = trunc i8 %216 to i1 br i1 %217, label %bb136, label %bb137 bb135: ; preds = %bb133 %218 = icmp ult i16 %214, %215 br i1 %218, label %bb131, label %bb132 bb136: ; preds = %bb134 %219 = load i16, i16* %len %220 = icmp ult i16 %219, %3 %221 = call i1 @llvm.expect.i1(i1 %220, i1 true) br i1 %221, label %bb138, label %panic16 bb137: ; preds = %bb134 br label %bb140 bb138: ; preds = %bb136 %222 = getelementptr inbounds i8, i8* %2, i16 %219 store i8 %206, i8* %222 %223 = load i16, i16* %len %224 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %223, i16 1) %225 = extractvalue { i16, i1 } %224, 0 %226 = extractvalue { i16, i1 } %224, 1 %227 = call i1 @llvm.expect.i1(i1 %226, i1 false) br i1 %227, label %panic17, label %bb139 bb139: ; preds = %bb138 store i16 %225, i16* %len br label %bb140 bb140: ; preds = %bb137, %bb139 br label %bb129 bb141: ; preds = %bb125, %bb129 %228 = load i16, i16* %len %229 = load i16, i16* %k %230 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 0 store i16 %228, i16* %230 %231 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 1 store i16 %229, i16* %231 br label %bb72 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.A) unreachable panic3: ; preds = %bb25 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.B) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.C) unreachable panic5: ; preds = %bb41 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.D) unreachable panic6: ; preds = %bb44 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.E) unreachable panic8: ; preds = %bb76 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.F) unreachable panic9: ; preds = %bb82 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.G) unreachable panic10: ; preds = %bb88 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.H) unreachable panic11: ; preds = %bb94 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.I) unreachable panic12: ; preds = %bb101 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.J) unreachable panic13: ; preds = %bb102 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.K, i16 %109, i16 %3) unreachable panic14: ; preds = %bb120 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.N) unreachable panic15: ; preds = %bb128 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.O) unreachable panic16: ; preds = %bb136 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.P, i16 %219, i16 %3) unreachable panic17: ; preds = %bb138 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.Q) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num7flt2dec8strategy5grisu12cached_power17hbaf9d372743bc462E({ i16, %"num::diy_float::Fp" }* noalias nocapture sret dereferenceable(24), i16, i16) unnamed_addr #1 { entry-block: %_49 = alloca %"num::diy_float::Fp" %_39 = alloca i8 %_37 = alloca {} %_36 = alloca {} br label %start start: ; preds = %entry-block %3 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hb31f3d514cc01906E"({ i64, i16, i16 }* noalias nonnull readonly getelementptr inbounds ([81 x { i64, i16, i16 }], [81 x { i64, i16, i16 }]* bitcast ({ { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] } }* @_ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017ha478cfdf26316e11E to [81 x { i64, i16, i16 }]*), i32 0, i32 0), i16 81) br label %bb1 bb1: ; preds = %start %4 = zext i16 %3 to i32 %5 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %4, i32 1) %6 = extractvalue { i32, i1 } %5, 0 %7 = extractvalue { i32, i1 } %5, 1 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic, label %bb2 bb2: ; preds = %bb1 br label %bb3 bb3: ; preds = %bb2 %9 = sext i16 %2 to i32 %10 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %9, i32 -1087) %11 = extractvalue { i32, i1 } %10, 0 %12 = extractvalue { i32, i1 } %10, 1 %13 = call i1 @llvm.expect.i1(i1 %12, i1 false) br i1 %13, label %panic1, label %bb4 bb4: ; preds = %bb3 %14 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %11, i32 %6) %15 = extractvalue { i32, i1 } %14, 0 %16 = extractvalue { i32, i1 } %14, 1 %17 = call i1 @llvm.expect.i1(i1 %16, i1 false) br i1 %17, label %panic2, label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5 %18 = icmp eq i32 %15, -2147483648 %19 = and i1 false, %18 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic3, label %bb7 bb7: ; preds = %bb6 %21 = sdiv i32 %15, 2126 %22 = trunc i32 %21 to i16 %23 = icmp ult i16 %22, 81 %24 = call i1 @llvm.expect.i1(i1 %23, i1 true) br i1 %24, label %bb8, label %panic4 bb8: ; preds = %bb7 %25 = getelementptr inbounds [81 x { i64, i16, i16 }], [81 x { i64, i16, i16 }]* bitcast ({ { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] } }* @_ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017ha478cfdf26316e11E to [81 x { i64, i16, i16 }]*), i16 0, i16 %22 %26 = getelementptr inbounds { i64, i16, i16 }, { i64, i16, i16 }* %25, i32 0, i32 0 %27 = load i64, i64* %26 %28 = getelementptr inbounds [81 x { i64, i16, i16 }], [81 x { i64, i16, i16 }]* bitcast ({ { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] } }* @_ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017ha478cfdf26316e11E to [81 x { i64, i16, i16 }]*), i16 0, i16 %22 %29 = getelementptr inbounds { i64, i16, i16 }, { i64, i16, i16 }* %28, i32 0, i32 1 %30 = load i16, i16* %29 %31 = getelementptr inbounds [81 x { i64, i16, i16 }], [81 x { i64, i16, i16 }]* bitcast ({ { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] }, { i64, i16, i16, [4 x i8] } }* @_ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017ha478cfdf26316e11E to [81 x { i64, i16, i16 }]*), i16 0, i16 %22 %32 = getelementptr inbounds { i64, i16, i16 }, { i64, i16, i16 }* %31, i32 0, i32 2 %33 = load i16, i16* %32 %34 = icmp sle i16 %1, %30 br i1 %34, label %bb11, label %bb10 bb9: ; preds = %bb11 store i8 1, i8* %_39 br label %bb12 bb10: ; preds = %bb11, %bb8 store i8 0, i8* %_39 br label %bb12 bb11: ; preds = %bb8 %35 = icmp sle i16 %30, %2 br i1 %35, label %bb9, label %bb10 bb12: ; preds = %bb10, %bb9 %36 = load i8, i8* %_39, !range !2 %37 = trunc i8 %36 to i1 %38 = xor i1 %37, true br i1 %38, label %bb13, label %bb14 bb13: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu12cached_power14_MSG_FILE_LINE17h835e2df8eba8557eE) unreachable bb14: ; preds = %bb12 %39 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_49, i32 0, i32 0 store i64 %27, i64* %39 %40 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_49, i32 0, i32 1 store i16 %30, i16* %40 %41 = getelementptr inbounds { i16, %"num::diy_float::Fp" }, { i16, %"num::diy_float::Fp" }* %0, i32 0, i32 0 store i16 %33, i16* %41 %42 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_49, i32 0, i32 0 %43 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_49, i32 0, i32 1 %44 = load i64, i64* %42 %45 = load i16, i16* %43 %46 = getelementptr inbounds { i16, %"num::diy_float::Fp" }, { i16, %"num::diy_float::Fp" }* %0, i32 0, i32 1 %47 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %46, i32 0, i32 0 store i64 %44, i64* %47 %48 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %46, i32 0, i32 1 store i16 %45, i16* %48 ret void panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.S) unreachable panic1: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.T) unreachable panic2: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.U) unreachable panic3: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.W) unreachable panic4: ; preds = %bb7 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.X, i16 %22, i16 81) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17h73c2af29a574d6d9E({ i8, i32 }* noalias nocapture sret dereferenceable(8), i32) unnamed_addr #1 { entry-block: %_4 = alloca {} %_3 = alloca {} br label %start start: ; preds = %entry-block %2 = icmp ugt i32 %1, 0 %3 = xor i1 %2, true br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than14_MSG_FILE_LINE17hca0d19cd42db2adfE) unreachable bb2: ; preds = %start %4 = icmp ult i32 %1, 10000 br i1 %4, label %bb3, label %bb4 bb3: ; preds = %bb2 %5 = icmp ult i32 %1, 100 br i1 %5, label %bb5, label %bb6 bb4: ; preds = %bb2 %6 = icmp ult i32 %1, 1000000 br i1 %6, label %bb14, label %bb15 bb5: ; preds = %bb3 %7 = icmp ult i32 %1, 10 br i1 %7, label %bb7, label %bb8 bb6: ; preds = %bb3 %8 = icmp ult i32 %1, 1000 br i1 %8, label %bb10, label %bb11 bb7: ; preds = %bb5 %9 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 0 store i8 0, i8* %9 %10 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 1 store i32 1, i32* %10 br label %bb9 bb8: ; preds = %bb5 %11 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 0 store i8 1, i8* %11 %12 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 1 store i32 10, i32* %12 br label %bb9 bb9: ; preds = %bb8, %bb7 br label %bb13 bb10: ; preds = %bb6 %13 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 0 store i8 2, i8* %13 %14 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 1 store i32 100, i32* %14 br label %bb12 bb11: ; preds = %bb6 %15 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 0 store i8 3, i8* %15 %16 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 1 store i32 1000, i32* %16 br label %bb12 bb12: ; preds = %bb11, %bb10 br label %bb13 bb13: ; preds = %bb12, %bb9 br label %bb29 bb14: ; preds = %bb4 %17 = icmp ult i32 %1, 100000 br i1 %17, label %bb16, label %bb17 bb15: ; preds = %bb4 %18 = icmp ult i32 %1, 100000000 br i1 %18, label %bb19, label %bb20 bb16: ; preds = %bb14 %19 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 0 store i8 4, i8* %19 %20 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 1 store i32 10000, i32* %20 br label %bb18 bb17: ; preds = %bb14 %21 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 0 store i8 5, i8* %21 %22 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 1 store i32 100000, i32* %22 br label %bb18 bb18: ; preds = %bb17, %bb16 br label %bb28 bb19: ; preds = %bb15 %23 = icmp ult i32 %1, 10000000 br i1 %23, label %bb21, label %bb22 bb20: ; preds = %bb15 %24 = icmp ult i32 %1, 1000000000 br i1 %24, label %bb24, label %bb25 bb21: ; preds = %bb19 %25 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 0 store i8 6, i8* %25 %26 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 1 store i32 1000000, i32* %26 br label %bb23 bb22: ; preds = %bb19 %27 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 0 store i8 7, i8* %27 %28 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 1 store i32 10000000, i32* %28 br label %bb23 bb23: ; preds = %bb22, %bb21 br label %bb27 bb24: ; preds = %bb20 %29 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 0 store i8 8, i8* %29 %30 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 1 store i32 100000000, i32* %30 br label %bb26 bb25: ; preds = %bb20 %31 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 0 store i8 9, i8* %31 %32 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 1 store i32 1000000000, i32* %32 br label %bb26 bb26: ; preds = %bb25, %bb24 br label %bb27 bb27: ; preds = %bb26, %bb23 br label %bb28 bb28: ; preds = %bb27, %bb18 br label %bb29 bb29: ; preds = %bb28, %bb13 ret void } ; Function Attrs: uwtable define void @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt17h77d3ed53feab7c11E(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(6), %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32), i8* nonnull, i16) unnamed_addr #1 { entry-block: %tmp_ret44 = alloca %"fmt::ArgumentV1" %tmp_ret43 = alloca %"fmt::ArgumentV1" %tmp_ret42 = alloca %"fmt::ArgumentV1" %tmp_ret41 = alloca %"fmt::ArgumentV1" %tmp_ret26 = alloca { i8, i32 } %tmp_ret19 = alloca %"fmt::ArgumentV1" %tmp_ret18 = alloca %"fmt::ArgumentV1" %tmp_ret17 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_385 = alloca %"ops::RangeTo" %_374 = alloca {} %_361 = alloca {} %_360 = alloca {} %ulp = alloca i64 %threshold = alloca i64 %remainder10 = alloca i64 %_325 = alloca { i16**, i16** } %_324 = alloca [2 x %"fmt::ArgumentV1"] %_319 = alloca %"fmt::Arguments" %right_val9 = alloca i16* %left_val8 = alloca i16* %_310 = alloca { i16*, i16* } %_309 = alloca {} %_308 = alloca {} %_295 = alloca { i32**, i32** } %_294 = alloca [2 x %"fmt::ArgumentV1"] %_289 = alloca %"fmt::Arguments" %right_val7 = alloca i32* %left_val6 = alloca i32* %_280 = alloca { i32*, i32* } %_279 = alloca {} %_278 = alloca {} %_273 = alloca {} %_263 = alloca %"ops::RangeTo" %_250 = alloca {} %_229 = alloca {} %_228 = alloca {} %_219 = alloca {} %_218 = alloca {} %remainder = alloca i32 %ten_kappa = alloca i32 %kappa = alloca i16 %i = alloca i16 %_154 = alloca { i16**, i16** } %_153 = alloca [2 x %"fmt::ArgumentV1"] %_148 = alloca %"fmt::Arguments" %right_val5 = alloca i16* %left_val4 = alloca i16* %_139 = alloca { i16*, i16* } %_138 = alloca {} %_137 = alloca {} %_124 = alloca { i16**, i16** } %_123 = alloca [2 x %"fmt::ArgumentV1"] %_118 = alloca %"fmt::Arguments" %right_val = alloca i16* %left_val = alloca i16* %_109 = alloca { i16*, i16* } %_108 = alloca {} %_107 = alloca {} %v3 = alloca %"num::diy_float::Fp" %minus2 = alloca %"num::diy_float::Fp" %plus1 = alloca %"num::diy_float::Fp" %_84 = alloca { i16, %"num::diy_float::Fp" } %cached = alloca %"num::diy_float::Fp" %_78 = alloca %"num::diy_float::Fp" %v = alloca %"num::diy_float::Fp" %_69 = alloca %"num::diy_float::Fp" %minus = alloca %"num::diy_float::Fp" %_61 = alloca %"num::diy_float::Fp" %plus = alloca %"num::diy_float::Fp" %_48 = alloca {} %_41 = alloca {} %_36 = alloca %"option::Option" %_32 = alloca {} %_27 = alloca %"option::Option" %_23 = alloca {} %_17 = alloca {} %_11 = alloca {} %_5 = alloca {} br label %start start: ; preds = %entry-block %4 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %5 = load i64, i64* %4 %6 = icmp ugt i64 %5, 0 %7 = xor i1 %6, true br i1 %7, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h7e8d9148b21d5ba3E) unreachable bb2: ; preds = %start %8 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 1 %9 = load i64, i64* %8 %10 = icmp ugt i64 %9, 0 %11 = xor i1 %10, true br i1 %11, label %bb3, label %bb4 bb3: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17hfc1d0c2d729ef10eE) unreachable bb4: ; preds = %bb2 %12 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 2 %13 = load i64, i64* %12 %14 = icmp ugt i64 %13, 0 %15 = xor i1 %14, true br i1 %15, label %bb5, label %bb6 bb5: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17hded9536681c19d85E) unreachable bb6: ; preds = %bb4 %16 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %17 = load i64, i64* %16 %18 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 2 %19 = load i64, i64* %18 call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_add17h1f5f4b4c611a092eE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_27, i64 %17, i64 %19) br label %bb7 bb7: ; preds = %bb6 %20 = call zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_some17he122cfca64bbac8eE"(%"option::Option"* noalias readonly dereferenceable(16) %_27) br label %bb8 bb8: ; preds = %bb7 %21 = xor i1 %20, true br i1 %21, label %bb9, label %bb10 bb9: ; preds = %bb8 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h464fe7f0431fe611E) unreachable bb10: ; preds = %bb8 %22 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %23 = load i64, i64* %22 %24 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 1 %25 = load i64, i64* %24 call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_sub17ha5a95dc30e2d585eE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_36, i64 %23, i64 %25) br label %bb11 bb11: ; preds = %bb10 %26 = call zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_some17he122cfca64bbac8eE"(%"option::Option"* noalias readonly dereferenceable(16) %_36) br label %bb12 bb12: ; preds = %bb11 %27 = xor i1 %26, true br i1 %27, label %bb13, label %bb14 bb13: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h3a70f7050b6cfee5E) unreachable bb14: ; preds = %bb12 %28 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb15 bb15: ; preds = %bb14 %29 = icmp uge i16 %28, 17 %30 = xor i1 %29, true br i1 %30, label %bb16, label %bb17 bb16: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h37de92384018f33eE) unreachable bb17: ; preds = %bb15 %31 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %32 = load i64, i64* %31 %33 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 2 %34 = load i64, i64* %33 %35 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %32, i64 %34) %36 = extractvalue { i64, i1 } %35, 0 %37 = extractvalue { i64, i1 } %35, 1 %38 = call i1 @llvm.expect.i1(i1 %37, i1 false) br i1 %38, label %panic, label %bb18 bb18: ; preds = %bb17 br label %bb19 bb19: ; preds = %bb18 %39 = icmp ult i64 %36, 2305843009213693952 %40 = xor i1 %39, true br i1 %40, label %bb20, label %bb21 bb20: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h0da3276de3ff69eaE) unreachable bb21: ; preds = %bb19 %41 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %42 = load i64, i64* %41 %43 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 2 %44 = load i64, i64* %43 %45 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %42, i64 %44) %46 = extractvalue { i64, i1 } %45, 0 %47 = extractvalue { i64, i1 } %45, 1 %48 = call i1 @llvm.expect.i1(i1 %47, i1 false) br i1 %48, label %panic11, label %bb22 bb22: ; preds = %bb21 %49 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %50 = load i16, i16* %49 %51 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_61, i32 0, i32 0 store i64 %46, i64* %51 %52 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_61, i32 0, i32 1 store i16 %50, i16* %52 call void @_ZN4core3num9diy_float2Fp9normalize17h78d98e4ca9647a41E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %plus, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %_61) br label %bb23 bb23: ; preds = %bb22 %53 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %54 = load i64, i64* %53 %55 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 1 %56 = load i64, i64* %55 %57 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %54, i64 %56) %58 = extractvalue { i64, i1 } %57, 0 %59 = extractvalue { i64, i1 } %57, 1 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic12, label %bb24 bb24: ; preds = %bb23 %61 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %62 = load i16, i16* %61 %63 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_69, i32 0, i32 0 store i64 %58, i64* %63 %64 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_69, i32 0, i32 1 store i16 %62, i16* %64 %65 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %plus, i32 0, i32 1 %66 = load i16, i16* %65 call void @_ZN4core3num9diy_float2Fp12normalize_to17hcafcc3eea2e9e743E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %minus, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %_69, i16 %66) br label %bb25 bb25: ; preds = %bb24 %67 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %68 = load i64, i64* %67 %69 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %70 = load i16, i16* %69 %71 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_78, i32 0, i32 0 store i64 %68, i64* %71 %72 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_78, i32 0, i32 1 store i16 %70, i16* %72 %73 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %plus, i32 0, i32 1 %74 = load i16, i16* %73 call void @_ZN4core3num9diy_float2Fp12normalize_to17hcafcc3eea2e9e743E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %v, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %_78, i16 %74) br label %bb26 bb26: ; preds = %bb25 %75 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %plus, i32 0, i32 1 %76 = load i16, i16* %75 %77 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 -60, i16 %76) %78 = extractvalue { i16, i1 } %77, 0 %79 = extractvalue { i16, i1 } %77, 1 %80 = call i1 @llvm.expect.i1(i1 %79, i1 false) br i1 %80, label %panic13, label %bb27 bb27: ; preds = %bb26 %81 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %78, i16 64) %82 = extractvalue { i16, i1 } %81, 0 %83 = extractvalue { i16, i1 } %81, 1 %84 = call i1 @llvm.expect.i1(i1 %83, i1 false) br i1 %84, label %panic14, label %bb28 bb28: ; preds = %bb27 %85 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %plus, i32 0, i32 1 %86 = load i16, i16* %85 %87 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 -32, i16 %86) %88 = extractvalue { i16, i1 } %87, 0 %89 = extractvalue { i16, i1 } %87, 1 %90 = call i1 @llvm.expect.i1(i1 %89, i1 false) br i1 %90, label %panic15, label %bb29 bb29: ; preds = %bb28 %91 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %88, i16 64) %92 = extractvalue { i16, i1 } %91, 0 %93 = extractvalue { i16, i1 } %91, 1 %94 = call i1 @llvm.expect.i1(i1 %93, i1 false) br i1 %94, label %panic16, label %bb30 bb30: ; preds = %bb29 call void @_ZN4core3num7flt2dec8strategy5grisu12cached_power17hbaf9d372743bc462E({ i16, %"num::diy_float::Fp" }* noalias nocapture sret dereferenceable(24) %_84, i16 %82, i16 %92) br label %bb31 bb31: ; preds = %bb30 %95 = getelementptr inbounds { i16, %"num::diy_float::Fp" }, { i16, %"num::diy_float::Fp" }* %_84, i32 0, i32 0 %96 = load i16, i16* %95 %97 = getelementptr inbounds { i16, %"num::diy_float::Fp" }, { i16, %"num::diy_float::Fp" }* %_84, i32 0, i32 1 %98 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %97, i32 0, i32 0 %99 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %97, i32 0, i32 1 %100 = load i64, i64* %98 %101 = load i16, i16* %99 %102 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %cached, i32 0, i32 0 store i64 %100, i64* %102 %103 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %cached, i32 0, i32 1 store i16 %101, i16* %103 call void @_ZN4core3num9diy_float2Fp3mul17had1961a1cde23aabE(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %plus1, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %plus, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %cached) br label %bb32 bb32: ; preds = %bb31 call void @_ZN4core3num9diy_float2Fp3mul17had1961a1cde23aabE(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %minus2, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %minus, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %cached) br label %bb33 bb33: ; preds = %bb32 call void @_ZN4core3num9diy_float2Fp3mul17had1961a1cde23aabE(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %v3, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %v, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %cached) br label %bb34 bb34: ; preds = %bb33 %104 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %plus1, i32 0, i32 1 %105 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %minus2, i32 0, i32 1 %106 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_109, i32 0, i32 0 store i16* %104, i16** %106 %107 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_109, i32 0, i32 1 store i16* %105, i16** %107 %108 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_109, i32 0, i32 0 %109 = load i16*, i16** %108, !nonnull !1 store i16* %109, i16** %left_val %110 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_109, i32 0, i32 1 %111 = load i16*, i16** %110, !nonnull !1 store i16* %111, i16** %right_val %112 = load i16*, i16** %left_val, !nonnull !1 %113 = load i16, i16* %112 %114 = load i16*, i16** %right_val, !nonnull !1 %115 = load i16, i16* %114 %116 = icmp eq i16 %113, %115 %117 = xor i1 %116, true br i1 %117, label %bb35, label %bb36 bb35: ; preds = %bb34 %118 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR17h4c4f98d23281d852E, i32 0, i32 0), !nonnull !1 %119 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR17h4c4f98d23281d852E, i32 0, i32 1) %120 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_124, i32 0, i32 0 store i16** %left_val, i16*** %120 %121 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_124, i32 0, i32 1 store i16** %right_val, i16*** %121 %122 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_124, i32 0, i32 0 %123 = load i16**, i16*** %122, !nonnull !1 %124 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_124, i32 0, i32 1 %125 = load i16**, i16*** %124, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h3fad3884e14b0712E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i16** noalias readonly dereferenceable(2) %123, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7dc37617bd1042e0E") %126 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %127 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %128 = load %"fmt::Void"*, %"fmt::Void"** %126, !nonnull !1 %129 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %127, !nonnull !1 br label %bb37 bb36: ; preds = %bb34 %130 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %plus1, i32 0, i32 1 %131 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %v3, i32 0, i32 1 %132 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_139, i32 0, i32 0 store i16* %130, i16** %132 %133 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_139, i32 0, i32 1 store i16* %131, i16** %133 %134 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_139, i32 0, i32 0 %135 = load i16*, i16** %134, !nonnull !1 store i16* %135, i16** %left_val4 %136 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_139, i32 0, i32 1 %137 = load i16*, i16** %136, !nonnull !1 store i16* %137, i16** %right_val5 %138 = load i16*, i16** %left_val4, !nonnull !1 %139 = load i16, i16* %138 %140 = load i16*, i16** %right_val5, !nonnull !1 %141 = load i16, i16* %140 %142 = icmp eq i16 %139, %141 %143 = xor i1 %142, true br i1 %143, label %bb40, label %bb41 bb37: ; preds = %bb35 call void @_ZN4core3fmt10ArgumentV13new17h3fad3884e14b0712E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret17, i16** noalias readonly dereferenceable(2) %125, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7dc37617bd1042e0E") %144 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret17, i32 0, i32 0 %145 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret17, i32 0, i32 1 %146 = load %"fmt::Void"*, %"fmt::Void"** %144, !nonnull !1 %147 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %145, !nonnull !1 br label %bb38 bb38: ; preds = %bb37 %148 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_123, i32 0, i32 0 %149 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %148, i32 0, i32 0 store %"fmt::Void"* %128, %"fmt::Void"** %149 %150 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %148, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %129, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %150 %151 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_123, i32 0, i32 1 %152 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %151, i32 0, i32 0 store %"fmt::Void"* %146, %"fmt::Void"** %152 %153 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %151, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %147, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %153 %154 = bitcast [2 x %"fmt::ArgumentV1"]* %_123 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_118, %str_slice* noalias nonnull readonly %118, i16 %119, %"fmt::ArgumentV1"* noalias nonnull readonly %154, i16 2) br label %bb39 bb39: ; preds = %bb38 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_118, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt10_FILE_LINE17h57ef23ecafbcb0c3E) unreachable bb40: ; preds = %bb36 %155 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR17h515b28cf16a894beE, i32 0, i32 0), !nonnull !1 %156 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR17h515b28cf16a894beE, i32 0, i32 1) %157 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_154, i32 0, i32 0 store i16** %left_val4, i16*** %157 %158 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_154, i32 0, i32 1 store i16** %right_val5, i16*** %158 %159 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_154, i32 0, i32 0 %160 = load i16**, i16*** %159, !nonnull !1 %161 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_154, i32 0, i32 1 %162 = load i16**, i16*** %161, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h3fad3884e14b0712E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret18, i16** noalias readonly dereferenceable(2) %160, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7dc37617bd1042e0E") %163 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret18, i32 0, i32 0 %164 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret18, i32 0, i32 1 %165 = load %"fmt::Void"*, %"fmt::Void"** %163, !nonnull !1 %166 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %164, !nonnull !1 br label %bb42 bb41: ; preds = %bb36 %167 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %plus1, i32 0, i32 0 %168 = load i64, i64* %167 %169 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %168, i64 1) %170 = extractvalue { i64, i1 } %169, 0 %171 = extractvalue { i64, i1 } %169, 1 %172 = call i1 @llvm.expect.i1(i1 %171, i1 false) br i1 %172, label %panic20, label %bb45 bb42: ; preds = %bb40 call void @_ZN4core3fmt10ArgumentV13new17h3fad3884e14b0712E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret19, i16** noalias readonly dereferenceable(2) %162, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7dc37617bd1042e0E") %173 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret19, i32 0, i32 0 %174 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret19, i32 0, i32 1 %175 = load %"fmt::Void"*, %"fmt::Void"** %173, !nonnull !1 %176 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %174, !nonnull !1 br label %bb43 bb43: ; preds = %bb42 %177 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_153, i32 0, i32 0 %178 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %177, i32 0, i32 0 store %"fmt::Void"* %165, %"fmt::Void"** %178 %179 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %177, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %166, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %179 %180 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_153, i32 0, i32 1 %181 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %180, i32 0, i32 0 store %"fmt::Void"* %175, %"fmt::Void"** %181 %182 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %180, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %176, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %182 %183 = bitcast [2 x %"fmt::ArgumentV1"]* %_153 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_148, %str_slice* noalias nonnull readonly %155, i16 %156, %"fmt::ArgumentV1"* noalias nonnull readonly %183, i16 2) br label %bb44 bb44: ; preds = %bb43 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_148, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt10_FILE_LINE17h7c0b2edd85257991E) unreachable bb45: ; preds = %bb41 %184 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %minus2, i32 0, i32 0 %185 = load i64, i64* %184 %186 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %185, i64 1) %187 = extractvalue { i64, i1 } %186, 0 %188 = extractvalue { i64, i1 } %186, 1 %189 = call i1 @llvm.expect.i1(i1 %188, i1 false) br i1 %189, label %panic21, label %bb46 bb46: ; preds = %bb45 %190 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %plus1, i32 0, i32 1 %191 = load i16, i16* %190 %192 = icmp eq i16 %191, -32768 %193 = call i1 @llvm.expect.i1(i1 %192, i1 false) br i1 %193, label %panic22, label %bb47 bb47: ; preds = %bb46 %194 = sub i16 0, %191 %195 = and i16 %194, -64 %196 = icmp ne i16 %195, 0 %197 = zext i16 %194 to i64 %198 = and i64 %197, 63 %199 = lshr i64 %170, %198 %200 = call i1 @llvm.expect.i1(i1 %196, i1 false) br i1 %200, label %panic23, label %bb48 bb48: ; preds = %bb47 %201 = trunc i64 %199 to i32 %202 = and i16 %194, -64 %203 = icmp ne i16 %202, 0 %204 = zext i16 %194 to i64 %205 = and i64 %204, 63 %206 = shl i64 1, %205 %207 = call i1 @llvm.expect.i1(i1 %203, i1 false) br i1 %207, label %panic24, label %bb49 bb49: ; preds = %bb48 %208 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %206, i64 1) %209 = extractvalue { i64, i1 } %208, 0 %210 = extractvalue { i64, i1 } %208, 1 %211 = call i1 @llvm.expect.i1(i1 %210, i1 false) br i1 %211, label %panic25, label %bb50 bb50: ; preds = %bb49 %212 = and i64 %170, %209 call void @_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17h73c2af29a574d6d9E({ i8, i32 }* noalias nocapture sret dereferenceable(8) %tmp_ret26, i32 %201) %213 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %tmp_ret26, i32 0, i32 0 %214 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %tmp_ret26, i32 0, i32 1 %215 = load i8, i8* %213 %216 = load i32, i32* %214 br label %bb51 bb51: ; preds = %bb50 store i16 0, i16* %i %217 = zext i8 %215 to i16 %218 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %217, i16 %96) %219 = extractvalue { i16, i1 } %218, 0 %220 = extractvalue { i16, i1 } %218, 1 %221 = call i1 @llvm.expect.i1(i1 %220, i1 false) br i1 %221, label %panic27, label %bb52 bb52: ; preds = %bb51 %222 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %219, i16 1) %223 = extractvalue { i16, i1 } %222, 0 %224 = extractvalue { i16, i1 } %222, 1 %225 = call i1 @llvm.expect.i1(i1 %224, i1 false) br i1 %225, label %panic28, label %bb53 bb53: ; preds = %bb52 %226 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %170, i64 %187) %227 = extractvalue { i64, i1 } %226, 0 %228 = extractvalue { i64, i1 } %226, 1 %229 = call i1 @llvm.expect.i1(i1 %228, i1 false) br i1 %229, label %panic29, label %bb54 bb54: ; preds = %bb53 %230 = and i16 %194, -64 %231 = icmp ne i16 %230, 0 %232 = zext i16 %194 to i64 %233 = and i64 %232, 63 %234 = shl i64 1, %233 %235 = call i1 @llvm.expect.i1(i1 %231, i1 false) br i1 %235, label %panic30, label %bb55 bb55: ; preds = %bb54 %236 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %234, i64 1) %237 = extractvalue { i64, i1 } %236, 0 %238 = extractvalue { i64, i1 } %236, 1 %239 = call i1 @llvm.expect.i1(i1 %238, i1 false) br i1 %239, label %panic31, label %bb56 bb56: ; preds = %bb55 %240 = and i64 %227, %237 %241 = zext i8 %215 to i16 store i16 %241, i16* %kappa store i32 %216, i32* %ten_kappa store i32 %201, i32* %remainder br label %bb57 bb57: ; preds = %bb87, %bb56 %242 = load i32, i32* %remainder %243 = load i32, i32* %ten_kappa %244 = icmp eq i32 %243, 0 %245 = call i1 @llvm.expect.i1(i1 %244, i1 false) br i1 %245, label %panic32, label %bb58 bb58: ; preds = %bb57 %246 = udiv i32 %242, %243 %247 = load i32, i32* %remainder %248 = load i32, i32* %ten_kappa %249 = icmp eq i32 %248, 0 %250 = call i1 @llvm.expect.i1(i1 %249, i1 false) br i1 %250, label %panic33, label %bb59 bb59: ; preds = %bb58 %251 = urem i32 %247, %248 %252 = icmp ult i32 %246, 10 %253 = xor i1 %252, true br i1 %253, label %bb60, label %bb61 bb60: ; preds = %bb59 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h109dcff1456e0431E) unreachable bb61: ; preds = %bb59 %254 = trunc i32 %246 to i8 %255 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %254) %256 = extractvalue { i8, i1 } %255, 0 %257 = extractvalue { i8, i1 } %255, 1 %258 = call i1 @llvm.expect.i1(i1 %257, i1 false) br i1 %258, label %panic34, label %bb62 bb62: ; preds = %bb61 %259 = load i16, i16* %i %260 = icmp ult i16 %259, %3 %261 = call i1 @llvm.expect.i1(i1 %260, i1 true) br i1 %261, label %bb63, label %panic35 bb63: ; preds = %bb62 %262 = getelementptr inbounds i8, i8* %2, i16 %259 store i8 %256, i8* %262 %263 = load i16, i16* %i %264 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %263, i16 1) %265 = extractvalue { i16, i1 } %264, 0 %266 = extractvalue { i16, i1 } %264, 1 %267 = call i1 @llvm.expect.i1(i1 %266, i1 false) br i1 %267, label %panic36, label %bb64 bb64: ; preds = %bb63 store i16 %265, i16* %i %268 = zext i32 %251 to i64 %269 = and i16 %194, -64 %270 = icmp ne i16 %269, 0 %271 = zext i16 %194 to i64 %272 = and i64 %271, 63 %273 = shl i64 %268, %272 %274 = call i1 @llvm.expect.i1(i1 %270, i1 false) br i1 %274, label %panic37, label %bb65 bb65: ; preds = %bb64 %275 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %273, i64 %212) %276 = extractvalue { i64, i1 } %275, 0 %277 = extractvalue { i64, i1 } %275, 1 %278 = call i1 @llvm.expect.i1(i1 %277, i1 false) br i1 %278, label %panic38, label %bb66 bb66: ; preds = %bb65 %279 = icmp ult i64 %276, %227 br i1 %279, label %bb67, label %bb68 bb67: ; preds = %bb66 %280 = load i32, i32* %ten_kappa %281 = zext i32 %280 to i64 %282 = and i16 %194, -64 %283 = icmp ne i16 %282, 0 %284 = zext i16 %194 to i64 %285 = and i64 %284, 63 %286 = shl i64 %281, %285 %287 = call i1 @llvm.expect.i1(i1 %283, i1 false) br i1 %287, label %panic39, label %bb69 bb68: ; preds = %bb66 %288 = load i16, i16* %i %289 = zext i8 %215 to i16 %290 = icmp ugt i16 %288, %289 br i1 %290, label %bb75, label %bb74 bb69: ; preds = %bb67 %291 = load i16, i16* %i %292 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_263, i32 0, i32 0 store i16 %291, i16* %292 %293 = bitcast %"ops::RangeTo"* %_263 to i16* %294 = load i16, i16* %293, align 2 %295 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %2, i16 %3, i16 %294) %296 = extractvalue { i8*, i16 } %295, 0 %297 = extractvalue { i8*, i16 } %295, 1 br label %bb70 bb70: ; preds = %bb69 %298 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %v3, i32 0, i32 0 %299 = load i64, i64* %298 %300 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %170, i64 %299) %301 = extractvalue { i64, i1 } %300, 0 %302 = extractvalue { i64, i1 } %300, 1 %303 = call i1 @llvm.expect.i1(i1 %302, i1 false) br i1 %303, label %panic40, label %bb71 bb71: ; preds = %bb70 call void @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14round_and_weed17h8c391a9fb01a3013E(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(6) %0, i8* nonnull %296, i16 %297, i16 %223, i64 %276, i64 %227, i64 %301, i64 %286, i64 1) br label %bb72 bb72: ; preds = %bb71 br label %bb73 bb73: ; preds = %bb106, %bb72 ret void bb74: ; preds = %bb68 %304 = load i16, i16* %kappa %305 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %304, i16 1) %306 = extractvalue { i16, i1 } %305, 0 %307 = extractvalue { i16, i1 } %305, 1 %308 = call i1 @llvm.expect.i1(i1 %307, i1 false) br i1 %308, label %panic58, label %bb86 bb75: ; preds = %bb68 %309 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %_280, i32 0, i32 0 store i32* %ten_kappa, i32** %309 %310 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %_280, i32 0, i32 1 store i32* @ref.1q, i32** %310 %311 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %_280, i32 0, i32 0 %312 = load i32*, i32** %311, !nonnull !1 store i32* %312, i32** %left_val6 %313 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %_280, i32 0, i32 1 %314 = load i32*, i32** %313, !nonnull !1 store i32* %314, i32** %right_val7 %315 = load i32*, i32** %left_val6, !nonnull !1 %316 = load i32, i32* %315 %317 = load i32*, i32** %right_val7, !nonnull !1 %318 = load i32, i32* %317 %319 = icmp eq i32 %316, %318 %320 = xor i1 %319, true br i1 %320, label %bb76, label %bb77 bb76: ; preds = %bb75 %321 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR17h4348e75db3472106E, i32 0, i32 0), !nonnull !1 %322 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR17h4348e75db3472106E, i32 0, i32 1) %323 = getelementptr inbounds { i32**, i32** }, { i32**, i32** }* %_295, i32 0, i32 0 store i32** %left_val6, i32*** %323 %324 = getelementptr inbounds { i32**, i32** }, { i32**, i32** }* %_295, i32 0, i32 1 store i32** %right_val7, i32*** %324 %325 = getelementptr inbounds { i32**, i32** }, { i32**, i32** }* %_295, i32 0, i32 0 %326 = load i32**, i32*** %325, !nonnull !1 %327 = getelementptr inbounds { i32**, i32** }, { i32**, i32** }* %_295, i32 0, i32 1 %328 = load i32**, i32*** %327, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2f3aff6ed7c5c9d5E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret41, i32** noalias readonly dereferenceable(2) %326, i8 (i32**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0e077634f524ed68E") %329 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret41, i32 0, i32 0 %330 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret41, i32 0, i32 1 %331 = load %"fmt::Void"*, %"fmt::Void"** %329, !nonnull !1 %332 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %330, !nonnull !1 br label %bb78 bb77: ; preds = %bb75 %333 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_310, i32 0, i32 0 store i16* %kappa, i16** %333 %334 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_310, i32 0, i32 1 store i16* @ref.1r, i16** %334 %335 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_310, i32 0, i32 0 %336 = load i16*, i16** %335, !nonnull !1 store i16* %336, i16** %left_val8 %337 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_310, i32 0, i32 1 %338 = load i16*, i16** %337, !nonnull !1 store i16* %338, i16** %right_val9 %339 = load i16*, i16** %left_val8, !nonnull !1 %340 = load i16, i16* %339 %341 = load i16*, i16** %right_val9, !nonnull !1 %342 = load i16, i16* %341 %343 = icmp eq i16 %340, %342 %344 = xor i1 %343, true br i1 %344, label %bb81, label %bb82 bb78: ; preds = %bb76 call void @_ZN4core3fmt10ArgumentV13new17h2f3aff6ed7c5c9d5E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret42, i32** noalias readonly dereferenceable(2) %328, i8 (i32**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0e077634f524ed68E") %345 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret42, i32 0, i32 0 %346 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret42, i32 0, i32 1 %347 = load %"fmt::Void"*, %"fmt::Void"** %345, !nonnull !1 %348 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %346, !nonnull !1 br label %bb79 bb79: ; preds = %bb78 %349 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_294, i32 0, i32 0 %350 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %349, i32 0, i32 0 store %"fmt::Void"* %331, %"fmt::Void"** %350 %351 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %349, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %332, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %351 %352 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_294, i32 0, i32 1 %353 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %352, i32 0, i32 0 store %"fmt::Void"* %347, %"fmt::Void"** %353 %354 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %352, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %348, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %354 %355 = bitcast [2 x %"fmt::ArgumentV1"]* %_294 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_289, %str_slice* noalias nonnull readonly %321, i16 %322, %"fmt::ArgumentV1"* noalias nonnull readonly %355, i16 2) br label %bb80 bb80: ; preds = %bb79 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_289, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt10_FILE_LINE17h8a1e3b8c35e1caf6E) unreachable bb81: ; preds = %bb77 %356 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR17h1411230bd459a35cE, i32 0, i32 0), !nonnull !1 %357 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR17h1411230bd459a35cE, i32 0, i32 1) %358 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_325, i32 0, i32 0 store i16** %left_val8, i16*** %358 %359 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_325, i32 0, i32 1 store i16** %right_val9, i16*** %359 %360 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_325, i32 0, i32 0 %361 = load i16**, i16*** %360, !nonnull !1 %362 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_325, i32 0, i32 1 %363 = load i16**, i16*** %362, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h3fad3884e14b0712E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret43, i16** noalias readonly dereferenceable(2) %361, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7dc37617bd1042e0E") %364 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret43, i32 0, i32 0 %365 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret43, i32 0, i32 1 %366 = load %"fmt::Void"*, %"fmt::Void"** %364, !nonnull !1 %367 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %365, !nonnull !1 br label %bb83 bb82: ; preds = %bb77 store i64 %212, i64* %remainder10 store i64 %240, i64* %threshold store i64 1, i64* %ulp br label %bb88 bb83: ; preds = %bb81 call void @_ZN4core3fmt10ArgumentV13new17h3fad3884e14b0712E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret44, i16** noalias readonly dereferenceable(2) %363, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7dc37617bd1042e0E") %368 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret44, i32 0, i32 0 %369 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret44, i32 0, i32 1 %370 = load %"fmt::Void"*, %"fmt::Void"** %368, !nonnull !1 %371 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %369, !nonnull !1 br label %bb84 bb84: ; preds = %bb83 %372 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_324, i32 0, i32 0 %373 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %372, i32 0, i32 0 store %"fmt::Void"* %366, %"fmt::Void"** %373 %374 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %372, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %367, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %374 %375 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_324, i32 0, i32 1 %376 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %375, i32 0, i32 0 store %"fmt::Void"* %370, %"fmt::Void"** %376 %377 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %375, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %371, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %377 %378 = bitcast [2 x %"fmt::ArgumentV1"]* %_324 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_319, %str_slice* noalias nonnull readonly %356, i16 %357, %"fmt::ArgumentV1"* noalias nonnull readonly %378, i16 2) br label %bb85 bb85: ; preds = %bb84 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_319, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt10_FILE_LINE17h55fcd72770337d88E) unreachable bb86: ; preds = %bb74 store i16 %306, i16* %kappa br label %bb87 bb87: ; preds = %bb86 %379 = load i32, i32* %ten_kappa %380 = udiv i32 %379, 10 store i32 %380, i32* %ten_kappa store i32 %251, i32* %remainder br label %bb57 bb88: ; preds = %bb107, %bb82 %381 = load i64, i64* %remainder10 %382 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %381, i64 10) %383 = extractvalue { i64, i1 } %382, 0 %384 = extractvalue { i64, i1 } %382, 1 %385 = call i1 @llvm.expect.i1(i1 %384, i1 false) br i1 %385, label %panic45, label %bb89 bb89: ; preds = %bb88 store i64 %383, i64* %remainder10 %386 = load i64, i64* %threshold %387 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %386, i64 10) %388 = extractvalue { i64, i1 } %387, 0 %389 = extractvalue { i64, i1 } %387, 1 %390 = call i1 @llvm.expect.i1(i1 %389, i1 false) br i1 %390, label %panic46, label %bb90 bb90: ; preds = %bb89 store i64 %388, i64* %threshold %391 = load i64, i64* %ulp %392 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %391, i64 10) %393 = extractvalue { i64, i1 } %392, 0 %394 = extractvalue { i64, i1 } %392, 1 %395 = call i1 @llvm.expect.i1(i1 %394, i1 false) br i1 %395, label %panic47, label %bb91 bb91: ; preds = %bb90 store i64 %393, i64* %ulp %396 = load i64, i64* %remainder10 %397 = and i16 %194, -64 %398 = icmp ne i16 %397, 0 %399 = zext i16 %194 to i64 %400 = and i64 %399, 63 %401 = lshr i64 %396, %400 %402 = call i1 @llvm.expect.i1(i1 %398, i1 false) br i1 %402, label %panic48, label %bb92 bb92: ; preds = %bb91 %403 = load i64, i64* %remainder10 %404 = and i16 %194, -64 %405 = icmp ne i16 %404, 0 %406 = zext i16 %194 to i64 %407 = and i64 %406, 63 %408 = shl i64 1, %407 %409 = call i1 @llvm.expect.i1(i1 %405, i1 false) br i1 %409, label %panic49, label %bb93 bb93: ; preds = %bb92 %410 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %408, i64 1) %411 = extractvalue { i64, i1 } %410, 0 %412 = extractvalue { i64, i1 } %410, 1 %413 = call i1 @llvm.expect.i1(i1 %412, i1 false) br i1 %413, label %panic50, label %bb94 bb94: ; preds = %bb93 %414 = and i64 %403, %411 %415 = icmp ult i64 %401, 10 %416 = xor i1 %415, true br i1 %416, label %bb95, label %bb96 bb95: ; preds = %bb94 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17ha15461ffe7637effE) unreachable bb96: ; preds = %bb94 %417 = trunc i64 %401 to i8 %418 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %417) %419 = extractvalue { i8, i1 } %418, 0 %420 = extractvalue { i8, i1 } %418, 1 %421 = call i1 @llvm.expect.i1(i1 %420, i1 false) br i1 %421, label %panic51, label %bb97 bb97: ; preds = %bb96 %422 = load i16, i16* %i %423 = icmp ult i16 %422, %3 %424 = call i1 @llvm.expect.i1(i1 %423, i1 true) br i1 %424, label %bb98, label %panic52 bb98: ; preds = %bb97 %425 = getelementptr inbounds i8, i8* %2, i16 %422 store i8 %419, i8* %425 %426 = load i16, i16* %i %427 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %426, i16 1) %428 = extractvalue { i16, i1 } %427, 0 %429 = extractvalue { i16, i1 } %427, 1 %430 = call i1 @llvm.expect.i1(i1 %429, i1 false) br i1 %430, label %panic53, label %bb99 bb99: ; preds = %bb98 store i16 %428, i16* %i %431 = load i64, i64* %threshold %432 = icmp ult i64 %414, %431 br i1 %432, label %bb100, label %bb101 bb100: ; preds = %bb99 %433 = and i16 %194, -64 %434 = icmp ne i16 %433, 0 %435 = zext i16 %194 to i64 %436 = and i64 %435, 63 %437 = shl i64 1, %436 %438 = call i1 @llvm.expect.i1(i1 %434, i1 false) br i1 %438, label %panic54, label %bb102 bb101: ; preds = %bb99 %439 = load i16, i16* %kappa %440 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %439, i16 1) %441 = extractvalue { i16, i1 } %440, 0 %442 = extractvalue { i16, i1 } %440, 1 %443 = call i1 @llvm.expect.i1(i1 %442, i1 false) br i1 %443, label %panic57, label %bb107 bb102: ; preds = %bb100 %444 = load i16, i16* %i %445 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_385, i32 0, i32 0 store i16 %444, i16* %445 %446 = bitcast %"ops::RangeTo"* %_385 to i16* %447 = load i16, i16* %446, align 2 %448 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %2, i16 %3, i16 %447) %449 = extractvalue { i8*, i16 } %448, 0 %450 = extractvalue { i8*, i16 } %448, 1 br label %bb103 bb103: ; preds = %bb102 %451 = load i64, i64* %threshold %452 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %v3, i32 0, i32 0 %453 = load i64, i64* %452 %454 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %170, i64 %453) %455 = extractvalue { i64, i1 } %454, 0 %456 = extractvalue { i64, i1 } %454, 1 %457 = call i1 @llvm.expect.i1(i1 %456, i1 false) br i1 %457, label %panic55, label %bb104 bb104: ; preds = %bb103 %458 = load i64, i64* %ulp %459 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %455, i64 %458) %460 = extractvalue { i64, i1 } %459, 0 %461 = extractvalue { i64, i1 } %459, 1 %462 = call i1 @llvm.expect.i1(i1 %461, i1 false) br i1 %462, label %panic56, label %bb105 bb105: ; preds = %bb104 %463 = load i64, i64* %ulp call void @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14round_and_weed17h8c391a9fb01a3013E(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(6) %0, i8* nonnull %449, i16 %450, i16 %223, i64 %414, i64 %451, i64 %460, i64 %437, i64 %463) br label %bb106 bb106: ; preds = %bb105 br label %bb73 bb107: ; preds = %bb101 store i16 %441, i16* %kappa store i64 %414, i64* %remainder10 br label %bb88 panic: ; preds = %bb17 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.Y) unreachable panic11: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.Z) unreachable panic12: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.10) unreachable panic13: ; preds = %bb26 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.11) unreachable panic14: ; preds = %bb27 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.11) unreachable panic15: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.11) unreachable panic16: ; preds = %bb29 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.11) unreachable panic20: ; preds = %bb41 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.12) unreachable panic21: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.13) unreachable panic22: ; preds = %bb46 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.14) unreachable panic23: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.16) unreachable panic24: ; preds = %bb48 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.18) unreachable panic25: ; preds = %bb49 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.19) unreachable panic27: ; preds = %bb51 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1a) unreachable panic28: ; preds = %bb52 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1b) unreachable panic29: ; preds = %bb53 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1c) unreachable panic30: ; preds = %bb54 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1d) unreachable panic31: ; preds = %bb55 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1e) unreachable panic32: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1g) unreachable panic33: ; preds = %bb58 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1i) unreachable panic34: ; preds = %bb61 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1j) unreachable panic35: ; preds = %bb62 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.1k, i16 %259, i16 %3) unreachable panic36: ; preds = %bb63 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1l) unreachable panic37: ; preds = %bb64 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1m) unreachable panic38: ; preds = %bb65 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1n) unreachable panic39: ; preds = %bb67 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1o) unreachable panic40: ; preds = %bb70 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1p) unreachable panic45: ; preds = %bb88 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1s) unreachable panic46: ; preds = %bb89 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1t) unreachable panic47: ; preds = %bb90 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1u) unreachable panic48: ; preds = %bb91 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1v) unreachable panic49: ; preds = %bb92 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1w) unreachable panic50: ; preds = %bb93 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1x) unreachable panic51: ; preds = %bb96 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1y) unreachable panic52: ; preds = %bb97 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.1z, i16 %422, i16 %3) unreachable panic53: ; preds = %bb98 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1A) unreachable panic54: ; preds = %bb100 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1B) unreachable panic55: ; preds = %bb103 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1C) unreachable panic56: ; preds = %bb104 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1D) unreachable panic57: ; preds = %bb101 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1E) unreachable panic58: ; preds = %bb74 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1F) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14round_and_weed17h8c391a9fb01a3013E(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(6), i8* nonnull, i16, i16, i64, i64, i64, i64, i64) unnamed_addr #1 { entry-block: %_122 = alloca { i16, i16 } %_108 = alloca i8 %_89 = alloca i8 %_79 = alloca i8 %_78 = alloca i8 %_77 = alloca {} %_69 = alloca {} %_68 = alloca {} %_66 = alloca {} %_47 = alloca i8 %_37 = alloca i8 %_36 = alloca i8 %_34 = alloca i8* %_32 = alloca {} %plus1w = alloca i64 %_15 = alloca {} br label %start start: ; preds = %entry-block %9 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %10 = xor i1 %9, true %11 = xor i1 %10, true br i1 %11, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14round_and_weed14_MSG_FILE_LINE17h00ba860aa30e15f3E) unreachable bb3: ; preds = %bb1 %12 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %6, i64 %8) %13 = extractvalue { i64, i1 } %12, 0 %14 = extractvalue { i64, i1 } %12, 1 %15 = call i1 @llvm.expect.i1(i1 %14, i1 false) br i1 %15, label %panic, label %bb4 bb4: ; preds = %bb3 %16 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %6, i64 %8) %17 = extractvalue { i64, i1 } %16, 0 %18 = extractvalue { i64, i1 } %16, 1 %19 = call i1 @llvm.expect.i1(i1 %18, i1 false) br i1 %19, label %panic1, label %bb5 bb5: ; preds = %bb4 store i64 %4, i64* %plus1w %20 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8last_mut17h2d18f1f808e149c5E"(i8* nonnull %1, i16 %2) store i8* %20, i8** %_34 br label %bb6 bb6: ; preds = %bb5 %21 = load i8*, i8** %_34 %22 = call dereferenceable(1) i8* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h1adfe9c72fa4b2a3E"(i8* %21) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb31, %bb7 %23 = load i64, i64* %plus1w %24 = icmp ult i64 %23, %17 br i1 %24, label %bb16, label %bb15 bb9: ; preds = %bb13 %25 = load i64, i64* %plus1w %26 = icmp ult i64 %25, %13 br i1 %26, label %bb38, label %bb37 bb10: ; preds = %bb22 store i8 1, i8* %_36 br label %bb13 bb11: ; preds = %bb22, %bb17 store i8 0, i8* %_36 br label %bb13 bb12: ; preds = %bb17 %27 = load i64, i64* %plus1w %28 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %27, i64 %7) %29 = extractvalue { i64, i1 } %28, 0 %30 = extractvalue { i64, i1 } %28, 1 %31 = call i1 @llvm.expect.i1(i1 %30, i1 false) br i1 %31, label %panic3, label %bb23 bb13: ; preds = %bb11, %bb10 %32 = load i8, i8* %_36, !range !2 %33 = trunc i8 %32 to i1 br i1 %33, label %bb27, label %bb9 bb14: ; preds = %bb18 store i8 1, i8* %_37 br label %bb17 bb15: ; preds = %bb18, %bb8 store i8 0, i8* %_37 br label %bb17 bb16: ; preds = %bb8 %34 = load i64, i64* %plus1w %35 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %5, i64 %34) %36 = extractvalue { i64, i1 } %35, 0 %37 = extractvalue { i64, i1 } %35, 1 %38 = call i1 @llvm.expect.i1(i1 %37, i1 false) br i1 %38, label %panic2, label %bb18 bb17: ; preds = %bb15, %bb14 %39 = load i8, i8* %_37, !range !2 %40 = trunc i8 %39 to i1 br i1 %40, label %bb12, label %bb11 bb18: ; preds = %bb16 %41 = icmp uge i64 %36, %7 br i1 %41, label %bb14, label %bb15 bb19: ; preds = %bb26, %bb23 store i8 1, i8* %_47 br label %bb22 bb20: ; preds = %bb26 store i8 0, i8* %_47 br label %bb22 bb21: ; preds = %bb23 %42 = load i64, i64* %plus1w %43 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %17, i64 %42) %44 = extractvalue { i64, i1 } %43, 0 %45 = extractvalue { i64, i1 } %43, 1 %46 = call i1 @llvm.expect.i1(i1 %45, i1 false) br i1 %46, label %panic4, label %bb24 bb22: ; preds = %bb20, %bb19 %47 = load i8, i8* %_47, !range !2 %48 = trunc i8 %47 to i1 br i1 %48, label %bb10, label %bb11 bb23: ; preds = %bb12 %49 = icmp ult i64 %29, %17 br i1 %49, label %bb19, label %bb21 bb24: ; preds = %bb21 %50 = load i64, i64* %plus1w %51 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %50, i64 %7) %52 = extractvalue { i64, i1 } %51, 0 %53 = extractvalue { i64, i1 } %51, 1 %54 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %54, label %panic5, label %bb25 bb25: ; preds = %bb24 %55 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %52, i64 %17) %56 = extractvalue { i64, i1 } %55, 0 %57 = extractvalue { i64, i1 } %55, 1 %58 = call i1 @llvm.expect.i1(i1 %57, i1 false) br i1 %58, label %panic6, label %bb26 bb26: ; preds = %bb25 %59 = icmp uge i64 %44, %56 br i1 %59, label %bb19, label %bb20 bb27: ; preds = %bb13 %60 = load i8, i8* %22 %61 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %60, i8 1) %62 = extractvalue { i8, i1 } %61, 0 %63 = extractvalue { i8, i1 } %61, 1 %64 = call i1 @llvm.expect.i1(i1 %63, i1 false) br i1 %64, label %panic7, label %bb28 bb28: ; preds = %bb27 store i8 %62, i8* %22 %65 = load i8, i8* %22 %66 = icmp ugt i8 %65, 48 %67 = xor i1 %66, true br i1 %67, label %bb29, label %bb30 bb29: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14round_and_weed14_MSG_FILE_LINE17h5da423b00701744cE) unreachable bb30: ; preds = %bb28 %68 = load i64, i64* %plus1w %69 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %68, i64 %7) %70 = extractvalue { i64, i1 } %69, 0 %71 = extractvalue { i64, i1 } %69, 1 %72 = call i1 @llvm.expect.i1(i1 %71, i1 false) br i1 %72, label %panic8, label %bb31 bb31: ; preds = %bb30 store i64 %70, i64* %plus1w br label %bb8 bb32: ; preds = %bb44 store i8 1, i8* %_78 br label %bb35 bb33: ; preds = %bb44, %bb39 store i8 0, i8* %_78 br label %bb35 bb34: ; preds = %bb39 %73 = load i64, i64* %plus1w %74 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %73, i64 %7) %75 = extractvalue { i64, i1 } %74, 0 %76 = extractvalue { i64, i1 } %74, 1 %77 = call i1 @llvm.expect.i1(i1 %76, i1 false) br i1 %77, label %panic10, label %bb45 bb35: ; preds = %bb33, %bb32 %78 = load i8, i8* %_78, !range !2 %79 = trunc i8 %78 to i1 br i1 %79, label %bb49, label %bb50 bb36: ; preds = %bb40 store i8 1, i8* %_79 br label %bb39 bb37: ; preds = %bb40, %bb9 store i8 0, i8* %_79 br label %bb39 bb38: ; preds = %bb9 %80 = load i64, i64* %plus1w %81 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %5, i64 %80) %82 = extractvalue { i64, i1 } %81, 0 %83 = extractvalue { i64, i1 } %81, 1 %84 = call i1 @llvm.expect.i1(i1 %83, i1 false) br i1 %84, label %panic9, label %bb40 bb39: ; preds = %bb37, %bb36 %85 = load i8, i8* %_79, !range !2 %86 = trunc i8 %85 to i1 br i1 %86, label %bb34, label %bb33 bb40: ; preds = %bb38 %87 = icmp uge i64 %82, %7 br i1 %87, label %bb36, label %bb37 bb41: ; preds = %bb48, %bb45 store i8 1, i8* %_89 br label %bb44 bb42: ; preds = %bb48 store i8 0, i8* %_89 br label %bb44 bb43: ; preds = %bb45 %88 = load i64, i64* %plus1w %89 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %13, i64 %88) %90 = extractvalue { i64, i1 } %89, 0 %91 = extractvalue { i64, i1 } %89, 1 %92 = call i1 @llvm.expect.i1(i1 %91, i1 false) br i1 %92, label %panic11, label %bb46 bb44: ; preds = %bb42, %bb41 %93 = load i8, i8* %_89, !range !2 %94 = trunc i8 %93 to i1 br i1 %94, label %bb32, label %bb33 bb45: ; preds = %bb34 %95 = icmp ult i64 %75, %13 br i1 %95, label %bb41, label %bb43 bb46: ; preds = %bb43 %96 = load i64, i64* %plus1w %97 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %96, i64 %7) %98 = extractvalue { i64, i1 } %97, 0 %99 = extractvalue { i64, i1 } %97, 1 %100 = call i1 @llvm.expect.i1(i1 %99, i1 false) br i1 %100, label %panic12, label %bb47 bb47: ; preds = %bb46 %101 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %98, i64 %13) %102 = extractvalue { i64, i1 } %101, 0 %103 = extractvalue { i64, i1 } %101, 1 %104 = call i1 @llvm.expect.i1(i1 %103, i1 false) br i1 %104, label %panic13, label %bb48 bb48: ; preds = %bb47 %105 = icmp uge i64 %90, %102 br i1 %105, label %bb41, label %bb42 bb49: ; preds = %bb35 %106 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i32 0, i32 0 store i16 0, i16* %106 br label %bb51 bb50: ; preds = %bb35 %107 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 2, i64 %8) %108 = extractvalue { i64, i1 } %107, 0 %109 = extractvalue { i64, i1 } %107, 1 %110 = call i1 @llvm.expect.i1(i1 %109, i1 false) br i1 %110, label %panic14, label %bb56 bb51: ; preds = %bb62, %bb49 ret void bb52: ; preds = %bb58 store i8 1, i8* %_108 br label %bb55 bb53: ; preds = %bb58, %bb56 store i8 0, i8* %_108 br label %bb55 bb54: ; preds = %bb56 %111 = load i64, i64* %plus1w %112 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 4, i64 %8) %113 = extractvalue { i64, i1 } %112, 0 %114 = extractvalue { i64, i1 } %112, 1 %115 = call i1 @llvm.expect.i1(i1 %114, i1 false) br i1 %115, label %panic15, label %bb57 bb55: ; preds = %bb53, %bb52 %116 = load i8, i8* %_108, !range !2 %117 = trunc i8 %116 to i1 br i1 %117, label %bb59, label %bb60 bb56: ; preds = %bb50 %118 = load i64, i64* %plus1w %119 = icmp ule i64 %108, %118 br i1 %119, label %bb54, label %bb53 bb57: ; preds = %bb54 %120 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %5, i64 %113) %121 = extractvalue { i64, i1 } %120, 0 %122 = extractvalue { i64, i1 } %120, 1 %123 = call i1 @llvm.expect.i1(i1 %122, i1 false) br i1 %123, label %panic16, label %bb58 bb58: ; preds = %bb57 %124 = icmp ule i64 %111, %121 br i1 %124, label %bb52, label %bb53 bb59: ; preds = %bb55 %125 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb61 bb60: ; preds = %bb55 %126 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i32 0, i32 0 store i16 0, i16* %126 br label %bb62 bb61: ; preds = %bb59 %127 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_122, i32 0, i32 0 store i16 %125, i16* %127 %128 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_122, i32 0, i32 1 store i16 %3, i16* %128 %129 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i32 0, i32 0 store i16 1, i16* %129 %130 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_122, i32 0, i32 0 %131 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_122, i32 0, i32 1 %132 = load i16, i16* %130 %133 = load i16, i16* %131 %134 = bitcast %"option::Option<(usize, i16)>"* %0 to { i16, { i16, i16 } }* %135 = getelementptr inbounds { i16, { i16, i16 } }, { i16, { i16, i16 } }* %134, i32 0, i32 1 %136 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %135, i32 0, i32 0 store i16 %132, i16* %136 %137 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %135, i32 0, i32 1 store i16 %133, i16* %137 br label %bb62 bb62: ; preds = %bb60, %bb61 br label %bb51 panic: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1G) unreachable panic1: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1H) unreachable panic2: ; preds = %bb16 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1I) unreachable panic3: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1J) unreachable panic4: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1K) unreachable panic5: ; preds = %bb24 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1L) unreachable panic6: ; preds = %bb25 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1K) unreachable panic7: ; preds = %bb27 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1M) unreachable panic8: ; preds = %bb30 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1N) unreachable panic9: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1O) unreachable panic10: ; preds = %bb34 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1P) unreachable panic11: ; preds = %bb43 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1Q) unreachable panic12: ; preds = %bb46 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1R) unreachable panic13: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1Q) unreachable panic14: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1S) unreachable panic15: ; preds = %bb54 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1S) unreachable panic16: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1T) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num7flt2dec8strategy5grisu15format_shortest17hb998b318e7afef08E({ i16, i16 }* noalias nocapture sret dereferenceable(4), %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32), i8* nonnull, i16) unnamed_addr #1 { entry-block: %_5 = alloca %"option::Option<(usize, i16)>" br label %start start: ; preds = %entry-block call void @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt17h77d3ed53feab7c11E(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(6) %_5, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %1, i8* nonnull %2, i16 %3) br label %bb1 bb1: ; preds = %start %4 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %_5, i32 0, i32 0 %5 = load i16, i16* %4, !range !3 switch i16 %5, label %bb3 [ i16 0, label %bb2 ] bb2: ; preds = %bb1 call void @_ZN4core3num7flt2dec8strategy6dragon15format_shortest17h0a14c12127ad9977E({ i16, i16 }* noalias nocapture sret dereferenceable(4) %0, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %1, i8* nonnull %2, i16 %3) br label %bb5 bb3: ; preds = %bb1 %6 = bitcast %"option::Option<(usize, i16)>"* %_5 to { i16, { i16, i16 } }* %7 = getelementptr inbounds { i16, { i16, i16 } }, { i16, { i16, i16 } }* %6, i32 0, i32 1 %8 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %7, i32 0, i32 0 %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %7, i32 0, i32 1 %10 = load i16, i16* %8 %11 = load i16, i16* %9 %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 0 store i16 %10, i16* %12 %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 1 store i16 %11, i16* %13 br label %bb4 bb4: ; preds = %bb5, %bb3 ret void bb5: ; preds = %bb2 br label %bb4 } ; Function Attrs: uwtable define void @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt17hcb8d6cd2b517462cE(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(6), %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32), i8* nonnull, i16, i16) unnamed_addr #1 { entry-block: %tmp_ret30 = alloca %"fmt::ArgumentV1" %tmp_ret29 = alloca %"fmt::ArgumentV1" %tmp_ret28 = alloca %"fmt::ArgumentV1" %tmp_ret27 = alloca %"fmt::ArgumentV1" %tmp_ret11 = alloca { i8, i32 } %tmp_ret = alloca %"num::diy_float::Fp" %_282 = alloca {} %_269 = alloca {} %_268 = alloca {} %_251 = alloca {} %remainder3 = alloca i64 %_228 = alloca { i16**, i16** } %_227 = alloca [2 x %"fmt::ArgumentV1"] %_222 = alloca %"fmt::Arguments" %right_val2 = alloca i16* %left_val1 = alloca i16* %_213 = alloca { i16*, i16* } %_212 = alloca {} %_211 = alloca {} %_198 = alloca { i32**, i32** } %_197 = alloca [2 x %"fmt::ArgumentV1"] %_192 = alloca %"fmt::Arguments" %right_val = alloca i32* %left_val = alloca i32* %_183 = alloca { i32*, i32* } %_182 = alloca {} %_181 = alloca {} %_176 = alloca {} %_150 = alloca {} %_137 = alloca {} %_136 = alloca {} %_127 = alloca {} %remainder = alloca i32 %ten_kappa = alloca i32 %kappa = alloca i16 %_115 = alloca {} %_114 = alloca {} %_98 = alloca {} %len = alloca i16 %i = alloca i16 %err = alloca i64 %_35 = alloca { i16, %"num::diy_float::Fp" } %cached = alloca %"num::diy_float::Fp" %_30 = alloca %"num::diy_float::Fp" %v = alloca %"num::diy_float::Fp" %_21 = alloca {} %_13 = alloca {} %_7 = alloca {} br label %start start: ; preds = %entry-block %5 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %6 = load i64, i64* %5 %7 = icmp ugt i64 %6, 0 %8 = xor i1 %7, true br i1 %8, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h80fddfc5e417b126E) unreachable bb2: ; preds = %start %9 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %10 = load i64, i64* %9 br label %bb3 bb3: ; preds = %bb2 %11 = icmp ult i64 %10, 2305843009213693952 %12 = xor i1 %11, true br i1 %12, label %bb4, label %bb5 bb4: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17ha148a1bc0a666077E) unreachable bb5: ; preds = %bb3 %13 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %2, i16 %3) br label %bb6 bb6: ; preds = %bb5 %14 = xor i1 %13, true %15 = xor i1 %14, true br i1 %15, label %bb7, label %bb8 bb7: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h187880aa687a841fE) unreachable bb8: ; preds = %bb6 %16 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 0 %17 = load i64, i64* %16 %18 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i32 0, i32 3 %19 = load i16, i16* %18 %20 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_30, i32 0, i32 0 store i64 %17, i64* %20 %21 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_30, i32 0, i32 1 store i16 %19, i16* %21 call void @_ZN4core3num9diy_float2Fp9normalize17h78d98e4ca9647a41E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %v, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %_30) br label %bb9 bb9: ; preds = %bb8 %22 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %v, i32 0, i32 1 %23 = load i16, i16* %22 %24 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 -60, i16 %23) %25 = extractvalue { i16, i1 } %24, 0 %26 = extractvalue { i16, i1 } %24, 1 %27 = call i1 @llvm.expect.i1(i1 %26, i1 false) br i1 %27, label %panic, label %bb10 bb10: ; preds = %bb9 %28 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %25, i16 64) %29 = extractvalue { i16, i1 } %28, 0 %30 = extractvalue { i16, i1 } %28, 1 %31 = call i1 @llvm.expect.i1(i1 %30, i1 false) br i1 %31, label %panic4, label %bb11 bb11: ; preds = %bb10 %32 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %v, i32 0, i32 1 %33 = load i16, i16* %32 %34 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 -32, i16 %33) %35 = extractvalue { i16, i1 } %34, 0 %36 = extractvalue { i16, i1 } %34, 1 %37 = call i1 @llvm.expect.i1(i1 %36, i1 false) br i1 %37, label %panic5, label %bb12 bb12: ; preds = %bb11 %38 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %35, i16 64) %39 = extractvalue { i16, i1 } %38, 0 %40 = extractvalue { i16, i1 } %38, 1 %41 = call i1 @llvm.expect.i1(i1 %40, i1 false) br i1 %41, label %panic6, label %bb13 bb13: ; preds = %bb12 call void @_ZN4core3num7flt2dec8strategy5grisu12cached_power17hbaf9d372743bc462E({ i16, %"num::diy_float::Fp" }* noalias nocapture sret dereferenceable(24) %_35, i16 %29, i16 %39) br label %bb14 bb14: ; preds = %bb13 %42 = getelementptr inbounds { i16, %"num::diy_float::Fp" }, { i16, %"num::diy_float::Fp" }* %_35, i32 0, i32 0 %43 = load i16, i16* %42 %44 = getelementptr inbounds { i16, %"num::diy_float::Fp" }, { i16, %"num::diy_float::Fp" }* %_35, i32 0, i32 1 %45 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %44, i32 0, i32 0 %46 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %44, i32 0, i32 1 %47 = load i64, i64* %45 %48 = load i16, i16* %46 %49 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %cached, i32 0, i32 0 store i64 %47, i64* %49 %50 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %cached, i32 0, i32 1 store i16 %48, i16* %50 call void @_ZN4core3num9diy_float2Fp3mul17had1961a1cde23aabE(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %tmp_ret, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %v, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %cached) %51 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %tmp_ret, i32 0, i32 0 %52 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %tmp_ret, i32 0, i32 1 %53 = load i64, i64* %51 %54 = load i16, i16* %52 br label %bb15 bb15: ; preds = %bb14 %55 = icmp eq i16 %54, -32768 %56 = call i1 @llvm.expect.i1(i1 %55, i1 false) br i1 %56, label %panic7, label %bb16 bb16: ; preds = %bb15 %57 = sub i16 0, %54 %58 = and i16 %57, -64 %59 = icmp ne i16 %58, 0 %60 = zext i16 %57 to i64 %61 = and i64 %60, 63 %62 = lshr i64 %53, %61 %63 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %63, label %panic8, label %bb17 bb17: ; preds = %bb16 %64 = trunc i64 %62 to i32 %65 = and i16 %57, -64 %66 = icmp ne i16 %65, 0 %67 = zext i16 %57 to i64 %68 = and i64 %67, 63 %69 = shl i64 1, %68 %70 = call i1 @llvm.expect.i1(i1 %66, i1 false) br i1 %70, label %panic9, label %bb18 bb18: ; preds = %bb17 %71 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %69, i64 1) %72 = extractvalue { i64, i1 } %71, 0 %73 = extractvalue { i64, i1 } %71, 1 %74 = call i1 @llvm.expect.i1(i1 %73, i1 false) br i1 %74, label %panic10, label %bb19 bb19: ; preds = %bb18 %75 = and i64 %53, %72 store i64 1, i64* %err call void @_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17h73c2af29a574d6d9E({ i8, i32 }* noalias nocapture sret dereferenceable(8) %tmp_ret11, i32 %64) %76 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %tmp_ret11, i32 0, i32 0 %77 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %tmp_ret11, i32 0, i32 1 %78 = load i8, i8* %76 %79 = load i32, i32* %77 br label %bb20 bb20: ; preds = %bb19 store i16 0, i16* %i %80 = zext i8 %78 to i16 %81 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %80, i16 %43) %82 = extractvalue { i16, i1 } %81, 0 %83 = extractvalue { i16, i1 } %81, 1 %84 = call i1 @llvm.expect.i1(i1 %83, i1 false) br i1 %84, label %panic12, label %bb21 bb21: ; preds = %bb20 %85 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %82, i16 1) %86 = extractvalue { i16, i1 } %85, 0 %87 = extractvalue { i16, i1 } %85, 1 %88 = call i1 @llvm.expect.i1(i1 %87, i1 false) br i1 %88, label %panic13, label %bb22 bb22: ; preds = %bb21 %89 = icmp sle i16 %86, %4 br i1 %89, label %bb23, label %bb24 bb23: ; preds = %bb22 br label %bb25 bb24: ; preds = %bb22 %90 = sext i16 %86 to i32 %91 = sext i16 %4 to i32 %92 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %90, i32 %91) %93 = extractvalue { i32, i1 } %92, 0 %94 = extractvalue { i32, i1 } %92, 1 %95 = call i1 @llvm.expect.i1(i1 %94, i1 false) br i1 %95, label %panic16, label %bb30 bb25: ; preds = %bb23 %96 = udiv i64 %53, 10 %97 = zext i32 %79 to i64 %98 = and i16 %57, -64 %99 = icmp ne i16 %98, 0 %100 = zext i16 %57 to i64 %101 = and i64 %100, 63 %102 = shl i64 %97, %101 %103 = call i1 @llvm.expect.i1(i1 %99, i1 false) br i1 %103, label %panic14, label %bb26 bb26: ; preds = %bb25 %104 = load i64, i64* %err %105 = and i16 %57, -64 %106 = icmp ne i16 %105, 0 %107 = zext i16 %57 to i64 %108 = and i64 %107, 63 %109 = shl i64 %104, %108 %110 = call i1 @llvm.expect.i1(i1 %106, i1 false) br i1 %110, label %panic15, label %bb27 bb27: ; preds = %bb26 call void @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14possibly_round17habc5d21b7f0f9892E(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(6) %0, i8* nonnull %2, i16 %3, i16 0, i16 %86, i16 %4, i64 %96, i64 %102, i64 %109) br label %bb28 bb28: ; preds = %bb27 br label %bb29 bb29: ; preds = %bb54, %bb28 ret void bb30: ; preds = %bb24 %111 = trunc i32 %93 to i16 %112 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb31 bb31: ; preds = %bb30 %113 = icmp ult i16 %111, %112 br i1 %113, label %bb32, label %bb33 bb32: ; preds = %bb31 %114 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %86, i16 %4) %115 = extractvalue { i16, i1 } %114, 0 %116 = extractvalue { i16, i1 } %114, 1 %117 = call i1 @llvm.expect.i1(i1 %116, i1 false) br i1 %117, label %panic17, label %bb34 bb33: ; preds = %bb31 %118 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) store i16 %118, i16* %len br label %bb35 bb34: ; preds = %bb32 store i16 %115, i16* %len br label %bb36 bb35: ; preds = %bb33 br label %bb36 bb36: ; preds = %bb35, %bb34 %119 = load i16, i16* %len %120 = icmp ugt i16 %119, 0 %121 = xor i1 %120, true br i1 %121, label %bb37, label %bb38 bb37: ; preds = %bb36 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h858dc0782860c7dfE) unreachable bb38: ; preds = %bb36 %122 = zext i8 %78 to i16 store i16 %122, i16* %kappa store i32 %79, i32* %ten_kappa store i32 %64, i32* %remainder br label %bb39 bb39: ; preds = %bb68, %bb38 %123 = load i32, i32* %remainder %124 = load i32, i32* %ten_kappa %125 = icmp eq i32 %124, 0 %126 = call i1 @llvm.expect.i1(i1 %125, i1 false) br i1 %126, label %panic18, label %bb40 bb40: ; preds = %bb39 %127 = udiv i32 %123, %124 %128 = load i32, i32* %remainder %129 = load i32, i32* %ten_kappa %130 = icmp eq i32 %129, 0 %131 = call i1 @llvm.expect.i1(i1 %130, i1 false) br i1 %131, label %panic19, label %bb41 bb41: ; preds = %bb40 %132 = urem i32 %128, %129 %133 = icmp ult i32 %127, 10 %134 = xor i1 %133, true br i1 %134, label %bb42, label %bb43 bb42: ; preds = %bb41 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h6a9f339045a7f79dE) unreachable bb43: ; preds = %bb41 %135 = trunc i32 %127 to i8 %136 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %135) %137 = extractvalue { i8, i1 } %136, 0 %138 = extractvalue { i8, i1 } %136, 1 %139 = call i1 @llvm.expect.i1(i1 %138, i1 false) br i1 %139, label %panic20, label %bb44 bb44: ; preds = %bb43 %140 = load i16, i16* %i %141 = icmp ult i16 %140, %3 %142 = call i1 @llvm.expect.i1(i1 %141, i1 true) br i1 %142, label %bb45, label %panic21 bb45: ; preds = %bb44 %143 = getelementptr inbounds i8, i8* %2, i16 %140 store i8 %137, i8* %143 %144 = load i16, i16* %i %145 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %144, i16 1) %146 = extractvalue { i16, i1 } %145, 0 %147 = extractvalue { i16, i1 } %145, 1 %148 = call i1 @llvm.expect.i1(i1 %147, i1 false) br i1 %148, label %panic22, label %bb46 bb46: ; preds = %bb45 store i16 %146, i16* %i %149 = load i16, i16* %i %150 = load i16, i16* %len %151 = icmp eq i16 %149, %150 br i1 %151, label %bb47, label %bb48 bb47: ; preds = %bb46 %152 = zext i32 %132 to i64 %153 = and i16 %57, -64 %154 = icmp ne i16 %153, 0 %155 = zext i16 %57 to i64 %156 = and i64 %155, 63 %157 = shl i64 %152, %156 %158 = call i1 @llvm.expect.i1(i1 %154, i1 false) br i1 %158, label %panic23, label %bb49 bb48: ; preds = %bb46 %159 = load i16, i16* %i %160 = zext i8 %78 to i16 %161 = icmp ugt i16 %159, %160 br i1 %161, label %bb56, label %bb55 bb49: ; preds = %bb47 %162 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %157, i64 %75) %163 = extractvalue { i64, i1 } %162, 0 %164 = extractvalue { i64, i1 } %162, 1 %165 = call i1 @llvm.expect.i1(i1 %164, i1 false) br i1 %165, label %panic24, label %bb50 bb50: ; preds = %bb49 %166 = load i16, i16* %len %167 = load i32, i32* %ten_kappa %168 = zext i32 %167 to i64 %169 = and i16 %57, -64 %170 = icmp ne i16 %169, 0 %171 = zext i16 %57 to i64 %172 = and i64 %171, 63 %173 = shl i64 %168, %172 %174 = call i1 @llvm.expect.i1(i1 %170, i1 false) br i1 %174, label %panic25, label %bb51 bb51: ; preds = %bb50 %175 = load i64, i64* %err %176 = and i16 %57, -64 %177 = icmp ne i16 %176, 0 %178 = zext i16 %57 to i64 %179 = and i64 %178, 63 %180 = shl i64 %175, %179 %181 = call i1 @llvm.expect.i1(i1 %177, i1 false) br i1 %181, label %panic26, label %bb52 bb52: ; preds = %bb51 call void @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14possibly_round17habc5d21b7f0f9892E(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(6) %0, i8* nonnull %2, i16 %3, i16 %166, i16 %86, i16 %4, i64 %163, i64 %173, i64 %180) br label %bb53 bb53: ; preds = %bb52 br label %bb54 bb54: ; preds = %bb88, %bb53 br label %bb29 bb55: ; preds = %bb48 %182 = load i16, i16* %kappa %183 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %182, i16 1) %184 = extractvalue { i16, i1 } %183, 0 %185 = extractvalue { i16, i1 } %183, 1 %186 = call i1 @llvm.expect.i1(i1 %185, i1 false) br i1 %186, label %panic42, label %bb67 bb56: ; preds = %bb48 %187 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %_183, i32 0, i32 0 store i32* %ten_kappa, i32** %187 %188 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %_183, i32 0, i32 1 store i32* @ref.1q, i32** %188 %189 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %_183, i32 0, i32 0 %190 = load i32*, i32** %189, !nonnull !1 store i32* %190, i32** %left_val %191 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %_183, i32 0, i32 1 %192 = load i32*, i32** %191, !nonnull !1 store i32* %192, i32** %right_val %193 = load i32*, i32** %left_val, !nonnull !1 %194 = load i32, i32* %193 %195 = load i32*, i32** %right_val, !nonnull !1 %196 = load i32, i32* %195 %197 = icmp eq i32 %194, %196 %198 = xor i1 %197, true br i1 %198, label %bb57, label %bb58 bb57: ; preds = %bb56 %199 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt15__STATIC_FMTSTR17h4afddc4284ba50d7E, i32 0, i32 0), !nonnull !1 %200 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt15__STATIC_FMTSTR17h4afddc4284ba50d7E, i32 0, i32 1) %201 = getelementptr inbounds { i32**, i32** }, { i32**, i32** }* %_198, i32 0, i32 0 store i32** %left_val, i32*** %201 %202 = getelementptr inbounds { i32**, i32** }, { i32**, i32** }* %_198, i32 0, i32 1 store i32** %right_val, i32*** %202 %203 = getelementptr inbounds { i32**, i32** }, { i32**, i32** }* %_198, i32 0, i32 0 %204 = load i32**, i32*** %203, !nonnull !1 %205 = getelementptr inbounds { i32**, i32** }, { i32**, i32** }* %_198, i32 0, i32 1 %206 = load i32**, i32*** %205, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2f3aff6ed7c5c9d5E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret27, i32** noalias readonly dereferenceable(2) %204, i8 (i32**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0e077634f524ed68E") %207 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret27, i32 0, i32 0 %208 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret27, i32 0, i32 1 %209 = load %"fmt::Void"*, %"fmt::Void"** %207, !nonnull !1 %210 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %208, !nonnull !1 br label %bb59 bb58: ; preds = %bb56 %211 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_213, i32 0, i32 0 store i16* %kappa, i16** %211 %212 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_213, i32 0, i32 1 store i16* @ref.1r, i16** %212 %213 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_213, i32 0, i32 0 %214 = load i16*, i16** %213, !nonnull !1 store i16* %214, i16** %left_val1 %215 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_213, i32 0, i32 1 %216 = load i16*, i16** %215, !nonnull !1 store i16* %216, i16** %right_val2 %217 = load i16*, i16** %left_val1, !nonnull !1 %218 = load i16, i16* %217 %219 = load i16*, i16** %right_val2, !nonnull !1 %220 = load i16, i16* %219 %221 = icmp eq i16 %218, %220 %222 = xor i1 %221, true br i1 %222, label %bb62, label %bb63 bb59: ; preds = %bb57 call void @_ZN4core3fmt10ArgumentV13new17h2f3aff6ed7c5c9d5E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret28, i32** noalias readonly dereferenceable(2) %206, i8 (i32**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0e077634f524ed68E") %223 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret28, i32 0, i32 0 %224 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret28, i32 0, i32 1 %225 = load %"fmt::Void"*, %"fmt::Void"** %223, !nonnull !1 %226 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %224, !nonnull !1 br label %bb60 bb60: ; preds = %bb59 %227 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_197, i32 0, i32 0 %228 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %227, i32 0, i32 0 store %"fmt::Void"* %209, %"fmt::Void"** %228 %229 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %227, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %210, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %229 %230 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_197, i32 0, i32 1 %231 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %230, i32 0, i32 0 store %"fmt::Void"* %225, %"fmt::Void"** %231 %232 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %230, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %226, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %232 %233 = bitcast [2 x %"fmt::ArgumentV1"]* %_197 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_192, %str_slice* noalias nonnull readonly %199, i16 %200, %"fmt::ArgumentV1"* noalias nonnull readonly %233, i16 2) br label %bb61 bb61: ; preds = %bb60 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_192, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt10_FILE_LINE17h310d5a372f4bc4c0E) unreachable bb62: ; preds = %bb58 %234 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt15__STATIC_FMTSTR17h7d6201b5640eb271E, i32 0, i32 0), !nonnull !1 %235 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt15__STATIC_FMTSTR17h7d6201b5640eb271E, i32 0, i32 1) %236 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_228, i32 0, i32 0 store i16** %left_val1, i16*** %236 %237 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_228, i32 0, i32 1 store i16** %right_val2, i16*** %237 %238 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_228, i32 0, i32 0 %239 = load i16**, i16*** %238, !nonnull !1 %240 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_228, i32 0, i32 1 %241 = load i16**, i16*** %240, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h3fad3884e14b0712E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret29, i16** noalias readonly dereferenceable(2) %239, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7dc37617bd1042e0E") %242 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret29, i32 0, i32 0 %243 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret29, i32 0, i32 1 %244 = load %"fmt::Void"*, %"fmt::Void"** %242, !nonnull !1 %245 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %243, !nonnull !1 br label %bb64 bb63: ; preds = %bb58 store i64 %75, i64* %remainder3 %246 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %57, i16 1) %247 = extractvalue { i16, i1 } %246, 0 %248 = extractvalue { i16, i1 } %246, 1 %249 = call i1 @llvm.expect.i1(i1 %248, i1 false) br i1 %249, label %panic31, label %bb69 bb64: ; preds = %bb62 call void @_ZN4core3fmt10ArgumentV13new17h3fad3884e14b0712E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret30, i16** noalias readonly dereferenceable(2) %241, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7dc37617bd1042e0E") %250 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret30, i32 0, i32 0 %251 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret30, i32 0, i32 1 %252 = load %"fmt::Void"*, %"fmt::Void"** %250, !nonnull !1 %253 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %251, !nonnull !1 br label %bb65 bb65: ; preds = %bb64 %254 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_227, i32 0, i32 0 %255 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %254, i32 0, i32 0 store %"fmt::Void"* %244, %"fmt::Void"** %255 %256 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %254, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %245, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %256 %257 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_227, i32 0, i32 1 %258 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %257, i32 0, i32 0 store %"fmt::Void"* %252, %"fmt::Void"** %258 %259 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %257, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %253, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %259 %260 = bitcast [2 x %"fmt::ArgumentV1"]* %_227 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_222, %str_slice* noalias nonnull readonly %234, i16 %235, %"fmt::ArgumentV1"* noalias nonnull readonly %260, i16 2) br label %bb66 bb66: ; preds = %bb65 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_222, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt10_FILE_LINE17hc551cc6a4508eaa2E) unreachable bb67: ; preds = %bb55 store i16 %184, i16* %kappa br label %bb68 bb68: ; preds = %bb67 %261 = load i32, i32* %ten_kappa %262 = udiv i32 %261, 10 store i32 %262, i32* %ten_kappa store i32 %132, i32* %remainder br label %bb39 bb69: ; preds = %bb63 %263 = and i16 %247, -64 %264 = icmp ne i16 %263, 0 %265 = zext i16 %247 to i64 %266 = and i64 %265, 63 %267 = shl i64 1, %266 %268 = call i1 @llvm.expect.i1(i1 %264, i1 false) br i1 %268, label %panic32, label %bb70 bb70: ; preds = %bb69 br label %bb71 bb71: ; preds = %bb85, %bb70 %269 = load i64, i64* %err %270 = icmp ult i64 %269, %267 br i1 %270, label %bb73, label %bb72 bb72: ; preds = %bb71 %271 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i32 0, i32 0 store i16 0, i16* %271 br label %bb88 bb73: ; preds = %bb71 %272 = load i64, i64* %remainder3 %273 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %272, i64 10) %274 = extractvalue { i64, i1 } %273, 0 %275 = extractvalue { i64, i1 } %273, 1 %276 = call i1 @llvm.expect.i1(i1 %275, i1 false) br i1 %276, label %panic33, label %bb74 bb74: ; preds = %bb73 store i64 %274, i64* %remainder3 %277 = load i64, i64* %err %278 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %277, i64 10) %279 = extractvalue { i64, i1 } %278, 0 %280 = extractvalue { i64, i1 } %278, 1 %281 = call i1 @llvm.expect.i1(i1 %280, i1 false) br i1 %281, label %panic34, label %bb75 bb75: ; preds = %bb74 store i64 %279, i64* %err %282 = load i64, i64* %remainder3 %283 = and i16 %57, -64 %284 = icmp ne i16 %283, 0 %285 = zext i16 %57 to i64 %286 = and i64 %285, 63 %287 = lshr i64 %282, %286 %288 = call i1 @llvm.expect.i1(i1 %284, i1 false) br i1 %288, label %panic35, label %bb76 bb76: ; preds = %bb75 %289 = load i64, i64* %remainder3 %290 = and i16 %57, -64 %291 = icmp ne i16 %290, 0 %292 = zext i16 %57 to i64 %293 = and i64 %292, 63 %294 = shl i64 1, %293 %295 = call i1 @llvm.expect.i1(i1 %291, i1 false) br i1 %295, label %panic36, label %bb77 bb77: ; preds = %bb76 %296 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %294, i64 1) %297 = extractvalue { i64, i1 } %296, 0 %298 = extractvalue { i64, i1 } %296, 1 %299 = call i1 @llvm.expect.i1(i1 %298, i1 false) br i1 %299, label %panic37, label %bb78 bb78: ; preds = %bb77 %300 = and i64 %289, %297 %301 = icmp ult i64 %287, 10 %302 = xor i1 %301, true br i1 %302, label %bb79, label %bb80 bb79: ; preds = %bb78 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h303b99628247ef64E) unreachable bb80: ; preds = %bb78 %303 = trunc i64 %287 to i8 %304 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %303) %305 = extractvalue { i8, i1 } %304, 0 %306 = extractvalue { i8, i1 } %304, 1 %307 = call i1 @llvm.expect.i1(i1 %306, i1 false) br i1 %307, label %panic38, label %bb81 bb81: ; preds = %bb80 %308 = load i16, i16* %i %309 = icmp ult i16 %308, %3 %310 = call i1 @llvm.expect.i1(i1 %309, i1 true) br i1 %310, label %bb82, label %panic39 bb82: ; preds = %bb81 %311 = getelementptr inbounds i8, i8* %2, i16 %308 store i8 %305, i8* %311 %312 = load i16, i16* %i %313 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %312, i16 1) %314 = extractvalue { i16, i1 } %313, 0 %315 = extractvalue { i16, i1 } %313, 1 %316 = call i1 @llvm.expect.i1(i1 %315, i1 false) br i1 %316, label %panic40, label %bb83 bb83: ; preds = %bb82 store i16 %314, i16* %i %317 = load i16, i16* %i %318 = load i16, i16* %len %319 = icmp eq i16 %317, %318 br i1 %319, label %bb84, label %bb85 bb84: ; preds = %bb83 %320 = load i16, i16* %len %321 = and i16 %57, -64 %322 = icmp ne i16 %321, 0 %323 = zext i16 %57 to i64 %324 = and i64 %323, 63 %325 = shl i64 1, %324 %326 = call i1 @llvm.expect.i1(i1 %322, i1 false) br i1 %326, label %panic41, label %bb86 bb85: ; preds = %bb83 store i64 %300, i64* %remainder3 br label %bb71 bb86: ; preds = %bb84 %327 = load i64, i64* %err call void @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14possibly_round17habc5d21b7f0f9892E(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(6) %0, i8* nonnull %2, i16 %3, i16 %320, i16 %86, i16 %4, i64 %300, i64 %325, i64 %327) br label %bb87 bb87: ; preds = %bb86 br label %bb88 bb88: ; preds = %bb72, %bb87 br label %bb54 panic: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1U) unreachable panic4: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1U) unreachable panic5: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1U) unreachable panic6: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1U) unreachable panic7: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1V) unreachable panic8: ; preds = %bb16 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1W) unreachable panic9: ; preds = %bb17 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1X) unreachable panic10: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1Y) unreachable panic12: ; preds = %bb20 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.1Z) unreachable panic13: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.20) unreachable panic14: ; preds = %bb25 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.21) unreachable panic15: ; preds = %bb26 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.21) unreachable panic16: ; preds = %bb24 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.22) unreachable panic17: ; preds = %bb32 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.23) unreachable panic18: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.24) unreachable panic19: ; preds = %bb40 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.25) unreachable panic20: ; preds = %bb43 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.26) unreachable panic21: ; preds = %bb44 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.27, i16 %140, i16 %3) unreachable panic22: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.28) unreachable panic23: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.29) unreachable panic24: ; preds = %bb49 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2a) unreachable panic25: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2b) unreachable panic26: ; preds = %bb51 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2b) unreachable panic31: ; preds = %bb63 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2c) unreachable panic32: ; preds = %bb69 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2d) unreachable panic33: ; preds = %bb73 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2e) unreachable panic34: ; preds = %bb74 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2f) unreachable panic35: ; preds = %bb75 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2g) unreachable panic36: ; preds = %bb76 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2h) unreachable panic37: ; preds = %bb77 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2i) unreachable panic38: ; preds = %bb80 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2j) unreachable panic39: ; preds = %bb81 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2k, i16 %308, i16 %3) unreachable panic40: ; preds = %bb82 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2l) unreachable panic41: ; preds = %bb84 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2m) unreachable panic42: ; preds = %bb55 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2n) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14possibly_round17habc5d21b7f0f9892E(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(6), i8* nonnull, i16, i16, i16, i16, i64, i64, i64) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_92 = alloca { i16, i16 } %_79 = alloca i8 %_73 = alloca %"option::Option" %_72 = alloca {} %_56 = alloca i8 %_55 = alloca {} %_52 = alloca { i16, i16 } %_35 = alloca i8 %_34 = alloca {} %_27 = alloca {} %_23 = alloca {} %_16 = alloca {} %_15 = alloca {} %exp = alloca i16 %len = alloca i16 br label %start start: ; preds = %entry-block store i16 %3, i16* %len store i16 %4, i16* %exp %9 = icmp ult i64 %6, %7 %10 = xor i1 %9, true br i1 %10, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14possibly_round14_MSG_FILE_LINE17h4f0291a7a115f3d1E) unreachable bb2: ; preds = %start %11 = icmp uge i64 %8, %7 br i1 %11, label %bb3, label %bb4 bb3: ; preds = %bb2 %12 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i32 0, i32 0 store i16 0, i16* %12 br label %bb6 bb4: ; preds = %bb2 %13 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %7, i64 %8) %14 = extractvalue { i64, i1 } %13, 0 %15 = extractvalue { i64, i1 } %13, 1 %16 = call i1 @llvm.expect.i1(i1 %15, i1 false) br i1 %16, label %panic, label %bb7 bb5: ; preds = %bb28, %bb6 ret void bb6: ; preds = %bb32, %bb18, %bb8, %bb3 br label %bb5 bb7: ; preds = %bb4 %17 = icmp ule i64 %14, %8 br i1 %17, label %bb8, label %bb9 bb8: ; preds = %bb7 %18 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i32 0, i32 0 store i16 0, i16* %18 br label %bb6 bb9: ; preds = %bb7 %19 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %7, i64 %6) %20 = extractvalue { i64, i1 } %19, 0 %21 = extractvalue { i64, i1 } %19, 1 %22 = call i1 @llvm.expect.i1(i1 %21, i1 false) br i1 %22, label %panic1, label %bb14 bb10: ; preds = %bb17 store i8 1, i8* %_35 br label %bb13 bb11: ; preds = %bb17, %bb14 store i8 0, i8* %_35 br label %bb13 bb12: ; preds = %bb14 %23 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 2, i64 %6) %24 = extractvalue { i64, i1 } %23, 0 %25 = extractvalue { i64, i1 } %23, 1 %26 = call i1 @llvm.expect.i1(i1 %25, i1 false) br i1 %26, label %panic2, label %bb15 bb13: ; preds = %bb11, %bb10 %27 = load i8, i8* %_35, !range !2 %28 = trunc i8 %27 to i1 br i1 %28, label %bb18, label %bb19 bb14: ; preds = %bb9 %29 = icmp ugt i64 %20, %6 br i1 %29, label %bb12, label %bb11 bb15: ; preds = %bb12 %30 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %7, i64 %24) %31 = extractvalue { i64, i1 } %30, 0 %32 = extractvalue { i64, i1 } %30, 1 %33 = call i1 @llvm.expect.i1(i1 %32, i1 false) br i1 %33, label %panic3, label %bb16 bb16: ; preds = %bb15 %34 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 2, i64 %8) %35 = extractvalue { i64, i1 } %34, 0 %36 = extractvalue { i64, i1 } %34, 1 %37 = call i1 @llvm.expect.i1(i1 %36, i1 false) br i1 %37, label %panic4, label %bb17 bb17: ; preds = %bb16 %38 = icmp uge i64 %31, %35 br i1 %38, label %bb10, label %bb11 bb18: ; preds = %bb13 %39 = load i16, i16* %len %40 = load i16, i16* %exp %41 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_52, i32 0, i32 0 store i16 %39, i16* %41 %42 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_52, i32 0, i32 1 store i16 %40, i16* %42 %43 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i32 0, i32 0 store i16 1, i16* %43 %44 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_52, i32 0, i32 0 %45 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_52, i32 0, i32 1 %46 = load i16, i16* %44 %47 = load i16, i16* %45 %48 = bitcast %"option::Option<(usize, i16)>"* %0 to { i16, { i16, i16 } }* %49 = getelementptr inbounds { i16, { i16, i16 } }, { i16, { i16, i16 } }* %48, i32 0, i32 1 %50 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %49, i32 0, i32 0 store i16 %46, i16* %50 %51 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %49, i32 0, i32 1 store i16 %47, i16* %51 br label %bb6 bb19: ; preds = %bb13 %52 = icmp ugt i64 %6, %8 br i1 %52, label %bb22, label %bb21 bb20: ; preds = %bb26 store i8 1, i8* %_56 br label %bb23 bb21: ; preds = %bb26, %bb19 store i8 0, i8* %_56 br label %bb23 bb22: ; preds = %bb19 %53 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %6, i64 %8) %54 = extractvalue { i64, i1 } %53, 0 %55 = extractvalue { i64, i1 } %53, 1 %56 = call i1 @llvm.expect.i1(i1 %55, i1 false) br i1 %56, label %panic5, label %bb24 bb23: ; preds = %bb21, %bb20 %57 = load i8, i8* %_56, !range !2 %58 = trunc i8 %57 to i1 br i1 %58, label %bb27, label %bb28 bb24: ; preds = %bb22 %59 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %7, i64 %54) %60 = extractvalue { i64, i1 } %59, 0 %61 = extractvalue { i64, i1 } %59, 1 %62 = call i1 @llvm.expect.i1(i1 %61, i1 false) br i1 %62, label %panic6, label %bb25 bb25: ; preds = %bb24 %63 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %6, i64 %8) %64 = extractvalue { i64, i1 } %63, 0 %65 = extractvalue { i64, i1 } %63, 1 %66 = call i1 @llvm.expect.i1(i1 %65, i1 false) br i1 %66, label %panic7, label %bb26 bb26: ; preds = %bb25 %67 = icmp ule i64 %60, %64 br i1 %67, label %bb20, label %bb21 bb27: ; preds = %bb23 %68 = load i16, i16* %len %69 = call i16 @_ZN4core3num7flt2dec8round_up17h81d2a24bdebce58cE(i8* nonnull %1, i16 %2, i16 %68) store i16 %69, i16* %abi_cast %70 = bitcast %"option::Option"* %_73 to i8* %71 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %71, i16 2, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb23 %72 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i32 0, i32 0 store i16 0, i16* %72 br label %bb5 bb29: ; preds = %bb27 %73 = getelementptr inbounds %"option::Option", %"option::Option"* %_73, i32 0, i32 0 %74 = load i8, i8* %73, !range !2 %75 = zext i8 %74 to i16 switch i16 %75, label %bb30 [ i16 1, label %bb31 ] bb30: ; preds = %bb29 br label %bb32 bb31: ; preds = %bb29 %76 = bitcast %"option::Option"* %_73 to { i8, i8 }* %77 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %76, i32 0, i32 1 %78 = load i8, i8* %77 %79 = load i16, i16* %exp %80 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %79, i16 1) %81 = extractvalue { i16, i1 } %80, 0 %82 = extractvalue { i16, i1 } %80, 1 %83 = call i1 @llvm.expect.i1(i1 %82, i1 false) br i1 %83, label %panic8, label %bb33 bb32: ; preds = %bb43, %bb30 %84 = load i16, i16* %len %85 = load i16, i16* %exp %86 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_92, i32 0, i32 0 store i16 %84, i16* %86 %87 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_92, i32 0, i32 1 store i16 %85, i16* %87 %88 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i32 0, i32 0 store i16 1, i16* %88 %89 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_92, i32 0, i32 0 %90 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_92, i32 0, i32 1 %91 = load i16, i16* %89 %92 = load i16, i16* %90 %93 = bitcast %"option::Option<(usize, i16)>"* %0 to { i16, { i16, i16 } }* %94 = getelementptr inbounds { i16, { i16, i16 } }, { i16, { i16, i16 } }* %93, i32 0, i32 1 %95 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %94, i32 0, i32 0 store i16 %91, i16* %95 %96 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %94, i32 0, i32 1 store i16 %92, i16* %96 br label %bb6 bb33: ; preds = %bb31 store i16 %81, i16* %exp %97 = load i16, i16* %exp %98 = icmp sgt i16 %97, %5 br i1 %98, label %bb36, label %bb35 bb34: ; preds = %bb38 store i8 1, i8* %_79 br label %bb37 bb35: ; preds = %bb38, %bb33 store i8 0, i8* %_79 br label %bb37 bb36: ; preds = %bb33 %99 = load i16, i16* %len %100 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb38 bb37: ; preds = %bb35, %bb34 %101 = load i8, i8* %_79, !range !2 %102 = trunc i8 %101 to i1 br i1 %102, label %bb39, label %bb40 bb38: ; preds = %bb36 %103 = icmp ult i16 %99, %100 br i1 %103, label %bb34, label %bb35 bb39: ; preds = %bb37 %104 = load i16, i16* %len %105 = icmp ult i16 %104, %2 %106 = call i1 @llvm.expect.i1(i1 %105, i1 true) br i1 %106, label %bb41, label %panic9 bb40: ; preds = %bb37 br label %bb43 bb41: ; preds = %bb39 %107 = getelementptr inbounds i8, i8* %1, i16 %104 store i8 %78, i8* %107 %108 = load i16, i16* %len %109 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %108, i16 1) %110 = extractvalue { i16, i1 } %109, 0 %111 = extractvalue { i16, i1 } %109, 1 %112 = call i1 @llvm.expect.i1(i1 %111, i1 false) br i1 %112, label %panic10, label %bb42 bb42: ; preds = %bb41 store i16 %110, i16* %len br label %bb43 bb43: ; preds = %bb40, %bb42 br label %bb32 panic: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2o) unreachable panic1: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2p) unreachable panic2: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2q) unreachable panic3: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2p) unreachable panic4: ; preds = %bb16 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2q) unreachable panic5: ; preds = %bb22 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2r) unreachable panic6: ; preds = %bb24 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2r) unreachable panic7: ; preds = %bb25 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2r) unreachable panic8: ; preds = %bb31 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2s) unreachable panic9: ; preds = %bb39 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2t, i16 %104, i16 %2) unreachable panic10: ; preds = %bb41 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2u) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num7flt2dec8strategy5grisu12format_exact17h73a5c656cde1c784E({ i16, i16 }* noalias nocapture sret dereferenceable(4), %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32), i8* nonnull, i16, i16) unnamed_addr #1 { entry-block: %_7 = alloca %"option::Option<(usize, i16)>" br label %start start: ; preds = %entry-block call void @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt17hcb8d6cd2b517462cE(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(6) %_7, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %1, i8* nonnull %2, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %_7, i32 0, i32 0 %6 = load i16, i16* %5, !range !3 switch i16 %6, label %bb3 [ i16 0, label %bb2 ] bb2: ; preds = %bb1 call void @_ZN4core3num7flt2dec8strategy6dragon12format_exact17h65783c20fb9db8c7E({ i16, i16 }* noalias nocapture sret dereferenceable(4) %0, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %1, i8* nonnull %2, i16 %3, i16 %4) br label %bb5 bb3: ; preds = %bb1 %7 = bitcast %"option::Option<(usize, i16)>"* %_7 to { i16, { i16, i16 } }* %8 = getelementptr inbounds { i16, { i16, i16 } }, { i16, { i16, i16 } }* %7, i32 0, i32 1 %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %8, i32 0, i32 0 %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %8, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i16, i16* %10 %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 0 store i16 %11, i16* %13 %14 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 1 store i16 %12, i16* %14 br label %bb4 bb4: ; preds = %bb5, %bb3 ret void bb5: ; preds = %bb2 br label %bb4 } ; Function Attrs: uwtable define i16 @_ZN4core3num7flt2dec8round_up17h81d2a24bdebce58cE(i8* nonnull, i16, i16) unnamed_addr #1 { entry-block: %arg8 = alloca %"ops::Range" %tmp_ret7 = alloca %"ops::Range" %arg = alloca %"ops::Range" %tmp_ret = alloca %"ops::Range" %_49 = alloca %"option::Option" %iter2 = alloca %"ops::Range" %_46 = alloca %"ops::Range" %_result1 = alloca {} %_32 = alloca %"option::Option" %_31 = alloca {} %iter = alloca %"ops::Range" %_25 = alloca %"ops::Range" %_result = alloca {} %_13 = alloca %closure %_11 = alloca %"ops::RangeTo" %_7 = alloca %"slice::Iter" %_5 = alloca %"option::Option" %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_11, i32 0, i32 0 store i16 %2, i16* %3 %4 = bitcast %"ops::RangeTo"* %_11 to i16* %5 = load i16, i16* %4, align 2 %6 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %0, i16 %1, i16 %5) %7 = extractvalue { i8*, i16 } %6, 0 %8 = extractvalue { i8*, i16 } %6, 1 br label %bb1 bb1: ; preds = %start call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_7, i8* noalias nonnull readonly %7, i16 %8) br label %bb2 bb2: ; preds = %bb1 call void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9rposition17hd792fffa72235e1bE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5, %"slice::Iter"* dereferenceable(4) %_7) br label %bb3 bb3: ; preds = %bb2 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %_5, i32 0, i32 0 %10 = load i16, i16* %9, !range !3 switch i16 %10, label %bb7 [ i16 0, label %bb6 ] bb4: ; preds = %bb6 %11 = icmp ult i16 0, %1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 true) br i1 %12, label %bb18, label %panic6 bb5: ; preds = %bb6 %13 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %13 %14 = bitcast %"option::Option"* %_0 to { i8, i8 }* %15 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %14, i32 0, i32 1 store i8 49, i8* %15 br label %bb8 bb6: ; preds = %bb3 %16 = icmp ugt i16 %2, 0 br i1 %16, label %bb4, label %bb5 bb7: ; preds = %bb3 %17 = bitcast %"option::Option"* %_5 to { i16, i16 }* %18 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %17, i32 0, i32 1 %19 = load i16, i16* %18 %20 = icmp ult i16 %19, %1 %21 = call i1 @llvm.expect.i1(i1 %20, i1 true) br i1 %21, label %bb9, label %panic bb8: ; preds = %bb5, %bb22, %bb15 %22 = bitcast %"option::Option"* %_0 to i16* %23 = load i16, i16* %22, align 1 ret i16 %23 bb9: ; preds = %bb7 %24 = getelementptr inbounds i8, i8* %0, i16 %19 %25 = load i8, i8* %24 %26 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %25, i8 1) %27 = extractvalue { i8, i1 } %26, 0 %28 = extractvalue { i8, i1 } %26, 1 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic3, label %bb10 bb10: ; preds = %bb9 %30 = getelementptr inbounds i8, i8* %0, i16 %19 store i8 %27, i8* %30 %31 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %19, i16 1) %32 = extractvalue { i16, i1 } %31, 0 %33 = extractvalue { i16, i1 } %31, 1 %34 = call i1 @llvm.expect.i1(i1 %33, i1 false) br i1 %34, label %panic4, label %bb11 bb11: ; preds = %bb10 %35 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_25, i32 0, i32 0 store i16 %32, i16* %35 %36 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_25, i32 0, i32 1 store i16 %2, i16* %36 %37 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_25, i32 0, i32 0 %38 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_25, i32 0, i32 1 %39 = load i16, i16* %37 %40 = load i16, i16* %38 %41 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %39, i16* %41 %42 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %40, i16* %42 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) %43 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 0 %44 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 1 %45 = load i16, i16* %43 %46 = load i16, i16* %44 br label %bb12 bb12: ; preds = %bb11 %47 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 0 store i16 %45, i16* %47 %48 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 1 store i16 %46, i16* %48 br label %bb13 bb13: ; preds = %bb17, %bb12 call void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_32, %"ops::Range"* dereferenceable(4) %iter) br label %bb14 bb14: ; preds = %bb13 %49 = getelementptr inbounds %"option::Option", %"option::Option"* %_32, i32 0, i32 0 %50 = load i16, i16* %49, !range !3 switch i16 %50, label %bb16 [ i16 0, label %bb15 ] bb15: ; preds = %bb14 %51 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 0, i8* %51 br label %bb8 bb16: ; preds = %bb14 %52 = bitcast %"option::Option"* %_32 to { i16, i16 }* %53 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %52, i32 0, i32 1 %54 = load i16, i16* %53 %55 = icmp ult i16 %54, %1 %56 = call i1 @llvm.expect.i1(i1 %55, i1 true) br i1 %56, label %bb17, label %panic5 bb17: ; preds = %bb16 %57 = getelementptr inbounds i8, i8* %0, i16 %54 store i8 48, i8* %57 br label %bb13 bb18: ; preds = %bb4 %58 = getelementptr inbounds i8, i8* %0, i16 0 store i8 49, i8* %58 %59 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_46, i32 0, i32 0 store i16 1, i16* %59 %60 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_46, i32 0, i32 1 store i16 %2, i16* %60 %61 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_46, i32 0, i32 0 %62 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_46, i32 0, i32 1 %63 = load i16, i16* %61 %64 = load i16, i16* %62 %65 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg8, i32 0, i32 0 store i16 %63, i16* %65 %66 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg8, i32 0, i32 1 store i16 %64, i16* %66 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret7, %"ops::Range"* noalias nocapture dereferenceable(4) %arg8) %67 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret7, i32 0, i32 0 %68 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret7, i32 0, i32 1 %69 = load i16, i16* %67 %70 = load i16, i16* %68 br label %bb19 bb19: ; preds = %bb18 %71 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 0 store i16 %69, i16* %71 %72 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 1 store i16 %70, i16* %72 br label %bb20 bb20: ; preds = %bb24, %bb19 call void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_49, %"ops::Range"* dereferenceable(4) %iter2) br label %bb21 bb21: ; preds = %bb20 %73 = getelementptr inbounds %"option::Option", %"option::Option"* %_49, i32 0, i32 0 %74 = load i16, i16* %73, !range !3 switch i16 %74, label %bb23 [ i16 0, label %bb22 ] bb22: ; preds = %bb21 %75 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %75 %76 = bitcast %"option::Option"* %_0 to { i8, i8 }* %77 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %76, i32 0, i32 1 store i8 48, i8* %77 br label %bb8 bb23: ; preds = %bb21 %78 = bitcast %"option::Option"* %_49 to { i16, i16 }* %79 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %78, i32 0, i32 1 %80 = load i16, i16* %79 %81 = icmp ult i16 %80, %1 %82 = call i1 @llvm.expect.i1(i1 %81, i1 true) br i1 %82, label %bb24, label %panic9 bb24: ; preds = %bb23 %83 = getelementptr inbounds i8, i8* %0, i16 %80 store i8 48, i8* %83 br label %bb20 panic: ; preds = %bb7 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2w, i16 %19, i16 %1) unreachable panic3: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2x) unreachable panic4: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2y) unreachable panic5: ; preds = %bb16 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2z, i16 %54, i16 %1) unreachable panic6: ; preds = %bb4 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2A, i16 0, i16 %1) unreachable panic9: ; preds = %bb23 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2B, i16 %80, i16 %1) unreachable } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3num7flt2dec8round_up28_$u7b$$u7b$closure$u7d$$u7d$17h60b46e2503297567E"(%closure*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load i8, i8* %1 %3 = icmp ne i8 %2, 57 ret i1 %3 } ; Function Attrs: uwtable define i16 @_ZN4core3num7flt2dec4Part3len17hd0c86b1c2c7d7190E(%"num::flt2dec::Part"* noalias readonly dereferenceable(6)) unnamed_addr #1 { entry-block: %_0 = alloca i16 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %0, i32 0, i32 0 %2 = load i16, i16* %1, !range !4 switch i16 %2, label %bb3 [ i16 0, label %bb1 i16 1, label %bb2 ] bb1: ; preds = %start %3 = bitcast %"num::flt2dec::Part"* %0 to { i16, i16 }* %4 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %3, i32 0, i32 1 %5 = load i16, i16* %4 store i16 %5, i16* %_0 br label %bb4 bb2: ; preds = %start %6 = bitcast %"num::flt2dec::Part"* %0 to { i16, i16 }* %7 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %6, i32 0, i32 1 %8 = load i16, i16* %7 %9 = icmp ult i16 %8, 1000 br i1 %9, label %bb5, label %bb6 bb3: ; preds = %start %10 = bitcast %"num::flt2dec::Part"* %0 to { i16, { i8*, i16 } }* %11 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %10, i32 0, i32 1 %12 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %11, i32 0, i32 0 %13 = load i8*, i8** %12, !nonnull !1 %14 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %11, i32 0, i32 1 %15 = load i16, i16* %14 %16 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %13, i16 %15) store i16 %16, i16* %_0 br label %bb17 bb4: ; preds = %bb1, %bb16, %bb17 %17 = load i16, i16* %_0 ret i16 %17 bb5: ; preds = %bb2 %18 = icmp ult i16 %8, 10 br i1 %18, label %bb7, label %bb8 bb6: ; preds = %bb2 %19 = icmp ult i16 %8, 10000 br i1 %19, label %bb13, label %bb14 bb7: ; preds = %bb5 store i16 1, i16* %_0 br label %bb12 bb8: ; preds = %bb5 %20 = icmp ult i16 %8, 100 br i1 %20, label %bb9, label %bb10 bb9: ; preds = %bb8 store i16 2, i16* %_0 br label %bb11 bb10: ; preds = %bb8 store i16 3, i16* %_0 br label %bb11 bb11: ; preds = %bb10, %bb9 br label %bb12 bb12: ; preds = %bb11, %bb7 br label %bb16 bb13: ; preds = %bb6 store i16 4, i16* %_0 br label %bb15 bb14: ; preds = %bb6 store i16 5, i16* %_0 br label %bb15 bb15: ; preds = %bb14, %bb13 br label %bb16 bb16: ; preds = %bb15, %bb12 br label %bb4 bb17: ; preds = %bb3 br label %bb4 } ; Function Attrs: uwtable define void @_ZN4core3num7flt2dec4Part5write17hfa905d4d1c19426aE(%"option::Option"* noalias nocapture sret dereferenceable(4), %"num::flt2dec::Part"* noalias readonly dereferenceable(6), i8* nonnull, i16) unnamed_addr #1 { entry-block: %_57 = alloca %"ops::RangeTo" %_41 = alloca i8* %iter2 = alloca %"iter::Rev>" %_38 = alloca %"ops::RangeTo" %_34 = alloca %"slice::IterMut" %_33 = alloca %"iter::Rev>" %_32 = alloca %"iter::Rev>" %_result1 = alloca {} %_25 = alloca i8* %_24 = alloca {} %iter = alloca %"slice::IterMut" %_21 = alloca %"ops::RangeTo" %_17 = alloca %"slice::IterMut" %_result = alloca {} %v = alloca i16 %_11 = alloca {} br label %start start: ; preds = %entry-block %4 = call i16 @_ZN4core3num7flt2dec4Part3len17hd0c86b1c2c7d7190E(%"num::flt2dec::Part"* noalias readonly dereferenceable(6) %1) br label %bb1 bb1: ; preds = %start %5 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb2 bb2: ; preds = %bb1 %6 = icmp uge i16 %5, %4 br i1 %6, label %bb3, label %bb4 bb3: ; preds = %bb2 %7 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %1, i32 0, i32 0 %8 = load i16, i16* %7, !range !4 switch i16 %8, label %bb7 [ i16 0, label %bb5 i16 1, label %bb6 ] bb4: ; preds = %bb2 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %9 br label %bb29 bb5: ; preds = %bb3 %10 = bitcast %"num::flt2dec::Part"* %1 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 %12 = load i16, i16* %11 %13 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_21, i32 0, i32 0 store i16 %12, i16* %13 %14 = bitcast %"ops::RangeTo"* %_21 to i16* %15 = load i16, i16* %14, align 2 %16 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %2, i16 %3, i16 %15) %17 = extractvalue { i8*, i16 } %16, 0 %18 = extractvalue { i8*, i16 } %16, 1 br label %bb9 bb6: ; preds = %bb3 %19 = bitcast %"num::flt2dec::Part"* %1 to { i16, i16 }* %20 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %19, i32 0, i32 1 %21 = load i16, i16* %20 store i16 %21, i16* %v %22 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_38, i32 0, i32 0 store i16 %4, i16* %22 %23 = bitcast %"ops::RangeTo"* %_38 to i16* %24 = load i16, i16* %23, align 2 %25 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %2, i16 %3, i16 %24) %26 = extractvalue { i8*, i16 } %25, 0 %27 = extractvalue { i8*, i16 } %25, 1 br label %bb15 bb7: ; preds = %bb3 %28 = bitcast %"num::flt2dec::Part"* %1 to { i16, { i8*, i16 } }* %29 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %28, i32 0, i32 1 %30 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %29, i32 0, i32 0 %31 = load i8*, i8** %30, !nonnull !1 %32 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %29, i32 0, i32 1 %33 = load i16, i16* %32 %34 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %31, i16 %33) br label %bb26 bb8: ; preds = %bb13, %bb21, %bb28 %35 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %35 %36 = bitcast %"option::Option"* %0 to { i16, i16 }* %37 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %36, i32 0, i32 1 store i16 %4, i16* %37 br label %bb29 bb9: ; preds = %bb5 call void @"_ZN4core5slice97_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$mut$u20$$u5b$T$u5d$$GT$9into_iter17hb54fc44aaf7ce3efE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_17, i8* nonnull %17, i16 %18) br label %bb10 bb10: ; preds = %bb9 %38 = bitcast %"slice::IterMut"* %_17 to i8* %39 = bitcast %"slice::IterMut"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %38, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb14, %bb10 %40 = call i8* @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha98f667bd924c796E"(%"slice::IterMut"* dereferenceable(4) %iter) store i8* %40, i8** %_25 br label %bb12 bb12: ; preds = %bb11 %41 = load i8*, i8** %_25 %42 = icmp ne i8* %41, null %43 = zext i1 %42 to i16 switch i16 %43, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb8 bb14: ; preds = %bb12 %44 = load i8*, i8** %_25, !nonnull !1 store i8 48, i8* %44 br label %bb11 bb15: ; preds = %bb6 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_34, i8* nonnull %26, i16 %27) br label %bb16 bb16: ; preds = %bb15 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_33, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_34) br label %bb17 bb17: ; preds = %bb16 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_32, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_33) br label %bb18 bb18: ; preds = %bb17 %45 = bitcast %"iter::Rev>"* %_32 to i8* %46 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %45, i16 4, i32 2, i1 false) br label %bb19 bb19: ; preds = %bb25, %bb18 %47 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %47, i8** %_41 br label %bb20 bb20: ; preds = %bb19 %48 = load i8*, i8** %_41 %49 = icmp ne i8* %48, null %50 = zext i1 %49 to i16 switch i16 %50, label %bb22 [ i16 0, label %bb21 ] bb21: ; preds = %bb20 br label %bb8 bb22: ; preds = %bb20 %51 = load i8*, i8** %_41, !nonnull !1 %52 = load i16, i16* %v br label %bb23 bb23: ; preds = %bb22 %53 = urem i16 %52, 10 %54 = trunc i16 %53 to i8 %55 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %54) %56 = extractvalue { i8, i1 } %55, 0 %57 = extractvalue { i8, i1 } %55, 1 %58 = call i1 @llvm.expect.i1(i1 %57, i1 false) br i1 %58, label %panic, label %bb24 bb24: ; preds = %bb23 store i8 %56, i8* %51 br label %bb25 bb25: ; preds = %bb24 %59 = load i16, i16* %v %60 = udiv i16 %59, 10 store i16 %60, i16* %v br label %bb19 bb26: ; preds = %bb7 %61 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_57, i32 0, i32 0 store i16 %34, i16* %61 %62 = bitcast %"ops::RangeTo"* %_57 to i16* %63 = load i16, i16* %62, align 2 %64 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %2, i16 %3, i16 %63) %65 = extractvalue { i8*, i16 } %64, 0 %66 = extractvalue { i8*, i16 } %64, 1 br label %bb27 bb27: ; preds = %bb26 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice17hb56e22fde6a45f08E"(i8* nonnull %65, i16 %66, i8* noalias nonnull readonly %31, i16 %33) br label %bb28 bb28: ; preds = %bb27 br label %bb8 bb29: ; preds = %bb4, %bb8 ret void panic: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2C) unreachable } ; Function Attrs: uwtable define i16 @_ZN4core3num7flt2dec9Formatted3len17h3577d5cd00ed72f8E(%"num::flt2dec::Formatted"* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: %_11 = alloca i8* %_10 = alloca {} %iter = alloca %"slice::Iter" %_7 = alloca %"slice::Iter" %_result = alloca {} %len = alloca i16 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %2 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %1, i32 0, i32 0 %3 = load i8*, i8** %2, !nonnull !1 %4 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %1, i32 0, i32 1 %5 = load i16, i16* %4 %6 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %3, i16 %5) store i16 %6, i16* %len br label %bb1 bb1: ; preds = %start %7 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %8 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %7, i32 0, i32 0 %9 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %8, !nonnull !1 %10 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %7, i32 0, i32 1 %11 = load i16, i16* %10 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h3a95e5cda716e111E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_7, %"num::flt2dec::Part"* noalias nonnull readonly %9, i16 %11) br label %bb2 bb2: ; preds = %bb1 %12 = bitcast %"slice::Iter"* %_7 to i8* %13 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %13, i8* %12, i16 4, i32 2, i1 false) br label %bb3 bb3: ; preds = %bb8, %bb2 %14 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha0286f79396f2247E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %14, i8** %_11 br label %bb4 bb4: ; preds = %bb3 %15 = load i8*, i8** %_11 %16 = icmp ne i8* %15, null %17 = zext i1 %16 to i16 switch i16 %17, label %bb6 [ i16 0, label %bb5 ] bb5: ; preds = %bb4 %18 = load i16, i16* %len ret i16 %18 bb6: ; preds = %bb4 %19 = bitcast i8** %_11 to %"num::flt2dec::Part"** %20 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %19, !nonnull !1 %21 = call i16 @_ZN4core3num7flt2dec4Part3len17hd0c86b1c2c7d7190E(%"num::flt2dec::Part"* noalias readonly dereferenceable(6) %20) br label %bb7 bb7: ; preds = %bb6 %22 = load i16, i16* %len %23 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %22, i16 %21) %24 = extractvalue { i16, i1 } %23, 0 %25 = extractvalue { i16, i1 } %23, 1 %26 = call i1 @llvm.expect.i1(i1 %25, i1 false) br i1 %26, label %panic, label %bb8 bb8: ; preds = %bb7 store i16 %24, i16* %len br label %bb3 panic: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2D) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num7flt2dec9Formatted5write17hab5ea7614a2e58a1E(%"option::Option"* noalias nocapture sret dereferenceable(4), %"num::flt2dec::Formatted"* noalias readonly dereferenceable(8), i8* nonnull, i16) unnamed_addr #1 { entry-block: %_38 = alloca %"ops::RangeFrom" %_32 = alloca %"option::Option" %_27 = alloca i8* %iter = alloca %"slice::Iter" %_24 = alloca %"slice::Iter" %_result = alloca {} %written = alloca i16 %_16 = alloca %"ops::RangeTo" %_11 = alloca {} %_5 = alloca {} br label %start start: ; preds = %entry-block %4 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i32 0, i32 0 %6 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %5, i32 0, i32 0 %7 = load i8*, i8** %6, !nonnull !1 %8 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %5, i32 0, i32 1 %9 = load i16, i16* %8 %10 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %7, i16 %9) br label %bb2 bb2: ; preds = %bb1 %11 = icmp ult i16 %4, %10 br i1 %11, label %bb3, label %bb4 bb3: ; preds = %bb2 %12 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %12 br label %bb6 bb4: ; preds = %bb2 %13 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i32 0, i32 0 %14 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %13, i32 0, i32 0 %15 = load i8*, i8** %14, !nonnull !1 %16 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %13, i32 0, i32 1 %17 = load i16, i16* %16 %18 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %15, i16 %17) br label %bb7 bb5: ; preds = %bb14, %bb6 ret void bb6: ; preds = %bb18, %bb3 br label %bb5 bb7: ; preds = %bb4 %19 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_16, i32 0, i32 0 store i16 %18, i16* %19 %20 = bitcast %"ops::RangeTo"* %_16 to i16* %21 = load i16, i16* %20, align 2 %22 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %2, i16 %3, i16 %21) %23 = extractvalue { i8*, i16 } %22, 0 %24 = extractvalue { i8*, i16 } %22, 1 br label %bb8 bb8: ; preds = %bb7 %25 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i32 0, i32 0 %26 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %25, i32 0, i32 0 %27 = load i8*, i8** %26, !nonnull !1 %28 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %25, i32 0, i32 1 %29 = load i16, i16* %28 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice17hb56e22fde6a45f08E"(i8* nonnull %23, i16 %24, i8* noalias nonnull readonly %27, i16 %29) br label %bb9 bb9: ; preds = %bb8 %30 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i32 0, i32 0 %31 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %30, i32 0, i32 0 %32 = load i8*, i8** %31, !nonnull !1 %33 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %30, i32 0, i32 1 %34 = load i16, i16* %33 %35 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %32, i16 %34) store i16 %35, i16* %written br label %bb10 bb10: ; preds = %bb9 %36 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i32 0, i32 1 %37 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %36, i32 0, i32 0 %38 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %37, !nonnull !1 %39 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %36, i32 0, i32 1 %40 = load i16, i16* %39 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h3a95e5cda716e111E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_24, %"num::flt2dec::Part"* noalias nonnull readonly %38, i16 %40) br label %bb11 bb11: ; preds = %bb10 %41 = bitcast %"slice::Iter"* %_24 to i8* %42 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %42, i8* %41, i16 4, i32 2, i1 false) br label %bb12 bb12: ; preds = %bb20, %bb11 %43 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha0286f79396f2247E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %43, i8** %_27 br label %bb13 bb13: ; preds = %bb12 %44 = load i8*, i8** %_27 %45 = icmp ne i8* %44, null %46 = zext i1 %45 to i16 switch i16 %46, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 %47 = load i16, i16* %written %48 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %48 %49 = bitcast %"option::Option"* %0 to { i16, i16 }* %50 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %49, i32 0, i32 1 store i16 %47, i16* %50 br label %bb5 bb15: ; preds = %bb13 %51 = bitcast i8** %_27 to %"num::flt2dec::Part"** %52 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %51, !nonnull !1 %53 = load i16, i16* %written %54 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_38, i32 0, i32 0 store i16 %53, i16* %54 %55 = bitcast %"ops::RangeFrom"* %_38 to i16* %56 = load i16, i16* %55, align 2 %57 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h94b5857d5e0d1379E"(i8* nonnull %2, i16 %3, i16 %56) %58 = extractvalue { i8*, i16 } %57, 0 %59 = extractvalue { i8*, i16 } %57, 1 br label %bb16 bb16: ; preds = %bb15 call void @_ZN4core3num7flt2dec4Part5write17hfa905d4d1c19426aE(%"option::Option"* noalias nocapture sret dereferenceable(4) %_32, %"num::flt2dec::Part"* noalias readonly dereferenceable(6) %52, i8* nonnull %58, i16 %59) br label %bb17 bb17: ; preds = %bb16 %60 = getelementptr inbounds %"option::Option", %"option::Option"* %_32, i32 0, i32 0 %61 = load i16, i16* %60, !range !3 switch i16 %61, label %bb19 [ i16 0, label %bb18 ] bb18: ; preds = %bb17 %62 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %62 br label %bb6 bb19: ; preds = %bb17 %63 = bitcast %"option::Option"* %_32 to { i16, i16 }* %64 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %63, i32 0, i32 1 %65 = load i16, i16* %64 %66 = load i16, i16* %written %67 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %66, i16 %65) %68 = extractvalue { i16, i1 } %67, 0 %69 = extractvalue { i16, i1 } %67, 1 %70 = call i1 @llvm.expect.i1(i1 %69, i1 false) br i1 %70, label %panic, label %bb20 bb20: ; preds = %bb19 store i16 %68, i16* %written br label %bb12 panic: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2E) unreachable } ; Function Attrs: uwtable define { %"num::flt2dec::Part"*, i16 } @_ZN4core3num7flt2dec17digits_to_dec_str17h424ba2e1ed22f0b1E(i8* noalias nonnull readonly, i16, i16, i16, %"num::flt2dec::Part"* nonnull, i16) unnamed_addr #1 { entry-block: %_158 = alloca %"ops::RangeTo" %_154 = alloca %"ops::RangeTo" %_130 = alloca %"ops::RangeTo" %_126 = alloca %"ops::RangeTo" %_102 = alloca %"ops::RangeFrom" %_89 = alloca %"ops::RangeTo" %_78 = alloca %"ops::RangeTo" %_74 = alloca %"ops::RangeTo" %_49 = alloca i8 %_24 = alloca {} %_16 = alloca {} %_9 = alloca {} %_0 = alloca { %"num::flt2dec::Part"*, i16 } br label %start start: ; preds = %entry-block %6 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %7 = xor i1 %6, true %8 = xor i1 %7, true br i1 %8, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE17h6aa8c491507b15bdE) unreachable bb3: ; preds = %bb1 %9 = icmp ult i16 0, %1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 true) br i1 %10, label %bb4, label %panic bb4: ; preds = %bb3 %11 = getelementptr inbounds i8, i8* %0, i16 0 %12 = load i8, i8* %11 %13 = icmp ugt i8 %12, 48 %14 = xor i1 %13, true br i1 %14, label %bb5, label %bb6 bb5: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE17h090d2784ee173b18E) unreachable bb6: ; preds = %bb4 %15 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %4, i16 %5) br label %bb7 bb7: ; preds = %bb6 %16 = icmp uge i16 %15, 4 %17 = xor i1 %16, true br i1 %17, label %bb8, label %bb9 bb8: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE17h2425b6e0d4b46f98E) unreachable bb9: ; preds = %bb7 %18 = icmp sle i16 %2, 0 br i1 %18, label %bb10, label %bb11 bb10: ; preds = %bb9 %19 = sext i16 %2 to i32 %20 = icmp eq i32 %19, -2147483648 %21 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %21, label %panic1, label %bb12 bb11: ; preds = %bb9 %22 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb32 bb12: ; preds = %bb10 %23 = sub i32 0, %19 %24 = trunc i32 %23 to i16 %25 = icmp ult i16 0, %5 %26 = call i1 @llvm.expect.i1(i1 %25, i1 true) br i1 %26, label %bb13, label %panic2 bb13: ; preds = %bb12 %27 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i16 0 %28 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %27, i32 0, i32 0 store i16 2, i16* %28 %29 = bitcast %"num::flt2dec::Part"* %27 to { i16, { i8*, i16 } }* %30 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %29, i32 0, i32 1 %31 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %30, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.2H, i32 0, i32 0), i8** %31 %32 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %30, i32 0, i32 1 store i16 2, i16* %32 %33 = icmp ult i16 1, %5 %34 = call i1 @llvm.expect.i1(i1 %33, i1 true) br i1 %34, label %bb14, label %panic3 bb14: ; preds = %bb13 %35 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i16 1 %36 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %35, i32 0, i32 0 store i16 0, i16* %36 %37 = bitcast %"num::flt2dec::Part"* %35 to { i16, i16 }* %38 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %37, i32 0, i32 1 store i16 %24, i16* %38 %39 = icmp ult i16 2, %5 %40 = call i1 @llvm.expect.i1(i1 %39, i1 true) br i1 %40, label %bb15, label %panic4 bb15: ; preds = %bb14 %41 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i16 2 %42 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %41, i32 0, i32 0 store i16 2, i16* %42 %43 = bitcast %"num::flt2dec::Part"* %41 to { i16, { i8*, i16 } }* %44 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %43, i32 0, i32 1 %45 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %44, i32 0, i32 0 store i8* %0, i8** %45 %46 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %44, i32 0, i32 1 store i16 %1, i16* %46 %47 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb20 bb16: ; preds = %bb22 store i8 1, i8* %_49 br label %bb19 bb17: ; preds = %bb22, %bb20 store i8 0, i8* %_49 br label %bb19 bb18: ; preds = %bb20 %48 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb21 bb19: ; preds = %bb17, %bb16 %49 = load i8, i8* %_49, !range !2 %50 = trunc i8 %49 to i1 br i1 %50, label %bb23, label %bb24 bb20: ; preds = %bb15 %51 = icmp ugt i16 %3, %47 br i1 %51, label %bb18, label %bb17 bb21: ; preds = %bb18 %52 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 %48) %53 = extractvalue { i16, i1 } %52, 0 %54 = extractvalue { i16, i1 } %52, 1 %55 = call i1 @llvm.expect.i1(i1 %54, i1 false) br i1 %55, label %panic5, label %bb22 bb22: ; preds = %bb21 %56 = icmp ugt i16 %53, %24 br i1 %56, label %bb16, label %bb17 bb23: ; preds = %bb19 %57 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb25 bb24: ; preds = %bb19 %58 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_78, i32 0, i32 0 store i16 3, i16* %58 %59 = bitcast %"ops::RangeTo"* %_78 to i16* %60 = load i16, i16* %59, align 2 %61 = call { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %4, i16 %5, i16 %60) %62 = extractvalue { %"num::flt2dec::Part"*, i16 } %61, 0 %63 = extractvalue { %"num::flt2dec::Part"*, i16 } %61, 1 br label %bb30 bb25: ; preds = %bb23 %64 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 %57) %65 = extractvalue { i16, i1 } %64, 0 %66 = extractvalue { i16, i1 } %64, 1 %67 = call i1 @llvm.expect.i1(i1 %66, i1 false) br i1 %67, label %panic6, label %bb26 bb26: ; preds = %bb25 %68 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %65, i16 %24) %69 = extractvalue { i16, i1 } %68, 0 %70 = extractvalue { i16, i1 } %68, 1 %71 = call i1 @llvm.expect.i1(i1 %70, i1 false) br i1 %71, label %panic7, label %bb27 bb27: ; preds = %bb26 %72 = icmp ult i16 3, %5 %73 = call i1 @llvm.expect.i1(i1 %72, i1 true) br i1 %73, label %bb28, label %panic8 bb28: ; preds = %bb27 %74 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i16 3 %75 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %74, i32 0, i32 0 store i16 0, i16* %75 %76 = bitcast %"num::flt2dec::Part"* %74 to { i16, i16 }* %77 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %76, i32 0, i32 1 store i16 %69, i16* %77 %78 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_74, i32 0, i32 0 store i16 4, i16* %78 %79 = bitcast %"ops::RangeTo"* %_74 to i16* %80 = load i16, i16* %79, align 2 %81 = call { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %4, i16 %5, i16 %80) %82 = extractvalue { %"num::flt2dec::Part"*, i16 } %81, 0 %83 = extractvalue { %"num::flt2dec::Part"*, i16 } %81, 1 br label %bb29 bb29: ; preds = %bb28 %84 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 0 store %"num::flt2dec::Part"* %82, %"num::flt2dec::Part"** %84 %85 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 1 store i16 %83, i16* %85 br label %bb31 bb30: ; preds = %bb24 %86 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 0 store %"num::flt2dec::Part"* %62, %"num::flt2dec::Part"** %86 %87 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 1 store i16 %63, i16* %87 br label %bb31 bb31: ; preds = %bb30, %bb29 br label %bb63 bb32: ; preds = %bb11 %88 = icmp ult i16 %2, %22 br i1 %88, label %bb33, label %bb34 bb33: ; preds = %bb32 %89 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_89, i32 0, i32 0 store i16 %2, i16* %89 %90 = bitcast %"ops::RangeTo"* %_89 to i16* %91 = load i16, i16* %90, align 2 %92 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %0, i16 %1, i16 %91) %93 = extractvalue { i8*, i16 } %92, 0 %94 = extractvalue { i8*, i16 } %92, 1 br label %bb35 bb34: ; preds = %bb32 %95 = icmp ult i16 0, %5 %96 = call i1 @llvm.expect.i1(i1 %95, i1 true) br i1 %96, label %bb51, label %panic16 bb35: ; preds = %bb33 %97 = icmp ult i16 0, %5 %98 = call i1 @llvm.expect.i1(i1 %97, i1 true) br i1 %98, label %bb36, label %panic9 bb36: ; preds = %bb35 %99 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i16 0 %100 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %99, i32 0, i32 0 store i16 2, i16* %100 %101 = bitcast %"num::flt2dec::Part"* %99 to { i16, { i8*, i16 } }* %102 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %101, i32 0, i32 1 %103 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %102, i32 0, i32 0 store i8* %93, i8** %103 %104 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %102, i32 0, i32 1 store i16 %94, i16* %104 %105 = icmp ult i16 1, %5 %106 = call i1 @llvm.expect.i1(i1 %105, i1 true) br i1 %106, label %bb37, label %panic10 bb37: ; preds = %bb36 %107 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i16 1 %108 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %107, i32 0, i32 0 store i16 2, i16* %108 %109 = bitcast %"num::flt2dec::Part"* %107 to { i16, { i8*, i16 } }* %110 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %109, i32 0, i32 1 %111 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %110, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.2P, i32 0, i32 0), i8** %111 %112 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %110, i32 0, i32 1 store i16 1, i16* %112 %113 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_102, i32 0, i32 0 store i16 %2, i16* %113 %114 = bitcast %"ops::RangeFrom"* %_102 to i16* %115 = load i16, i16* %114, align 2 %116 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %0, i16 %1, i16 %115) %117 = extractvalue { i8*, i16 } %116, 0 %118 = extractvalue { i8*, i16 } %116, 1 br label %bb38 bb38: ; preds = %bb37 %119 = icmp ult i16 2, %5 %120 = call i1 @llvm.expect.i1(i1 %119, i1 true) br i1 %120, label %bb39, label %panic11 bb39: ; preds = %bb38 %121 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i16 2 %122 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %121, i32 0, i32 0 store i16 2, i16* %122 %123 = bitcast %"num::flt2dec::Part"* %121 to { i16, { i8*, i16 } }* %124 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %123, i32 0, i32 1 %125 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %124, i32 0, i32 0 store i8* %117, i8** %125 %126 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %124, i32 0, i32 1 store i16 %118, i16* %126 %127 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb40 bb40: ; preds = %bb39 %128 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %127, i16 %2) %129 = extractvalue { i16, i1 } %128, 0 %130 = extractvalue { i16, i1 } %128, 1 %131 = call i1 @llvm.expect.i1(i1 %130, i1 false) br i1 %131, label %panic12, label %bb41 bb41: ; preds = %bb40 %132 = icmp ugt i16 %3, %129 br i1 %132, label %bb42, label %bb43 bb42: ; preds = %bb41 %133 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb44 bb43: ; preds = %bb41 %134 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_130, i32 0, i32 0 store i16 3, i16* %134 %135 = bitcast %"ops::RangeTo"* %_130 to i16* %136 = load i16, i16* %135, align 2 %137 = call { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %4, i16 %5, i16 %136) %138 = extractvalue { %"num::flt2dec::Part"*, i16 } %137, 0 %139 = extractvalue { %"num::flt2dec::Part"*, i16 } %137, 1 br label %bb49 bb44: ; preds = %bb42 %140 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %133, i16 %2) %141 = extractvalue { i16, i1 } %140, 0 %142 = extractvalue { i16, i1 } %140, 1 %143 = call i1 @llvm.expect.i1(i1 %142, i1 false) br i1 %143, label %panic13, label %bb45 bb45: ; preds = %bb44 %144 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 %141) %145 = extractvalue { i16, i1 } %144, 0 %146 = extractvalue { i16, i1 } %144, 1 %147 = call i1 @llvm.expect.i1(i1 %146, i1 false) br i1 %147, label %panic14, label %bb46 bb46: ; preds = %bb45 %148 = icmp ult i16 3, %5 %149 = call i1 @llvm.expect.i1(i1 %148, i1 true) br i1 %149, label %bb47, label %panic15 bb47: ; preds = %bb46 %150 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i16 3 %151 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %150, i32 0, i32 0 store i16 0, i16* %151 %152 = bitcast %"num::flt2dec::Part"* %150 to { i16, i16 }* %153 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %152, i32 0, i32 1 store i16 %145, i16* %153 %154 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_126, i32 0, i32 0 store i16 4, i16* %154 %155 = bitcast %"ops::RangeTo"* %_126 to i16* %156 = load i16, i16* %155, align 2 %157 = call { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %4, i16 %5, i16 %156) %158 = extractvalue { %"num::flt2dec::Part"*, i16 } %157, 0 %159 = extractvalue { %"num::flt2dec::Part"*, i16 } %157, 1 br label %bb48 bb48: ; preds = %bb47 %160 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 0 store %"num::flt2dec::Part"* %158, %"num::flt2dec::Part"** %160 %161 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 1 store i16 %159, i16* %161 br label %bb50 bb49: ; preds = %bb43 %162 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 0 store %"num::flt2dec::Part"* %138, %"num::flt2dec::Part"** %162 %163 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 1 store i16 %139, i16* %163 br label %bb50 bb50: ; preds = %bb49, %bb48 br label %bb62 bb51: ; preds = %bb34 %164 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i16 0 %165 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %164, i32 0, i32 0 store i16 2, i16* %165 %166 = bitcast %"num::flt2dec::Part"* %164 to { i16, { i8*, i16 } }* %167 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %166, i32 0, i32 1 %168 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %167, i32 0, i32 0 store i8* %0, i8** %168 %169 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %167, i32 0, i32 1 store i16 %1, i16* %169 %170 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb52 bb52: ; preds = %bb51 %171 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %2, i16 %170) %172 = extractvalue { i16, i1 } %171, 0 %173 = extractvalue { i16, i1 } %171, 1 %174 = call i1 @llvm.expect.i1(i1 %173, i1 false) br i1 %174, label %panic17, label %bb53 bb53: ; preds = %bb52 %175 = icmp ult i16 1, %5 %176 = call i1 @llvm.expect.i1(i1 %175, i1 true) br i1 %176, label %bb54, label %panic18 bb54: ; preds = %bb53 %177 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i16 1 %178 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %177, i32 0, i32 0 store i16 0, i16* %178 %179 = bitcast %"num::flt2dec::Part"* %177 to { i16, i16 }* %180 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %179, i32 0, i32 1 store i16 %172, i16* %180 %181 = icmp ugt i16 %3, 0 br i1 %181, label %bb55, label %bb56 bb55: ; preds = %bb54 %182 = icmp ult i16 2, %5 %183 = call i1 @llvm.expect.i1(i1 %182, i1 true) br i1 %183, label %bb57, label %panic19 bb56: ; preds = %bb54 %184 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_158, i32 0, i32 0 store i16 2, i16* %184 %185 = bitcast %"ops::RangeTo"* %_158 to i16* %186 = load i16, i16* %185, align 2 %187 = call { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %4, i16 %5, i16 %186) %188 = extractvalue { %"num::flt2dec::Part"*, i16 } %187, 0 %189 = extractvalue { %"num::flt2dec::Part"*, i16 } %187, 1 br label %bb60 bb57: ; preds = %bb55 %190 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i16 2 %191 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %190, i32 0, i32 0 store i16 2, i16* %191 %192 = bitcast %"num::flt2dec::Part"* %190 to { i16, { i8*, i16 } }* %193 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %192, i32 0, i32 1 %194 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %193, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.2P, i32 0, i32 0), i8** %194 %195 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %193, i32 0, i32 1 store i16 1, i16* %195 %196 = icmp ult i16 3, %5 %197 = call i1 @llvm.expect.i1(i1 %196, i1 true) br i1 %197, label %bb58, label %panic20 bb58: ; preds = %bb57 %198 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i16 3 %199 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %198, i32 0, i32 0 store i16 0, i16* %199 %200 = bitcast %"num::flt2dec::Part"* %198 to { i16, i16 }* %201 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %200, i32 0, i32 1 store i16 %3, i16* %201 %202 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_154, i32 0, i32 0 store i16 4, i16* %202 %203 = bitcast %"ops::RangeTo"* %_154 to i16* %204 = load i16, i16* %203, align 2 %205 = call { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %4, i16 %5, i16 %204) %206 = extractvalue { %"num::flt2dec::Part"*, i16 } %205, 0 %207 = extractvalue { %"num::flt2dec::Part"*, i16 } %205, 1 br label %bb59 bb59: ; preds = %bb58 %208 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 0 store %"num::flt2dec::Part"* %206, %"num::flt2dec::Part"** %208 %209 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 1 store i16 %207, i16* %209 br label %bb61 bb60: ; preds = %bb56 %210 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 0 store %"num::flt2dec::Part"* %188, %"num::flt2dec::Part"** %210 %211 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 1 store i16 %189, i16* %211 br label %bb61 bb61: ; preds = %bb60, %bb59 br label %bb62 bb62: ; preds = %bb61, %bb50 br label %bb63 bb63: ; preds = %bb62, %bb31 %212 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 0 %213 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %212, !nonnull !1 %214 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %_0, i32 0, i32 1 %215 = load i16, i16* %214 %216 = insertvalue { %"num::flt2dec::Part"*, i16 } undef, %"num::flt2dec::Part"* %213, 0 %217 = insertvalue { %"num::flt2dec::Part"*, i16 } %216, i16 %215, 1 ret { %"num::flt2dec::Part"*, i16 } %217 panic: ; preds = %bb3 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2F, i16 0, i16 %1) unreachable panic1: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2G) unreachable panic2: ; preds = %bb12 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2I, i16 0, i16 %5) unreachable panic3: ; preds = %bb13 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2J, i16 1, i16 %5) unreachable panic4: ; preds = %bb14 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2K, i16 2, i16 %5) unreachable panic5: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2L) unreachable panic6: ; preds = %bb25 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2M) unreachable panic7: ; preds = %bb26 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2M) unreachable panic8: ; preds = %bb27 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2N, i16 3, i16 %5) unreachable panic9: ; preds = %bb35 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2O, i16 0, i16 %5) unreachable panic10: ; preds = %bb36 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2Q, i16 1, i16 %5) unreachable panic11: ; preds = %bb38 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2R, i16 2, i16 %5) unreachable panic12: ; preds = %bb40 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2S) unreachable panic13: ; preds = %bb44 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2T) unreachable panic14: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2T) unreachable panic15: ; preds = %bb46 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2U, i16 3, i16 %5) unreachable panic16: ; preds = %bb34 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2V, i16 0, i16 %5) unreachable panic17: ; preds = %bb52 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.2W) unreachable panic18: ; preds = %bb53 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2X, i16 1, i16 %5) unreachable panic19: ; preds = %bb55 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2Y, i16 2, i16 %5) unreachable panic20: ; preds = %bb57 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.2Z, i16 3, i16 %5) unreachable } ; Function Attrs: uwtable define { %"num::flt2dec::Part"*, i16 } @_ZN4core3num7flt2dec17digits_to_exp_str17h87220a1a25d6d87cE(i8* noalias nonnull readonly, i16, i16, i16, i1 zeroext, %"num::flt2dec::Part"* nonnull, i16) unnamed_addr #1 { entry-block: %_124 = alloca %"ops::RangeTo" %_105 = alloca { i8*, i16 } %_87 = alloca { i8*, i16 } %_84 = alloca {} %_60 = alloca %"ops::RangeFrom" %_44 = alloca i8 %_43 = alloca {} %_38 = alloca %"ops::RangeTo" %n = alloca i16 %_26 = alloca {} %_18 = alloca {} %_11 = alloca {} br label %start start: ; preds = %entry-block %7 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %8 = xor i1 %7, true %9 = xor i1 %8, true br i1 %9, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE17hfb39b11e4d374308E) unreachable bb3: ; preds = %bb1 %10 = icmp ult i16 0, %1 %11 = call i1 @llvm.expect.i1(i1 %10, i1 true) br i1 %11, label %bb4, label %panic bb4: ; preds = %bb3 %12 = getelementptr inbounds i8, i8* %0, i16 0 %13 = load i8, i8* %12 %14 = icmp ugt i8 %13, 48 %15 = xor i1 %14, true br i1 %15, label %bb5, label %bb6 bb5: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE17h8037d005c86b0d77E) unreachable bb6: ; preds = %bb4 %16 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %5, i16 %6) br label %bb7 bb7: ; preds = %bb6 %17 = icmp uge i16 %16, 6 %18 = xor i1 %17, true br i1 %18, label %bb8, label %bb9 bb8: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE17h9bc9d824a932e3bcE) unreachable bb9: ; preds = %bb7 store i16 0, i16* %n %19 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_38, i32 0, i32 0 store i16 1, i16* %19 %20 = bitcast %"ops::RangeTo"* %_38 to i16* %21 = load i16, i16* %20, align 2 %22 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %0, i16 %1, i16 %21) %23 = extractvalue { i8*, i16 } %22, 0 %24 = extractvalue { i8*, i16 } %22, 1 br label %bb10 bb10: ; preds = %bb9 %25 = load i16, i16* %n %26 = icmp ult i16 %25, %6 %27 = call i1 @llvm.expect.i1(i1 %26, i1 true) br i1 %27, label %bb11, label %panic1 bb11: ; preds = %bb10 %28 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i16 %25 %29 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %28, i32 0, i32 0 store i16 2, i16* %29 %30 = bitcast %"num::flt2dec::Part"* %28 to { i16, { i8*, i16 } }* %31 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %30, i32 0, i32 1 %32 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %31, i32 0, i32 0 store i8* %23, i8** %32 %33 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %31, i32 0, i32 1 store i16 %24, i16* %33 %34 = load i16, i16* %n %35 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %34, i16 1) %36 = extractvalue { i16, i1 } %35, 0 %37 = extractvalue { i16, i1 } %35, 1 %38 = call i1 @llvm.expect.i1(i1 %37, i1 false) br i1 %38, label %panic2, label %bb12 bb12: ; preds = %bb11 store i16 %36, i16* %n %39 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb17 bb13: ; preds = %bb15, %bb17 store i8 1, i8* %_44 br label %bb16 bb14: ; preds = %bb15 store i8 0, i8* %_44 br label %bb16 bb15: ; preds = %bb17 %40 = icmp ugt i16 %3, 1 br i1 %40, label %bb13, label %bb14 bb16: ; preds = %bb14, %bb13 %41 = load i8, i8* %_44, !range !2 %42 = trunc i8 %41 to i1 br i1 %42, label %bb18, label %bb19 bb17: ; preds = %bb12 %43 = icmp ugt i16 %39, 1 br i1 %43, label %bb13, label %bb15 bb18: ; preds = %bb16 %44 = load i16, i16* %n %45 = icmp ult i16 %44, %6 %46 = call i1 @llvm.expect.i1(i1 %45, i1 true) br i1 %46, label %bb20, label %panic3 bb19: ; preds = %bb16 br label %bb33 bb20: ; preds = %bb18 %47 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i16 %44 %48 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %47, i32 0, i32 0 store i16 2, i16* %48 %49 = bitcast %"num::flt2dec::Part"* %47 to { i16, { i8*, i16 } }* %50 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %49, i32 0, i32 1 %51 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %50, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.2P, i32 0, i32 0), i8** %51 %52 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %50, i32 0, i32 1 store i16 1, i16* %52 %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_60, i32 0, i32 0 store i16 1, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_60 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %0, i16 %1, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb21 bb21: ; preds = %bb20 %59 = load i16, i16* %n %60 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %59, i16 1) %61 = extractvalue { i16, i1 } %60, 0 %62 = extractvalue { i16, i1 } %60, 1 %63 = call i1 @llvm.expect.i1(i1 %62, i1 false) br i1 %63, label %panic4, label %bb22 bb22: ; preds = %bb21 %64 = call dereferenceable(6) %"num::flt2dec::Part"* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hd0f2e324723fcfabE"(%"num::flt2dec::Part"* nonnull %5, i16 %6, i16 %61) br label %bb23 bb23: ; preds = %bb22 %65 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %64, i32 0, i32 0 store i16 2, i16* %65 %66 = bitcast %"num::flt2dec::Part"* %64 to { i16, { i8*, i16 } }* %67 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %66, i32 0, i32 1 %68 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %67, i32 0, i32 0 store i8* %57, i8** %68 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %67, i32 0, i32 1 store i16 %58, i16* %69 %70 = load i16, i16* %n %71 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %70, i16 2) %72 = extractvalue { i16, i1 } %71, 0 %73 = extractvalue { i16, i1 } %71, 1 %74 = call i1 @llvm.expect.i1(i1 %73, i1 false) br i1 %74, label %panic5, label %bb24 bb24: ; preds = %bb23 store i16 %72, i16* %n %75 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb25 bb25: ; preds = %bb24 %76 = icmp ugt i16 %3, %75 br i1 %76, label %bb26, label %bb27 bb26: ; preds = %bb25 %77 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb28 bb27: ; preds = %bb25 br label %bb32 bb28: ; preds = %bb26 %78 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 %77) %79 = extractvalue { i16, i1 } %78, 0 %80 = extractvalue { i16, i1 } %78, 1 %81 = call i1 @llvm.expect.i1(i1 %80, i1 false) br i1 %81, label %panic6, label %bb29 bb29: ; preds = %bb28 %82 = load i16, i16* %n %83 = icmp ult i16 %82, %6 %84 = call i1 @llvm.expect.i1(i1 %83, i1 true) br i1 %84, label %bb30, label %panic7 bb30: ; preds = %bb29 %85 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i16 %82 %86 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %85, i32 0, i32 0 store i16 0, i16* %86 %87 = bitcast %"num::flt2dec::Part"* %85 to { i16, i16 }* %88 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %87, i32 0, i32 1 store i16 %79, i16* %88 %89 = load i16, i16* %n %90 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %89, i16 1) %91 = extractvalue { i16, i1 } %90, 0 %92 = extractvalue { i16, i1 } %90, 1 %93 = call i1 @llvm.expect.i1(i1 %92, i1 false) br i1 %93, label %panic8, label %bb31 bb31: ; preds = %bb30 store i16 %91, i16* %n br label %bb32 bb32: ; preds = %bb27, %bb31 br label %bb33 bb33: ; preds = %bb19, %bb32 %94 = sext i16 %2 to i32 %95 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %94, i32 1) %96 = extractvalue { i32, i1 } %95, 0 %97 = extractvalue { i32, i1 } %95, 1 %98 = call i1 @llvm.expect.i1(i1 %97, i1 false) br i1 %98, label %panic9, label %bb34 bb34: ; preds = %bb33 %99 = icmp slt i32 %96, 0 br i1 %99, label %bb35, label %bb36 bb35: ; preds = %bb34 br i1 %4, label %bb37, label %bb38 bb36: ; preds = %bb34 br i1 %4, label %bb44, label %bb45 bb37: ; preds = %bb35 %100 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.3a, i32 0, i32 0), i8** %100 %101 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 1 store i16 2, i16* %101 br label %bb39 bb38: ; preds = %bb35 %102 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.3b, i32 0, i32 0), i8** %102 %103 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 1 store i16 2, i16* %103 br label %bb39 bb39: ; preds = %bb38, %bb37 %104 = load i16, i16* %n %105 = icmp ult i16 %104, %6 %106 = call i1 @llvm.expect.i1(i1 %105, i1 true) br i1 %106, label %bb40, label %panic10 bb40: ; preds = %bb39 %107 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i16 %104 %108 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %107, i32 0, i32 0 store i16 2, i16* %108 %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 0 %110 = load i8*, i8** %109, !nonnull !1 %111 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 1 %112 = load i16, i16* %111 %113 = bitcast %"num::flt2dec::Part"* %107 to { i16, { i8*, i16 } }* %114 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %113, i32 0, i32 1 %115 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %114, i32 0, i32 0 store i8* %110, i8** %115 %116 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %114, i32 0, i32 1 store i16 %112, i16* %116 %117 = icmp eq i32 %96, -2147483648 %118 = call i1 @llvm.expect.i1(i1 %117, i1 false) br i1 %118, label %panic11, label %bb41 bb41: ; preds = %bb40 %119 = sub i32 0, %96 %120 = trunc i32 %119 to i16 %121 = load i16, i16* %n %122 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %121, i16 1) %123 = extractvalue { i16, i1 } %122, 0 %124 = extractvalue { i16, i1 } %122, 1 %125 = call i1 @llvm.expect.i1(i1 %124, i1 false) br i1 %125, label %panic12, label %bb42 bb42: ; preds = %bb41 %126 = call dereferenceable(6) %"num::flt2dec::Part"* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hd0f2e324723fcfabE"(%"num::flt2dec::Part"* nonnull %5, i16 %6, i16 %123) br label %bb43 bb43: ; preds = %bb42 %127 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %126, i32 0, i32 0 store i16 1, i16* %127 %128 = bitcast %"num::flt2dec::Part"* %126 to { i16, i16 }* %129 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %128, i32 0, i32 1 store i16 %120, i16* %129 br label %bb50 bb44: ; preds = %bb36 %130 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_105, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3f, i32 0, i32 0), i8** %130 %131 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_105, i32 0, i32 1 store i16 1, i16* %131 br label %bb46 bb45: ; preds = %bb36 %132 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_105, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3g, i32 0, i32 0), i8** %132 %133 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_105, i32 0, i32 1 store i16 1, i16* %133 br label %bb46 bb46: ; preds = %bb45, %bb44 %134 = load i16, i16* %n %135 = icmp ult i16 %134, %6 %136 = call i1 @llvm.expect.i1(i1 %135, i1 true) br i1 %136, label %bb47, label %panic13 bb47: ; preds = %bb46 %137 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i16 %134 %138 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %137, i32 0, i32 0 store i16 2, i16* %138 %139 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_105, i32 0, i32 0 %140 = load i8*, i8** %139, !nonnull !1 %141 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_105, i32 0, i32 1 %142 = load i16, i16* %141 %143 = bitcast %"num::flt2dec::Part"* %137 to { i16, { i8*, i16 } }* %144 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %143, i32 0, i32 1 %145 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %144, i32 0, i32 0 store i8* %140, i8** %145 %146 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %144, i32 0, i32 1 store i16 %142, i16* %146 %147 = trunc i32 %96 to i16 %148 = load i16, i16* %n %149 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %148, i16 1) %150 = extractvalue { i16, i1 } %149, 0 %151 = extractvalue { i16, i1 } %149, 1 %152 = call i1 @llvm.expect.i1(i1 %151, i1 false) br i1 %152, label %panic14, label %bb48 bb48: ; preds = %bb47 %153 = call dereferenceable(6) %"num::flt2dec::Part"* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hd0f2e324723fcfabE"(%"num::flt2dec::Part"* nonnull %5, i16 %6, i16 %150) br label %bb49 bb49: ; preds = %bb48 %154 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %153, i32 0, i32 0 store i16 1, i16* %154 %155 = bitcast %"num::flt2dec::Part"* %153 to { i16, i16 }* %156 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %155, i32 0, i32 1 store i16 %147, i16* %156 br label %bb50 bb50: ; preds = %bb49, %bb43 %157 = load i16, i16* %n %158 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %157, i16 2) %159 = extractvalue { i16, i1 } %158, 0 %160 = extractvalue { i16, i1 } %158, 1 %161 = call i1 @llvm.expect.i1(i1 %160, i1 false) br i1 %161, label %panic15, label %bb51 bb51: ; preds = %bb50 %162 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_124, i32 0, i32 0 store i16 %159, i16* %162 %163 = bitcast %"ops::RangeTo"* %_124 to i16* %164 = load i16, i16* %163, align 2 %165 = call { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %5, i16 %6, i16 %164) %166 = extractvalue { %"num::flt2dec::Part"*, i16 } %165, 0 %167 = extractvalue { %"num::flt2dec::Part"*, i16 } %165, 1 br label %bb52 bb52: ; preds = %bb51 %168 = insertvalue { %"num::flt2dec::Part"*, i16 } undef, %"num::flt2dec::Part"* %166, 0 %169 = insertvalue { %"num::flt2dec::Part"*, i16 } %168, i16 %167, 1 ret { %"num::flt2dec::Part"*, i16 } %169 panic: ; preds = %bb3 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.30, i16 0, i16 %1) unreachable panic1: ; preds = %bb10 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.31, i16 %25, i16 %6) unreachable panic2: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.32) unreachable panic3: ; preds = %bb18 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.33, i16 %44, i16 %6) unreachable panic4: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.34) unreachable panic5: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.35) unreachable panic6: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.36) unreachable panic7: ; preds = %bb29 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.37, i16 %82, i16 %6) unreachable panic8: ; preds = %bb30 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.38) unreachable panic9: ; preds = %bb33 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.39) unreachable panic10: ; preds = %bb39 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3c, i16 %104, i16 %6) unreachable panic11: ; preds = %bb40 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3d) unreachable panic12: ; preds = %bb41 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3e) unreachable panic13: ; preds = %bb46 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3h, i16 %134, i16 %6) unreachable panic14: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3i) unreachable panic15: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3j) unreachable } ; Function Attrs: uwtable define { i8*, i16 } @_ZN4core3num7flt2dec14determine_sign17hf2029f1b99eb9d79E(i8, %"num::flt2dec::decoder::FullDecoded"* noalias readonly dereferenceable(40), i1 zeroext) unnamed_addr #1 { entry-block: %_38 = alloca { i8*, i16 } %_32 = alloca { i8*, i16 } %_26 = alloca { i8*, i16 } %_18 = alloca { i8*, i16 } %_10 = alloca i8 %_9 = alloca %"num::flt2dec::decoder::FullDecoded" %_8 = alloca { %"num::flt2dec::decoder::FullDecoded", i8 } %_7 = alloca { i8*, i16 } %sign = alloca i8 %arg0 = alloca i8 store i8 %0, i8* %arg0 br label %start start: ; preds = %entry-block %3 = load i8, i8* %arg0 store i8 %3, i8* %sign %4 = bitcast %"num::flt2dec::decoder::FullDecoded"* %1 to i8* %5 = bitcast %"num::flt2dec::decoder::FullDecoded"* %_9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 40, i32 8, i1 false) %6 = load i8, i8* %sign store i8 %6, i8* %_10 %7 = getelementptr inbounds { %"num::flt2dec::decoder::FullDecoded", i8 }, { %"num::flt2dec::decoder::FullDecoded", i8 }* %_8, i32 0, i32 0 %8 = bitcast %"num::flt2dec::decoder::FullDecoded"* %_9 to i8* %9 = bitcast %"num::flt2dec::decoder::FullDecoded"* %7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 40, i32 8, i1 false) %10 = load i8, i8* %_10 %11 = getelementptr inbounds { %"num::flt2dec::decoder::FullDecoded", i8 }, { %"num::flt2dec::decoder::FullDecoded", i8 }* %_8, i32 0, i32 1 store i8 %10, i8* %11 %12 = getelementptr inbounds { %"num::flt2dec::decoder::FullDecoded", i8 }, { %"num::flt2dec::decoder::FullDecoded", i8 }* %_8, i32 0, i32 0 %13 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %12, i32 0, i32 0 %14 = load i64, i64* %13, !range !5 %15 = trunc i64 %14 to i16 switch i16 %15, label %bb8 [ i16 0, label %bb1 i16 2, label %bb9 ] bb1: ; preds = %start %16 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.3m, i32 0, i32 0), i8** %16 %17 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 1 store i16 0, i16* %17 br label %bb10 bb2: ; preds = %bb9 %18 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.3m, i32 0, i32 0), i8** %18 %19 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 1 store i16 0, i16* %19 br label %bb10 bb3: ; preds = %bb9 br i1 %2, label %bb11, label %bb12 bb4: ; preds = %bb9 %20 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3l, i32 0, i32 0), i8** %20 %21 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 1 store i16 1, i16* %21 br label %bb10 bb5: ; preds = %bb9 br i1 %2, label %bb14, label %bb15 bb6: ; preds = %bb8, %bb8 br i1 %2, label %bb17, label %bb18 bb7: ; preds = %bb8, %bb8 br i1 %2, label %bb20, label %bb21 bb8: ; preds = %start %22 = getelementptr inbounds { %"num::flt2dec::decoder::FullDecoded", i8 }, { %"num::flt2dec::decoder::FullDecoded", i8 }* %_8, i32 0, i32 1 %23 = load i8, i8* %22, !range !6 %24 = zext i8 %23 to i16 switch i16 %24, label %bb7 [ i16 0, label %bb6 i16 1, label %bb6 i16 2, label %bb7 ] bb9: ; preds = %start %25 = getelementptr inbounds { %"num::flt2dec::decoder::FullDecoded", i8 }, { %"num::flt2dec::decoder::FullDecoded", i8 }* %_8, i32 0, i32 1 %26 = load i8, i8* %25, !range !6 %27 = zext i8 %26 to i16 switch i16 %27, label %bb5 [ i16 0, label %bb2 i16 1, label %bb3 i16 2, label %bb4 ] bb10: ; preds = %bb1, %bb2, %bb13, %bb4, %bb16, %bb19, %bb22 %28 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 0 %29 = load i8*, i8** %28, !nonnull !1 %30 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 1 %31 = load i16, i16* %30 %32 = insertvalue { i8*, i16 } undef, i8* %29, 0 %33 = insertvalue { i8*, i16 } %32, i16 %31, 1 ret { i8*, i16 } %33 bb11: ; preds = %bb3 %34 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_18, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3k, i32 0, i32 0), i8** %34 %35 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_18, i32 0, i32 1 store i16 1, i16* %35 br label %bb13 bb12: ; preds = %bb3 %36 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_18, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.3m, i32 0, i32 0), i8** %36 %37 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_18, i32 0, i32 1 store i16 0, i16* %37 br label %bb13 bb13: ; preds = %bb12, %bb11 %38 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_18, i32 0, i32 0 %39 = load i8*, i8** %38, !nonnull !1 %40 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_18, i32 0, i32 1 %41 = load i16, i16* %40 %42 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 0 store i8* %39, i8** %42 %43 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 1 store i16 %41, i16* %43 br label %bb10 bb14: ; preds = %bb5 %44 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_26, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3k, i32 0, i32 0), i8** %44 %45 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_26, i32 0, i32 1 store i16 1, i16* %45 br label %bb16 bb15: ; preds = %bb5 %46 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_26, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3l, i32 0, i32 0), i8** %46 %47 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_26, i32 0, i32 1 store i16 1, i16* %47 br label %bb16 bb16: ; preds = %bb15, %bb14 %48 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_26, i32 0, i32 0 %49 = load i8*, i8** %48, !nonnull !1 %50 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_26, i32 0, i32 1 %51 = load i16, i16* %50 %52 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 0 store i8* %49, i8** %52 %53 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 1 store i16 %51, i16* %53 br label %bb10 bb17: ; preds = %bb6 %54 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_32, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3k, i32 0, i32 0), i8** %54 %55 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_32, i32 0, i32 1 store i16 1, i16* %55 br label %bb19 bb18: ; preds = %bb6 %56 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_32, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.3m, i32 0, i32 0), i8** %56 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_32, i32 0, i32 1 store i16 0, i16* %57 br label %bb19 bb19: ; preds = %bb18, %bb17 %58 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_32, i32 0, i32 0 %59 = load i8*, i8** %58, !nonnull !1 %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_32, i32 0, i32 1 %61 = load i16, i16* %60 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 0 store i8* %59, i8** %62 %63 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 1 store i16 %61, i16* %63 br label %bb10 bb20: ; preds = %bb7 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_38, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3k, i32 0, i32 0), i8** %64 %65 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_38, i32 0, i32 1 store i16 1, i16* %65 br label %bb22 bb21: ; preds = %bb7 %66 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_38, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3l, i32 0, i32 0), i8** %66 %67 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_38, i32 0, i32 1 store i16 1, i16* %67 br label %bb22 bb22: ; preds = %bb21, %bb20 %68 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_38, i32 0, i32 0 %69 = load i8*, i8** %68, !nonnull !1 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_38, i32 0, i32 1 %71 = load i16, i16* %70 %72 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 0 store i8* %69, i8** %72 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_7, i32 0, i32 1 store i16 %71, i16* %73 br label %bb10 } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec15to_shortest_str17h7a9e688f401034c7E(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8), float, i8, i16, i1 zeroext, i8* nonnull, i16, %"num::flt2dec::Part"* nonnull, i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %tmp_ret = alloca { i16, i16 } %personalityslot = alloca { i8*, i32 } %_103 = alloca %"ops::RangeTo" %_93 = alloca { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } } %_88 = alloca %"ops::RangeTo" %_77 = alloca %"ops::RangeTo" %_61 = alloca %"ops::RangeTo" %_50 = alloca %"ops::RangeTo" %_34 = alloca i8 %_31 = alloca { i8, %"num::flt2dec::decoder::FullDecoded" } %full_decoded = alloca %"num::flt2dec::decoder::FullDecoded" %_22 = alloca {} %_15 = alloca {} %sign = alloca i8 %format_shortest = alloca {} %arg2 = alloca i8 store i8 %2, i8* %arg2 br label %start start: ; preds = %entry-block %9 = load i8, i8* %arg2 store i8 %9, i8* %sign %10 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8) to label %bb3 unwind label %cleanup bb1: ; preds = %bb2 %11 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %11 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start %12 = icmp uge i16 %10, 4 %13 = xor i1 %12, true br i1 %13, label %bb4, label %bb5 bb4: ; preds = %bb3 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec15to_shortest_str14_MSG_FILE_LINE17ha0cf7769732fb3ecE) to label %unreachable unwind label %cleanup bb5: ; preds = %bb3 %14 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %5, i16 %6) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %15 = icmp uge i16 %14, 17 %16 = xor i1 %15, true br i1 %16, label %bb7, label %bb8 bb7: ; preds = %bb6 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec15to_shortest_str14_MSG_FILE_LINE17h88da6a0e31e4b58dE) to label %unreachable unwind label %cleanup bb8: ; preds = %bb6 invoke void @_ZN4core3num7flt2dec7decoder6decode17h66ea56e5c322d6a8E({ i8, %"num::flt2dec::decoder::FullDecoded" }* noalias nocapture sret dereferenceable(48) %_31, float %1) to label %bb9 unwind label %cleanup bb9: ; preds = %bb8 %17 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_31, i32 0, i32 0 %18 = load i8, i8* %17, !range !2 %19 = trunc i8 %18 to i1 %20 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_31, i32 0, i32 1 %21 = bitcast %"num::flt2dec::decoder::FullDecoded"* %20 to i8* %22 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 40, i32 8, i1 false) %23 = load i8, i8* %sign store i8 %23, i8* %_34 %24 = load i8, i8* %_34 %25 = invoke { i8*, i16 } @_ZN4core3num7flt2dec14determine_sign17hf2029f1b99eb9d79E(i8 %24, %"num::flt2dec::decoder::FullDecoded"* noalias readonly dereferenceable(40) %full_decoded, i1 zeroext %19) to label %bb10 unwind label %cleanup bb10: ; preds = %bb9 %26 = extractvalue { i8*, i16 } %25, 0 %27 = extractvalue { i8*, i16 } %25, 1 %28 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %full_decoded, i32 0, i32 0 %29 = load i64, i64* %28, !range !5 %30 = trunc i64 %29 to i16 switch i16 %30, label %bb14 [ i16 0, label %bb11 i16 1, label %bb12 i16 2, label %bb13 ] bb11: ; preds = %bb10 %31 = icmp ult i16 0, %8 %32 = call i1 @llvm.expect.i1(i1 %31, i1 true) br i1 %32, label %bb16, label %panic4 bb12: ; preds = %bb10 %33 = icmp ult i16 0, %8 %34 = call i1 @llvm.expect.i1(i1 %33, i1 true) br i1 %34, label %bb18, label %panic3 bb13: ; preds = %bb10 %35 = icmp ugt i16 %3, 0 br i1 %35, label %bb20, label %bb21 bb14: ; preds = %bb10 %36 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %37 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %36, i32 0, i32 1 %38 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_93, i32 0, i32 0 store %"num::flt2dec::decoder::Decoded"* %37, %"num::flt2dec::decoder::Decoded"** %38 %39 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_93, i32 0, i32 1 %40 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %39, i32 0, i32 0 store i8* %5, i8** %40 %41 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %39, i32 0, i32 1 store i16 %6, i16* %41 %42 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_93, i32 0, i32 0 %43 = load %"num::flt2dec::decoder::Decoded"*, %"num::flt2dec::decoder::Decoded"** %42 %44 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_93, i32 0, i32 1 %45 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %44, i32 0, i32 0 %46 = load i8*, i8** %45, !nonnull !1 %47 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %44, i32 0, i32 1 %48 = load i16, i16* %47 invoke void @_ZN4core3ops5FnMut8call_mut17h04bea1f3416e84dcE({ i16, i16 }* noalias nocapture sret dereferenceable(4) %tmp_ret, {}* %format_shortest, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %43, i8* nonnull %46, i16 %48) to label %bb28 unwind label %cleanup bb15: ; preds = %bb17, %bb19, %bb27, %bb30 br label %bb31 bb16: ; preds = %bb11 %49 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %50 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %49, i32 0, i32 0 store i16 2, i16* %50 %51 = bitcast %"num::flt2dec::Part"* %49 to { i16, { i8*, i16 } }* %52 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %51, i32 0, i32 1 %53 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %52, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3t, i32 0, i32 0), i8** %53 %54 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %52, i32 0, i32 1 store i16 3, i16* %54 %55 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_50, i32 0, i32 0 store i16 1, i16* %55 %56 = bitcast %"ops::RangeTo"* %_50 to i16* %57 = load i16, i16* %56, align 2 %58 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %57) to label %bb17 unwind label %cleanup bb17: ; preds = %bb16 %59 = extractvalue { %"num::flt2dec::Part"*, i16 } %58, 0 %60 = extractvalue { %"num::flt2dec::Part"*, i16 } %58, 1 %61 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 store i8* %26, i8** %62 %63 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 store i16 %27, i16* %63 %64 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %65 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %64, i32 0, i32 0 store %"num::flt2dec::Part"* %59, %"num::flt2dec::Part"** %65 %66 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %64, i32 0, i32 1 store i16 %60, i16* %66 br label %bb15 bb18: ; preds = %bb12 %67 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %68 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %67, i32 0, i32 0 store i16 2, i16* %68 %69 = bitcast %"num::flt2dec::Part"* %67 to { i16, { i8*, i16 } }* %70 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %69, i32 0, i32 1 %71 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %70, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3r, i32 0, i32 0), i8** %71 %72 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %70, i32 0, i32 1 store i16 3, i16* %72 %73 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_61, i32 0, i32 0 store i16 1, i16* %73 %74 = bitcast %"ops::RangeTo"* %_61 to i16* %75 = load i16, i16* %74, align 2 %76 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %75) to label %bb19 unwind label %cleanup bb19: ; preds = %bb18 %77 = extractvalue { %"num::flt2dec::Part"*, i16 } %76, 0 %78 = extractvalue { %"num::flt2dec::Part"*, i16 } %76, 1 %79 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %80 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %79, i32 0, i32 0 store i8* %26, i8** %80 %81 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %79, i32 0, i32 1 store i16 %27, i16* %81 %82 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %83 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %82, i32 0, i32 0 store %"num::flt2dec::Part"* %77, %"num::flt2dec::Part"** %83 %84 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %82, i32 0, i32 1 store i16 %78, i16* %84 br label %bb15 bb20: ; preds = %bb13 %85 = icmp ult i16 0, %8 %86 = call i1 @llvm.expect.i1(i1 %85, i1 true) br i1 %86, label %bb22, label %panic bb21: ; preds = %bb13 %87 = icmp ult i16 0, %8 %88 = call i1 @llvm.expect.i1(i1 %87, i1 true) br i1 %88, label %bb25, label %panic2 bb22: ; preds = %bb20 %89 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %90 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %89, i32 0, i32 0 store i16 2, i16* %90 %91 = bitcast %"num::flt2dec::Part"* %89 to { i16, { i8*, i16 } }* %92 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %91, i32 0, i32 1 %93 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %92, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.2H, i32 0, i32 0), i8** %93 %94 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %92, i32 0, i32 1 store i16 2, i16* %94 %95 = icmp ult i16 1, %8 %96 = call i1 @llvm.expect.i1(i1 %95, i1 true) br i1 %96, label %bb23, label %panic1 bb23: ; preds = %bb22 %97 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 1 %98 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %97, i32 0, i32 0 store i16 0, i16* %98 %99 = bitcast %"num::flt2dec::Part"* %97 to { i16, i16 }* %100 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %99, i32 0, i32 1 store i16 %3, i16* %100 %101 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_77, i32 0, i32 0 store i16 2, i16* %101 %102 = bitcast %"ops::RangeTo"* %_77 to i16* %103 = load i16, i16* %102, align 2 %104 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %103) to label %bb24 unwind label %cleanup bb24: ; preds = %bb23 %105 = extractvalue { %"num::flt2dec::Part"*, i16 } %104, 0 %106 = extractvalue { %"num::flt2dec::Part"*, i16 } %104, 1 %107 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %108 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %107, i32 0, i32 0 store i8* %26, i8** %108 %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %107, i32 0, i32 1 store i16 %27, i16* %109 %110 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %111 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %110, i32 0, i32 0 store %"num::flt2dec::Part"* %105, %"num::flt2dec::Part"** %111 %112 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %110, i32 0, i32 1 store i16 %106, i16* %112 br label %bb27 bb25: ; preds = %bb21 %113 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %114 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %113, i32 0, i32 0 store i16 2, i16* %114 %115 = bitcast %"num::flt2dec::Part"* %113 to { i16, { i8*, i16 } }* %116 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %115, i32 0, i32 1 %117 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %116, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3p, i32 0, i32 0), i8** %117 %118 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %116, i32 0, i32 1 store i16 1, i16* %118 %119 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_88, i32 0, i32 0 store i16 1, i16* %119 %120 = bitcast %"ops::RangeTo"* %_88 to i16* %121 = load i16, i16* %120, align 2 %122 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %121) to label %bb26 unwind label %cleanup bb26: ; preds = %bb25 %123 = extractvalue { %"num::flt2dec::Part"*, i16 } %122, 0 %124 = extractvalue { %"num::flt2dec::Part"*, i16 } %122, 1 %125 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %126 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %125, i32 0, i32 0 store i8* %26, i8** %126 %127 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %125, i32 0, i32 1 store i16 %27, i16* %127 %128 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %129 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %128, i32 0, i32 0 store %"num::flt2dec::Part"* %123, %"num::flt2dec::Part"** %129 %130 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %128, i32 0, i32 1 store i16 %124, i16* %130 br label %bb27 bb27: ; preds = %bb26, %bb24 br label %bb15 bb28: ; preds = %bb14 %131 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 0 %132 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 1 %133 = load i16, i16* %131 %134 = load i16, i16* %132 %135 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_103, i32 0, i32 0 store i16 %133, i16* %135 %136 = bitcast %"ops::RangeTo"* %_103 to i16* %137 = load i16, i16* %136, align 2 %138 = invoke { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %5, i16 %6, i16 %137) to label %bb29 unwind label %cleanup bb29: ; preds = %bb28 %139 = extractvalue { i8*, i16 } %138, 0 %140 = extractvalue { i8*, i16 } %138, 1 %141 = invoke { %"num::flt2dec::Part"*, i16 } @_ZN4core3num7flt2dec17digits_to_dec_str17h424ba2e1ed22f0b1E(i8* noalias nonnull readonly %139, i16 %140, i16 %134, i16 %3, %"num::flt2dec::Part"* nonnull %7, i16 %8) to label %bb30 unwind label %cleanup bb30: ; preds = %bb29 %142 = extractvalue { %"num::flt2dec::Part"*, i16 } %141, 0 %143 = extractvalue { %"num::flt2dec::Part"*, i16 } %141, 1 %144 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %145 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %144, i32 0, i32 0 store i8* %26, i8** %145 %146 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %144, i32 0, i32 1 store i16 %27, i16* %146 %147 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %148 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %147, i32 0, i32 0 store %"num::flt2dec::Part"* %142, %"num::flt2dec::Part"** %148 %149 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %147, i32 0, i32 1 store i16 %143, i16* %149 br label %bb15 bb31: ; preds = %bb15 ret void cleanup: ; preds = %bb16, %panic4, %bb18, %panic3, %bb25, %panic2, %bb23, %panic1, %panic, %bb29, %bb28, %bb14, %bb9, %bb8, %bb7, %bb5, %bb4, %start %150 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %150, { i8*, i32 }* %personalityslot br label %bb2 unreachable: ; preds = %panic4, %panic3, %panic2, %panic1, %panic, %bb7, %bb4 unreachable panic: ; preds = %bb20 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3n, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic1: ; preds = %bb22 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3o, i16 1, i16 %8) to label %unreachable unwind label %cleanup panic2: ; preds = %bb21 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3q, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic3: ; preds = %bb12 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3s, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic4: ; preds = %bb11 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3u, i16 0, i16 %8) to label %unreachable unwind label %cleanup } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec15to_shortest_str17h9e1b2fba31acf44bE(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8), double, i8, i16, i1 zeroext, i8* nonnull, i16, %"num::flt2dec::Part"* nonnull, i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %tmp_ret = alloca { i16, i16 } %personalityslot = alloca { i8*, i32 } %_103 = alloca %"ops::RangeTo" %_93 = alloca { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } } %_88 = alloca %"ops::RangeTo" %_77 = alloca %"ops::RangeTo" %_61 = alloca %"ops::RangeTo" %_50 = alloca %"ops::RangeTo" %_34 = alloca i8 %_31 = alloca { i8, %"num::flt2dec::decoder::FullDecoded" } %full_decoded = alloca %"num::flt2dec::decoder::FullDecoded" %_22 = alloca {} %_15 = alloca {} %sign = alloca i8 %format_shortest = alloca {} %arg2 = alloca i8 store i8 %2, i8* %arg2 br label %start start: ; preds = %entry-block %9 = load i8, i8* %arg2 store i8 %9, i8* %sign %10 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8) to label %bb3 unwind label %cleanup bb1: ; preds = %bb2 %11 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %11 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start %12 = icmp uge i16 %10, 4 %13 = xor i1 %12, true br i1 %13, label %bb4, label %bb5 bb4: ; preds = %bb3 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec15to_shortest_str14_MSG_FILE_LINE17ha0cf7769732fb3ecE) to label %unreachable unwind label %cleanup bb5: ; preds = %bb3 %14 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %5, i16 %6) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %15 = icmp uge i16 %14, 17 %16 = xor i1 %15, true br i1 %16, label %bb7, label %bb8 bb7: ; preds = %bb6 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec15to_shortest_str14_MSG_FILE_LINE17h88da6a0e31e4b58dE) to label %unreachable unwind label %cleanup bb8: ; preds = %bb6 invoke void @_ZN4core3num7flt2dec7decoder6decode17haf3ab329e2f330eeE({ i8, %"num::flt2dec::decoder::FullDecoded" }* noalias nocapture sret dereferenceable(48) %_31, double %1) to label %bb9 unwind label %cleanup bb9: ; preds = %bb8 %17 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_31, i32 0, i32 0 %18 = load i8, i8* %17, !range !2 %19 = trunc i8 %18 to i1 %20 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_31, i32 0, i32 1 %21 = bitcast %"num::flt2dec::decoder::FullDecoded"* %20 to i8* %22 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 40, i32 8, i1 false) %23 = load i8, i8* %sign store i8 %23, i8* %_34 %24 = load i8, i8* %_34 %25 = invoke { i8*, i16 } @_ZN4core3num7flt2dec14determine_sign17hf2029f1b99eb9d79E(i8 %24, %"num::flt2dec::decoder::FullDecoded"* noalias readonly dereferenceable(40) %full_decoded, i1 zeroext %19) to label %bb10 unwind label %cleanup bb10: ; preds = %bb9 %26 = extractvalue { i8*, i16 } %25, 0 %27 = extractvalue { i8*, i16 } %25, 1 %28 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %full_decoded, i32 0, i32 0 %29 = load i64, i64* %28, !range !5 %30 = trunc i64 %29 to i16 switch i16 %30, label %bb14 [ i16 0, label %bb11 i16 1, label %bb12 i16 2, label %bb13 ] bb11: ; preds = %bb10 %31 = icmp ult i16 0, %8 %32 = call i1 @llvm.expect.i1(i1 %31, i1 true) br i1 %32, label %bb16, label %panic4 bb12: ; preds = %bb10 %33 = icmp ult i16 0, %8 %34 = call i1 @llvm.expect.i1(i1 %33, i1 true) br i1 %34, label %bb18, label %panic3 bb13: ; preds = %bb10 %35 = icmp ugt i16 %3, 0 br i1 %35, label %bb20, label %bb21 bb14: ; preds = %bb10 %36 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %37 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %36, i32 0, i32 1 %38 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_93, i32 0, i32 0 store %"num::flt2dec::decoder::Decoded"* %37, %"num::flt2dec::decoder::Decoded"** %38 %39 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_93, i32 0, i32 1 %40 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %39, i32 0, i32 0 store i8* %5, i8** %40 %41 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %39, i32 0, i32 1 store i16 %6, i16* %41 %42 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_93, i32 0, i32 0 %43 = load %"num::flt2dec::decoder::Decoded"*, %"num::flt2dec::decoder::Decoded"** %42 %44 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_93, i32 0, i32 1 %45 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %44, i32 0, i32 0 %46 = load i8*, i8** %45, !nonnull !1 %47 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %44, i32 0, i32 1 %48 = load i16, i16* %47 invoke void @_ZN4core3ops5FnMut8call_mut17h04bea1f3416e84dcE({ i16, i16 }* noalias nocapture sret dereferenceable(4) %tmp_ret, {}* %format_shortest, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %43, i8* nonnull %46, i16 %48) to label %bb28 unwind label %cleanup bb15: ; preds = %bb17, %bb19, %bb27, %bb30 br label %bb31 bb16: ; preds = %bb11 %49 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %50 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %49, i32 0, i32 0 store i16 2, i16* %50 %51 = bitcast %"num::flt2dec::Part"* %49 to { i16, { i8*, i16 } }* %52 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %51, i32 0, i32 1 %53 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %52, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3t, i32 0, i32 0), i8** %53 %54 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %52, i32 0, i32 1 store i16 3, i16* %54 %55 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_50, i32 0, i32 0 store i16 1, i16* %55 %56 = bitcast %"ops::RangeTo"* %_50 to i16* %57 = load i16, i16* %56, align 2 %58 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %57) to label %bb17 unwind label %cleanup bb17: ; preds = %bb16 %59 = extractvalue { %"num::flt2dec::Part"*, i16 } %58, 0 %60 = extractvalue { %"num::flt2dec::Part"*, i16 } %58, 1 %61 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 store i8* %26, i8** %62 %63 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 store i16 %27, i16* %63 %64 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %65 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %64, i32 0, i32 0 store %"num::flt2dec::Part"* %59, %"num::flt2dec::Part"** %65 %66 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %64, i32 0, i32 1 store i16 %60, i16* %66 br label %bb15 bb18: ; preds = %bb12 %67 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %68 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %67, i32 0, i32 0 store i16 2, i16* %68 %69 = bitcast %"num::flt2dec::Part"* %67 to { i16, { i8*, i16 } }* %70 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %69, i32 0, i32 1 %71 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %70, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3r, i32 0, i32 0), i8** %71 %72 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %70, i32 0, i32 1 store i16 3, i16* %72 %73 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_61, i32 0, i32 0 store i16 1, i16* %73 %74 = bitcast %"ops::RangeTo"* %_61 to i16* %75 = load i16, i16* %74, align 2 %76 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %75) to label %bb19 unwind label %cleanup bb19: ; preds = %bb18 %77 = extractvalue { %"num::flt2dec::Part"*, i16 } %76, 0 %78 = extractvalue { %"num::flt2dec::Part"*, i16 } %76, 1 %79 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %80 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %79, i32 0, i32 0 store i8* %26, i8** %80 %81 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %79, i32 0, i32 1 store i16 %27, i16* %81 %82 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %83 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %82, i32 0, i32 0 store %"num::flt2dec::Part"* %77, %"num::flt2dec::Part"** %83 %84 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %82, i32 0, i32 1 store i16 %78, i16* %84 br label %bb15 bb20: ; preds = %bb13 %85 = icmp ult i16 0, %8 %86 = call i1 @llvm.expect.i1(i1 %85, i1 true) br i1 %86, label %bb22, label %panic bb21: ; preds = %bb13 %87 = icmp ult i16 0, %8 %88 = call i1 @llvm.expect.i1(i1 %87, i1 true) br i1 %88, label %bb25, label %panic2 bb22: ; preds = %bb20 %89 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %90 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %89, i32 0, i32 0 store i16 2, i16* %90 %91 = bitcast %"num::flt2dec::Part"* %89 to { i16, { i8*, i16 } }* %92 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %91, i32 0, i32 1 %93 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %92, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.2H, i32 0, i32 0), i8** %93 %94 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %92, i32 0, i32 1 store i16 2, i16* %94 %95 = icmp ult i16 1, %8 %96 = call i1 @llvm.expect.i1(i1 %95, i1 true) br i1 %96, label %bb23, label %panic1 bb23: ; preds = %bb22 %97 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 1 %98 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %97, i32 0, i32 0 store i16 0, i16* %98 %99 = bitcast %"num::flt2dec::Part"* %97 to { i16, i16 }* %100 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %99, i32 0, i32 1 store i16 %3, i16* %100 %101 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_77, i32 0, i32 0 store i16 2, i16* %101 %102 = bitcast %"ops::RangeTo"* %_77 to i16* %103 = load i16, i16* %102, align 2 %104 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %103) to label %bb24 unwind label %cleanup bb24: ; preds = %bb23 %105 = extractvalue { %"num::flt2dec::Part"*, i16 } %104, 0 %106 = extractvalue { %"num::flt2dec::Part"*, i16 } %104, 1 %107 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %108 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %107, i32 0, i32 0 store i8* %26, i8** %108 %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %107, i32 0, i32 1 store i16 %27, i16* %109 %110 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %111 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %110, i32 0, i32 0 store %"num::flt2dec::Part"* %105, %"num::flt2dec::Part"** %111 %112 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %110, i32 0, i32 1 store i16 %106, i16* %112 br label %bb27 bb25: ; preds = %bb21 %113 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %114 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %113, i32 0, i32 0 store i16 2, i16* %114 %115 = bitcast %"num::flt2dec::Part"* %113 to { i16, { i8*, i16 } }* %116 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %115, i32 0, i32 1 %117 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %116, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3p, i32 0, i32 0), i8** %117 %118 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %116, i32 0, i32 1 store i16 1, i16* %118 %119 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_88, i32 0, i32 0 store i16 1, i16* %119 %120 = bitcast %"ops::RangeTo"* %_88 to i16* %121 = load i16, i16* %120, align 2 %122 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %121) to label %bb26 unwind label %cleanup bb26: ; preds = %bb25 %123 = extractvalue { %"num::flt2dec::Part"*, i16 } %122, 0 %124 = extractvalue { %"num::flt2dec::Part"*, i16 } %122, 1 %125 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %126 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %125, i32 0, i32 0 store i8* %26, i8** %126 %127 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %125, i32 0, i32 1 store i16 %27, i16* %127 %128 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %129 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %128, i32 0, i32 0 store %"num::flt2dec::Part"* %123, %"num::flt2dec::Part"** %129 %130 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %128, i32 0, i32 1 store i16 %124, i16* %130 br label %bb27 bb27: ; preds = %bb26, %bb24 br label %bb15 bb28: ; preds = %bb14 %131 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 0 %132 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 1 %133 = load i16, i16* %131 %134 = load i16, i16* %132 %135 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_103, i32 0, i32 0 store i16 %133, i16* %135 %136 = bitcast %"ops::RangeTo"* %_103 to i16* %137 = load i16, i16* %136, align 2 %138 = invoke { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %5, i16 %6, i16 %137) to label %bb29 unwind label %cleanup bb29: ; preds = %bb28 %139 = extractvalue { i8*, i16 } %138, 0 %140 = extractvalue { i8*, i16 } %138, 1 %141 = invoke { %"num::flt2dec::Part"*, i16 } @_ZN4core3num7flt2dec17digits_to_dec_str17h424ba2e1ed22f0b1E(i8* noalias nonnull readonly %139, i16 %140, i16 %134, i16 %3, %"num::flt2dec::Part"* nonnull %7, i16 %8) to label %bb30 unwind label %cleanup bb30: ; preds = %bb29 %142 = extractvalue { %"num::flt2dec::Part"*, i16 } %141, 0 %143 = extractvalue { %"num::flt2dec::Part"*, i16 } %141, 1 %144 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %145 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %144, i32 0, i32 0 store i8* %26, i8** %145 %146 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %144, i32 0, i32 1 store i16 %27, i16* %146 %147 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %148 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %147, i32 0, i32 0 store %"num::flt2dec::Part"* %142, %"num::flt2dec::Part"** %148 %149 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %147, i32 0, i32 1 store i16 %143, i16* %149 br label %bb15 bb31: ; preds = %bb15 ret void cleanup: ; preds = %bb16, %panic4, %bb18, %panic3, %bb25, %panic2, %bb23, %panic1, %panic, %bb29, %bb28, %bb14, %bb9, %bb8, %bb7, %bb5, %bb4, %start %150 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %150, { i8*, i32 }* %personalityslot br label %bb2 unreachable: ; preds = %panic4, %panic3, %panic2, %panic1, %panic, %bb7, %bb4 unreachable panic: ; preds = %bb20 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3n, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic1: ; preds = %bb22 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3o, i16 1, i16 %8) to label %unreachable unwind label %cleanup panic2: ; preds = %bb21 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3q, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic3: ; preds = %bb12 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3s, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic4: ; preds = %bb11 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3u, i16 0, i16 %8) to label %unreachable unwind label %cleanup } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec19to_shortest_exp_str17h27bf09279dcd44aaE(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8), float, i8, { i16, i16 }* noalias nocapture dereferenceable(4), i1 zeroext, i8* nonnull, i16, %"num::flt2dec::Part"* nonnull, i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %tmp_ret = alloca { i16, i16 } %personalityslot = alloca { i8*, i32 } %_126 = alloca %"ops::RangeTo" %_117 = alloca %"ops::RangeTo" %_104 = alloca i8 %parts = alloca { %"num::flt2dec::Part"*, i16 } %_96 = alloca { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } } %_91 = alloca %"ops::RangeTo" %_78 = alloca { i8*, i16 } %_70 = alloca i8 %_69 = alloca %"num::flt2dec::Part" %_68 = alloca %"ops::RangeTo" %_57 = alloca %"ops::RangeTo" %_41 = alloca i8 %_38 = alloca { i8, %"num::flt2dec::decoder::FullDecoded" } %full_decoded = alloca %"num::flt2dec::decoder::FullDecoded" %_29 = alloca {} %_22 = alloca {} %_15 = alloca {} %sign = alloca i8 %format_shortest = alloca {} %arg2 = alloca i8 store i8 %2, i8* %arg2 br label %start start: ; preds = %entry-block %9 = load i8, i8* %arg2 store i8 %9, i8* %sign %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %3, i32 0, i32 0 %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %3, i32 0, i32 1 %12 = load i16, i16* %10 %13 = load i16, i16* %11 %14 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8) to label %bb3 unwind label %cleanup bb1: ; preds = %bb2 %15 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %15 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start %16 = icmp uge i16 %14, 6 %17 = xor i1 %16, true br i1 %17, label %bb4, label %bb5 bb4: ; preds = %bb3 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE17hefeecccb7a8f28e8E) to label %unreachable unwind label %cleanup bb5: ; preds = %bb3 %18 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %5, i16 %6) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %19 = icmp uge i16 %18, 17 %20 = xor i1 %19, true br i1 %20, label %bb7, label %bb8 bb7: ; preds = %bb6 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE17h61059301510dcedaE) to label %unreachable unwind label %cleanup bb8: ; preds = %bb6 %21 = icmp sle i16 %12, %13 %22 = xor i1 %21, true br i1 %22, label %bb9, label %bb10 bb9: ; preds = %bb8 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE17h6d7f87e02605760dE) to label %unreachable unwind label %cleanup bb10: ; preds = %bb8 invoke void @_ZN4core3num7flt2dec7decoder6decode17h66ea56e5c322d6a8E({ i8, %"num::flt2dec::decoder::FullDecoded" }* noalias nocapture sret dereferenceable(48) %_38, float %1) to label %bb11 unwind label %cleanup bb11: ; preds = %bb10 %23 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_38, i32 0, i32 0 %24 = load i8, i8* %23, !range !2 %25 = trunc i8 %24 to i1 %26 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_38, i32 0, i32 1 %27 = bitcast %"num::flt2dec::decoder::FullDecoded"* %26 to i8* %28 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %27, i16 40, i32 8, i1 false) %29 = load i8, i8* %sign store i8 %29, i8* %_41 %30 = load i8, i8* %_41 %31 = invoke { i8*, i16 } @_ZN4core3num7flt2dec14determine_sign17hf2029f1b99eb9d79E(i8 %30, %"num::flt2dec::decoder::FullDecoded"* noalias readonly dereferenceable(40) %full_decoded, i1 zeroext %25) to label %bb12 unwind label %cleanup bb12: ; preds = %bb11 %32 = extractvalue { i8*, i16 } %31, 0 %33 = extractvalue { i8*, i16 } %31, 1 %34 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %full_decoded, i32 0, i32 0 %35 = load i64, i64* %34, !range !5 %36 = trunc i64 %35 to i16 switch i16 %36, label %bb16 [ i16 0, label %bb13 i16 1, label %bb14 i16 2, label %bb15 ] bb13: ; preds = %bb12 %37 = icmp ult i16 0, %8 %38 = call i1 @llvm.expect.i1(i1 %37, i1 true) br i1 %38, label %bb18, label %panic3 bb14: ; preds = %bb12 %39 = icmp ult i16 0, %8 %40 = call i1 @llvm.expect.i1(i1 %39, i1 true) br i1 %40, label %bb20, label %panic2 bb15: ; preds = %bb12 %41 = icmp sle i16 %12, 0 br i1 %41, label %bb24, label %bb23 bb16: ; preds = %bb12 %42 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %43 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %42, i32 0, i32 1 %44 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_96, i32 0, i32 0 store %"num::flt2dec::decoder::Decoded"* %43, %"num::flt2dec::decoder::Decoded"** %44 %45 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_96, i32 0, i32 1 %46 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %45, i32 0, i32 0 store i8* %5, i8** %46 %47 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %45, i32 0, i32 1 store i16 %6, i16* %47 %48 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_96, i32 0, i32 0 %49 = load %"num::flt2dec::decoder::Decoded"*, %"num::flt2dec::decoder::Decoded"** %48 %50 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_96, i32 0, i32 1 %51 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %50, i32 0, i32 0 %52 = load i8*, i8** %51, !nonnull !1 %53 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %50, i32 0, i32 1 %54 = load i16, i16* %53 invoke void @_ZN4core3ops5FnMut8call_mut17h04bea1f3416e84dcE({ i16, i16 }* noalias nocapture sret dereferenceable(4) %tmp_ret, {}* %format_shortest, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %49, i8* nonnull %52, i16 %54) to label %bb34 unwind label %cleanup bb17: ; preds = %bb19, %bb21, %bb33, %bb46 br label %bb47 bb18: ; preds = %bb13 %55 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %56 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %55, i32 0, i32 0 store i16 2, i16* %56 %57 = bitcast %"num::flt2dec::Part"* %55 to { i16, { i8*, i16 } }* %58 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %57, i32 0, i32 1 %59 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %58, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3t, i32 0, i32 0), i8** %59 %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %58, i32 0, i32 1 store i16 3, i16* %60 %61 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_57, i32 0, i32 0 store i16 1, i16* %61 %62 = bitcast %"ops::RangeTo"* %_57 to i16* %63 = load i16, i16* %62, align 2 %64 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %63) to label %bb19 unwind label %cleanup bb19: ; preds = %bb18 %65 = extractvalue { %"num::flt2dec::Part"*, i16 } %64, 0 %66 = extractvalue { %"num::flt2dec::Part"*, i16 } %64, 1 %67 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %68 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %67, i32 0, i32 0 store i8* %32, i8** %68 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %67, i32 0, i32 1 store i16 %33, i16* %69 %70 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %71 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %70, i32 0, i32 0 store %"num::flt2dec::Part"* %65, %"num::flt2dec::Part"** %71 %72 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %70, i32 0, i32 1 store i16 %66, i16* %72 br label %bb17 bb20: ; preds = %bb14 %73 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %74 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %73, i32 0, i32 0 store i16 2, i16* %74 %75 = bitcast %"num::flt2dec::Part"* %73 to { i16, { i8*, i16 } }* %76 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %75, i32 0, i32 1 %77 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %76, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3r, i32 0, i32 0), i8** %77 %78 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %76, i32 0, i32 1 store i16 3, i16* %78 %79 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_68, i32 0, i32 0 store i16 1, i16* %79 %80 = bitcast %"ops::RangeTo"* %_68 to i16* %81 = load i16, i16* %80, align 2 %82 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %81) to label %bb21 unwind label %cleanup bb21: ; preds = %bb20 %83 = extractvalue { %"num::flt2dec::Part"*, i16 } %82, 0 %84 = extractvalue { %"num::flt2dec::Part"*, i16 } %82, 1 %85 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %86 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %85, i32 0, i32 0 store i8* %32, i8** %86 %87 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %85, i32 0, i32 1 store i16 %33, i16* %87 %88 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %89 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %88, i32 0, i32 0 store %"num::flt2dec::Part"* %83, %"num::flt2dec::Part"** %89 %90 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %88, i32 0, i32 1 store i16 %84, i16* %90 br label %bb17 bb22: ; preds = %bb24 store i8 1, i8* %_70 br label %bb25 bb23: ; preds = %bb24, %bb15 store i8 0, i8* %_70 br label %bb25 bb24: ; preds = %bb15 %91 = icmp slt i16 0, %13 br i1 %91, label %bb22, label %bb23 bb25: ; preds = %bb23, %bb22 %92 = load i8, i8* %_70, !range !2 %93 = trunc i8 %92 to i1 br i1 %93, label %bb26, label %bb27 bb26: ; preds = %bb25 %94 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %_69, i32 0, i32 0 store i16 2, i16* %94 %95 = bitcast %"num::flt2dec::Part"* %_69 to { i16, { i8*, i16 } }* %96 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %95, i32 0, i32 1 %97 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %96, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3p, i32 0, i32 0), i8** %97 %98 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %96, i32 0, i32 1 store i16 1, i16* %98 br label %bb31 bb27: ; preds = %bb25 br i1 %4, label %bb28, label %bb29 bb28: ; preds = %bb27 %99 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_78, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3w, i32 0, i32 0), i8** %99 %100 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_78, i32 0, i32 1 store i16 3, i16* %100 br label %bb30 bb29: ; preds = %bb27 %101 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_78, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3x, i32 0, i32 0), i8** %101 %102 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_78, i32 0, i32 1 store i16 3, i16* %102 br label %bb30 bb30: ; preds = %bb29, %bb28 %103 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %_69, i32 0, i32 0 store i16 2, i16* %103 %104 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_78, i32 0, i32 0 %105 = load i8*, i8** %104, !nonnull !1 %106 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_78, i32 0, i32 1 %107 = load i16, i16* %106 %108 = bitcast %"num::flt2dec::Part"* %_69 to { i16, { i8*, i16 } }* %109 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %108, i32 0, i32 1 %110 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %109, i32 0, i32 0 store i8* %105, i8** %110 %111 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %109, i32 0, i32 1 store i16 %107, i16* %111 br label %bb31 bb31: ; preds = %bb30, %bb26 %112 = icmp ult i16 0, %8 %113 = call i1 @llvm.expect.i1(i1 %112, i1 true) br i1 %113, label %bb32, label %panic1 bb32: ; preds = %bb31 %114 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %115 = bitcast %"num::flt2dec::Part"* %_69 to i8* %116 = bitcast %"num::flt2dec::Part"* %114 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %116, i8* %115, i16 6, i32 2, i1 false) %117 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_91, i32 0, i32 0 store i16 1, i16* %117 %118 = bitcast %"ops::RangeTo"* %_91 to i16* %119 = load i16, i16* %118, align 2 %120 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %119) to label %bb33 unwind label %cleanup bb33: ; preds = %bb32 %121 = extractvalue { %"num::flt2dec::Part"*, i16 } %120, 0 %122 = extractvalue { %"num::flt2dec::Part"*, i16 } %120, 1 %123 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %124 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %123, i32 0, i32 0 store i8* %32, i8** %124 %125 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %123, i32 0, i32 1 store i16 %33, i16* %125 %126 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %127 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %126, i32 0, i32 0 store %"num::flt2dec::Part"* %121, %"num::flt2dec::Part"** %127 %128 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %126, i32 0, i32 1 store i16 %122, i16* %128 br label %bb17 bb34: ; preds = %bb16 %129 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 0 %130 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 1 %131 = load i16, i16* %129 %132 = load i16, i16* %130 %133 = sext i16 %132 to i32 %134 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %133, i32 1) %135 = extractvalue { i32, i1 } %134, 0 %136 = extractvalue { i32, i1 } %134, 1 %137 = call i1 @llvm.expect.i1(i1 %136, i1 false) br i1 %137, label %panic, label %bb35 bb35: ; preds = %bb34 %138 = sext i16 %12 to i32 %139 = icmp sle i32 %138, %135 br i1 %139, label %bb38, label %bb37 bb36: ; preds = %bb38 store i8 1, i8* %_104 br label %bb39 bb37: ; preds = %bb38, %bb35 store i8 0, i8* %_104 br label %bb39 bb38: ; preds = %bb35 %140 = sext i16 %13 to i32 %141 = icmp slt i32 %135, %140 br i1 %141, label %bb36, label %bb37 bb39: ; preds = %bb37, %bb36 %142 = load i8, i8* %_104, !range !2 %143 = trunc i8 %142 to i1 br i1 %143, label %bb40, label %bb41 bb40: ; preds = %bb39 %144 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_117, i32 0, i32 0 store i16 %131, i16* %144 %145 = bitcast %"ops::RangeTo"* %_117 to i16* %146 = load i16, i16* %145, align 2 %147 = invoke { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %5, i16 %6, i16 %146) to label %bb42 unwind label %cleanup bb41: ; preds = %bb39 %148 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_126, i32 0, i32 0 store i16 %131, i16* %148 %149 = bitcast %"ops::RangeTo"* %_126 to i16* %150 = load i16, i16* %149, align 2 %151 = invoke { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %5, i16 %6, i16 %150) to label %bb44 unwind label %cleanup bb42: ; preds = %bb40 %152 = extractvalue { i8*, i16 } %147, 0 %153 = extractvalue { i8*, i16 } %147, 1 %154 = invoke { %"num::flt2dec::Part"*, i16 } @_ZN4core3num7flt2dec17digits_to_dec_str17h424ba2e1ed22f0b1E(i8* noalias nonnull readonly %152, i16 %153, i16 %132, i16 0, %"num::flt2dec::Part"* nonnull %7, i16 %8) to label %bb43 unwind label %cleanup bb43: ; preds = %bb42 store { %"num::flt2dec::Part"*, i16 } %154, { %"num::flt2dec::Part"*, i16 }* %parts br label %bb46 bb44: ; preds = %bb41 %155 = extractvalue { i8*, i16 } %151, 0 %156 = extractvalue { i8*, i16 } %151, 1 %157 = invoke { %"num::flt2dec::Part"*, i16 } @_ZN4core3num7flt2dec17digits_to_exp_str17h87220a1a25d6d87cE(i8* noalias nonnull readonly %155, i16 %156, i16 %132, i16 0, i1 zeroext %4, %"num::flt2dec::Part"* nonnull %7, i16 %8) to label %bb45 unwind label %cleanup bb45: ; preds = %bb44 %158 = extractvalue { %"num::flt2dec::Part"*, i16 } %157, 0 %159 = extractvalue { %"num::flt2dec::Part"*, i16 } %157, 1 %160 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %parts, i32 0, i32 0 store %"num::flt2dec::Part"* %158, %"num::flt2dec::Part"** %160 %161 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %parts, i32 0, i32 1 store i16 %159, i16* %161 br label %bb46 bb46: ; preds = %bb45, %bb43 %162 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %parts, i32 0, i32 0 %163 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %162, !nonnull !1 %164 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %parts, i32 0, i32 1 %165 = load i16, i16* %164 %166 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %167 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %166, i32 0, i32 0 store i8* %32, i8** %167 %168 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %166, i32 0, i32 1 store i16 %33, i16* %168 %169 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %170 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %169, i32 0, i32 0 store %"num::flt2dec::Part"* %163, %"num::flt2dec::Part"** %170 %171 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %169, i32 0, i32 1 store i16 %165, i16* %171 br label %bb17 bb47: ; preds = %bb17 ret void cleanup: ; preds = %bb18, %panic3, %bb20, %panic2, %bb32, %panic1, %bb44, %bb41, %bb42, %bb40, %panic, %bb16, %bb11, %bb10, %bb9, %bb7, %bb5, %bb4, %start %172 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %172, { i8*, i32 }* %personalityslot br label %bb2 unreachable: ; preds = %panic3, %panic2, %panic1, %panic, %bb9, %bb7, %bb4 unreachable panic: ; preds = %bb34 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3v) to label %unreachable unwind label %cleanup panic1: ; preds = %bb31 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3y, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic2: ; preds = %bb14 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3z, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic3: ; preds = %bb13 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3A, i16 0, i16 %8) to label %unreachable unwind label %cleanup } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec19to_shortest_exp_str17he8ff02dfc4cb6ccbE(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8), double, i8, { i16, i16 }* noalias nocapture dereferenceable(4), i1 zeroext, i8* nonnull, i16, %"num::flt2dec::Part"* nonnull, i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %tmp_ret = alloca { i16, i16 } %personalityslot = alloca { i8*, i32 } %_126 = alloca %"ops::RangeTo" %_117 = alloca %"ops::RangeTo" %_104 = alloca i8 %parts = alloca { %"num::flt2dec::Part"*, i16 } %_96 = alloca { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } } %_91 = alloca %"ops::RangeTo" %_78 = alloca { i8*, i16 } %_70 = alloca i8 %_69 = alloca %"num::flt2dec::Part" %_68 = alloca %"ops::RangeTo" %_57 = alloca %"ops::RangeTo" %_41 = alloca i8 %_38 = alloca { i8, %"num::flt2dec::decoder::FullDecoded" } %full_decoded = alloca %"num::flt2dec::decoder::FullDecoded" %_29 = alloca {} %_22 = alloca {} %_15 = alloca {} %sign = alloca i8 %format_shortest = alloca {} %arg2 = alloca i8 store i8 %2, i8* %arg2 br label %start start: ; preds = %entry-block %9 = load i8, i8* %arg2 store i8 %9, i8* %sign %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %3, i32 0, i32 0 %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %3, i32 0, i32 1 %12 = load i16, i16* %10 %13 = load i16, i16* %11 %14 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8) to label %bb3 unwind label %cleanup bb1: ; preds = %bb2 %15 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %15 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start %16 = icmp uge i16 %14, 6 %17 = xor i1 %16, true br i1 %17, label %bb4, label %bb5 bb4: ; preds = %bb3 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE17hefeecccb7a8f28e8E) to label %unreachable unwind label %cleanup bb5: ; preds = %bb3 %18 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %5, i16 %6) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %19 = icmp uge i16 %18, 17 %20 = xor i1 %19, true br i1 %20, label %bb7, label %bb8 bb7: ; preds = %bb6 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE17h61059301510dcedaE) to label %unreachable unwind label %cleanup bb8: ; preds = %bb6 %21 = icmp sle i16 %12, %13 %22 = xor i1 %21, true br i1 %22, label %bb9, label %bb10 bb9: ; preds = %bb8 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE17h6d7f87e02605760dE) to label %unreachable unwind label %cleanup bb10: ; preds = %bb8 invoke void @_ZN4core3num7flt2dec7decoder6decode17haf3ab329e2f330eeE({ i8, %"num::flt2dec::decoder::FullDecoded" }* noalias nocapture sret dereferenceable(48) %_38, double %1) to label %bb11 unwind label %cleanup bb11: ; preds = %bb10 %23 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_38, i32 0, i32 0 %24 = load i8, i8* %23, !range !2 %25 = trunc i8 %24 to i1 %26 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_38, i32 0, i32 1 %27 = bitcast %"num::flt2dec::decoder::FullDecoded"* %26 to i8* %28 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %27, i16 40, i32 8, i1 false) %29 = load i8, i8* %sign store i8 %29, i8* %_41 %30 = load i8, i8* %_41 %31 = invoke { i8*, i16 } @_ZN4core3num7flt2dec14determine_sign17hf2029f1b99eb9d79E(i8 %30, %"num::flt2dec::decoder::FullDecoded"* noalias readonly dereferenceable(40) %full_decoded, i1 zeroext %25) to label %bb12 unwind label %cleanup bb12: ; preds = %bb11 %32 = extractvalue { i8*, i16 } %31, 0 %33 = extractvalue { i8*, i16 } %31, 1 %34 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %full_decoded, i32 0, i32 0 %35 = load i64, i64* %34, !range !5 %36 = trunc i64 %35 to i16 switch i16 %36, label %bb16 [ i16 0, label %bb13 i16 1, label %bb14 i16 2, label %bb15 ] bb13: ; preds = %bb12 %37 = icmp ult i16 0, %8 %38 = call i1 @llvm.expect.i1(i1 %37, i1 true) br i1 %38, label %bb18, label %panic3 bb14: ; preds = %bb12 %39 = icmp ult i16 0, %8 %40 = call i1 @llvm.expect.i1(i1 %39, i1 true) br i1 %40, label %bb20, label %panic2 bb15: ; preds = %bb12 %41 = icmp sle i16 %12, 0 br i1 %41, label %bb24, label %bb23 bb16: ; preds = %bb12 %42 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %43 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %42, i32 0, i32 1 %44 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_96, i32 0, i32 0 store %"num::flt2dec::decoder::Decoded"* %43, %"num::flt2dec::decoder::Decoded"** %44 %45 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_96, i32 0, i32 1 %46 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %45, i32 0, i32 0 store i8* %5, i8** %46 %47 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %45, i32 0, i32 1 store i16 %6, i16* %47 %48 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_96, i32 0, i32 0 %49 = load %"num::flt2dec::decoder::Decoded"*, %"num::flt2dec::decoder::Decoded"** %48 %50 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %_96, i32 0, i32 1 %51 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %50, i32 0, i32 0 %52 = load i8*, i8** %51, !nonnull !1 %53 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %50, i32 0, i32 1 %54 = load i16, i16* %53 invoke void @_ZN4core3ops5FnMut8call_mut17h04bea1f3416e84dcE({ i16, i16 }* noalias nocapture sret dereferenceable(4) %tmp_ret, {}* %format_shortest, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %49, i8* nonnull %52, i16 %54) to label %bb34 unwind label %cleanup bb17: ; preds = %bb19, %bb21, %bb33, %bb46 br label %bb47 bb18: ; preds = %bb13 %55 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %56 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %55, i32 0, i32 0 store i16 2, i16* %56 %57 = bitcast %"num::flt2dec::Part"* %55 to { i16, { i8*, i16 } }* %58 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %57, i32 0, i32 1 %59 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %58, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3t, i32 0, i32 0), i8** %59 %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %58, i32 0, i32 1 store i16 3, i16* %60 %61 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_57, i32 0, i32 0 store i16 1, i16* %61 %62 = bitcast %"ops::RangeTo"* %_57 to i16* %63 = load i16, i16* %62, align 2 %64 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %63) to label %bb19 unwind label %cleanup bb19: ; preds = %bb18 %65 = extractvalue { %"num::flt2dec::Part"*, i16 } %64, 0 %66 = extractvalue { %"num::flt2dec::Part"*, i16 } %64, 1 %67 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %68 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %67, i32 0, i32 0 store i8* %32, i8** %68 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %67, i32 0, i32 1 store i16 %33, i16* %69 %70 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %71 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %70, i32 0, i32 0 store %"num::flt2dec::Part"* %65, %"num::flt2dec::Part"** %71 %72 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %70, i32 0, i32 1 store i16 %66, i16* %72 br label %bb17 bb20: ; preds = %bb14 %73 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %74 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %73, i32 0, i32 0 store i16 2, i16* %74 %75 = bitcast %"num::flt2dec::Part"* %73 to { i16, { i8*, i16 } }* %76 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %75, i32 0, i32 1 %77 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %76, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3r, i32 0, i32 0), i8** %77 %78 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %76, i32 0, i32 1 store i16 3, i16* %78 %79 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_68, i32 0, i32 0 store i16 1, i16* %79 %80 = bitcast %"ops::RangeTo"* %_68 to i16* %81 = load i16, i16* %80, align 2 %82 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %81) to label %bb21 unwind label %cleanup bb21: ; preds = %bb20 %83 = extractvalue { %"num::flt2dec::Part"*, i16 } %82, 0 %84 = extractvalue { %"num::flt2dec::Part"*, i16 } %82, 1 %85 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %86 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %85, i32 0, i32 0 store i8* %32, i8** %86 %87 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %85, i32 0, i32 1 store i16 %33, i16* %87 %88 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %89 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %88, i32 0, i32 0 store %"num::flt2dec::Part"* %83, %"num::flt2dec::Part"** %89 %90 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %88, i32 0, i32 1 store i16 %84, i16* %90 br label %bb17 bb22: ; preds = %bb24 store i8 1, i8* %_70 br label %bb25 bb23: ; preds = %bb24, %bb15 store i8 0, i8* %_70 br label %bb25 bb24: ; preds = %bb15 %91 = icmp slt i16 0, %13 br i1 %91, label %bb22, label %bb23 bb25: ; preds = %bb23, %bb22 %92 = load i8, i8* %_70, !range !2 %93 = trunc i8 %92 to i1 br i1 %93, label %bb26, label %bb27 bb26: ; preds = %bb25 %94 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %_69, i32 0, i32 0 store i16 2, i16* %94 %95 = bitcast %"num::flt2dec::Part"* %_69 to { i16, { i8*, i16 } }* %96 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %95, i32 0, i32 1 %97 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %96, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3p, i32 0, i32 0), i8** %97 %98 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %96, i32 0, i32 1 store i16 1, i16* %98 br label %bb31 bb27: ; preds = %bb25 br i1 %4, label %bb28, label %bb29 bb28: ; preds = %bb27 %99 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_78, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3w, i32 0, i32 0), i8** %99 %100 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_78, i32 0, i32 1 store i16 3, i16* %100 br label %bb30 bb29: ; preds = %bb27 %101 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_78, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3x, i32 0, i32 0), i8** %101 %102 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_78, i32 0, i32 1 store i16 3, i16* %102 br label %bb30 bb30: ; preds = %bb29, %bb28 %103 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %_69, i32 0, i32 0 store i16 2, i16* %103 %104 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_78, i32 0, i32 0 %105 = load i8*, i8** %104, !nonnull !1 %106 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_78, i32 0, i32 1 %107 = load i16, i16* %106 %108 = bitcast %"num::flt2dec::Part"* %_69 to { i16, { i8*, i16 } }* %109 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %108, i32 0, i32 1 %110 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %109, i32 0, i32 0 store i8* %105, i8** %110 %111 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %109, i32 0, i32 1 store i16 %107, i16* %111 br label %bb31 bb31: ; preds = %bb30, %bb26 %112 = icmp ult i16 0, %8 %113 = call i1 @llvm.expect.i1(i1 %112, i1 true) br i1 %113, label %bb32, label %panic1 bb32: ; preds = %bb31 %114 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %115 = bitcast %"num::flt2dec::Part"* %_69 to i8* %116 = bitcast %"num::flt2dec::Part"* %114 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %116, i8* %115, i16 6, i32 2, i1 false) %117 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_91, i32 0, i32 0 store i16 1, i16* %117 %118 = bitcast %"ops::RangeTo"* %_91 to i16* %119 = load i16, i16* %118, align 2 %120 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %119) to label %bb33 unwind label %cleanup bb33: ; preds = %bb32 %121 = extractvalue { %"num::flt2dec::Part"*, i16 } %120, 0 %122 = extractvalue { %"num::flt2dec::Part"*, i16 } %120, 1 %123 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %124 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %123, i32 0, i32 0 store i8* %32, i8** %124 %125 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %123, i32 0, i32 1 store i16 %33, i16* %125 %126 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %127 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %126, i32 0, i32 0 store %"num::flt2dec::Part"* %121, %"num::flt2dec::Part"** %127 %128 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %126, i32 0, i32 1 store i16 %122, i16* %128 br label %bb17 bb34: ; preds = %bb16 %129 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 0 %130 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 1 %131 = load i16, i16* %129 %132 = load i16, i16* %130 %133 = sext i16 %132 to i32 %134 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %133, i32 1) %135 = extractvalue { i32, i1 } %134, 0 %136 = extractvalue { i32, i1 } %134, 1 %137 = call i1 @llvm.expect.i1(i1 %136, i1 false) br i1 %137, label %panic, label %bb35 bb35: ; preds = %bb34 %138 = sext i16 %12 to i32 %139 = icmp sle i32 %138, %135 br i1 %139, label %bb38, label %bb37 bb36: ; preds = %bb38 store i8 1, i8* %_104 br label %bb39 bb37: ; preds = %bb38, %bb35 store i8 0, i8* %_104 br label %bb39 bb38: ; preds = %bb35 %140 = sext i16 %13 to i32 %141 = icmp slt i32 %135, %140 br i1 %141, label %bb36, label %bb37 bb39: ; preds = %bb37, %bb36 %142 = load i8, i8* %_104, !range !2 %143 = trunc i8 %142 to i1 br i1 %143, label %bb40, label %bb41 bb40: ; preds = %bb39 %144 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_117, i32 0, i32 0 store i16 %131, i16* %144 %145 = bitcast %"ops::RangeTo"* %_117 to i16* %146 = load i16, i16* %145, align 2 %147 = invoke { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %5, i16 %6, i16 %146) to label %bb42 unwind label %cleanup bb41: ; preds = %bb39 %148 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_126, i32 0, i32 0 store i16 %131, i16* %148 %149 = bitcast %"ops::RangeTo"* %_126 to i16* %150 = load i16, i16* %149, align 2 %151 = invoke { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %5, i16 %6, i16 %150) to label %bb44 unwind label %cleanup bb42: ; preds = %bb40 %152 = extractvalue { i8*, i16 } %147, 0 %153 = extractvalue { i8*, i16 } %147, 1 %154 = invoke { %"num::flt2dec::Part"*, i16 } @_ZN4core3num7flt2dec17digits_to_dec_str17h424ba2e1ed22f0b1E(i8* noalias nonnull readonly %152, i16 %153, i16 %132, i16 0, %"num::flt2dec::Part"* nonnull %7, i16 %8) to label %bb43 unwind label %cleanup bb43: ; preds = %bb42 store { %"num::flt2dec::Part"*, i16 } %154, { %"num::flt2dec::Part"*, i16 }* %parts br label %bb46 bb44: ; preds = %bb41 %155 = extractvalue { i8*, i16 } %151, 0 %156 = extractvalue { i8*, i16 } %151, 1 %157 = invoke { %"num::flt2dec::Part"*, i16 } @_ZN4core3num7flt2dec17digits_to_exp_str17h87220a1a25d6d87cE(i8* noalias nonnull readonly %155, i16 %156, i16 %132, i16 0, i1 zeroext %4, %"num::flt2dec::Part"* nonnull %7, i16 %8) to label %bb45 unwind label %cleanup bb45: ; preds = %bb44 %158 = extractvalue { %"num::flt2dec::Part"*, i16 } %157, 0 %159 = extractvalue { %"num::flt2dec::Part"*, i16 } %157, 1 %160 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %parts, i32 0, i32 0 store %"num::flt2dec::Part"* %158, %"num::flt2dec::Part"** %160 %161 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %parts, i32 0, i32 1 store i16 %159, i16* %161 br label %bb46 bb46: ; preds = %bb45, %bb43 %162 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %parts, i32 0, i32 0 %163 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %162, !nonnull !1 %164 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %parts, i32 0, i32 1 %165 = load i16, i16* %164 %166 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %167 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %166, i32 0, i32 0 store i8* %32, i8** %167 %168 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %166, i32 0, i32 1 store i16 %33, i16* %168 %169 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %170 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %169, i32 0, i32 0 store %"num::flt2dec::Part"* %163, %"num::flt2dec::Part"** %170 %171 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %169, i32 0, i32 1 store i16 %165, i16* %171 br label %bb17 bb47: ; preds = %bb17 ret void cleanup: ; preds = %bb18, %panic3, %bb20, %panic2, %bb32, %panic1, %bb44, %bb41, %bb42, %bb40, %panic, %bb16, %bb11, %bb10, %bb9, %bb7, %bb5, %bb4, %start %172 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %172, { i8*, i32 }* %personalityslot br label %bb2 unreachable: ; preds = %panic3, %panic2, %panic1, %panic, %bb9, %bb7, %bb4 unreachable panic: ; preds = %bb34 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3v) to label %unreachable unwind label %cleanup panic1: ; preds = %bb31 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3y, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic2: ; preds = %bb14 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3z, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic3: ; preds = %bb13 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3A, i16 0, i16 %8) to label %unreachable unwind label %cleanup } ; Function Attrs: uwtable define i16 @_ZN4core3num7flt2dec20estimate_max_buf_len17hcff1dca63bbecfa9E(i16) unnamed_addr #1 { entry-block: %_6 = alloca i32 br label %start start: ; preds = %entry-block %1 = icmp slt i16 %0, 0 br i1 %1, label %bb1, label %bb2 bb1: ; preds = %start store i32 -12, i32* %_6 br label %bb3 bb2: ; preds = %start store i32 5, i32* %_6 br label %bb3 bb3: ; preds = %bb2, %bb1 %2 = sext i16 %0 to i32 %3 = load i32, i32* %_6 %4 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %3, i32 %2) %5 = extractvalue { i32, i1 } %4, 0 %6 = extractvalue { i32, i1 } %4, 1 %7 = call i1 @llvm.expect.i1(i1 %6, i1 false) br i1 %7, label %panic, label %bb4 bb4: ; preds = %bb3 %8 = trunc i32 %5 to i16 %9 = lshr i16 %8, 4 br label %bb5 bb5: ; preds = %bb4 %10 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 21, i16 %9) %11 = extractvalue { i16, i1 } %10, 0 %12 = extractvalue { i16, i1 } %10, 1 %13 = call i1 @llvm.expect.i1(i1 %12, i1 false) br i1 %13, label %panic1, label %bb6 bb6: ; preds = %bb5 ret i16 %11 panic: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3B) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3C) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec16to_exact_exp_str17h76804da677405710E(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8), float, i8, i16, i1 zeroext, i8* nonnull, i16, %"num::flt2dec::Part"* nonnull, i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %tmp_ret = alloca { i16, i16 } %personalityslot = alloca { i8*, i32 } %_141 = alloca %"ops::RangeTo" %_132 = alloca %"ops::RangeTo" %_126 = alloca { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 } %trunc = alloca i16 %_105 = alloca i8 %_103 = alloca {} %_100 = alloca %"ops::RangeTo" %_87 = alloca { i8*, i16 } %_86 = alloca %"ops::RangeTo" %_73 = alloca { i8*, i16 } %_60 = alloca %"ops::RangeTo" %_49 = alloca %"ops::RangeTo" %_33 = alloca i8 %_30 = alloca { i8, %"num::flt2dec::decoder::FullDecoded" } %full_decoded = alloca %"num::flt2dec::decoder::FullDecoded" %_22 = alloca {} %_15 = alloca {} %sign = alloca i8 %format_exact = alloca {} %arg2 = alloca i8 store i8 %2, i8* %arg2 br label %start start: ; preds = %entry-block %9 = load i8, i8* %arg2 store i8 %9, i8* %sign %10 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8) to label %bb3 unwind label %cleanup bb1: ; preds = %bb2 %11 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %11 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start %12 = icmp uge i16 %10, 6 %13 = xor i1 %12, true br i1 %13, label %bb4, label %bb5 bb4: ; preds = %bb3 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE17hffdd8509680814e6E) to label %unreachable unwind label %cleanup bb5: ; preds = %bb3 %14 = icmp ugt i16 %3, 0 %15 = xor i1 %14, true br i1 %15, label %bb6, label %bb7 bb6: ; preds = %bb5 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE17h7628f902c4df4d68E) to label %unreachable unwind label %cleanup bb7: ; preds = %bb5 invoke void @_ZN4core3num7flt2dec7decoder6decode17h66ea56e5c322d6a8E({ i8, %"num::flt2dec::decoder::FullDecoded" }* noalias nocapture sret dereferenceable(48) %_30, float %1) to label %bb8 unwind label %cleanup bb8: ; preds = %bb7 %16 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_30, i32 0, i32 0 %17 = load i8, i8* %16, !range !2 %18 = trunc i8 %17 to i1 %19 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_30, i32 0, i32 1 %20 = bitcast %"num::flt2dec::decoder::FullDecoded"* %19 to i8* %21 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 40, i32 8, i1 false) %22 = load i8, i8* %sign store i8 %22, i8* %_33 %23 = load i8, i8* %_33 %24 = invoke { i8*, i16 } @_ZN4core3num7flt2dec14determine_sign17hf2029f1b99eb9d79E(i8 %23, %"num::flt2dec::decoder::FullDecoded"* noalias readonly dereferenceable(40) %full_decoded, i1 zeroext %18) to label %bb9 unwind label %cleanup bb9: ; preds = %bb8 %25 = extractvalue { i8*, i16 } %24, 0 %26 = extractvalue { i8*, i16 } %24, 1 %27 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %full_decoded, i32 0, i32 0 %28 = load i64, i64* %27, !range !5 %29 = trunc i64 %28 to i16 switch i16 %29, label %bb13 [ i16 0, label %bb10 i16 1, label %bb11 i16 2, label %bb12 ] bb10: ; preds = %bb9 %30 = icmp ult i16 0, %8 %31 = call i1 @llvm.expect.i1(i1 %30, i1 true) br i1 %31, label %bb15, label %panic6 bb11: ; preds = %bb9 %32 = icmp ult i16 0, %8 %33 = call i1 @llvm.expect.i1(i1 %32, i1 true) br i1 %33, label %bb17, label %panic5 bb12: ; preds = %bb9 %34 = icmp ugt i16 %3, 1 br i1 %34, label %bb19, label %bb20 bb13: ; preds = %bb9 %35 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %36 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %35, i32 0, i32 1 %37 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %36, i32 0, i32 3 %38 = load i16, i16* %37 %39 = invoke i16 @_ZN4core3num7flt2dec20estimate_max_buf_len17hcff1dca63bbecfa9E(i16 %38) to label %bb35 unwind label %cleanup bb14: ; preds = %bb16, %bb18, %bb34, %bb50 br label %bb51 bb15: ; preds = %bb10 %40 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %41 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %40, i32 0, i32 0 store i16 2, i16* %41 %42 = bitcast %"num::flt2dec::Part"* %40 to { i16, { i8*, i16 } }* %43 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %42, i32 0, i32 1 %44 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %43, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3t, i32 0, i32 0), i8** %44 %45 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %43, i32 0, i32 1 store i16 3, i16* %45 %46 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_49, i32 0, i32 0 store i16 1, i16* %46 %47 = bitcast %"ops::RangeTo"* %_49 to i16* %48 = load i16, i16* %47, align 2 %49 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %48) to label %bb16 unwind label %cleanup bb16: ; preds = %bb15 %50 = extractvalue { %"num::flt2dec::Part"*, i16 } %49, 0 %51 = extractvalue { %"num::flt2dec::Part"*, i16 } %49, 1 %52 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %53 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %52, i32 0, i32 0 store i8* %25, i8** %53 %54 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %52, i32 0, i32 1 store i16 %26, i16* %54 %55 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %56 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %55, i32 0, i32 0 store %"num::flt2dec::Part"* %50, %"num::flt2dec::Part"** %56 %57 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %55, i32 0, i32 1 store i16 %51, i16* %57 br label %bb14 bb17: ; preds = %bb11 %58 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %59 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %58, i32 0, i32 0 store i16 2, i16* %59 %60 = bitcast %"num::flt2dec::Part"* %58 to { i16, { i8*, i16 } }* %61 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %60, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3r, i32 0, i32 0), i8** %62 %63 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 store i16 3, i16* %63 %64 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_60, i32 0, i32 0 store i16 1, i16* %64 %65 = bitcast %"ops::RangeTo"* %_60 to i16* %66 = load i16, i16* %65, align 2 %67 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %66) to label %bb18 unwind label %cleanup bb18: ; preds = %bb17 %68 = extractvalue { %"num::flt2dec::Part"*, i16 } %67, 0 %69 = extractvalue { %"num::flt2dec::Part"*, i16 } %67, 1 %70 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %71 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %70, i32 0, i32 0 store i8* %25, i8** %71 %72 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %70, i32 0, i32 1 store i16 %26, i16* %72 %73 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %74 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %73, i32 0, i32 0 store %"num::flt2dec::Part"* %68, %"num::flt2dec::Part"** %74 %75 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %73, i32 0, i32 1 store i16 %69, i16* %75 br label %bb14 bb19: ; preds = %bb12 %76 = icmp ult i16 0, %8 %77 = call i1 @llvm.expect.i1(i1 %76, i1 true) br i1 %77, label %bb21, label %panic bb20: ; preds = %bb12 br i1 %4, label %bb29, label %bb30 bb21: ; preds = %bb19 %78 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %79 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %78, i32 0, i32 0 store i16 2, i16* %79 %80 = bitcast %"num::flt2dec::Part"* %78 to { i16, { i8*, i16 } }* %81 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %80, i32 0, i32 1 %82 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %81, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.2H, i32 0, i32 0), i8** %82 %83 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %81, i32 0, i32 1 store i16 2, i16* %83 %84 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 1) %85 = extractvalue { i16, i1 } %84, 0 %86 = extractvalue { i16, i1 } %84, 1 %87 = call i1 @llvm.expect.i1(i1 %86, i1 false) br i1 %87, label %panic1, label %bb22 bb22: ; preds = %bb21 %88 = icmp ult i16 1, %8 %89 = call i1 @llvm.expect.i1(i1 %88, i1 true) br i1 %89, label %bb23, label %panic2 bb23: ; preds = %bb22 %90 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 1 %91 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %90, i32 0, i32 0 store i16 0, i16* %91 %92 = bitcast %"num::flt2dec::Part"* %90 to { i16, i16 }* %93 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %92, i32 0, i32 1 store i16 %85, i16* %93 br i1 %4, label %bb24, label %bb25 bb24: ; preds = %bb23 %94 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_73, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.3G, i32 0, i32 0), i8** %94 %95 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_73, i32 0, i32 1 store i16 2, i16* %95 br label %bb26 bb25: ; preds = %bb23 %96 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_73, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.3H, i32 0, i32 0), i8** %96 %97 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_73, i32 0, i32 1 store i16 2, i16* %97 br label %bb26 bb26: ; preds = %bb25, %bb24 %98 = icmp ult i16 2, %8 %99 = call i1 @llvm.expect.i1(i1 %98, i1 true) br i1 %99, label %bb27, label %panic3 bb27: ; preds = %bb26 %100 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 2 %101 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %100, i32 0, i32 0 store i16 2, i16* %101 %102 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_73, i32 0, i32 0 %103 = load i8*, i8** %102, !nonnull !1 %104 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_73, i32 0, i32 1 %105 = load i16, i16* %104 %106 = bitcast %"num::flt2dec::Part"* %100 to { i16, { i8*, i16 } }* %107 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %106, i32 0, i32 1 %108 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %107, i32 0, i32 0 store i8* %103, i8** %108 %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %107, i32 0, i32 1 store i16 %105, i16* %109 %110 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_86, i32 0, i32 0 store i16 3, i16* %110 %111 = bitcast %"ops::RangeTo"* %_86 to i16* %112 = load i16, i16* %111, align 2 %113 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %112) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 %114 = extractvalue { %"num::flt2dec::Part"*, i16 } %113, 0 %115 = extractvalue { %"num::flt2dec::Part"*, i16 } %113, 1 %116 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %117 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %116, i32 0, i32 0 store i8* %25, i8** %117 %118 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %116, i32 0, i32 1 store i16 %26, i16* %118 %119 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %120 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %119, i32 0, i32 0 store %"num::flt2dec::Part"* %114, %"num::flt2dec::Part"** %120 %121 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %119, i32 0, i32 1 store i16 %115, i16* %121 br label %bb34 bb29: ; preds = %bb20 %122 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3w, i32 0, i32 0), i8** %122 %123 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 1 store i16 3, i16* %123 br label %bb31 bb30: ; preds = %bb20 %124 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3x, i32 0, i32 0), i8** %124 %125 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 1 store i16 3, i16* %125 br label %bb31 bb31: ; preds = %bb30, %bb29 %126 = icmp ult i16 0, %8 %127 = call i1 @llvm.expect.i1(i1 %126, i1 true) br i1 %127, label %bb32, label %panic4 bb32: ; preds = %bb31 %128 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %129 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %128, i32 0, i32 0 store i16 2, i16* %129 %130 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 0 %131 = load i8*, i8** %130, !nonnull !1 %132 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 1 %133 = load i16, i16* %132 %134 = bitcast %"num::flt2dec::Part"* %128 to { i16, { i8*, i16 } }* %135 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %134, i32 0, i32 1 %136 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %135, i32 0, i32 0 store i8* %131, i8** %136 %137 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %135, i32 0, i32 1 store i16 %133, i16* %137 %138 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_100, i32 0, i32 0 store i16 1, i16* %138 %139 = bitcast %"ops::RangeTo"* %_100 to i16* %140 = load i16, i16* %139, align 2 %141 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %140) to label %bb33 unwind label %cleanup bb33: ; preds = %bb32 %142 = extractvalue { %"num::flt2dec::Part"*, i16 } %141, 0 %143 = extractvalue { %"num::flt2dec::Part"*, i16 } %141, 1 %144 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %145 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %144, i32 0, i32 0 store i8* %25, i8** %145 %146 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %144, i32 0, i32 1 store i16 %26, i16* %146 %147 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %148 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %147, i32 0, i32 0 store %"num::flt2dec::Part"* %142, %"num::flt2dec::Part"** %148 %149 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %147, i32 0, i32 1 store i16 %143, i16* %149 br label %bb34 bb34: ; preds = %bb33, %bb28 br label %bb14 bb35: ; preds = %bb13 %150 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %5, i16 %6) to label %bb40 unwind label %cleanup bb36: ; preds = %bb41, %bb40 store i8 1, i8* %_105 br label %bb39 bb37: ; preds = %bb41 store i8 0, i8* %_105 br label %bb39 bb38: ; preds = %bb40 %151 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %5, i16 %6) to label %bb41 unwind label %cleanup bb39: ; preds = %bb37, %bb36 %152 = load i8, i8* %_105, !range !2 %153 = trunc i8 %152 to i1 %154 = xor i1 %153, true br i1 %154, label %bb42, label %bb43 bb40: ; preds = %bb35 %155 = icmp uge i16 %150, %3 br i1 %155, label %bb36, label %bb38 bb41: ; preds = %bb38 %156 = icmp uge i16 %151, %39 br i1 %156, label %bb36, label %bb37 bb42: ; preds = %bb39 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE17h98b5e5ef81066f87E) to label %unreachable unwind label %cleanup bb43: ; preds = %bb39 %157 = icmp ult i16 %3, %39 br i1 %157, label %bb44, label %bb45 bb44: ; preds = %bb43 store i16 %3, i16* %trunc br label %bb46 bb45: ; preds = %bb43 store i16 %39, i16* %trunc br label %bb46 bb46: ; preds = %bb45, %bb44 %158 = load i16, i16* %trunc %159 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_132, i32 0, i32 0 store i16 %158, i16* %159 %160 = bitcast %"ops::RangeTo"* %_132 to i16* %161 = load i16, i16* %160, align 2 %162 = invoke { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %5, i16 %6, i16 %161) to label %bb47 unwind label %cleanup bb47: ; preds = %bb46 %163 = extractvalue { i8*, i16 } %162, 0 %164 = extractvalue { i8*, i16 } %162, 1 %165 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_126, i32 0, i32 0 store %"num::flt2dec::decoder::Decoded"* %36, %"num::flt2dec::decoder::Decoded"** %165 %166 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_126, i32 0, i32 1 %167 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %166, i32 0, i32 0 store i8* %163, i8** %167 %168 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %166, i32 0, i32 1 store i16 %164, i16* %168 %169 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_126, i32 0, i32 2 store i16 -32768, i16* %169 %170 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_126, i32 0, i32 0 %171 = load %"num::flt2dec::decoder::Decoded"*, %"num::flt2dec::decoder::Decoded"** %170 %172 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_126, i32 0, i32 1 %173 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %172, i32 0, i32 0 %174 = load i8*, i8** %173, !nonnull !1 %175 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %172, i32 0, i32 1 %176 = load i16, i16* %175 %177 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_126, i32 0, i32 2 %178 = load i16, i16* %177 invoke void @_ZN4core3ops5FnMut8call_mut17h6dec6efe32ff5608E({ i16, i16 }* noalias nocapture sret dereferenceable(4) %tmp_ret, {}* %format_exact, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %171, i8* nonnull %174, i16 %176, i16 %178) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 %179 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 0 %180 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 1 %181 = load i16, i16* %179 %182 = load i16, i16* %180 %183 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_141, i32 0, i32 0 store i16 %181, i16* %183 %184 = bitcast %"ops::RangeTo"* %_141 to i16* %185 = load i16, i16* %184, align 2 %186 = invoke { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %5, i16 %6, i16 %185) to label %bb49 unwind label %cleanup bb49: ; preds = %bb48 %187 = extractvalue { i8*, i16 } %186, 0 %188 = extractvalue { i8*, i16 } %186, 1 %189 = invoke { %"num::flt2dec::Part"*, i16 } @_ZN4core3num7flt2dec17digits_to_exp_str17h87220a1a25d6d87cE(i8* noalias nonnull readonly %187, i16 %188, i16 %182, i16 %3, i1 zeroext %4, %"num::flt2dec::Part"* nonnull %7, i16 %8) to label %bb50 unwind label %cleanup bb50: ; preds = %bb49 %190 = extractvalue { %"num::flt2dec::Part"*, i16 } %189, 0 %191 = extractvalue { %"num::flt2dec::Part"*, i16 } %189, 1 %192 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %193 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %192, i32 0, i32 0 store i8* %25, i8** %193 %194 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %192, i32 0, i32 1 store i16 %26, i16* %194 %195 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %196 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %195, i32 0, i32 0 store %"num::flt2dec::Part"* %190, %"num::flt2dec::Part"** %196 %197 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %195, i32 0, i32 1 store i16 %191, i16* %197 br label %bb14 bb51: ; preds = %bb14 ret void cleanup: ; preds = %bb15, %panic6, %bb17, %panic5, %bb32, %panic4, %bb27, %panic3, %panic2, %panic1, %panic, %bb49, %bb48, %bb47, %bb46, %bb42, %bb38, %bb35, %bb13, %bb8, %bb7, %bb6, %bb4, %start %198 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %198, { i8*, i32 }* %personalityslot br label %bb2 unreachable: ; preds = %panic6, %panic5, %panic4, %panic3, %panic2, %panic1, %panic, %bb42, %bb6, %bb4 unreachable panic: ; preds = %bb19 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3D, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic1: ; preds = %bb21 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3E) to label %unreachable unwind label %cleanup panic2: ; preds = %bb22 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3F, i16 1, i16 %8) to label %unreachable unwind label %cleanup panic3: ; preds = %bb26 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3I, i16 2, i16 %8) to label %unreachable unwind label %cleanup panic4: ; preds = %bb31 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3J, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic5: ; preds = %bb11 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3K, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic6: ; preds = %bb10 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3L, i16 0, i16 %8) to label %unreachable unwind label %cleanup } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec16to_exact_exp_str17hf611fb8935e3876aE(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8), double, i8, i16, i1 zeroext, i8* nonnull, i16, %"num::flt2dec::Part"* nonnull, i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %tmp_ret = alloca { i16, i16 } %personalityslot = alloca { i8*, i32 } %_141 = alloca %"ops::RangeTo" %_132 = alloca %"ops::RangeTo" %_126 = alloca { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 } %trunc = alloca i16 %_105 = alloca i8 %_103 = alloca {} %_100 = alloca %"ops::RangeTo" %_87 = alloca { i8*, i16 } %_86 = alloca %"ops::RangeTo" %_73 = alloca { i8*, i16 } %_60 = alloca %"ops::RangeTo" %_49 = alloca %"ops::RangeTo" %_33 = alloca i8 %_30 = alloca { i8, %"num::flt2dec::decoder::FullDecoded" } %full_decoded = alloca %"num::flt2dec::decoder::FullDecoded" %_22 = alloca {} %_15 = alloca {} %sign = alloca i8 %format_exact = alloca {} %arg2 = alloca i8 store i8 %2, i8* %arg2 br label %start start: ; preds = %entry-block %9 = load i8, i8* %arg2 store i8 %9, i8* %sign %10 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8) to label %bb3 unwind label %cleanup bb1: ; preds = %bb2 %11 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %11 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start %12 = icmp uge i16 %10, 6 %13 = xor i1 %12, true br i1 %13, label %bb4, label %bb5 bb4: ; preds = %bb3 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE17hffdd8509680814e6E) to label %unreachable unwind label %cleanup bb5: ; preds = %bb3 %14 = icmp ugt i16 %3, 0 %15 = xor i1 %14, true br i1 %15, label %bb6, label %bb7 bb6: ; preds = %bb5 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE17h7628f902c4df4d68E) to label %unreachable unwind label %cleanup bb7: ; preds = %bb5 invoke void @_ZN4core3num7flt2dec7decoder6decode17haf3ab329e2f330eeE({ i8, %"num::flt2dec::decoder::FullDecoded" }* noalias nocapture sret dereferenceable(48) %_30, double %1) to label %bb8 unwind label %cleanup bb8: ; preds = %bb7 %16 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_30, i32 0, i32 0 %17 = load i8, i8* %16, !range !2 %18 = trunc i8 %17 to i1 %19 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_30, i32 0, i32 1 %20 = bitcast %"num::flt2dec::decoder::FullDecoded"* %19 to i8* %21 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 40, i32 8, i1 false) %22 = load i8, i8* %sign store i8 %22, i8* %_33 %23 = load i8, i8* %_33 %24 = invoke { i8*, i16 } @_ZN4core3num7flt2dec14determine_sign17hf2029f1b99eb9d79E(i8 %23, %"num::flt2dec::decoder::FullDecoded"* noalias readonly dereferenceable(40) %full_decoded, i1 zeroext %18) to label %bb9 unwind label %cleanup bb9: ; preds = %bb8 %25 = extractvalue { i8*, i16 } %24, 0 %26 = extractvalue { i8*, i16 } %24, 1 %27 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %full_decoded, i32 0, i32 0 %28 = load i64, i64* %27, !range !5 %29 = trunc i64 %28 to i16 switch i16 %29, label %bb13 [ i16 0, label %bb10 i16 1, label %bb11 i16 2, label %bb12 ] bb10: ; preds = %bb9 %30 = icmp ult i16 0, %8 %31 = call i1 @llvm.expect.i1(i1 %30, i1 true) br i1 %31, label %bb15, label %panic6 bb11: ; preds = %bb9 %32 = icmp ult i16 0, %8 %33 = call i1 @llvm.expect.i1(i1 %32, i1 true) br i1 %33, label %bb17, label %panic5 bb12: ; preds = %bb9 %34 = icmp ugt i16 %3, 1 br i1 %34, label %bb19, label %bb20 bb13: ; preds = %bb9 %35 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %36 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %35, i32 0, i32 1 %37 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %36, i32 0, i32 3 %38 = load i16, i16* %37 %39 = invoke i16 @_ZN4core3num7flt2dec20estimate_max_buf_len17hcff1dca63bbecfa9E(i16 %38) to label %bb35 unwind label %cleanup bb14: ; preds = %bb16, %bb18, %bb34, %bb50 br label %bb51 bb15: ; preds = %bb10 %40 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %41 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %40, i32 0, i32 0 store i16 2, i16* %41 %42 = bitcast %"num::flt2dec::Part"* %40 to { i16, { i8*, i16 } }* %43 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %42, i32 0, i32 1 %44 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %43, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3t, i32 0, i32 0), i8** %44 %45 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %43, i32 0, i32 1 store i16 3, i16* %45 %46 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_49, i32 0, i32 0 store i16 1, i16* %46 %47 = bitcast %"ops::RangeTo"* %_49 to i16* %48 = load i16, i16* %47, align 2 %49 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %48) to label %bb16 unwind label %cleanup bb16: ; preds = %bb15 %50 = extractvalue { %"num::flt2dec::Part"*, i16 } %49, 0 %51 = extractvalue { %"num::flt2dec::Part"*, i16 } %49, 1 %52 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %53 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %52, i32 0, i32 0 store i8* %25, i8** %53 %54 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %52, i32 0, i32 1 store i16 %26, i16* %54 %55 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %56 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %55, i32 0, i32 0 store %"num::flt2dec::Part"* %50, %"num::flt2dec::Part"** %56 %57 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %55, i32 0, i32 1 store i16 %51, i16* %57 br label %bb14 bb17: ; preds = %bb11 %58 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %59 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %58, i32 0, i32 0 store i16 2, i16* %59 %60 = bitcast %"num::flt2dec::Part"* %58 to { i16, { i8*, i16 } }* %61 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %60, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3r, i32 0, i32 0), i8** %62 %63 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 store i16 3, i16* %63 %64 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_60, i32 0, i32 0 store i16 1, i16* %64 %65 = bitcast %"ops::RangeTo"* %_60 to i16* %66 = load i16, i16* %65, align 2 %67 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %66) to label %bb18 unwind label %cleanup bb18: ; preds = %bb17 %68 = extractvalue { %"num::flt2dec::Part"*, i16 } %67, 0 %69 = extractvalue { %"num::flt2dec::Part"*, i16 } %67, 1 %70 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %71 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %70, i32 0, i32 0 store i8* %25, i8** %71 %72 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %70, i32 0, i32 1 store i16 %26, i16* %72 %73 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %74 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %73, i32 0, i32 0 store %"num::flt2dec::Part"* %68, %"num::flt2dec::Part"** %74 %75 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %73, i32 0, i32 1 store i16 %69, i16* %75 br label %bb14 bb19: ; preds = %bb12 %76 = icmp ult i16 0, %8 %77 = call i1 @llvm.expect.i1(i1 %76, i1 true) br i1 %77, label %bb21, label %panic bb20: ; preds = %bb12 br i1 %4, label %bb29, label %bb30 bb21: ; preds = %bb19 %78 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %79 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %78, i32 0, i32 0 store i16 2, i16* %79 %80 = bitcast %"num::flt2dec::Part"* %78 to { i16, { i8*, i16 } }* %81 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %80, i32 0, i32 1 %82 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %81, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.2H, i32 0, i32 0), i8** %82 %83 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %81, i32 0, i32 1 store i16 2, i16* %83 %84 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 1) %85 = extractvalue { i16, i1 } %84, 0 %86 = extractvalue { i16, i1 } %84, 1 %87 = call i1 @llvm.expect.i1(i1 %86, i1 false) br i1 %87, label %panic1, label %bb22 bb22: ; preds = %bb21 %88 = icmp ult i16 1, %8 %89 = call i1 @llvm.expect.i1(i1 %88, i1 true) br i1 %89, label %bb23, label %panic2 bb23: ; preds = %bb22 %90 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 1 %91 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %90, i32 0, i32 0 store i16 0, i16* %91 %92 = bitcast %"num::flt2dec::Part"* %90 to { i16, i16 }* %93 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %92, i32 0, i32 1 store i16 %85, i16* %93 br i1 %4, label %bb24, label %bb25 bb24: ; preds = %bb23 %94 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_73, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.3G, i32 0, i32 0), i8** %94 %95 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_73, i32 0, i32 1 store i16 2, i16* %95 br label %bb26 bb25: ; preds = %bb23 %96 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_73, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.3H, i32 0, i32 0), i8** %96 %97 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_73, i32 0, i32 1 store i16 2, i16* %97 br label %bb26 bb26: ; preds = %bb25, %bb24 %98 = icmp ult i16 2, %8 %99 = call i1 @llvm.expect.i1(i1 %98, i1 true) br i1 %99, label %bb27, label %panic3 bb27: ; preds = %bb26 %100 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 2 %101 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %100, i32 0, i32 0 store i16 2, i16* %101 %102 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_73, i32 0, i32 0 %103 = load i8*, i8** %102, !nonnull !1 %104 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_73, i32 0, i32 1 %105 = load i16, i16* %104 %106 = bitcast %"num::flt2dec::Part"* %100 to { i16, { i8*, i16 } }* %107 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %106, i32 0, i32 1 %108 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %107, i32 0, i32 0 store i8* %103, i8** %108 %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %107, i32 0, i32 1 store i16 %105, i16* %109 %110 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_86, i32 0, i32 0 store i16 3, i16* %110 %111 = bitcast %"ops::RangeTo"* %_86 to i16* %112 = load i16, i16* %111, align 2 %113 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %112) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 %114 = extractvalue { %"num::flt2dec::Part"*, i16 } %113, 0 %115 = extractvalue { %"num::flt2dec::Part"*, i16 } %113, 1 %116 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %117 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %116, i32 0, i32 0 store i8* %25, i8** %117 %118 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %116, i32 0, i32 1 store i16 %26, i16* %118 %119 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %120 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %119, i32 0, i32 0 store %"num::flt2dec::Part"* %114, %"num::flt2dec::Part"** %120 %121 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %119, i32 0, i32 1 store i16 %115, i16* %121 br label %bb34 bb29: ; preds = %bb20 %122 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3w, i32 0, i32 0), i8** %122 %123 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 1 store i16 3, i16* %123 br label %bb31 bb30: ; preds = %bb20 %124 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3x, i32 0, i32 0), i8** %124 %125 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 1 store i16 3, i16* %125 br label %bb31 bb31: ; preds = %bb30, %bb29 %126 = icmp ult i16 0, %8 %127 = call i1 @llvm.expect.i1(i1 %126, i1 true) br i1 %127, label %bb32, label %panic4 bb32: ; preds = %bb31 %128 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %129 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %128, i32 0, i32 0 store i16 2, i16* %129 %130 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 0 %131 = load i8*, i8** %130, !nonnull !1 %132 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_87, i32 0, i32 1 %133 = load i16, i16* %132 %134 = bitcast %"num::flt2dec::Part"* %128 to { i16, { i8*, i16 } }* %135 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %134, i32 0, i32 1 %136 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %135, i32 0, i32 0 store i8* %131, i8** %136 %137 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %135, i32 0, i32 1 store i16 %133, i16* %137 %138 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_100, i32 0, i32 0 store i16 1, i16* %138 %139 = bitcast %"ops::RangeTo"* %_100 to i16* %140 = load i16, i16* %139, align 2 %141 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %140) to label %bb33 unwind label %cleanup bb33: ; preds = %bb32 %142 = extractvalue { %"num::flt2dec::Part"*, i16 } %141, 0 %143 = extractvalue { %"num::flt2dec::Part"*, i16 } %141, 1 %144 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %145 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %144, i32 0, i32 0 store i8* %25, i8** %145 %146 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %144, i32 0, i32 1 store i16 %26, i16* %146 %147 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %148 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %147, i32 0, i32 0 store %"num::flt2dec::Part"* %142, %"num::flt2dec::Part"** %148 %149 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %147, i32 0, i32 1 store i16 %143, i16* %149 br label %bb34 bb34: ; preds = %bb33, %bb28 br label %bb14 bb35: ; preds = %bb13 %150 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %5, i16 %6) to label %bb40 unwind label %cleanup bb36: ; preds = %bb41, %bb40 store i8 1, i8* %_105 br label %bb39 bb37: ; preds = %bb41 store i8 0, i8* %_105 br label %bb39 bb38: ; preds = %bb40 %151 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %5, i16 %6) to label %bb41 unwind label %cleanup bb39: ; preds = %bb37, %bb36 %152 = load i8, i8* %_105, !range !2 %153 = trunc i8 %152 to i1 %154 = xor i1 %153, true br i1 %154, label %bb42, label %bb43 bb40: ; preds = %bb35 %155 = icmp uge i16 %150, %3 br i1 %155, label %bb36, label %bb38 bb41: ; preds = %bb38 %156 = icmp uge i16 %151, %39 br i1 %156, label %bb36, label %bb37 bb42: ; preds = %bb39 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE17h98b5e5ef81066f87E) to label %unreachable unwind label %cleanup bb43: ; preds = %bb39 %157 = icmp ult i16 %3, %39 br i1 %157, label %bb44, label %bb45 bb44: ; preds = %bb43 store i16 %3, i16* %trunc br label %bb46 bb45: ; preds = %bb43 store i16 %39, i16* %trunc br label %bb46 bb46: ; preds = %bb45, %bb44 %158 = load i16, i16* %trunc %159 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_132, i32 0, i32 0 store i16 %158, i16* %159 %160 = bitcast %"ops::RangeTo"* %_132 to i16* %161 = load i16, i16* %160, align 2 %162 = invoke { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %5, i16 %6, i16 %161) to label %bb47 unwind label %cleanup bb47: ; preds = %bb46 %163 = extractvalue { i8*, i16 } %162, 0 %164 = extractvalue { i8*, i16 } %162, 1 %165 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_126, i32 0, i32 0 store %"num::flt2dec::decoder::Decoded"* %36, %"num::flt2dec::decoder::Decoded"** %165 %166 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_126, i32 0, i32 1 %167 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %166, i32 0, i32 0 store i8* %163, i8** %167 %168 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %166, i32 0, i32 1 store i16 %164, i16* %168 %169 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_126, i32 0, i32 2 store i16 -32768, i16* %169 %170 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_126, i32 0, i32 0 %171 = load %"num::flt2dec::decoder::Decoded"*, %"num::flt2dec::decoder::Decoded"** %170 %172 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_126, i32 0, i32 1 %173 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %172, i32 0, i32 0 %174 = load i8*, i8** %173, !nonnull !1 %175 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %172, i32 0, i32 1 %176 = load i16, i16* %175 %177 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_126, i32 0, i32 2 %178 = load i16, i16* %177 invoke void @_ZN4core3ops5FnMut8call_mut17h6dec6efe32ff5608E({ i16, i16 }* noalias nocapture sret dereferenceable(4) %tmp_ret, {}* %format_exact, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %171, i8* nonnull %174, i16 %176, i16 %178) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 %179 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 0 %180 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 1 %181 = load i16, i16* %179 %182 = load i16, i16* %180 %183 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_141, i32 0, i32 0 store i16 %181, i16* %183 %184 = bitcast %"ops::RangeTo"* %_141 to i16* %185 = load i16, i16* %184, align 2 %186 = invoke { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %5, i16 %6, i16 %185) to label %bb49 unwind label %cleanup bb49: ; preds = %bb48 %187 = extractvalue { i8*, i16 } %186, 0 %188 = extractvalue { i8*, i16 } %186, 1 %189 = invoke { %"num::flt2dec::Part"*, i16 } @_ZN4core3num7flt2dec17digits_to_exp_str17h87220a1a25d6d87cE(i8* noalias nonnull readonly %187, i16 %188, i16 %182, i16 %3, i1 zeroext %4, %"num::flt2dec::Part"* nonnull %7, i16 %8) to label %bb50 unwind label %cleanup bb50: ; preds = %bb49 %190 = extractvalue { %"num::flt2dec::Part"*, i16 } %189, 0 %191 = extractvalue { %"num::flt2dec::Part"*, i16 } %189, 1 %192 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %193 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %192, i32 0, i32 0 store i8* %25, i8** %193 %194 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %192, i32 0, i32 1 store i16 %26, i16* %194 %195 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %196 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %195, i32 0, i32 0 store %"num::flt2dec::Part"* %190, %"num::flt2dec::Part"** %196 %197 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %195, i32 0, i32 1 store i16 %191, i16* %197 br label %bb14 bb51: ; preds = %bb14 ret void cleanup: ; preds = %bb15, %panic6, %bb17, %panic5, %bb32, %panic4, %bb27, %panic3, %panic2, %panic1, %panic, %bb49, %bb48, %bb47, %bb46, %bb42, %bb38, %bb35, %bb13, %bb8, %bb7, %bb6, %bb4, %start %198 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %198, { i8*, i32 }* %personalityslot br label %bb2 unreachable: ; preds = %panic6, %panic5, %panic4, %panic3, %panic2, %panic1, %panic, %bb42, %bb6, %bb4 unreachable panic: ; preds = %bb19 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3D, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic1: ; preds = %bb21 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3E) to label %unreachable unwind label %cleanup panic2: ; preds = %bb22 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3F, i16 1, i16 %8) to label %unreachable unwind label %cleanup panic3: ; preds = %bb26 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3I, i16 2, i16 %8) to label %unreachable unwind label %cleanup panic4: ; preds = %bb31 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3J, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic5: ; preds = %bb11 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3K, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic6: ; preds = %bb10 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3L, i16 0, i16 %8) to label %unreachable unwind label %cleanup } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec18to_exact_fixed_str17h3891f02850b8065aE(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8), float, i8, i16, i1 zeroext, i8* nonnull, i16, %"num::flt2dec::Part"* nonnull, i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %tmp_ret2 = alloca %"fmt::ArgumentV1" %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca { i16, i16 } %personalityslot = alloca { i8*, i32 } %_178 = alloca %"ops::RangeTo" %_170 = alloca %"ops::RangeTo" %_159 = alloca %"ops::RangeTo" %_131 = alloca { i16**, i16** } %_130 = alloca [2 x %"fmt::ArgumentV1"] %_125 = alloca %"fmt::Arguments" %right_val = alloca i16* %left_val = alloca i16* %_116 = alloca { i16*, i16* } %_115 = alloca {} %_114 = alloca {} %_108 = alloca %"ops::RangeTo" %_102 = alloca { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 } %len = alloca i16 %limit = alloca i16 %_84 = alloca {} %_81 = alloca %"ops::RangeTo" %_70 = alloca %"ops::RangeTo" %_54 = alloca %"ops::RangeTo" %_43 = alloca %"ops::RangeTo" %_27 = alloca i8 %_24 = alloca { i8, %"num::flt2dec::decoder::FullDecoded" } %full_decoded = alloca %"num::flt2dec::decoder::FullDecoded" %_15 = alloca {} %sign = alloca i8 %format_exact = alloca {} %arg2 = alloca i8 store i8 %2, i8* %arg2 br label %start start: ; preds = %entry-block %9 = load i8, i8* %arg2 store i8 %9, i8* %sign %10 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8) to label %bb3 unwind label %cleanup bb1: ; preds = %bb2 %11 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %11 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start %12 = icmp uge i16 %10, 4 %13 = xor i1 %12, true br i1 %13, label %bb4, label %bb5 bb4: ; preds = %bb3 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec18to_exact_fixed_str14_MSG_FILE_LINE17h2fc8cc530e970244E) to label %unreachable unwind label %cleanup bb5: ; preds = %bb3 invoke void @_ZN4core3num7flt2dec7decoder6decode17h66ea56e5c322d6a8E({ i8, %"num::flt2dec::decoder::FullDecoded" }* noalias nocapture sret dereferenceable(48) %_24, float %1) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %14 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_24, i32 0, i32 0 %15 = load i8, i8* %14, !range !2 %16 = trunc i8 %15 to i1 %17 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_24, i32 0, i32 1 %18 = bitcast %"num::flt2dec::decoder::FullDecoded"* %17 to i8* %19 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 40, i32 8, i1 false) %20 = load i8, i8* %sign store i8 %20, i8* %_27 %21 = load i8, i8* %_27 %22 = invoke { i8*, i16 } @_ZN4core3num7flt2dec14determine_sign17hf2029f1b99eb9d79E(i8 %21, %"num::flt2dec::decoder::FullDecoded"* noalias readonly dereferenceable(40) %full_decoded, i1 zeroext %16) to label %bb7 unwind label %cleanup bb7: ; preds = %bb6 %23 = extractvalue { i8*, i16 } %22, 0 %24 = extractvalue { i8*, i16 } %22, 1 %25 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %full_decoded, i32 0, i32 0 %26 = load i64, i64* %25, !range !5 %27 = trunc i64 %26 to i16 switch i16 %27, label %bb11 [ i16 0, label %bb8 i16 1, label %bb9 i16 2, label %bb10 ] bb8: ; preds = %bb7 %28 = icmp ult i16 0, %8 %29 = call i1 @llvm.expect.i1(i1 %28, i1 true) br i1 %29, label %bb13, label %panic10 bb9: ; preds = %bb7 %30 = icmp ult i16 0, %8 %31 = call i1 @llvm.expect.i1(i1 %30, i1 true) br i1 %31, label %bb15, label %panic9 bb10: ; preds = %bb7 %32 = icmp ugt i16 %3, 0 br i1 %32, label %bb17, label %bb18 bb11: ; preds = %bb7 %33 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %34 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %33, i32 0, i32 1 %35 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %34, i32 0, i32 3 %36 = load i16, i16* %35 %37 = invoke i16 @_ZN4core3num7flt2dec20estimate_max_buf_len17hcff1dca63bbecfa9E(i16 %36) to label %bb25 unwind label %cleanup bb12: ; preds = %bb14, %bb16, %bb24, %bb52 br label %bb53 bb13: ; preds = %bb8 %38 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %39 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %38, i32 0, i32 0 store i16 2, i16* %39 %40 = bitcast %"num::flt2dec::Part"* %38 to { i16, { i8*, i16 } }* %41 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %40, i32 0, i32 1 %42 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %41, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3t, i32 0, i32 0), i8** %42 %43 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %41, i32 0, i32 1 store i16 3, i16* %43 %44 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_43, i32 0, i32 0 store i16 1, i16* %44 %45 = bitcast %"ops::RangeTo"* %_43 to i16* %46 = load i16, i16* %45, align 2 %47 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %46) to label %bb14 unwind label %cleanup bb14: ; preds = %bb13 %48 = extractvalue { %"num::flt2dec::Part"*, i16 } %47, 0 %49 = extractvalue { %"num::flt2dec::Part"*, i16 } %47, 1 %50 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %51 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %50, i32 0, i32 0 store i8* %23, i8** %51 %52 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %50, i32 0, i32 1 store i16 %24, i16* %52 %53 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %54 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %53, i32 0, i32 0 store %"num::flt2dec::Part"* %48, %"num::flt2dec::Part"** %54 %55 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %53, i32 0, i32 1 store i16 %49, i16* %55 br label %bb12 bb15: ; preds = %bb9 %56 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %57 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %56, i32 0, i32 0 store i16 2, i16* %57 %58 = bitcast %"num::flt2dec::Part"* %56 to { i16, { i8*, i16 } }* %59 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %58, i32 0, i32 1 %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3r, i32 0, i32 0), i8** %60 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 3, i16* %61 %62 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_54, i32 0, i32 0 store i16 1, i16* %62 %63 = bitcast %"ops::RangeTo"* %_54 to i16* %64 = load i16, i16* %63, align 2 %65 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %64) to label %bb16 unwind label %cleanup bb16: ; preds = %bb15 %66 = extractvalue { %"num::flt2dec::Part"*, i16 } %65, 0 %67 = extractvalue { %"num::flt2dec::Part"*, i16 } %65, 1 %68 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 0 store i8* %23, i8** %69 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 1 store i16 %24, i16* %70 %71 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %72 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %71, i32 0, i32 0 store %"num::flt2dec::Part"* %66, %"num::flt2dec::Part"** %72 %73 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %71, i32 0, i32 1 store i16 %67, i16* %73 br label %bb12 bb17: ; preds = %bb10 %74 = icmp ult i16 0, %8 %75 = call i1 @llvm.expect.i1(i1 %74, i1 true) br i1 %75, label %bb19, label %panic6 bb18: ; preds = %bb10 %76 = icmp ult i16 0, %8 %77 = call i1 @llvm.expect.i1(i1 %76, i1 true) br i1 %77, label %bb22, label %panic8 bb19: ; preds = %bb17 %78 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %79 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %78, i32 0, i32 0 store i16 2, i16* %79 %80 = bitcast %"num::flt2dec::Part"* %78 to { i16, { i8*, i16 } }* %81 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %80, i32 0, i32 1 %82 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %81, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.2H, i32 0, i32 0), i8** %82 %83 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %81, i32 0, i32 1 store i16 2, i16* %83 %84 = icmp ult i16 1, %8 %85 = call i1 @llvm.expect.i1(i1 %84, i1 true) br i1 %85, label %bb20, label %panic7 bb20: ; preds = %bb19 %86 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 1 %87 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %86, i32 0, i32 0 store i16 0, i16* %87 %88 = bitcast %"num::flt2dec::Part"* %86 to { i16, i16 }* %89 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %88, i32 0, i32 1 store i16 %3, i16* %89 %90 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_70, i32 0, i32 0 store i16 2, i16* %90 %91 = bitcast %"ops::RangeTo"* %_70 to i16* %92 = load i16, i16* %91, align 2 %93 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %92) to label %bb21 unwind label %cleanup bb21: ; preds = %bb20 %94 = extractvalue { %"num::flt2dec::Part"*, i16 } %93, 0 %95 = extractvalue { %"num::flt2dec::Part"*, i16 } %93, 1 %96 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %97 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %96, i32 0, i32 0 store i8* %23, i8** %97 %98 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %96, i32 0, i32 1 store i16 %24, i16* %98 %99 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %100 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %99, i32 0, i32 0 store %"num::flt2dec::Part"* %94, %"num::flt2dec::Part"** %100 %101 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %99, i32 0, i32 1 store i16 %95, i16* %101 br label %bb24 bb22: ; preds = %bb18 %102 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %103 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %102, i32 0, i32 0 store i16 2, i16* %103 %104 = bitcast %"num::flt2dec::Part"* %102 to { i16, { i8*, i16 } }* %105 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %104, i32 0, i32 1 %106 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %105, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3p, i32 0, i32 0), i8** %106 %107 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %105, i32 0, i32 1 store i16 1, i16* %107 %108 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_81, i32 0, i32 0 store i16 1, i16* %108 %109 = bitcast %"ops::RangeTo"* %_81 to i16* %110 = load i16, i16* %109, align 2 %111 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %110) to label %bb23 unwind label %cleanup bb23: ; preds = %bb22 %112 = extractvalue { %"num::flt2dec::Part"*, i16 } %111, 0 %113 = extractvalue { %"num::flt2dec::Part"*, i16 } %111, 1 %114 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %115 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %114, i32 0, i32 0 store i8* %23, i8** %115 %116 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %114, i32 0, i32 1 store i16 %24, i16* %116 %117 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %118 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %117, i32 0, i32 0 store %"num::flt2dec::Part"* %112, %"num::flt2dec::Part"** %118 %119 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %117, i32 0, i32 1 store i16 %113, i16* %119 br label %bb24 bb24: ; preds = %bb23, %bb21 br label %bb12 bb25: ; preds = %bb11 %120 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %5, i16 %6) to label %bb26 unwind label %cleanup bb26: ; preds = %bb25 %121 = icmp uge i16 %120, %37 %122 = xor i1 %121, true br i1 %122, label %bb27, label %bb28 bb27: ; preds = %bb26 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec18to_exact_fixed_str14_MSG_FILE_LINE17h07a21a3c4c0d9486E) to label %unreachable unwind label %cleanup bb28: ; preds = %bb26 %123 = icmp ult i16 %3, -32768 br i1 %123, label %bb29, label %bb30 bb29: ; preds = %bb28 %124 = icmp eq i16 %3, -32768 %125 = call i1 @llvm.expect.i1(i1 %124, i1 false) br i1 %125, label %panic, label %bb31 bb30: ; preds = %bb28 store i16 -32768, i16* %limit br label %bb32 bb31: ; preds = %bb29 %126 = sub i16 0, %3 store i16 %126, i16* %limit br label %bb32 bb32: ; preds = %bb30, %bb31 %127 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_108, i32 0, i32 0 store i16 %37, i16* %127 %128 = bitcast %"ops::RangeTo"* %_108 to i16* %129 = load i16, i16* %128, align 2 %130 = invoke { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %5, i16 %6, i16 %129) to label %bb33 unwind label %cleanup bb33: ; preds = %bb32 %131 = extractvalue { i8*, i16 } %130, 0 %132 = extractvalue { i8*, i16 } %130, 1 %133 = load i16, i16* %limit %134 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_102, i32 0, i32 0 store %"num::flt2dec::decoder::Decoded"* %34, %"num::flt2dec::decoder::Decoded"** %134 %135 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_102, i32 0, i32 1 %136 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %135, i32 0, i32 0 store i8* %131, i8** %136 %137 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %135, i32 0, i32 1 store i16 %132, i16* %137 %138 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_102, i32 0, i32 2 store i16 %133, i16* %138 %139 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_102, i32 0, i32 0 %140 = load %"num::flt2dec::decoder::Decoded"*, %"num::flt2dec::decoder::Decoded"** %139 %141 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_102, i32 0, i32 1 %142 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %141, i32 0, i32 0 %143 = load i8*, i8** %142, !nonnull !1 %144 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %141, i32 0, i32 1 %145 = load i16, i16* %144 %146 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_102, i32 0, i32 2 %147 = load i16, i16* %146 invoke void @_ZN4core3ops5FnMut8call_mut17h6dec6efe32ff5608E({ i16, i16 }* noalias nocapture sret dereferenceable(4) %tmp_ret, {}* %format_exact, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %140, i8* nonnull %143, i16 %145, i16 %147) to label %bb34 unwind label %cleanup bb34: ; preds = %bb33 %148 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 0 %149 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 1 %150 = load i16, i16* %148 %151 = load i16, i16* %149 store i16 %150, i16* %len %152 = load i16, i16* %limit %153 = icmp sle i16 %151, %152 br i1 %153, label %bb36, label %bb35 bb35: ; preds = %bb34 %154 = load i16, i16* %len %155 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_178, i32 0, i32 0 store i16 %154, i16* %155 %156 = bitcast %"ops::RangeTo"* %_178 to i16* %157 = load i16, i16* %156, align 2 %158 = invoke { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %5, i16 %6, i16 %157) to label %bb50 unwind label %cleanup bb36: ; preds = %bb34 %159 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_116, i32 0, i32 0 store i16* %len, i16** %159 %160 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_116, i32 0, i32 1 store i16* @ref.1r, i16** %160 %161 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_116, i32 0, i32 0 %162 = load i16*, i16** %161, !nonnull !1 store i16* %162, i16** %left_val %163 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_116, i32 0, i32 1 %164 = load i16*, i16** %163, !nonnull !1 store i16* %164, i16** %right_val %165 = load i16*, i16** %left_val, !nonnull !1 %166 = load i16, i16* %165 %167 = load i16*, i16** %right_val, !nonnull !1 %168 = load i16, i16* %167 %169 = icmp eq i16 %166, %168 %170 = xor i1 %169, true br i1 %170, label %bb37, label %bb38 bb37: ; preds = %bb36 %171 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec18to_exact_fixed_str15__STATIC_FMTSTR17hc56d04ae6bd82343E, i32 0, i32 0), !nonnull !1 %172 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec18to_exact_fixed_str15__STATIC_FMTSTR17hc56d04ae6bd82343E, i32 0, i32 1) %173 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_131, i32 0, i32 0 store i16** %left_val, i16*** %173 %174 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_131, i32 0, i32 1 store i16** %right_val, i16*** %174 %175 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_131, i32 0, i32 0 %176 = load i16**, i16*** %175, !nonnull !1 %177 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_131, i32 0, i32 1 %178 = load i16**, i16*** %177, !nonnull !1 invoke void @_ZN4core3fmt10ArgumentV13new17hbd7a8d7393e51aceE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, i16** noalias readonly dereferenceable(2) %176, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6911bd12d17307ffE") to label %bb39 unwind label %cleanup bb38: ; preds = %bb36 %179 = icmp ugt i16 %3, 0 br i1 %179, label %bb42, label %bb43 bb39: ; preds = %bb37 %180 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %181 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %182 = load %"fmt::Void"*, %"fmt::Void"** %180, !nonnull !1 %183 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %181, !nonnull !1 invoke void @_ZN4core3fmt10ArgumentV13new17hbd7a8d7393e51aceE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret2, i16** noalias readonly dereferenceable(2) %178, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6911bd12d17307ffE") to label %bb40 unwind label %cleanup bb40: ; preds = %bb39 %184 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 0 %185 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 1 %186 = load %"fmt::Void"*, %"fmt::Void"** %184, !nonnull !1 %187 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %185, !nonnull !1 %188 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_130, i32 0, i32 0 %189 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %188, i32 0, i32 0 store %"fmt::Void"* %182, %"fmt::Void"** %189 %190 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %188, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %183, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %190 %191 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_130, i32 0, i32 1 %192 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %191, i32 0, i32 0 store %"fmt::Void"* %186, %"fmt::Void"** %192 %193 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %191, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %187, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %193 %194 = bitcast [2 x %"fmt::ArgumentV1"]* %_130 to %"fmt::ArgumentV1"* invoke void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_125, %str_slice* noalias nonnull readonly %171, i16 %172, %"fmt::ArgumentV1"* noalias nonnull readonly %194, i16 2) to label %bb41 unwind label %cleanup bb41: ; preds = %bb40 invoke void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_125, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7flt2dec18to_exact_fixed_str10_FILE_LINE17h8a4cf05572b1a413E) to label %unreachable unwind label %cleanup bb42: ; preds = %bb38 %195 = icmp ult i16 0, %8 %196 = call i1 @llvm.expect.i1(i1 %195, i1 true) br i1 %196, label %bb44, label %panic3 bb43: ; preds = %bb38 %197 = icmp ult i16 0, %8 %198 = call i1 @llvm.expect.i1(i1 %197, i1 true) br i1 %198, label %bb47, label %panic5 bb44: ; preds = %bb42 %199 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %200 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %199, i32 0, i32 0 store i16 2, i16* %200 %201 = bitcast %"num::flt2dec::Part"* %199 to { i16, { i8*, i16 } }* %202 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %201, i32 0, i32 1 %203 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %202, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.2H, i32 0, i32 0), i8** %203 %204 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %202, i32 0, i32 1 store i16 2, i16* %204 %205 = icmp ult i16 1, %8 %206 = call i1 @llvm.expect.i1(i1 %205, i1 true) br i1 %206, label %bb45, label %panic4 bb45: ; preds = %bb44 %207 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 1 %208 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %207, i32 0, i32 0 store i16 0, i16* %208 %209 = bitcast %"num::flt2dec::Part"* %207 to { i16, i16 }* %210 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %209, i32 0, i32 1 store i16 %3, i16* %210 %211 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_159, i32 0, i32 0 store i16 2, i16* %211 %212 = bitcast %"ops::RangeTo"* %_159 to i16* %213 = load i16, i16* %212, align 2 %214 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %213) to label %bb46 unwind label %cleanup bb46: ; preds = %bb45 %215 = extractvalue { %"num::flt2dec::Part"*, i16 } %214, 0 %216 = extractvalue { %"num::flt2dec::Part"*, i16 } %214, 1 %217 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %218 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %217, i32 0, i32 0 store i8* %23, i8** %218 %219 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %217, i32 0, i32 1 store i16 %24, i16* %219 %220 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %221 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %220, i32 0, i32 0 store %"num::flt2dec::Part"* %215, %"num::flt2dec::Part"** %221 %222 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %220, i32 0, i32 1 store i16 %216, i16* %222 br label %bb49 bb47: ; preds = %bb43 %223 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %224 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %223, i32 0, i32 0 store i16 2, i16* %224 %225 = bitcast %"num::flt2dec::Part"* %223 to { i16, { i8*, i16 } }* %226 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %225, i32 0, i32 1 %227 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %226, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3p, i32 0, i32 0), i8** %227 %228 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %226, i32 0, i32 1 store i16 1, i16* %228 %229 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_170, i32 0, i32 0 store i16 1, i16* %229 %230 = bitcast %"ops::RangeTo"* %_170 to i16* %231 = load i16, i16* %230, align 2 %232 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %231) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 %233 = extractvalue { %"num::flt2dec::Part"*, i16 } %232, 0 %234 = extractvalue { %"num::flt2dec::Part"*, i16 } %232, 1 %235 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %236 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %235, i32 0, i32 0 store i8* %23, i8** %236 %237 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %235, i32 0, i32 1 store i16 %24, i16* %237 %238 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %239 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %238, i32 0, i32 0 store %"num::flt2dec::Part"* %233, %"num::flt2dec::Part"** %239 %240 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %238, i32 0, i32 1 store i16 %234, i16* %240 br label %bb49 bb49: ; preds = %bb48, %bb46 br label %bb52 bb50: ; preds = %bb35 %241 = extractvalue { i8*, i16 } %158, 0 %242 = extractvalue { i8*, i16 } %158, 1 %243 = invoke { %"num::flt2dec::Part"*, i16 } @_ZN4core3num7flt2dec17digits_to_dec_str17h424ba2e1ed22f0b1E(i8* noalias nonnull readonly %241, i16 %242, i16 %151, i16 %3, %"num::flt2dec::Part"* nonnull %7, i16 %8) to label %bb51 unwind label %cleanup bb51: ; preds = %bb50 %244 = extractvalue { %"num::flt2dec::Part"*, i16 } %243, 0 %245 = extractvalue { %"num::flt2dec::Part"*, i16 } %243, 1 %246 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %247 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %246, i32 0, i32 0 store i8* %23, i8** %247 %248 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %246, i32 0, i32 1 store i16 %24, i16* %248 %249 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %250 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %249, i32 0, i32 0 store %"num::flt2dec::Part"* %244, %"num::flt2dec::Part"** %250 %251 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %249, i32 0, i32 1 store i16 %245, i16* %251 br label %bb52 bb52: ; preds = %bb51, %bb49 br label %bb12 bb53: ; preds = %bb12 ret void cleanup: ; preds = %bb13, %panic10, %bb15, %panic9, %bb22, %panic8, %bb20, %panic7, %panic6, %bb50, %bb35, %bb47, %panic5, %bb45, %panic4, %panic3, %bb41, %bb40, %bb39, %bb37, %bb33, %bb32, %panic, %bb27, %bb25, %bb11, %bb6, %bb5, %bb4, %start %252 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %252, { i8*, i32 }* %personalityslot br label %bb2 unreachable: ; preds = %panic10, %panic9, %panic8, %panic7, %panic6, %panic5, %panic4, %panic3, %bb41, %panic, %bb27, %bb4 unreachable panic: ; preds = %bb29 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3M) to label %unreachable unwind label %cleanup panic3: ; preds = %bb42 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3N, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic4: ; preds = %bb44 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3O, i16 1, i16 %8) to label %unreachable unwind label %cleanup panic5: ; preds = %bb43 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3P, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic6: ; preds = %bb17 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3Q, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic7: ; preds = %bb19 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3R, i16 1, i16 %8) to label %unreachable unwind label %cleanup panic8: ; preds = %bb18 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3S, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic9: ; preds = %bb9 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3T, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic10: ; preds = %bb8 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3U, i16 0, i16 %8) to label %unreachable unwind label %cleanup } ; Function Attrs: uwtable define internal void @_ZN4core3num7flt2dec18to_exact_fixed_str17h59bd9bfead84c84bE(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8), double, i8, i16, i1 zeroext, i8* nonnull, i16, %"num::flt2dec::Part"* nonnull, i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %tmp_ret2 = alloca %"fmt::ArgumentV1" %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca { i16, i16 } %personalityslot = alloca { i8*, i32 } %_178 = alloca %"ops::RangeTo" %_170 = alloca %"ops::RangeTo" %_159 = alloca %"ops::RangeTo" %_131 = alloca { i16**, i16** } %_130 = alloca [2 x %"fmt::ArgumentV1"] %_125 = alloca %"fmt::Arguments" %right_val = alloca i16* %left_val = alloca i16* %_116 = alloca { i16*, i16* } %_115 = alloca {} %_114 = alloca {} %_108 = alloca %"ops::RangeTo" %_102 = alloca { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 } %len = alloca i16 %limit = alloca i16 %_84 = alloca {} %_81 = alloca %"ops::RangeTo" %_70 = alloca %"ops::RangeTo" %_54 = alloca %"ops::RangeTo" %_43 = alloca %"ops::RangeTo" %_27 = alloca i8 %_24 = alloca { i8, %"num::flt2dec::decoder::FullDecoded" } %full_decoded = alloca %"num::flt2dec::decoder::FullDecoded" %_15 = alloca {} %sign = alloca i8 %format_exact = alloca {} %arg2 = alloca i8 store i8 %2, i8* %arg2 br label %start start: ; preds = %entry-block %9 = load i8, i8* %arg2 store i8 %9, i8* %sign %10 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8) to label %bb3 unwind label %cleanup bb1: ; preds = %bb2 %11 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %11 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start %12 = icmp uge i16 %10, 4 %13 = xor i1 %12, true br i1 %13, label %bb4, label %bb5 bb4: ; preds = %bb3 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec18to_exact_fixed_str14_MSG_FILE_LINE17h2fc8cc530e970244E) to label %unreachable unwind label %cleanup bb5: ; preds = %bb3 invoke void @_ZN4core3num7flt2dec7decoder6decode17haf3ab329e2f330eeE({ i8, %"num::flt2dec::decoder::FullDecoded" }* noalias nocapture sret dereferenceable(48) %_24, double %1) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %14 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_24, i32 0, i32 0 %15 = load i8, i8* %14, !range !2 %16 = trunc i8 %15 to i1 %17 = getelementptr inbounds { i8, %"num::flt2dec::decoder::FullDecoded" }, { i8, %"num::flt2dec::decoder::FullDecoded" }* %_24, i32 0, i32 1 %18 = bitcast %"num::flt2dec::decoder::FullDecoded"* %17 to i8* %19 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 40, i32 8, i1 false) %20 = load i8, i8* %sign store i8 %20, i8* %_27 %21 = load i8, i8* %_27 %22 = invoke { i8*, i16 } @_ZN4core3num7flt2dec14determine_sign17hf2029f1b99eb9d79E(i8 %21, %"num::flt2dec::decoder::FullDecoded"* noalias readonly dereferenceable(40) %full_decoded, i1 zeroext %16) to label %bb7 unwind label %cleanup bb7: ; preds = %bb6 %23 = extractvalue { i8*, i16 } %22, 0 %24 = extractvalue { i8*, i16 } %22, 1 %25 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %full_decoded, i32 0, i32 0 %26 = load i64, i64* %25, !range !5 %27 = trunc i64 %26 to i16 switch i16 %27, label %bb11 [ i16 0, label %bb8 i16 1, label %bb9 i16 2, label %bb10 ] bb8: ; preds = %bb7 %28 = icmp ult i16 0, %8 %29 = call i1 @llvm.expect.i1(i1 %28, i1 true) br i1 %29, label %bb13, label %panic10 bb9: ; preds = %bb7 %30 = icmp ult i16 0, %8 %31 = call i1 @llvm.expect.i1(i1 %30, i1 true) br i1 %31, label %bb15, label %panic9 bb10: ; preds = %bb7 %32 = icmp ugt i16 %3, 0 br i1 %32, label %bb17, label %bb18 bb11: ; preds = %bb7 %33 = bitcast %"num::flt2dec::decoder::FullDecoded"* %full_decoded to { i64, %"num::flt2dec::decoder::Decoded" }* %34 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %33, i32 0, i32 1 %35 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %34, i32 0, i32 3 %36 = load i16, i16* %35 %37 = invoke i16 @_ZN4core3num7flt2dec20estimate_max_buf_len17hcff1dca63bbecfa9E(i16 %36) to label %bb25 unwind label %cleanup bb12: ; preds = %bb14, %bb16, %bb24, %bb52 br label %bb53 bb13: ; preds = %bb8 %38 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %39 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %38, i32 0, i32 0 store i16 2, i16* %39 %40 = bitcast %"num::flt2dec::Part"* %38 to { i16, { i8*, i16 } }* %41 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %40, i32 0, i32 1 %42 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %41, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3t, i32 0, i32 0), i8** %42 %43 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %41, i32 0, i32 1 store i16 3, i16* %43 %44 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_43, i32 0, i32 0 store i16 1, i16* %44 %45 = bitcast %"ops::RangeTo"* %_43 to i16* %46 = load i16, i16* %45, align 2 %47 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %46) to label %bb14 unwind label %cleanup bb14: ; preds = %bb13 %48 = extractvalue { %"num::flt2dec::Part"*, i16 } %47, 0 %49 = extractvalue { %"num::flt2dec::Part"*, i16 } %47, 1 %50 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %51 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %50, i32 0, i32 0 store i8* %23, i8** %51 %52 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %50, i32 0, i32 1 store i16 %24, i16* %52 %53 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %54 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %53, i32 0, i32 0 store %"num::flt2dec::Part"* %48, %"num::flt2dec::Part"** %54 %55 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %53, i32 0, i32 1 store i16 %49, i16* %55 br label %bb12 bb15: ; preds = %bb9 %56 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %57 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %56, i32 0, i32 0 store i16 2, i16* %57 %58 = bitcast %"num::flt2dec::Part"* %56 to { i16, { i8*, i16 } }* %59 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %58, i32 0, i32 1 %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @byte_str.3r, i32 0, i32 0), i8** %60 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 3, i16* %61 %62 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_54, i32 0, i32 0 store i16 1, i16* %62 %63 = bitcast %"ops::RangeTo"* %_54 to i16* %64 = load i16, i16* %63, align 2 %65 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %64) to label %bb16 unwind label %cleanup bb16: ; preds = %bb15 %66 = extractvalue { %"num::flt2dec::Part"*, i16 } %65, 0 %67 = extractvalue { %"num::flt2dec::Part"*, i16 } %65, 1 %68 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 0 store i8* %23, i8** %69 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 1 store i16 %24, i16* %70 %71 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %72 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %71, i32 0, i32 0 store %"num::flt2dec::Part"* %66, %"num::flt2dec::Part"** %72 %73 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %71, i32 0, i32 1 store i16 %67, i16* %73 br label %bb12 bb17: ; preds = %bb10 %74 = icmp ult i16 0, %8 %75 = call i1 @llvm.expect.i1(i1 %74, i1 true) br i1 %75, label %bb19, label %panic6 bb18: ; preds = %bb10 %76 = icmp ult i16 0, %8 %77 = call i1 @llvm.expect.i1(i1 %76, i1 true) br i1 %77, label %bb22, label %panic8 bb19: ; preds = %bb17 %78 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %79 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %78, i32 0, i32 0 store i16 2, i16* %79 %80 = bitcast %"num::flt2dec::Part"* %78 to { i16, { i8*, i16 } }* %81 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %80, i32 0, i32 1 %82 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %81, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.2H, i32 0, i32 0), i8** %82 %83 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %81, i32 0, i32 1 store i16 2, i16* %83 %84 = icmp ult i16 1, %8 %85 = call i1 @llvm.expect.i1(i1 %84, i1 true) br i1 %85, label %bb20, label %panic7 bb20: ; preds = %bb19 %86 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 1 %87 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %86, i32 0, i32 0 store i16 0, i16* %87 %88 = bitcast %"num::flt2dec::Part"* %86 to { i16, i16 }* %89 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %88, i32 0, i32 1 store i16 %3, i16* %89 %90 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_70, i32 0, i32 0 store i16 2, i16* %90 %91 = bitcast %"ops::RangeTo"* %_70 to i16* %92 = load i16, i16* %91, align 2 %93 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %92) to label %bb21 unwind label %cleanup bb21: ; preds = %bb20 %94 = extractvalue { %"num::flt2dec::Part"*, i16 } %93, 0 %95 = extractvalue { %"num::flt2dec::Part"*, i16 } %93, 1 %96 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %97 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %96, i32 0, i32 0 store i8* %23, i8** %97 %98 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %96, i32 0, i32 1 store i16 %24, i16* %98 %99 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %100 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %99, i32 0, i32 0 store %"num::flt2dec::Part"* %94, %"num::flt2dec::Part"** %100 %101 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %99, i32 0, i32 1 store i16 %95, i16* %101 br label %bb24 bb22: ; preds = %bb18 %102 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %103 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %102, i32 0, i32 0 store i16 2, i16* %103 %104 = bitcast %"num::flt2dec::Part"* %102 to { i16, { i8*, i16 } }* %105 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %104, i32 0, i32 1 %106 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %105, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3p, i32 0, i32 0), i8** %106 %107 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %105, i32 0, i32 1 store i16 1, i16* %107 %108 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_81, i32 0, i32 0 store i16 1, i16* %108 %109 = bitcast %"ops::RangeTo"* %_81 to i16* %110 = load i16, i16* %109, align 2 %111 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %110) to label %bb23 unwind label %cleanup bb23: ; preds = %bb22 %112 = extractvalue { %"num::flt2dec::Part"*, i16 } %111, 0 %113 = extractvalue { %"num::flt2dec::Part"*, i16 } %111, 1 %114 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %115 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %114, i32 0, i32 0 store i8* %23, i8** %115 %116 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %114, i32 0, i32 1 store i16 %24, i16* %116 %117 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %118 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %117, i32 0, i32 0 store %"num::flt2dec::Part"* %112, %"num::flt2dec::Part"** %118 %119 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %117, i32 0, i32 1 store i16 %113, i16* %119 br label %bb24 bb24: ; preds = %bb23, %bb21 br label %bb12 bb25: ; preds = %bb11 %120 = invoke i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %5, i16 %6) to label %bb26 unwind label %cleanup bb26: ; preds = %bb25 %121 = icmp uge i16 %120, %37 %122 = xor i1 %121, true br i1 %122, label %bb27, label %bb28 bb27: ; preds = %bb26 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7flt2dec18to_exact_fixed_str14_MSG_FILE_LINE17h07a21a3c4c0d9486E) to label %unreachable unwind label %cleanup bb28: ; preds = %bb26 %123 = icmp ult i16 %3, -32768 br i1 %123, label %bb29, label %bb30 bb29: ; preds = %bb28 %124 = icmp eq i16 %3, -32768 %125 = call i1 @llvm.expect.i1(i1 %124, i1 false) br i1 %125, label %panic, label %bb31 bb30: ; preds = %bb28 store i16 -32768, i16* %limit br label %bb32 bb31: ; preds = %bb29 %126 = sub i16 0, %3 store i16 %126, i16* %limit br label %bb32 bb32: ; preds = %bb30, %bb31 %127 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_108, i32 0, i32 0 store i16 %37, i16* %127 %128 = bitcast %"ops::RangeTo"* %_108 to i16* %129 = load i16, i16* %128, align 2 %130 = invoke { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %5, i16 %6, i16 %129) to label %bb33 unwind label %cleanup bb33: ; preds = %bb32 %131 = extractvalue { i8*, i16 } %130, 0 %132 = extractvalue { i8*, i16 } %130, 1 %133 = load i16, i16* %limit %134 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_102, i32 0, i32 0 store %"num::flt2dec::decoder::Decoded"* %34, %"num::flt2dec::decoder::Decoded"** %134 %135 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_102, i32 0, i32 1 %136 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %135, i32 0, i32 0 store i8* %131, i8** %136 %137 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %135, i32 0, i32 1 store i16 %132, i16* %137 %138 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_102, i32 0, i32 2 store i16 %133, i16* %138 %139 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_102, i32 0, i32 0 %140 = load %"num::flt2dec::decoder::Decoded"*, %"num::flt2dec::decoder::Decoded"** %139 %141 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_102, i32 0, i32 1 %142 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %141, i32 0, i32 0 %143 = load i8*, i8** %142, !nonnull !1 %144 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %141, i32 0, i32 1 %145 = load i16, i16* %144 %146 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %_102, i32 0, i32 2 %147 = load i16, i16* %146 invoke void @_ZN4core3ops5FnMut8call_mut17h6dec6efe32ff5608E({ i16, i16 }* noalias nocapture sret dereferenceable(4) %tmp_ret, {}* %format_exact, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %140, i8* nonnull %143, i16 %145, i16 %147) to label %bb34 unwind label %cleanup bb34: ; preds = %bb33 %148 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 0 %149 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 1 %150 = load i16, i16* %148 %151 = load i16, i16* %149 store i16 %150, i16* %len %152 = load i16, i16* %limit %153 = icmp sle i16 %151, %152 br i1 %153, label %bb36, label %bb35 bb35: ; preds = %bb34 %154 = load i16, i16* %len %155 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_178, i32 0, i32 0 store i16 %154, i16* %155 %156 = bitcast %"ops::RangeTo"* %_178 to i16* %157 = load i16, i16* %156, align 2 %158 = invoke { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %5, i16 %6, i16 %157) to label %bb50 unwind label %cleanup bb36: ; preds = %bb34 %159 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_116, i32 0, i32 0 store i16* %len, i16** %159 %160 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_116, i32 0, i32 1 store i16* @ref.1r, i16** %160 %161 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_116, i32 0, i32 0 %162 = load i16*, i16** %161, !nonnull !1 store i16* %162, i16** %left_val %163 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_116, i32 0, i32 1 %164 = load i16*, i16** %163, !nonnull !1 store i16* %164, i16** %right_val %165 = load i16*, i16** %left_val, !nonnull !1 %166 = load i16, i16* %165 %167 = load i16*, i16** %right_val, !nonnull !1 %168 = load i16, i16* %167 %169 = icmp eq i16 %166, %168 %170 = xor i1 %169, true br i1 %170, label %bb37, label %bb38 bb37: ; preds = %bb36 %171 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec18to_exact_fixed_str15__STATIC_FMTSTR17hc56d04ae6bd82343E, i32 0, i32 0), !nonnull !1 %172 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7flt2dec18to_exact_fixed_str15__STATIC_FMTSTR17hc56d04ae6bd82343E, i32 0, i32 1) %173 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_131, i32 0, i32 0 store i16** %left_val, i16*** %173 %174 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_131, i32 0, i32 1 store i16** %right_val, i16*** %174 %175 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_131, i32 0, i32 0 %176 = load i16**, i16*** %175, !nonnull !1 %177 = getelementptr inbounds { i16**, i16** }, { i16**, i16** }* %_131, i32 0, i32 1 %178 = load i16**, i16*** %177, !nonnull !1 invoke void @_ZN4core3fmt10ArgumentV13new17hbd7a8d7393e51aceE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, i16** noalias readonly dereferenceable(2) %176, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6911bd12d17307ffE") to label %bb39 unwind label %cleanup bb38: ; preds = %bb36 %179 = icmp ugt i16 %3, 0 br i1 %179, label %bb42, label %bb43 bb39: ; preds = %bb37 %180 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %181 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %182 = load %"fmt::Void"*, %"fmt::Void"** %180, !nonnull !1 %183 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %181, !nonnull !1 invoke void @_ZN4core3fmt10ArgumentV13new17hbd7a8d7393e51aceE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret2, i16** noalias readonly dereferenceable(2) %178, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6911bd12d17307ffE") to label %bb40 unwind label %cleanup bb40: ; preds = %bb39 %184 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 0 %185 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 1 %186 = load %"fmt::Void"*, %"fmt::Void"** %184, !nonnull !1 %187 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %185, !nonnull !1 %188 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_130, i32 0, i32 0 %189 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %188, i32 0, i32 0 store %"fmt::Void"* %182, %"fmt::Void"** %189 %190 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %188, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %183, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %190 %191 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_130, i32 0, i32 1 %192 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %191, i32 0, i32 0 store %"fmt::Void"* %186, %"fmt::Void"** %192 %193 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %191, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %187, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %193 %194 = bitcast [2 x %"fmt::ArgumentV1"]* %_130 to %"fmt::ArgumentV1"* invoke void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_125, %str_slice* noalias nonnull readonly %171, i16 %172, %"fmt::ArgumentV1"* noalias nonnull readonly %194, i16 2) to label %bb41 unwind label %cleanup bb41: ; preds = %bb40 invoke void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_125, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7flt2dec18to_exact_fixed_str10_FILE_LINE17h8a4cf05572b1a413E) to label %unreachable unwind label %cleanup bb42: ; preds = %bb38 %195 = icmp ult i16 0, %8 %196 = call i1 @llvm.expect.i1(i1 %195, i1 true) br i1 %196, label %bb44, label %panic3 bb43: ; preds = %bb38 %197 = icmp ult i16 0, %8 %198 = call i1 @llvm.expect.i1(i1 %197, i1 true) br i1 %198, label %bb47, label %panic5 bb44: ; preds = %bb42 %199 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %200 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %199, i32 0, i32 0 store i16 2, i16* %200 %201 = bitcast %"num::flt2dec::Part"* %199 to { i16, { i8*, i16 } }* %202 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %201, i32 0, i32 1 %203 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %202, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.2H, i32 0, i32 0), i8** %203 %204 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %202, i32 0, i32 1 store i16 2, i16* %204 %205 = icmp ult i16 1, %8 %206 = call i1 @llvm.expect.i1(i1 %205, i1 true) br i1 %206, label %bb45, label %panic4 bb45: ; preds = %bb44 %207 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 1 %208 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %207, i32 0, i32 0 store i16 0, i16* %208 %209 = bitcast %"num::flt2dec::Part"* %207 to { i16, i16 }* %210 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %209, i32 0, i32 1 store i16 %3, i16* %210 %211 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_159, i32 0, i32 0 store i16 2, i16* %211 %212 = bitcast %"ops::RangeTo"* %_159 to i16* %213 = load i16, i16* %212, align 2 %214 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %213) to label %bb46 unwind label %cleanup bb46: ; preds = %bb45 %215 = extractvalue { %"num::flt2dec::Part"*, i16 } %214, 0 %216 = extractvalue { %"num::flt2dec::Part"*, i16 } %214, 1 %217 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %218 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %217, i32 0, i32 0 store i8* %23, i8** %218 %219 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %217, i32 0, i32 1 store i16 %24, i16* %219 %220 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %221 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %220, i32 0, i32 0 store %"num::flt2dec::Part"* %215, %"num::flt2dec::Part"** %221 %222 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %220, i32 0, i32 1 store i16 %216, i16* %222 br label %bb49 bb47: ; preds = %bb43 %223 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %7, i16 0 %224 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %223, i32 0, i32 0 store i16 2, i16* %224 %225 = bitcast %"num::flt2dec::Part"* %223 to { i16, { i8*, i16 } }* %226 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %225, i32 0, i32 1 %227 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %226, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.3p, i32 0, i32 0), i8** %227 %228 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %226, i32 0, i32 1 store i16 1, i16* %228 %229 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_170, i32 0, i32 0 store i16 1, i16* %229 %230 = bitcast %"ops::RangeTo"* %_170 to i16* %231 = load i16, i16* %230, align 2 %232 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly %7, i16 %8, i16 %231) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 %233 = extractvalue { %"num::flt2dec::Part"*, i16 } %232, 0 %234 = extractvalue { %"num::flt2dec::Part"*, i16 } %232, 1 %235 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %236 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %235, i32 0, i32 0 store i8* %23, i8** %236 %237 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %235, i32 0, i32 1 store i16 %24, i16* %237 %238 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %239 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %238, i32 0, i32 0 store %"num::flt2dec::Part"* %233, %"num::flt2dec::Part"** %239 %240 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %238, i32 0, i32 1 store i16 %234, i16* %240 br label %bb49 bb49: ; preds = %bb48, %bb46 br label %bb52 bb50: ; preds = %bb35 %241 = extractvalue { i8*, i16 } %158, 0 %242 = extractvalue { i8*, i16 } %158, 1 %243 = invoke { %"num::flt2dec::Part"*, i16 } @_ZN4core3num7flt2dec17digits_to_dec_str17h424ba2e1ed22f0b1E(i8* noalias nonnull readonly %241, i16 %242, i16 %151, i16 %3, %"num::flt2dec::Part"* nonnull %7, i16 %8) to label %bb51 unwind label %cleanup bb51: ; preds = %bb50 %244 = extractvalue { %"num::flt2dec::Part"*, i16 } %243, 0 %245 = extractvalue { %"num::flt2dec::Part"*, i16 } %243, 1 %246 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %247 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %246, i32 0, i32 0 store i8* %23, i8** %247 %248 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %246, i32 0, i32 1 store i16 %24, i16* %248 %249 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %250 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %249, i32 0, i32 0 store %"num::flt2dec::Part"* %244, %"num::flt2dec::Part"** %250 %251 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %249, i32 0, i32 1 store i16 %245, i16* %251 br label %bb52 bb52: ; preds = %bb51, %bb49 br label %bb12 bb53: ; preds = %bb12 ret void cleanup: ; preds = %bb13, %panic10, %bb15, %panic9, %bb22, %panic8, %bb20, %panic7, %panic6, %bb50, %bb35, %bb47, %panic5, %bb45, %panic4, %panic3, %bb41, %bb40, %bb39, %bb37, %bb33, %bb32, %panic, %bb27, %bb25, %bb11, %bb6, %bb5, %bb4, %start %252 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %252, { i8*, i32 }* %personalityslot br label %bb2 unreachable: ; preds = %panic10, %panic9, %panic8, %panic7, %panic6, %panic5, %panic4, %panic3, %bb41, %panic, %bb27, %bb4 unreachable panic: ; preds = %bb29 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3M) to label %unreachable unwind label %cleanup panic3: ; preds = %bb42 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3N, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic4: ; preds = %bb44 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3O, i16 1, i16 %8) to label %unreachable unwind label %cleanup panic5: ; preds = %bb43 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3P, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic6: ; preds = %bb17 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3Q, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic7: ; preds = %bb19 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3R, i16 1, i16 %8) to label %unreachable unwind label %cleanup panic8: ; preds = %bb18 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3S, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic9: ; preds = %bb9 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3T, i16 0, i16 %8) to label %unreachable unwind label %cleanup panic10: ; preds = %bb8 invoke void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3U, i16 0, i16 %8) to label %unreachable unwind label %cleanup } ; Function Attrs: uwtable define void @_ZN4core3num7dec2flt9algorithm12power_of_ten17h22de62a6eb07e94eE(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16), i16) unnamed_addr #1 { entry-block: %_21 = alloca { [611 x i64], [611 x i16] } %_14 = alloca { [611 x i64], [611 x i16] } %_3 = alloca {} br label %start start: ; preds = %entry-block %2 = icmp sge i16 %1, -305 %3 = xor i1 %2, true br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt9algorithm12power_of_ten14_MSG_FILE_LINE17h29f6fca0ae32231bE) unreachable bb2: ; preds = %start %4 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %1, i16 -305) %5 = extractvalue { i16, i1 } %4, 0 %6 = extractvalue { i16, i1 } %4, 1 %7 = call i1 @llvm.expect.i1(i1 %6, i1 false) br i1 %7, label %panic, label %bb3 bb3: ; preds = %bb2 %8 = bitcast { [611 x i64], [611 x i16] }* %_14 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* bitcast ({ [611 x i64], [611 x i16], [2 x i8] }* @const.3X to i8*), i16 6112, i32 8, i1 false) %9 = getelementptr inbounds { [611 x i64], [611 x i16] }, { [611 x i64], [611 x i16] }* %_14, i32 0, i32 0 %10 = icmp ult i16 %5, 611 %11 = call i1 @llvm.expect.i1(i1 %10, i1 true) br i1 %11, label %bb4, label %panic1 bb4: ; preds = %bb3 %12 = getelementptr inbounds { [611 x i64], [611 x i16] }, { [611 x i64], [611 x i16] }* %_14, i32 0, i32 0 %13 = getelementptr inbounds [611 x i64], [611 x i64]* %12, i16 0, i16 %5 %14 = load i64, i64* %13 %15 = bitcast { [611 x i64], [611 x i16] }* %_21 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* bitcast ({ [611 x i64], [611 x i16], [2 x i8] }* @const.3X to i8*), i16 6112, i32 8, i1 false) %16 = getelementptr inbounds { [611 x i64], [611 x i16] }, { [611 x i64], [611 x i16] }* %_21, i32 0, i32 1 %17 = icmp ult i16 %5, 611 %18 = call i1 @llvm.expect.i1(i1 %17, i1 true) br i1 %18, label %bb5, label %panic2 bb5: ; preds = %bb4 %19 = getelementptr inbounds { [611 x i64], [611 x i16] }, { [611 x i64], [611 x i16] }* %_21, i32 0, i32 1 %20 = getelementptr inbounds [611 x i16], [611 x i16]* %19, i16 0, i16 %5 %21 = load i16, i16* %20 %22 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 0 store i64 %14, i64* %22 %23 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 1 store i16 %21, i16* %23 ret void panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.3W) unreachable panic1: ; preds = %bb3 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3Y, i16 %5, i16 611) unreachable panic2: ; preds = %bb4 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.3Z, i16 %5, i16 611) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt9algorithm13fpu_precision13set_precision17h1305265f0a8324b2E() unnamed_addr #1 { entry-block: %_0 = alloca {} br label %start start: ; preds = %entry-block ret void } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt9algorithm13fpu_precision13set_precision17hf8daf49dc91af7fbE() unnamed_addr #1 { entry-block: %_0 = alloca {} br label %start start: ; preds = %entry-block ret void } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt9algorithm9fast_path17h3a82261229d05f23E(%"option::Option"* noalias nocapture sret dereferenceable(8), i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16, i64) unnamed_addr #1 { entry-block: %_28 = alloca {} %_26 = alloca %"slice::Iter" %_24 = alloca %"slice::Iter" %_23 = alloca %"iter::Chain, slice::Iter>" %_16 = alloca {} %_13 = alloca {} br label %start start: ; preds = %entry-block %6 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %7 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %3, i16 %4) br label %bb2 bb2: ; preds = %bb1 %8 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %6, i16 %7) %9 = extractvalue { i16, i1 } %8, 0 %10 = extractvalue { i16, i1 } %8, 1 %11 = call i1 @llvm.expect.i1(i1 %10, i1 false) br i1 %11, label %panic, label %bb3 bb3: ; preds = %bb2 %12 = icmp ugt i16 %9, 16 br i1 %12, label %bb4, label %bb5 bb4: ; preds = %bb3 %13 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %13 br label %bb7 bb5: ; preds = %bb3 %14 = call i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$3abs17h022b525486993b2fE"(i64 %5) br label %bb8 bb6: ; preds = %bb29, %bb7 ret void bb7: ; preds = %bb17, %bb10, %bb4 br label %bb6 bb8: ; preds = %bb5 %15 = call i16 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$20ceil_log5_of_max_sig17h8d1934c04f3b72ccE"() br label %bb9 bb9: ; preds = %bb8 %16 = sext i16 %15 to i64 %17 = icmp sge i64 %14, %16 br i1 %17, label %bb10, label %bb11 bb10: ; preds = %bb9 %18 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %18 br label %bb7 bb11: ; preds = %bb9 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_24, i8* noalias nonnull readonly %1, i16 %2) br label %bb12 bb12: ; preds = %bb11 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_26, i8* noalias nonnull readonly %3, i16 %4) br label %bb13 bb13: ; preds = %bb12 call void @_ZN4core4iter8iterator8Iterator5chain17h99bd8ce13b8c6332E(%"iter::Chain, slice::Iter>"* noalias nocapture sret dereferenceable(10) %_23, %"slice::Iter"* noalias nocapture dereferenceable(4) %_24, %"slice::Iter"* noalias nocapture dereferenceable(4) %_26) br label %bb14 bb14: ; preds = %bb13 %19 = call i64 @_ZN4core3num7dec2flt3num18from_str_unchecked17h3b306992a7aaee4aE(%"iter::Chain, slice::Iter>"* noalias nocapture dereferenceable(10) %_23) br label %bb15 bb15: ; preds = %bb14 %20 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h9b573e6bf7d72a83E() br label %bb16 bb16: ; preds = %bb15 %21 = icmp ugt i64 %19, %20 br i1 %21, label %bb17, label %bb18 bb17: ; preds = %bb16 %22 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %22 br label %bb7 bb18: ; preds = %bb16 call void @_ZN4core3num7dec2flt9algorithm13fpu_precision13set_precision17hf8daf49dc91af7fbE() br label %bb19 bb19: ; preds = %bb18 %23 = icmp sge i64 %5, 0 br i1 %23, label %bb20, label %bb21 bb20: ; preds = %bb19 %24 = call float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8from_int17h5b2c4f0706be8b69E"(i64 %19) br label %bb22 bb21: ; preds = %bb19 %25 = call float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8from_int17h5b2c4f0706be8b69E"(i64 %19) br label %bb25 bb22: ; preds = %bb20 %26 = trunc i64 %5 to i16 %27 = call float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$16short_fast_pow1017h2299e85f8ea8591dE"(i16 %26) br label %bb23 bb23: ; preds = %bb22 %28 = call float @"_ZN38_$LT$f32$u20$as$u20$core..ops..Mul$GT$3mul17h9234adce75df26b3E"(float %24, float %27) br label %bb24 bb24: ; preds = %bb23 %29 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %29 %30 = bitcast %"option::Option"* %0 to { i32, float }* %31 = getelementptr inbounds { i32, float }, { i32, float }* %30, i32 0, i32 1 store float %28, float* %31 br label %bb29 bb25: ; preds = %bb21 %32 = call i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$3abs17h022b525486993b2fE"(i64 %5) br label %bb26 bb26: ; preds = %bb25 %33 = trunc i64 %32 to i16 %34 = call float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$16short_fast_pow1017h2299e85f8ea8591dE"(i16 %33) br label %bb27 bb27: ; preds = %bb26 %35 = call float @"_ZN38_$LT$f32$u20$as$u20$core..ops..Div$GT$3div17hf9b97e880b2a6a24E"(float %25, float %34) br label %bb28 bb28: ; preds = %bb27 %36 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %36 %37 = bitcast %"option::Option"* %0 to { i32, float }* %38 = getelementptr inbounds { i32, float }, { i32, float }* %37, i32 0, i32 1 store float %35, float* %38 br label %bb29 bb29: ; preds = %bb28, %bb24 br label %bb6 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.40) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt9algorithm9fast_path17hf7b7de37865094cfE(%"option::Option"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16, i64) unnamed_addr #1 { entry-block: %_28 = alloca {} %_26 = alloca %"slice::Iter" %_24 = alloca %"slice::Iter" %_23 = alloca %"iter::Chain, slice::Iter>" %_16 = alloca {} %_13 = alloca {} br label %start start: ; preds = %entry-block %6 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %7 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %3, i16 %4) br label %bb2 bb2: ; preds = %bb1 %8 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %6, i16 %7) %9 = extractvalue { i16, i1 } %8, 0 %10 = extractvalue { i16, i1 } %8, 1 %11 = call i1 @llvm.expect.i1(i1 %10, i1 false) br i1 %11, label %panic, label %bb3 bb3: ; preds = %bb2 %12 = icmp ugt i16 %9, 16 br i1 %12, label %bb4, label %bb5 bb4: ; preds = %bb3 %13 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %13 br label %bb7 bb5: ; preds = %bb3 %14 = call i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$3abs17h022b525486993b2fE"(i64 %5) br label %bb8 bb6: ; preds = %bb29, %bb7 ret void bb7: ; preds = %bb17, %bb10, %bb4 br label %bb6 bb8: ; preds = %bb5 %15 = call i16 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$20ceil_log5_of_max_sig17h4a062d5e915d0688E"() br label %bb9 bb9: ; preds = %bb8 %16 = sext i16 %15 to i64 %17 = icmp sge i64 %14, %16 br i1 %17, label %bb10, label %bb11 bb10: ; preds = %bb9 %18 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %18 br label %bb7 bb11: ; preds = %bb9 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_24, i8* noalias nonnull readonly %1, i16 %2) br label %bb12 bb12: ; preds = %bb11 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_26, i8* noalias nonnull readonly %3, i16 %4) br label %bb13 bb13: ; preds = %bb12 call void @_ZN4core4iter8iterator8Iterator5chain17h99bd8ce13b8c6332E(%"iter::Chain, slice::Iter>"* noalias nocapture sret dereferenceable(10) %_23, %"slice::Iter"* noalias nocapture dereferenceable(4) %_24, %"slice::Iter"* noalias nocapture dereferenceable(4) %_26) br label %bb14 bb14: ; preds = %bb13 %19 = call i64 @_ZN4core3num7dec2flt3num18from_str_unchecked17h3b306992a7aaee4aE(%"iter::Chain, slice::Iter>"* noalias nocapture dereferenceable(10) %_23) br label %bb15 bb15: ; preds = %bb14 %20 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h806f12b9bb97dc72E() br label %bb16 bb16: ; preds = %bb15 %21 = icmp ugt i64 %19, %20 br i1 %21, label %bb17, label %bb18 bb17: ; preds = %bb16 %22 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %22 br label %bb7 bb18: ; preds = %bb16 call void @_ZN4core3num7dec2flt9algorithm13fpu_precision13set_precision17h1305265f0a8324b2E() br label %bb19 bb19: ; preds = %bb18 %23 = icmp sge i64 %5, 0 br i1 %23, label %bb20, label %bb21 bb20: ; preds = %bb19 %24 = call double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8from_int17h64f4de47369521e6E"(i64 %19) br label %bb22 bb21: ; preds = %bb19 %25 = call double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8from_int17h64f4de47369521e6E"(i64 %19) br label %bb25 bb22: ; preds = %bb20 %26 = trunc i64 %5 to i16 %27 = call double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$16short_fast_pow1017h01748aded554c931E"(i16 %26) br label %bb23 bb23: ; preds = %bb22 %28 = call double @"_ZN38_$LT$f64$u20$as$u20$core..ops..Mul$GT$3mul17ha383331d0ee394f4E"(double %24, double %27) br label %bb24 bb24: ; preds = %bb23 %29 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %29 %30 = bitcast %"option::Option"* %0 to { i64, double }* %31 = getelementptr inbounds { i64, double }, { i64, double }* %30, i32 0, i32 1 store double %28, double* %31 br label %bb29 bb25: ; preds = %bb21 %32 = call i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$3abs17h022b525486993b2fE"(i64 %5) br label %bb26 bb26: ; preds = %bb25 %33 = trunc i64 %32 to i16 %34 = call double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$16short_fast_pow1017h01748aded554c931E"(i16 %33) br label %bb27 bb27: ; preds = %bb26 %35 = call double @"_ZN38_$LT$f64$u20$as$u20$core..ops..Div$GT$3div17h2adc7a30ff564df3E"(double %25, double %34) br label %bb28 bb28: ; preds = %bb27 %36 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %36 %37 = bitcast %"option::Option"* %0 to { i64, double }* %38 = getelementptr inbounds { i64, double }, { i64, double }* %37, i32 0, i32 1 store double %35, double* %38 br label %bb29 bb29: ; preds = %bb28, %bb24 br label %bb6 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.40) unreachable } ; Function Attrs: uwtable define internal double @_ZN4core3num7dec2flt9algorithm11bellerophon17hbdc9792ba93c9697E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), i16) unnamed_addr #1 { entry-block: %arg5 = alloca %"num::diy_float::Fp" %arg = alloca %"num::diy_float::Fp" %tmp_ret = alloca %"num::diy_float::Fp" %_28 = alloca %"num::diy_float::Fp" %_24 = alloca %"num::diy_float::Fp" %_22 = alloca %"num::diy_float::Fp" %_17 = alloca i64 %_14 = alloca i64 %_12 = alloca %"num::bignum::Big32x40" %_10 = alloca %"num::bignum::Big32x40"* %_6 = alloca {} %slop = alloca i64 %f = alloca %"num::bignum::Big32x40"* %_0 = alloca double br label %start start: ; preds = %entry-block store %"num::bignum::Big32x40"* %0, %"num::bignum::Big32x40"** %f %2 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h806f12b9bb97dc72E() br label %bb1 bb1: ; preds = %start call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_12, i64 %2) br label %bb2 bb2: ; preds = %bb1 store %"num::bignum::Big32x40"* %_12, %"num::bignum::Big32x40"** %_10 %3 = call zeroext i1 @"_ZN4core3cmp5impls92_$LT$impl$u20$core..cmp..PartialOrd$LT$$RF$$u27$b$u20$B$GT$$u20$for$u20$$RF$$u27$a$u20$A$GT$2le17hc600cfc73bb8987aE"(%"num::bignum::Big32x40"** noalias readonly dereferenceable(2) %f, %"num::bignum::Big32x40"** noalias readonly dereferenceable(2) %_10) br label %bb3 bb3: ; preds = %bb2 br i1 %3, label %bb4, label %bb5 bb4: ; preds = %bb3 %4 = icmp sge i16 %1, 0 br i1 %4, label %bb6, label %bb7 bb5: ; preds = %bb3 %5 = icmp sge i16 %1, 0 br i1 %5, label %bb9, label %bb10 bb6: ; preds = %bb4 store i64 0, i64* %_14 br label %bb8 bb7: ; preds = %bb4 store i64 3, i64* %_14 br label %bb8 bb8: ; preds = %bb7, %bb6 %6 = load i64, i64* %_14 store i64 %6, i64* %slop br label %bb12 bb9: ; preds = %bb5 store i64 1, i64* %_17 br label %bb11 bb10: ; preds = %bb5 store i64 4, i64* %_17 br label %bb11 bb11: ; preds = %bb10, %bb9 %7 = load i64, i64* %_17 store i64 %7, i64* %slop br label %bb12 bb12: ; preds = %bb11, %bb8 %8 = load %"num::bignum::Big32x40"*, %"num::bignum::Big32x40"** %f, !nonnull !1 call void @_ZN4core3num7dec2flt5rawfp9big_to_fp17h9aefe2818239f262E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %_24, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %8) br label %bb13 bb13: ; preds = %bb12 call void @_ZN4core3num7dec2flt9algorithm12power_of_ten17h22de62a6eb07e94eE(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %_28, i16 %1) br label %bb14 bb14: ; preds = %bb13 call void @_ZN4core3num9diy_float2Fp3mul17had1961a1cde23aabE(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %_22, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %_24, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %_28) br label %bb15 bb15: ; preds = %bb14 call void @_ZN4core3num9diy_float2Fp9normalize17h78d98e4ca9647a41E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %tmp_ret, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %_22) %9 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %tmp_ret, i32 0, i32 1 %11 = load i64, i64* %9 %12 = load i16, i16* %10 br label %bb16 bb16: ; preds = %bb15 %13 = call i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h6883bf0cf56ef461E"() br label %bb17 bb17: ; preds = %bb16 %14 = zext i8 %13 to i32 %15 = call { i32, i1 } @llvm.usub.with.overflow.i32(i32 64, i32 %14) %16 = extractvalue { i32, i1 } %15, 0 %17 = extractvalue { i32, i1 } %15, 1 %18 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %18, label %panic, label %bb18 bb18: ; preds = %bb17 %19 = and i32 %16, -64 %20 = icmp ne i32 %19, 0 %21 = zext i32 %16 to i64 %22 = and i64 %21, 63 %23 = shl i64 1, %22 %24 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %24, label %panic1, label %bb19 bb19: ; preds = %bb18 %25 = icmp eq i64 %23, 0 %26 = call i1 @llvm.expect.i1(i1 %25, i1 false) br i1 %26, label %panic2, label %bb20 bb20: ; preds = %bb19 %27 = urem i64 %11, %23 br label %bb21 bb21: ; preds = %bb20 %28 = icmp eq i64 %23, -9223372036854775808 %29 = and i1 false, %28 %30 = call i1 @llvm.expect.i1(i1 %29, i1 false) br i1 %30, label %panic3, label %bb22 bb22: ; preds = %bb21 %31 = sdiv i64 %23, 2 %32 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 %27, i64 %31) %33 = extractvalue { i64, i1 } %32, 0 %34 = extractvalue { i64, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic4, label %bb23 bb23: ; preds = %bb22 %36 = call i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$3abs17h022b525486993b2fE"(i64 %33) br label %bb24 bb24: ; preds = %bb23 %37 = load i64, i64* %slop %38 = icmp sle i64 %36, %37 br i1 %38, label %bb25, label %bb26 bb25: ; preds = %bb24 %39 = load %"num::bignum::Big32x40"*, %"num::bignum::Big32x40"** %f, !nonnull !1 %40 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg, i32 0, i32 0 store i64 %11, i64* %40 %41 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg, i32 0, i32 1 store i16 %12, i16* %41 %42 = call double @_ZN4core3num7dec2flt5rawfp11fp_to_float17h95afbf8e417bf9acE(%"num::diy_float::Fp"* noalias nocapture dereferenceable(16) %arg) br label %bb27 bb26: ; preds = %bb24 %43 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg5, i32 0, i32 0 store i64 %11, i64* %43 %44 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg5, i32 0, i32 1 store i16 %12, i16* %44 %45 = call double @_ZN4core3num7dec2flt5rawfp11fp_to_float17h95afbf8e417bf9acE(%"num::diy_float::Fp"* noalias nocapture dereferenceable(16) %arg5) store double %45, double* %_0 br label %bb29 bb27: ; preds = %bb25 %46 = call double @_ZN4core3num7dec2flt9algorithm11algorithm_r17h2bda60ab69ff911fE(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %39, i16 %1, double %42) store double %46, double* %_0 br label %bb28 bb28: ; preds = %bb27 br label %bb30 bb29: ; preds = %bb26 br label %bb30 bb30: ; preds = %bb29, %bb28 %47 = load double, double* %_0 ret double %47 panic: ; preds = %bb17 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.41) unreachable panic1: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.42) unreachable panic2: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.43) unreachable panic3: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.44) unreachable panic4: ; preds = %bb22 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.45) unreachable } ; Function Attrs: uwtable define internal float @_ZN4core3num7dec2flt9algorithm11bellerophon17he3653fc534d928caE(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), i16) unnamed_addr #1 { entry-block: %arg5 = alloca %"num::diy_float::Fp" %arg = alloca %"num::diy_float::Fp" %tmp_ret = alloca %"num::diy_float::Fp" %_28 = alloca %"num::diy_float::Fp" %_24 = alloca %"num::diy_float::Fp" %_22 = alloca %"num::diy_float::Fp" %_17 = alloca i64 %_14 = alloca i64 %_12 = alloca %"num::bignum::Big32x40" %_10 = alloca %"num::bignum::Big32x40"* %_6 = alloca {} %slop = alloca i64 %f = alloca %"num::bignum::Big32x40"* %_0 = alloca float br label %start start: ; preds = %entry-block store %"num::bignum::Big32x40"* %0, %"num::bignum::Big32x40"** %f %2 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h9b573e6bf7d72a83E() br label %bb1 bb1: ; preds = %start call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_12, i64 %2) br label %bb2 bb2: ; preds = %bb1 store %"num::bignum::Big32x40"* %_12, %"num::bignum::Big32x40"** %_10 %3 = call zeroext i1 @"_ZN4core3cmp5impls92_$LT$impl$u20$core..cmp..PartialOrd$LT$$RF$$u27$b$u20$B$GT$$u20$for$u20$$RF$$u27$a$u20$A$GT$2le17hc600cfc73bb8987aE"(%"num::bignum::Big32x40"** noalias readonly dereferenceable(2) %f, %"num::bignum::Big32x40"** noalias readonly dereferenceable(2) %_10) br label %bb3 bb3: ; preds = %bb2 br i1 %3, label %bb4, label %bb5 bb4: ; preds = %bb3 %4 = icmp sge i16 %1, 0 br i1 %4, label %bb6, label %bb7 bb5: ; preds = %bb3 %5 = icmp sge i16 %1, 0 br i1 %5, label %bb9, label %bb10 bb6: ; preds = %bb4 store i64 0, i64* %_14 br label %bb8 bb7: ; preds = %bb4 store i64 3, i64* %_14 br label %bb8 bb8: ; preds = %bb7, %bb6 %6 = load i64, i64* %_14 store i64 %6, i64* %slop br label %bb12 bb9: ; preds = %bb5 store i64 1, i64* %_17 br label %bb11 bb10: ; preds = %bb5 store i64 4, i64* %_17 br label %bb11 bb11: ; preds = %bb10, %bb9 %7 = load i64, i64* %_17 store i64 %7, i64* %slop br label %bb12 bb12: ; preds = %bb11, %bb8 %8 = load %"num::bignum::Big32x40"*, %"num::bignum::Big32x40"** %f, !nonnull !1 call void @_ZN4core3num7dec2flt5rawfp9big_to_fp17h9aefe2818239f262E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %_24, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %8) br label %bb13 bb13: ; preds = %bb12 call void @_ZN4core3num7dec2flt9algorithm12power_of_ten17h22de62a6eb07e94eE(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %_28, i16 %1) br label %bb14 bb14: ; preds = %bb13 call void @_ZN4core3num9diy_float2Fp3mul17had1961a1cde23aabE(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %_22, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %_24, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %_28) br label %bb15 bb15: ; preds = %bb14 call void @_ZN4core3num9diy_float2Fp9normalize17h78d98e4ca9647a41E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %tmp_ret, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %_22) %9 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %tmp_ret, i32 0, i32 1 %11 = load i64, i64* %9 %12 = load i16, i16* %10 br label %bb16 bb16: ; preds = %bb15 %13 = call i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h5190caf96ab1d0ebE"() br label %bb17 bb17: ; preds = %bb16 %14 = zext i8 %13 to i32 %15 = call { i32, i1 } @llvm.usub.with.overflow.i32(i32 64, i32 %14) %16 = extractvalue { i32, i1 } %15, 0 %17 = extractvalue { i32, i1 } %15, 1 %18 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %18, label %panic, label %bb18 bb18: ; preds = %bb17 %19 = and i32 %16, -64 %20 = icmp ne i32 %19, 0 %21 = zext i32 %16 to i64 %22 = and i64 %21, 63 %23 = shl i64 1, %22 %24 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %24, label %panic1, label %bb19 bb19: ; preds = %bb18 %25 = icmp eq i64 %23, 0 %26 = call i1 @llvm.expect.i1(i1 %25, i1 false) br i1 %26, label %panic2, label %bb20 bb20: ; preds = %bb19 %27 = urem i64 %11, %23 br label %bb21 bb21: ; preds = %bb20 %28 = icmp eq i64 %23, -9223372036854775808 %29 = and i1 false, %28 %30 = call i1 @llvm.expect.i1(i1 %29, i1 false) br i1 %30, label %panic3, label %bb22 bb22: ; preds = %bb21 %31 = sdiv i64 %23, 2 %32 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 %27, i64 %31) %33 = extractvalue { i64, i1 } %32, 0 %34 = extractvalue { i64, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic4, label %bb23 bb23: ; preds = %bb22 %36 = call i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$3abs17h022b525486993b2fE"(i64 %33) br label %bb24 bb24: ; preds = %bb23 %37 = load i64, i64* %slop %38 = icmp sle i64 %36, %37 br i1 %38, label %bb25, label %bb26 bb25: ; preds = %bb24 %39 = load %"num::bignum::Big32x40"*, %"num::bignum::Big32x40"** %f, !nonnull !1 %40 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg, i32 0, i32 0 store i64 %11, i64* %40 %41 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg, i32 0, i32 1 store i16 %12, i16* %41 %42 = call float @_ZN4core3num7dec2flt5rawfp11fp_to_float17h8ebff213dfed67fcE(%"num::diy_float::Fp"* noalias nocapture dereferenceable(16) %arg) br label %bb27 bb26: ; preds = %bb24 %43 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg5, i32 0, i32 0 store i64 %11, i64* %43 %44 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg5, i32 0, i32 1 store i16 %12, i16* %44 %45 = call float @_ZN4core3num7dec2flt5rawfp11fp_to_float17h8ebff213dfed67fcE(%"num::diy_float::Fp"* noalias nocapture dereferenceable(16) %arg5) store float %45, float* %_0 br label %bb29 bb27: ; preds = %bb25 %46 = call float @_ZN4core3num7dec2flt9algorithm11algorithm_r17h063d72f739a3bf66E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %39, i16 %1, float %42) store float %46, float* %_0 br label %bb28 bb28: ; preds = %bb27 br label %bb30 bb29: ; preds = %bb26 br label %bb30 bb30: ; preds = %bb29, %bb28 %47 = load float, float* %_0 ret float %47 panic: ; preds = %bb17 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.41) unreachable panic1: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.42) unreachable panic2: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.43) unreachable panic3: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.44) unreachable panic4: ; preds = %bb22 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.45) unreachable } ; Function Attrs: uwtable define internal float @_ZN4core3num7dec2flt9algorithm11algorithm_r17h063d72f739a3bf66E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), i16, float) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"num::dec2flt::rawfp::Unpacked" %_94 = alloca i8 %_76 = alloca i8 %_75 = alloca i8 %_72 = alloca %"num::bignum::Big32x40" %d2_double = alloca %"num::bignum::Big32x40" %_67 = alloca %"num::bignum::Big32x40" %y1 = alloca %"num::bignum::Big32x40" %_53 = alloca %"num::bignum::Big32x40" %_38 = alloca { %"num::bignum::Big32x40", i8 } %d2 = alloca %"num::bignum::Big32x40" %m_digits = alloca [2 x i32] %y = alloca %"num::bignum::Big32x40" %x = alloca %"num::bignum::Big32x40" %_14 = alloca { i64, i16 } %_9 = alloca {} %z = alloca float %_0 = alloca float br label %start start: ; preds = %entry-block store float %2, float* %z br label %bb1 bb1: ; preds = %bb62, %start %3 = load float, float* %z call void @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$6unpack17hb23becc08850b65dE"(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret, float %3) %4 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 0 %5 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 1 %6 = load i64, i64* %4 %7 = load i16, i16* %5 br label %bb2 bb2: ; preds = %bb1 %8 = getelementptr inbounds { i64, i16 }, { i64, i16 }* %_14, i32 0, i32 0 store i64 %6, i64* %8 %9 = getelementptr inbounds { i64, i16 }, { i64, i16 }* %_14, i32 0, i32 1 store i16 %7, i16* %9 %10 = getelementptr inbounds { i64, i16 }, { i64, i16 }* %_14, i32 0, i32 0 %11 = load i64, i64* %10 %12 = getelementptr inbounds { i64, i16 }, { i64, i16 }* %_14, i32 0, i32 1 %13 = load i16, i16* %12 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) br label %bb3 bb3: ; preds = %bb2 call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %y, i64 %11) br label %bb4 bb4: ; preds = %bb3 call void @_ZN4core3num7dec2flt9algorithm10make_ratio17hd20539296a7bbddbE(%"num::bignum::Big32x40"* dereferenceable(164) %x, %"num::bignum::Big32x40"* dereferenceable(164) %y, i16 %1, i16 %13) br label %bb5 bb5: ; preds = %bb4 %14 = and i64 %11, 4294967295 %15 = trunc i64 %14 to i32 %16 = lshr i64 %11, 32 br label %bb6 bb6: ; preds = %bb5 %17 = trunc i64 %16 to i32 %18 = getelementptr inbounds [2 x i32], [2 x i32]* %m_digits, i32 0, i32 0 store i32 %15, i32* %18 %19 = getelementptr inbounds [2 x i32], [2 x i32]* %m_digits, i32 0, i32 1 store i32 %17, i32* %19 %20 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %y) br label %bb7 bb7: ; preds = %bb6 br i1 %20, label %bb8, label %bb9 bb8: ; preds = %bb7 %21 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %y) br label %bb10 bb9: ; preds = %bb7 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %y1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %y) br label %bb13 bb10: ; preds = %bb8 %22 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %21, i16 1) br label %bb11 bb11: ; preds = %bb10 %23 = bitcast [2 x i32]* %m_digits to i32* %24 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h944414df05bbbe83E(%"num::bignum::Big32x40"* dereferenceable(164) %22, i32* noalias nonnull readonly %23, i16 2) br label %bb12 bb12: ; preds = %bb11 %25 = bitcast %"num::bignum::Big32x40"* %x to i8* %26 = bitcast %"num::bignum::Big32x40"* %_53 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %25, i16 164, i32 4, i1 false) %27 = getelementptr inbounds { %"num::bignum::Big32x40", i8 }, { %"num::bignum::Big32x40", i8 }* %_38, i32 0, i32 0 %28 = bitcast %"num::bignum::Big32x40"* %_53 to i8* %29 = bitcast %"num::bignum::Big32x40"* %27 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %29, i8* %28, i16 164, i32 4, i1 false) %30 = getelementptr inbounds { %"num::bignum::Big32x40", i8 }, { %"num::bignum::Big32x40", i8 }* %_38, i32 0, i32 1 store i8 0, i8* %30 br label %bb17 bb13: ; preds = %bb9 %31 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %y1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x) br label %bb14 bb14: ; preds = %bb13 %32 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %31, i16 1) br label %bb15 bb15: ; preds = %bb14 %33 = bitcast [2 x i32]* %m_digits to i32* %34 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h944414df05bbbe83E(%"num::bignum::Big32x40"* dereferenceable(164) %32, i32* noalias nonnull readonly %33, i16 2) br label %bb16 bb16: ; preds = %bb15 %35 = bitcast %"num::bignum::Big32x40"* %y1 to i8* %36 = bitcast %"num::bignum::Big32x40"* %_67 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %36, i8* %35, i16 164, i32 4, i1 false) %37 = getelementptr inbounds { %"num::bignum::Big32x40", i8 }, { %"num::bignum::Big32x40", i8 }* %_38, i32 0, i32 0 %38 = bitcast %"num::bignum::Big32x40"* %_67 to i8* %39 = bitcast %"num::bignum::Big32x40"* %37 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %38, i16 164, i32 4, i1 false) %40 = getelementptr inbounds { %"num::bignum::Big32x40", i8 }, { %"num::bignum::Big32x40", i8 }* %_38, i32 0, i32 1 store i8 1, i8* %40 br label %bb17 bb17: ; preds = %bb16, %bb12 %41 = getelementptr inbounds { %"num::bignum::Big32x40", i8 }, { %"num::bignum::Big32x40", i8 }* %_38, i32 0, i32 0 %42 = bitcast %"num::bignum::Big32x40"* %41 to i8* %43 = bitcast %"num::bignum::Big32x40"* %d2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %43, i8* %42, i16 164, i32 4, i1 false) %44 = getelementptr inbounds { %"num::bignum::Big32x40", i8 }, { %"num::bignum::Big32x40", i8 }* %_38, i32 0, i32 1 %45 = load i8, i8* %44, !range !2 %46 = trunc i8 %45 to i1 %47 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h7d894440b0927409E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %d2, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %y) br label %bb18 bb18: ; preds = %bb17 br i1 %47, label %bb19, label %bb20 bb19: ; preds = %bb18 %48 = bitcast %"num::bignum::Big32x40"* %d2 to i8* %49 = bitcast %"num::bignum::Big32x40"* %_72 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %49, i8* %48, i16 164, i32 4, i1 false) %50 = bitcast %"num::bignum::Big32x40"* %_72 to i8* %51 = bitcast %"num::bignum::Big32x40"* %d2_double to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %51, i8* %50, i16 164, i32 4, i1 false) %52 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %d2_double, i16 1) br label %bb21 bb20: ; preds = %bb18 %53 = call zeroext i1 @"_ZN68_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..PartialEq$GT$2eq17hfcfc6510f6a77b06E"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %d2, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %y) br label %bb36 bb21: ; preds = %bb19 %54 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17hac5ea39fdee40fffE() br label %bb30 bb22: ; preds = %bb31 store i8 1, i8* %_75 br label %bb25 bb23: ; preds = %bb31, %bb29 store i8 0, i8* %_75 br label %bb25 bb24: ; preds = %bb29 %55 = call zeroext i1 @_ZN4core3cmp10PartialOrd2gt17h1e650bb015949b28E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %d2_double, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %y) br label %bb31 bb25: ; preds = %bb23, %bb22 %56 = load i8, i8* %_75, !range !2 %57 = trunc i8 %56 to i1 br i1 %57, label %bb32, label %bb33 bb26: ; preds = %bb28 store i8 1, i8* %_76 br label %bb29 bb27: ; preds = %bb28, %bb30 store i8 0, i8* %_76 br label %bb29 bb28: ; preds = %bb30 br i1 %46, label %bb26, label %bb27 bb29: ; preds = %bb27, %bb26 %58 = load i8, i8* %_76, !range !2 %59 = trunc i8 %58 to i1 br i1 %59, label %bb24, label %bb23 bb30: ; preds = %bb21 %60 = icmp eq i64 %11, %54 br i1 %60, label %bb28, label %bb27 bb31: ; preds = %bb24 br i1 %55, label %bb22, label %bb23 bb32: ; preds = %bb25 %61 = load float, float* %z %62 = call float @_ZN4core3num7dec2flt5rawfp10prev_float17hf037808733be5ca3E(float %61) br label %bb34 bb33: ; preds = %bb25 %63 = load float, float* %z store float %63, float* %_0 br label %bb35 bb34: ; preds = %bb32 store float %62, float* %z br label %bb62 bb35: ; preds = %bb48, %bb33 %64 = load float, float* %_0 ret float %64 bb36: ; preds = %bb20 br i1 %53, label %bb37, label %bb38 bb37: ; preds = %bb36 br label %bb39 bb38: ; preds = %bb36 br i1 %46, label %bb56, label %bb57 bb39: ; preds = %bb37 %65 = urem i64 %11, 2 %66 = icmp eq i64 %65, 0 br i1 %66, label %bb40, label %bb41 bb40: ; preds = %bb39 %67 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17hac5ea39fdee40fffE() br label %bb46 bb41: ; preds = %bb39 br i1 %46, label %bb50, label %bb51 bb42: ; preds = %bb44 store i8 1, i8* %_94 br label %bb45 bb43: ; preds = %bb44, %bb46 store i8 0, i8* %_94 br label %bb45 bb44: ; preds = %bb46 br i1 %46, label %bb42, label %bb43 bb45: ; preds = %bb43, %bb42 %68 = load i8, i8* %_94, !range !2 %69 = trunc i8 %68 to i1 br i1 %69, label %bb47, label %bb48 bb46: ; preds = %bb40 %70 = icmp eq i64 %11, %67 br i1 %70, label %bb44, label %bb43 bb47: ; preds = %bb45 %71 = load float, float* %z %72 = call float @_ZN4core3num7dec2flt5rawfp10prev_float17hf037808733be5ca3E(float %71) br label %bb49 bb48: ; preds = %bb45 %73 = load float, float* %z store float %73, float* %_0 br label %bb35 bb49: ; preds = %bb47 store float %72, float* %z br label %bb55 bb50: ; preds = %bb41 %74 = load float, float* %z %75 = call float @_ZN4core3num7dec2flt5rawfp10prev_float17hf037808733be5ca3E(float %74) br label %bb52 bb51: ; preds = %bb41 %76 = load float, float* %z %77 = call float @_ZN4core3num7dec2flt5rawfp10next_float17headddc565aec2051E(float %76) br label %bb53 bb52: ; preds = %bb50 store float %75, float* %z br label %bb54 bb53: ; preds = %bb51 store float %77, float* %z br label %bb54 bb54: ; preds = %bb53, %bb52 br label %bb55 bb55: ; preds = %bb54, %bb49 br label %bb61 bb56: ; preds = %bb38 %78 = load float, float* %z %79 = call float @_ZN4core3num7dec2flt5rawfp10prev_float17hf037808733be5ca3E(float %78) br label %bb58 bb57: ; preds = %bb38 %80 = load float, float* %z %81 = call float @_ZN4core3num7dec2flt5rawfp10next_float17headddc565aec2051E(float %80) br label %bb59 bb58: ; preds = %bb56 store float %79, float* %z br label %bb60 bb59: ; preds = %bb57 store float %81, float* %z br label %bb60 bb60: ; preds = %bb59, %bb58 br label %bb61 bb61: ; preds = %bb60, %bb55 br label %bb62 bb62: ; preds = %bb61, %bb34 br label %bb1 } ; Function Attrs: uwtable define internal double @_ZN4core3num7dec2flt9algorithm11algorithm_r17h2bda60ab69ff911fE(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), i16, double) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"num::dec2flt::rawfp::Unpacked" %_94 = alloca i8 %_76 = alloca i8 %_75 = alloca i8 %_72 = alloca %"num::bignum::Big32x40" %d2_double = alloca %"num::bignum::Big32x40" %_67 = alloca %"num::bignum::Big32x40" %y1 = alloca %"num::bignum::Big32x40" %_53 = alloca %"num::bignum::Big32x40" %_38 = alloca { %"num::bignum::Big32x40", i8 } %d2 = alloca %"num::bignum::Big32x40" %m_digits = alloca [2 x i32] %y = alloca %"num::bignum::Big32x40" %x = alloca %"num::bignum::Big32x40" %_14 = alloca { i64, i16 } %_9 = alloca {} %z = alloca double %_0 = alloca double br label %start start: ; preds = %entry-block store double %2, double* %z br label %bb1 bb1: ; preds = %bb62, %start %3 = load double, double* %z call void @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$6unpack17h4e614533e40a2280E"(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret, double %3) %4 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 0 %5 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 1 %6 = load i64, i64* %4 %7 = load i16, i16* %5 br label %bb2 bb2: ; preds = %bb1 %8 = getelementptr inbounds { i64, i16 }, { i64, i16 }* %_14, i32 0, i32 0 store i64 %6, i64* %8 %9 = getelementptr inbounds { i64, i16 }, { i64, i16 }* %_14, i32 0, i32 1 store i16 %7, i16* %9 %10 = getelementptr inbounds { i64, i16 }, { i64, i16 }* %_14, i32 0, i32 0 %11 = load i64, i64* %10 %12 = getelementptr inbounds { i64, i16 }, { i64, i16 }* %_14, i32 0, i32 1 %13 = load i16, i16* %12 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) br label %bb3 bb3: ; preds = %bb2 call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %y, i64 %11) br label %bb4 bb4: ; preds = %bb3 call void @_ZN4core3num7dec2flt9algorithm10make_ratio17hd20539296a7bbddbE(%"num::bignum::Big32x40"* dereferenceable(164) %x, %"num::bignum::Big32x40"* dereferenceable(164) %y, i16 %1, i16 %13) br label %bb5 bb5: ; preds = %bb4 %14 = and i64 %11, 4294967295 %15 = trunc i64 %14 to i32 %16 = lshr i64 %11, 32 br label %bb6 bb6: ; preds = %bb5 %17 = trunc i64 %16 to i32 %18 = getelementptr inbounds [2 x i32], [2 x i32]* %m_digits, i32 0, i32 0 store i32 %15, i32* %18 %19 = getelementptr inbounds [2 x i32], [2 x i32]* %m_digits, i32 0, i32 1 store i32 %17, i32* %19 %20 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %y) br label %bb7 bb7: ; preds = %bb6 br i1 %20, label %bb8, label %bb9 bb8: ; preds = %bb7 %21 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %y) br label %bb10 bb9: ; preds = %bb7 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %y1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %y) br label %bb13 bb10: ; preds = %bb8 %22 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %21, i16 1) br label %bb11 bb11: ; preds = %bb10 %23 = bitcast [2 x i32]* %m_digits to i32* %24 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h944414df05bbbe83E(%"num::bignum::Big32x40"* dereferenceable(164) %22, i32* noalias nonnull readonly %23, i16 2) br label %bb12 bb12: ; preds = %bb11 %25 = bitcast %"num::bignum::Big32x40"* %x to i8* %26 = bitcast %"num::bignum::Big32x40"* %_53 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %25, i16 164, i32 4, i1 false) %27 = getelementptr inbounds { %"num::bignum::Big32x40", i8 }, { %"num::bignum::Big32x40", i8 }* %_38, i32 0, i32 0 %28 = bitcast %"num::bignum::Big32x40"* %_53 to i8* %29 = bitcast %"num::bignum::Big32x40"* %27 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %29, i8* %28, i16 164, i32 4, i1 false) %30 = getelementptr inbounds { %"num::bignum::Big32x40", i8 }, { %"num::bignum::Big32x40", i8 }* %_38, i32 0, i32 1 store i8 0, i8* %30 br label %bb17 bb13: ; preds = %bb9 %31 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %y1, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x) br label %bb14 bb14: ; preds = %bb13 %32 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %31, i16 1) br label %bb15 bb15: ; preds = %bb14 %33 = bitcast [2 x i32]* %m_digits to i32* %34 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h944414df05bbbe83E(%"num::bignum::Big32x40"* dereferenceable(164) %32, i32* noalias nonnull readonly %33, i16 2) br label %bb16 bb16: ; preds = %bb15 %35 = bitcast %"num::bignum::Big32x40"* %y1 to i8* %36 = bitcast %"num::bignum::Big32x40"* %_67 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %36, i8* %35, i16 164, i32 4, i1 false) %37 = getelementptr inbounds { %"num::bignum::Big32x40", i8 }, { %"num::bignum::Big32x40", i8 }* %_38, i32 0, i32 0 %38 = bitcast %"num::bignum::Big32x40"* %_67 to i8* %39 = bitcast %"num::bignum::Big32x40"* %37 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %38, i16 164, i32 4, i1 false) %40 = getelementptr inbounds { %"num::bignum::Big32x40", i8 }, { %"num::bignum::Big32x40", i8 }* %_38, i32 0, i32 1 store i8 1, i8* %40 br label %bb17 bb17: ; preds = %bb16, %bb12 %41 = getelementptr inbounds { %"num::bignum::Big32x40", i8 }, { %"num::bignum::Big32x40", i8 }* %_38, i32 0, i32 0 %42 = bitcast %"num::bignum::Big32x40"* %41 to i8* %43 = bitcast %"num::bignum::Big32x40"* %d2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %43, i8* %42, i16 164, i32 4, i1 false) %44 = getelementptr inbounds { %"num::bignum::Big32x40", i8 }, { %"num::bignum::Big32x40", i8 }* %_38, i32 0, i32 1 %45 = load i8, i8* %44, !range !2 %46 = trunc i8 %45 to i1 %47 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h7d894440b0927409E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %d2, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %y) br label %bb18 bb18: ; preds = %bb17 br i1 %47, label %bb19, label %bb20 bb19: ; preds = %bb18 %48 = bitcast %"num::bignum::Big32x40"* %d2 to i8* %49 = bitcast %"num::bignum::Big32x40"* %_72 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %49, i8* %48, i16 164, i32 4, i1 false) %50 = bitcast %"num::bignum::Big32x40"* %_72 to i8* %51 = bitcast %"num::bignum::Big32x40"* %d2_double to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %51, i8* %50, i16 164, i32 4, i1 false) %52 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %d2_double, i16 1) br label %bb21 bb20: ; preds = %bb18 %53 = call zeroext i1 @"_ZN68_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..PartialEq$GT$2eq17hfcfc6510f6a77b06E"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %d2, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %y) br label %bb36 bb21: ; preds = %bb19 %54 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17h7e992c3c7d1fef9eE() br label %bb30 bb22: ; preds = %bb31 store i8 1, i8* %_75 br label %bb25 bb23: ; preds = %bb31, %bb29 store i8 0, i8* %_75 br label %bb25 bb24: ; preds = %bb29 %55 = call zeroext i1 @_ZN4core3cmp10PartialOrd2gt17h1e650bb015949b28E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %d2_double, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %y) br label %bb31 bb25: ; preds = %bb23, %bb22 %56 = load i8, i8* %_75, !range !2 %57 = trunc i8 %56 to i1 br i1 %57, label %bb32, label %bb33 bb26: ; preds = %bb28 store i8 1, i8* %_76 br label %bb29 bb27: ; preds = %bb28, %bb30 store i8 0, i8* %_76 br label %bb29 bb28: ; preds = %bb30 br i1 %46, label %bb26, label %bb27 bb29: ; preds = %bb27, %bb26 %58 = load i8, i8* %_76, !range !2 %59 = trunc i8 %58 to i1 br i1 %59, label %bb24, label %bb23 bb30: ; preds = %bb21 %60 = icmp eq i64 %11, %54 br i1 %60, label %bb28, label %bb27 bb31: ; preds = %bb24 br i1 %55, label %bb22, label %bb23 bb32: ; preds = %bb25 %61 = load double, double* %z %62 = call double @_ZN4core3num7dec2flt5rawfp10prev_float17hb9ca1a8367ddfc10E(double %61) br label %bb34 bb33: ; preds = %bb25 %63 = load double, double* %z store double %63, double* %_0 br label %bb35 bb34: ; preds = %bb32 store double %62, double* %z br label %bb62 bb35: ; preds = %bb48, %bb33 %64 = load double, double* %_0 ret double %64 bb36: ; preds = %bb20 br i1 %53, label %bb37, label %bb38 bb37: ; preds = %bb36 br label %bb39 bb38: ; preds = %bb36 br i1 %46, label %bb56, label %bb57 bb39: ; preds = %bb37 %65 = urem i64 %11, 2 %66 = icmp eq i64 %65, 0 br i1 %66, label %bb40, label %bb41 bb40: ; preds = %bb39 %67 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17h7e992c3c7d1fef9eE() br label %bb46 bb41: ; preds = %bb39 br i1 %46, label %bb50, label %bb51 bb42: ; preds = %bb44 store i8 1, i8* %_94 br label %bb45 bb43: ; preds = %bb44, %bb46 store i8 0, i8* %_94 br label %bb45 bb44: ; preds = %bb46 br i1 %46, label %bb42, label %bb43 bb45: ; preds = %bb43, %bb42 %68 = load i8, i8* %_94, !range !2 %69 = trunc i8 %68 to i1 br i1 %69, label %bb47, label %bb48 bb46: ; preds = %bb40 %70 = icmp eq i64 %11, %67 br i1 %70, label %bb44, label %bb43 bb47: ; preds = %bb45 %71 = load double, double* %z %72 = call double @_ZN4core3num7dec2flt5rawfp10prev_float17hb9ca1a8367ddfc10E(double %71) br label %bb49 bb48: ; preds = %bb45 %73 = load double, double* %z store double %73, double* %_0 br label %bb35 bb49: ; preds = %bb47 store double %72, double* %z br label %bb55 bb50: ; preds = %bb41 %74 = load double, double* %z %75 = call double @_ZN4core3num7dec2flt5rawfp10prev_float17hb9ca1a8367ddfc10E(double %74) br label %bb52 bb51: ; preds = %bb41 %76 = load double, double* %z %77 = call double @_ZN4core3num7dec2flt5rawfp10next_float17haa5d022ec96d40ceE(double %76) br label %bb53 bb52: ; preds = %bb50 store double %75, double* %z br label %bb54 bb53: ; preds = %bb51 store double %77, double* %z br label %bb54 bb54: ; preds = %bb53, %bb52 br label %bb55 bb55: ; preds = %bb54, %bb49 br label %bb61 bb56: ; preds = %bb38 %78 = load double, double* %z %79 = call double @_ZN4core3num7dec2flt5rawfp10prev_float17hb9ca1a8367ddfc10E(double %78) br label %bb58 bb57: ; preds = %bb38 %80 = load double, double* %z %81 = call double @_ZN4core3num7dec2flt5rawfp10next_float17haa5d022ec96d40ceE(double %80) br label %bb59 bb58: ; preds = %bb56 store double %79, double* %z br label %bb60 bb59: ; preds = %bb57 store double %81, double* %z br label %bb60 bb60: ; preds = %bb59, %bb58 br label %bb61 bb61: ; preds = %bb60, %bb55 br label %bb62 bb62: ; preds = %bb61, %bb34 br label %bb1 } ; Function Attrs: uwtable define void @_ZN4core3num7dec2flt9algorithm10make_ratio17hd20539296a7bbddbE(%"num::bignum::Big32x40"* dereferenceable(164), %"num::bignum::Big32x40"* dereferenceable(164), i16, i16) unnamed_addr #1 { entry-block: %_11 = alloca { i16, i16 } %_0 = alloca {} br label %start start: ; preds = %entry-block %4 = call i16 @"_ZN4core3num21_$LT$impl$u20$i16$GT$3abs17hf64670bac754becdE"(i16 %2) br label %bb1 bb1: ; preds = %start %5 = call i16 @"_ZN4core3num21_$LT$impl$u20$i16$GT$3abs17hf64670bac754becdE"(i16 %3) br label %bb2 bb2: ; preds = %bb1 %6 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_11, i32 0, i32 0 store i16 %4, i16* %6 %7 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_11, i32 0, i32 1 store i16 %5, i16* %7 %8 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_11, i32 0, i32 0 %9 = load i16, i16* %8 %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_11, i32 0, i32 1 %11 = load i16, i16* %10 %12 = icmp sge i16 %2, 0 br i1 %12, label %bb3, label %bb4 bb3: ; preds = %bb2 %13 = icmp sge i16 %3, 0 br i1 %13, label %bb5, label %bb6 bb4: ; preds = %bb2 %14 = icmp sge i16 %3, 0 br i1 %14, label %bb17, label %bb18 bb5: ; preds = %bb3 %15 = call i16 @_ZN4core3cmp3min17h1e7efd6f790a1e21E(i16 %9, i16 %11) br label %bb7 bb6: ; preds = %bb3 %16 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517hbf03401025bdf13aE(%"num::bignum::Big32x40"* dereferenceable(164) %0, i16 %9) br label %bb13 bb7: ; preds = %bb5 %17 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517hbf03401025bdf13aE(%"num::bignum::Big32x40"* dereferenceable(164) %0, i16 %9) br label %bb8 bb8: ; preds = %bb7 %18 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %9, i16 %15) %19 = extractvalue { i16, i1 } %18, 0 %20 = extractvalue { i16, i1 } %18, 1 %21 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %21, label %panic, label %bb9 bb9: ; preds = %bb8 %22 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %17, i16 %19) br label %bb10 bb10: ; preds = %bb9 %23 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %11, i16 %15) %24 = extractvalue { i16, i1 } %23, 0 %25 = extractvalue { i16, i1 } %23, 1 %26 = call i1 @llvm.expect.i1(i1 %25, i1 false) br i1 %26, label %panic1, label %bb11 bb11: ; preds = %bb10 %27 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %1, i16 %24) br label %bb12 bb12: ; preds = %bb11 br label %bb16 bb13: ; preds = %bb6 %28 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %9, i16 %11) %29 = extractvalue { i16, i1 } %28, 0 %30 = extractvalue { i16, i1 } %28, 1 %31 = call i1 @llvm.expect.i1(i1 %30, i1 false) br i1 %31, label %panic2, label %bb14 bb14: ; preds = %bb13 %32 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %16, i16 %29) br label %bb15 bb15: ; preds = %bb14 br label %bb16 bb16: ; preds = %bb15, %bb12 br label %bb29 bb17: ; preds = %bb4 %33 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517hbf03401025bdf13aE(%"num::bignum::Big32x40"* dereferenceable(164) %1, i16 %9) br label %bb19 bb18: ; preds = %bb4 %34 = call i16 @_ZN4core3cmp3min17h1e7efd6f790a1e21E(i16 %9, i16 %11) br label %bb22 bb19: ; preds = %bb17 %35 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %11, i16 %9) %36 = extractvalue { i16, i1 } %35, 0 %37 = extractvalue { i16, i1 } %35, 1 %38 = call i1 @llvm.expect.i1(i1 %37, i1 false) br i1 %38, label %panic3, label %bb20 bb20: ; preds = %bb19 %39 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %33, i16 %36) br label %bb21 bb21: ; preds = %bb20 br label %bb28 bb22: ; preds = %bb18 %40 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %11, i16 %34) %41 = extractvalue { i16, i1 } %40, 0 %42 = extractvalue { i16, i1 } %40, 1 %43 = call i1 @llvm.expect.i1(i1 %42, i1 false) br i1 %43, label %panic4, label %bb23 bb23: ; preds = %bb22 %44 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %0, i16 %41) br label %bb24 bb24: ; preds = %bb23 %45 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517hbf03401025bdf13aE(%"num::bignum::Big32x40"* dereferenceable(164) %1, i16 %9) br label %bb25 bb25: ; preds = %bb24 %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %9, i16 %34) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic5, label %bb26 bb26: ; preds = %bb25 %50 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %45, i16 %47) br label %bb27 bb27: ; preds = %bb26 br label %bb28 bb28: ; preds = %bb27, %bb21 br label %bb29 bb29: ; preds = %bb28, %bb16 ret void panic: ; preds = %bb8 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.46) unreachable panic1: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.47) unreachable panic2: ; preds = %bb13 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.48) unreachable panic3: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.49) unreachable panic4: ; preds = %bb22 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4a) unreachable panic5: ; preds = %bb25 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4b) unreachable } ; Function Attrs: uwtable define internal float @_ZN4core3num7dec2flt9algorithm11algorithm_m17hbcb68903a02edad3E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), i16) unnamed_addr #1 { entry-block: %arg = alloca %"num::dec2flt::rawfp::Unpacked" %tmp_ret = alloca %"num::dec2flt::rawfp::Unpacked" %_94 = alloca %"num::bignum::Big32x40" %_93 = alloca %"num::bignum::Big32x40" %_70 = alloca {} %_69 = alloca %"num::bignum::Big32x40" %_68 = alloca %"num::bignum::Big32x40" %_67 = alloca %"num::bignum::Big32x40" %_60 = alloca i8 %_59 = alloca {} %_55 = alloca {} %_46 = alloca {} %_45 = alloca {} %max_sig = alloca %"num::bignum::Big32x40" %min_sig = alloca %"num::bignum::Big32x40" %x = alloca %"num::bignum::Big32x40" %rem = alloca %"num::bignum::Big32x40" %_31 = alloca %"num::bignum::Big32x40" %_23 = alloca %"num::bignum::Big32x40" %_16 = alloca %"num::bignum::Big32x40" %_14 = alloca %"num::bignum::Big32x40" %_11 = alloca {} %k = alloca i16 %v = alloca %"num::bignum::Big32x40" %u = alloca %"num::bignum::Big32x40" %_0 = alloca float br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN4core3num21_$LT$impl$u20$i16$GT$3abs17hf64670bac754becdE"(i16 %1) br label %bb1 bb1: ; preds = %start store i16 0, i16* %k %3 = icmp slt i16 %1, 0 br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_14, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) br label %bb4 bb3: ; preds = %bb1 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_23, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) br label %bb8 bb4: ; preds = %bb2 %4 = bitcast %"num::bignum::Big32x40"* %_14 to i8* %5 = bitcast %"num::bignum::Big32x40"* %u to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 164, i32 4, i1 false) call void @_ZN4core3num6bignum8Big32x4010from_small17h197cc74323061977E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_16, i32 1) br label %bb5 bb5: ; preds = %bb4 %6 = bitcast %"num::bignum::Big32x40"* %_16 to i8* %7 = bitcast %"num::bignum::Big32x40"* %v to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 164, i32 4, i1 false) %8 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517hbf03401025bdf13aE(%"num::bignum::Big32x40"* dereferenceable(164) %v, i16 %2) br label %bb6 bb6: ; preds = %bb5 %9 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %8, i16 %2) br label %bb7 bb7: ; preds = %bb6 br label %bb12 bb8: ; preds = %bb3 %10 = bitcast %"num::bignum::Big32x40"* %_23 to i8* %11 = bitcast %"num::bignum::Big32x40"* %u to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 164, i32 4, i1 false) %12 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517hbf03401025bdf13aE(%"num::bignum::Big32x40"* dereferenceable(164) %u, i16 %2) br label %bb9 bb9: ; preds = %bb8 %13 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %12, i16 %2) br label %bb10 bb10: ; preds = %bb9 call void @_ZN4core3num6bignum8Big32x4010from_small17h197cc74323061977E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_31, i32 1) br label %bb11 bb11: ; preds = %bb10 %14 = bitcast %"num::bignum::Big32x40"* %_31 to i8* %15 = bitcast %"num::bignum::Big32x40"* %v to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %14, i16 164, i32 4, i1 false) br label %bb12 bb12: ; preds = %bb11, %bb7 call void @_ZN4core3num7dec2flt9algorithm11quick_start17hfd3128f5aff95ff0E(%"num::bignum::Big32x40"* dereferenceable(164) %u, %"num::bignum::Big32x40"* dereferenceable(164) %v, i16* dereferenceable(2) %k) br label %bb13 bb13: ; preds = %bb12 call void @_ZN4core3num6bignum8Big32x4010from_small17h197cc74323061977E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %rem, i32 0) br label %bb14 bb14: ; preds = %bb13 call void @_ZN4core3num6bignum8Big32x4010from_small17h197cc74323061977E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %x, i32 0) br label %bb15 bb15: ; preds = %bb14 %16 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17hac5ea39fdee40fffE() br label %bb16 bb16: ; preds = %bb15 call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %min_sig, i64 %16) br label %bb17 bb17: ; preds = %bb16 %17 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h9b573e6bf7d72a83E() br label %bb18 bb18: ; preds = %bb17 call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %max_sig, i64 %17) br label %bb19 bb19: ; preds = %bb18 br label %bb20 bb20: ; preds = %bb51, %bb19 call void @_ZN4core3num6bignum8Big32x407div_rem17h031c011104ba3126E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %u, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %v, %"num::bignum::Big32x40"* dereferenceable(164) %x, %"num::bignum::Big32x40"* dereferenceable(164) %rem) br label %bb21 bb21: ; preds = %bb20 %18 = load i16, i16* %k %19 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11min_exp_int17h0c6d68792df9dc6eE() br label %bb22 bb22: ; preds = %bb21 %20 = icmp eq i16 %18, %19 br i1 %20, label %bb23, label %bb24 bb23: ; preds = %bb22 %21 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %min_sig) br label %bb29 bb24: ; preds = %bb22 %22 = load i16, i16* %k %23 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11max_exp_int17hcca15dfccf8a6293E() br label %bb37 bb25: ; preds = %bb30 store i8 1, i8* %_60 br label %bb28 bb26: ; preds = %bb30, %bb29 store i8 0, i8* %_60 br label %bb28 bb27: ; preds = %bb29 %24 = call zeroext i1 @_ZN4core3cmp10PartialOrd2le17hce34067e55ecf7beE(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %max_sig) br label %bb30 bb28: ; preds = %bb26, %bb25 %25 = load i8, i8* %_60, !range !2 %26 = trunc i8 %25 to i1 br i1 %26, label %bb31, label %bb32 bb29: ; preds = %bb23 br i1 %21, label %bb27, label %bb26 bb30: ; preds = %bb27 br i1 %24, label %bb25, label %bb26 bb31: ; preds = %bb28 br label %bb33 bb32: ; preds = %bb28 %27 = bitcast %"num::bignum::Big32x40"* %x to i8* %28 = bitcast %"num::bignum::Big32x40"* %_67 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %27, i16 164, i32 4, i1 false) %29 = bitcast %"num::bignum::Big32x40"* %v to i8* %30 = bitcast %"num::bignum::Big32x40"* %_68 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %29, i16 164, i32 4, i1 false) %31 = bitcast %"num::bignum::Big32x40"* %rem to i8* %32 = bitcast %"num::bignum::Big32x40"* %_69 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %32, i8* %31, i16 164, i32 4, i1 false) %33 = call float @_ZN4core3num7dec2flt9algorithm9underflow17ha491f0b98d146c87E(%"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_67, %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_68, %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_69) store float %33, float* %_0 br label %bb34 bb33: ; preds = %bb48, %bb31 %34 = call i64 @_ZN4core3num7dec2flt3num6to_u6417h9146108b06b62ae4E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x) br label %bb52 bb34: ; preds = %bb32 br label %bb36 bb35: ; preds = %bb55, %bb36 %35 = load float, float* %_0 ret float %35 bb36: ; preds = %bb40, %bb34 br label %bb35 bb37: ; preds = %bb24 %36 = icmp sgt i16 %22, %23 br i1 %36, label %bb38, label %bb39 bb38: ; preds = %bb37 %37 = call float @_ZN4core3num7dec2flt5rawfp8RawFloat9infinity217h57cd4ed2f068b3deE() store float %37, float* %_0 br label %bb40 bb39: ; preds = %bb37 %38 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h7d894440b0927409E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %min_sig) br label %bb41 bb40: ; preds = %bb38 br label %bb36 bb41: ; preds = %bb39 br i1 %38, label %bb42, label %bb43 bb42: ; preds = %bb41 %39 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %u, i16 1) br label %bb44 bb43: ; preds = %bb41 %40 = call zeroext i1 @_ZN4core3cmp10PartialOrd2gt17h1e650bb015949b28E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %max_sig) br label %bb46 bb44: ; preds = %bb42 %41 = load i16, i16* %k %42 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %41, i16 1) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic, label %bb45 bb45: ; preds = %bb44 store i16 %43, i16* %k br label %bb51 bb46: ; preds = %bb43 br i1 %40, label %bb47, label %bb48 bb47: ; preds = %bb46 %46 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %v, i16 1) br label %bb49 bb48: ; preds = %bb46 br label %bb33 bb49: ; preds = %bb47 %47 = load i16, i16* %k %48 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %47, i16 1) %49 = extractvalue { i16, i1 } %48, 0 %50 = extractvalue { i16, i1 } %48, 1 %51 = call i1 @llvm.expect.i1(i1 %50, i1 false) br i1 %51, label %panic1, label %bb50 bb50: ; preds = %bb49 store i16 %49, i16* %k br label %bb51 bb51: ; preds = %bb50, %bb45 br label %bb20 bb52: ; preds = %bb33 %52 = load i16, i16* %k call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret, i64 %34, i16 %52) %53 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 0 %54 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 1 %55 = load i64, i64* %53 %56 = load i16, i16* %54 br label %bb53 bb53: ; preds = %bb52 %57 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg, i32 0, i32 0 store i64 %55, i64* %57 %58 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg, i32 0, i32 1 store i16 %56, i16* %58 %59 = call float @_ZN4core3num7dec2flt5rawfp13encode_normal17h004dd859b47b5bedE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture dereferenceable(16) %arg) br label %bb54 bb54: ; preds = %bb53 %60 = bitcast %"num::bignum::Big32x40"* %v to i8* %61 = bitcast %"num::bignum::Big32x40"* %_93 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %61, i8* %60, i16 164, i32 4, i1 false) %62 = bitcast %"num::bignum::Big32x40"* %rem to i8* %63 = bitcast %"num::bignum::Big32x40"* %_94 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %63, i8* %62, i16 164, i32 4, i1 false) %64 = call float @_ZN4core3num7dec2flt9algorithm18round_by_remainder17h2f32aa522989a341E(%"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_93, %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_94, i64 %34, float %59) store float %64, float* %_0 br label %bb55 bb55: ; preds = %bb54 br label %bb35 panic: ; preds = %bb44 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4c) unreachable panic1: ; preds = %bb49 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4d) unreachable } ; Function Attrs: uwtable define internal double @_ZN4core3num7dec2flt9algorithm11algorithm_m17he11419aa130028fbE(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), i16) unnamed_addr #1 { entry-block: %arg = alloca %"num::dec2flt::rawfp::Unpacked" %tmp_ret = alloca %"num::dec2flt::rawfp::Unpacked" %_94 = alloca %"num::bignum::Big32x40" %_93 = alloca %"num::bignum::Big32x40" %_70 = alloca {} %_69 = alloca %"num::bignum::Big32x40" %_68 = alloca %"num::bignum::Big32x40" %_67 = alloca %"num::bignum::Big32x40" %_60 = alloca i8 %_59 = alloca {} %_55 = alloca {} %_46 = alloca {} %_45 = alloca {} %max_sig = alloca %"num::bignum::Big32x40" %min_sig = alloca %"num::bignum::Big32x40" %x = alloca %"num::bignum::Big32x40" %rem = alloca %"num::bignum::Big32x40" %_31 = alloca %"num::bignum::Big32x40" %_23 = alloca %"num::bignum::Big32x40" %_16 = alloca %"num::bignum::Big32x40" %_14 = alloca %"num::bignum::Big32x40" %_11 = alloca {} %k = alloca i16 %v = alloca %"num::bignum::Big32x40" %u = alloca %"num::bignum::Big32x40" %_0 = alloca double br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN4core3num21_$LT$impl$u20$i16$GT$3abs17hf64670bac754becdE"(i16 %1) br label %bb1 bb1: ; preds = %start store i16 0, i16* %k %3 = icmp slt i16 %1, 0 br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_14, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) br label %bb4 bb3: ; preds = %bb1 call void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_23, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) br label %bb8 bb4: ; preds = %bb2 %4 = bitcast %"num::bignum::Big32x40"* %_14 to i8* %5 = bitcast %"num::bignum::Big32x40"* %u to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 164, i32 4, i1 false) call void @_ZN4core3num6bignum8Big32x4010from_small17h197cc74323061977E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_16, i32 1) br label %bb5 bb5: ; preds = %bb4 %6 = bitcast %"num::bignum::Big32x40"* %_16 to i8* %7 = bitcast %"num::bignum::Big32x40"* %v to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 164, i32 4, i1 false) %8 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517hbf03401025bdf13aE(%"num::bignum::Big32x40"* dereferenceable(164) %v, i16 %2) br label %bb6 bb6: ; preds = %bb5 %9 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %8, i16 %2) br label %bb7 bb7: ; preds = %bb6 br label %bb12 bb8: ; preds = %bb3 %10 = bitcast %"num::bignum::Big32x40"* %_23 to i8* %11 = bitcast %"num::bignum::Big32x40"* %u to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 164, i32 4, i1 false) %12 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517hbf03401025bdf13aE(%"num::bignum::Big32x40"* dereferenceable(164) %u, i16 %2) br label %bb9 bb9: ; preds = %bb8 %13 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %12, i16 %2) br label %bb10 bb10: ; preds = %bb9 call void @_ZN4core3num6bignum8Big32x4010from_small17h197cc74323061977E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_31, i32 1) br label %bb11 bb11: ; preds = %bb10 %14 = bitcast %"num::bignum::Big32x40"* %_31 to i8* %15 = bitcast %"num::bignum::Big32x40"* %v to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %14, i16 164, i32 4, i1 false) br label %bb12 bb12: ; preds = %bb11, %bb7 call void @_ZN4core3num7dec2flt9algorithm11quick_start17h1dca2dcab4ebb10fE(%"num::bignum::Big32x40"* dereferenceable(164) %u, %"num::bignum::Big32x40"* dereferenceable(164) %v, i16* dereferenceable(2) %k) br label %bb13 bb13: ; preds = %bb12 call void @_ZN4core3num6bignum8Big32x4010from_small17h197cc74323061977E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %rem, i32 0) br label %bb14 bb14: ; preds = %bb13 call void @_ZN4core3num6bignum8Big32x4010from_small17h197cc74323061977E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %x, i32 0) br label %bb15 bb15: ; preds = %bb14 %16 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17h7e992c3c7d1fef9eE() br label %bb16 bb16: ; preds = %bb15 call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %min_sig, i64 %16) br label %bb17 bb17: ; preds = %bb16 %17 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h806f12b9bb97dc72E() br label %bb18 bb18: ; preds = %bb17 call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %max_sig, i64 %17) br label %bb19 bb19: ; preds = %bb18 br label %bb20 bb20: ; preds = %bb51, %bb19 call void @_ZN4core3num6bignum8Big32x407div_rem17h031c011104ba3126E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %u, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %v, %"num::bignum::Big32x40"* dereferenceable(164) %x, %"num::bignum::Big32x40"* dereferenceable(164) %rem) br label %bb21 bb21: ; preds = %bb20 %18 = load i16, i16* %k %19 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11min_exp_int17h248f99e7bee52b64E() br label %bb22 bb22: ; preds = %bb21 %20 = icmp eq i16 %18, %19 br i1 %20, label %bb23, label %bb24 bb23: ; preds = %bb22 %21 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %min_sig) br label %bb29 bb24: ; preds = %bb22 %22 = load i16, i16* %k %23 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11max_exp_int17h3f59148c83086206E() br label %bb37 bb25: ; preds = %bb30 store i8 1, i8* %_60 br label %bb28 bb26: ; preds = %bb30, %bb29 store i8 0, i8* %_60 br label %bb28 bb27: ; preds = %bb29 %24 = call zeroext i1 @_ZN4core3cmp10PartialOrd2le17hce34067e55ecf7beE(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %max_sig) br label %bb30 bb28: ; preds = %bb26, %bb25 %25 = load i8, i8* %_60, !range !2 %26 = trunc i8 %25 to i1 br i1 %26, label %bb31, label %bb32 bb29: ; preds = %bb23 br i1 %21, label %bb27, label %bb26 bb30: ; preds = %bb27 br i1 %24, label %bb25, label %bb26 bb31: ; preds = %bb28 br label %bb33 bb32: ; preds = %bb28 %27 = bitcast %"num::bignum::Big32x40"* %x to i8* %28 = bitcast %"num::bignum::Big32x40"* %_67 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %27, i16 164, i32 4, i1 false) %29 = bitcast %"num::bignum::Big32x40"* %v to i8* %30 = bitcast %"num::bignum::Big32x40"* %_68 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %29, i16 164, i32 4, i1 false) %31 = bitcast %"num::bignum::Big32x40"* %rem to i8* %32 = bitcast %"num::bignum::Big32x40"* %_69 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %32, i8* %31, i16 164, i32 4, i1 false) %33 = call double @_ZN4core3num7dec2flt9algorithm9underflow17h0d269ec4bb15e486E(%"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_67, %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_68, %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_69) store double %33, double* %_0 br label %bb34 bb33: ; preds = %bb48, %bb31 %34 = call i64 @_ZN4core3num7dec2flt3num6to_u6417h9146108b06b62ae4E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x) br label %bb52 bb34: ; preds = %bb32 br label %bb36 bb35: ; preds = %bb55, %bb36 %35 = load double, double* %_0 ret double %35 bb36: ; preds = %bb40, %bb34 br label %bb35 bb37: ; preds = %bb24 %36 = icmp sgt i16 %22, %23 br i1 %36, label %bb38, label %bb39 bb38: ; preds = %bb37 %37 = call double @_ZN4core3num7dec2flt5rawfp8RawFloat9infinity217h22c80218d96fc81dE() store double %37, double* %_0 br label %bb40 bb39: ; preds = %bb37 %38 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h7d894440b0927409E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %min_sig) br label %bb41 bb40: ; preds = %bb38 br label %bb36 bb41: ; preds = %bb39 br i1 %38, label %bb42, label %bb43 bb42: ; preds = %bb41 %39 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %u, i16 1) br label %bb44 bb43: ; preds = %bb41 %40 = call zeroext i1 @_ZN4core3cmp10PartialOrd2gt17h1e650bb015949b28E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %max_sig) br label %bb46 bb44: ; preds = %bb42 %41 = load i16, i16* %k %42 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %41, i16 1) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic, label %bb45 bb45: ; preds = %bb44 store i16 %43, i16* %k br label %bb51 bb46: ; preds = %bb43 br i1 %40, label %bb47, label %bb48 bb47: ; preds = %bb46 %46 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %v, i16 1) br label %bb49 bb48: ; preds = %bb46 br label %bb33 bb49: ; preds = %bb47 %47 = load i16, i16* %k %48 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %47, i16 1) %49 = extractvalue { i16, i1 } %48, 0 %50 = extractvalue { i16, i1 } %48, 1 %51 = call i1 @llvm.expect.i1(i1 %50, i1 false) br i1 %51, label %panic1, label %bb50 bb50: ; preds = %bb49 store i16 %49, i16* %k br label %bb51 bb51: ; preds = %bb50, %bb45 br label %bb20 bb52: ; preds = %bb33 %52 = load i16, i16* %k call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret, i64 %34, i16 %52) %53 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 0 %54 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 1 %55 = load i64, i64* %53 %56 = load i16, i16* %54 br label %bb53 bb53: ; preds = %bb52 %57 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg, i32 0, i32 0 store i64 %55, i64* %57 %58 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg, i32 0, i32 1 store i16 %56, i16* %58 %59 = call double @_ZN4core3num7dec2flt5rawfp13encode_normal17h16c47613bacc3439E(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture dereferenceable(16) %arg) br label %bb54 bb54: ; preds = %bb53 %60 = bitcast %"num::bignum::Big32x40"* %v to i8* %61 = bitcast %"num::bignum::Big32x40"* %_93 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %61, i8* %60, i16 164, i32 4, i1 false) %62 = bitcast %"num::bignum::Big32x40"* %rem to i8* %63 = bitcast %"num::bignum::Big32x40"* %_94 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %63, i8* %62, i16 164, i32 4, i1 false) %64 = call double @_ZN4core3num7dec2flt9algorithm18round_by_remainder17h38d4c1a2f4f4807fE(%"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_93, %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_94, i64 %34, double %59) store double %64, double* %_0 br label %bb55 bb55: ; preds = %bb54 br label %bb35 panic: ; preds = %bb44 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4c) unreachable panic1: ; preds = %bb49 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4d) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt9algorithm11quick_start17h1dca2dcab4ebb10fE(%"num::bignum::Big32x40"* dereferenceable(164), %"num::bignum::Big32x40"* dereferenceable(164), i16* dereferenceable(2)) unnamed_addr #1 { entry-block: %_29 = alloca {} %_25 = alloca {} %_24 = alloca {} %_23 = alloca {} %_17 = alloca {} %v_shift = alloca i16 %u_shift = alloca i16 %_0 = alloca {} br label %start start: ; preds = %entry-block %3 = call i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h6883bf0cf56ef461E"() br label %bb1 bb1: ; preds = %start %4 = zext i8 %3 to i16 %5 = call i16 @_ZN4core3num6bignum8Big32x4010bit_length17he343880f864358b8E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) br label %bb2 bb2: ; preds = %bb1 %6 = call i16 @_ZN4core3num6bignum8Big32x4010bit_length17he343880f864358b8E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1) br label %bb3 bb3: ; preds = %bb2 store i16 0, i16* %u_shift store i16 0, i16* %v_shift %7 = load i16, i16* %2 %8 = icmp eq i16 %7, 0 %9 = xor i1 %8, true br i1 %9, label %bb4, label %bb5 bb4: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt9algorithm11quick_start14_MSG_FILE_LINE17h66da1ee386959d6aE) unreachable bb5: ; preds = %bb3 br label %bb6 bb6: ; preds = %bb27, %bb5 %10 = load i16, i16* %2 %11 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11min_exp_int17h248f99e7bee52b64E() br label %bb7 bb7: ; preds = %bb6 %12 = icmp eq i16 %10, %11 br i1 %12, label %bb8, label %bb9 bb8: ; preds = %bb7 br label %bb10 bb9: ; preds = %bb7 %13 = load i16, i16* %2 %14 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11max_exp_int17h3f59148c83086206E() br label %bb11 bb10: ; preds = %bb24, %bb12, %bb8 %15 = load i16, i16* %u_shift %16 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %0, i16 %15) br label %bb28 bb11: ; preds = %bb9 %17 = icmp eq i16 %13, %14 br i1 %17, label %bb12, label %bb13 bb12: ; preds = %bb11 br label %bb10 bb13: ; preds = %bb11 %18 = load i16, i16* %u_shift %19 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %5, i16 %18) %20 = extractvalue { i16, i1 } %19, 0 %21 = extractvalue { i16, i1 } %19, 1 %22 = call i1 @llvm.expect.i1(i1 %21, i1 false) br i1 %22, label %panic, label %bb14 bb14: ; preds = %bb13 %23 = load i16, i16* %v_shift %24 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %6, i16 %23) %25 = extractvalue { i16, i1 } %24, 0 %26 = extractvalue { i16, i1 } %24, 1 %27 = call i1 @llvm.expect.i1(i1 %26, i1 false) br i1 %27, label %panic1, label %bb15 bb15: ; preds = %bb14 %28 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %20, i16 %25) %29 = extractvalue { i16, i1 } %28, 0 %30 = extractvalue { i16, i1 } %28, 1 %31 = call i1 @llvm.expect.i1(i1 %30, i1 false) br i1 %31, label %panic2, label %bb16 bb16: ; preds = %bb15 %32 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %4, i16 1) %33 = extractvalue { i16, i1 } %32, 0 %34 = extractvalue { i16, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic3, label %bb17 bb17: ; preds = %bb16 %36 = icmp slt i16 %29, %33 br i1 %36, label %bb18, label %bb19 bb18: ; preds = %bb17 %37 = load i16, i16* %u_shift %38 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %37, i16 1) %39 = extractvalue { i16, i1 } %38, 0 %40 = extractvalue { i16, i1 } %38, 1 %41 = call i1 @llvm.expect.i1(i1 %40, i1 false) br i1 %41, label %panic4, label %bb20 bb19: ; preds = %bb17 %42 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %4, i16 1) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic6, label %bb22 bb20: ; preds = %bb18 store i16 %39, i16* %u_shift %46 = load i16, i16* %2 %47 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %46, i16 1) %48 = extractvalue { i16, i1 } %47, 0 %49 = extractvalue { i16, i1 } %47, 1 %50 = call i1 @llvm.expect.i1(i1 %49, i1 false) br i1 %50, label %panic5, label %bb21 bb21: ; preds = %bb20 store i16 %48, i16* %2 br label %bb27 bb22: ; preds = %bb19 %51 = icmp sgt i16 %29, %43 br i1 %51, label %bb23, label %bb24 bb23: ; preds = %bb22 %52 = load i16, i16* %v_shift %53 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %52, i16 1) %54 = extractvalue { i16, i1 } %53, 0 %55 = extractvalue { i16, i1 } %53, 1 %56 = call i1 @llvm.expect.i1(i1 %55, i1 false) br i1 %56, label %panic7, label %bb25 bb24: ; preds = %bb22 br label %bb10 bb25: ; preds = %bb23 store i16 %54, i16* %v_shift %57 = load i16, i16* %2 %58 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %57, i16 1) %59 = extractvalue { i16, i1 } %58, 0 %60 = extractvalue { i16, i1 } %58, 1 %61 = call i1 @llvm.expect.i1(i1 %60, i1 false) br i1 %61, label %panic8, label %bb26 bb26: ; preds = %bb25 store i16 %59, i16* %2 br label %bb27 bb27: ; preds = %bb26, %bb21 br label %bb6 bb28: ; preds = %bb10 %62 = load i16, i16* %v_shift %63 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %1, i16 %62) br label %bb29 bb29: ; preds = %bb28 ret void panic: ; preds = %bb13 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4e) unreachable panic1: ; preds = %bb14 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4e) unreachable panic2: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4f) unreachable panic3: ; preds = %bb16 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4g) unreachable panic4: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4h) unreachable panic5: ; preds = %bb20 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4i) unreachable panic6: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4j) unreachable panic7: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4k) unreachable panic8: ; preds = %bb25 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4l) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt9algorithm11quick_start17hfd3128f5aff95ff0E(%"num::bignum::Big32x40"* dereferenceable(164), %"num::bignum::Big32x40"* dereferenceable(164), i16* dereferenceable(2)) unnamed_addr #1 { entry-block: %_29 = alloca {} %_25 = alloca {} %_24 = alloca {} %_23 = alloca {} %_17 = alloca {} %v_shift = alloca i16 %u_shift = alloca i16 %_0 = alloca {} br label %start start: ; preds = %entry-block %3 = call i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h5190caf96ab1d0ebE"() br label %bb1 bb1: ; preds = %start %4 = zext i8 %3 to i16 %5 = call i16 @_ZN4core3num6bignum8Big32x4010bit_length17he343880f864358b8E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) br label %bb2 bb2: ; preds = %bb1 %6 = call i16 @_ZN4core3num6bignum8Big32x4010bit_length17he343880f864358b8E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1) br label %bb3 bb3: ; preds = %bb2 store i16 0, i16* %u_shift store i16 0, i16* %v_shift %7 = load i16, i16* %2 %8 = icmp eq i16 %7, 0 %9 = xor i1 %8, true br i1 %9, label %bb4, label %bb5 bb4: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt9algorithm11quick_start14_MSG_FILE_LINE17h66da1ee386959d6aE) unreachable bb5: ; preds = %bb3 br label %bb6 bb6: ; preds = %bb27, %bb5 %10 = load i16, i16* %2 %11 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11min_exp_int17h0c6d68792df9dc6eE() br label %bb7 bb7: ; preds = %bb6 %12 = icmp eq i16 %10, %11 br i1 %12, label %bb8, label %bb9 bb8: ; preds = %bb7 br label %bb10 bb9: ; preds = %bb7 %13 = load i16, i16* %2 %14 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11max_exp_int17hcca15dfccf8a6293E() br label %bb11 bb10: ; preds = %bb24, %bb12, %bb8 %15 = load i16, i16* %u_shift %16 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %0, i16 %15) br label %bb28 bb11: ; preds = %bb9 %17 = icmp eq i16 %13, %14 br i1 %17, label %bb12, label %bb13 bb12: ; preds = %bb11 br label %bb10 bb13: ; preds = %bb11 %18 = load i16, i16* %u_shift %19 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %5, i16 %18) %20 = extractvalue { i16, i1 } %19, 0 %21 = extractvalue { i16, i1 } %19, 1 %22 = call i1 @llvm.expect.i1(i1 %21, i1 false) br i1 %22, label %panic, label %bb14 bb14: ; preds = %bb13 %23 = load i16, i16* %v_shift %24 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %6, i16 %23) %25 = extractvalue { i16, i1 } %24, 0 %26 = extractvalue { i16, i1 } %24, 1 %27 = call i1 @llvm.expect.i1(i1 %26, i1 false) br i1 %27, label %panic1, label %bb15 bb15: ; preds = %bb14 %28 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %20, i16 %25) %29 = extractvalue { i16, i1 } %28, 0 %30 = extractvalue { i16, i1 } %28, 1 %31 = call i1 @llvm.expect.i1(i1 %30, i1 false) br i1 %31, label %panic2, label %bb16 bb16: ; preds = %bb15 %32 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %4, i16 1) %33 = extractvalue { i16, i1 } %32, 0 %34 = extractvalue { i16, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic3, label %bb17 bb17: ; preds = %bb16 %36 = icmp slt i16 %29, %33 br i1 %36, label %bb18, label %bb19 bb18: ; preds = %bb17 %37 = load i16, i16* %u_shift %38 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %37, i16 1) %39 = extractvalue { i16, i1 } %38, 0 %40 = extractvalue { i16, i1 } %38, 1 %41 = call i1 @llvm.expect.i1(i1 %40, i1 false) br i1 %41, label %panic4, label %bb20 bb19: ; preds = %bb17 %42 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %4, i16 1) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic6, label %bb22 bb20: ; preds = %bb18 store i16 %39, i16* %u_shift %46 = load i16, i16* %2 %47 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %46, i16 1) %48 = extractvalue { i16, i1 } %47, 0 %49 = extractvalue { i16, i1 } %47, 1 %50 = call i1 @llvm.expect.i1(i1 %49, i1 false) br i1 %50, label %panic5, label %bb21 bb21: ; preds = %bb20 store i16 %48, i16* %2 br label %bb27 bb22: ; preds = %bb19 %51 = icmp sgt i16 %29, %43 br i1 %51, label %bb23, label %bb24 bb23: ; preds = %bb22 %52 = load i16, i16* %v_shift %53 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %52, i16 1) %54 = extractvalue { i16, i1 } %53, 0 %55 = extractvalue { i16, i1 } %53, 1 %56 = call i1 @llvm.expect.i1(i1 %55, i1 false) br i1 %56, label %panic7, label %bb25 bb24: ; preds = %bb22 br label %bb10 bb25: ; preds = %bb23 store i16 %54, i16* %v_shift %57 = load i16, i16* %2 %58 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %57, i16 1) %59 = extractvalue { i16, i1 } %58, 0 %60 = extractvalue { i16, i1 } %58, 1 %61 = call i1 @llvm.expect.i1(i1 %60, i1 false) br i1 %61, label %panic8, label %bb26 bb26: ; preds = %bb25 store i16 %59, i16* %2 br label %bb27 bb27: ; preds = %bb26, %bb21 br label %bb6 bb28: ; preds = %bb10 %62 = load i16, i16* %v_shift %63 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %1, i16 %62) br label %bb29 bb29: ; preds = %bb28 ret void panic: ; preds = %bb13 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4e) unreachable panic1: ; preds = %bb14 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4e) unreachable panic2: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4f) unreachable panic3: ; preds = %bb16 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4g) unreachable panic4: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4h) unreachable panic5: ; preds = %bb20 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4i) unreachable panic6: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4j) unreachable panic7: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4k) unreachable panic8: ; preds = %bb25 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4l) unreachable } ; Function Attrs: uwtable define internal double @_ZN4core3num7dec2flt9algorithm9underflow17h0d269ec4bb15e486E(%"num::bignum::Big32x40"* noalias nocapture dereferenceable(164), %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164), %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164)) unnamed_addr #1 { entry-block: %arg = alloca %"num::dec2flt::rawfp::Unpacked" %tmp_ret = alloca %"num::dec2flt::rawfp::Unpacked" %_52 = alloca i8 %_47 = alloca i8 %_19 = alloca %"num::bignum::Big32x40" %_18 = alloca %"num::bignum::Big32x40" %_11 = alloca %"num::bignum::Big32x40" %_7 = alloca {} %rem = alloca %"num::bignum::Big32x40" %v = alloca %"num::bignum::Big32x40" %x = alloca %"num::bignum::Big32x40" %_0 = alloca double br label %start start: ; preds = %entry-block %3 = bitcast %"num::bignum::Big32x40"* %0 to i8* %4 = bitcast %"num::bignum::Big32x40"* %x to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 164, i32 4, i1 false) %5 = bitcast %"num::bignum::Big32x40"* %1 to i8* %6 = bitcast %"num::bignum::Big32x40"* %v to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 164, i32 4, i1 false) %7 = bitcast %"num::bignum::Big32x40"* %2 to i8* %8 = bitcast %"num::bignum::Big32x40"* %rem to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 164, i32 4, i1 false) %9 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17h7e992c3c7d1fef9eE() br label %bb1 bb1: ; preds = %start call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_11, i64 %9) br label %bb2 bb2: ; preds = %bb1 %10 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h7d894440b0927409E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %_11) br label %bb3 bb3: ; preds = %bb2 br i1 %10, label %bb4, label %bb5 bb4: ; preds = %bb3 %11 = call i64 @_ZN4core3num7dec2flt3num6to_u6417h9146108b06b62ae4E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x) br label %bb6 bb5: ; preds = %bb3 %12 = call i16 @_ZN4core3num6bignum8Big32x4010bit_length17he343880f864358b8E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x) br label %bb10 bb6: ; preds = %bb4 %13 = call double @_ZN4core3num7dec2flt5rawfp16encode_subnormal17hbbb46464680ff85eE(i64 %11) br label %bb7 bb7: ; preds = %bb6 %14 = bitcast %"num::bignum::Big32x40"* %v to i8* %15 = bitcast %"num::bignum::Big32x40"* %_18 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %14, i16 164, i32 4, i1 false) %16 = bitcast %"num::bignum::Big32x40"* %rem to i8* %17 = bitcast %"num::bignum::Big32x40"* %_19 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %17, i8* %16, i16 164, i32 4, i1 false) %18 = call double @_ZN4core3num7dec2flt9algorithm18round_by_remainder17h38d4c1a2f4f4807fE(%"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_18, %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_19, i64 %11, double %13) store double %18, double* %_0 br label %bb8 bb8: ; preds = %bb7 br label %bb9 bb9: ; preds = %bb30, %bb8 %19 = load double, double* %_0 ret double %19 bb10: ; preds = %bb5 %20 = call i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h6883bf0cf56ef461E"() br label %bb11 bb11: ; preds = %bb10 %21 = zext i8 %20 to i16 %22 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %12, i16 %21) %23 = extractvalue { i16, i1 } %22, 0 %24 = extractvalue { i16, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic, label %bb12 bb12: ; preds = %bb11 %26 = call i64 @_ZN4core3num7dec2flt3num8get_bits17hdfccabd648712e94E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, i16 %23, i16 %12) br label %bb13 bb13: ; preds = %bb12 %27 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11min_exp_int17h248f99e7bee52b64E() br label %bb14 bb14: ; preds = %bb13 %28 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %27, i16 %23) %29 = extractvalue { i16, i1 } %28, 0 %30 = extractvalue { i16, i1 } %28, 1 %31 = call i1 @llvm.expect.i1(i1 %30, i1 false) br i1 %31, label %panic1, label %bb15 bb15: ; preds = %bb14 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret, i64 %26, i16 %29) %32 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 0 %33 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 1 %34 = load i64, i64* %32 %35 = load i16, i16* %33 br label %bb16 bb16: ; preds = %bb15 %36 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg, i32 0, i32 0 store i64 %34, i64* %36 %37 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg, i32 0, i32 1 store i16 %35, i16* %37 %38 = call double @_ZN4core3num7dec2flt5rawfp13encode_normal17h16c47613bacc3439E(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture dereferenceable(16) %arg) br label %bb17 bb17: ; preds = %bb16 br label %bb18 bb18: ; preds = %bb17 %39 = urem i64 %26, 2 %40 = icmp eq i64 %39, 0 %41 = call i8 @_ZN4core3num7dec2flt3num21compare_with_half_ulp17h85d49d1221bed766E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, i16 %23) store i8 %41, i8* %_47 br label %bb19 bb19: ; preds = %bb18 %42 = load i8, i8* %_47, !range !7 %43 = sext i8 %42 to i16 switch i16 %43, label %bb20 [ i16 -1, label %bb21 i16 0, label %bb24 ] bb20: ; preds = %bb19 %44 = call double @_ZN4core3num7dec2flt5rawfp10next_float17haa5d022ec96d40ceE(double %38) store double %44, double* %_0 br label %bb31 bb21: ; preds = %bb19 store double %38, double* %_0 br label %bb30 bb22: ; preds = %bb28 store double %38, double* %_0 br label %bb30 bb23: ; preds = %bb28 %45 = call double @_ZN4core3num7dec2flt5rawfp10next_float17haa5d022ec96d40ceE(double %38) store double %45, double* %_0 br label %bb32 bb24: ; preds = %bb19 %46 = call zeroext i1 @_ZN4core3num6bignum8Big32x407is_zero17h758b2da3fba44433E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %rem) br label %bb29 bb25: ; preds = %bb27 store i8 1, i8* %_52 br label %bb28 bb26: ; preds = %bb27, %bb29 store i8 0, i8* %_52 br label %bb28 bb27: ; preds = %bb29 br i1 %40, label %bb25, label %bb26 bb28: ; preds = %bb26, %bb25 %47 = load i8, i8* %_52, !range !2 %48 = trunc i8 %47 to i1 br i1 %48, label %bb22, label %bb23 bb29: ; preds = %bb24 br i1 %46, label %bb27, label %bb26 bb30: ; preds = %bb21, %bb32, %bb22, %bb31 br label %bb9 bb31: ; preds = %bb20 br label %bb30 bb32: ; preds = %bb23 br label %bb30 panic: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4m) unreachable panic1: ; preds = %bb14 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4n) unreachable } ; Function Attrs: uwtable define internal float @_ZN4core3num7dec2flt9algorithm9underflow17ha491f0b98d146c87E(%"num::bignum::Big32x40"* noalias nocapture dereferenceable(164), %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164), %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164)) unnamed_addr #1 { entry-block: %arg = alloca %"num::dec2flt::rawfp::Unpacked" %tmp_ret = alloca %"num::dec2flt::rawfp::Unpacked" %_52 = alloca i8 %_47 = alloca i8 %_19 = alloca %"num::bignum::Big32x40" %_18 = alloca %"num::bignum::Big32x40" %_11 = alloca %"num::bignum::Big32x40" %_7 = alloca {} %rem = alloca %"num::bignum::Big32x40" %v = alloca %"num::bignum::Big32x40" %x = alloca %"num::bignum::Big32x40" %_0 = alloca float br label %start start: ; preds = %entry-block %3 = bitcast %"num::bignum::Big32x40"* %0 to i8* %4 = bitcast %"num::bignum::Big32x40"* %x to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 164, i32 4, i1 false) %5 = bitcast %"num::bignum::Big32x40"* %1 to i8* %6 = bitcast %"num::bignum::Big32x40"* %v to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 164, i32 4, i1 false) %7 = bitcast %"num::bignum::Big32x40"* %2 to i8* %8 = bitcast %"num::bignum::Big32x40"* %rem to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 164, i32 4, i1 false) %9 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17hac5ea39fdee40fffE() br label %bb1 bb1: ; preds = %start call void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %_11, i64 %9) br label %bb2 bb2: ; preds = %bb1 %10 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h7d894440b0927409E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %_11) br label %bb3 bb3: ; preds = %bb2 br i1 %10, label %bb4, label %bb5 bb4: ; preds = %bb3 %11 = call i64 @_ZN4core3num7dec2flt3num6to_u6417h9146108b06b62ae4E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x) br label %bb6 bb5: ; preds = %bb3 %12 = call i16 @_ZN4core3num6bignum8Big32x4010bit_length17he343880f864358b8E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x) br label %bb10 bb6: ; preds = %bb4 %13 = call float @_ZN4core3num7dec2flt5rawfp16encode_subnormal17h1c9e5894f582b125E(i64 %11) br label %bb7 bb7: ; preds = %bb6 %14 = bitcast %"num::bignum::Big32x40"* %v to i8* %15 = bitcast %"num::bignum::Big32x40"* %_18 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %14, i16 164, i32 4, i1 false) %16 = bitcast %"num::bignum::Big32x40"* %rem to i8* %17 = bitcast %"num::bignum::Big32x40"* %_19 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %17, i8* %16, i16 164, i32 4, i1 false) %18 = call float @_ZN4core3num7dec2flt9algorithm18round_by_remainder17h2f32aa522989a341E(%"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_18, %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164) %_19, i64 %11, float %13) store float %18, float* %_0 br label %bb8 bb8: ; preds = %bb7 br label %bb9 bb9: ; preds = %bb30, %bb8 %19 = load float, float* %_0 ret float %19 bb10: ; preds = %bb5 %20 = call i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h5190caf96ab1d0ebE"() br label %bb11 bb11: ; preds = %bb10 %21 = zext i8 %20 to i16 %22 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %12, i16 %21) %23 = extractvalue { i16, i1 } %22, 0 %24 = extractvalue { i16, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic, label %bb12 bb12: ; preds = %bb11 %26 = call i64 @_ZN4core3num7dec2flt3num8get_bits17hdfccabd648712e94E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, i16 %23, i16 %12) br label %bb13 bb13: ; preds = %bb12 %27 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11min_exp_int17h0c6d68792df9dc6eE() br label %bb14 bb14: ; preds = %bb13 %28 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %27, i16 %23) %29 = extractvalue { i16, i1 } %28, 0 %30 = extractvalue { i16, i1 } %28, 1 %31 = call i1 @llvm.expect.i1(i1 %30, i1 false) br i1 %31, label %panic1, label %bb15 bb15: ; preds = %bb14 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret, i64 %26, i16 %29) %32 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 0 %33 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 1 %34 = load i64, i64* %32 %35 = load i16, i16* %33 br label %bb16 bb16: ; preds = %bb15 %36 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg, i32 0, i32 0 store i64 %34, i64* %36 %37 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg, i32 0, i32 1 store i16 %35, i16* %37 %38 = call float @_ZN4core3num7dec2flt5rawfp13encode_normal17h004dd859b47b5bedE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture dereferenceable(16) %arg) br label %bb17 bb17: ; preds = %bb16 br label %bb18 bb18: ; preds = %bb17 %39 = urem i64 %26, 2 %40 = icmp eq i64 %39, 0 %41 = call i8 @_ZN4core3num7dec2flt3num21compare_with_half_ulp17h85d49d1221bed766E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %x, i16 %23) store i8 %41, i8* %_47 br label %bb19 bb19: ; preds = %bb18 %42 = load i8, i8* %_47, !range !7 %43 = sext i8 %42 to i16 switch i16 %43, label %bb20 [ i16 -1, label %bb21 i16 0, label %bb24 ] bb20: ; preds = %bb19 %44 = call float @_ZN4core3num7dec2flt5rawfp10next_float17headddc565aec2051E(float %38) store float %44, float* %_0 br label %bb31 bb21: ; preds = %bb19 store float %38, float* %_0 br label %bb30 bb22: ; preds = %bb28 store float %38, float* %_0 br label %bb30 bb23: ; preds = %bb28 %45 = call float @_ZN4core3num7dec2flt5rawfp10next_float17headddc565aec2051E(float %38) store float %45, float* %_0 br label %bb32 bb24: ; preds = %bb19 %46 = call zeroext i1 @_ZN4core3num6bignum8Big32x407is_zero17h758b2da3fba44433E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %rem) br label %bb29 bb25: ; preds = %bb27 store i8 1, i8* %_52 br label %bb28 bb26: ; preds = %bb27, %bb29 store i8 0, i8* %_52 br label %bb28 bb27: ; preds = %bb29 br i1 %40, label %bb25, label %bb26 bb28: ; preds = %bb26, %bb25 %47 = load i8, i8* %_52, !range !2 %48 = trunc i8 %47 to i1 br i1 %48, label %bb22, label %bb23 bb29: ; preds = %bb24 br i1 %46, label %bb27, label %bb26 bb30: ; preds = %bb21, %bb32, %bb22, %bb31 br label %bb9 bb31: ; preds = %bb20 br label %bb30 bb32: ; preds = %bb23 br label %bb30 panic: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4m) unreachable panic1: ; preds = %bb14 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4n) unreachable } ; Function Attrs: uwtable define internal float @_ZN4core3num7dec2flt9algorithm18round_by_remainder17h2f32aa522989a341E(%"num::bignum::Big32x40"* noalias nocapture dereferenceable(164), %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164), i64, float) unnamed_addr #1 { entry-block: %_10 = alloca %"num::bignum::Big32x40" %v_minus_r = alloca %"num::bignum::Big32x40" %r = alloca %"num::bignum::Big32x40" %v = alloca %"num::bignum::Big32x40" %_0 = alloca float br label %start start: ; preds = %entry-block %4 = bitcast %"num::bignum::Big32x40"* %0 to i8* %5 = bitcast %"num::bignum::Big32x40"* %v to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 164, i32 4, i1 false) %6 = bitcast %"num::bignum::Big32x40"* %1 to i8* %7 = bitcast %"num::bignum::Big32x40"* %r to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 164, i32 4, i1 false) %8 = bitcast %"num::bignum::Big32x40"* %v to i8* %9 = bitcast %"num::bignum::Big32x40"* %_10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 164, i32 4, i1 false) %10 = bitcast %"num::bignum::Big32x40"* %_10 to i8* %11 = bitcast %"num::bignum::Big32x40"* %v_minus_r to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 164, i32 4, i1 false) %12 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %v_minus_r, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %r) br label %bb1 bb1: ; preds = %start %13 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h7d894440b0927409E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %r, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %v_minus_r) br label %bb2 bb2: ; preds = %bb1 br i1 %13, label %bb3, label %bb4 bb3: ; preds = %bb2 store float %3, float* %_0 br label %bb15 bb4: ; preds = %bb2 %14 = call zeroext i1 @_ZN4core3cmp10PartialOrd2gt17h1e650bb015949b28E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %r, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %v_minus_r) br label %bb5 bb5: ; preds = %bb4 br i1 %14, label %bb6, label %bb7 bb6: ; preds = %bb5 %15 = call float @_ZN4core3num7dec2flt5rawfp10next_float17headddc565aec2051E(float %3) store float %15, float* %_0 br label %bb8 bb7: ; preds = %bb5 br label %bb9 bb8: ; preds = %bb6 br label %bb14 bb9: ; preds = %bb7 %16 = urem i64 %2, 2 %17 = icmp eq i64 %16, 0 br i1 %17, label %bb10, label %bb11 bb10: ; preds = %bb9 store float %3, float* %_0 br label %bb13 bb11: ; preds = %bb9 %18 = call float @_ZN4core3num7dec2flt5rawfp10next_float17headddc565aec2051E(float %3) store float %18, float* %_0 br label %bb12 bb12: ; preds = %bb11 br label %bb13 bb13: ; preds = %bb12, %bb10 br label %bb14 bb14: ; preds = %bb13, %bb8 br label %bb15 bb15: ; preds = %bb14, %bb3 %19 = load float, float* %_0 ret float %19 } ; Function Attrs: uwtable define internal double @_ZN4core3num7dec2flt9algorithm18round_by_remainder17h38d4c1a2f4f4807fE(%"num::bignum::Big32x40"* noalias nocapture dereferenceable(164), %"num::bignum::Big32x40"* noalias nocapture dereferenceable(164), i64, double) unnamed_addr #1 { entry-block: %_10 = alloca %"num::bignum::Big32x40" %v_minus_r = alloca %"num::bignum::Big32x40" %r = alloca %"num::bignum::Big32x40" %v = alloca %"num::bignum::Big32x40" %_0 = alloca double br label %start start: ; preds = %entry-block %4 = bitcast %"num::bignum::Big32x40"* %0 to i8* %5 = bitcast %"num::bignum::Big32x40"* %v to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 164, i32 4, i1 false) %6 = bitcast %"num::bignum::Big32x40"* %1 to i8* %7 = bitcast %"num::bignum::Big32x40"* %r to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 164, i32 4, i1 false) %8 = bitcast %"num::bignum::Big32x40"* %v to i8* %9 = bitcast %"num::bignum::Big32x40"* %_10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 164, i32 4, i1 false) %10 = bitcast %"num::bignum::Big32x40"* %_10 to i8* %11 = bitcast %"num::bignum::Big32x40"* %v_minus_r to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 164, i32 4, i1 false) %12 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %v_minus_r, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %r) br label %bb1 bb1: ; preds = %start %13 = call zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h7d894440b0927409E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %r, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %v_minus_r) br label %bb2 bb2: ; preds = %bb1 br i1 %13, label %bb3, label %bb4 bb3: ; preds = %bb2 store double %3, double* %_0 br label %bb15 bb4: ; preds = %bb2 %14 = call zeroext i1 @_ZN4core3cmp10PartialOrd2gt17h1e650bb015949b28E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %r, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %v_minus_r) br label %bb5 bb5: ; preds = %bb4 br i1 %14, label %bb6, label %bb7 bb6: ; preds = %bb5 %15 = call double @_ZN4core3num7dec2flt5rawfp10next_float17haa5d022ec96d40ceE(double %3) store double %15, double* %_0 br label %bb8 bb7: ; preds = %bb5 br label %bb9 bb8: ; preds = %bb6 br label %bb14 bb9: ; preds = %bb7 %16 = urem i64 %2, 2 %17 = icmp eq i64 %16, 0 br i1 %17, label %bb10, label %bb11 bb10: ; preds = %bb9 store double %3, double* %_0 br label %bb13 bb11: ; preds = %bb9 %18 = call double @_ZN4core3num7dec2flt5rawfp10next_float17haa5d022ec96d40ceE(double %3) store double %18, double* %_0 br label %bb12 bb12: ; preds = %bb11 br label %bb13 bb13: ; preds = %bb12, %bb10 br label %bb14 bb14: ; preds = %bb13, %bb8 br label %bb15 bb15: ; preds = %bb14, %bb3 %19 = load double, double* %_0 ret double %19 } ; Function Attrs: uwtable define i8 @_ZN4core3num7dec2flt3num21compare_with_half_ulp17h85d49d1221bed766E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), i16) unnamed_addr #1 { entry-block: %arg = alloca %"ops::Range" %tmp_ret = alloca %"ops::Range" %_23 = alloca %"option::Option" %iter = alloca %"ops::Range" %_20 = alloca %"ops::Range" %_result = alloca {} %_12 = alloca {} %_8 = alloca {} %_5 = alloca {} %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = icmp eq i16 %1, 0 br i1 %2, label %bb1, label %bb2 bb1: ; preds = %start store i8 -1, i8* %_0 br label %bb4 bb2: ; preds = %start %3 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %1, i16 1) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb5 bb3: ; preds = %bb13, %bb4 %7 = load i8, i8* %_0 ret i8 %7 bb4: ; preds = %bb9, %bb1 br label %bb3 bb5: ; preds = %bb2 %8 = call i8 @_ZN4core3num6bignum8Big32x407get_bit17h842e6148aecc05b7E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0, i16 %4) br label %bb6 bb6: ; preds = %bb5 %9 = icmp eq i8 %8, 0 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 store i8 -1, i8* %_0 br label %bb9 bb8: ; preds = %bb6 %10 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_20, i32 0, i32 0 store i16 0, i16* %10 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_20, i32 0, i32 1 store i16 %4, i16* %11 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_20, i32 0, i32 0 %13 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_20, i32 0, i32 1 %14 = load i16, i16* %12 %15 = load i16, i16* %13 %16 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %14, i16* %16 %17 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %15, i16* %17 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) %18 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 0 %19 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 1 %20 = load i16, i16* %18 %21 = load i16, i16* %19 br label %bb10 bb9: ; preds = %bb16, %bb7 br label %bb4 bb10: ; preds = %bb8 %22 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 0 store i16 %20, i16* %22 %23 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 1 store i16 %21, i16* %23 br label %bb11 bb11: ; preds = %bb17, %bb10 call void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_23, %"ops::Range"* dereferenceable(4) %iter) br label %bb12 bb12: ; preds = %bb11 %24 = getelementptr inbounds %"option::Option", %"option::Option"* %_23, i32 0, i32 0 %25 = load i16, i16* %24, !range !3 switch i16 %25, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 store i8 0, i8* %_0 br label %bb3 bb14: ; preds = %bb12 %26 = bitcast %"option::Option"* %_23 to { i16, i16 }* %27 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %26, i32 0, i32 1 %28 = load i16, i16* %27 %29 = call i8 @_ZN4core3num6bignum8Big32x407get_bit17h842e6148aecc05b7E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0, i16 %28) br label %bb15 bb15: ; preds = %bb14 %30 = icmp eq i8 %29, 1 br i1 %30, label %bb16, label %bb17 bb16: ; preds = %bb15 store i8 1, i8* %_0 br label %bb9 bb17: ; preds = %bb15 br label %bb11 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4p) unreachable } ; Function Attrs: uwtable define internal i64 @_ZN4core3num7dec2flt3num18from_str_unchecked17h3b306992a7aaee4aE(%"iter::Chain, slice::Iter>"* noalias nocapture dereferenceable(10)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_25 = alloca i8 %_10 = alloca i8* %iter = alloca %"iter::Chain, slice::Iter>" %_8 = alloca %"iter::Chain, slice::Iter>" %_7 = alloca %"iter::Chain, slice::Iter>" %_result = alloca {} %_4 = alloca {} %result = alloca i64 %bytes = alloca %"iter::Chain, slice::Iter>" br label %start start: ; preds = %entry-block store i8 0, i8* %_25 %1 = bitcast %"iter::Chain, slice::Iter>"* %0 to i8* %2 = bitcast %"iter::Chain, slice::Iter>"* %bytes to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 10, i32 2, i1 false) store i64 0, i64* %result %3 = bitcast %"iter::Chain, slice::Iter>"* %bytes to i8* %4 = bitcast %"iter::Chain, slice::Iter>"* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 10, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hf93499028e3539f3E"(%"iter::Chain, slice::Iter>"* noalias nocapture sret dereferenceable(10) %_7, %"iter::Chain, slice::Iter>"* noalias nocapture dereferenceable(10) %_8) to label %bb2 unwind label %cleanup bb1: ; preds = %bb13, %bb3, %cleanup %5 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %5 bb2: ; preds = %start store i8 1, i8* %_25 store i8 0, i8* %_25 %6 = bitcast %"iter::Chain, slice::Iter>"* %_7 to i8* %7 = bitcast %"iter::Chain, slice::Iter>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 10, i32 2, i1 false) br label %bb4 bb3: ; preds = %bb5 %8 = load i8, i8* %_25, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb13, label %bb1 bb4: ; preds = %bb11, %bb2 %10 = invoke i8* @"_ZN86_$LT$core..iter..Chain$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3649302e8eee8d78E"(%"iter::Chain, slice::Iter>"* dereferenceable(10) %iter) to label %bb6 unwind label %cleanup1 bb5: ; preds = %cleanup1 br label %bb3 bb6: ; preds = %bb4 store i8* %10, i8** %_10 %11 = load i8*, i8** %_10 %12 = icmp ne i8* %11, null %13 = zext i1 %12 to i16 switch i16 %13, label %bb8 [ i16 0, label %bb7 ] bb7: ; preds = %bb6 br label %bb12 bb8: ; preds = %bb6 %14 = load i8*, i8** %_10, !nonnull !1 %15 = load i8, i8* %14 %16 = load i64, i64* %result %17 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %16, i64 10) %18 = extractvalue { i64, i1 } %17, 0 %19 = extractvalue { i64, i1 } %17, 1 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic, label %bb9 bb9: ; preds = %bb8 %21 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %15, i8 48) %22 = extractvalue { i8, i1 } %21, 0 %23 = extractvalue { i8, i1 } %21, 1 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic2, label %bb10 bb10: ; preds = %bb9 %25 = zext i8 %22 to i64 %26 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %18, i64 %25) %27 = extractvalue { i64, i1 } %26, 0 %28 = extractvalue { i64, i1 } %26, 1 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic3, label %bb11 bb11: ; preds = %bb10 store i64 %27, i64* %result br label %bb4 bb12: ; preds = %bb7 %30 = load i64, i64* %result ret i64 %30 bb13: ; preds = %bb3 store i8 0, i8* %_25 br label %bb1 cleanup: ; preds = %start %31 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %31, { i8*, i32 }* %personalityslot br label %bb1 cleanup1: ; preds = %panic3, %panic2, %panic, %bb4 %32 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %32, { i8*, i32 }* %personalityslot br label %bb5 panic: ; preds = %bb8 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4q) to label %unreachable unwind label %cleanup1 unreachable: ; preds = %panic3, %panic2, %panic unreachable panic2: ; preds = %bb9 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4r) to label %unreachable unwind label %cleanup1 panic3: ; preds = %bb10 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4s) to label %unreachable unwind label %cleanup1 } ; Function Attrs: uwtable define internal i64 @_ZN4core3num7dec2flt3num18from_str_unchecked17h42b75503c620cc9aE(i8* noalias nonnull readonly, i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_25 = alloca i8 %_10 = alloca i8* %iter = alloca %"slice::Iter" %_7 = alloca %"slice::Iter" %_result = alloca {} %_4 = alloca {} %result = alloca i64 br label %start start: ; preds = %entry-block store i8 0, i8* %_25 store i64 0, i64* %result invoke void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_7, i8* noalias nonnull readonly %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %bb13, %bb3, %cleanup %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %start store i8 1, i8* %_25 store i8 0, i8* %_25 %3 = bitcast %"slice::Iter"* %_7 to i8* %4 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) br label %bb4 bb3: ; preds = %bb5 %5 = load i8, i8* %_25, !range !2 %6 = trunc i8 %5 to i1 br i1 %6, label %bb13, label %bb1 bb4: ; preds = %bb11, %bb2 %7 = invoke i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) to label %bb6 unwind label %cleanup1 bb5: ; preds = %cleanup1 br label %bb3 bb6: ; preds = %bb4 store i8* %7, i8** %_10 %8 = load i8*, i8** %_10 %9 = icmp ne i8* %8, null %10 = zext i1 %9 to i16 switch i16 %10, label %bb8 [ i16 0, label %bb7 ] bb7: ; preds = %bb6 br label %bb12 bb8: ; preds = %bb6 %11 = load i8*, i8** %_10, !nonnull !1 %12 = load i8, i8* %11 %13 = load i64, i64* %result %14 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %13, i64 10) %15 = extractvalue { i64, i1 } %14, 0 %16 = extractvalue { i64, i1 } %14, 1 %17 = call i1 @llvm.expect.i1(i1 %16, i1 false) br i1 %17, label %panic, label %bb9 bb9: ; preds = %bb8 %18 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %12, i8 48) %19 = extractvalue { i8, i1 } %18, 0 %20 = extractvalue { i8, i1 } %18, 1 %21 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %21, label %panic2, label %bb10 bb10: ; preds = %bb9 %22 = zext i8 %19 to i64 %23 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %15, i64 %22) %24 = extractvalue { i64, i1 } %23, 0 %25 = extractvalue { i64, i1 } %23, 1 %26 = call i1 @llvm.expect.i1(i1 %25, i1 false) br i1 %26, label %panic3, label %bb11 bb11: ; preds = %bb10 store i64 %24, i64* %result br label %bb4 bb12: ; preds = %bb7 %27 = load i64, i64* %result ret i64 %27 bb13: ; preds = %bb3 store i8 0, i8* %_25 br label %bb1 cleanup: ; preds = %start %28 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %28, { i8*, i32 }* %personalityslot br label %bb1 cleanup1: ; preds = %panic3, %panic2, %panic, %bb4 %29 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %29, { i8*, i32 }* %personalityslot br label %bb5 panic: ; preds = %bb8 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4q) to label %unreachable unwind label %cleanup1 unreachable: ; preds = %panic3, %panic2, %panic unreachable panic2: ; preds = %bb9 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4r) to label %unreachable unwind label %cleanup1 panic3: ; preds = %bb10 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4s) to label %unreachable unwind label %cleanup1 } ; Function Attrs: uwtable define void @_ZN4core3num7dec2flt3num13digits_to_big17h092a87657d3a6e89E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164), i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %_30 = alloca %"num::bignum::Big32x40" %_15 = alloca i8* %_14 = alloca {} %iter = alloca %"iter::Chain, slice::Iter>" %_10 = alloca %"slice::Iter" %_9 = alloca %"iter::Chain, slice::Iter>" %_8 = alloca %"iter::Chain, slice::Iter>" %_result = alloca {} %f = alloca %"num::bignum::Big32x40" br label %start start: ; preds = %entry-block call void @_ZN4core3num6bignum8Big32x4010from_small17h197cc74323061977E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %f, i32 0) br label %bb1 bb1: ; preds = %start call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_10, i8* noalias nonnull readonly %1, i16 %2) br label %bb2 bb2: ; preds = %bb1 call void @_ZN4core4iter8iterator8Iterator5chain17h3e9d3c7d312db2f0E(%"iter::Chain, slice::Iter>"* noalias nocapture sret dereferenceable(10) %_9, %"slice::Iter"* noalias nocapture dereferenceable(4) %_10, i8* noalias nonnull readonly %3, i16 %4) br label %bb3 bb3: ; preds = %bb2 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hf93499028e3539f3E"(%"iter::Chain, slice::Iter>"* noalias nocapture sret dereferenceable(10) %_8, %"iter::Chain, slice::Iter>"* noalias nocapture dereferenceable(10) %_9) br label %bb4 bb4: ; preds = %bb3 %5 = bitcast %"iter::Chain, slice::Iter>"* %_8 to i8* %6 = bitcast %"iter::Chain, slice::Iter>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 10, i32 2, i1 false) br label %bb5 bb5: ; preds = %bb11, %bb4 %7 = call i8* @"_ZN86_$LT$core..iter..Chain$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3649302e8eee8d78E"(%"iter::Chain, slice::Iter>"* dereferenceable(10) %iter) store i8* %7, i8** %_15 br label %bb6 bb6: ; preds = %bb5 %8 = load i8*, i8** %_15 %9 = icmp ne i8* %8, null %10 = zext i1 %9 to i16 switch i16 %10, label %bb8 [ i16 0, label %bb7 ] bb7: ; preds = %bb6 %11 = bitcast %"num::bignum::Big32x40"* %f to i8* %12 = bitcast %"num::bignum::Big32x40"* %_30 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 164, i32 4, i1 false) %13 = bitcast %"num::bignum::Big32x40"* %_30 to i8* %14 = bitcast %"num::bignum::Big32x40"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %13, i16 164, i32 4, i1 false) ret void bb8: ; preds = %bb6 %15 = load i8*, i8** %_15, !nonnull !1 %16 = load i8, i8* %15 %17 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %16, i8 48) %18 = extractvalue { i8, i1 } %17, 0 %19 = extractvalue { i8, i1 } %17, 1 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic, label %bb9 bb9: ; preds = %bb8 %21 = zext i8 %18 to i32 %22 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %f, i32 10) br label %bb10 bb10: ; preds = %bb9 %23 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409add_small17h8c35be0f6ba8625cE(%"num::bignum::Big32x40"* dereferenceable(164) %f, i32 %21) br label %bb11 bb11: ; preds = %bb10 br label %bb5 panic: ; preds = %bb8 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4t) unreachable } ; Function Attrs: uwtable define i64 @_ZN4core3num7dec2flt3num6to_u6417h9146108b06b62ae4E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #1 { entry-block: %_3 = alloca {} %_0 = alloca i64 br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3num6bignum8Big32x4010bit_length17he343880f864358b8E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) br label %bb1 bb1: ; preds = %start %2 = icmp ult i16 %1, 64 %3 = xor i1 %2, true br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt3num6to_u6414_MSG_FILE_LINE17h0106e14c46e8808cE) unreachable bb3: ; preds = %bb1 %4 = call { i32*, i16 } @_ZN4core3num6bignum8Big32x406digits17h47e6de10cbef4a18E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) %5 = extractvalue { i32*, i16 } %4, 0 %6 = extractvalue { i32*, i16 } %4, 1 br label %bb4 bb4: ; preds = %bb3 %7 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %5, i16 %6) br label %bb5 bb5: ; preds = %bb4 %8 = icmp ult i16 %7, 2 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = icmp ult i16 0, %6 %10 = call i1 @llvm.expect.i1(i1 %9, i1 true) br i1 %10, label %bb8, label %panic bb7: ; preds = %bb5 %11 = icmp ult i16 1, %6 %12 = call i1 @llvm.expect.i1(i1 %11, i1 true) br i1 %12, label %bb9, label %panic1 bb8: ; preds = %bb6 %13 = getelementptr inbounds i32, i32* %5, i16 0 %14 = load i32, i32* %13 %15 = zext i32 %14 to i64 store i64 %15, i64* %_0 br label %bb12 bb9: ; preds = %bb7 %16 = getelementptr inbounds i32, i32* %5, i16 1 %17 = load i32, i32* %16 %18 = zext i32 %17 to i64 %19 = shl i64 %18, 32 br label %bb10 bb10: ; preds = %bb9 %20 = icmp ult i16 0, %6 %21 = call i1 @llvm.expect.i1(i1 %20, i1 true) br i1 %21, label %bb11, label %panic2 bb11: ; preds = %bb10 %22 = getelementptr inbounds i32, i32* %5, i16 0 %23 = load i32, i32* %22 %24 = zext i32 %23 to i64 %25 = or i64 %19, %24 store i64 %25, i64* %_0 br label %bb12 bb12: ; preds = %bb11, %bb8 %26 = load i64, i64* %_0 ret i64 %26 panic: ; preds = %bb6 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.4u, i16 0, i16 %6) unreachable panic1: ; preds = %bb7 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.4v, i16 1, i16 %6) unreachable panic2: ; preds = %bb10 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.4v, i16 0, i16 %6) unreachable } ; Function Attrs: uwtable define i64 @_ZN4core3num7dec2flt3num8get_bits17hdfccabd648712e94E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), i16, i16) unnamed_addr #1 { entry-block: %arg = alloca %"ops::Range" %_26 = alloca %"option::Option" %_25 = alloca {} %iter = alloca %"iter::Rev>" %_21 = alloca %"ops::Range" %_20 = alloca %"iter::Rev>" %_19 = alloca %"iter::Rev>" %_result = alloca {} %result = alloca i64 %_7 = alloca {} br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %2, i16 %1) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb1 bb1: ; preds = %start %7 = icmp ule i16 %4, 64 %8 = xor i1 %7, true br i1 %8, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt3num8get_bits14_MSG_FILE_LINE17h5606d303a9facc1cE) unreachable bb3: ; preds = %bb1 store i64 0, i64* %result %9 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_21, i32 0, i32 0 store i16 %1, i16* %9 %10 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_21, i32 0, i32 1 store i16 %2, i16* %10 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_21, i32 0, i32 0 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_21, i32 0, i32 1 %13 = load i16, i16* %11 %14 = load i16, i16* %12 %15 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %13, i16* %15 %16 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %14, i16* %16 call void @_ZN4core4iter8iterator8Iterator3rev17hb9f594bea3752bf4E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_20, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) br label %bb4 bb4: ; preds = %bb3 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha5f1e23b4e5fe1daE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_19, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_20) br label %bb5 bb5: ; preds = %bb4 %17 = bitcast %"iter::Rev>"* %_19 to i8* %18 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %17, i16 4, i32 2, i1 false) br label %bb6 bb6: ; preds = %bb11, %bb5 call void @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf4e559224378bdcdE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_26, %"iter::Rev>"* dereferenceable(4) %iter) br label %bb7 bb7: ; preds = %bb6 %19 = getelementptr inbounds %"option::Option", %"option::Option"* %_26, i32 0, i32 0 %20 = load i16, i16* %19, !range !3 switch i16 %20, label %bb9 [ i16 0, label %bb8 ] bb8: ; preds = %bb7 %21 = load i64, i64* %result ret i64 %21 bb9: ; preds = %bb7 %22 = bitcast %"option::Option"* %_26 to { i16, i16 }* %23 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %22, i32 0, i32 1 %24 = load i16, i16* %23 %25 = load i64, i64* %result %26 = shl i64 %25, 1 br label %bb10 bb10: ; preds = %bb9 %27 = call i8 @_ZN4core3num6bignum8Big32x407get_bit17h842e6148aecc05b7E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0, i16 %24) br label %bb11 bb11: ; preds = %bb10 %28 = zext i8 %27 to i64 %29 = or i64 %26, %28 store i64 %29, i64* %result br label %bb6 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4w) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16), i64, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i32 0, i32 0 store i64 %1, i64* %3 %4 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i32 0, i32 1 store i16 %2, i16* %4 ret void } ; Function Attrs: uwtable define internal double @_ZN4core3num7dec2flt5rawfp8RawFloat9infinity217h22c80218d96fc81dE() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call double @"_ZN4core3f6450_$LT$impl$u20$core..num..Float$u20$for$u20$f64$GT$8infinity17hb0182c0eed6a3a63E"() br label %bb1 bb1: ; preds = %start ret double %0 } ; Function Attrs: uwtable define internal float @_ZN4core3num7dec2flt5rawfp8RawFloat9infinity217h57cd4ed2f068b3deE() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call float @"_ZN4core3f3250_$LT$impl$u20$core..num..Float$u20$for$u20$f32$GT$8infinity17h92a359cde5b26333E"() br label %bb1 bb1: ; preds = %start ret float %0 } ; Function Attrs: uwtable define internal float @_ZN4core3num7dec2flt5rawfp8RawFloat4nan217h4051ec898cd0d4d8E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call float @"_ZN4core3f3250_$LT$impl$u20$core..num..Float$u20$for$u20$f32$GT$3nan17h44c77e48f089c7dfE"() br label %bb1 bb1: ; preds = %start ret float %0 } ; Function Attrs: uwtable define internal double @_ZN4core3num7dec2flt5rawfp8RawFloat4nan217h6d5485108c0c6202E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call double @"_ZN4core3f6450_$LT$impl$u20$core..num..Float$u20$for$u20$f64$GT$3nan17h0e2c78c79ed279f6E"() br label %bb1 bb1: ; preds = %start ret double %0 } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt5rawfp8RawFloat15integer_decode217h1257133cc87f568aE({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16), double) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @"_ZN4core3f6450_$LT$impl$u20$core..num..Float$u20$for$u20$f64$GT$14integer_decode17h438dfbd3aa19248aE"({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16) %0, double %1) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt5rawfp8RawFloat15integer_decode217h42ba21943640059aE({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16), float) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @"_ZN4core3f3250_$LT$impl$u20$core..num..Float$u20$for$u20$f32$GT$14integer_decode17hd889309234d10bb5E"({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16) %0, float %1) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal i8 @_ZN4core3num7dec2flt5rawfp8RawFloat17explicit_sig_bits17h34415216a9a6d6eaE() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h5190caf96ab1d0ebE"() br label %bb1 bb1: ; preds = %start %1 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %0, i8 1) %2 = extractvalue { i8, i1 } %1, 0 %3 = extractvalue { i8, i1 } %1, 1 %4 = call i1 @llvm.expect.i1(i1 %3, i1 false) br i1 %4, label %panic, label %bb2 bb2: ; preds = %bb1 ret i8 %2 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4y) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3num7dec2flt5rawfp8RawFloat17explicit_sig_bits17ha9d81033ba096335E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h6883bf0cf56ef461E"() br label %bb1 bb1: ; preds = %start %1 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %0, i8 1) %2 = extractvalue { i8, i1 } %1, 0 %3 = extractvalue { i8, i1 } %1, 1 %4 = call i1 @llvm.expect.i1(i1 %3, i1 false) br i1 %4, label %panic, label %bb2 bb2: ; preds = %bb1 ret i8 %2 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4y) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_exp17h114559818054734eE() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8exp_bits17h4c0bcd515ebf93a9E"() br label %bb1 bb1: ; preds = %start %1 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %0, i8 1) %2 = extractvalue { i8, i1 } %1, 0 %3 = extractvalue { i8, i1 } %1, 1 %4 = call i1 @llvm.expect.i1(i1 %3, i1 false) br i1 %4, label %panic, label %bb2 bb2: ; preds = %bb1 %5 = and i8 %2, -16 %6 = icmp ne i8 %5, 0 %7 = zext i8 %2 to i16 %8 = and i16 %7, 15 %9 = shl i16 1, %8 %10 = call i1 @llvm.expect.i1(i1 %6, i1 false) br i1 %10, label %panic1, label %bb3 bb3: ; preds = %bb2 %11 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %9, i16 1) %12 = extractvalue { i16, i1 } %11, 0 %13 = extractvalue { i16, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic2, label %bb4 bb4: ; preds = %bb3 ret i16 %12 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4z) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4A) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4z) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_exp17h3aa09b5bc1e57f81E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8exp_bits17h4552ca0a8d5039bbE"() br label %bb1 bb1: ; preds = %start %1 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %0, i8 1) %2 = extractvalue { i8, i1 } %1, 0 %3 = extractvalue { i8, i1 } %1, 1 %4 = call i1 @llvm.expect.i1(i1 %3, i1 false) br i1 %4, label %panic, label %bb2 bb2: ; preds = %bb1 %5 = and i8 %2, -16 %6 = icmp ne i8 %5, 0 %7 = zext i8 %2 to i16 %8 = and i16 %7, 15 %9 = shl i16 1, %8 %10 = call i1 @llvm.expect.i1(i1 %6, i1 false) br i1 %10, label %panic1, label %bb3 bb3: ; preds = %bb2 %11 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %9, i16 1) %12 = extractvalue { i16, i1 } %11, 0 %13 = extractvalue { i16, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic2, label %bb4 bb4: ; preds = %bb3 ret i16 %12 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4z) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4A) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4z) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_exp17h8acab36181fc3902E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_exp17h114559818054734eE() br label %bb1 bb1: ; preds = %start %1 = icmp eq i16 %0, -32768 %2 = call i1 @llvm.expect.i1(i1 %1, i1 false) br i1 %2, label %panic, label %bb2 bb2: ; preds = %bb1 %3 = sub i16 0, %0 %4 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %3, i16 1) %5 = extractvalue { i16, i1 } %4, 0 %6 = extractvalue { i16, i1 } %4, 1 %7 = call i1 @llvm.expect.i1(i1 %6, i1 false) br i1 %7, label %panic1, label %bb3 bb3: ; preds = %bb2 ret i16 %5 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4B) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4C) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_exp17h8ade23753bba7c45E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_exp17h3aa09b5bc1e57f81E() br label %bb1 bb1: ; preds = %start %1 = icmp eq i16 %0, -32768 %2 = call i1 @llvm.expect.i1(i1 %1, i1 false) br i1 %2, label %panic, label %bb2 bb2: ; preds = %bb1 %3 = sub i16 0, %0 %4 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %3, i16 1) %5 = extractvalue { i16, i1 } %4, 0 %6 = extractvalue { i16, i1 } %4, 1 %7 = call i1 @llvm.expect.i1(i1 %6, i1 false) br i1 %7, label %panic1, label %bb3 bb3: ; preds = %bb2 ret i16 %5 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4B) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4C) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11max_exp_int17h3f59148c83086206E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_exp17h114559818054734eE() br label %bb1 bb1: ; preds = %start %1 = call i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h6883bf0cf56ef461E"() br label %bb2 bb2: ; preds = %bb1 %2 = zext i8 %1 to i16 %3 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %2, i16 1) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb3 bb3: ; preds = %bb2 %7 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %0, i16 %4) %8 = extractvalue { i16, i1 } %7, 0 %9 = extractvalue { i16, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic1, label %bb4 bb4: ; preds = %bb3 ret i16 %8 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4D) unreachable panic1: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4D) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11max_exp_int17hcca15dfccf8a6293E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_exp17h3aa09b5bc1e57f81E() br label %bb1 bb1: ; preds = %start %1 = call i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h5190caf96ab1d0ebE"() br label %bb2 bb2: ; preds = %bb1 %2 = zext i8 %1 to i16 %3 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %2, i16 1) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb3 bb3: ; preds = %bb2 %7 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %0, i16 %4) %8 = extractvalue { i16, i1 } %7, 0 %9 = extractvalue { i16, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic1, label %bb4 bb4: ; preds = %bb3 ret i16 %8 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4D) unreachable panic1: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4D) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3num7dec2flt5rawfp8RawFloat15max_encoded_exp17h48c680e3780dab69E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8exp_bits17h4c0bcd515ebf93a9E"() br label %bb1 bb1: ; preds = %start %1 = and i8 %0, -16 %2 = icmp ne i8 %1, 0 %3 = zext i8 %0 to i16 %4 = and i16 %3, 15 %5 = shl i16 1, %4 %6 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %6, label %panic, label %bb2 bb2: ; preds = %bb1 %7 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %5, i16 1) %8 = extractvalue { i16, i1 } %7, 0 %9 = extractvalue { i16, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic1, label %bb3 bb3: ; preds = %bb2 ret i16 %8 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4E) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4F) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3num7dec2flt5rawfp8RawFloat15max_encoded_exp17h4eb49c3866e2f9c7E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8exp_bits17h4552ca0a8d5039bbE"() br label %bb1 bb1: ; preds = %start %1 = and i8 %0, -16 %2 = icmp ne i8 %1, 0 %3 = zext i8 %0 to i16 %4 = and i16 %3, 15 %5 = shl i16 1, %4 %6 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %6, label %panic, label %bb2 bb2: ; preds = %bb1 %7 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %5, i16 1) %8 = extractvalue { i16, i1 } %7, 0 %9 = extractvalue { i16, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic1, label %bb3 bb3: ; preds = %bb2 ret i16 %8 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4E) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4F) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11min_exp_int17h0c6d68792df9dc6eE() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_exp17h8ade23753bba7c45E() br label %bb1 bb1: ; preds = %start %1 = call i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h5190caf96ab1d0ebE"() br label %bb2 bb2: ; preds = %bb1 %2 = zext i8 %1 to i16 %3 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %2, i16 1) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb3 bb3: ; preds = %bb2 %7 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %0, i16 %4) %8 = extractvalue { i16, i1 } %7, 0 %9 = extractvalue { i16, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic1, label %bb4 bb4: ; preds = %bb3 ret i16 %8 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4G) unreachable panic1: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4G) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3num7dec2flt5rawfp8RawFloat11min_exp_int17h248f99e7bee52b64E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_exp17h8acab36181fc3902E() br label %bb1 bb1: ; preds = %start %1 = call i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h6883bf0cf56ef461E"() br label %bb2 bb2: ; preds = %bb1 %2 = zext i8 %1 to i16 %3 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %2, i16 1) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb3 bb3: ; preds = %bb2 %7 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %0, i16 %4) %8 = extractvalue { i16, i1 } %7, 0 %9 = extractvalue { i16, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic1, label %bb4 bb4: ; preds = %bb3 ret i16 %8 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4G) unreachable panic1: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4G) unreachable } ; Function Attrs: uwtable define internal i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h806f12b9bb97dc72E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h6883bf0cf56ef461E"() br label %bb1 bb1: ; preds = %start %1 = and i8 %0, -64 %2 = icmp ne i8 %1, 0 %3 = zext i8 %0 to i64 %4 = and i64 %3, 63 %5 = shl i64 1, %4 %6 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %6, label %panic, label %bb2 bb2: ; preds = %bb1 %7 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %5, i64 1) %8 = extractvalue { i64, i1 } %7, 0 %9 = extractvalue { i64, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic1, label %bb3 bb3: ; preds = %bb2 ret i64 %8 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4H) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4I) unreachable } ; Function Attrs: uwtable define internal i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h9b573e6bf7d72a83E() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h5190caf96ab1d0ebE"() br label %bb1 bb1: ; preds = %start %1 = and i8 %0, -64 %2 = icmp ne i8 %1, 0 %3 = zext i8 %0 to i64 %4 = and i64 %3, 63 %5 = shl i64 1, %4 %6 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %6, label %panic, label %bb2 bb2: ; preds = %bb1 %7 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %5, i64 1) %8 = extractvalue { i64, i1 } %7, 0 %9 = extractvalue { i64, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic1, label %bb3 bb3: ; preds = %bb2 ret i64 %8 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4H) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4I) unreachable } ; Function Attrs: uwtable define internal i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17h7e992c3c7d1fef9eE() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h6883bf0cf56ef461E"() br label %bb1 bb1: ; preds = %start %1 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %0, i8 1) %2 = extractvalue { i8, i1 } %1, 0 %3 = extractvalue { i8, i1 } %1, 1 %4 = call i1 @llvm.expect.i1(i1 %3, i1 false) br i1 %4, label %panic, label %bb2 bb2: ; preds = %bb1 %5 = and i8 %2, -64 %6 = icmp ne i8 %5, 0 %7 = zext i8 %2 to i64 %8 = and i64 %7, 63 %9 = shl i64 1, %8 %10 = call i1 @llvm.expect.i1(i1 %6, i1 false) br i1 %10, label %panic1, label %bb3 bb3: ; preds = %bb2 ret i64 %9 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4J) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4K) unreachable } ; Function Attrs: uwtable define internal i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17hac5ea39fdee40fffE() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h5190caf96ab1d0ebE"() br label %bb1 bb1: ; preds = %start %1 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %0, i8 1) %2 = extractvalue { i8, i1 } %1, 0 %3 = extractvalue { i8, i1 } %1, 1 %4 = call i1 @llvm.expect.i1(i1 %3, i1 false) br i1 %4, label %panic, label %bb2 bb2: ; preds = %bb1 %5 = and i8 %2, -64 %6 = icmp ne i8 %5, 0 %7 = zext i8 %2 to i64 %8 = and i64 %7, 63 %9 = shl i64 1, %8 %10 = call i1 @llvm.expect.i1(i1 %6, i1 false) br i1 %10, label %panic1, label %bb3 bb3: ; preds = %bb2 ret i64 %9 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4J) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4K) unreachable } ; Function Attrs: uwtable define float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$5zero217hd4a81a365907739dE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret float 0.000000e+00 } ; Function Attrs: uwtable define i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h5190caf96ab1d0ebE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i8 24 } ; Function Attrs: uwtable define i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8exp_bits17h4552ca0a8d5039bbE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i8 8 } ; Function Attrs: uwtable define i16 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$20ceil_log5_of_max_sig17h8d1934c04f3b72ccE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i16 11 } ; Function Attrs: uwtable define i64 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9transmute17ha7f3827f6fb20f7aE"(float) unnamed_addr #1 { entry-block: %transmute_temp = alloca i32 br label %start start: ; preds = %entry-block %1 = bitcast i32* %transmute_temp to float* store float %0, float* %1, align 4 %2 = load i32, i32* %transmute_temp br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i64 ret i64 %3 } ; Function Attrs: uwtable define float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits17hbc6cc3c85e90f4b5E"(i64) unnamed_addr #1 { entry-block: %transmute_temp = alloca float %_3 = alloca {} br label %start start: ; preds = %entry-block %1 = icmp ult i64 %0, 4294967295 %2 = xor i1 %1, true br i1 %2, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits14_MSG_FILE_LINE17haac3806bef65dd79E") unreachable bb2: ; preds = %start %3 = trunc i64 %0 to i32 %4 = bitcast float* %transmute_temp to i32* store i32 %3, i32* %4, align 4 %5 = load float, float* %transmute_temp br label %bb3 bb3: ; preds = %bb2 ret float %5 } ; Function Attrs: uwtable define void @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$6unpack17hb23becc08850b65dE"(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16), float) unnamed_addr #1 { entry-block: %_6 = alloca { i64, i16, i8 } br label %start start: ; preds = %entry-block call void @_ZN4core3num7dec2flt5rawfp8RawFloat15integer_decode217h42ba21943640059aE({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16) %_6, float %1) br label %bb1 bb1: ; preds = %start %2 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %_6, i32 0, i32 0 %3 = load i64, i64* %2 %4 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %_6, i32 0, i32 1 %5 = load i16, i16* %4 %6 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %_6, i32 0, i32 2 %7 = load i8, i8* %6 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %0, i64 %3, i16 %5) br label %bb2 bb2: ; preds = %bb1 ret void } ; Function Attrs: uwtable define float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8from_int17h5b2c4f0706be8b69E"(i64) unnamed_addr #1 { entry-block: %arg = alloca %"num::diy_float::Fp" %_10 = alloca %"num::diy_float::Fp" %_4 = alloca {} %_3 = alloca {} br label %start start: ; preds = %entry-block %1 = uitofp i64 %0 to float %2 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_10, i32 0, i32 0 store i64 %0, i64* %2 %3 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_10, i32 0, i32 1 store i16 0, i16* %3 %4 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_10, i32 0, i32 0 %5 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_10, i32 0, i32 1 %6 = load i64, i64* %4 %7 = load i16, i16* %5 %8 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg, i32 0, i32 0 store i64 %6, i64* %8 %9 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg, i32 0, i32 1 store i16 %7, i16* %9 %10 = call float @_ZN4core3num7dec2flt5rawfp11fp_to_float17h8ebff213dfed67fcE(%"num::diy_float::Fp"* noalias nocapture dereferenceable(16) %arg) br label %bb1 bb1: ; preds = %start %11 = fcmp oeq float %1, %10 %12 = xor i1 %11, true br i1 %12, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8from_int14_MSG_FILE_LINE17hf65814c9d9a82d2bE") unreachable bb3: ; preds = %bb1 %13 = uitofp i64 %0 to float ret float %13 } ; Function Attrs: uwtable define float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$16short_fast_pow1017h2299e85f8ea8591dE"(i16) unnamed_addr #1 { entry-block: %_4 = alloca [11 x float] br label %start start: ; preds = %entry-block %1 = bitcast [11 x float]* %_4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %1, i8* bitcast ([11 x float]* @const.4L to i8*), i16 44, i32 4, i1 false) %2 = icmp ult i16 %0, 11 %3 = call i1 @llvm.expect.i1(i1 %2, i1 true) br i1 %3, label %bb1, label %panic bb1: ; preds = %start %4 = getelementptr inbounds [11 x float], [11 x float]* %_4, i16 0, i16 %0 %5 = load float, float* %4 ret float %5 panic: ; preds = %start call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.4M, i16 %0, i16 11) unreachable } ; Function Attrs: uwtable define i16 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$17max_normal_digits17h5aba8d2505446188E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i16 35 } ; Function Attrs: uwtable define i64 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$10inf_cutoff17h1424823b996f4cbdE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i64 40 } ; Function Attrs: uwtable define i64 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$11zero_cutoff17ha22f06606727cee8E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i64 -48 } ; Function Attrs: uwtable define double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$5zero217h1868a106ca5e8ec0E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret double 0.000000e+00 } ; Function Attrs: uwtable define i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h6883bf0cf56ef461E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i8 53 } ; Function Attrs: uwtable define i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8exp_bits17h4c0bcd515ebf93a9E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i8 11 } ; Function Attrs: uwtable define i16 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$20ceil_log5_of_max_sig17h4a062d5e915d0688E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i16 23 } ; Function Attrs: uwtable define i64 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9transmute17hc4e00b7e6f8677abE"(double) unnamed_addr #1 { entry-block: %transmute_temp = alloca i64 br label %start start: ; preds = %entry-block %1 = bitcast i64* %transmute_temp to double* store double %0, double* %1, align 8 %2 = load i64, i64* %transmute_temp br label %bb1 bb1: ; preds = %start ret i64 %2 } ; Function Attrs: uwtable define double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits17hde13ccd8c401efe2E"(i64) unnamed_addr #1 { entry-block: %transmute_temp = alloca double br label %start start: ; preds = %entry-block %1 = bitcast double* %transmute_temp to i64* store i64 %0, i64* %1, align 8 %2 = load double, double* %transmute_temp br label %bb1 bb1: ; preds = %start ret double %2 } ; Function Attrs: uwtable define void @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$6unpack17h4e614533e40a2280E"(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16), double) unnamed_addr #1 { entry-block: %_6 = alloca { i64, i16, i8 } br label %start start: ; preds = %entry-block call void @_ZN4core3num7dec2flt5rawfp8RawFloat15integer_decode217h1257133cc87f568aE({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16) %_6, double %1) br label %bb1 bb1: ; preds = %start %2 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %_6, i32 0, i32 0 %3 = load i64, i64* %2 %4 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %_6, i32 0, i32 1 %5 = load i16, i16* %4 %6 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %_6, i32 0, i32 2 %7 = load i8, i8* %6 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %0, i64 %3, i16 %5) br label %bb2 bb2: ; preds = %bb1 ret void } ; Function Attrs: uwtable define double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8from_int17h64f4de47369521e6E"(i64) unnamed_addr #1 { entry-block: %arg = alloca %"num::diy_float::Fp" %_10 = alloca %"num::diy_float::Fp" %_4 = alloca {} %_3 = alloca {} br label %start start: ; preds = %entry-block %1 = uitofp i64 %0 to double %2 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_10, i32 0, i32 0 store i64 %0, i64* %2 %3 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_10, i32 0, i32 1 store i16 0, i16* %3 %4 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_10, i32 0, i32 0 %5 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_10, i32 0, i32 1 %6 = load i64, i64* %4 %7 = load i16, i16* %5 %8 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg, i32 0, i32 0 store i64 %6, i64* %8 %9 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg, i32 0, i32 1 store i16 %7, i16* %9 %10 = call double @_ZN4core3num7dec2flt5rawfp11fp_to_float17h95afbf8e417bf9acE(%"num::diy_float::Fp"* noalias nocapture dereferenceable(16) %arg) br label %bb1 bb1: ; preds = %start %11 = fcmp oeq double %1, %10 %12 = xor i1 %11, true br i1 %12, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8from_int14_MSG_FILE_LINE17hf613ad8708708ce7E") unreachable bb3: ; preds = %bb1 %13 = uitofp i64 %0 to double ret double %13 } ; Function Attrs: uwtable define double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$16short_fast_pow1017h01748aded554c931E"(i16) unnamed_addr #1 { entry-block: %_4 = alloca [23 x double] br label %start start: ; preds = %entry-block %1 = bitcast [23 x double]* %_4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %1, i8* bitcast ([23 x double]* @const.4N to i8*), i16 184, i32 8, i1 false) %2 = icmp ult i16 %0, 23 %3 = call i1 @llvm.expect.i1(i1 %2, i1 true) br i1 %3, label %bb1, label %panic bb1: ; preds = %start %4 = getelementptr inbounds [23 x double], [23 x double]* %_4, i16 0, i16 %0 %5 = load double, double* %4 ret double %5 panic: ; preds = %start call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.4O, i16 %0, i16 23) unreachable } ; Function Attrs: uwtable define i16 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$17max_normal_digits17h9d2c399a3f7341daE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i16 305 } ; Function Attrs: uwtable define i64 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$10inf_cutoff17h64266993d81db63cE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i64 310 } ; Function Attrs: uwtable define i64 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$11zero_cutoff17hb31f1d98a424df96E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i64 -326 } ; Function Attrs: uwtable define internal float @_ZN4core3num7dec2flt5rawfp11fp_to_float17h8ebff213dfed67fcE(%"num::diy_float::Fp"* noalias nocapture dereferenceable(16)) unnamed_addr #1 { entry-block: %tmp_ret4 = alloca %"fmt::ArgumentV1" %arg3 = alloca %"num::dec2flt::rawfp::Unpacked" %arg = alloca %"num::diy_float::Fp" %tmp_ret2 = alloca %"num::dec2flt::rawfp::Unpacked" %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"num::diy_float::Fp" %_36 = alloca { i16* } %_35 = alloca [1 x %"fmt::ArgumentV1"] %_30 = alloca %"fmt::Arguments" %_17 = alloca { i16* } %_16 = alloca [1 x %"fmt::ArgumentV1"] %_11 = alloca %"fmt::Arguments" %e = alloca i16 %x = alloca %"num::diy_float::Fp" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 0 %2 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 1 %3 = load i64, i64* %1 %4 = load i16, i16* %2 %5 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 0 store i64 %3, i64* %5 %6 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 1 store i16 %4, i16* %6 call void @_ZN4core3num9diy_float2Fp9normalize17h78d98e4ca9647a41E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %tmp_ret, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %x) %7 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %tmp_ret, i32 0, i32 0 %8 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %tmp_ret, i32 0, i32 1 %9 = load i64, i64* %7 %10 = load i16, i16* %8 br label %bb1 bb1: ; preds = %start %11 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %10, i16 63) %12 = extractvalue { i16, i1 } %11, 0 %13 = extractvalue { i16, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic, label %bb2 bb2: ; preds = %bb1 store i16 %12, i16* %e %15 = load i16, i16* %e %16 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_exp17h3aa09b5bc1e57f81E() br label %bb3 bb3: ; preds = %bb2 %17 = icmp sgt i16 %15, %16 br i1 %17, label %bb4, label %bb5 bb4: ; preds = %bb3 %18 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7dec2flt5rawfp11fp_to_float15__STATIC_FMTSTR17hacc06cae0f828d0fE, i32 0, i32 0), !nonnull !1 %19 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7dec2flt5rawfp11fp_to_float15__STATIC_FMTSTR17hacc06cae0f828d0fE, i32 0, i32 1) %20 = getelementptr inbounds { i16* }, { i16* }* %_17, i32 0, i32 0 store i16* %e, i16** %20 %21 = getelementptr inbounds { i16* }, { i16* }* %_17, i32 0, i32 0 %22 = load i16*, i16** %21, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf2b007dd1478b8f3E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, i16* noalias readonly dereferenceable(2) %22, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i16$GT$3fmt17he76e9e28e878c60dE") %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %24 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %25 = load %"fmt::Void"*, %"fmt::Void"** %23, !nonnull !1 %26 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %24, !nonnull !1 br label %bb6 bb5: ; preds = %bb3 %27 = load i16, i16* %e %28 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_exp17h8ade23753bba7c45E() br label %bb8 bb6: ; preds = %bb4 %29 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_16, i32 0, i32 0 %30 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 0 store %"fmt::Void"* %25, %"fmt::Void"** %30 %31 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %26, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %31 %32 = bitcast [1 x %"fmt::ArgumentV1"]* %_16 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_11, %str_slice* noalias nonnull readonly %18, i16 %19, %"fmt::ArgumentV1"* noalias nonnull readonly %32, i16 1) br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_11, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7dec2flt5rawfp11fp_to_float10_FILE_LINE17h245de7b91f43ca4dE) unreachable bb8: ; preds = %bb5 %33 = icmp sgt i16 %27, %28 br i1 %33, label %bb9, label %bb10 bb9: ; preds = %bb8 %34 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg, i32 0, i32 0 store i64 %9, i64* %34 %35 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg, i32 0, i32 1 store i16 %10, i16* %35 call void @_ZN4core3num7dec2flt5rawfp12round_normal17h8c8da39b0d939aaaE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret2, %"num::diy_float::Fp"* noalias nocapture dereferenceable(16) %arg) %36 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret2, i32 0, i32 0 %37 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret2, i32 0, i32 1 %38 = load i64, i64* %36 %39 = load i16, i16* %37 br label %bb11 bb10: ; preds = %bb8 %40 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7dec2flt5rawfp11fp_to_float15__STATIC_FMTSTR17h020bf701b3b354d9E, i32 0, i32 0), !nonnull !1 %41 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7dec2flt5rawfp11fp_to_float15__STATIC_FMTSTR17h020bf701b3b354d9E, i32 0, i32 1) %42 = getelementptr inbounds { i16* }, { i16* }* %_36, i32 0, i32 0 store i16* %e, i16** %42 %43 = getelementptr inbounds { i16* }, { i16* }* %_36, i32 0, i32 0 %44 = load i16*, i16** %43, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf2b007dd1478b8f3E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret4, i16* noalias readonly dereferenceable(2) %44, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i16$GT$3fmt17he76e9e28e878c60dE") %45 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 0 %46 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 1 %47 = load %"fmt::Void"*, %"fmt::Void"** %45, !nonnull !1 %48 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %46, !nonnull !1 br label %bb13 bb11: ; preds = %bb9 %49 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg3, i32 0, i32 0 store i64 %38, i64* %49 %50 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg3, i32 0, i32 1 store i16 %39, i16* %50 %51 = call float @_ZN4core3num7dec2flt5rawfp13encode_normal17h004dd859b47b5bedE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture dereferenceable(16) %arg3) br label %bb12 bb12: ; preds = %bb11 ret float %51 bb13: ; preds = %bb10 %52 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_35, i32 0, i32 0 %53 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %52, i32 0, i32 0 store %"fmt::Void"* %47, %"fmt::Void"** %53 %54 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %52, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %48, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %54 %55 = bitcast [1 x %"fmt::ArgumentV1"]* %_35 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_30, %str_slice* noalias nonnull readonly %40, i16 %41, %"fmt::ArgumentV1"* noalias nonnull readonly %55, i16 1) br label %bb14 bb14: ; preds = %bb13 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_30, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7dec2flt5rawfp11fp_to_float10_FILE_LINE17h467ebeacba895acaE) unreachable panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4P) unreachable } ; Function Attrs: uwtable define internal double @_ZN4core3num7dec2flt5rawfp11fp_to_float17h95afbf8e417bf9acE(%"num::diy_float::Fp"* noalias nocapture dereferenceable(16)) unnamed_addr #1 { entry-block: %tmp_ret4 = alloca %"fmt::ArgumentV1" %arg3 = alloca %"num::dec2flt::rawfp::Unpacked" %arg = alloca %"num::diy_float::Fp" %tmp_ret2 = alloca %"num::dec2flt::rawfp::Unpacked" %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"num::diy_float::Fp" %_36 = alloca { i16* } %_35 = alloca [1 x %"fmt::ArgumentV1"] %_30 = alloca %"fmt::Arguments" %_17 = alloca { i16* } %_16 = alloca [1 x %"fmt::ArgumentV1"] %_11 = alloca %"fmt::Arguments" %e = alloca i16 %x = alloca %"num::diy_float::Fp" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 0 %2 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 1 %3 = load i64, i64* %1 %4 = load i16, i16* %2 %5 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 0 store i64 %3, i64* %5 %6 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 1 store i16 %4, i16* %6 call void @_ZN4core3num9diy_float2Fp9normalize17h78d98e4ca9647a41E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %tmp_ret, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %x) %7 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %tmp_ret, i32 0, i32 0 %8 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %tmp_ret, i32 0, i32 1 %9 = load i64, i64* %7 %10 = load i16, i16* %8 br label %bb1 bb1: ; preds = %start %11 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %10, i16 63) %12 = extractvalue { i16, i1 } %11, 0 %13 = extractvalue { i16, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic, label %bb2 bb2: ; preds = %bb1 store i16 %12, i16* %e %15 = load i16, i16* %e %16 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_exp17h114559818054734eE() br label %bb3 bb3: ; preds = %bb2 %17 = icmp sgt i16 %15, %16 br i1 %17, label %bb4, label %bb5 bb4: ; preds = %bb3 %18 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7dec2flt5rawfp11fp_to_float15__STATIC_FMTSTR17hacc06cae0f828d0fE, i32 0, i32 0), !nonnull !1 %19 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7dec2flt5rawfp11fp_to_float15__STATIC_FMTSTR17hacc06cae0f828d0fE, i32 0, i32 1) %20 = getelementptr inbounds { i16* }, { i16* }* %_17, i32 0, i32 0 store i16* %e, i16** %20 %21 = getelementptr inbounds { i16* }, { i16* }* %_17, i32 0, i32 0 %22 = load i16*, i16** %21, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf2b007dd1478b8f3E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, i16* noalias readonly dereferenceable(2) %22, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i16$GT$3fmt17he76e9e28e878c60dE") %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %24 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %25 = load %"fmt::Void"*, %"fmt::Void"** %23, !nonnull !1 %26 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %24, !nonnull !1 br label %bb6 bb5: ; preds = %bb3 %27 = load i16, i16* %e %28 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_exp17h8acab36181fc3902E() br label %bb8 bb6: ; preds = %bb4 %29 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_16, i32 0, i32 0 %30 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 0 store %"fmt::Void"* %25, %"fmt::Void"** %30 %31 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %26, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %31 %32 = bitcast [1 x %"fmt::ArgumentV1"]* %_16 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_11, %str_slice* noalias nonnull readonly %18, i16 %19, %"fmt::ArgumentV1"* noalias nonnull readonly %32, i16 1) br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_11, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7dec2flt5rawfp11fp_to_float10_FILE_LINE17h245de7b91f43ca4dE) unreachable bb8: ; preds = %bb5 %33 = icmp sgt i16 %27, %28 br i1 %33, label %bb9, label %bb10 bb9: ; preds = %bb8 %34 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg, i32 0, i32 0 store i64 %9, i64* %34 %35 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %arg, i32 0, i32 1 store i16 %10, i16* %35 call void @_ZN4core3num7dec2flt5rawfp12round_normal17h8b5a5d253baa144dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret2, %"num::diy_float::Fp"* noalias nocapture dereferenceable(16) %arg) %36 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret2, i32 0, i32 0 %37 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret2, i32 0, i32 1 %38 = load i64, i64* %36 %39 = load i16, i16* %37 br label %bb11 bb10: ; preds = %bb8 %40 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7dec2flt5rawfp11fp_to_float15__STATIC_FMTSTR17h020bf701b3b354d9E, i32 0, i32 0), !nonnull !1 %41 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7dec2flt5rawfp11fp_to_float15__STATIC_FMTSTR17h020bf701b3b354d9E, i32 0, i32 1) %42 = getelementptr inbounds { i16* }, { i16* }* %_36, i32 0, i32 0 store i16* %e, i16** %42 %43 = getelementptr inbounds { i16* }, { i16* }* %_36, i32 0, i32 0 %44 = load i16*, i16** %43, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf2b007dd1478b8f3E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret4, i16* noalias readonly dereferenceable(2) %44, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i16$GT$3fmt17he76e9e28e878c60dE") %45 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 0 %46 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 1 %47 = load %"fmt::Void"*, %"fmt::Void"** %45, !nonnull !1 %48 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %46, !nonnull !1 br label %bb13 bb11: ; preds = %bb9 %49 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg3, i32 0, i32 0 store i64 %38, i64* %49 %50 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg3, i32 0, i32 1 store i16 %39, i16* %50 %51 = call double @_ZN4core3num7dec2flt5rawfp13encode_normal17h16c47613bacc3439E(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture dereferenceable(16) %arg3) br label %bb12 bb12: ; preds = %bb11 ret double %51 bb13: ; preds = %bb10 %52 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_35, i32 0, i32 0 %53 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %52, i32 0, i32 0 store %"fmt::Void"* %47, %"fmt::Void"** %53 %54 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %52, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %48, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %54 %55 = bitcast [1 x %"fmt::ArgumentV1"]* %_35 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_30, %str_slice* noalias nonnull readonly %40, i16 %41, %"fmt::ArgumentV1"* noalias nonnull readonly %55, i16 1) br label %bb14 bb14: ; preds = %bb13 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_30, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7dec2flt5rawfp11fp_to_float10_FILE_LINE17h467ebeacba895acaE) unreachable panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4P) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt5rawfp12round_normal17h8b5a5d253baa144dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16), %"num::diy_float::Fp"* noalias nocapture dereferenceable(16)) unnamed_addr #1 { entry-block: %tmp_ret7 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_70 = alloca i8 %_48 = alloca { i64**, i64** } %_47 = alloca [2 x %"fmt::ArgumentV1"] %_42 = alloca %"fmt::Arguments" %right_val = alloca i64* %left_val = alloca i64* %_29 = alloca i64 %_27 = alloca { i64*, i64* } %_26 = alloca {} %_14 = alloca { i64, i64 } %x = alloca %"num::diy_float::Fp" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 0 %3 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 1 %4 = load i64, i64* %2 %5 = load i16, i16* %3 %6 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 0 store i64 %4, i64* %6 %7 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 1 store i16 %5, i16* %7 %8 = call i8 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h6883bf0cf56ef461E"() br label %bb1 bb1: ; preds = %start %9 = zext i8 %8 to i16 %10 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 64, i16 %9) %11 = extractvalue { i16, i1 } %10, 0 %12 = extractvalue { i16, i1 } %10, 1 %13 = call i1 @llvm.expect.i1(i1 %12, i1 false) br i1 %13, label %panic, label %bb2 bb2: ; preds = %bb1 %14 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %11, i16 1) %15 = extractvalue { i16, i1 } %14, 0 %16 = extractvalue { i16, i1 } %14, 1 %17 = call i1 @llvm.expect.i1(i1 %16, i1 false) br i1 %17, label %panic1, label %bb3 bb3: ; preds = %bb2 %18 = and i16 %15, -64 %19 = icmp ne i16 %18, 0 %20 = zext i16 %15 to i64 %21 = and i64 %20, 63 %22 = shl i64 1, %21 %23 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %23, label %panic2, label %bb4 bb4: ; preds = %bb3 %24 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 0 %25 = load i64, i64* %24 %26 = and i16 %11, -64 %27 = icmp ne i16 %26, 0 %28 = zext i16 %11 to i64 %29 = and i64 %28, 63 %30 = lshr i64 %25, %29 %31 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %31, label %panic3, label %bb5 bb5: ; preds = %bb4 %32 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 0 %33 = load i64, i64* %32 %34 = and i16 %11, -64 %35 = icmp ne i16 %34, 0 %36 = zext i16 %11 to i64 %37 = and i64 %36, 63 %38 = shl i64 1, %37 %39 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %39, label %panic4, label %bb6 bb6: ; preds = %bb5 %40 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %38, i64 1) %41 = extractvalue { i64, i1 } %40, 0 %42 = extractvalue { i64, i1 } %40, 1 %43 = call i1 @llvm.expect.i1(i1 %42, i1 false) br i1 %43, label %panic5, label %bb7 bb7: ; preds = %bb6 %44 = and i64 %33, %41 %45 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_14, i32 0, i32 0 store i64 %30, i64* %45 %46 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_14, i32 0, i32 1 store i64 %44, i64* %46 %47 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_14, i32 0, i32 0 %48 = load i64, i64* %47 %49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_14, i32 0, i32 1 %50 = load i64, i64* %49 %51 = and i16 %11, -64 %52 = icmp ne i16 %51, 0 %53 = zext i16 %11 to i64 %54 = and i64 %53, 63 %55 = shl i64 %48, %54 %56 = call i1 @llvm.expect.i1(i1 %52, i1 false) br i1 %56, label %panic6, label %bb8 bb8: ; preds = %bb7 %57 = or i64 %55, %50 store i64 %57, i64* %_29 %58 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 0 %59 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %_27, i32 0, i32 0 store i64* %_29, i64** %59 %60 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %_27, i32 0, i32 1 store i64* %58, i64** %60 %61 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %_27, i32 0, i32 0 %62 = load i64*, i64** %61, !nonnull !1 store i64* %62, i64** %left_val %63 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %_27, i32 0, i32 1 %64 = load i64*, i64** %63, !nonnull !1 store i64* %64, i64** %right_val %65 = load i64*, i64** %left_val, !nonnull !1 %66 = load i64, i64* %65 %67 = load i64*, i64** %right_val, !nonnull !1 %68 = load i64, i64* %67 %69 = icmp eq i64 %66, %68 %70 = xor i1 %69, true br i1 %70, label %bb9, label %bb10 bb9: ; preds = %bb8 %71 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7dec2flt5rawfp12round_normal15__STATIC_FMTSTR17hb82a1651718652a3E, i32 0, i32 0), !nonnull !1 %72 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7dec2flt5rawfp12round_normal15__STATIC_FMTSTR17hb82a1651718652a3E, i32 0, i32 1) %73 = getelementptr inbounds { i64**, i64** }, { i64**, i64** }* %_48, i32 0, i32 0 store i64** %left_val, i64*** %73 %74 = getelementptr inbounds { i64**, i64** }, { i64**, i64** }* %_48, i32 0, i32 1 store i64** %right_val, i64*** %74 %75 = getelementptr inbounds { i64**, i64** }, { i64**, i64** }* %_48, i32 0, i32 0 %76 = load i64**, i64*** %75, !nonnull !1 %77 = getelementptr inbounds { i64**, i64** }, { i64**, i64** }* %_48, i32 0, i32 1 %78 = load i64**, i64*** %77, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h3f21237e99a6aa29E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i64** noalias readonly dereferenceable(2) %76, i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hc6bce8b1263db721E") %79 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %80 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %81 = load %"fmt::Void"*, %"fmt::Void"** %79, !nonnull !1 %82 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %80, !nonnull !1 br label %bb11 bb10: ; preds = %bb8 %83 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 1 %84 = load i16, i16* %83 %85 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %84, i16 %11) %86 = extractvalue { i16, i1 } %85, 0 %87 = extractvalue { i16, i1 } %85, 1 %88 = call i1 @llvm.expect.i1(i1 %87, i1 false) br i1 %88, label %panic8, label %bb14 bb11: ; preds = %bb9 call void @_ZN4core3fmt10ArgumentV13new17h3f21237e99a6aa29E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret7, i64** noalias readonly dereferenceable(2) %78, i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hc6bce8b1263db721E") %89 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret7, i32 0, i32 0 %90 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret7, i32 0, i32 1 %91 = load %"fmt::Void"*, %"fmt::Void"** %89, !nonnull !1 %92 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %90, !nonnull !1 br label %bb12 bb12: ; preds = %bb11 %93 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_47, i32 0, i32 0 %94 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %93, i32 0, i32 0 store %"fmt::Void"* %81, %"fmt::Void"** %94 %95 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %93, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %82, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %95 %96 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_47, i32 0, i32 1 %97 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %96, i32 0, i32 0 store %"fmt::Void"* %91, %"fmt::Void"** %97 %98 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %96, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %92, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %98 %99 = bitcast [2 x %"fmt::ArgumentV1"]* %_47 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_42, %str_slice* noalias nonnull readonly %71, i16 %72, %"fmt::ArgumentV1"* noalias nonnull readonly %99, i16 2) br label %bb13 bb13: ; preds = %bb12 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_42, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7dec2flt5rawfp12round_normal10_FILE_LINE17ha2587f6c02acc30cE) unreachable bb14: ; preds = %bb10 %100 = icmp ult i64 %50, %22 br i1 %100, label %bb15, label %bb16 bb15: ; preds = %bb14 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %0, i64 %48, i16 %86) br label %bb17 bb16: ; preds = %bb14 %101 = icmp eq i64 %50, %22 br i1 %101, label %bb20, label %bb19 bb17: ; preds = %bb15 br label %bb36 bb18: ; preds = %bb22 store i8 1, i8* %_70 br label %bb21 bb19: ; preds = %bb22, %bb16 store i8 0, i8* %_70 br label %bb21 bb20: ; preds = %bb16 br label %bb22 bb21: ; preds = %bb19, %bb18 %102 = load i8, i8* %_70, !range !2 %103 = trunc i8 %102 to i1 br i1 %103, label %bb23, label %bb24 bb22: ; preds = %bb20 %104 = urem i64 %48, 2 %105 = icmp eq i64 %104, 0 br i1 %105, label %bb18, label %bb19 bb23: ; preds = %bb21 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %0, i64 %48, i16 %86) br label %bb25 bb24: ; preds = %bb21 %106 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h806f12b9bb97dc72E() br label %bb26 bb25: ; preds = %bb23 br label %bb35 bb26: ; preds = %bb24 %107 = icmp eq i64 %48, %106 br i1 %107, label %bb27, label %bb28 bb27: ; preds = %bb26 %108 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17h7e992c3c7d1fef9eE() br label %bb29 bb28: ; preds = %bb26 %109 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %48, i64 1) %110 = extractvalue { i64, i1 } %109, 0 %111 = extractvalue { i64, i1 } %109, 1 %112 = call i1 @llvm.expect.i1(i1 %111, i1 false) br i1 %112, label %panic10, label %bb32 bb29: ; preds = %bb27 %113 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %86, i16 1) %114 = extractvalue { i16, i1 } %113, 0 %115 = extractvalue { i16, i1 } %113, 1 %116 = call i1 @llvm.expect.i1(i1 %115, i1 false) br i1 %116, label %panic9, label %bb30 bb30: ; preds = %bb29 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %0, i64 %108, i16 %114) br label %bb31 bb31: ; preds = %bb30 br label %bb34 bb32: ; preds = %bb28 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %0, i64 %110, i16 %86) br label %bb33 bb33: ; preds = %bb32 br label %bb34 bb34: ; preds = %bb33, %bb31 br label %bb35 bb35: ; preds = %bb34, %bb25 br label %bb36 bb36: ; preds = %bb35, %bb17 ret void panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4Q) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4R) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4S) unreachable panic3: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4T) unreachable panic4: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4U) unreachable panic5: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4V) unreachable panic6: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4W) unreachable panic8: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4X) unreachable panic9: ; preds = %bb29 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4Y) unreachable panic10: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4Z) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt5rawfp12round_normal17h8c8da39b0d939aaaE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16), %"num::diy_float::Fp"* noalias nocapture dereferenceable(16)) unnamed_addr #1 { entry-block: %tmp_ret7 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_70 = alloca i8 %_48 = alloca { i64**, i64** } %_47 = alloca [2 x %"fmt::ArgumentV1"] %_42 = alloca %"fmt::Arguments" %right_val = alloca i64* %left_val = alloca i64* %_29 = alloca i64 %_27 = alloca { i64*, i64* } %_26 = alloca {} %_14 = alloca { i64, i64 } %x = alloca %"num::diy_float::Fp" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 0 %3 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 1 %4 = load i64, i64* %2 %5 = load i16, i16* %3 %6 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 0 store i64 %4, i64* %6 %7 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 1 store i16 %5, i16* %7 %8 = call i8 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8sig_bits17h5190caf96ab1d0ebE"() br label %bb1 bb1: ; preds = %start %9 = zext i8 %8 to i16 %10 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 64, i16 %9) %11 = extractvalue { i16, i1 } %10, 0 %12 = extractvalue { i16, i1 } %10, 1 %13 = call i1 @llvm.expect.i1(i1 %12, i1 false) br i1 %13, label %panic, label %bb2 bb2: ; preds = %bb1 %14 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %11, i16 1) %15 = extractvalue { i16, i1 } %14, 0 %16 = extractvalue { i16, i1 } %14, 1 %17 = call i1 @llvm.expect.i1(i1 %16, i1 false) br i1 %17, label %panic1, label %bb3 bb3: ; preds = %bb2 %18 = and i16 %15, -64 %19 = icmp ne i16 %18, 0 %20 = zext i16 %15 to i64 %21 = and i64 %20, 63 %22 = shl i64 1, %21 %23 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %23, label %panic2, label %bb4 bb4: ; preds = %bb3 %24 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 0 %25 = load i64, i64* %24 %26 = and i16 %11, -64 %27 = icmp ne i16 %26, 0 %28 = zext i16 %11 to i64 %29 = and i64 %28, 63 %30 = lshr i64 %25, %29 %31 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %31, label %panic3, label %bb5 bb5: ; preds = %bb4 %32 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 0 %33 = load i64, i64* %32 %34 = and i16 %11, -64 %35 = icmp ne i16 %34, 0 %36 = zext i16 %11 to i64 %37 = and i64 %36, 63 %38 = shl i64 1, %37 %39 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %39, label %panic4, label %bb6 bb6: ; preds = %bb5 %40 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %38, i64 1) %41 = extractvalue { i64, i1 } %40, 0 %42 = extractvalue { i64, i1 } %40, 1 %43 = call i1 @llvm.expect.i1(i1 %42, i1 false) br i1 %43, label %panic5, label %bb7 bb7: ; preds = %bb6 %44 = and i64 %33, %41 %45 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_14, i32 0, i32 0 store i64 %30, i64* %45 %46 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_14, i32 0, i32 1 store i64 %44, i64* %46 %47 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_14, i32 0, i32 0 %48 = load i64, i64* %47 %49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %_14, i32 0, i32 1 %50 = load i64, i64* %49 %51 = and i16 %11, -64 %52 = icmp ne i16 %51, 0 %53 = zext i16 %11 to i64 %54 = and i64 %53, 63 %55 = shl i64 %48, %54 %56 = call i1 @llvm.expect.i1(i1 %52, i1 false) br i1 %56, label %panic6, label %bb8 bb8: ; preds = %bb7 %57 = or i64 %55, %50 store i64 %57, i64* %_29 %58 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 0 %59 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %_27, i32 0, i32 0 store i64* %_29, i64** %59 %60 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %_27, i32 0, i32 1 store i64* %58, i64** %60 %61 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %_27, i32 0, i32 0 %62 = load i64*, i64** %61, !nonnull !1 store i64* %62, i64** %left_val %63 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %_27, i32 0, i32 1 %64 = load i64*, i64** %63, !nonnull !1 store i64* %64, i64** %right_val %65 = load i64*, i64** %left_val, !nonnull !1 %66 = load i64, i64* %65 %67 = load i64*, i64** %right_val, !nonnull !1 %68 = load i64, i64* %67 %69 = icmp eq i64 %66, %68 %70 = xor i1 %69, true br i1 %70, label %bb9, label %bb10 bb9: ; preds = %bb8 %71 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7dec2flt5rawfp12round_normal15__STATIC_FMTSTR17hb82a1651718652a3E, i32 0, i32 0), !nonnull !1 %72 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num7dec2flt5rawfp12round_normal15__STATIC_FMTSTR17hb82a1651718652a3E, i32 0, i32 1) %73 = getelementptr inbounds { i64**, i64** }, { i64**, i64** }* %_48, i32 0, i32 0 store i64** %left_val, i64*** %73 %74 = getelementptr inbounds { i64**, i64** }, { i64**, i64** }* %_48, i32 0, i32 1 store i64** %right_val, i64*** %74 %75 = getelementptr inbounds { i64**, i64** }, { i64**, i64** }* %_48, i32 0, i32 0 %76 = load i64**, i64*** %75, !nonnull !1 %77 = getelementptr inbounds { i64**, i64** }, { i64**, i64** }* %_48, i32 0, i32 1 %78 = load i64**, i64*** %77, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h3f21237e99a6aa29E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i64** noalias readonly dereferenceable(2) %76, i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hc6bce8b1263db721E") %79 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %80 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %81 = load %"fmt::Void"*, %"fmt::Void"** %79, !nonnull !1 %82 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %80, !nonnull !1 br label %bb11 bb10: ; preds = %bb8 %83 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %x, i32 0, i32 1 %84 = load i16, i16* %83 %85 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %84, i16 %11) %86 = extractvalue { i16, i1 } %85, 0 %87 = extractvalue { i16, i1 } %85, 1 %88 = call i1 @llvm.expect.i1(i1 %87, i1 false) br i1 %88, label %panic8, label %bb14 bb11: ; preds = %bb9 call void @_ZN4core3fmt10ArgumentV13new17h3f21237e99a6aa29E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret7, i64** noalias readonly dereferenceable(2) %78, i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hc6bce8b1263db721E") %89 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret7, i32 0, i32 0 %90 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret7, i32 0, i32 1 %91 = load %"fmt::Void"*, %"fmt::Void"** %89, !nonnull !1 %92 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %90, !nonnull !1 br label %bb12 bb12: ; preds = %bb11 %93 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_47, i32 0, i32 0 %94 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %93, i32 0, i32 0 store %"fmt::Void"* %81, %"fmt::Void"** %94 %95 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %93, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %82, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %95 %96 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_47, i32 0, i32 1 %97 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %96, i32 0, i32 0 store %"fmt::Void"* %91, %"fmt::Void"** %97 %98 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %96, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %92, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %98 %99 = bitcast [2 x %"fmt::ArgumentV1"]* %_47 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_42, %str_slice* noalias nonnull readonly %71, i16 %72, %"fmt::ArgumentV1"* noalias nonnull readonly %99, i16 2) br label %bb13 bb13: ; preds = %bb12 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_42, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num7dec2flt5rawfp12round_normal10_FILE_LINE17ha2587f6c02acc30cE) unreachable bb14: ; preds = %bb10 %100 = icmp ult i64 %50, %22 br i1 %100, label %bb15, label %bb16 bb15: ; preds = %bb14 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %0, i64 %48, i16 %86) br label %bb17 bb16: ; preds = %bb14 %101 = icmp eq i64 %50, %22 br i1 %101, label %bb20, label %bb19 bb17: ; preds = %bb15 br label %bb36 bb18: ; preds = %bb22 store i8 1, i8* %_70 br label %bb21 bb19: ; preds = %bb22, %bb16 store i8 0, i8* %_70 br label %bb21 bb20: ; preds = %bb16 br label %bb22 bb21: ; preds = %bb19, %bb18 %102 = load i8, i8* %_70, !range !2 %103 = trunc i8 %102 to i1 br i1 %103, label %bb23, label %bb24 bb22: ; preds = %bb20 %104 = urem i64 %48, 2 %105 = icmp eq i64 %104, 0 br i1 %105, label %bb18, label %bb19 bb23: ; preds = %bb21 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %0, i64 %48, i16 %86) br label %bb25 bb24: ; preds = %bb21 %106 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h9b573e6bf7d72a83E() br label %bb26 bb25: ; preds = %bb23 br label %bb35 bb26: ; preds = %bb24 %107 = icmp eq i64 %48, %106 br i1 %107, label %bb27, label %bb28 bb27: ; preds = %bb26 %108 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17hac5ea39fdee40fffE() br label %bb29 bb28: ; preds = %bb26 %109 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %48, i64 1) %110 = extractvalue { i64, i1 } %109, 0 %111 = extractvalue { i64, i1 } %109, 1 %112 = call i1 @llvm.expect.i1(i1 %111, i1 false) br i1 %112, label %panic10, label %bb32 bb29: ; preds = %bb27 %113 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %86, i16 1) %114 = extractvalue { i16, i1 } %113, 0 %115 = extractvalue { i16, i1 } %113, 1 %116 = call i1 @llvm.expect.i1(i1 %115, i1 false) br i1 %116, label %panic9, label %bb30 bb30: ; preds = %bb29 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %0, i64 %108, i16 %114) br label %bb31 bb31: ; preds = %bb30 br label %bb34 bb32: ; preds = %bb28 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %0, i64 %110, i16 %86) br label %bb33 bb33: ; preds = %bb32 br label %bb34 bb34: ; preds = %bb33, %bb31 br label %bb35 bb35: ; preds = %bb34, %bb25 br label %bb36 bb36: ; preds = %bb35, %bb17 ret void panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4Q) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4R) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4S) unreachable panic3: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4T) unreachable panic4: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4U) unreachable panic5: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4V) unreachable panic6: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4W) unreachable panic8: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4X) unreachable panic9: ; preds = %bb29 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4Y) unreachable panic10: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.4Z) unreachable } ; Function Attrs: uwtable define internal float @_ZN4core3num7dec2flt5rawfp13encode_normal17h004dd859b47b5bedE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture dereferenceable(16)) unnamed_addr #1 { entry-block: %_32 = alloca i8 %_30 = alloca {} %_29 = alloca {} %_6 = alloca i8 %_4 = alloca {} %_3 = alloca {} br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i32 0, i32 0 %2 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i32 0, i32 1 %3 = load i64, i64* %1 %4 = load i16, i16* %2 %5 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17hac5ea39fdee40fffE() br label %bb5 bb1: ; preds = %bb6 store i8 1, i8* %_6 br label %bb4 bb2: ; preds = %bb6, %bb5 store i8 0, i8* %_6 br label %bb4 bb3: ; preds = %bb5 %6 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h9b573e6bf7d72a83E() br label %bb6 bb4: ; preds = %bb2, %bb1 %7 = load i8, i8* %_6, !range !2 %8 = trunc i8 %7 to i1 %9 = xor i1 %8, true br i1 %9, label %bb7, label %bb8 bb5: ; preds = %start %10 = icmp ule i64 %5, %3 br i1 %10, label %bb3, label %bb2 bb6: ; preds = %bb3 %11 = icmp ule i64 %3, %6 br i1 %11, label %bb1, label %bb2 bb7: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp13encode_normal14_MSG_FILE_LINE17h8489218f9f41268cE) unreachable bb8: ; preds = %bb4 %12 = call i8 @_ZN4core3num7dec2flt5rawfp8RawFloat17explicit_sig_bits17h34415216a9a6d6eaE() br label %bb9 bb9: ; preds = %bb8 %13 = and i8 %12, -64 %14 = icmp ne i8 %13, 0 %15 = zext i8 %12 to i64 %16 = and i64 %15, 63 %17 = shl i64 1, %16 %18 = call i1 @llvm.expect.i1(i1 %14, i1 false) br i1 %18, label %panic, label %bb10 bb10: ; preds = %bb9 %19 = xor i64 %17, -1 %20 = and i64 %3, %19 %21 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_exp17h3aa09b5bc1e57f81E() br label %bb11 bb11: ; preds = %bb10 %22 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %4, i16 %21) %23 = extractvalue { i16, i1 } %22, 0 %24 = extractvalue { i16, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic1, label %bb12 bb12: ; preds = %bb11 %26 = call i8 @_ZN4core3num7dec2flt5rawfp8RawFloat17explicit_sig_bits17h34415216a9a6d6eaE() br label %bb13 bb13: ; preds = %bb12 %27 = zext i8 %26 to i16 %28 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %23, i16 %27) %29 = extractvalue { i16, i1 } %28, 0 %30 = extractvalue { i16, i1 } %28, 1 %31 = call i1 @llvm.expect.i1(i1 %30, i1 false) br i1 %31, label %panic2, label %bb14 bb14: ; preds = %bb13 %32 = icmp ne i16 %29, 0 br i1 %32, label %bb17, label %bb16 bb15: ; preds = %bb19 store i8 1, i8* %_32 br label %bb18 bb16: ; preds = %bb19, %bb14 store i8 0, i8* %_32 br label %bb18 bb17: ; preds = %bb14 %33 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat15max_encoded_exp17h4eb49c3866e2f9c7E() br label %bb19 bb18: ; preds = %bb16, %bb15 %34 = load i8, i8* %_32, !range !2 %35 = trunc i8 %34 to i1 %36 = xor i1 %35, true br i1 %36, label %bb20, label %bb21 bb19: ; preds = %bb17 %37 = icmp slt i16 %29, %33 br i1 %37, label %bb15, label %bb16 bb20: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp13encode_normal14_MSG_FILE_LINE17h0f9b83f05ece18e9E) unreachable bb21: ; preds = %bb18 %38 = sext i16 %29 to i64 %39 = call i8 @_ZN4core3num7dec2flt5rawfp8RawFloat17explicit_sig_bits17h34415216a9a6d6eaE() br label %bb22 bb22: ; preds = %bb21 %40 = and i8 %39, -64 %41 = icmp ne i8 %40, 0 %42 = zext i8 %39 to i64 %43 = and i64 %42, 63 %44 = shl i64 %38, %43 %45 = call i1 @llvm.expect.i1(i1 %41, i1 false) br i1 %45, label %panic3, label %bb23 bb23: ; preds = %bb22 %46 = or i64 %44, %20 %47 = call float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits17hbc6cc3c85e90f4b5E"(i64 %46) br label %bb24 bb24: ; preds = %bb23 ret float %47 panic: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.50) unreachable panic1: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.51) unreachable panic2: ; preds = %bb13 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.51) unreachable panic3: ; preds = %bb22 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.52) unreachable } ; Function Attrs: uwtable define internal double @_ZN4core3num7dec2flt5rawfp13encode_normal17h16c47613bacc3439E(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture dereferenceable(16)) unnamed_addr #1 { entry-block: %_32 = alloca i8 %_30 = alloca {} %_29 = alloca {} %_6 = alloca i8 %_4 = alloca {} %_3 = alloca {} br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i32 0, i32 0 %2 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i32 0, i32 1 %3 = load i64, i64* %1 %4 = load i16, i16* %2 %5 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17h7e992c3c7d1fef9eE() br label %bb5 bb1: ; preds = %bb6 store i8 1, i8* %_6 br label %bb4 bb2: ; preds = %bb6, %bb5 store i8 0, i8* %_6 br label %bb4 bb3: ; preds = %bb5 %6 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h806f12b9bb97dc72E() br label %bb6 bb4: ; preds = %bb2, %bb1 %7 = load i8, i8* %_6, !range !2 %8 = trunc i8 %7 to i1 %9 = xor i1 %8, true br i1 %9, label %bb7, label %bb8 bb5: ; preds = %start %10 = icmp ule i64 %5, %3 br i1 %10, label %bb3, label %bb2 bb6: ; preds = %bb3 %11 = icmp ule i64 %3, %6 br i1 %11, label %bb1, label %bb2 bb7: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp13encode_normal14_MSG_FILE_LINE17h8489218f9f41268cE) unreachable bb8: ; preds = %bb4 %12 = call i8 @_ZN4core3num7dec2flt5rawfp8RawFloat17explicit_sig_bits17ha9d81033ba096335E() br label %bb9 bb9: ; preds = %bb8 %13 = and i8 %12, -64 %14 = icmp ne i8 %13, 0 %15 = zext i8 %12 to i64 %16 = and i64 %15, 63 %17 = shl i64 1, %16 %18 = call i1 @llvm.expect.i1(i1 %14, i1 false) br i1 %18, label %panic, label %bb10 bb10: ; preds = %bb9 %19 = xor i64 %17, -1 %20 = and i64 %3, %19 %21 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_exp17h114559818054734eE() br label %bb11 bb11: ; preds = %bb10 %22 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %4, i16 %21) %23 = extractvalue { i16, i1 } %22, 0 %24 = extractvalue { i16, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic1, label %bb12 bb12: ; preds = %bb11 %26 = call i8 @_ZN4core3num7dec2flt5rawfp8RawFloat17explicit_sig_bits17ha9d81033ba096335E() br label %bb13 bb13: ; preds = %bb12 %27 = zext i8 %26 to i16 %28 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %23, i16 %27) %29 = extractvalue { i16, i1 } %28, 0 %30 = extractvalue { i16, i1 } %28, 1 %31 = call i1 @llvm.expect.i1(i1 %30, i1 false) br i1 %31, label %panic2, label %bb14 bb14: ; preds = %bb13 %32 = icmp ne i16 %29, 0 br i1 %32, label %bb17, label %bb16 bb15: ; preds = %bb19 store i8 1, i8* %_32 br label %bb18 bb16: ; preds = %bb19, %bb14 store i8 0, i8* %_32 br label %bb18 bb17: ; preds = %bb14 %33 = call i16 @_ZN4core3num7dec2flt5rawfp8RawFloat15max_encoded_exp17h48c680e3780dab69E() br label %bb19 bb18: ; preds = %bb16, %bb15 %34 = load i8, i8* %_32, !range !2 %35 = trunc i8 %34 to i1 %36 = xor i1 %35, true br i1 %36, label %bb20, label %bb21 bb19: ; preds = %bb17 %37 = icmp slt i16 %29, %33 br i1 %37, label %bb15, label %bb16 bb20: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp13encode_normal14_MSG_FILE_LINE17h0f9b83f05ece18e9E) unreachable bb21: ; preds = %bb18 %38 = sext i16 %29 to i64 %39 = call i8 @_ZN4core3num7dec2flt5rawfp8RawFloat17explicit_sig_bits17ha9d81033ba096335E() br label %bb22 bb22: ; preds = %bb21 %40 = and i8 %39, -64 %41 = icmp ne i8 %40, 0 %42 = zext i8 %39 to i64 %43 = and i64 %42, 63 %44 = shl i64 %38, %43 %45 = call i1 @llvm.expect.i1(i1 %41, i1 false) br i1 %45, label %panic3, label %bb23 bb23: ; preds = %bb22 %46 = or i64 %44, %20 %47 = call double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits17hde13ccd8c401efe2E"(i64 %46) br label %bb24 bb24: ; preds = %bb23 ret double %47 panic: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.50) unreachable panic1: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.51) unreachable panic2: ; preds = %bb13 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.51) unreachable panic3: ; preds = %bb22 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.52) unreachable } ; Function Attrs: uwtable define internal float @_ZN4core3num7dec2flt5rawfp16encode_subnormal17h1c9e5894f582b125E(i64) unnamed_addr #1 { entry-block: %_3 = alloca {} br label %start start: ; preds = %entry-block %1 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17hac5ea39fdee40fffE() br label %bb1 bb1: ; preds = %start %2 = icmp ult i64 %0, %1 %3 = xor i1 %2, true br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp16encode_subnormal14_MSG_FILE_LINE17hb6fa307ff9bfe821E) unreachable bb3: ; preds = %bb1 %4 = call float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits17hbc6cc3c85e90f4b5E"(i64 %0) br label %bb4 bb4: ; preds = %bb3 ret float %4 } ; Function Attrs: uwtable define internal double @_ZN4core3num7dec2flt5rawfp16encode_subnormal17hbbb46464680ff85eE(i64) unnamed_addr #1 { entry-block: %_3 = alloca {} br label %start start: ; preds = %entry-block %1 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17h7e992c3c7d1fef9eE() br label %bb1 bb1: ; preds = %start %2 = icmp ult i64 %0, %1 %3 = xor i1 %2, true br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp16encode_subnormal14_MSG_FILE_LINE17hb6fa307ff9bfe821E) unreachable bb3: ; preds = %bb1 %4 = call double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits17hde13ccd8c401efe2E"(i64 %0) br label %bb4 bb4: ; preds = %bb3 ret double %4 } ; Function Attrs: uwtable define void @_ZN4core3num7dec2flt5rawfp9big_to_fp17h9aefe2818239f262E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"num::diy_float::Fp" %_39 = alloca %"num::diy_float::Fp" %_34 = alloca %"option::Option" %_24 = alloca i8 %_21 = alloca %"num::diy_float::Fp" %_5 = alloca {} br label %start start: ; preds = %entry-block %2 = call i16 @_ZN4core3num6bignum8Big32x4010bit_length17he343880f864358b8E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1) br label %bb1 bb1: ; preds = %start %3 = icmp ne i16 %2, 0 %4 = xor i1 %3, true br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp9big_to_fp14_MSG_FILE_LINE17h7020ee6540656b73E) unreachable bb3: ; preds = %bb1 %5 = call i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$14saturating_sub17h065c62ccb608d0d9E"(i16 %2, i16 64) br label %bb4 bb4: ; preds = %bb3 %6 = call i64 @_ZN4core3num7dec2flt3num8get_bits17hdfccabd648712e94E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1, i16 %5, i16 %2) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_21, i32 0, i32 0 store i64 %6, i64* %7 %8 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_21, i32 0, i32 1 store i16 %5, i16* %8 call void @_ZN4core3num9diy_float2Fp9normalize17h78d98e4ca9647a41E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %tmp_ret, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %_21) %9 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %tmp_ret, i32 0, i32 1 %11 = load i64, i64* %9 %12 = load i16, i16* %10 br label %bb6 bb6: ; preds = %bb5 %13 = call i8 @_ZN4core3num7dec2flt3num21compare_with_half_ulp17h85d49d1221bed766E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1, i16 %5) store i8 %13, i8* %_24 br label %bb7 bb7: ; preds = %bb6 %14 = load i8, i8* %_24, !range !7 %15 = sext i8 %14 to i16 switch i16 %15, label %bb10 [ i16 -1, label %bb8 i16 0, label %bb11 ] bb8: ; preds = %bb7 %16 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 0 store i64 %11, i64* %16 %17 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 1 store i16 %12, i16* %17 br label %bb13 bb9: ; preds = %bb12 %18 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 0 store i64 %11, i64* %18 %19 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 1 store i16 %12, i16* %19 br label %bb13 bb10: ; preds = %bb12, %bb7 call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_add17h1f5f4b4c611a092eE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_34, i64 %6, i64 1) br label %bb14 bb11: ; preds = %bb7 br label %bb12 bb12: ; preds = %bb11 %20 = urem i64 %6, 2 %21 = icmp eq i64 %20, 0 br i1 %21, label %bb9, label %bb10 bb13: ; preds = %bb8, %bb17, %bb9 ret void bb14: ; preds = %bb10 %22 = getelementptr inbounds %"option::Option", %"option::Option"* %_34, i32 0, i32 0 %23 = load i64, i64* %22, !range !8 %24 = trunc i64 %23 to i16 switch i16 %24, label %bb16 [ i16 0, label %bb15 ] bb15: ; preds = %bb14 br label %bb19 bb16: ; preds = %bb14 %25 = bitcast %"option::Option"* %_34 to { i64, i64 }* %26 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %25, i32 0, i32 1 %27 = load i64, i64* %26 %28 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_39, i32 0, i32 0 store i64 %27, i64* %28 %29 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_39, i32 0, i32 1 store i16 %5, i16* %29 call void @_ZN4core3num9diy_float2Fp9normalize17h78d98e4ca9647a41E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16) %0, %"num::diy_float::Fp"* noalias readonly dereferenceable(16) %_39) br label %bb18 bb17: ; preds = %bb20, %bb18 br label %bb13 bb18: ; preds = %bb16 br label %bb17 bb19: ; preds = %bb15 %30 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %5, i16 1) %31 = extractvalue { i16, i1 } %30, 0 %32 = extractvalue { i16, i1 } %30, 1 %33 = call i1 @llvm.expect.i1(i1 %32, i1 false) br i1 %33, label %panic, label %bb20 bb20: ; preds = %bb19 %34 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 0 store i64 -9223372036854775808, i64* %34 %35 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 1 store i16 %31, i16* %35 br label %bb17 panic: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.53) unreachable } ; Function Attrs: uwtable define internal double @_ZN4core3num7dec2flt5rawfp10prev_float17hb9ca1a8367ddfc10E(double) unnamed_addr #1 { entry-block: %arg4 = alloca %"num::dec2flt::rawfp::Unpacked" %tmp_ret3 = alloca %"num::dec2flt::rawfp::Unpacked" %arg = alloca %"num::dec2flt::rawfp::Unpacked" %tmp_ret1 = alloca %"num::dec2flt::rawfp::Unpacked" %tmp_ret = alloca %"num::dec2flt::rawfp::Unpacked" %_3 = alloca i8 %_0 = alloca double br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN4core3f6450_$LT$impl$u20$core..num..Float$u20$for$u20$f64$GT$8classify17h728b57eae53575ffE"(double %0) store i8 %1, i8* %_3 br label %bb1 bb1: ; preds = %start %2 = load i8, i8* %_3, !range !0 %3 = zext i8 %2 to i16 switch i16 %3, label %bb6 [ i16 0, label %bb3 i16 1, label %bb2 i16 2, label %bb5 i16 3, label %bb4 ] bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17hbdf077f96a965164E) unreachable bb3: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17h186d3dd7cd4f0b33E) unreachable bb4: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17h751ca0252a196d42E) unreachable bb5: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17he97403117525e23fE) unreachable bb6: ; preds = %bb1 call void @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$6unpack17h4e614533e40a2280E"(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret, double %0) %4 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 0 %5 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 1 %6 = load i64, i64* %4 %7 = load i16, i16* %5 br label %bb7 bb7: ; preds = %bb6 %8 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17h7e992c3c7d1fef9eE() br label %bb8 bb8: ; preds = %bb7 %9 = icmp eq i64 %6, %8 br i1 %9, label %bb9, label %bb10 bb9: ; preds = %bb8 %10 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h806f12b9bb97dc72E() br label %bb11 bb10: ; preds = %bb8 %11 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %6, i64 1) %12 = extractvalue { i64, i1 } %11, 0 %13 = extractvalue { i64, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic2, label %bb15 bb11: ; preds = %bb9 %15 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %7, i16 1) %16 = extractvalue { i16, i1 } %15, 0 %17 = extractvalue { i16, i1 } %15, 1 %18 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %18, label %panic, label %bb12 bb12: ; preds = %bb11 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret1, i64 %10, i16 %16) %19 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret1, i32 0, i32 0 %20 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret1, i32 0, i32 1 %21 = load i64, i64* %19 %22 = load i16, i16* %20 br label %bb13 bb13: ; preds = %bb12 %23 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg, i32 0, i32 0 store i64 %21, i64* %23 %24 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg, i32 0, i32 1 store i16 %22, i16* %24 %25 = call double @_ZN4core3num7dec2flt5rawfp13encode_normal17h16c47613bacc3439E(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture dereferenceable(16) %arg) store double %25, double* %_0 br label %bb14 bb14: ; preds = %bb13 br label %bb18 bb15: ; preds = %bb10 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret3, i64 %12, i16 %7) %26 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret3, i32 0, i32 0 %27 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret3, i32 0, i32 1 %28 = load i64, i64* %26 %29 = load i16, i16* %27 br label %bb16 bb16: ; preds = %bb15 %30 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg4, i32 0, i32 0 store i64 %28, i64* %30 %31 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg4, i32 0, i32 1 store i16 %29, i16* %31 %32 = call double @_ZN4core3num7dec2flt5rawfp13encode_normal17h16c47613bacc3439E(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture dereferenceable(16) %arg4) store double %32, double* %_0 br label %bb17 bb17: ; preds = %bb16 br label %bb18 bb18: ; preds = %bb17, %bb14 %33 = load double, double* %_0 ret double %33 panic: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.54) unreachable panic2: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.55) unreachable } ; Function Attrs: uwtable define internal float @_ZN4core3num7dec2flt5rawfp10prev_float17hf037808733be5ca3E(float) unnamed_addr #1 { entry-block: %arg4 = alloca %"num::dec2flt::rawfp::Unpacked" %tmp_ret3 = alloca %"num::dec2flt::rawfp::Unpacked" %arg = alloca %"num::dec2flt::rawfp::Unpacked" %tmp_ret1 = alloca %"num::dec2flt::rawfp::Unpacked" %tmp_ret = alloca %"num::dec2flt::rawfp::Unpacked" %_3 = alloca i8 %_0 = alloca float br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN4core3f3250_$LT$impl$u20$core..num..Float$u20$for$u20$f32$GT$8classify17hb609435157385d3aE"(float %0) store i8 %1, i8* %_3 br label %bb1 bb1: ; preds = %start %2 = load i8, i8* %_3, !range !0 %3 = zext i8 %2 to i16 switch i16 %3, label %bb6 [ i16 0, label %bb3 i16 1, label %bb2 i16 2, label %bb5 i16 3, label %bb4 ] bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17hbdf077f96a965164E) unreachable bb3: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17h186d3dd7cd4f0b33E) unreachable bb4: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17h751ca0252a196d42E) unreachable bb5: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17he97403117525e23fE) unreachable bb6: ; preds = %bb1 call void @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$6unpack17hb23becc08850b65dE"(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret, float %0) %4 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 0 %5 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret, i32 0, i32 1 %6 = load i64, i64* %4 %7 = load i16, i16* %5 br label %bb7 bb7: ; preds = %bb6 %8 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7min_sig17hac5ea39fdee40fffE() br label %bb8 bb8: ; preds = %bb7 %9 = icmp eq i64 %6, %8 br i1 %9, label %bb9, label %bb10 bb9: ; preds = %bb8 %10 = call i64 @_ZN4core3num7dec2flt5rawfp8RawFloat7max_sig17h9b573e6bf7d72a83E() br label %bb11 bb10: ; preds = %bb8 %11 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %6, i64 1) %12 = extractvalue { i64, i1 } %11, 0 %13 = extractvalue { i64, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic2, label %bb15 bb11: ; preds = %bb9 %15 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %7, i16 1) %16 = extractvalue { i16, i1 } %15, 0 %17 = extractvalue { i16, i1 } %15, 1 %18 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %18, label %panic, label %bb12 bb12: ; preds = %bb11 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret1, i64 %10, i16 %16) %19 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret1, i32 0, i32 0 %20 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret1, i32 0, i32 1 %21 = load i64, i64* %19 %22 = load i16, i16* %20 br label %bb13 bb13: ; preds = %bb12 %23 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg, i32 0, i32 0 store i64 %21, i64* %23 %24 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg, i32 0, i32 1 store i16 %22, i16* %24 %25 = call float @_ZN4core3num7dec2flt5rawfp13encode_normal17h004dd859b47b5bedE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture dereferenceable(16) %arg) store float %25, float* %_0 br label %bb14 bb14: ; preds = %bb13 br label %bb18 bb15: ; preds = %bb10 call void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h5e1525188ce9223dE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16) %tmp_ret3, i64 %12, i16 %7) %26 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret3, i32 0, i32 0 %27 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %tmp_ret3, i32 0, i32 1 %28 = load i64, i64* %26 %29 = load i16, i16* %27 br label %bb16 bb16: ; preds = %bb15 %30 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg4, i32 0, i32 0 store i64 %28, i64* %30 %31 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %arg4, i32 0, i32 1 store i16 %29, i16* %31 %32 = call float @_ZN4core3num7dec2flt5rawfp13encode_normal17h004dd859b47b5bedE(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture dereferenceable(16) %arg4) store float %32, float* %_0 br label %bb17 bb17: ; preds = %bb16 br label %bb18 bb18: ; preds = %bb17, %bb14 %33 = load float, float* %_0 ret float %33 panic: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.54) unreachable panic2: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.55) unreachable } ; Function Attrs: uwtable define internal double @_ZN4core3num7dec2flt5rawfp10next_float17haa5d022ec96d40ceE(double) unnamed_addr #1 { entry-block: %_3 = alloca i8 %_0 = alloca double br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN4core3f6450_$LT$impl$u20$core..num..Float$u20$for$u20$f64$GT$8classify17h728b57eae53575ffE"(double %0) store i8 %1, i8* %_3 br label %bb1 bb1: ; preds = %start %2 = load i8, i8* %_3, !range !0 %3 = zext i8 %2 to i16 switch i16 %3, label %bb4 [ i16 0, label %bb2 i16 1, label %bb3 i16 2, label %bb4 i16 3, label %bb4 ] bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp10next_float14_MSG_FILE_LINE17h84b5a7e564f1db42E) unreachable bb3: ; preds = %bb1 %4 = call double @_ZN4core3num7dec2flt5rawfp8RawFloat9infinity217h22c80218d96fc81dE() store double %4, double* %_0 br label %bb5 bb4: ; preds = %bb1, %bb1, %bb1 %5 = call i64 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9transmute17hc4e00b7e6f8677abE"(double %0) br label %bb6 bb5: ; preds = %bb3, %bb8 %6 = load double, double* %_0 ret double %6 bb6: ; preds = %bb4 %7 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %5, i64 1) %8 = extractvalue { i64, i1 } %7, 0 %9 = extractvalue { i64, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic, label %bb7 bb7: ; preds = %bb6 %11 = call double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits17hde13ccd8c401efe2E"(i64 %8) store double %11, double* %_0 br label %bb8 bb8: ; preds = %bb7 br label %bb5 panic: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.56) unreachable } ; Function Attrs: uwtable define internal float @_ZN4core3num7dec2flt5rawfp10next_float17headddc565aec2051E(float) unnamed_addr #1 { entry-block: %_3 = alloca i8 %_0 = alloca float br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN4core3f3250_$LT$impl$u20$core..num..Float$u20$for$u20$f32$GT$8classify17hb609435157385d3aE"(float %0) store i8 %1, i8* %_3 br label %bb1 bb1: ; preds = %start %2 = load i8, i8* %_3, !range !0 %3 = zext i8 %2 to i16 switch i16 %3, label %bb4 [ i16 0, label %bb2 i16 1, label %bb3 i16 2, label %bb4 i16 3, label %bb4 ] bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num7dec2flt5rawfp10next_float14_MSG_FILE_LINE17h84b5a7e564f1db42E) unreachable bb3: ; preds = %bb1 %4 = call float @_ZN4core3num7dec2flt5rawfp8RawFloat9infinity217h57cd4ed2f068b3deE() store float %4, float* %_0 br label %bb5 bb4: ; preds = %bb1, %bb1, %bb1 %5 = call i64 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9transmute17ha7f3827f6fb20f7aE"(float %0) br label %bb6 bb5: ; preds = %bb3, %bb8 %6 = load float, float* %_0 ret float %6 bb6: ; preds = %bb4 %7 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %5, i64 1) %8 = extractvalue { i64, i1 } %7, 0 %9 = extractvalue { i64, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic, label %bb7 bb7: ; preds = %bb6 %11 = call float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits17hbc6cc3c85e90f4b5E"(i64 %8) store float %11, float* %_0 br label %bb8 bb8: ; preds = %bb7 br label %bb5 panic: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.56) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num7dec2flt5parse7Decimal3new17h086c43348f8d960eE(%"num::dec2flt::parse::Decimal"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16, i64) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %6 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 0 %7 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %6, i32 0, i32 0 store i8* %1, i8** %7 %8 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %6, i32 0, i32 1 store i16 %2, i16* %8 %9 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 1 %10 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %9, i32 0, i32 0 store i8* %3, i8** %10 %11 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %9, i32 0, i32 1 store i16 %4, i16* %11 %12 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 2 store i64 %5, i64* %12 ret void } ; Function Attrs: uwtable define void @_ZN4core3num7dec2flt5parse13parse_decimal17h1378f1ce3b1a3498E(%"num::dec2flt::parse::ParseResult"* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %_61 = alloca %"ops::RangeFrom" %_52 = alloca %"num::dec2flt::parse::Decimal" %_49 = alloca i8* %_42 = alloca i8 %_41 = alloca i8 %_40 = alloca {} %_39 = alloca %"ops::RangeFrom" %_34 = alloca { { i8*, i16 }, { i8*, i16 } } %_31 = alloca %"ops::RangeFrom" %_20 = alloca {} %_15 = alloca %"num::dec2flt::parse::Decimal" %_12 = alloca i8* %_10 = alloca { { i8*, i16 }, { i8*, i16 } } %_3 = alloca {} br label %start start: ; preds = %entry-block %3 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 %4 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i32 0, i32 0 store i64 3, i64* %4 br label %bb5 bb3: ; preds = %bb1 %5 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %6 = extractvalue { i8*, i16 } %5, 0 %7 = extractvalue { i8*, i16 } %5, 1 br label %bb6 bb4: ; preds = %bb14, %bb5 ret void bb5: ; preds = %bb19, %bb2 br label %bb4 bb6: ; preds = %bb3 call void @_ZN4core3num7dec2flt5parse10eat_digits17he0d5e956b6bb462dE({ { i8*, i16 }, { i8*, i16 } }* noalias nocapture sret dereferenceable(8) %_10, i8* noalias nonnull readonly %6, i16 %7) br label %bb7 bb7: ; preds = %bb6 %8 = getelementptr inbounds { { i8*, i16 }, { i8*, i16 } }, { { i8*, i16 }, { i8*, i16 } }* %_10, i32 0, i32 0 %9 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %8, i32 0, i32 0 %10 = load i8*, i8** %9, !nonnull !1 %11 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %8, i32 0, i32 1 %12 = load i16, i16* %11 %13 = getelementptr inbounds { { i8*, i16 }, { i8*, i16 } }, { { i8*, i16 }, { i8*, i16 } }* %_10, i32 0, i32 1 %14 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %13, i32 0, i32 0 %15 = load i8*, i8** %14, !nonnull !1 %16 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %13, i32 0, i32 1 %17 = load i16, i16* %16 %18 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$5first17haab01cb1f820b6f3E"(i8* noalias nonnull readonly %15, i16 %17) store i8* %18, i8** %_12 br label %bb8 bb8: ; preds = %bb7 %19 = load i8*, i8** %_12 %20 = icmp ne i8* %19, null %21 = zext i1 %20 to i16 switch i16 %21, label %bb13 [ i16 0, label %bb9 ] bb9: ; preds = %bb8 call void @_ZN4core3num7dec2flt5parse7Decimal3new17h086c43348f8d960eE(%"num::dec2flt::parse::Decimal"* noalias nocapture sret dereferenceable(16) %_15, i8* noalias nonnull readonly %10, i16 %12, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.3m, i32 0, i32 0), i16 0, i64 0) br label %bb15 bb10: ; preds = %bb13, %bb13 %22 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %10, i16 %12) br label %bb16 bb11: ; preds = %bb13 %23 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_39, i32 0, i32 0 store i16 1, i16* %23 %24 = bitcast %"ops::RangeFrom"* %_39 to i16* %25 = load i16, i16* %24, align 2 %26 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %15, i16 %17, i16 %25) %27 = extractvalue { i8*, i16 } %26, 0 %28 = extractvalue { i8*, i16 } %26, 1 br label %bb22 bb12: ; preds = %bb13 %29 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i32 0, i32 0 store i64 3, i64* %29 br label %bb14 bb13: ; preds = %bb8 %30 = load i8*, i8** %_12, !nonnull !1 %31 = load i8, i8* %30 switch i8 %31, label %bb12 [ i8 101, label %bb10 i8 69, label %bb10 i8 46, label %bb11 ] bb14: ; preds = %bb15, %bb21, %bb42, %bb12 br label %bb4 bb15: ; preds = %bb9 %32 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i32 0, i32 0 store i64 0, i64* %32 %33 = bitcast %"num::dec2flt::parse::ParseResult"* %0 to { i64, %"num::dec2flt::parse::Decimal" }* %34 = getelementptr inbounds { i64, %"num::dec2flt::parse::Decimal" }, { i64, %"num::dec2flt::parse::Decimal" }* %33, i32 0, i32 1 %35 = bitcast %"num::dec2flt::parse::Decimal"* %_15 to i8* %36 = bitcast %"num::dec2flt::parse::Decimal"* %34 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %36, i8* %35, i16 16, i32 8, i1 false) br label %bb14 bb16: ; preds = %bb10 br i1 %22, label %bb17, label %bb18 bb17: ; preds = %bb16 %37 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i32 0, i32 0 store i64 3, i64* %37 br label %bb19 bb18: ; preds = %bb16 %38 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_31, i32 0, i32 0 store i16 1, i16* %38 %39 = bitcast %"ops::RangeFrom"* %_31 to i16* %40 = load i16, i16* %39, align 2 %41 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %15, i16 %17, i16 %40) %42 = extractvalue { i8*, i16 } %41, 0 %43 = extractvalue { i8*, i16 } %41, 1 br label %bb20 bb19: ; preds = %bb17, %bb35 br label %bb5 bb20: ; preds = %bb18 call void @_ZN4core3num7dec2flt5parse9parse_exp17h5218ac4c1b968dfbE(%"num::dec2flt::parse::ParseResult"* noalias nocapture sret dereferenceable(24) %0, i8* noalias nonnull readonly %10, i16 %12, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.3m, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %42, i16 %43) br label %bb21 bb21: ; preds = %bb20 br label %bb14 bb22: ; preds = %bb11 call void @_ZN4core3num7dec2flt5parse10eat_digits17he0d5e956b6bb462dE({ { i8*, i16 }, { i8*, i16 } }* noalias nocapture sret dereferenceable(8) %_34, i8* noalias nonnull readonly %27, i16 %28) br label %bb23 bb23: ; preds = %bb22 %44 = getelementptr inbounds { { i8*, i16 }, { i8*, i16 } }, { { i8*, i16 }, { i8*, i16 } }* %_34, i32 0, i32 0 %45 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %44, i32 0, i32 0 %46 = load i8*, i8** %45, !nonnull !1 %47 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %44, i32 0, i32 1 %48 = load i16, i16* %47 %49 = getelementptr inbounds { { i8*, i16 }, { i8*, i16 } }, { { i8*, i16 }, { i8*, i16 } }* %_34, i32 0, i32 1 %50 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %49, i32 0, i32 0 %51 = load i8*, i8** %50, !nonnull !1 %52 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %49, i32 0, i32 1 %53 = load i16, i16* %52 %54 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %10, i16 %12) br label %bb32 bb24: ; preds = %bb34 store i8 1, i8* %_41 br label %bb27 bb25: ; preds = %bb34, %bb31 store i8 0, i8* %_41 br label %bb27 bb26: ; preds = %bb31 %55 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %51, i16 %53) br label %bb34 bb27: ; preds = %bb25, %bb24 %56 = load i8, i8* %_41, !range !2 %57 = trunc i8 %56 to i1 br i1 %57, label %bb35, label %bb36 bb28: ; preds = %bb33 store i8 1, i8* %_42 br label %bb31 bb29: ; preds = %bb33, %bb32 store i8 0, i8* %_42 br label %bb31 bb30: ; preds = %bb32 %58 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %46, i16 %48) br label %bb33 bb31: ; preds = %bb29, %bb28 %59 = load i8, i8* %_42, !range !2 %60 = trunc i8 %59 to i1 br i1 %60, label %bb26, label %bb25 bb32: ; preds = %bb23 br i1 %54, label %bb30, label %bb29 bb33: ; preds = %bb30 br i1 %58, label %bb28, label %bb29 bb34: ; preds = %bb26 br i1 %55, label %bb24, label %bb25 bb35: ; preds = %bb27 %61 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i32 0, i32 0 store i64 3, i64* %61 br label %bb19 bb36: ; preds = %bb27 %62 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$5first17haab01cb1f820b6f3E"(i8* noalias nonnull readonly %51, i16 %53) store i8* %62, i8** %_49 br label %bb37 bb37: ; preds = %bb36 %63 = load i8*, i8** %_49 %64 = icmp ne i8* %63, null %65 = zext i1 %64 to i16 switch i16 %65, label %bb41 [ i16 0, label %bb38 ] bb38: ; preds = %bb37 call void @_ZN4core3num7dec2flt5parse7Decimal3new17h086c43348f8d960eE(%"num::dec2flt::parse::Decimal"* noalias nocapture sret dereferenceable(16) %_52, i8* noalias nonnull readonly %10, i16 %12, i8* noalias nonnull readonly %46, i16 %48, i64 0) br label %bb43 bb39: ; preds = %bb41, %bb41 %66 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_61, i32 0, i32 0 store i16 1, i16* %66 %67 = bitcast %"ops::RangeFrom"* %_61 to i16* %68 = load i16, i16* %67, align 2 %69 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 %53, i16 %68) %70 = extractvalue { i8*, i16 } %69, 0 %71 = extractvalue { i8*, i16 } %69, 1 br label %bb44 bb40: ; preds = %bb41 %72 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i32 0, i32 0 store i64 3, i64* %72 br label %bb42 bb41: ; preds = %bb37 %73 = load i8*, i8** %_49, !nonnull !1 %74 = load i8, i8* %73 switch i8 %74, label %bb40 [ i8 101, label %bb39 i8 69, label %bb39 ] bb42: ; preds = %bb43, %bb45, %bb40 br label %bb14 bb43: ; preds = %bb38 %75 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i32 0, i32 0 store i64 0, i64* %75 %76 = bitcast %"num::dec2flt::parse::ParseResult"* %0 to { i64, %"num::dec2flt::parse::Decimal" }* %77 = getelementptr inbounds { i64, %"num::dec2flt::parse::Decimal" }, { i64, %"num::dec2flt::parse::Decimal" }* %76, i32 0, i32 1 %78 = bitcast %"num::dec2flt::parse::Decimal"* %_52 to i8* %79 = bitcast %"num::dec2flt::parse::Decimal"* %77 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %79, i8* %78, i16 16, i32 8, i1 false) br label %bb42 bb44: ; preds = %bb39 call void @_ZN4core3num7dec2flt5parse9parse_exp17h5218ac4c1b968dfbE(%"num::dec2flt::parse::ParseResult"* noalias nocapture sret dereferenceable(24) %0, i8* noalias nonnull readonly %10, i16 %12, i8* noalias nonnull readonly %46, i16 %48, i8* noalias nonnull readonly %70, i16 %71) br label %bb45 bb45: ; preds = %bb44 br label %bb42 } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt5parse10eat_digits17he0d5e956b6bb462dE({ { i8*, i16 }, { i8*, i16 } }* noalias nocapture sret dereferenceable(8), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %_33 = alloca %"ops::RangeFrom" %_27 = alloca %"ops::RangeTo" %_21 = alloca {} %_6 = alloca i8 %_5 = alloca i8 %_4 = alloca {} %i = alloca i16 br label %start start: ; preds = %entry-block store i16 0, i16* %i br label %bb1 bb1: ; preds = %bb15, %start %3 = load i16, i16* %i %4 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb11 bb2: ; preds = %bb6 %5 = load i16, i16* %i %6 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_27, i32 0, i32 0 store i16 %5, i16* %6 %7 = bitcast %"ops::RangeTo"* %_27 to i16* %8 = load i16, i16* %7, align 2 %9 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %1, i16 %2, i16 %8) %10 = extractvalue { i8*, i16 } %9, 0 %11 = extractvalue { i8*, i16 } %9, 1 br label %bb16 bb3: ; preds = %bb13 store i8 1, i8* %_5 br label %bb6 bb4: ; preds = %bb13, %bb10 store i8 0, i8* %_5 br label %bb6 bb5: ; preds = %bb10 %12 = load i16, i16* %i %13 = icmp ult i16 %12, %2 %14 = call i1 @llvm.expect.i1(i1 %13, i1 true) br i1 %14, label %bb13, label %panic1 bb6: ; preds = %bb4, %bb3 %15 = load i8, i8* %_5, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb14, label %bb2 bb7: ; preds = %bb12 store i8 1, i8* %_6 br label %bb10 bb8: ; preds = %bb12, %bb11 store i8 0, i8* %_6 br label %bb10 bb9: ; preds = %bb11 %17 = load i16, i16* %i %18 = icmp ult i16 %17, %2 %19 = call i1 @llvm.expect.i1(i1 %18, i1 true) br i1 %19, label %bb12, label %panic bb10: ; preds = %bb8, %bb7 %20 = load i8, i8* %_6, !range !2 %21 = trunc i8 %20 to i1 br i1 %21, label %bb5, label %bb4 bb11: ; preds = %bb1 %22 = icmp ult i16 %3, %4 br i1 %22, label %bb9, label %bb8 bb12: ; preds = %bb9 %23 = getelementptr inbounds i8, i8* %1, i16 %17 %24 = load i8, i8* %23 %25 = icmp ule i8 48, %24 br i1 %25, label %bb7, label %bb8 bb13: ; preds = %bb5 %26 = getelementptr inbounds i8, i8* %1, i16 %12 %27 = load i8, i8* %26 %28 = icmp ule i8 %27, 57 br i1 %28, label %bb3, label %bb4 bb14: ; preds = %bb6 %29 = load i16, i16* %i %30 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %29, i16 1) %31 = extractvalue { i16, i1 } %30, 0 %32 = extractvalue { i16, i1 } %30, 1 %33 = call i1 @llvm.expect.i1(i1 %32, i1 false) br i1 %33, label %panic2, label %bb15 bb15: ; preds = %bb14 store i16 %31, i16* %i br label %bb1 bb16: ; preds = %bb2 %34 = load i16, i16* %i %35 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_33, i32 0, i32 0 store i16 %34, i16* %35 %36 = bitcast %"ops::RangeFrom"* %_33 to i16* %37 = load i16, i16* %36, align 2 %38 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %1, i16 %2, i16 %37) %39 = extractvalue { i8*, i16 } %38, 0 %40 = extractvalue { i8*, i16 } %38, 1 br label %bb17 bb17: ; preds = %bb16 %41 = getelementptr inbounds { { i8*, i16 }, { i8*, i16 } }, { { i8*, i16 }, { i8*, i16 } }* %0, i32 0, i32 0 %42 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %41, i32 0, i32 0 store i8* %10, i8** %42 %43 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %41, i32 0, i32 1 store i16 %11, i16* %43 %44 = getelementptr inbounds { { i8*, i16 }, { i8*, i16 } }, { { i8*, i16 }, { i8*, i16 } }* %0, i32 0, i32 1 %45 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %44, i32 0, i32 0 store i8* %39, i8** %45 %46 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %44, i32 0, i32 1 store i16 %40, i16* %46 ret void panic: ; preds = %bb9 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.58, i16 %17, i16 %2) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.58, i16 %12, i16 %2) unreachable panic2: ; preds = %bb14 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.59) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt5parse9parse_exp17h5218ac4c1b968dfbE(%"num::dec2flt::parse::ParseResult"* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %_60 = alloca %"num::dec2flt::parse::Decimal" %e = alloca i64 %_47 = alloca {} %_46 = alloca %"ops::RangeFrom" %_40 = alloca i8* %_37 = alloca {} %_34 = alloca {} %_33 = alloca {} %_29 = alloca {} %_27 = alloca { { i8*, i16 }, { i8*, i16 } } %number = alloca { i8*, i16 } %_23 = alloca i8 %_22 = alloca %"ops::RangeFrom" %_18 = alloca i8 %_17 = alloca %"ops::RangeFrom" %_13 = alloca i8 %_10 = alloca i8* %_9 = alloca { i8, { i8*, i16 } } %sign = alloca i8 br label %start start: ; preds = %entry-block %7 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$5first17haab01cb1f820b6f3E"(i8* noalias nonnull readonly %5, i16 %6) store i8* %7, i8** %_10 br label %bb1 bb1: ; preds = %start %8 = load i8*, i8** %_10 %9 = icmp ne i8* %8, null %10 = zext i1 %9 to i16 switch i16 %10, label %bb4 [ i16 1, label %bb5 ] bb2: ; preds = %bb5 store i8 1, i8* %_13 %11 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_17, i32 0, i32 0 store i16 1, i16* %11 %12 = bitcast %"ops::RangeFrom"* %_17 to i16* %13 = load i16, i16* %12, align 2 %14 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %5, i16 %6, i16 %13) %15 = extractvalue { i8*, i16 } %14, 0 %16 = extractvalue { i8*, i16 } %14, 1 br label %bb7 bb3: ; preds = %bb5 store i8 0, i8* %_18 %17 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_22, i32 0, i32 0 store i16 1, i16* %17 %18 = bitcast %"ops::RangeFrom"* %_22 to i16* %19 = load i16, i16* %18, align 2 %20 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %5, i16 %6, i16 %19) %21 = extractvalue { i8*, i16 } %20, 0 %22 = extractvalue { i8*, i16 } %20, 1 br label %bb8 bb4: ; preds = %bb5, %bb1 store i8 0, i8* %_23 %23 = load i8, i8* %_23 %24 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_9, i32 0, i32 0 store i8 %23, i8* %24 %25 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_9, i32 0, i32 1 %26 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %25, i32 0, i32 0 store i8* %5, i8** %26 %27 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %25, i32 0, i32 1 store i16 %6, i16* %27 br label %bb6 bb5: ; preds = %bb1 %28 = load i8*, i8** %_10, !nonnull !1 %29 = load i8, i8* %28 switch i8 %29, label %bb4 [ i8 45, label %bb2 i8 43, label %bb3 ] bb6: ; preds = %bb7, %bb8, %bb4 %30 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_9, i32 0, i32 0 %31 = load i8, i8* %30 store i8 %31, i8* %sign %32 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_9, i32 0, i32 1 %33 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %32, i32 0, i32 0 %34 = load i8*, i8** %33, !nonnull !1 %35 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %32, i32 0, i32 1 %36 = load i16, i16* %35 call void @_ZN4core3num7dec2flt5parse10eat_digits17he0d5e956b6bb462dE({ { i8*, i16 }, { i8*, i16 } }* noalias nocapture sret dereferenceable(8) %_27, i8* noalias nonnull readonly %34, i16 %36) br label %bb9 bb7: ; preds = %bb2 %37 = load i8, i8* %_13 %38 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_9, i32 0, i32 0 store i8 %37, i8* %38 %39 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_9, i32 0, i32 1 %40 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %39, i32 0, i32 0 store i8* %15, i8** %40 %41 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %39, i32 0, i32 1 store i16 %16, i16* %41 br label %bb6 bb8: ; preds = %bb3 %42 = load i8, i8* %_18 %43 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_9, i32 0, i32 0 store i8 %42, i8* %43 %44 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_9, i32 0, i32 1 %45 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %44, i32 0, i32 0 store i8* %21, i8** %45 %46 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %44, i32 0, i32 1 store i16 %22, i16* %46 br label %bb6 bb9: ; preds = %bb6 %47 = getelementptr inbounds { { i8*, i16 }, { i8*, i16 } }, { { i8*, i16 }, { i8*, i16 } }* %_27, i32 0, i32 0 %48 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %47, i32 0, i32 0 %49 = load i8*, i8** %48, !nonnull !1 %50 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %47, i32 0, i32 1 %51 = load i16, i16* %50 %52 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 0 store i8* %49, i8** %52 %53 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 1 store i16 %51, i16* %53 %54 = getelementptr inbounds { { i8*, i16 }, { i8*, i16 } }, { { i8*, i16 }, { i8*, i16 } }* %_27, i32 0, i32 1 %55 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %54, i32 0, i32 0 %56 = load i8*, i8** %55, !nonnull !1 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %54, i32 0, i32 1 %58 = load i16, i16* %57 %59 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %56, i16 %58) br label %bb10 bb10: ; preds = %bb9 %60 = xor i1 %59, true br i1 %60, label %bb11, label %bb12 bb11: ; preds = %bb10 %61 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i32 0, i32 0 store i64 3, i64* %61 br label %bb14 bb12: ; preds = %bb10 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 0 %63 = load i8*, i8** %62, !nonnull !1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 1 %65 = load i16, i16* %64 %66 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %63, i16 %65) br label %bb15 bb13: ; preds = %bb35, %bb14 ret void bb14: ; preds = %bb29, %bb16, %bb11 br label %bb13 bb15: ; preds = %bb12 br i1 %66, label %bb16, label %bb17 bb16: ; preds = %bb15 %67 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i32 0, i32 0 store i64 3, i64* %67 br label %bb14 bb17: ; preds = %bb15 br label %bb18 bb18: ; preds = %bb23, %bb17 %68 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 0 %69 = load i8*, i8** %68, !nonnull !1 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 1 %71 = load i16, i16* %70 %72 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$5first17haab01cb1f820b6f3E"(i8* noalias nonnull readonly %69, i16 %71) store i8* %72, i8** %_40 br label %bb20 bb19: ; preds = %bb21 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 0 %74 = load i8*, i8** %73, !nonnull !1 %75 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 1 %76 = load i16, i16* %75 %77 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %74, i16 %76) br label %bb24 bb20: ; preds = %bb18 %78 = call zeroext i1 @"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17he70541b2e267b1f9E"(i8** noalias readonly dereferenceable(2) %_40, i8** noalias readonly dereferenceable(2) @ref.5b) br label %bb21 bb21: ; preds = %bb20 br i1 %78, label %bb22, label %bb19 bb22: ; preds = %bb21 %79 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 0 %80 = load i8*, i8** %79, !nonnull !1 %81 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 1 %82 = load i16, i16* %81 %83 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_46, i32 0, i32 0 store i16 1, i16* %83 %84 = bitcast %"ops::RangeFrom"* %_46 to i16* %85 = load i16, i16* %84, align 2 %86 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %80, i16 %82, i16 %85) %87 = extractvalue { i8*, i16 } %86, 0 %88 = extractvalue { i8*, i16 } %86, 1 br label %bb23 bb23: ; preds = %bb22 %89 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 0 store i8* %87, i8** %89 %90 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 1 store i16 %88, i16* %90 br label %bb18 bb24: ; preds = %bb19 %91 = icmp uge i16 %77, 18 br i1 %91, label %bb25, label %bb26 bb25: ; preds = %bb24 %92 = load i8, i8* %sign, !range !2 %93 = zext i8 %92 to i16 switch i16 %93, label %bb28 [ i16 0, label %bb27 ] bb26: ; preds = %bb24 %94 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 0 %95 = load i8*, i8** %94, !nonnull !1 %96 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %number, i32 0, i32 1 %97 = load i16, i16* %96 %98 = call i64 @_ZN4core3num7dec2flt3num18from_str_unchecked17h42b75503c620cc9aE(i8* noalias nonnull readonly %95, i16 %97) br label %bb30 bb27: ; preds = %bb25 %99 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i32 0, i32 0 store i64 1, i64* %99 br label %bb29 bb28: ; preds = %bb25 %100 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i32 0, i32 0 store i64 2, i64* %100 br label %bb29 bb29: ; preds = %bb27, %bb28 br label %bb14 bb30: ; preds = %bb26 %101 = load i8, i8* %sign, !range !2 %102 = zext i8 %101 to i16 switch i16 %102, label %bb32 [ i16 0, label %bb31 ] bb31: ; preds = %bb30 store i64 %98, i64* %e br label %bb33 bb32: ; preds = %bb30 %103 = icmp eq i64 %98, -9223372036854775808 %104 = call i1 @llvm.expect.i1(i1 %103, i1 false) br i1 %104, label %panic, label %bb34 bb33: ; preds = %bb31, %bb34 %105 = load i64, i64* %e call void @_ZN4core3num7dec2flt5parse7Decimal3new17h086c43348f8d960eE(%"num::dec2flt::parse::Decimal"* noalias nocapture sret dereferenceable(16) %_60, i8* noalias nonnull readonly %1, i16 %2, i8* noalias nonnull readonly %3, i16 %4, i64 %105) br label %bb35 bb34: ; preds = %bb32 %106 = sub i64 0, %98 store i64 %106, i64* %e br label %bb33 bb35: ; preds = %bb33 %107 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i32 0, i32 0 store i64 0, i64* %107 %108 = bitcast %"num::dec2flt::parse::ParseResult"* %0 to { i64, %"num::dec2flt::parse::Decimal" }* %109 = getelementptr inbounds { i64, %"num::dec2flt::parse::Decimal" }, { i64, %"num::dec2flt::parse::Decimal" }* %108, i32 0, i32 1 %110 = bitcast %"num::dec2flt::parse::Decimal"* %_60 to i8* %111 = bitcast %"num::dec2flt::parse::Decimal"* %109 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %111, i8* %110, i16 16, i32 8, i1 false) br label %bb13 panic: ; preds = %bb32 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5c) unreachable } ; Function Attrs: uwtable define %str_slice @_ZN4core3num7dec2flt15ParseFloatError13__description17h79bc341b51ae1b16E(%"num::dec2flt::ParseFloatError"* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: %_0 = alloca %str_slice br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"num::dec2flt::ParseFloatError", %"num::dec2flt::ParseFloatError"* %0, i32 0, i32 0 %2 = load i8, i8* %1, !range !2 %3 = zext i8 %2 to i16 switch i16 %3, label %bb2 [ i16 0, label %bb1 ] bb1: ; preds = %start %4 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.5e, i32 0, i32 0), i8** %4 %5 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 store i16 36, i16* %5 br label %bb3 bb2: ; preds = %start %6 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str.5d, i32 0, i32 0), i8** %6 %7 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 store i16 21, i16* %7 br label %bb3 bb3: ; preds = %bb1, %bb2 %8 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 %9 = load i8*, i8** %8, !nonnull !1 %10 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 %11 = load i16, i16* %10 %12 = insertvalue %str_slice undef, i8* %9, 0 %13 = insertvalue %str_slice %12, i16 %11, 1 ret %str_slice %13 } ; Function Attrs: uwtable define i8 @"_ZN74_$LT$core..num..dec2flt..ParseFloatError$u20$as$u20$core..fmt..Display$GT$3fmt17he925e6f42d416118E"(%"num::dec2flt::ParseFloatError"* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call %str_slice @_ZN4core3num7dec2flt15ParseFloatError13__description17h79bc341b51ae1b16E(%"num::dec2flt::ParseFloatError"* noalias readonly dereferenceable(1) %0) %3 = extractvalue %str_slice %2, 0 %4 = extractvalue %str_slice %2, 1 br label %bb1 bb1: ; preds = %start %5 = call i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h885a7c667bb6b275E"(i8* noalias nonnull readonly %3, i16 %4, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @_ZN4core3num7dec2flt9pfe_empty17ha320763329a99ebdE() unnamed_addr #1 { entry-block: %_1 = alloca i8 %_0 = alloca %"num::dec2flt::ParseFloatError" br label %start start: ; preds = %entry-block store i8 0, i8* %_1 %0 = load i8, i8* %_1 %1 = getelementptr inbounds %"num::dec2flt::ParseFloatError", %"num::dec2flt::ParseFloatError"* %_0, i32 0, i32 0 store i8 %0, i8* %1 %2 = bitcast %"num::dec2flt::ParseFloatError"* %_0 to i8* %3 = load i8, i8* %2, align 1 ret i8 %3 } ; Function Attrs: uwtable define i8 @_ZN4core3num7dec2flt11pfe_invalid17h00d9609ba19a8074E() unnamed_addr #1 { entry-block: %_1 = alloca i8 %_0 = alloca %"num::dec2flt::ParseFloatError" br label %start start: ; preds = %entry-block store i8 1, i8* %_1 %0 = load i8, i8* %_1 %1 = getelementptr inbounds %"num::dec2flt::ParseFloatError", %"num::dec2flt::ParseFloatError"* %_0, i32 0, i32 0 store i8 %0, i8* %1 %2 = bitcast %"num::dec2flt::ParseFloatError"* %_0 to i8* %3 = load i8, i8* %2, align 1 ret i8 %3 } ; Function Attrs: uwtable define void @_ZN4core3num7dec2flt12extract_sign17h84f5fa746938002cE({ i8, %str_slice }* noalias nocapture sret dereferenceable(6), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %_19 = alloca i8 %_18 = alloca %"ops::RangeFrom" %_13 = alloca i8 %_12 = alloca %"ops::RangeFrom" %_7 = alloca i8 br label %start start: ; preds = %entry-block %3 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %4 = extractvalue { i8*, i16 } %3, 0 %5 = extractvalue { i8*, i16 } %3, 1 br label %bb1 bb1: ; preds = %start %6 = icmp ult i16 0, %5 %7 = call i1 @llvm.expect.i1(i1 %6, i1 true) br i1 %7, label %bb2, label %panic bb2: ; preds = %bb1 %8 = getelementptr inbounds i8, i8* %4, i16 0 %9 = load i8, i8* %8 switch i8 %9, label %bb5 [ i8 43, label %bb3 i8 45, label %bb4 ] bb3: ; preds = %bb2 store i8 0, i8* %_7 %10 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_12, i32 0, i32 0 store i16 1, i16* %10 %11 = bitcast %"ops::RangeFrom"* %_12 to i16* %12 = load i16, i16* %11, align 2 %13 = call %str_slice @"_ZN4core3str6traits91_$LT$impl$u20$core..ops..Index$LT$core..ops..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17he53d0ed7bcb77167E"(i8* noalias nonnull readonly %1, i16 %2, i16 %12) %14 = extractvalue %str_slice %13, 0 %15 = extractvalue %str_slice %13, 1 br label %bb7 bb4: ; preds = %bb2 store i8 1, i8* %_13 %16 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_18, i32 0, i32 0 store i16 1, i16* %16 %17 = bitcast %"ops::RangeFrom"* %_18 to i16* %18 = load i16, i16* %17, align 2 %19 = call %str_slice @"_ZN4core3str6traits91_$LT$impl$u20$core..ops..Index$LT$core..ops..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17he53d0ed7bcb77167E"(i8* noalias nonnull readonly %1, i16 %2, i16 %18) %20 = extractvalue %str_slice %19, 0 %21 = extractvalue %str_slice %19, 1 br label %bb8 bb5: ; preds = %bb2 store i8 0, i8* %_19 %22 = load i8, i8* %_19 %23 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %0, i32 0, i32 0 store i8 %22, i8* %23 %24 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %0, i32 0, i32 1 %25 = getelementptr inbounds %str_slice, %str_slice* %24, i32 0, i32 0 store i8* %1, i8** %25 %26 = getelementptr inbounds %str_slice, %str_slice* %24, i32 0, i32 1 store i16 %2, i16* %26 br label %bb6 bb6: ; preds = %bb7, %bb8, %bb5 ret void bb7: ; preds = %bb3 %27 = load i8, i8* %_7 %28 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %0, i32 0, i32 0 store i8 %27, i8* %28 %29 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %0, i32 0, i32 1 %30 = getelementptr inbounds %str_slice, %str_slice* %29, i32 0, i32 0 store i8* %14, i8** %30 %31 = getelementptr inbounds %str_slice, %str_slice* %29, i32 0, i32 1 store i16 %15, i16* %31 br label %bb6 bb8: ; preds = %bb4 %32 = load i8, i8* %_13 %33 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %0, i32 0, i32 0 store i8 %32, i8* %33 %34 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %0, i32 0, i32 1 %35 = getelementptr inbounds %str_slice, %str_slice* %34, i32 0, i32 0 store i8* %20, i8** %35 %36 = getelementptr inbounds %str_slice, %str_slice* %34, i32 0, i32 1 store i16 %21, i16* %36 br label %bb6 panic: ; preds = %bb1 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5g, i16 0, i16 %5) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt7dec2flt17h1de50ced61b5bf4cE(%"result::Result"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast3 = alloca i8 %personalityslot = alloca { i8*, i32 } %abi_cast1 = alloca i8 %abi_cast = alloca i8 %_27 = alloca %"num::dec2flt::ParseFloatError" %_23 = alloca %"num::dec2flt::ParseFloatError" %_22 = alloca %"num::dec2flt::ParseFloatError" %err = alloca %"num::dec2flt::ParseFloatError" %_18 = alloca %"num::dec2flt::parse::Decimal" %_17 = alloca %"result::Result" %_16 = alloca %"result::Result" %decimal = alloca %"num::dec2flt::parse::Decimal" %_12 = alloca %"num::dec2flt::parse::ParseResult" %flt = alloca double %_9 = alloca { i8, %str_slice } %sign = alloca i8 %_6 = alloca %"num::dec2flt::ParseFloatError" %_3 = alloca {} br label %start start: ; preds = %entry-block %3 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 %4 = call i8 @_ZN4core3num7dec2flt9pfe_empty17ha320763329a99ebdE() store i8 %4, i8* %abi_cast %5 = bitcast %"num::dec2flt::ParseFloatError"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb3: ; preds = %bb1 call void @_ZN4core3num7dec2flt12extract_sign17h84f5fa746938002cE({ i8, %str_slice }* noalias nocapture sret dereferenceable(6) %_9, i8* noalias nonnull readonly %1, i16 %2) br label %bb7 bb4: ; preds = %bb2 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %6 %7 = bitcast %"result::Result"* %0 to { i8, %"num::dec2flt::ParseFloatError" }* %8 = getelementptr inbounds { i8, %"num::dec2flt::ParseFloatError" }, { i8, %"num::dec2flt::ParseFloatError" }* %7, i32 0, i32 1 %9 = bitcast %"num::dec2flt::ParseFloatError"* %_6 to i8* %10 = bitcast %"num::dec2flt::ParseFloatError"* %8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 1, i32 1, i1 false) br label %bb6 bb5: ; preds = %bb34, %bb6 ret void bb6: ; preds = %bb23, %bb4 br label %bb5 bb7: ; preds = %bb3 %11 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %_9, i32 0, i32 0 %12 = load i8, i8* %11 store i8 %12, i8* %sign %13 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %_9, i32 0, i32 1 %14 = getelementptr inbounds %str_slice, %str_slice* %13, i32 0, i32 0 %15 = load i8*, i8** %14, !nonnull !1 %16 = getelementptr inbounds %str_slice, %str_slice* %13, i32 0, i32 1 %17 = load i16, i16* %16 call void @_ZN4core3num7dec2flt5parse13parse_decimal17h1378f1ce3b1a3498E(%"num::dec2flt::parse::ParseResult"* noalias nocapture sret dereferenceable(24) %_12, i8* noalias nonnull readonly %15, i16 %17) br label %bb8 bb8: ; preds = %bb7 %18 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %_12, i32 0, i32 0 %19 = load i64, i64* %18, !range !5 %20 = trunc i64 %19 to i16 switch i16 %20, label %bb11 [ i16 0, label %bb12 i16 1, label %bb9 i16 2, label %bb10 ] bb9: ; preds = %bb8 %21 = call double @_ZN4core3num7dec2flt5rawfp8RawFloat9infinity217h22c80218d96fc81dE() store double %21, double* %flt br label %bb13 bb10: ; preds = %bb8 %22 = call double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$5zero217h1868a106ca5e8ec0E"() store double %22, double* %flt br label %bb13 bb11: ; preds = %bb8 %23 = call zeroext i1 @"_ZN4core3str6traits54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$str$GT$2eq17hc56af60b00b8e79aE"(i8* noalias nonnull readonly %15, i16 %17, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.5h, i32 0, i32 0), i16 3) br label %bb28 bb12: ; preds = %bb8 %24 = bitcast %"num::dec2flt::parse::ParseResult"* %_12 to { i64, %"num::dec2flt::parse::Decimal" }* %25 = getelementptr inbounds { i64, %"num::dec2flt::parse::Decimal" }, { i64, %"num::dec2flt::parse::Decimal" }* %24, i32 0, i32 1 %26 = bitcast %"num::dec2flt::parse::Decimal"* %25 to i8* %27 = bitcast %"num::dec2flt::parse::Decimal"* %decimal to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %27, i8* %26, i16 16, i32 8, i1 false) %28 = bitcast %"num::dec2flt::parse::Decimal"* %decimal to i8* %29 = bitcast %"num::dec2flt::parse::Decimal"* %_18 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %29, i8* %28, i16 16, i32 8, i1 false) call void @_ZN4core3num7dec2flt7convert17hebf77aa4ce47a62fE(%"result::Result"* noalias nocapture sret dereferenceable(16) %_17, %"num::dec2flt::parse::Decimal"* noalias nocapture dereferenceable(16) %_18) br label %bb14 bb13: ; preds = %bb24, %bb9, %bb10, %bb26, %bb25 %30 = load i8, i8* %sign, !range !2 %31 = zext i8 %30 to i16 switch i16 %31, label %bb33 [ i16 0, label %bb32 ] bb14: ; preds = %bb12 invoke void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17ha4e6fea69aba23b8E"(%"result::Result"* noalias nocapture sret dereferenceable(16) %_16, %"result::Result"* noalias nocapture dereferenceable(16) %_17) to label %bb17 unwind label %cleanup bb15: ; preds = %bb16, %cleanup %32 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %32 bb16: ; preds = %cleanup2 br label %bb15 bb17: ; preds = %bb14 %33 = getelementptr inbounds %"result::Result", %"result::Result"* %_16, i32 0, i32 0 %34 = load i8, i8* %33, !range !2 %35 = zext i8 %34 to i16 switch i16 %35, label %bb19 [ i16 0, label %bb18 ] bb18: ; preds = %bb17 %36 = bitcast %"result::Result"* %_16 to { i8, double }* %37 = getelementptr inbounds { i8, double }, { i8, double }* %36, i32 0, i32 1 %38 = load double, double* %37 store double %38, double* %flt br label %bb24 bb19: ; preds = %bb17 %39 = bitcast %"result::Result"* %_16 to { i8, %"num::dec2flt::ParseFloatError" }* %40 = getelementptr inbounds { i8, %"num::dec2flt::ParseFloatError" }, { i8, %"num::dec2flt::ParseFloatError" }* %39, i32 0, i32 1 %41 = bitcast %"num::dec2flt::ParseFloatError"* %40 to i8* %42 = bitcast %"num::dec2flt::ParseFloatError"* %err to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %42, i8* %41, i16 1, i32 1, i1 false) %43 = bitcast %"num::dec2flt::ParseFloatError"* %err to i8* %44 = bitcast %"num::dec2flt::ParseFloatError"* %_23 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %44, i8* %43, i16 1, i32 1, i1 false) %45 = bitcast %"num::dec2flt::ParseFloatError"* %_23 to i8* %46 = load i8, i8* %45, align 1 %47 = invoke i8 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h42068cad2ef3f422E"(i8 %46) to label %bb20 unwind label %cleanup2 bb20: ; preds = %bb19 store i8 %47, i8* %abi_cast3 %48 = bitcast %"num::dec2flt::ParseFloatError"* %_22 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %48, i8* %abi_cast3, i16 1, i32 1, i1 false) %49 = bitcast %"num::dec2flt::ParseFloatError"* %_22 to i8* %50 = load i8, i8* %49, align 1 invoke void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17he6d9f2c466e91cecE"(%"result::Result"* noalias nocapture sret dereferenceable(16) %0, i8 %50) to label %bb21 unwind label %cleanup2 bb21: ; preds = %bb20 br label %bb22 bb22: ; preds = %bb21 br label %bb23 bb23: ; preds = %bb22, %bb31 br label %bb6 bb24: ; preds = %bb18 br label %bb13 bb25: ; preds = %bb28 %51 = call double @_ZN4core3num7dec2flt5rawfp8RawFloat9infinity217h22c80218d96fc81dE() store double %51, double* %flt br label %bb13 bb26: ; preds = %bb30 %52 = call double @_ZN4core3num7dec2flt5rawfp8RawFloat4nan217h6d5485108c0c6202E() store double %52, double* %flt br label %bb13 bb27: ; preds = %bb28 %53 = call zeroext i1 @"_ZN4core3str6traits54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$str$GT$2eq17hc56af60b00b8e79aE"(i8* noalias nonnull readonly %15, i16 %17, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.5i, i32 0, i32 0), i16 3) br label %bb30 bb28: ; preds = %bb11 br i1 %23, label %bb25, label %bb27 bb29: ; preds = %bb30 %54 = call i8 @_ZN4core3num7dec2flt11pfe_invalid17h00d9609ba19a8074E() store i8 %54, i8* %abi_cast1 %55 = bitcast %"num::dec2flt::ParseFloatError"* %_27 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %55, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb31 bb30: ; preds = %bb27 br i1 %53, label %bb26, label %bb29 bb31: ; preds = %bb29 %56 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %56 %57 = bitcast %"result::Result"* %0 to { i8, %"num::dec2flt::ParseFloatError" }* %58 = getelementptr inbounds { i8, %"num::dec2flt::ParseFloatError" }, { i8, %"num::dec2flt::ParseFloatError" }* %57, i32 0, i32 1 %59 = bitcast %"num::dec2flt::ParseFloatError"* %_27 to i8* %60 = bitcast %"num::dec2flt::ParseFloatError"* %58 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %60, i8* %59, i16 1, i32 1, i1 false) br label %bb23 bb32: ; preds = %bb13 %61 = load double, double* %flt %62 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %62 %63 = bitcast %"result::Result"* %0 to { i8, double }* %64 = getelementptr inbounds { i8, double }, { i8, double }* %63, i32 0, i32 1 store double %61, double* %64 br label %bb34 bb33: ; preds = %bb13 %65 = load double, double* %flt %66 = call double @"_ZN38_$LT$f64$u20$as$u20$core..ops..Neg$GT$3neg17h86c314218b3ee915E"(double %65) br label %bb35 bb34: ; preds = %bb32, %bb35 br label %bb5 bb35: ; preds = %bb33 %67 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %67 %68 = bitcast %"result::Result"* %0 to { i8, double }* %69 = getelementptr inbounds { i8, double }, { i8, double }* %68, i32 0, i32 1 store double %66, double* %69 br label %bb34 cleanup: ; preds = %bb14 %70 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %70, { i8*, i32 }* %personalityslot br label %bb15 cleanup2: ; preds = %bb20, %bb19 %71 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %71, { i8*, i32 }* %personalityslot br label %bb16 } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt7dec2flt17hef9ab1b6cd16eb2fE(%"result::Result"* noalias nocapture sret dereferenceable(8), i8* noalias nonnull readonly, i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast3 = alloca i8 %personalityslot = alloca { i8*, i32 } %abi_cast1 = alloca i8 %abi_cast = alloca i8 %_27 = alloca %"num::dec2flt::ParseFloatError" %_23 = alloca %"num::dec2flt::ParseFloatError" %_22 = alloca %"num::dec2flt::ParseFloatError" %err = alloca %"num::dec2flt::ParseFloatError" %_18 = alloca %"num::dec2flt::parse::Decimal" %_17 = alloca %"result::Result" %_16 = alloca %"result::Result" %decimal = alloca %"num::dec2flt::parse::Decimal" %_12 = alloca %"num::dec2flt::parse::ParseResult" %flt = alloca float %_9 = alloca { i8, %str_slice } %sign = alloca i8 %_6 = alloca %"num::dec2flt::ParseFloatError" %_3 = alloca {} br label %start start: ; preds = %entry-block %3 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 %4 = call i8 @_ZN4core3num7dec2flt9pfe_empty17ha320763329a99ebdE() store i8 %4, i8* %abi_cast %5 = bitcast %"num::dec2flt::ParseFloatError"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb3: ; preds = %bb1 call void @_ZN4core3num7dec2flt12extract_sign17h84f5fa746938002cE({ i8, %str_slice }* noalias nocapture sret dereferenceable(6) %_9, i8* noalias nonnull readonly %1, i16 %2) br label %bb7 bb4: ; preds = %bb2 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %6 %7 = bitcast %"result::Result"* %0 to { i8, %"num::dec2flt::ParseFloatError" }* %8 = getelementptr inbounds { i8, %"num::dec2flt::ParseFloatError" }, { i8, %"num::dec2flt::ParseFloatError" }* %7, i32 0, i32 1 %9 = bitcast %"num::dec2flt::ParseFloatError"* %_6 to i8* %10 = bitcast %"num::dec2flt::ParseFloatError"* %8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 1, i32 1, i1 false) br label %bb6 bb5: ; preds = %bb34, %bb6 ret void bb6: ; preds = %bb23, %bb4 br label %bb5 bb7: ; preds = %bb3 %11 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %_9, i32 0, i32 0 %12 = load i8, i8* %11 store i8 %12, i8* %sign %13 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %_9, i32 0, i32 1 %14 = getelementptr inbounds %str_slice, %str_slice* %13, i32 0, i32 0 %15 = load i8*, i8** %14, !nonnull !1 %16 = getelementptr inbounds %str_slice, %str_slice* %13, i32 0, i32 1 %17 = load i16, i16* %16 call void @_ZN4core3num7dec2flt5parse13parse_decimal17h1378f1ce3b1a3498E(%"num::dec2flt::parse::ParseResult"* noalias nocapture sret dereferenceable(24) %_12, i8* noalias nonnull readonly %15, i16 %17) br label %bb8 bb8: ; preds = %bb7 %18 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %_12, i32 0, i32 0 %19 = load i64, i64* %18, !range !5 %20 = trunc i64 %19 to i16 switch i16 %20, label %bb11 [ i16 0, label %bb12 i16 1, label %bb9 i16 2, label %bb10 ] bb9: ; preds = %bb8 %21 = call float @_ZN4core3num7dec2flt5rawfp8RawFloat9infinity217h57cd4ed2f068b3deE() store float %21, float* %flt br label %bb13 bb10: ; preds = %bb8 %22 = call float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$5zero217hd4a81a365907739dE"() store float %22, float* %flt br label %bb13 bb11: ; preds = %bb8 %23 = call zeroext i1 @"_ZN4core3str6traits54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$str$GT$2eq17hc56af60b00b8e79aE"(i8* noalias nonnull readonly %15, i16 %17, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.5h, i32 0, i32 0), i16 3) br label %bb28 bb12: ; preds = %bb8 %24 = bitcast %"num::dec2flt::parse::ParseResult"* %_12 to { i64, %"num::dec2flt::parse::Decimal" }* %25 = getelementptr inbounds { i64, %"num::dec2flt::parse::Decimal" }, { i64, %"num::dec2flt::parse::Decimal" }* %24, i32 0, i32 1 %26 = bitcast %"num::dec2flt::parse::Decimal"* %25 to i8* %27 = bitcast %"num::dec2flt::parse::Decimal"* %decimal to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %27, i8* %26, i16 16, i32 8, i1 false) %28 = bitcast %"num::dec2flt::parse::Decimal"* %decimal to i8* %29 = bitcast %"num::dec2flt::parse::Decimal"* %_18 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %29, i8* %28, i16 16, i32 8, i1 false) call void @_ZN4core3num7dec2flt7convert17hf1ac43f06ad456bbE(%"result::Result"* noalias nocapture sret dereferenceable(8) %_17, %"num::dec2flt::parse::Decimal"* noalias nocapture dereferenceable(16) %_18) br label %bb14 bb13: ; preds = %bb24, %bb9, %bb10, %bb26, %bb25 %30 = load i8, i8* %sign, !range !2 %31 = zext i8 %30 to i16 switch i16 %31, label %bb33 [ i16 0, label %bb32 ] bb14: ; preds = %bb12 invoke void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h348d7e6b7723b137E"(%"result::Result"* noalias nocapture sret dereferenceable(8) %_16, %"result::Result"* noalias nocapture dereferenceable(8) %_17) to label %bb17 unwind label %cleanup bb15: ; preds = %bb16, %cleanup %32 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %32 bb16: ; preds = %cleanup2 br label %bb15 bb17: ; preds = %bb14 %33 = getelementptr inbounds %"result::Result", %"result::Result"* %_16, i32 0, i32 0 %34 = load i8, i8* %33, !range !2 %35 = zext i8 %34 to i16 switch i16 %35, label %bb19 [ i16 0, label %bb18 ] bb18: ; preds = %bb17 %36 = bitcast %"result::Result"* %_16 to { i8, float }* %37 = getelementptr inbounds { i8, float }, { i8, float }* %36, i32 0, i32 1 %38 = load float, float* %37 store float %38, float* %flt br label %bb24 bb19: ; preds = %bb17 %39 = bitcast %"result::Result"* %_16 to { i8, %"num::dec2flt::ParseFloatError" }* %40 = getelementptr inbounds { i8, %"num::dec2flt::ParseFloatError" }, { i8, %"num::dec2flt::ParseFloatError" }* %39, i32 0, i32 1 %41 = bitcast %"num::dec2flt::ParseFloatError"* %40 to i8* %42 = bitcast %"num::dec2flt::ParseFloatError"* %err to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %42, i8* %41, i16 1, i32 1, i1 false) %43 = bitcast %"num::dec2flt::ParseFloatError"* %err to i8* %44 = bitcast %"num::dec2flt::ParseFloatError"* %_23 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %44, i8* %43, i16 1, i32 1, i1 false) %45 = bitcast %"num::dec2flt::ParseFloatError"* %_23 to i8* %46 = load i8, i8* %45, align 1 %47 = invoke i8 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h42068cad2ef3f422E"(i8 %46) to label %bb20 unwind label %cleanup2 bb20: ; preds = %bb19 store i8 %47, i8* %abi_cast3 %48 = bitcast %"num::dec2flt::ParseFloatError"* %_22 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %48, i8* %abi_cast3, i16 1, i32 1, i1 false) %49 = bitcast %"num::dec2flt::ParseFloatError"* %_22 to i8* %50 = load i8, i8* %49, align 1 invoke void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17h0bb3d7d587d480b5E"(%"result::Result"* noalias nocapture sret dereferenceable(8) %0, i8 %50) to label %bb21 unwind label %cleanup2 bb21: ; preds = %bb20 br label %bb22 bb22: ; preds = %bb21 br label %bb23 bb23: ; preds = %bb22, %bb31 br label %bb6 bb24: ; preds = %bb18 br label %bb13 bb25: ; preds = %bb28 %51 = call float @_ZN4core3num7dec2flt5rawfp8RawFloat9infinity217h57cd4ed2f068b3deE() store float %51, float* %flt br label %bb13 bb26: ; preds = %bb30 %52 = call float @_ZN4core3num7dec2flt5rawfp8RawFloat4nan217h4051ec898cd0d4d8E() store float %52, float* %flt br label %bb13 bb27: ; preds = %bb28 %53 = call zeroext i1 @"_ZN4core3str6traits54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$str$GT$2eq17hc56af60b00b8e79aE"(i8* noalias nonnull readonly %15, i16 %17, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.5i, i32 0, i32 0), i16 3) br label %bb30 bb28: ; preds = %bb11 br i1 %23, label %bb25, label %bb27 bb29: ; preds = %bb30 %54 = call i8 @_ZN4core3num7dec2flt11pfe_invalid17h00d9609ba19a8074E() store i8 %54, i8* %abi_cast1 %55 = bitcast %"num::dec2flt::ParseFloatError"* %_27 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %55, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb31 bb30: ; preds = %bb27 br i1 %53, label %bb26, label %bb29 bb31: ; preds = %bb29 %56 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %56 %57 = bitcast %"result::Result"* %0 to { i8, %"num::dec2flt::ParseFloatError" }* %58 = getelementptr inbounds { i8, %"num::dec2flt::ParseFloatError" }, { i8, %"num::dec2flt::ParseFloatError" }* %57, i32 0, i32 1 %59 = bitcast %"num::dec2flt::ParseFloatError"* %_27 to i8* %60 = bitcast %"num::dec2flt::ParseFloatError"* %58 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %60, i8* %59, i16 1, i32 1, i1 false) br label %bb23 bb32: ; preds = %bb13 %61 = load float, float* %flt %62 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %62 %63 = bitcast %"result::Result"* %0 to { i8, float }* %64 = getelementptr inbounds { i8, float }, { i8, float }* %63, i32 0, i32 1 store float %61, float* %64 br label %bb34 bb33: ; preds = %bb13 %65 = load float, float* %flt %66 = call float @"_ZN38_$LT$f32$u20$as$u20$core..ops..Neg$GT$3neg17hca83af5650c260efE"(float %65) br label %bb35 bb34: ; preds = %bb32, %bb35 br label %bb5 bb35: ; preds = %bb33 %67 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %67 %68 = bitcast %"result::Result"* %0 to { i8, float }* %69 = getelementptr inbounds { i8, float }, { i8, float }* %68, i32 0, i32 1 store float %66, float* %69 br label %bb34 cleanup: ; preds = %bb14 %70 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %70, { i8*, i32 }* %personalityslot br label %bb15 cleanup2: ; preds = %bb20, %bb19 %71 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %71, { i8*, i32 }* %personalityslot br label %bb16 } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt7convert17hebf77aa4ce47a62fE(%"result::Result"* noalias nocapture sret dereferenceable(16), %"num::dec2flt::parse::Decimal"* noalias nocapture dereferenceable(16)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_49 = alloca i8 %exponent_in_range = alloca i8 %f = alloca %"num::bignum::Big32x40" %_34 = alloca %"num::dec2flt::ParseFloatError" %_31 = alloca {} %_20 = alloca %"option::Option" %_19 = alloca {} %_7 = alloca %"option::Option" %_6 = alloca {} %decimal = alloca %"num::dec2flt::parse::Decimal" br label %start start: ; preds = %entry-block %2 = bitcast %"num::dec2flt::parse::Decimal"* %1 to i8* %3 = bitcast %"num::dec2flt::parse::Decimal"* %decimal to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 16, i32 8, i1 false) call void @_ZN4core3num7dec2flt8simplify17h811beb754e82a36bE(%"num::dec2flt::parse::Decimal"* dereferenceable(16) %decimal) br label %bb1 bb1: ; preds = %start call void @_ZN4core3num7dec2flt13trivial_cases17h36d346b89fdcca90E(%"option::Option"* noalias nocapture sret dereferenceable(16) %_7, %"num::dec2flt::parse::Decimal"* noalias readonly dereferenceable(16) %decimal) br label %bb2 bb2: ; preds = %bb1 %4 = getelementptr inbounds %"option::Option", %"option::Option"* %_7, i32 0, i32 0 %5 = load i64, i64* %4, !range !8 %6 = trunc i64 %5 to i16 switch i16 %6, label %bb3 [ i16 1, label %bb4 ] bb3: ; preds = %bb2 %7 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %decimal, i32 0, i32 2 %8 = load i64, i64* %7 %9 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %decimal, i32 0, i32 1 %10 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %9, i32 0, i32 0 %11 = load i8*, i8** %10, !nonnull !1 %12 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %9, i32 0, i32 1 %13 = load i16, i16* %12 %14 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %11, i16 %13) br label %bb7 bb4: ; preds = %bb2 %15 = bitcast %"option::Option"* %_7 to { i64, double }* %16 = getelementptr inbounds { i64, double }, { i64, double }* %15, i32 0, i32 1 %17 = load double, double* %16 %18 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %18 %19 = bitcast %"result::Result"* %0 to { i8, double }* %20 = getelementptr inbounds { i8, double }, { i8, double }* %19, i32 0, i32 1 store double %17, double* %20 br label %bb6 bb5: ; preds = %bb6, %bb31 ret void bb6: ; preds = %bb4, %bb12 br label %bb5 bb7: ; preds = %bb3 %21 = zext i16 %14 to i64 %22 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 %8, i64 %21) %23 = extractvalue { i64, i1 } %22, 0 %24 = extractvalue { i64, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic, label %bb8 bb8: ; preds = %bb7 %26 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %decimal, i32 0, i32 0 %27 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %26, i32 0, i32 0 %28 = load i8*, i8** %27, !nonnull !1 %29 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %26, i32 0, i32 1 %30 = load i16, i16* %29 %31 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %decimal, i32 0, i32 1 %32 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %31, i32 0, i32 0 %33 = load i8*, i8** %32, !nonnull !1 %34 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %31, i32 0, i32 1 %35 = load i16, i16* %34 call void @_ZN4core3num7dec2flt9algorithm9fast_path17hf7b7de37865094cfE(%"option::Option"* noalias nocapture sret dereferenceable(16) %_20, i8* noalias nonnull readonly %28, i16 %30, i8* noalias nonnull readonly %33, i16 %35, i64 %23) br label %bb9 bb9: ; preds = %bb8 %36 = getelementptr inbounds %"option::Option", %"option::Option"* %_20, i32 0, i32 0 %37 = load i64, i64* %36, !range !8 %38 = trunc i64 %37 to i16 switch i16 %38, label %bb10 [ i16 1, label %bb11 ] bb10: ; preds = %bb9 %39 = call i64 @_ZN4core3num7dec2flt25bound_intermediate_digits17h7451347efb5b97b1E(%"num::dec2flt::parse::Decimal"* noalias readonly dereferenceable(16) %decimal, i64 %23) br label %bb13 bb11: ; preds = %bb9 %40 = bitcast %"option::Option"* %_20 to { i64, double }* %41 = getelementptr inbounds { i64, double }, { i64, double }* %40, i32 0, i32 1 %42 = load double, double* %41 %43 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %43 %44 = bitcast %"result::Result"* %0 to { i8, double }* %45 = getelementptr inbounds { i8, double }, { i8, double }* %44, i32 0, i32 1 store double %42, double* %45 br label %bb12 bb12: ; preds = %bb11, %bb16 br label %bb6 bb13: ; preds = %bb10 %46 = icmp ugt i64 %39, 375 br i1 %46, label %bb14, label %bb15 bb14: ; preds = %bb13 %47 = call i8 @_ZN4core3num7dec2flt11pfe_invalid17h00d9609ba19a8074E() store i8 %47, i8* %abi_cast %48 = bitcast %"num::dec2flt::ParseFloatError"* %_34 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %48, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb16 bb15: ; preds = %bb13 %49 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %decimal, i32 0, i32 0 %50 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %49, i32 0, i32 0 %51 = load i8*, i8** %50, !nonnull !1 %52 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %49, i32 0, i32 1 %53 = load i16, i16* %52 %54 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %decimal, i32 0, i32 1 %55 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %54, i32 0, i32 0 %56 = load i8*, i8** %55, !nonnull !1 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %54, i32 0, i32 1 %58 = load i16, i16* %57 call void @_ZN4core3num7dec2flt3num13digits_to_big17h092a87657d3a6e89E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %f, i8* noalias nonnull readonly %51, i16 %53, i8* noalias nonnull readonly %56, i16 %58) br label %bb17 bb16: ; preds = %bb14 %59 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %59 %60 = bitcast %"result::Result"* %0 to { i8, %"num::dec2flt::ParseFloatError" }* %61 = getelementptr inbounds { i8, %"num::dec2flt::ParseFloatError" }, { i8, %"num::dec2flt::ParseFloatError" }* %60, i32 0, i32 1 %62 = bitcast %"num::dec2flt::ParseFloatError"* %_34 to i8* %63 = bitcast %"num::dec2flt::ParseFloatError"* %61 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %63, i8* %62, i16 1, i32 1, i1 false) br label %bb12 bb17: ; preds = %bb15 %64 = trunc i64 %23 to i16 %65 = icmp sle i16 -305, %64 br i1 %65, label %bb20, label %bb19 bb18: ; preds = %bb20 store i8 1, i8* %exponent_in_range br label %bb21 bb19: ; preds = %bb20, %bb17 store i8 0, i8* %exponent_in_range br label %bb21 bb20: ; preds = %bb17 %66 = icmp sle i16 %64, 305 br i1 %66, label %bb18, label %bb19 bb21: ; preds = %bb19, %bb18 %67 = call i16 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$17max_normal_digits17h9d2c399a3f7341daE"() br label %bb22 bb22: ; preds = %bb21 %68 = zext i16 %67 to i64 %69 = icmp ule i64 %39, %68 %70 = load i8, i8* %exponent_in_range, !range !2 %71 = trunc i8 %70 to i1 br i1 %71, label %bb25, label %bb24 bb23: ; preds = %bb25 store i8 1, i8* %_49 br label %bb26 bb24: ; preds = %bb25, %bb22 store i8 0, i8* %_49 br label %bb26 bb25: ; preds = %bb22 br i1 %69, label %bb23, label %bb24 bb26: ; preds = %bb24, %bb23 %72 = load i8, i8* %_49, !range !2 %73 = trunc i8 %72 to i1 br i1 %73, label %bb27, label %bb28 bb27: ; preds = %bb26 %74 = call double @_ZN4core3num7dec2flt9algorithm11bellerophon17hbdc9792ba93c9697E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %f, i16 %64) br label %bb29 bb28: ; preds = %bb26 %75 = call double @_ZN4core3num7dec2flt9algorithm11algorithm_m17he11419aa130028fbE(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %f, i16 %64) br label %bb30 bb29: ; preds = %bb27 %76 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %76 %77 = bitcast %"result::Result"* %0 to { i8, double }* %78 = getelementptr inbounds { i8, double }, { i8, double }* %77, i32 0, i32 1 store double %74, double* %78 br label %bb31 bb30: ; preds = %bb28 %79 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %79 %80 = bitcast %"result::Result"* %0 to { i8, double }* %81 = getelementptr inbounds { i8, double }, { i8, double }* %80, i32 0, i32 1 store double %75, double* %81 br label %bb31 bb31: ; preds = %bb30, %bb29 br label %bb5 panic: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5j) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt7convert17hf1ac43f06ad456bbE(%"result::Result"* noalias nocapture sret dereferenceable(8), %"num::dec2flt::parse::Decimal"* noalias nocapture dereferenceable(16)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_49 = alloca i8 %exponent_in_range = alloca i8 %f = alloca %"num::bignum::Big32x40" %_34 = alloca %"num::dec2flt::ParseFloatError" %_31 = alloca {} %_20 = alloca %"option::Option" %_19 = alloca {} %_7 = alloca %"option::Option" %_6 = alloca {} %decimal = alloca %"num::dec2flt::parse::Decimal" br label %start start: ; preds = %entry-block %2 = bitcast %"num::dec2flt::parse::Decimal"* %1 to i8* %3 = bitcast %"num::dec2flt::parse::Decimal"* %decimal to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 16, i32 8, i1 false) call void @_ZN4core3num7dec2flt8simplify17h811beb754e82a36bE(%"num::dec2flt::parse::Decimal"* dereferenceable(16) %decimal) br label %bb1 bb1: ; preds = %start call void @_ZN4core3num7dec2flt13trivial_cases17h85cb77abdbbb0f18E(%"option::Option"* noalias nocapture sret dereferenceable(8) %_7, %"num::dec2flt::parse::Decimal"* noalias readonly dereferenceable(16) %decimal) br label %bb2 bb2: ; preds = %bb1 %4 = getelementptr inbounds %"option::Option", %"option::Option"* %_7, i32 0, i32 0 %5 = load i32, i32* %4, !range !9 %6 = trunc i32 %5 to i16 switch i16 %6, label %bb3 [ i16 1, label %bb4 ] bb3: ; preds = %bb2 %7 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %decimal, i32 0, i32 2 %8 = load i64, i64* %7 %9 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %decimal, i32 0, i32 1 %10 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %9, i32 0, i32 0 %11 = load i8*, i8** %10, !nonnull !1 %12 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %9, i32 0, i32 1 %13 = load i16, i16* %12 %14 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %11, i16 %13) br label %bb7 bb4: ; preds = %bb2 %15 = bitcast %"option::Option"* %_7 to { i32, float }* %16 = getelementptr inbounds { i32, float }, { i32, float }* %15, i32 0, i32 1 %17 = load float, float* %16 %18 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %18 %19 = bitcast %"result::Result"* %0 to { i8, float }* %20 = getelementptr inbounds { i8, float }, { i8, float }* %19, i32 0, i32 1 store float %17, float* %20 br label %bb6 bb5: ; preds = %bb6, %bb31 ret void bb6: ; preds = %bb4, %bb12 br label %bb5 bb7: ; preds = %bb3 %21 = zext i16 %14 to i64 %22 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 %8, i64 %21) %23 = extractvalue { i64, i1 } %22, 0 %24 = extractvalue { i64, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic, label %bb8 bb8: ; preds = %bb7 %26 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %decimal, i32 0, i32 0 %27 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %26, i32 0, i32 0 %28 = load i8*, i8** %27, !nonnull !1 %29 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %26, i32 0, i32 1 %30 = load i16, i16* %29 %31 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %decimal, i32 0, i32 1 %32 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %31, i32 0, i32 0 %33 = load i8*, i8** %32, !nonnull !1 %34 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %31, i32 0, i32 1 %35 = load i16, i16* %34 call void @_ZN4core3num7dec2flt9algorithm9fast_path17h3a82261229d05f23E(%"option::Option"* noalias nocapture sret dereferenceable(8) %_20, i8* noalias nonnull readonly %28, i16 %30, i8* noalias nonnull readonly %33, i16 %35, i64 %23) br label %bb9 bb9: ; preds = %bb8 %36 = getelementptr inbounds %"option::Option", %"option::Option"* %_20, i32 0, i32 0 %37 = load i32, i32* %36, !range !9 %38 = trunc i32 %37 to i16 switch i16 %38, label %bb10 [ i16 1, label %bb11 ] bb10: ; preds = %bb9 %39 = call i64 @_ZN4core3num7dec2flt25bound_intermediate_digits17h7451347efb5b97b1E(%"num::dec2flt::parse::Decimal"* noalias readonly dereferenceable(16) %decimal, i64 %23) br label %bb13 bb11: ; preds = %bb9 %40 = bitcast %"option::Option"* %_20 to { i32, float }* %41 = getelementptr inbounds { i32, float }, { i32, float }* %40, i32 0, i32 1 %42 = load float, float* %41 %43 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %43 %44 = bitcast %"result::Result"* %0 to { i8, float }* %45 = getelementptr inbounds { i8, float }, { i8, float }* %44, i32 0, i32 1 store float %42, float* %45 br label %bb12 bb12: ; preds = %bb11, %bb16 br label %bb6 bb13: ; preds = %bb10 %46 = icmp ugt i64 %39, 375 br i1 %46, label %bb14, label %bb15 bb14: ; preds = %bb13 %47 = call i8 @_ZN4core3num7dec2flt11pfe_invalid17h00d9609ba19a8074E() store i8 %47, i8* %abi_cast %48 = bitcast %"num::dec2flt::ParseFloatError"* %_34 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %48, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb16 bb15: ; preds = %bb13 %49 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %decimal, i32 0, i32 0 %50 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %49, i32 0, i32 0 %51 = load i8*, i8** %50, !nonnull !1 %52 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %49, i32 0, i32 1 %53 = load i16, i16* %52 %54 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %decimal, i32 0, i32 1 %55 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %54, i32 0, i32 0 %56 = load i8*, i8** %55, !nonnull !1 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %54, i32 0, i32 1 %58 = load i16, i16* %57 call void @_ZN4core3num7dec2flt3num13digits_to_big17h092a87657d3a6e89E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164) %f, i8* noalias nonnull readonly %51, i16 %53, i8* noalias nonnull readonly %56, i16 %58) br label %bb17 bb16: ; preds = %bb14 %59 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %59 %60 = bitcast %"result::Result"* %0 to { i8, %"num::dec2flt::ParseFloatError" }* %61 = getelementptr inbounds { i8, %"num::dec2flt::ParseFloatError" }, { i8, %"num::dec2flt::ParseFloatError" }* %60, i32 0, i32 1 %62 = bitcast %"num::dec2flt::ParseFloatError"* %_34 to i8* %63 = bitcast %"num::dec2flt::ParseFloatError"* %61 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %63, i8* %62, i16 1, i32 1, i1 false) br label %bb12 bb17: ; preds = %bb15 %64 = trunc i64 %23 to i16 %65 = icmp sle i16 -305, %64 br i1 %65, label %bb20, label %bb19 bb18: ; preds = %bb20 store i8 1, i8* %exponent_in_range br label %bb21 bb19: ; preds = %bb20, %bb17 store i8 0, i8* %exponent_in_range br label %bb21 bb20: ; preds = %bb17 %66 = icmp sle i16 %64, 305 br i1 %66, label %bb18, label %bb19 bb21: ; preds = %bb19, %bb18 %67 = call i16 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$17max_normal_digits17h5aba8d2505446188E"() br label %bb22 bb22: ; preds = %bb21 %68 = zext i16 %67 to i64 %69 = icmp ule i64 %39, %68 %70 = load i8, i8* %exponent_in_range, !range !2 %71 = trunc i8 %70 to i1 br i1 %71, label %bb25, label %bb24 bb23: ; preds = %bb25 store i8 1, i8* %_49 br label %bb26 bb24: ; preds = %bb25, %bb22 store i8 0, i8* %_49 br label %bb26 bb25: ; preds = %bb22 br i1 %69, label %bb23, label %bb24 bb26: ; preds = %bb24, %bb23 %72 = load i8, i8* %_49, !range !2 %73 = trunc i8 %72 to i1 br i1 %73, label %bb27, label %bb28 bb27: ; preds = %bb26 %74 = call float @_ZN4core3num7dec2flt9algorithm11bellerophon17he3653fc534d928caE(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %f, i16 %64) br label %bb29 bb28: ; preds = %bb26 %75 = call float @_ZN4core3num7dec2flt9algorithm11algorithm_m17hbcb68903a02edad3E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %f, i16 %64) br label %bb30 bb29: ; preds = %bb27 %76 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %76 %77 = bitcast %"result::Result"* %0 to { i8, float }* %78 = getelementptr inbounds { i8, float }, { i8, float }* %77, i32 0, i32 1 store float %74, float* %78 br label %bb31 bb30: ; preds = %bb28 %79 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %79 %80 = bitcast %"result::Result"* %0 to { i8, float }* %81 = getelementptr inbounds { i8, float }, { i8, float }* %80, i32 0, i32 1 store float %75, float* %81 br label %bb31 bb31: ; preds = %bb30, %bb29 br label %bb5 panic: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5j) unreachable } ; Function Attrs: alwaysinline uwtable define internal void @_ZN4core3num7dec2flt8simplify17h811beb754e82a36bE(%"num::dec2flt::parse::Decimal"* dereferenceable(16)) unnamed_addr #2 { entry-block: %_61 = alloca %"ops::RangeTo" %_50 = alloca %"slice::Iter" %_49 = alloca %"iter::Rev>" %_48 = alloca %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>" %_40 = alloca %"ops::RangeFrom" %_34 = alloca %"slice::Iter" %_33 = alloca %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>" %_28 = alloca %"ops::RangeTo" %_17 = alloca %"slice::Iter" %_16 = alloca %"iter::Rev>" %_15 = alloca %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>" %_12 = alloca %"ops::RangeFrom" %_6 = alloca %"slice::Iter" %_5 = alloca %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>" %_0 = alloca {} br label %start start: ; preds = %entry-block %1 = load %closure.0*, %closure.0** bitcast ({}** @const.5l to %closure.0**), !nonnull !1 %2 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 0 %3 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %2, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %2, i32 0, i32 1 %6 = load i16, i16* %5 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_6, i8* noalias nonnull readonly %4, i16 %6) br label %bb1 bb1: ; preds = %start call void @_ZN4core4iter8iterator8Iterator10take_while17hb02bf91916f4ec88E(%"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture sret dereferenceable(8) %_5, %"slice::Iter"* noalias nocapture dereferenceable(4) %_6, %closure.0* noalias readonly %1) br label %bb2 bb2: ; preds = %bb1 %7 = call i16 @_ZN4core4iter8iterator8Iterator5count17h11a7f79ecee0ffdcE(%"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8) %_5) br label %bb3 bb3: ; preds = %bb2 %8 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 0 %9 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %8, i32 0, i32 0 %10 = load i8*, i8** %9, !nonnull !1 %11 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %8, i32 0, i32 1 %12 = load i16, i16* %11 %13 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_12, i32 0, i32 0 store i16 %7, i16* %13 %14 = bitcast %"ops::RangeFrom"* %_12 to i16* %15 = load i16, i16* %14, align 2 %16 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %10, i16 %12, i16 %15) %17 = extractvalue { i8*, i16 } %16, 0 %18 = extractvalue { i8*, i16 } %16, 1 br label %bb4 bb4: ; preds = %bb3 %19 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 0 %20 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %19, i32 0, i32 0 store i8* %17, i8** %20 %21 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %19, i32 0, i32 1 store i16 %18, i16* %21 %22 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 1 %23 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %22, i32 0, i32 0 %24 = load i8*, i8** %23, !nonnull !1 %25 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %22, i32 0, i32 1 %26 = load i16, i16* %25 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_17, i8* noalias nonnull readonly %24, i16 %26) br label %bb5 bb5: ; preds = %bb4 call void @_ZN4core4iter8iterator8Iterator3rev17h46ac273cb8c2b4b1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_16, %"slice::Iter"* noalias nocapture dereferenceable(4) %_17) br label %bb6 bb6: ; preds = %bb5 call void @_ZN4core4iter8iterator8Iterator10take_while17h665df52f959dc933E(%"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture sret dereferenceable(8) %_15, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_16, %closure.0* noalias readonly %1) br label %bb7 bb7: ; preds = %bb6 %27 = call i16 @_ZN4core4iter8iterator8Iterator5count17h966dc7adf3d1b62dE(%"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8) %_15) br label %bb8 bb8: ; preds = %bb7 %28 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 1 %29 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %28, i32 0, i32 0 %30 = load i8*, i8** %29, !nonnull !1 %31 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %28, i32 0, i32 1 %32 = load i16, i16* %31 %33 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %30, i16 %32) br label %bb9 bb9: ; preds = %bb8 %34 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %33, i16 %27) %35 = extractvalue { i16, i1 } %34, 0 %36 = extractvalue { i16, i1 } %34, 1 %37 = call i1 @llvm.expect.i1(i1 %36, i1 false) br i1 %37, label %panic, label %bb10 bb10: ; preds = %bb9 %38 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 1 %39 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %38, i32 0, i32 0 %40 = load i8*, i8** %39, !nonnull !1 %41 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %38, i32 0, i32 1 %42 = load i16, i16* %41 %43 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_28, i32 0, i32 0 store i16 %35, i16* %43 %44 = bitcast %"ops::RangeTo"* %_28 to i16* %45 = load i16, i16* %44, align 2 %46 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %40, i16 %42, i16 %45) %47 = extractvalue { i8*, i16 } %46, 0 %48 = extractvalue { i8*, i16 } %46, 1 br label %bb11 bb11: ; preds = %bb10 %49 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 1 %50 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %49, i32 0, i32 0 store i8* %47, i8** %50 %51 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %49, i32 0, i32 1 store i16 %48, i16* %51 %52 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 0 %53 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %52, i32 0, i32 0 %54 = load i8*, i8** %53, !nonnull !1 %55 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %52, i32 0, i32 1 %56 = load i16, i16* %55 %57 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %54, i16 %56) br label %bb12 bb12: ; preds = %bb11 br i1 %57, label %bb13, label %bb14 bb13: ; preds = %bb12 %58 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 1 %59 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %58, i32 0, i32 0 %60 = load i8*, i8** %59, !nonnull !1 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %58, i32 0, i32 1 %62 = load i16, i16* %61 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_34, i8* noalias nonnull readonly %60, i16 %62) br label %bb15 bb14: ; preds = %bb12 %63 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %63, i32 0, i32 0 %65 = load i8*, i8** %64, !nonnull !1 %66 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %63, i32 0, i32 1 %67 = load i16, i16* %66 %68 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %65, i16 %67) br label %bb20 bb15: ; preds = %bb13 call void @_ZN4core4iter8iterator8Iterator10take_while17hb02bf91916f4ec88E(%"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture sret dereferenceable(8) %_33, %"slice::Iter"* noalias nocapture dereferenceable(4) %_34, %closure.0* noalias readonly %1) br label %bb16 bb16: ; preds = %bb15 %69 = call i16 @_ZN4core4iter8iterator8Iterator5count17h11a7f79ecee0ffdcE(%"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8) %_33) br label %bb17 bb17: ; preds = %bb16 %70 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 1 %71 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %70, i32 0, i32 0 %72 = load i8*, i8** %71, !nonnull !1 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %70, i32 0, i32 1 %74 = load i16, i16* %73 %75 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_40, i32 0, i32 0 store i16 %69, i16* %75 %76 = bitcast %"ops::RangeFrom"* %_40 to i16* %77 = load i16, i16* %76, align 2 %78 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %72, i16 %74, i16 %77) %79 = extractvalue { i8*, i16 } %78, 0 %80 = extractvalue { i8*, i16 } %78, 1 br label %bb18 bb18: ; preds = %bb17 %81 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 1 %82 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %81, i32 0, i32 0 store i8* %79, i8** %82 %83 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %81, i32 0, i32 1 store i16 %80, i16* %83 %84 = zext i16 %69 to i64 %85 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 2 %86 = load i64, i64* %85 %87 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 %86, i64 %84) %88 = extractvalue { i64, i1 } %87, 0 %89 = extractvalue { i64, i1 } %87, 1 %90 = call i1 @llvm.expect.i1(i1 %89, i1 false) br i1 %90, label %panic1, label %bb19 bb19: ; preds = %bb18 %91 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 2 store i64 %88, i64* %91 br label %bb32 bb20: ; preds = %bb14 br i1 %68, label %bb21, label %bb22 bb21: ; preds = %bb20 %92 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 0 %93 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %92, i32 0, i32 0 %94 = load i8*, i8** %93, !nonnull !1 %95 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %92, i32 0, i32 1 %96 = load i16, i16* %95 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_50, i8* noalias nonnull readonly %94, i16 %96) br label %bb23 bb22: ; preds = %bb20 br label %bb31 bb23: ; preds = %bb21 call void @_ZN4core4iter8iterator8Iterator3rev17h46ac273cb8c2b4b1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_49, %"slice::Iter"* noalias nocapture dereferenceable(4) %_50) br label %bb24 bb24: ; preds = %bb23 call void @_ZN4core4iter8iterator8Iterator10take_while17h665df52f959dc933E(%"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture sret dereferenceable(8) %_48, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_49, %closure.0* noalias readonly %1) br label %bb25 bb25: ; preds = %bb24 %97 = call i16 @_ZN4core4iter8iterator8Iterator5count17h966dc7adf3d1b62dE(%"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8) %_48) br label %bb26 bb26: ; preds = %bb25 %98 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 0 %99 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %98, i32 0, i32 0 %100 = load i8*, i8** %99, !nonnull !1 %101 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %98, i32 0, i32 1 %102 = load i16, i16* %101 %103 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %100, i16 %102) br label %bb27 bb27: ; preds = %bb26 %104 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %103, i16 %97) %105 = extractvalue { i16, i1 } %104, 0 %106 = extractvalue { i16, i1 } %104, 1 %107 = call i1 @llvm.expect.i1(i1 %106, i1 false) br i1 %107, label %panic2, label %bb28 bb28: ; preds = %bb27 %108 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 0 %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 0 %110 = load i8*, i8** %109, !nonnull !1 %111 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 1 %112 = load i16, i16* %111 %113 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_61, i32 0, i32 0 store i16 %105, i16* %113 %114 = bitcast %"ops::RangeTo"* %_61 to i16* %115 = load i16, i16* %114, align 2 %116 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %110, i16 %112, i16 %115) %117 = extractvalue { i8*, i16 } %116, 0 %118 = extractvalue { i8*, i16 } %116, 1 br label %bb29 bb29: ; preds = %bb28 %119 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 0 %120 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %119, i32 0, i32 0 store i8* %117, i8** %120 %121 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %119, i32 0, i32 1 store i16 %118, i16* %121 %122 = zext i16 %97 to i64 %123 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 2 %124 = load i64, i64* %123 %125 = call { i64, i1 } @llvm.sadd.with.overflow.i64(i64 %124, i64 %122) %126 = extractvalue { i64, i1 } %125, 0 %127 = extractvalue { i64, i1 } %125, 1 %128 = call i1 @llvm.expect.i1(i1 %127, i1 false) br i1 %128, label %panic3, label %bb30 bb30: ; preds = %bb29 %129 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 2 store i64 %126, i64* %129 br label %bb31 bb31: ; preds = %bb22, %bb30 br label %bb32 bb32: ; preds = %bb31, %bb19 ret void panic: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5m) unreachable panic1: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5n) unreachable panic2: ; preds = %bb27 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5o) unreachable panic3: ; preds = %bb29 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5p) unreachable } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3num7dec2flt8simplify28_$u7b$$u7b$closure$u7d$$u7d$17hae696dada14c9c8fE"(%closure.0* noalias readonly, i8** noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load i8*, i8** %1, !nonnull !1 %3 = load i8, i8* %2 %4 = icmp eq i8 %3, 48 ret i1 %4 } ; Function Attrs: uwtable define i64 @_ZN4core3num7dec2flt25bound_intermediate_digits17h7451347efb5b97b1E(%"num::dec2flt::parse::Decimal"* noalias readonly dereferenceable(16), i64) unnamed_addr #1 { entry-block: %_0 = alloca i64 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 0 %3 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %2, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %2, i32 0, i32 1 %6 = load i16, i16* %5 %7 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %4, i16 %6) br label %bb1 bb1: ; preds = %start %8 = zext i16 %7 to i64 %9 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 1 %10 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %9, i32 0, i32 0 %11 = load i8*, i8** %10, !nonnull !1 %12 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %9, i32 0, i32 1 %13 = load i16, i16* %12 %14 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %11, i16 %13) br label %bb2 bb2: ; preds = %bb1 %15 = zext i16 %14 to i64 %16 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %8, i64 %15) %17 = extractvalue { i64, i1 } %16, 0 %18 = extractvalue { i64, i1 } %16, 1 %19 = call i1 @llvm.expect.i1(i1 %18, i1 false) br i1 %19, label %panic, label %bb3 bb3: ; preds = %bb2 %20 = icmp sge i64 %1, 0 br i1 %20, label %bb4, label %bb5 bb4: ; preds = %bb3 %21 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %17, i64 %1) %22 = extractvalue { i64, i1 } %21, 0 %23 = extractvalue { i64, i1 } %21, 1 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic1, label %bb6 bb5: ; preds = %bb3 %25 = call i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$3abs17h022b525486993b2fE"(i64 %1) br label %bb7 bb6: ; preds = %bb4 store i64 %22, i64* %_0 br label %bb10 bb7: ; preds = %bb5 %26 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %17, i64 %25) %27 = extractvalue { i64, i1 } %26, 0 %28 = extractvalue { i64, i1 } %26, 1 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic2, label %bb8 bb8: ; preds = %bb7 %30 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %27, i64 17) %31 = extractvalue { i64, i1 } %30, 0 %32 = extractvalue { i64, i1 } %30, 1 %33 = call i1 @llvm.expect.i1(i1 %32, i1 false) br i1 %33, label %panic3, label %bb9 bb9: ; preds = %bb8 store i64 %31, i64* %_0 br label %bb10 bb10: ; preds = %bb9, %bb6 %34 = load i64, i64* %_0 ret i64 %34 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5q) unreachable panic1: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5r) unreachable panic2: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5s) unreachable panic3: ; preds = %bb8 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5s) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt13trivial_cases17h36d346b89fdcca90E(%"option::Option"* noalias nocapture sret dereferenceable(16), %"num::dec2flt::parse::Decimal"* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: %_16 = alloca {} %_4 = alloca i8 %_3 = alloca {} br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %1, i32 0, i32 0 %3 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %2, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %2, i32 0, i32 1 %6 = load i16, i16* %5 %7 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %4, i16 %6) br label %bb5 bb1: ; preds = %bb6 store i8 1, i8* %_4 br label %bb4 bb2: ; preds = %bb6, %bb5 store i8 0, i8* %_4 br label %bb4 bb3: ; preds = %bb5 %8 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %1, i32 0, i32 1 %9 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %8, i32 0, i32 0 %10 = load i8*, i8** %9, !nonnull !1 %11 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %8, i32 0, i32 1 %12 = load i16, i16* %11 %13 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %10, i16 %12) br label %bb6 bb4: ; preds = %bb2, %bb1 %14 = load i8, i8* %_4, !range !2 %15 = trunc i8 %14 to i1 br i1 %15, label %bb7, label %bb8 bb5: ; preds = %start br i1 %7, label %bb3, label %bb2 bb6: ; preds = %bb3 br i1 %13, label %bb1, label %bb2 bb7: ; preds = %bb4 %16 = call double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$5zero217h1868a106ca5e8ec0E"() br label %bb9 bb8: ; preds = %bb4 %17 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %1, i32 0, i32 2 %18 = load i64, i64* %17 %19 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %1, i32 0, i32 0 %20 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %19, i32 0, i32 0 %21 = load i8*, i8** %20, !nonnull !1 %22 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %19, i32 0, i32 1 %23 = load i16, i16* %22 %24 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %21, i16 %23) br label %bb12 bb9: ; preds = %bb7 %25 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %25 %26 = bitcast %"option::Option"* %0 to { i64, double }* %27 = getelementptr inbounds { i64, double }, { i64, double }* %26, i32 0, i32 1 store double %16, double* %27 br label %bb11 bb10: ; preds = %bb21, %bb11 ret void bb11: ; preds = %bb18, %bb9 br label %bb10 bb12: ; preds = %bb8 %28 = zext i16 %24 to i64 %29 = call { i64, i1 } @llvm.sadd.with.overflow.i64(i64 %18, i64 %28) %30 = extractvalue { i64, i1 } %29, 0 %31 = extractvalue { i64, i1 } %29, 1 %32 = call i1 @llvm.expect.i1(i1 %31, i1 false) br i1 %32, label %panic, label %bb13 bb13: ; preds = %bb12 %33 = call i64 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$10inf_cutoff17h64266993d81db63cE"() br label %bb14 bb14: ; preds = %bb13 %34 = icmp sgt i64 %30, %33 br i1 %34, label %bb15, label %bb16 bb15: ; preds = %bb14 %35 = call double @_ZN4core3num7dec2flt5rawfp8RawFloat9infinity217h22c80218d96fc81dE() br label %bb17 bb16: ; preds = %bb14 %36 = call i64 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$11zero_cutoff17hb31f1d98a424df96E"() br label %bb19 bb17: ; preds = %bb15 %37 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %37 %38 = bitcast %"option::Option"* %0 to { i64, double }* %39 = getelementptr inbounds { i64, double }, { i64, double }* %38, i32 0, i32 1 store double %35, double* %39 br label %bb18 bb18: ; preds = %bb22, %bb17 br label %bb11 bb19: ; preds = %bb16 %40 = icmp slt i64 %30, %36 br i1 %40, label %bb20, label %bb21 bb20: ; preds = %bb19 %41 = call double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$5zero217h1868a106ca5e8ec0E"() br label %bb22 bb21: ; preds = %bb19 %42 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %42 br label %bb10 bb22: ; preds = %bb20 %43 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %43 %44 = bitcast %"option::Option"* %0 to { i64, double }* %45 = getelementptr inbounds { i64, double }, { i64, double }* %44, i32 0, i32 1 store double %41, double* %45 br label %bb18 panic: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5t) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num7dec2flt13trivial_cases17h85cb77abdbbb0f18E(%"option::Option"* noalias nocapture sret dereferenceable(8), %"num::dec2flt::parse::Decimal"* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: %_16 = alloca {} %_4 = alloca i8 %_3 = alloca {} br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %1, i32 0, i32 0 %3 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %2, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %2, i32 0, i32 1 %6 = load i16, i16* %5 %7 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %4, i16 %6) br label %bb5 bb1: ; preds = %bb6 store i8 1, i8* %_4 br label %bb4 bb2: ; preds = %bb6, %bb5 store i8 0, i8* %_4 br label %bb4 bb3: ; preds = %bb5 %8 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %1, i32 0, i32 1 %9 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %8, i32 0, i32 0 %10 = load i8*, i8** %9, !nonnull !1 %11 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %8, i32 0, i32 1 %12 = load i16, i16* %11 %13 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %10, i16 %12) br label %bb6 bb4: ; preds = %bb2, %bb1 %14 = load i8, i8* %_4, !range !2 %15 = trunc i8 %14 to i1 br i1 %15, label %bb7, label %bb8 bb5: ; preds = %start br i1 %7, label %bb3, label %bb2 bb6: ; preds = %bb3 br i1 %13, label %bb1, label %bb2 bb7: ; preds = %bb4 %16 = call float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$5zero217hd4a81a365907739dE"() br label %bb9 bb8: ; preds = %bb4 %17 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %1, i32 0, i32 2 %18 = load i64, i64* %17 %19 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %1, i32 0, i32 0 %20 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %19, i32 0, i32 0 %21 = load i8*, i8** %20, !nonnull !1 %22 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %19, i32 0, i32 1 %23 = load i16, i16* %22 %24 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %21, i16 %23) br label %bb12 bb9: ; preds = %bb7 %25 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %25 %26 = bitcast %"option::Option"* %0 to { i32, float }* %27 = getelementptr inbounds { i32, float }, { i32, float }* %26, i32 0, i32 1 store float %16, float* %27 br label %bb11 bb10: ; preds = %bb21, %bb11 ret void bb11: ; preds = %bb18, %bb9 br label %bb10 bb12: ; preds = %bb8 %28 = zext i16 %24 to i64 %29 = call { i64, i1 } @llvm.sadd.with.overflow.i64(i64 %18, i64 %28) %30 = extractvalue { i64, i1 } %29, 0 %31 = extractvalue { i64, i1 } %29, 1 %32 = call i1 @llvm.expect.i1(i1 %31, i1 false) br i1 %32, label %panic, label %bb13 bb13: ; preds = %bb12 %33 = call i64 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$10inf_cutoff17h1424823b996f4cbdE"() br label %bb14 bb14: ; preds = %bb13 %34 = icmp sgt i64 %30, %33 br i1 %34, label %bb15, label %bb16 bb15: ; preds = %bb14 %35 = call float @_ZN4core3num7dec2flt5rawfp8RawFloat9infinity217h57cd4ed2f068b3deE() br label %bb17 bb16: ; preds = %bb14 %36 = call i64 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$11zero_cutoff17ha22f06606727cee8E"() br label %bb19 bb17: ; preds = %bb15 %37 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %37 %38 = bitcast %"option::Option"* %0 to { i32, float }* %39 = getelementptr inbounds { i32, float }, { i32, float }* %38, i32 0, i32 1 store float %35, float* %39 br label %bb18 bb18: ; preds = %bb22, %bb17 br label %bb11 bb19: ; preds = %bb16 %40 = icmp slt i64 %30, %36 br i1 %40, label %bb20, label %bb21 bb20: ; preds = %bb19 %41 = call float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$5zero217hd4a81a365907739dE"() br label %bb22 bb21: ; preds = %bb19 %42 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %42 br label %bb10 bb22: ; preds = %bb20 %43 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %43 %44 = bitcast %"option::Option"* %0 to { i32, float }* %45 = getelementptr inbounds { i32, float }, { i32, float }* %44, i32 0, i32 1 store float %41, float* %45 br label %bb18 panic: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5t) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num9diy_float2Fp3mul17had1961a1cde23aabE(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16), %"num::diy_float::Fp"* noalias readonly dereferenceable(16), %"num::diy_float::Fp"* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 0 %4 = load i64, i64* %3 %5 = lshr i64 %4, 32 br label %bb1 bb1: ; preds = %start %6 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 0 %7 = load i64, i64* %6 %8 = and i64 %7, 4294967295 %9 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %2, i32 0, i32 0 %10 = load i64, i64* %9 %11 = lshr i64 %10, 32 br label %bb2 bb2: ; preds = %bb1 %12 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %2, i32 0, i32 0 %13 = load i64, i64* %12 %14 = and i64 %13, 4294967295 %15 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %5, i64 %11) %16 = extractvalue { i64, i1 } %15, 0 %17 = extractvalue { i64, i1 } %15, 1 %18 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %18, label %panic, label %bb3 bb3: ; preds = %bb2 %19 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %8, i64 %11) %20 = extractvalue { i64, i1 } %19, 0 %21 = extractvalue { i64, i1 } %19, 1 %22 = call i1 @llvm.expect.i1(i1 %21, i1 false) br i1 %22, label %panic1, label %bb4 bb4: ; preds = %bb3 %23 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %5, i64 %14) %24 = extractvalue { i64, i1 } %23, 0 %25 = extractvalue { i64, i1 } %23, 1 %26 = call i1 @llvm.expect.i1(i1 %25, i1 false) br i1 %26, label %panic2, label %bb5 bb5: ; preds = %bb4 %27 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %8, i64 %14) %28 = extractvalue { i64, i1 } %27, 0 %29 = extractvalue { i64, i1 } %27, 1 %30 = call i1 @llvm.expect.i1(i1 %29, i1 false) br i1 %30, label %panic3, label %bb6 bb6: ; preds = %bb5 %31 = lshr i64 %28, 32 br label %bb7 bb7: ; preds = %bb6 %32 = and i64 %24, 4294967295 %33 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %31, i64 %32) %34 = extractvalue { i64, i1 } %33, 0 %35 = extractvalue { i64, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic4, label %bb8 bb8: ; preds = %bb7 %37 = and i64 %20, 4294967295 %38 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %34, i64 %37) %39 = extractvalue { i64, i1 } %38, 0 %40 = extractvalue { i64, i1 } %38, 1 %41 = call i1 @llvm.expect.i1(i1 %40, i1 false) br i1 %41, label %panic5, label %bb9 bb9: ; preds = %bb8 br label %bb10 bb10: ; preds = %bb9 %42 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %39, i64 2147483648) %43 = extractvalue { i64, i1 } %42, 0 %44 = extractvalue { i64, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic6, label %bb11 bb11: ; preds = %bb10 %46 = lshr i64 %24, 32 br label %bb12 bb12: ; preds = %bb11 %47 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %16, i64 %46) %48 = extractvalue { i64, i1 } %47, 0 %49 = extractvalue { i64, i1 } %47, 1 %50 = call i1 @llvm.expect.i1(i1 %49, i1 false) br i1 %50, label %panic7, label %bb13 bb13: ; preds = %bb12 %51 = lshr i64 %20, 32 br label %bb14 bb14: ; preds = %bb13 %52 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %48, i64 %51) %53 = extractvalue { i64, i1 } %52, 0 %54 = extractvalue { i64, i1 } %52, 1 %55 = call i1 @llvm.expect.i1(i1 %54, i1 false) br i1 %55, label %panic8, label %bb15 bb15: ; preds = %bb14 %56 = lshr i64 %43, 32 br label %bb16 bb16: ; preds = %bb15 %57 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %53, i64 %56) %58 = extractvalue { i64, i1 } %57, 0 %59 = extractvalue { i64, i1 } %57, 1 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic9, label %bb17 bb17: ; preds = %bb16 %61 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 1 %62 = load i16, i16* %61 %63 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %2, i32 0, i32 1 %64 = load i16, i16* %63 %65 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %62, i16 %64) %66 = extractvalue { i16, i1 } %65, 0 %67 = extractvalue { i16, i1 } %65, 1 %68 = call i1 @llvm.expect.i1(i1 %67, i1 false) br i1 %68, label %panic10, label %bb18 bb18: ; preds = %bb17 %69 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %66, i16 64) %70 = extractvalue { i16, i1 } %69, 0 %71 = extractvalue { i16, i1 } %69, 1 %72 = call i1 @llvm.expect.i1(i1 %71, i1 false) br i1 %72, label %panic11, label %bb19 bb19: ; preds = %bb18 %73 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 0 store i64 %58, i64* %73 %74 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 1 store i16 %70, i16* %74 ret void panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5v) unreachable panic1: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5w) unreachable panic2: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5x) unreachable panic3: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5y) unreachable panic4: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5z) unreachable panic5: ; preds = %bb8 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5z) unreachable panic6: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5z) unreachable panic7: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5A) unreachable panic8: ; preds = %bb14 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5A) unreachable panic9: ; preds = %bb16 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5A) unreachable panic10: ; preds = %bb17 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5B) unreachable panic11: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5B) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num9diy_float2Fp9normalize17h78d98e4ca9647a41E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16), %"num::diy_float::Fp"* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: %_62 = alloca {} %_61 = alloca {} %_52 = alloca {} %_43 = alloca {} %_34 = alloca {} %_25 = alloca {} %_16 = alloca {} %_7 = alloca {} %e = alloca i16 %f = alloca i64 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 0 %3 = load i64, i64* %2 store i64 %3, i64* %f %4 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 1 %5 = load i16, i16* %4 store i16 %5, i16* %e %6 = load i64, i64* %f br label %bb1 bb1: ; preds = %start %7 = lshr i64 %6, 32 br label %bb2 bb2: ; preds = %bb1 %8 = icmp eq i64 %7, 0 br i1 %8, label %bb3, label %bb4 bb3: ; preds = %bb2 %9 = load i64, i64* %f %10 = shl i64 %9, 32 br label %bb5 bb4: ; preds = %bb2 br label %bb7 bb5: ; preds = %bb3 store i64 %10, i64* %f %11 = load i16, i16* %e %12 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %11, i16 32) %13 = extractvalue { i16, i1 } %12, 0 %14 = extractvalue { i16, i1 } %12, 1 %15 = call i1 @llvm.expect.i1(i1 %14, i1 false) br i1 %15, label %panic, label %bb6 bb6: ; preds = %bb5 store i16 %13, i16* %e br label %bb7 bb7: ; preds = %bb4, %bb6 %16 = load i64, i64* %f br label %bb8 bb8: ; preds = %bb7 %17 = lshr i64 %16, 48 br label %bb9 bb9: ; preds = %bb8 %18 = icmp eq i64 %17, 0 br i1 %18, label %bb10, label %bb11 bb10: ; preds = %bb9 %19 = load i64, i64* %f %20 = shl i64 %19, 16 br label %bb12 bb11: ; preds = %bb9 br label %bb14 bb12: ; preds = %bb10 store i64 %20, i64* %f %21 = load i16, i16* %e %22 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %21, i16 16) %23 = extractvalue { i16, i1 } %22, 0 %24 = extractvalue { i16, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic1, label %bb13 bb13: ; preds = %bb12 store i16 %23, i16* %e br label %bb14 bb14: ; preds = %bb11, %bb13 %26 = load i64, i64* %f br label %bb15 bb15: ; preds = %bb14 %27 = lshr i64 %26, 56 br label %bb16 bb16: ; preds = %bb15 %28 = icmp eq i64 %27, 0 br i1 %28, label %bb17, label %bb18 bb17: ; preds = %bb16 %29 = load i64, i64* %f %30 = shl i64 %29, 8 br label %bb19 bb18: ; preds = %bb16 br label %bb21 bb19: ; preds = %bb17 store i64 %30, i64* %f %31 = load i16, i16* %e %32 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %31, i16 8) %33 = extractvalue { i16, i1 } %32, 0 %34 = extractvalue { i16, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic2, label %bb20 bb20: ; preds = %bb19 store i16 %33, i16* %e br label %bb21 bb21: ; preds = %bb18, %bb20 %36 = load i64, i64* %f br label %bb22 bb22: ; preds = %bb21 %37 = lshr i64 %36, 60 br label %bb23 bb23: ; preds = %bb22 %38 = icmp eq i64 %37, 0 br i1 %38, label %bb24, label %bb25 bb24: ; preds = %bb23 %39 = load i64, i64* %f %40 = shl i64 %39, 4 br label %bb26 bb25: ; preds = %bb23 br label %bb28 bb26: ; preds = %bb24 store i64 %40, i64* %f %41 = load i16, i16* %e %42 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %41, i16 4) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic3, label %bb27 bb27: ; preds = %bb26 store i16 %43, i16* %e br label %bb28 bb28: ; preds = %bb25, %bb27 %46 = load i64, i64* %f br label %bb29 bb29: ; preds = %bb28 %47 = lshr i64 %46, 62 br label %bb30 bb30: ; preds = %bb29 %48 = icmp eq i64 %47, 0 br i1 %48, label %bb31, label %bb32 bb31: ; preds = %bb30 %49 = load i64, i64* %f %50 = shl i64 %49, 2 br label %bb33 bb32: ; preds = %bb30 br label %bb35 bb33: ; preds = %bb31 store i64 %50, i64* %f %51 = load i16, i16* %e %52 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %51, i16 2) %53 = extractvalue { i16, i1 } %52, 0 %54 = extractvalue { i16, i1 } %52, 1 %55 = call i1 @llvm.expect.i1(i1 %54, i1 false) br i1 %55, label %panic4, label %bb34 bb34: ; preds = %bb33 store i16 %53, i16* %e br label %bb35 bb35: ; preds = %bb32, %bb34 %56 = load i64, i64* %f br label %bb36 bb36: ; preds = %bb35 %57 = lshr i64 %56, 63 br label %bb37 bb37: ; preds = %bb36 %58 = icmp eq i64 %57, 0 br i1 %58, label %bb38, label %bb39 bb38: ; preds = %bb37 %59 = load i64, i64* %f %60 = shl i64 %59, 1 br label %bb40 bb39: ; preds = %bb37 br label %bb42 bb40: ; preds = %bb38 store i64 %60, i64* %f %61 = load i16, i16* %e %62 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %61, i16 1) %63 = extractvalue { i16, i1 } %62, 0 %64 = extractvalue { i16, i1 } %62, 1 %65 = call i1 @llvm.expect.i1(i1 %64, i1 false) br i1 %65, label %panic5, label %bb41 bb41: ; preds = %bb40 store i16 %63, i16* %e br label %bb42 bb42: ; preds = %bb39, %bb41 %66 = load i64, i64* %f br label %bb43 bb43: ; preds = %bb42 %67 = icmp uge i64 %66, 0 %68 = xor i1 %67, true br i1 %68, label %bb44, label %bb45 bb44: ; preds = %bb43 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num9diy_float2Fp9normalize14_MSG_FILE_LINE17h7b5b121a5b6a2c13E) unreachable bb45: ; preds = %bb43 %69 = load i64, i64* %f %70 = load i16, i16* %e %71 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 0 store i64 %69, i64* %71 %72 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 1 store i16 %70, i16* %72 ret void panic: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5C) unreachable panic1: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5D) unreachable panic2: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5E) unreachable panic3: ; preds = %bb26 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5F) unreachable panic4: ; preds = %bb33 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5G) unreachable panic5: ; preds = %bb40 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5H) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num9diy_float2Fp12normalize_to17hcafcc3eea2e9e743E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16), %"num::diy_float::Fp"* noalias readonly dereferenceable(16), i16) unnamed_addr #1 { entry-block: %tmp_ret3 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_40 = alloca { i64**, i64** } %_39 = alloca [2 x %"fmt::ArgumentV1"] %_34 = alloca %"fmt::Arguments" %right_val = alloca i64* %left_val = alloca i64* %_20 = alloca i64 %_18 = alloca { i64*, i64* } %_17 = alloca {} %_9 = alloca {} br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 1 %4 = load i16, i16* %3 %5 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %4, i16 %2) %6 = extractvalue { i16, i1 } %5, 0 %7 = extractvalue { i16, i1 } %5, 1 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic, label %bb1 bb1: ; preds = %start %9 = icmp sge i16 %6, 0 %10 = xor i1 %9, true br i1 %10, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num9diy_float2Fp12normalize_to14_MSG_FILE_LINE17h15bab13672ec3b1bE) unreachable bb3: ; preds = %bb1 %11 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 0 %12 = load i64, i64* %11 %13 = and i16 %6, -64 %14 = icmp ne i16 %13, 0 %15 = zext i16 %6 to i64 %16 = and i64 %15, 63 %17 = shl i64 %12, %16 %18 = call i1 @llvm.expect.i1(i1 %14, i1 false) br i1 %18, label %panic1, label %bb4 bb4: ; preds = %bb3 %19 = and i16 %6, -64 %20 = icmp ne i16 %19, 0 %21 = zext i16 %6 to i64 %22 = and i64 %21, 63 %23 = lshr i64 %17, %22 %24 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %24, label %panic2, label %bb5 bb5: ; preds = %bb4 store i64 %23, i64* %_20 %25 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 0 %26 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %_18, i32 0, i32 0 store i64* %_20, i64** %26 %27 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %_18, i32 0, i32 1 store i64* %25, i64** %27 %28 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %_18, i32 0, i32 0 %29 = load i64*, i64** %28, !nonnull !1 store i64* %29, i64** %left_val %30 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %_18, i32 0, i32 1 %31 = load i64*, i64** %30, !nonnull !1 store i64* %31, i64** %right_val %32 = load i64*, i64** %left_val, !nonnull !1 %33 = load i64, i64* %32 %34 = load i64*, i64** %right_val, !nonnull !1 %35 = load i64, i64* %34 %36 = icmp eq i64 %33, %35 %37 = xor i1 %36, true br i1 %37, label %bb6, label %bb7 bb6: ; preds = %bb5 %38 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num9diy_float2Fp12normalize_to15__STATIC_FMTSTR17h2f02ad13932d4593E, i32 0, i32 0), !nonnull !1 %39 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num9diy_float2Fp12normalize_to15__STATIC_FMTSTR17h2f02ad13932d4593E, i32 0, i32 1) %40 = getelementptr inbounds { i64**, i64** }, { i64**, i64** }* %_40, i32 0, i32 0 store i64** %left_val, i64*** %40 %41 = getelementptr inbounds { i64**, i64** }, { i64**, i64** }* %_40, i32 0, i32 1 store i64** %right_val, i64*** %41 %42 = getelementptr inbounds { i64**, i64** }, { i64**, i64** }* %_40, i32 0, i32 0 %43 = load i64**, i64*** %42, !nonnull !1 %44 = getelementptr inbounds { i64**, i64** }, { i64**, i64** }* %_40, i32 0, i32 1 %45 = load i64**, i64*** %44, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h3f21237e99a6aa29E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i64** noalias readonly dereferenceable(2) %43, i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hc6bce8b1263db721E") %46 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %47 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %48 = load %"fmt::Void"*, %"fmt::Void"** %46, !nonnull !1 %49 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %47, !nonnull !1 br label %bb8 bb7: ; preds = %bb5 %50 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i32 0, i32 0 %51 = load i64, i64* %50 %52 = and i16 %6, -64 %53 = icmp ne i16 %52, 0 %54 = zext i16 %6 to i64 %55 = and i64 %54, 63 %56 = shl i64 %51, %55 %57 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %57, label %panic4, label %bb11 bb8: ; preds = %bb6 call void @_ZN4core3fmt10ArgumentV13new17h3f21237e99a6aa29E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret3, i64** noalias readonly dereferenceable(2) %45, i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hc6bce8b1263db721E") %58 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 0 %59 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 1 %60 = load %"fmt::Void"*, %"fmt::Void"** %58, !nonnull !1 %61 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %59, !nonnull !1 br label %bb9 bb9: ; preds = %bb8 %62 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_39, i32 0, i32 0 %63 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %62, i32 0, i32 0 store %"fmt::Void"* %48, %"fmt::Void"** %63 %64 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %62, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %49, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %64 %65 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_39, i32 0, i32 1 %66 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %65, i32 0, i32 0 store %"fmt::Void"* %60, %"fmt::Void"** %66 %67 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %65, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %61, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %67 %68 = bitcast [2 x %"fmt::ArgumentV1"]* %_39 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_34, %str_slice* noalias nonnull readonly %38, i16 %39, %"fmt::ArgumentV1"* noalias nonnull readonly %68, i16 2) br label %bb10 bb10: ; preds = %bb9 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_34, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num9diy_float2Fp12normalize_to10_FILE_LINE17hfe0dee6374efc584E) unreachable bb11: ; preds = %bb7 %69 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 0 store i64 %56, i64* %69 %70 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 1 store i16 %2, i16* %70 ret void panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5I) unreachable panic1: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5J) unreachable panic2: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5K) unreachable panic4: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5L) unreachable } ; Function Attrs: uwtable define %str_slice @_ZN4core3num15TryFromIntError13__description17h262e05c5e918c3bbE(%"num::TryFromIntError"* noalias readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret %str_slice { i8* getelementptr inbounds ([47 x i8], [47 x i8]* @str.5M, i32 0, i32 0), i16 47 } } ; Function Attrs: uwtable define i8 @"_ZN65_$LT$core..num..TryFromIntError$u20$as$u20$core..fmt..Display$GT$3fmt17h77262bab86dc9aa5E"(%"num::TryFromIntError"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call %str_slice @_ZN4core3num15TryFromIntError13__description17h262e05c5e918c3bbE(%"num::TryFromIntError"* noalias readonly %0) %3 = extractvalue %str_slice %2, 0 %4 = extractvalue %str_slice %2, 1 br label %bb1 bb1: ; preds = %start %5 = call i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h885a7c667bb6b275E"(i8* noalias nonnull readonly %3, i16 %4, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define internal void @_ZN4core3num14from_str_radix17h27e753a76ae9212cE(%"result::Result"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"fmt::ArgumentV1" %_136 = alloca i8 %_135 = alloca %"num::ParseIntError" %_129 = alloca %"option::Option" %_127 = alloca i8 %_126 = alloca %"num::ParseIntError" %_120 = alloca %"option::Option" %_118 = alloca i8 %_117 = alloca %"num::ParseIntError" %_110 = alloca %"option::Option" %_104 = alloca i8* %iter2 = alloca %"slice::Iter" %_101 = alloca %"slice::Iter" %_result1 = alloca {} %_98 = alloca i8 %_97 = alloca %"num::ParseIntError" %_91 = alloca %"option::Option" %_89 = alloca i8 %_88 = alloca %"num::ParseIntError" %_82 = alloca %"option::Option" %_80 = alloca i8 %_79 = alloca %"num::ParseIntError" %_72 = alloca %"option::Option" %_66 = alloca i8* %iter = alloca %"slice::Iter" %_63 = alloca %"slice::Iter" %_result = alloca {} %_60 = alloca {} %result = alloca i16 %_58 = alloca i8 %_57 = alloca %"num::ParseIntError" %_54 = alloca {} %_52 = alloca %"ops::RangeFrom" %_48 = alloca %"ops::RangeFrom" %_41 = alloca { i8, { i8*, i16 } } %_36 = alloca i16 %_34 = alloca i16 %_31 = alloca {} %_30 = alloca i8 %_29 = alloca %"num::ParseIntError" %_26 = alloca {} %_18 = alloca { i32* } %_17 = alloca [1 x %"fmt::ArgumentV1"] %_12 = alloca %"fmt::Arguments" %_7 = alloca i8 %_5 = alloca {} %radix = alloca i32 br label %start start: ; preds = %entry-block store i32 %3, i32* %radix %4 = load i32, i32* %radix %5 = icmp uge i32 %4, 2 br i1 %5, label %bb3, label %bb2 bb1: ; preds = %bb3 store i8 1, i8* %_7 br label %bb4 bb2: ; preds = %bb3, %start store i8 0, i8* %_7 br label %bb4 bb3: ; preds = %start %6 = load i32, i32* %radix %7 = icmp ule i32 %6, 36 br i1 %7, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 %10 = xor i1 %9, true br i1 %10, label %bb5, label %bb6 bb5: ; preds = %bb4 %11 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 0), !nonnull !1 %12 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 1) %13 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 store i32* %radix, i32** %13 %14 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 %15 = load i32*, i32** %14, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %15, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE") %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %17 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %18 = load %"fmt::Void"*, %"fmt::Void"** %16, !nonnull !1 %19 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %17, !nonnull !1 br label %bb7 bb6: ; preds = %bb4 %20 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb9 bb7: ; preds = %bb5 %21 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 0 store %"fmt::Void"* %18, %"fmt::Void"** %22 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %19, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %23 %24 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_12, %str_slice* noalias nonnull readonly %11, i16 %12, %"fmt::ArgumentV1"* noalias nonnull readonly %24, i16 1) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_12, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E) unreachable bb9: ; preds = %bb6 br i1 %20, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8 0, i8* %_30 %25 = load i8, i8* %_30 %26 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_29, i32 0, i32 0 store i8 %25, i8* %26 %27 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %27 %28 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %29 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %28, i32 0, i32 1 %30 = bitcast %"num::ParseIntError"* %_29 to i8* %31 = bitcast %"num::ParseIntError"* %29 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 1, i32 1, i1 false) br label %bb13 bb11: ; preds = %bb9 %32 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h3736fd4080c8c2bdE"(i32 0) store i16 %32, i16* %_34 br label %bb14 bb12: ; preds = %bb66, %bb13 ret void bb13: ; preds = %bb29, %bb10 br label %bb12 bb14: ; preds = %bb11 %33 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h454b8a7de5cf4afbE"() store i16 %33, i16* %_36 br label %bb15 bb15: ; preds = %bb14 %34 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$i16$GT$2gt17hbfa65919ec722781E"(i16* noalias readonly dereferenceable(2) %_34, i16* noalias readonly dereferenceable(2) %_36) br label %bb16 bb16: ; preds = %bb15 %35 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %36 = extractvalue { i8*, i16 } %35, 0 %37 = extractvalue { i8*, i16 } %35, 1 br label %bb17 bb17: ; preds = %bb16 %38 = icmp ult i16 0, %37 %39 = call i1 @llvm.expect.i1(i1 %38, i1 true) br i1 %39, label %bb18, label %panic bb18: ; preds = %bb17 %40 = getelementptr inbounds i8, i8* %36, i16 0 %41 = load i8, i8* %40 switch i8 %41, label %bb21 [ i8 43, label %bb19 i8 45, label %bb22 ] bb19: ; preds = %bb18 %42 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_48, i32 0, i32 0 store i16 1, i16* %42 %43 = bitcast %"ops::RangeFrom"* %_48 to i16* %44 = load i16, i16* %43, align 2 %45 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %44) %46 = extractvalue { i8*, i16 } %45, 0 %47 = extractvalue { i8*, i16 } %45, 1 br label %bb24 bb20: ; preds = %bb22 %48 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_52, i32 0, i32 0 store i16 1, i16* %48 %49 = bitcast %"ops::RangeFrom"* %_52 to i16* %50 = load i16, i16* %49, align 2 %51 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %50) %52 = extractvalue { i8*, i16 } %51, 0 %53 = extractvalue { i8*, i16 } %51, 1 br label %bb25 bb21: ; preds = %bb22, %bb18 %54 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %54 %55 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %56 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 0 store i8* %36, i8** %56 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 1 store i16 %37, i16* %57 br label %bb23 bb22: ; preds = %bb18 br i1 %34, label %bb20, label %bb21 bb23: ; preds = %bb24, %bb21, %bb25 %58 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 %59 = load i8, i8* %58, !range !2 %60 = trunc i8 %59 to i1 %61 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 %63 = load i8*, i8** %62, !nonnull !1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 %65 = load i16, i16* %64 %66 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %63, i16 %65) br label %bb26 bb24: ; preds = %bb19 %67 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %67 %68 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 0 store i8* %46, i8** %69 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 1 store i16 %47, i16* %70 br label %bb23 bb25: ; preds = %bb20 %71 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 0, i8* %71 %72 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 0 store i8* %52, i8** %73 %74 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 1 store i16 %53, i16* %74 br label %bb23 bb26: ; preds = %bb23 br i1 %66, label %bb27, label %bb28 bb27: ; preds = %bb26 store i8 0, i8* %_58 %75 = load i8, i8* %_58 %76 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_57, i32 0, i32 0 store i8 %75, i8* %76 %77 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %77 %78 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %79 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %78, i32 0, i32 1 %80 = bitcast %"num::ParseIntError"* %_57 to i8* %81 = bitcast %"num::ParseIntError"* %79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %81, i8* %80, i16 1, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb26 %82 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h3736fd4080c8c2bdE"(i32 0) store i16 %82, i16* %result br label %bb30 bb29: ; preds = %bb42, %bb27 br label %bb13 bb30: ; preds = %bb28 br i1 %60, label %bb31, label %bb32 bb31: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_63, i8* noalias nonnull readonly %63, i16 %65) br label %bb33 bb32: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_101, i8* noalias nonnull readonly %63, i16 %65) br label %bb50 bb33: ; preds = %bb31 %83 = bitcast %"slice::Iter"* %_63 to i8* %84 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %84, i8* %83, i16 4, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb49, %bb33 %85 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %85, i8** %_66 br label %bb35 bb35: ; preds = %bb34 %86 = load i8*, i8** %_66 %87 = icmp ne i8* %86, null %88 = zext i1 %87 to i16 switch i16 %88, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb66 bb37: ; preds = %bb35 %89 = load i8*, i8** %_66, !nonnull !1 %90 = load i8, i8* %89 %91 = zext i8 %90 to i32 %92 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_72, i32 %91, i32 %92) br label %bb38 bb38: ; preds = %bb37 %93 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %94 = load i32, i32* %93, !range !9 %95 = trunc i32 %94 to i16 switch i16 %95, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 1, i8* %_80 %96 = load i8, i8* %_80 %97 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_79, i32 0, i32 0 store i8 %96, i8* %97 %98 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %98 %99 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %100 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %99, i32 0, i32 1 %101 = bitcast %"num::ParseIntError"* %_79 to i8* %102 = bitcast %"num::ParseIntError"* %100 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %102, i8* %101, i16 1, i32 1, i1 false) br label %bb41 bb40: ; preds = %bb38 %103 = bitcast %"option::Option"* %_72 to { i32, i32 }* %104 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %103, i32 0, i32 1 %105 = load i32, i32* %104 %106 = load i32, i32* %radix call void @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h1f08b38633848ab0E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_82, i16* noalias readonly dereferenceable(2) %result, i32 %106) br label %bb43 bb41: ; preds = %bb39, %bb46 br label %bb42 bb42: ; preds = %bb58, %bb41 br label %bb29 bb43: ; preds = %bb40 %107 = getelementptr inbounds %"option::Option", %"option::Option"* %_82, i32 0, i32 0 %108 = load i16, i16* %107, !range !3 switch i16 %108, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 store i8 2, i8* %_89 %109 = load i8, i8* %_89 %110 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_88, i32 0, i32 0 store i8 %109, i8* %110 %111 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %111 %112 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %113 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %112, i32 0, i32 1 %114 = bitcast %"num::ParseIntError"* %_88 to i8* %115 = bitcast %"num::ParseIntError"* %113 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %115, i8* %114, i16 1, i32 1, i1 false) br label %bb46 bb45: ; preds = %bb43 %116 = bitcast %"option::Option"* %_82 to { i16, i16 }* %117 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %116, i32 0, i32 1 %118 = load i16, i16* %117 store i16 %118, i16* %result call void @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17hc3674a9f37de854cE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_91, i16* noalias readonly dereferenceable(2) %result, i32 %105) br label %bb47 bb46: ; preds = %bb44, %bb48 br label %bb41 bb47: ; preds = %bb45 %119 = getelementptr inbounds %"option::Option", %"option::Option"* %_91, i32 0, i32 0 %120 = load i16, i16* %119, !range !3 switch i16 %120, label %bb49 [ i16 0, label %bb48 ] bb48: ; preds = %bb47 store i8 2, i8* %_98 %121 = load i8, i8* %_98 %122 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_97, i32 0, i32 0 store i8 %121, i8* %122 %123 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %123 %124 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %125 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %124, i32 0, i32 1 %126 = bitcast %"num::ParseIntError"* %_97 to i8* %127 = bitcast %"num::ParseIntError"* %125 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %127, i8* %126, i16 1, i32 1, i1 false) br label %bb46 bb49: ; preds = %bb47 %128 = bitcast %"option::Option"* %_91 to { i16, i16 }* %129 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %128, i32 0, i32 1 %130 = load i16, i16* %129 store i16 %130, i16* %result br label %bb34 bb50: ; preds = %bb32 %131 = bitcast %"slice::Iter"* %_101 to i8* %132 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %132, i8* %131, i16 4, i32 2, i1 false) br label %bb51 bb51: ; preds = %bb65, %bb50 %133 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %133, i8** %_104 br label %bb52 bb52: ; preds = %bb51 %134 = load i8*, i8** %_104 %135 = icmp ne i8* %134, null %136 = zext i1 %135 to i16 switch i16 %136, label %bb54 [ i16 0, label %bb53 ] bb53: ; preds = %bb52 br label %bb66 bb54: ; preds = %bb52 %137 = load i8*, i8** %_104, !nonnull !1 %138 = load i8, i8* %137 %139 = zext i8 %138 to i32 %140 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_110, i32 %139, i32 %140) br label %bb55 bb55: ; preds = %bb54 %141 = getelementptr inbounds %"option::Option", %"option::Option"* %_110, i32 0, i32 0 %142 = load i32, i32* %141, !range !9 %143 = trunc i32 %142 to i16 switch i16 %143, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 store i8 1, i8* %_118 %144 = load i8, i8* %_118 %145 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_117, i32 0, i32 0 store i8 %144, i8* %145 %146 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %146 %147 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %148 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %147, i32 0, i32 1 %149 = bitcast %"num::ParseIntError"* %_117 to i8* %150 = bitcast %"num::ParseIntError"* %148 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %150, i8* %149, i16 1, i32 1, i1 false) br label %bb58 bb57: ; preds = %bb55 %151 = bitcast %"option::Option"* %_110 to { i32, i32 }* %152 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %151, i32 0, i32 1 %153 = load i32, i32* %152 %154 = load i32, i32* %radix call void @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h1f08b38633848ab0E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_120, i16* noalias readonly dereferenceable(2) %result, i32 %154) br label %bb59 bb58: ; preds = %bb56, %bb62 br label %bb42 bb59: ; preds = %bb57 %155 = getelementptr inbounds %"option::Option", %"option::Option"* %_120, i32 0, i32 0 %156 = load i16, i16* %155, !range !3 switch i16 %156, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 store i8 3, i8* %_127 %157 = load i8, i8* %_127 %158 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_126, i32 0, i32 0 store i8 %157, i8* %158 %159 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %159 %160 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %161 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %160, i32 0, i32 1 %162 = bitcast %"num::ParseIntError"* %_126 to i8* %163 = bitcast %"num::ParseIntError"* %161 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %163, i8* %162, i16 1, i32 1, i1 false) br label %bb62 bb61: ; preds = %bb59 %164 = bitcast %"option::Option"* %_120 to { i16, i16 }* %165 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %164, i32 0, i32 1 %166 = load i16, i16* %165 store i16 %166, i16* %result call void @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h7426de9ccdaa3d08E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_129, i16* noalias readonly dereferenceable(2) %result, i32 %153) br label %bb63 bb62: ; preds = %bb60, %bb64 br label %bb58 bb63: ; preds = %bb61 %167 = getelementptr inbounds %"option::Option", %"option::Option"* %_129, i32 0, i32 0 %168 = load i16, i16* %167, !range !3 switch i16 %168, label %bb65 [ i16 0, label %bb64 ] bb64: ; preds = %bb63 store i8 3, i8* %_136 %169 = load i8, i8* %_136 %170 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_135, i32 0, i32 0 store i8 %169, i8* %170 %171 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %171 %172 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %173 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %172, i32 0, i32 1 %174 = bitcast %"num::ParseIntError"* %_135 to i8* %175 = bitcast %"num::ParseIntError"* %173 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %175, i8* %174, i16 1, i32 1, i1 false) br label %bb62 bb65: ; preds = %bb63 %176 = bitcast %"option::Option"* %_129 to { i16, i16 }* %177 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %176, i32 0, i32 1 %178 = load i16, i16* %177 store i16 %178, i16* %result br label %bb51 bb66: ; preds = %bb53, %bb36 %179 = load i16, i16* %result %180 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %180 %181 = bitcast %"result::Result"* %0 to { i8, i16 }* %182 = getelementptr inbounds { i8, i16 }, { i8, i16 }* %181, i32 0, i32 1 store i16 %179, i16* %182 br label %bb12 panic: ; preds = %bb17 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5O, i16 0, i16 %37) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num14from_str_radix17h42e84552548ed94dE(%"result::Result"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"fmt::ArgumentV1" %_136 = alloca i8 %_135 = alloca %"num::ParseIntError" %_129 = alloca %"option::Option" %_127 = alloca i8 %_126 = alloca %"num::ParseIntError" %_120 = alloca %"option::Option" %_118 = alloca i8 %_117 = alloca %"num::ParseIntError" %_110 = alloca %"option::Option" %_104 = alloca i8* %iter2 = alloca %"slice::Iter" %_101 = alloca %"slice::Iter" %_result1 = alloca {} %_98 = alloca i8 %_97 = alloca %"num::ParseIntError" %_91 = alloca %"option::Option" %_89 = alloca i8 %_88 = alloca %"num::ParseIntError" %_82 = alloca %"option::Option" %_80 = alloca i8 %_79 = alloca %"num::ParseIntError" %_72 = alloca %"option::Option" %_66 = alloca i8* %iter = alloca %"slice::Iter" %_63 = alloca %"slice::Iter" %_result = alloca {} %_60 = alloca {} %result = alloca i16 %_58 = alloca i8 %_57 = alloca %"num::ParseIntError" %_54 = alloca {} %_52 = alloca %"ops::RangeFrom" %_48 = alloca %"ops::RangeFrom" %_41 = alloca { i8, { i8*, i16 } } %_36 = alloca i16 %_34 = alloca i16 %_31 = alloca {} %_30 = alloca i8 %_29 = alloca %"num::ParseIntError" %_26 = alloca {} %_18 = alloca { i32* } %_17 = alloca [1 x %"fmt::ArgumentV1"] %_12 = alloca %"fmt::Arguments" %_7 = alloca i8 %_5 = alloca {} %radix = alloca i32 br label %start start: ; preds = %entry-block store i32 %3, i32* %radix %4 = load i32, i32* %radix %5 = icmp uge i32 %4, 2 br i1 %5, label %bb3, label %bb2 bb1: ; preds = %bb3 store i8 1, i8* %_7 br label %bb4 bb2: ; preds = %bb3, %start store i8 0, i8* %_7 br label %bb4 bb3: ; preds = %start %6 = load i32, i32* %radix %7 = icmp ule i32 %6, 36 br i1 %7, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 %10 = xor i1 %9, true br i1 %10, label %bb5, label %bb6 bb5: ; preds = %bb4 %11 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 0), !nonnull !1 %12 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 1) %13 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 store i32* %radix, i32** %13 %14 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 %15 = load i32*, i32** %14, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %15, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE") %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %17 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %18 = load %"fmt::Void"*, %"fmt::Void"** %16, !nonnull !1 %19 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %17, !nonnull !1 br label %bb7 bb6: ; preds = %bb4 %20 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb9 bb7: ; preds = %bb5 %21 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 0 store %"fmt::Void"* %18, %"fmt::Void"** %22 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %19, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %23 %24 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_12, %str_slice* noalias nonnull readonly %11, i16 %12, %"fmt::ArgumentV1"* noalias nonnull readonly %24, i16 1) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_12, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E) unreachable bb9: ; preds = %bb6 br i1 %20, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8 0, i8* %_30 %25 = load i8, i8* %_30 %26 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_29, i32 0, i32 0 store i8 %25, i8* %26 %27 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %27 %28 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %29 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %28, i32 0, i32 1 %30 = bitcast %"num::ParseIntError"* %_29 to i8* %31 = bitcast %"num::ParseIntError"* %29 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 1, i32 1, i1 false) br label %bb13 bb11: ; preds = %bb9 %32 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217hb6a057b001e2aaa5E"(i32 0) store i16 %32, i16* %_34 br label %bb14 bb12: ; preds = %bb66, %bb13 ret void bb13: ; preds = %bb29, %bb10 br label %bb12 bb14: ; preds = %bb11 %33 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h66a590d508b401ffE"() store i16 %33, i16* %_36 br label %bb15 bb15: ; preds = %bb14 %34 = call zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2gt17hc3f6381859e5e7e9E"(i16* noalias readonly dereferenceable(2) %_34, i16* noalias readonly dereferenceable(2) %_36) br label %bb16 bb16: ; preds = %bb15 %35 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %36 = extractvalue { i8*, i16 } %35, 0 %37 = extractvalue { i8*, i16 } %35, 1 br label %bb17 bb17: ; preds = %bb16 %38 = icmp ult i16 0, %37 %39 = call i1 @llvm.expect.i1(i1 %38, i1 true) br i1 %39, label %bb18, label %panic bb18: ; preds = %bb17 %40 = getelementptr inbounds i8, i8* %36, i16 0 %41 = load i8, i8* %40 switch i8 %41, label %bb21 [ i8 43, label %bb19 i8 45, label %bb22 ] bb19: ; preds = %bb18 %42 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_48, i32 0, i32 0 store i16 1, i16* %42 %43 = bitcast %"ops::RangeFrom"* %_48 to i16* %44 = load i16, i16* %43, align 2 %45 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %44) %46 = extractvalue { i8*, i16 } %45, 0 %47 = extractvalue { i8*, i16 } %45, 1 br label %bb24 bb20: ; preds = %bb22 %48 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_52, i32 0, i32 0 store i16 1, i16* %48 %49 = bitcast %"ops::RangeFrom"* %_52 to i16* %50 = load i16, i16* %49, align 2 %51 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %50) %52 = extractvalue { i8*, i16 } %51, 0 %53 = extractvalue { i8*, i16 } %51, 1 br label %bb25 bb21: ; preds = %bb22, %bb18 %54 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %54 %55 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %56 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 0 store i8* %36, i8** %56 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 1 store i16 %37, i16* %57 br label %bb23 bb22: ; preds = %bb18 br i1 %34, label %bb20, label %bb21 bb23: ; preds = %bb24, %bb21, %bb25 %58 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 %59 = load i8, i8* %58, !range !2 %60 = trunc i8 %59 to i1 %61 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 %63 = load i8*, i8** %62, !nonnull !1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 %65 = load i16, i16* %64 %66 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %63, i16 %65) br label %bb26 bb24: ; preds = %bb19 %67 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %67 %68 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 0 store i8* %46, i8** %69 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 1 store i16 %47, i16* %70 br label %bb23 bb25: ; preds = %bb20 %71 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 0, i8* %71 %72 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 0 store i8* %52, i8** %73 %74 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 1 store i16 %53, i16* %74 br label %bb23 bb26: ; preds = %bb23 br i1 %66, label %bb27, label %bb28 bb27: ; preds = %bb26 store i8 0, i8* %_58 %75 = load i8, i8* %_58 %76 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_57, i32 0, i32 0 store i8 %75, i8* %76 %77 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %77 %78 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %79 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %78, i32 0, i32 1 %80 = bitcast %"num::ParseIntError"* %_57 to i8* %81 = bitcast %"num::ParseIntError"* %79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %81, i8* %80, i16 1, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb26 %82 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217hb6a057b001e2aaa5E"(i32 0) store i16 %82, i16* %result br label %bb30 bb29: ; preds = %bb42, %bb27 br label %bb13 bb30: ; preds = %bb28 br i1 %60, label %bb31, label %bb32 bb31: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_63, i8* noalias nonnull readonly %63, i16 %65) br label %bb33 bb32: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_101, i8* noalias nonnull readonly %63, i16 %65) br label %bb50 bb33: ; preds = %bb31 %83 = bitcast %"slice::Iter"* %_63 to i8* %84 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %84, i8* %83, i16 4, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb49, %bb33 %85 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %85, i8** %_66 br label %bb35 bb35: ; preds = %bb34 %86 = load i8*, i8** %_66 %87 = icmp ne i8* %86, null %88 = zext i1 %87 to i16 switch i16 %88, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb66 bb37: ; preds = %bb35 %89 = load i8*, i8** %_66, !nonnull !1 %90 = load i8, i8* %89 %91 = zext i8 %90 to i32 %92 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_72, i32 %91, i32 %92) br label %bb38 bb38: ; preds = %bb37 %93 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %94 = load i32, i32* %93, !range !9 %95 = trunc i32 %94 to i16 switch i16 %95, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 1, i8* %_80 %96 = load i8, i8* %_80 %97 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_79, i32 0, i32 0 store i8 %96, i8* %97 %98 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %98 %99 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %100 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %99, i32 0, i32 1 %101 = bitcast %"num::ParseIntError"* %_79 to i8* %102 = bitcast %"num::ParseIntError"* %100 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %102, i8* %101, i16 1, i32 1, i1 false) br label %bb41 bb40: ; preds = %bb38 %103 = bitcast %"option::Option"* %_72 to { i32, i32 }* %104 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %103, i32 0, i32 1 %105 = load i32, i32* %104 %106 = load i32, i32* %radix call void @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h02bd0a9287318c51E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_82, i16* noalias readonly dereferenceable(2) %result, i32 %106) br label %bb43 bb41: ; preds = %bb39, %bb46 br label %bb42 bb42: ; preds = %bb58, %bb41 br label %bb29 bb43: ; preds = %bb40 %107 = getelementptr inbounds %"option::Option", %"option::Option"* %_82, i32 0, i32 0 %108 = load i16, i16* %107, !range !3 switch i16 %108, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 store i8 2, i8* %_89 %109 = load i8, i8* %_89 %110 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_88, i32 0, i32 0 store i8 %109, i8* %110 %111 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %111 %112 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %113 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %112, i32 0, i32 1 %114 = bitcast %"num::ParseIntError"* %_88 to i8* %115 = bitcast %"num::ParseIntError"* %113 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %115, i8* %114, i16 1, i32 1, i1 false) br label %bb46 bb45: ; preds = %bb43 %116 = bitcast %"option::Option"* %_82 to { i16, i16 }* %117 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %116, i32 0, i32 1 %118 = load i16, i16* %117 store i16 %118, i16* %result call void @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17hdd533eb876ea100cE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_91, i16* noalias readonly dereferenceable(2) %result, i32 %105) br label %bb47 bb46: ; preds = %bb44, %bb48 br label %bb41 bb47: ; preds = %bb45 %119 = getelementptr inbounds %"option::Option", %"option::Option"* %_91, i32 0, i32 0 %120 = load i16, i16* %119, !range !3 switch i16 %120, label %bb49 [ i16 0, label %bb48 ] bb48: ; preds = %bb47 store i8 2, i8* %_98 %121 = load i8, i8* %_98 %122 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_97, i32 0, i32 0 store i8 %121, i8* %122 %123 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %123 %124 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %125 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %124, i32 0, i32 1 %126 = bitcast %"num::ParseIntError"* %_97 to i8* %127 = bitcast %"num::ParseIntError"* %125 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %127, i8* %126, i16 1, i32 1, i1 false) br label %bb46 bb49: ; preds = %bb47 %128 = bitcast %"option::Option"* %_91 to { i16, i16 }* %129 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %128, i32 0, i32 1 %130 = load i16, i16* %129 store i16 %130, i16* %result br label %bb34 bb50: ; preds = %bb32 %131 = bitcast %"slice::Iter"* %_101 to i8* %132 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %132, i8* %131, i16 4, i32 2, i1 false) br label %bb51 bb51: ; preds = %bb65, %bb50 %133 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %133, i8** %_104 br label %bb52 bb52: ; preds = %bb51 %134 = load i8*, i8** %_104 %135 = icmp ne i8* %134, null %136 = zext i1 %135 to i16 switch i16 %136, label %bb54 [ i16 0, label %bb53 ] bb53: ; preds = %bb52 br label %bb66 bb54: ; preds = %bb52 %137 = load i8*, i8** %_104, !nonnull !1 %138 = load i8, i8* %137 %139 = zext i8 %138 to i32 %140 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_110, i32 %139, i32 %140) br label %bb55 bb55: ; preds = %bb54 %141 = getelementptr inbounds %"option::Option", %"option::Option"* %_110, i32 0, i32 0 %142 = load i32, i32* %141, !range !9 %143 = trunc i32 %142 to i16 switch i16 %143, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 store i8 1, i8* %_118 %144 = load i8, i8* %_118 %145 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_117, i32 0, i32 0 store i8 %144, i8* %145 %146 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %146 %147 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %148 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %147, i32 0, i32 1 %149 = bitcast %"num::ParseIntError"* %_117 to i8* %150 = bitcast %"num::ParseIntError"* %148 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %150, i8* %149, i16 1, i32 1, i1 false) br label %bb58 bb57: ; preds = %bb55 %151 = bitcast %"option::Option"* %_110 to { i32, i32 }* %152 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %151, i32 0, i32 1 %153 = load i32, i32* %152 %154 = load i32, i32* %radix call void @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h02bd0a9287318c51E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_120, i16* noalias readonly dereferenceable(2) %result, i32 %154) br label %bb59 bb58: ; preds = %bb56, %bb62 br label %bb42 bb59: ; preds = %bb57 %155 = getelementptr inbounds %"option::Option", %"option::Option"* %_120, i32 0, i32 0 %156 = load i16, i16* %155, !range !3 switch i16 %156, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 store i8 3, i8* %_127 %157 = load i8, i8* %_127 %158 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_126, i32 0, i32 0 store i8 %157, i8* %158 %159 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %159 %160 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %161 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %160, i32 0, i32 1 %162 = bitcast %"num::ParseIntError"* %_126 to i8* %163 = bitcast %"num::ParseIntError"* %161 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %163, i8* %162, i16 1, i32 1, i1 false) br label %bb62 bb61: ; preds = %bb59 %164 = bitcast %"option::Option"* %_120 to { i16, i16 }* %165 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %164, i32 0, i32 1 %166 = load i16, i16* %165 store i16 %166, i16* %result call void @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h432af6a671a56068E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_129, i16* noalias readonly dereferenceable(2) %result, i32 %153) br label %bb63 bb62: ; preds = %bb60, %bb64 br label %bb58 bb63: ; preds = %bb61 %167 = getelementptr inbounds %"option::Option", %"option::Option"* %_129, i32 0, i32 0 %168 = load i16, i16* %167, !range !3 switch i16 %168, label %bb65 [ i16 0, label %bb64 ] bb64: ; preds = %bb63 store i8 3, i8* %_136 %169 = load i8, i8* %_136 %170 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_135, i32 0, i32 0 store i8 %169, i8* %170 %171 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %171 %172 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %173 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %172, i32 0, i32 1 %174 = bitcast %"num::ParseIntError"* %_135 to i8* %175 = bitcast %"num::ParseIntError"* %173 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %175, i8* %174, i16 1, i32 1, i1 false) br label %bb62 bb65: ; preds = %bb63 %176 = bitcast %"option::Option"* %_129 to { i16, i16 }* %177 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %176, i32 0, i32 1 %178 = load i16, i16* %177 store i16 %178, i16* %result br label %bb51 bb66: ; preds = %bb53, %bb36 %179 = load i16, i16* %result %180 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %180 %181 = bitcast %"result::Result"* %0 to { i8, i16 }* %182 = getelementptr inbounds { i8, i16 }, { i8, i16 }* %181, i32 0, i32 1 store i16 %179, i16* %182 br label %bb12 panic: ; preds = %bb17 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5O, i16 0, i16 %37) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num14from_str_radix17h49211fecf0f39769E(%"result::Result"* noalias nocapture sret dereferenceable(8), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"fmt::ArgumentV1" %_136 = alloca i8 %_135 = alloca %"num::ParseIntError" %_129 = alloca %"option::Option" %_127 = alloca i8 %_126 = alloca %"num::ParseIntError" %_120 = alloca %"option::Option" %_118 = alloca i8 %_117 = alloca %"num::ParseIntError" %_110 = alloca %"option::Option" %_104 = alloca i8* %iter2 = alloca %"slice::Iter" %_101 = alloca %"slice::Iter" %_result1 = alloca {} %_98 = alloca i8 %_97 = alloca %"num::ParseIntError" %_91 = alloca %"option::Option" %_89 = alloca i8 %_88 = alloca %"num::ParseIntError" %_82 = alloca %"option::Option" %_80 = alloca i8 %_79 = alloca %"num::ParseIntError" %_72 = alloca %"option::Option" %_66 = alloca i8* %iter = alloca %"slice::Iter" %_63 = alloca %"slice::Iter" %_result = alloca {} %_60 = alloca {} %result = alloca i32 %_58 = alloca i8 %_57 = alloca %"num::ParseIntError" %_54 = alloca {} %_52 = alloca %"ops::RangeFrom" %_48 = alloca %"ops::RangeFrom" %_41 = alloca { i8, { i8*, i16 } } %_36 = alloca i32 %_34 = alloca i32 %_31 = alloca {} %_30 = alloca i8 %_29 = alloca %"num::ParseIntError" %_26 = alloca {} %_18 = alloca { i32* } %_17 = alloca [1 x %"fmt::ArgumentV1"] %_12 = alloca %"fmt::Arguments" %_7 = alloca i8 %_5 = alloca {} %radix = alloca i32 br label %start start: ; preds = %entry-block store i32 %3, i32* %radix %4 = load i32, i32* %radix %5 = icmp uge i32 %4, 2 br i1 %5, label %bb3, label %bb2 bb1: ; preds = %bb3 store i8 1, i8* %_7 br label %bb4 bb2: ; preds = %bb3, %start store i8 0, i8* %_7 br label %bb4 bb3: ; preds = %start %6 = load i32, i32* %radix %7 = icmp ule i32 %6, 36 br i1 %7, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 %10 = xor i1 %9, true br i1 %10, label %bb5, label %bb6 bb5: ; preds = %bb4 %11 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 0), !nonnull !1 %12 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 1) %13 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 store i32* %radix, i32** %13 %14 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 %15 = load i32*, i32** %14, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %15, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE") %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %17 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %18 = load %"fmt::Void"*, %"fmt::Void"** %16, !nonnull !1 %19 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %17, !nonnull !1 br label %bb7 bb6: ; preds = %bb4 %20 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb9 bb7: ; preds = %bb5 %21 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 0 store %"fmt::Void"* %18, %"fmt::Void"** %22 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %19, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %23 %24 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_12, %str_slice* noalias nonnull readonly %11, i16 %12, %"fmt::ArgumentV1"* noalias nonnull readonly %24, i16 1) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_12, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E) unreachable bb9: ; preds = %bb6 br i1 %20, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8 0, i8* %_30 %25 = load i8, i8* %_30 %26 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_29, i32 0, i32 0 store i8 %25, i8* %26 %27 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %27 %28 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %29 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %28, i32 0, i32 1 %30 = bitcast %"num::ParseIntError"* %_29 to i8* %31 = bitcast %"num::ParseIntError"* %29 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 1, i32 1, i1 false) br label %bb13 bb11: ; preds = %bb9 %32 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h4cb1e44be0feaa03E"(i32 0) store i32 %32, i32* %_34 br label %bb14 bb12: ; preds = %bb66, %bb13 ret void bb13: ; preds = %bb29, %bb10 br label %bb12 bb14: ; preds = %bb11 %33 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17he4c7de57851ddb43E"() store i32 %33, i32* %_36 br label %bb15 bb15: ; preds = %bb14 %34 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u32$GT$2gt17hf1f6fe7bbc1ac58cE"(i32* noalias readonly dereferenceable(4) %_34, i32* noalias readonly dereferenceable(4) %_36) br label %bb16 bb16: ; preds = %bb15 %35 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %36 = extractvalue { i8*, i16 } %35, 0 %37 = extractvalue { i8*, i16 } %35, 1 br label %bb17 bb17: ; preds = %bb16 %38 = icmp ult i16 0, %37 %39 = call i1 @llvm.expect.i1(i1 %38, i1 true) br i1 %39, label %bb18, label %panic bb18: ; preds = %bb17 %40 = getelementptr inbounds i8, i8* %36, i16 0 %41 = load i8, i8* %40 switch i8 %41, label %bb21 [ i8 43, label %bb19 i8 45, label %bb22 ] bb19: ; preds = %bb18 %42 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_48, i32 0, i32 0 store i16 1, i16* %42 %43 = bitcast %"ops::RangeFrom"* %_48 to i16* %44 = load i16, i16* %43, align 2 %45 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %44) %46 = extractvalue { i8*, i16 } %45, 0 %47 = extractvalue { i8*, i16 } %45, 1 br label %bb24 bb20: ; preds = %bb22 %48 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_52, i32 0, i32 0 store i16 1, i16* %48 %49 = bitcast %"ops::RangeFrom"* %_52 to i16* %50 = load i16, i16* %49, align 2 %51 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %50) %52 = extractvalue { i8*, i16 } %51, 0 %53 = extractvalue { i8*, i16 } %51, 1 br label %bb25 bb21: ; preds = %bb22, %bb18 %54 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %54 %55 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %56 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 0 store i8* %36, i8** %56 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 1 store i16 %37, i16* %57 br label %bb23 bb22: ; preds = %bb18 br i1 %34, label %bb20, label %bb21 bb23: ; preds = %bb24, %bb21, %bb25 %58 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 %59 = load i8, i8* %58, !range !2 %60 = trunc i8 %59 to i1 %61 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 %63 = load i8*, i8** %62, !nonnull !1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 %65 = load i16, i16* %64 %66 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %63, i16 %65) br label %bb26 bb24: ; preds = %bb19 %67 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %67 %68 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 0 store i8* %46, i8** %69 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 1 store i16 %47, i16* %70 br label %bb23 bb25: ; preds = %bb20 %71 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 0, i8* %71 %72 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 0 store i8* %52, i8** %73 %74 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 1 store i16 %53, i16* %74 br label %bb23 bb26: ; preds = %bb23 br i1 %66, label %bb27, label %bb28 bb27: ; preds = %bb26 store i8 0, i8* %_58 %75 = load i8, i8* %_58 %76 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_57, i32 0, i32 0 store i8 %75, i8* %76 %77 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %77 %78 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %79 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %78, i32 0, i32 1 %80 = bitcast %"num::ParseIntError"* %_57 to i8* %81 = bitcast %"num::ParseIntError"* %79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %81, i8* %80, i16 1, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb26 %82 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h4cb1e44be0feaa03E"(i32 0) store i32 %82, i32* %result br label %bb30 bb29: ; preds = %bb42, %bb27 br label %bb13 bb30: ; preds = %bb28 br i1 %60, label %bb31, label %bb32 bb31: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_63, i8* noalias nonnull readonly %63, i16 %65) br label %bb33 bb32: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_101, i8* noalias nonnull readonly %63, i16 %65) br label %bb50 bb33: ; preds = %bb31 %83 = bitcast %"slice::Iter"* %_63 to i8* %84 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %84, i8* %83, i16 4, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb49, %bb33 %85 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %85, i8** %_66 br label %bb35 bb35: ; preds = %bb34 %86 = load i8*, i8** %_66 %87 = icmp ne i8* %86, null %88 = zext i1 %87 to i16 switch i16 %88, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb66 bb37: ; preds = %bb35 %89 = load i8*, i8** %_66, !nonnull !1 %90 = load i8, i8* %89 %91 = zext i8 %90 to i32 %92 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_72, i32 %91, i32 %92) br label %bb38 bb38: ; preds = %bb37 %93 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %94 = load i32, i32* %93, !range !9 %95 = trunc i32 %94 to i16 switch i16 %95, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 1, i8* %_80 %96 = load i8, i8* %_80 %97 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_79, i32 0, i32 0 store i8 %96, i8* %97 %98 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %98 %99 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %100 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %99, i32 0, i32 1 %101 = bitcast %"num::ParseIntError"* %_79 to i8* %102 = bitcast %"num::ParseIntError"* %100 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %102, i8* %101, i16 1, i32 1, i1 false) br label %bb41 bb40: ; preds = %bb38 %103 = bitcast %"option::Option"* %_72 to { i32, i32 }* %104 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %103, i32 0, i32 1 %105 = load i32, i32* %104 %106 = load i32, i32* %radix call void @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17hfc8e139158fa9da7E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_82, i32* noalias readonly dereferenceable(4) %result, i32 %106) br label %bb43 bb41: ; preds = %bb39, %bb46 br label %bb42 bb42: ; preds = %bb58, %bb41 br label %bb29 bb43: ; preds = %bb40 %107 = getelementptr inbounds %"option::Option", %"option::Option"* %_82, i32 0, i32 0 %108 = load i32, i32* %107, !range !9 %109 = trunc i32 %108 to i16 switch i16 %109, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 store i8 2, i8* %_89 %110 = load i8, i8* %_89 %111 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_88, i32 0, i32 0 store i8 %110, i8* %111 %112 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %112 %113 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %114 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %113, i32 0, i32 1 %115 = bitcast %"num::ParseIntError"* %_88 to i8* %116 = bitcast %"num::ParseIntError"* %114 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %116, i8* %115, i16 1, i32 1, i1 false) br label %bb46 bb45: ; preds = %bb43 %117 = bitcast %"option::Option"* %_82 to { i32, i32 }* %118 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %117, i32 0, i32 1 %119 = load i32, i32* %118 store i32 %119, i32* %result call void @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17h0d435f51e5235732E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_91, i32* noalias readonly dereferenceable(4) %result, i32 %105) br label %bb47 bb46: ; preds = %bb44, %bb48 br label %bb41 bb47: ; preds = %bb45 %120 = getelementptr inbounds %"option::Option", %"option::Option"* %_91, i32 0, i32 0 %121 = load i32, i32* %120, !range !9 %122 = trunc i32 %121 to i16 switch i16 %122, label %bb49 [ i16 0, label %bb48 ] bb48: ; preds = %bb47 store i8 2, i8* %_98 %123 = load i8, i8* %_98 %124 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_97, i32 0, i32 0 store i8 %123, i8* %124 %125 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %125 %126 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %127 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %126, i32 0, i32 1 %128 = bitcast %"num::ParseIntError"* %_97 to i8* %129 = bitcast %"num::ParseIntError"* %127 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %129, i8* %128, i16 1, i32 1, i1 false) br label %bb46 bb49: ; preds = %bb47 %130 = bitcast %"option::Option"* %_91 to { i32, i32 }* %131 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %130, i32 0, i32 1 %132 = load i32, i32* %131 store i32 %132, i32* %result br label %bb34 bb50: ; preds = %bb32 %133 = bitcast %"slice::Iter"* %_101 to i8* %134 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %134, i8* %133, i16 4, i32 2, i1 false) br label %bb51 bb51: ; preds = %bb65, %bb50 %135 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %135, i8** %_104 br label %bb52 bb52: ; preds = %bb51 %136 = load i8*, i8** %_104 %137 = icmp ne i8* %136, null %138 = zext i1 %137 to i16 switch i16 %138, label %bb54 [ i16 0, label %bb53 ] bb53: ; preds = %bb52 br label %bb66 bb54: ; preds = %bb52 %139 = load i8*, i8** %_104, !nonnull !1 %140 = load i8, i8* %139 %141 = zext i8 %140 to i32 %142 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_110, i32 %141, i32 %142) br label %bb55 bb55: ; preds = %bb54 %143 = getelementptr inbounds %"option::Option", %"option::Option"* %_110, i32 0, i32 0 %144 = load i32, i32* %143, !range !9 %145 = trunc i32 %144 to i16 switch i16 %145, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 store i8 1, i8* %_118 %146 = load i8, i8* %_118 %147 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_117, i32 0, i32 0 store i8 %146, i8* %147 %148 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %148 %149 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %150 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %149, i32 0, i32 1 %151 = bitcast %"num::ParseIntError"* %_117 to i8* %152 = bitcast %"num::ParseIntError"* %150 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %152, i8* %151, i16 1, i32 1, i1 false) br label %bb58 bb57: ; preds = %bb55 %153 = bitcast %"option::Option"* %_110 to { i32, i32 }* %154 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %153, i32 0, i32 1 %155 = load i32, i32* %154 %156 = load i32, i32* %radix call void @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17hfc8e139158fa9da7E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_120, i32* noalias readonly dereferenceable(4) %result, i32 %156) br label %bb59 bb58: ; preds = %bb56, %bb62 br label %bb42 bb59: ; preds = %bb57 %157 = getelementptr inbounds %"option::Option", %"option::Option"* %_120, i32 0, i32 0 %158 = load i32, i32* %157, !range !9 %159 = trunc i32 %158 to i16 switch i16 %159, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 store i8 3, i8* %_127 %160 = load i8, i8* %_127 %161 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_126, i32 0, i32 0 store i8 %160, i8* %161 %162 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %162 %163 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %164 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %163, i32 0, i32 1 %165 = bitcast %"num::ParseIntError"* %_126 to i8* %166 = bitcast %"num::ParseIntError"* %164 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %166, i8* %165, i16 1, i32 1, i1 false) br label %bb62 bb61: ; preds = %bb59 %167 = bitcast %"option::Option"* %_120 to { i32, i32 }* %168 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %167, i32 0, i32 1 %169 = load i32, i32* %168 store i32 %169, i32* %result call void @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17hf41c2afcc588fab8E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_129, i32* noalias readonly dereferenceable(4) %result, i32 %155) br label %bb63 bb62: ; preds = %bb60, %bb64 br label %bb58 bb63: ; preds = %bb61 %170 = getelementptr inbounds %"option::Option", %"option::Option"* %_129, i32 0, i32 0 %171 = load i32, i32* %170, !range !9 %172 = trunc i32 %171 to i16 switch i16 %172, label %bb65 [ i16 0, label %bb64 ] bb64: ; preds = %bb63 store i8 3, i8* %_136 %173 = load i8, i8* %_136 %174 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_135, i32 0, i32 0 store i8 %173, i8* %174 %175 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %175 %176 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %177 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %176, i32 0, i32 1 %178 = bitcast %"num::ParseIntError"* %_135 to i8* %179 = bitcast %"num::ParseIntError"* %177 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %179, i8* %178, i16 1, i32 1, i1 false) br label %bb62 bb65: ; preds = %bb63 %180 = bitcast %"option::Option"* %_129 to { i32, i32 }* %181 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %180, i32 0, i32 1 %182 = load i32, i32* %181 store i32 %182, i32* %result br label %bb51 bb66: ; preds = %bb53, %bb36 %183 = load i32, i32* %result %184 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %184 %185 = bitcast %"result::Result"* %0 to { i8, i32 }* %186 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %185, i32 0, i32 1 store i32 %183, i32* %186 br label %bb12 panic: ; preds = %bb17 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5O, i16 0, i16 %37) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num14from_str_radix17h4c0c1d66bbd93620E(%"result::Result"* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"fmt::ArgumentV1" %_136 = alloca i8 %_135 = alloca %"num::ParseIntError" %_129 = alloca %"option::Option" %_127 = alloca i8 %_126 = alloca %"num::ParseIntError" %_120 = alloca %"option::Option" %_118 = alloca i8 %_117 = alloca %"num::ParseIntError" %_110 = alloca %"option::Option" %_104 = alloca i8* %iter2 = alloca %"slice::Iter" %_101 = alloca %"slice::Iter" %_result1 = alloca {} %_98 = alloca i8 %_97 = alloca %"num::ParseIntError" %_91 = alloca %"option::Option" %_89 = alloca i8 %_88 = alloca %"num::ParseIntError" %_82 = alloca %"option::Option" %_80 = alloca i8 %_79 = alloca %"num::ParseIntError" %_72 = alloca %"option::Option" %_66 = alloca i8* %iter = alloca %"slice::Iter" %_63 = alloca %"slice::Iter" %_result = alloca {} %_60 = alloca {} %result = alloca i128 %_58 = alloca i8 %_57 = alloca %"num::ParseIntError" %_54 = alloca {} %_52 = alloca %"ops::RangeFrom" %_48 = alloca %"ops::RangeFrom" %_41 = alloca { i8, { i8*, i16 } } %_36 = alloca i128 %_34 = alloca i128 %_31 = alloca {} %_30 = alloca i8 %_29 = alloca %"num::ParseIntError" %_26 = alloca {} %_18 = alloca { i32* } %_17 = alloca [1 x %"fmt::ArgumentV1"] %_12 = alloca %"fmt::Arguments" %_7 = alloca i8 %_5 = alloca {} %radix = alloca i32 br label %start start: ; preds = %entry-block store i32 %3, i32* %radix %4 = load i32, i32* %radix %5 = icmp uge i32 %4, 2 br i1 %5, label %bb3, label %bb2 bb1: ; preds = %bb3 store i8 1, i8* %_7 br label %bb4 bb2: ; preds = %bb3, %start store i8 0, i8* %_7 br label %bb4 bb3: ; preds = %start %6 = load i32, i32* %radix %7 = icmp ule i32 %6, 36 br i1 %7, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 %10 = xor i1 %9, true br i1 %10, label %bb5, label %bb6 bb5: ; preds = %bb4 %11 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 0), !nonnull !1 %12 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 1) %13 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 store i32* %radix, i32** %13 %14 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 %15 = load i32*, i32** %14, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %15, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE") %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %17 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %18 = load %"fmt::Void"*, %"fmt::Void"** %16, !nonnull !1 %19 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %17, !nonnull !1 br label %bb7 bb6: ; preds = %bb4 %20 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb9 bb7: ; preds = %bb5 %21 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 0 store %"fmt::Void"* %18, %"fmt::Void"** %22 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %19, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %23 %24 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_12, %str_slice* noalias nonnull readonly %11, i16 %12, %"fmt::ArgumentV1"* noalias nonnull readonly %24, i16 1) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_12, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E) unreachable bb9: ; preds = %bb6 br i1 %20, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8 0, i8* %_30 %25 = load i8, i8* %_30 %26 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_29, i32 0, i32 0 store i8 %25, i8* %26 %27 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %27 %28 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %29 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %28, i32 0, i32 1 %30 = bitcast %"num::ParseIntError"* %_29 to i8* %31 = bitcast %"num::ParseIntError"* %29 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 1, i32 1, i1 false) br label %bb13 bb11: ; preds = %bb9 %32 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h2e1aa7ebab2ba02cE"(i32 0) store i128 %32, i128* %_34 br label %bb14 bb12: ; preds = %bb66, %bb13 ret void bb13: ; preds = %bb29, %bb10 br label %bb12 bb14: ; preds = %bb11 %33 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hf895a646e539f13eE"() store i128 %33, i128* %_36 br label %bb15 bb15: ; preds = %bb14 %34 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u128$GT$2gt17hbc775f3ce2c62777E"(i128* noalias readonly dereferenceable(16) %_34, i128* noalias readonly dereferenceable(16) %_36) br label %bb16 bb16: ; preds = %bb15 %35 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %36 = extractvalue { i8*, i16 } %35, 0 %37 = extractvalue { i8*, i16 } %35, 1 br label %bb17 bb17: ; preds = %bb16 %38 = icmp ult i16 0, %37 %39 = call i1 @llvm.expect.i1(i1 %38, i1 true) br i1 %39, label %bb18, label %panic bb18: ; preds = %bb17 %40 = getelementptr inbounds i8, i8* %36, i16 0 %41 = load i8, i8* %40 switch i8 %41, label %bb21 [ i8 43, label %bb19 i8 45, label %bb22 ] bb19: ; preds = %bb18 %42 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_48, i32 0, i32 0 store i16 1, i16* %42 %43 = bitcast %"ops::RangeFrom"* %_48 to i16* %44 = load i16, i16* %43, align 2 %45 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %44) %46 = extractvalue { i8*, i16 } %45, 0 %47 = extractvalue { i8*, i16 } %45, 1 br label %bb24 bb20: ; preds = %bb22 %48 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_52, i32 0, i32 0 store i16 1, i16* %48 %49 = bitcast %"ops::RangeFrom"* %_52 to i16* %50 = load i16, i16* %49, align 2 %51 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %50) %52 = extractvalue { i8*, i16 } %51, 0 %53 = extractvalue { i8*, i16 } %51, 1 br label %bb25 bb21: ; preds = %bb22, %bb18 %54 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %54 %55 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %56 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 0 store i8* %36, i8** %56 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 1 store i16 %37, i16* %57 br label %bb23 bb22: ; preds = %bb18 br i1 %34, label %bb20, label %bb21 bb23: ; preds = %bb24, %bb21, %bb25 %58 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 %59 = load i8, i8* %58, !range !2 %60 = trunc i8 %59 to i1 %61 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 %63 = load i8*, i8** %62, !nonnull !1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 %65 = load i16, i16* %64 %66 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %63, i16 %65) br label %bb26 bb24: ; preds = %bb19 %67 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %67 %68 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 0 store i8* %46, i8** %69 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 1 store i16 %47, i16* %70 br label %bb23 bb25: ; preds = %bb20 %71 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 0, i8* %71 %72 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 0 store i8* %52, i8** %73 %74 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 1 store i16 %53, i16* %74 br label %bb23 bb26: ; preds = %bb23 br i1 %66, label %bb27, label %bb28 bb27: ; preds = %bb26 store i8 0, i8* %_58 %75 = load i8, i8* %_58 %76 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_57, i32 0, i32 0 store i8 %75, i8* %76 %77 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %77 %78 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %79 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %78, i32 0, i32 1 %80 = bitcast %"num::ParseIntError"* %_57 to i8* %81 = bitcast %"num::ParseIntError"* %79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %81, i8* %80, i16 1, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb26 %82 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h2e1aa7ebab2ba02cE"(i32 0) store i128 %82, i128* %result br label %bb30 bb29: ; preds = %bb42, %bb27 br label %bb13 bb30: ; preds = %bb28 br i1 %60, label %bb31, label %bb32 bb31: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_63, i8* noalias nonnull readonly %63, i16 %65) br label %bb33 bb32: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_101, i8* noalias nonnull readonly %63, i16 %65) br label %bb50 bb33: ; preds = %bb31 %83 = bitcast %"slice::Iter"* %_63 to i8* %84 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %84, i8* %83, i16 4, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb49, %bb33 %85 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %85, i8** %_66 br label %bb35 bb35: ; preds = %bb34 %86 = load i8*, i8** %_66 %87 = icmp ne i8* %86, null %88 = zext i1 %87 to i16 switch i16 %88, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb66 bb37: ; preds = %bb35 %89 = load i8*, i8** %_66, !nonnull !1 %90 = load i8, i8* %89 %91 = zext i8 %90 to i32 %92 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_72, i32 %91, i32 %92) br label %bb38 bb38: ; preds = %bb37 %93 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %94 = load i32, i32* %93, !range !9 %95 = trunc i32 %94 to i16 switch i16 %95, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 1, i8* %_80 %96 = load i8, i8* %_80 %97 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_79, i32 0, i32 0 store i8 %96, i8* %97 %98 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %98 %99 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %100 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %99, i32 0, i32 1 %101 = bitcast %"num::ParseIntError"* %_79 to i8* %102 = bitcast %"num::ParseIntError"* %100 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %102, i8* %101, i16 1, i32 1, i1 false) br label %bb41 bb40: ; preds = %bb38 %103 = bitcast %"option::Option"* %_72 to { i32, i32 }* %104 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %103, i32 0, i32 1 %105 = load i32, i32* %104 %106 = load i32, i32* %radix call void @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h6fcb505affb54f92E"(%"option::Option"* noalias nocapture sret dereferenceable(24) %_82, i128* noalias readonly dereferenceable(16) %result, i32 %106) br label %bb43 bb41: ; preds = %bb39, %bb46 br label %bb42 bb42: ; preds = %bb58, %bb41 br label %bb29 bb43: ; preds = %bb40 %107 = getelementptr inbounds %"option::Option", %"option::Option"* %_82, i32 0, i32 0 %108 = load i64, i64* %107, !range !8 %109 = trunc i64 %108 to i16 switch i16 %109, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 store i8 2, i8* %_89 %110 = load i8, i8* %_89 %111 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_88, i32 0, i32 0 store i8 %110, i8* %111 %112 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %112 %113 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %114 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %113, i32 0, i32 1 %115 = bitcast %"num::ParseIntError"* %_88 to i8* %116 = bitcast %"num::ParseIntError"* %114 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %116, i8* %115, i16 1, i32 1, i1 false) br label %bb46 bb45: ; preds = %bb43 %117 = bitcast %"option::Option"* %_82 to { i64, i128 }* %118 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %117, i32 0, i32 1 %119 = load i128, i128* %118 store i128 %119, i128* %result call void @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17h0633d46121a75119E"(%"option::Option"* noalias nocapture sret dereferenceable(24) %_91, i128* noalias readonly dereferenceable(16) %result, i32 %105) br label %bb47 bb46: ; preds = %bb44, %bb48 br label %bb41 bb47: ; preds = %bb45 %120 = getelementptr inbounds %"option::Option", %"option::Option"* %_91, i32 0, i32 0 %121 = load i64, i64* %120, !range !8 %122 = trunc i64 %121 to i16 switch i16 %122, label %bb49 [ i16 0, label %bb48 ] bb48: ; preds = %bb47 store i8 2, i8* %_98 %123 = load i8, i8* %_98 %124 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_97, i32 0, i32 0 store i8 %123, i8* %124 %125 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %125 %126 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %127 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %126, i32 0, i32 1 %128 = bitcast %"num::ParseIntError"* %_97 to i8* %129 = bitcast %"num::ParseIntError"* %127 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %129, i8* %128, i16 1, i32 1, i1 false) br label %bb46 bb49: ; preds = %bb47 %130 = bitcast %"option::Option"* %_91 to { i64, i128 }* %131 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %130, i32 0, i32 1 %132 = load i128, i128* %131 store i128 %132, i128* %result br label %bb34 bb50: ; preds = %bb32 %133 = bitcast %"slice::Iter"* %_101 to i8* %134 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %134, i8* %133, i16 4, i32 2, i1 false) br label %bb51 bb51: ; preds = %bb65, %bb50 %135 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %135, i8** %_104 br label %bb52 bb52: ; preds = %bb51 %136 = load i8*, i8** %_104 %137 = icmp ne i8* %136, null %138 = zext i1 %137 to i16 switch i16 %138, label %bb54 [ i16 0, label %bb53 ] bb53: ; preds = %bb52 br label %bb66 bb54: ; preds = %bb52 %139 = load i8*, i8** %_104, !nonnull !1 %140 = load i8, i8* %139 %141 = zext i8 %140 to i32 %142 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_110, i32 %141, i32 %142) br label %bb55 bb55: ; preds = %bb54 %143 = getelementptr inbounds %"option::Option", %"option::Option"* %_110, i32 0, i32 0 %144 = load i32, i32* %143, !range !9 %145 = trunc i32 %144 to i16 switch i16 %145, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 store i8 1, i8* %_118 %146 = load i8, i8* %_118 %147 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_117, i32 0, i32 0 store i8 %146, i8* %147 %148 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %148 %149 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %150 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %149, i32 0, i32 1 %151 = bitcast %"num::ParseIntError"* %_117 to i8* %152 = bitcast %"num::ParseIntError"* %150 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %152, i8* %151, i16 1, i32 1, i1 false) br label %bb58 bb57: ; preds = %bb55 %153 = bitcast %"option::Option"* %_110 to { i32, i32 }* %154 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %153, i32 0, i32 1 %155 = load i32, i32* %154 %156 = load i32, i32* %radix call void @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h6fcb505affb54f92E"(%"option::Option"* noalias nocapture sret dereferenceable(24) %_120, i128* noalias readonly dereferenceable(16) %result, i32 %156) br label %bb59 bb58: ; preds = %bb56, %bb62 br label %bb42 bb59: ; preds = %bb57 %157 = getelementptr inbounds %"option::Option", %"option::Option"* %_120, i32 0, i32 0 %158 = load i64, i64* %157, !range !8 %159 = trunc i64 %158 to i16 switch i16 %159, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 store i8 3, i8* %_127 %160 = load i8, i8* %_127 %161 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_126, i32 0, i32 0 store i8 %160, i8* %161 %162 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %162 %163 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %164 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %163, i32 0, i32 1 %165 = bitcast %"num::ParseIntError"* %_126 to i8* %166 = bitcast %"num::ParseIntError"* %164 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %166, i8* %165, i16 1, i32 1, i1 false) br label %bb62 bb61: ; preds = %bb59 %167 = bitcast %"option::Option"* %_120 to { i64, i128 }* %168 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %167, i32 0, i32 1 %169 = load i128, i128* %168 store i128 %169, i128* %result call void @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h39bf8aacbe87c3cbE"(%"option::Option"* noalias nocapture sret dereferenceable(24) %_129, i128* noalias readonly dereferenceable(16) %result, i32 %155) br label %bb63 bb62: ; preds = %bb60, %bb64 br label %bb58 bb63: ; preds = %bb61 %170 = getelementptr inbounds %"option::Option", %"option::Option"* %_129, i32 0, i32 0 %171 = load i64, i64* %170, !range !8 %172 = trunc i64 %171 to i16 switch i16 %172, label %bb65 [ i16 0, label %bb64 ] bb64: ; preds = %bb63 store i8 3, i8* %_136 %173 = load i8, i8* %_136 %174 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_135, i32 0, i32 0 store i8 %173, i8* %174 %175 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %175 %176 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %177 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %176, i32 0, i32 1 %178 = bitcast %"num::ParseIntError"* %_135 to i8* %179 = bitcast %"num::ParseIntError"* %177 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %179, i8* %178, i16 1, i32 1, i1 false) br label %bb62 bb65: ; preds = %bb63 %180 = bitcast %"option::Option"* %_129 to { i64, i128 }* %181 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %180, i32 0, i32 1 %182 = load i128, i128* %181 store i128 %182, i128* %result br label %bb51 bb66: ; preds = %bb53, %bb36 %183 = load i128, i128* %result %184 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %184 %185 = bitcast %"result::Result"* %0 to { i8, i128 }* %186 = getelementptr inbounds { i8, i128 }, { i8, i128 }* %185, i32 0, i32 1 store i128 %183, i128* %186 br label %bb12 panic: ; preds = %bb17 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5O, i16 0, i16 %37) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num14from_str_radix17h5f935171fddf5c87E(%"result::Result"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"fmt::ArgumentV1" %_136 = alloca i8 %_135 = alloca %"num::ParseIntError" %_129 = alloca %"option::Option" %_127 = alloca i8 %_126 = alloca %"num::ParseIntError" %_120 = alloca %"option::Option" %_118 = alloca i8 %_117 = alloca %"num::ParseIntError" %_110 = alloca %"option::Option" %_104 = alloca i8* %iter2 = alloca %"slice::Iter" %_101 = alloca %"slice::Iter" %_result1 = alloca {} %_98 = alloca i8 %_97 = alloca %"num::ParseIntError" %_91 = alloca %"option::Option" %_89 = alloca i8 %_88 = alloca %"num::ParseIntError" %_82 = alloca %"option::Option" %_80 = alloca i8 %_79 = alloca %"num::ParseIntError" %_72 = alloca %"option::Option" %_66 = alloca i8* %iter = alloca %"slice::Iter" %_63 = alloca %"slice::Iter" %_result = alloca {} %_60 = alloca {} %result = alloca i16 %_58 = alloca i8 %_57 = alloca %"num::ParseIntError" %_54 = alloca {} %_52 = alloca %"ops::RangeFrom" %_48 = alloca %"ops::RangeFrom" %_41 = alloca { i8, { i8*, i16 } } %_36 = alloca i16 %_34 = alloca i16 %_31 = alloca {} %_30 = alloca i8 %_29 = alloca %"num::ParseIntError" %_26 = alloca {} %_18 = alloca { i32* } %_17 = alloca [1 x %"fmt::ArgumentV1"] %_12 = alloca %"fmt::Arguments" %_7 = alloca i8 %_5 = alloca {} %radix = alloca i32 br label %start start: ; preds = %entry-block store i32 %3, i32* %radix %4 = load i32, i32* %radix %5 = icmp uge i32 %4, 2 br i1 %5, label %bb3, label %bb2 bb1: ; preds = %bb3 store i8 1, i8* %_7 br label %bb4 bb2: ; preds = %bb3, %start store i8 0, i8* %_7 br label %bb4 bb3: ; preds = %start %6 = load i32, i32* %radix %7 = icmp ule i32 %6, 36 br i1 %7, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 %10 = xor i1 %9, true br i1 %10, label %bb5, label %bb6 bb5: ; preds = %bb4 %11 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 0), !nonnull !1 %12 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 1) %13 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 store i32* %radix, i32** %13 %14 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 %15 = load i32*, i32** %14, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %15, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE") %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %17 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %18 = load %"fmt::Void"*, %"fmt::Void"** %16, !nonnull !1 %19 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %17, !nonnull !1 br label %bb7 bb6: ; preds = %bb4 %20 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb9 bb7: ; preds = %bb5 %21 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 0 store %"fmt::Void"* %18, %"fmt::Void"** %22 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %19, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %23 %24 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_12, %str_slice* noalias nonnull readonly %11, i16 %12, %"fmt::ArgumentV1"* noalias nonnull readonly %24, i16 1) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_12, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E) unreachable bb9: ; preds = %bb6 br i1 %20, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8 0, i8* %_30 %25 = load i8, i8* %_30 %26 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_29, i32 0, i32 0 store i8 %25, i8* %26 %27 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %27 %28 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %29 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %28, i32 0, i32 1 %30 = bitcast %"num::ParseIntError"* %_29 to i8* %31 = bitcast %"num::ParseIntError"* %29 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 1, i32 1, i1 false) br label %bb13 bb11: ; preds = %bb9 %32 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h481a67d8cade2978E"(i32 0) store i16 %32, i16* %_34 br label %bb14 bb12: ; preds = %bb66, %bb13 ret void bb13: ; preds = %bb29, %bb10 br label %bb12 bb14: ; preds = %bb11 %33 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h923d82468f194beeE"() store i16 %33, i16* %_36 br label %bb15 bb15: ; preds = %bb14 %34 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u16$GT$2gt17h189a6824c6c3327dE"(i16* noalias readonly dereferenceable(2) %_34, i16* noalias readonly dereferenceable(2) %_36) br label %bb16 bb16: ; preds = %bb15 %35 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %36 = extractvalue { i8*, i16 } %35, 0 %37 = extractvalue { i8*, i16 } %35, 1 br label %bb17 bb17: ; preds = %bb16 %38 = icmp ult i16 0, %37 %39 = call i1 @llvm.expect.i1(i1 %38, i1 true) br i1 %39, label %bb18, label %panic bb18: ; preds = %bb17 %40 = getelementptr inbounds i8, i8* %36, i16 0 %41 = load i8, i8* %40 switch i8 %41, label %bb21 [ i8 43, label %bb19 i8 45, label %bb22 ] bb19: ; preds = %bb18 %42 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_48, i32 0, i32 0 store i16 1, i16* %42 %43 = bitcast %"ops::RangeFrom"* %_48 to i16* %44 = load i16, i16* %43, align 2 %45 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %44) %46 = extractvalue { i8*, i16 } %45, 0 %47 = extractvalue { i8*, i16 } %45, 1 br label %bb24 bb20: ; preds = %bb22 %48 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_52, i32 0, i32 0 store i16 1, i16* %48 %49 = bitcast %"ops::RangeFrom"* %_52 to i16* %50 = load i16, i16* %49, align 2 %51 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %50) %52 = extractvalue { i8*, i16 } %51, 0 %53 = extractvalue { i8*, i16 } %51, 1 br label %bb25 bb21: ; preds = %bb22, %bb18 %54 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %54 %55 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %56 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 0 store i8* %36, i8** %56 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 1 store i16 %37, i16* %57 br label %bb23 bb22: ; preds = %bb18 br i1 %34, label %bb20, label %bb21 bb23: ; preds = %bb24, %bb21, %bb25 %58 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 %59 = load i8, i8* %58, !range !2 %60 = trunc i8 %59 to i1 %61 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 %63 = load i8*, i8** %62, !nonnull !1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 %65 = load i16, i16* %64 %66 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %63, i16 %65) br label %bb26 bb24: ; preds = %bb19 %67 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %67 %68 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 0 store i8* %46, i8** %69 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 1 store i16 %47, i16* %70 br label %bb23 bb25: ; preds = %bb20 %71 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 0, i8* %71 %72 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 0 store i8* %52, i8** %73 %74 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 1 store i16 %53, i16* %74 br label %bb23 bb26: ; preds = %bb23 br i1 %66, label %bb27, label %bb28 bb27: ; preds = %bb26 store i8 0, i8* %_58 %75 = load i8, i8* %_58 %76 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_57, i32 0, i32 0 store i8 %75, i8* %76 %77 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %77 %78 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %79 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %78, i32 0, i32 1 %80 = bitcast %"num::ParseIntError"* %_57 to i8* %81 = bitcast %"num::ParseIntError"* %79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %81, i8* %80, i16 1, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb26 %82 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h481a67d8cade2978E"(i32 0) store i16 %82, i16* %result br label %bb30 bb29: ; preds = %bb42, %bb27 br label %bb13 bb30: ; preds = %bb28 br i1 %60, label %bb31, label %bb32 bb31: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_63, i8* noalias nonnull readonly %63, i16 %65) br label %bb33 bb32: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_101, i8* noalias nonnull readonly %63, i16 %65) br label %bb50 bb33: ; preds = %bb31 %83 = bitcast %"slice::Iter"* %_63 to i8* %84 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %84, i8* %83, i16 4, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb49, %bb33 %85 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %85, i8** %_66 br label %bb35 bb35: ; preds = %bb34 %86 = load i8*, i8** %_66 %87 = icmp ne i8* %86, null %88 = zext i1 %87 to i16 switch i16 %88, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb66 bb37: ; preds = %bb35 %89 = load i8*, i8** %_66, !nonnull !1 %90 = load i8, i8* %89 %91 = zext i8 %90 to i32 %92 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_72, i32 %91, i32 %92) br label %bb38 bb38: ; preds = %bb37 %93 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %94 = load i32, i32* %93, !range !9 %95 = trunc i32 %94 to i16 switch i16 %95, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 1, i8* %_80 %96 = load i8, i8* %_80 %97 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_79, i32 0, i32 0 store i8 %96, i8* %97 %98 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %98 %99 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %100 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %99, i32 0, i32 1 %101 = bitcast %"num::ParseIntError"* %_79 to i8* %102 = bitcast %"num::ParseIntError"* %100 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %102, i8* %101, i16 1, i32 1, i1 false) br label %bb41 bb40: ; preds = %bb38 %103 = bitcast %"option::Option"* %_72 to { i32, i32 }* %104 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %103, i32 0, i32 1 %105 = load i32, i32* %104 %106 = load i32, i32* %radix call void @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h54861e2fd0b8fa55E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_82, i16* noalias readonly dereferenceable(2) %result, i32 %106) br label %bb43 bb41: ; preds = %bb39, %bb46 br label %bb42 bb42: ; preds = %bb58, %bb41 br label %bb29 bb43: ; preds = %bb40 %107 = getelementptr inbounds %"option::Option", %"option::Option"* %_82, i32 0, i32 0 %108 = load i16, i16* %107, !range !3 switch i16 %108, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 store i8 2, i8* %_89 %109 = load i8, i8* %_89 %110 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_88, i32 0, i32 0 store i8 %109, i8* %110 %111 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %111 %112 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %113 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %112, i32 0, i32 1 %114 = bitcast %"num::ParseIntError"* %_88 to i8* %115 = bitcast %"num::ParseIntError"* %113 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %115, i8* %114, i16 1, i32 1, i1 false) br label %bb46 bb45: ; preds = %bb43 %116 = bitcast %"option::Option"* %_82 to { i16, i16 }* %117 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %116, i32 0, i32 1 %118 = load i16, i16* %117 store i16 %118, i16* %result call void @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17hdb59539683444226E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_91, i16* noalias readonly dereferenceable(2) %result, i32 %105) br label %bb47 bb46: ; preds = %bb44, %bb48 br label %bb41 bb47: ; preds = %bb45 %119 = getelementptr inbounds %"option::Option", %"option::Option"* %_91, i32 0, i32 0 %120 = load i16, i16* %119, !range !3 switch i16 %120, label %bb49 [ i16 0, label %bb48 ] bb48: ; preds = %bb47 store i8 2, i8* %_98 %121 = load i8, i8* %_98 %122 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_97, i32 0, i32 0 store i8 %121, i8* %122 %123 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %123 %124 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %125 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %124, i32 0, i32 1 %126 = bitcast %"num::ParseIntError"* %_97 to i8* %127 = bitcast %"num::ParseIntError"* %125 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %127, i8* %126, i16 1, i32 1, i1 false) br label %bb46 bb49: ; preds = %bb47 %128 = bitcast %"option::Option"* %_91 to { i16, i16 }* %129 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %128, i32 0, i32 1 %130 = load i16, i16* %129 store i16 %130, i16* %result br label %bb34 bb50: ; preds = %bb32 %131 = bitcast %"slice::Iter"* %_101 to i8* %132 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %132, i8* %131, i16 4, i32 2, i1 false) br label %bb51 bb51: ; preds = %bb65, %bb50 %133 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %133, i8** %_104 br label %bb52 bb52: ; preds = %bb51 %134 = load i8*, i8** %_104 %135 = icmp ne i8* %134, null %136 = zext i1 %135 to i16 switch i16 %136, label %bb54 [ i16 0, label %bb53 ] bb53: ; preds = %bb52 br label %bb66 bb54: ; preds = %bb52 %137 = load i8*, i8** %_104, !nonnull !1 %138 = load i8, i8* %137 %139 = zext i8 %138 to i32 %140 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_110, i32 %139, i32 %140) br label %bb55 bb55: ; preds = %bb54 %141 = getelementptr inbounds %"option::Option", %"option::Option"* %_110, i32 0, i32 0 %142 = load i32, i32* %141, !range !9 %143 = trunc i32 %142 to i16 switch i16 %143, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 store i8 1, i8* %_118 %144 = load i8, i8* %_118 %145 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_117, i32 0, i32 0 store i8 %144, i8* %145 %146 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %146 %147 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %148 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %147, i32 0, i32 1 %149 = bitcast %"num::ParseIntError"* %_117 to i8* %150 = bitcast %"num::ParseIntError"* %148 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %150, i8* %149, i16 1, i32 1, i1 false) br label %bb58 bb57: ; preds = %bb55 %151 = bitcast %"option::Option"* %_110 to { i32, i32 }* %152 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %151, i32 0, i32 1 %153 = load i32, i32* %152 %154 = load i32, i32* %radix call void @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h54861e2fd0b8fa55E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_120, i16* noalias readonly dereferenceable(2) %result, i32 %154) br label %bb59 bb58: ; preds = %bb56, %bb62 br label %bb42 bb59: ; preds = %bb57 %155 = getelementptr inbounds %"option::Option", %"option::Option"* %_120, i32 0, i32 0 %156 = load i16, i16* %155, !range !3 switch i16 %156, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 store i8 3, i8* %_127 %157 = load i8, i8* %_127 %158 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_126, i32 0, i32 0 store i8 %157, i8* %158 %159 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %159 %160 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %161 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %160, i32 0, i32 1 %162 = bitcast %"num::ParseIntError"* %_126 to i8* %163 = bitcast %"num::ParseIntError"* %161 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %163, i8* %162, i16 1, i32 1, i1 false) br label %bb62 bb61: ; preds = %bb59 %164 = bitcast %"option::Option"* %_120 to { i16, i16 }* %165 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %164, i32 0, i32 1 %166 = load i16, i16* %165 store i16 %166, i16* %result call void @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h96256d92cceff977E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_129, i16* noalias readonly dereferenceable(2) %result, i32 %153) br label %bb63 bb62: ; preds = %bb60, %bb64 br label %bb58 bb63: ; preds = %bb61 %167 = getelementptr inbounds %"option::Option", %"option::Option"* %_129, i32 0, i32 0 %168 = load i16, i16* %167, !range !3 switch i16 %168, label %bb65 [ i16 0, label %bb64 ] bb64: ; preds = %bb63 store i8 3, i8* %_136 %169 = load i8, i8* %_136 %170 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_135, i32 0, i32 0 store i8 %169, i8* %170 %171 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %171 %172 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %173 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %172, i32 0, i32 1 %174 = bitcast %"num::ParseIntError"* %_135 to i8* %175 = bitcast %"num::ParseIntError"* %173 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %175, i8* %174, i16 1, i32 1, i1 false) br label %bb62 bb65: ; preds = %bb63 %176 = bitcast %"option::Option"* %_129 to { i16, i16 }* %177 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %176, i32 0, i32 1 %178 = load i16, i16* %177 store i16 %178, i16* %result br label %bb51 bb66: ; preds = %bb53, %bb36 %179 = load i16, i16* %result %180 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %180 %181 = bitcast %"result::Result"* %0 to { i8, i16 }* %182 = getelementptr inbounds { i8, i16 }, { i8, i16 }* %181, i32 0, i32 1 store i16 %179, i16* %182 br label %bb12 panic: ; preds = %bb17 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5O, i16 0, i16 %37) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num14from_str_radix17h6051dce4092dd5c0E(%"result::Result"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"fmt::ArgumentV1" %_136 = alloca i8 %_135 = alloca %"num::ParseIntError" %_129 = alloca %"option::Option" %_127 = alloca i8 %_126 = alloca %"num::ParseIntError" %_120 = alloca %"option::Option" %_118 = alloca i8 %_117 = alloca %"num::ParseIntError" %_110 = alloca %"option::Option" %_104 = alloca i8* %iter2 = alloca %"slice::Iter" %_101 = alloca %"slice::Iter" %_result1 = alloca {} %_98 = alloca i8 %_97 = alloca %"num::ParseIntError" %_91 = alloca %"option::Option" %_89 = alloca i8 %_88 = alloca %"num::ParseIntError" %_82 = alloca %"option::Option" %_80 = alloca i8 %_79 = alloca %"num::ParseIntError" %_72 = alloca %"option::Option" %_66 = alloca i8* %iter = alloca %"slice::Iter" %_63 = alloca %"slice::Iter" %_result = alloca {} %_60 = alloca {} %result = alloca i64 %_58 = alloca i8 %_57 = alloca %"num::ParseIntError" %_54 = alloca {} %_52 = alloca %"ops::RangeFrom" %_48 = alloca %"ops::RangeFrom" %_41 = alloca { i8, { i8*, i16 } } %_36 = alloca i64 %_34 = alloca i64 %_31 = alloca {} %_30 = alloca i8 %_29 = alloca %"num::ParseIntError" %_26 = alloca {} %_18 = alloca { i32* } %_17 = alloca [1 x %"fmt::ArgumentV1"] %_12 = alloca %"fmt::Arguments" %_7 = alloca i8 %_5 = alloca {} %radix = alloca i32 br label %start start: ; preds = %entry-block store i32 %3, i32* %radix %4 = load i32, i32* %radix %5 = icmp uge i32 %4, 2 br i1 %5, label %bb3, label %bb2 bb1: ; preds = %bb3 store i8 1, i8* %_7 br label %bb4 bb2: ; preds = %bb3, %start store i8 0, i8* %_7 br label %bb4 bb3: ; preds = %start %6 = load i32, i32* %radix %7 = icmp ule i32 %6, 36 br i1 %7, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 %10 = xor i1 %9, true br i1 %10, label %bb5, label %bb6 bb5: ; preds = %bb4 %11 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 0), !nonnull !1 %12 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 1) %13 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 store i32* %radix, i32** %13 %14 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 %15 = load i32*, i32** %14, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %15, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE") %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %17 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %18 = load %"fmt::Void"*, %"fmt::Void"** %16, !nonnull !1 %19 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %17, !nonnull !1 br label %bb7 bb6: ; preds = %bb4 %20 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb9 bb7: ; preds = %bb5 %21 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 0 store %"fmt::Void"* %18, %"fmt::Void"** %22 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %19, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %23 %24 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_12, %str_slice* noalias nonnull readonly %11, i16 %12, %"fmt::ArgumentV1"* noalias nonnull readonly %24, i16 1) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_12, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E) unreachable bb9: ; preds = %bb6 br i1 %20, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8 0, i8* %_30 %25 = load i8, i8* %_30 %26 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_29, i32 0, i32 0 store i8 %25, i8* %26 %27 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %27 %28 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %29 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %28, i32 0, i32 1 %30 = bitcast %"num::ParseIntError"* %_29 to i8* %31 = bitcast %"num::ParseIntError"* %29 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 1, i32 1, i1 false) br label %bb13 bb11: ; preds = %bb9 %32 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217hbe20698bf8dcd48dE"(i32 0) store i64 %32, i64* %_34 br label %bb14 bb12: ; preds = %bb66, %bb13 ret void bb13: ; preds = %bb29, %bb10 br label %bb12 bb14: ; preds = %bb11 %33 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h3d0c8ae03dc37fa8E"() store i64 %33, i64* %_36 br label %bb15 bb15: ; preds = %bb14 %34 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$i64$GT$2gt17h5cec6e9be4ffdc8cE"(i64* noalias readonly dereferenceable(8) %_34, i64* noalias readonly dereferenceable(8) %_36) br label %bb16 bb16: ; preds = %bb15 %35 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %36 = extractvalue { i8*, i16 } %35, 0 %37 = extractvalue { i8*, i16 } %35, 1 br label %bb17 bb17: ; preds = %bb16 %38 = icmp ult i16 0, %37 %39 = call i1 @llvm.expect.i1(i1 %38, i1 true) br i1 %39, label %bb18, label %panic bb18: ; preds = %bb17 %40 = getelementptr inbounds i8, i8* %36, i16 0 %41 = load i8, i8* %40 switch i8 %41, label %bb21 [ i8 43, label %bb19 i8 45, label %bb22 ] bb19: ; preds = %bb18 %42 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_48, i32 0, i32 0 store i16 1, i16* %42 %43 = bitcast %"ops::RangeFrom"* %_48 to i16* %44 = load i16, i16* %43, align 2 %45 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %44) %46 = extractvalue { i8*, i16 } %45, 0 %47 = extractvalue { i8*, i16 } %45, 1 br label %bb24 bb20: ; preds = %bb22 %48 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_52, i32 0, i32 0 store i16 1, i16* %48 %49 = bitcast %"ops::RangeFrom"* %_52 to i16* %50 = load i16, i16* %49, align 2 %51 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %50) %52 = extractvalue { i8*, i16 } %51, 0 %53 = extractvalue { i8*, i16 } %51, 1 br label %bb25 bb21: ; preds = %bb22, %bb18 %54 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %54 %55 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %56 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 0 store i8* %36, i8** %56 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 1 store i16 %37, i16* %57 br label %bb23 bb22: ; preds = %bb18 br i1 %34, label %bb20, label %bb21 bb23: ; preds = %bb24, %bb21, %bb25 %58 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 %59 = load i8, i8* %58, !range !2 %60 = trunc i8 %59 to i1 %61 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 %63 = load i8*, i8** %62, !nonnull !1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 %65 = load i16, i16* %64 %66 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %63, i16 %65) br label %bb26 bb24: ; preds = %bb19 %67 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %67 %68 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 0 store i8* %46, i8** %69 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 1 store i16 %47, i16* %70 br label %bb23 bb25: ; preds = %bb20 %71 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 0, i8* %71 %72 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 0 store i8* %52, i8** %73 %74 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 1 store i16 %53, i16* %74 br label %bb23 bb26: ; preds = %bb23 br i1 %66, label %bb27, label %bb28 bb27: ; preds = %bb26 store i8 0, i8* %_58 %75 = load i8, i8* %_58 %76 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_57, i32 0, i32 0 store i8 %75, i8* %76 %77 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %77 %78 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %79 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %78, i32 0, i32 1 %80 = bitcast %"num::ParseIntError"* %_57 to i8* %81 = bitcast %"num::ParseIntError"* %79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %81, i8* %80, i16 1, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb26 %82 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217hbe20698bf8dcd48dE"(i32 0) store i64 %82, i64* %result br label %bb30 bb29: ; preds = %bb42, %bb27 br label %bb13 bb30: ; preds = %bb28 br i1 %60, label %bb31, label %bb32 bb31: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_63, i8* noalias nonnull readonly %63, i16 %65) br label %bb33 bb32: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_101, i8* noalias nonnull readonly %63, i16 %65) br label %bb50 bb33: ; preds = %bb31 %83 = bitcast %"slice::Iter"* %_63 to i8* %84 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %84, i8* %83, i16 4, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb49, %bb33 %85 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %85, i8** %_66 br label %bb35 bb35: ; preds = %bb34 %86 = load i8*, i8** %_66 %87 = icmp ne i8* %86, null %88 = zext i1 %87 to i16 switch i16 %88, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb66 bb37: ; preds = %bb35 %89 = load i8*, i8** %_66, !nonnull !1 %90 = load i8, i8* %89 %91 = zext i8 %90 to i32 %92 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_72, i32 %91, i32 %92) br label %bb38 bb38: ; preds = %bb37 %93 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %94 = load i32, i32* %93, !range !9 %95 = trunc i32 %94 to i16 switch i16 %95, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 1, i8* %_80 %96 = load i8, i8* %_80 %97 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_79, i32 0, i32 0 store i8 %96, i8* %97 %98 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %98 %99 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %100 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %99, i32 0, i32 1 %101 = bitcast %"num::ParseIntError"* %_79 to i8* %102 = bitcast %"num::ParseIntError"* %100 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %102, i8* %101, i16 1, i32 1, i1 false) br label %bb41 bb40: ; preds = %bb38 %103 = bitcast %"option::Option"* %_72 to { i32, i32 }* %104 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %103, i32 0, i32 1 %105 = load i32, i32* %104 %106 = load i32, i32* %radix call void @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h55c5ca739f63ba7eE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_82, i64* noalias readonly dereferenceable(8) %result, i32 %106) br label %bb43 bb41: ; preds = %bb39, %bb46 br label %bb42 bb42: ; preds = %bb58, %bb41 br label %bb29 bb43: ; preds = %bb40 %107 = getelementptr inbounds %"option::Option", %"option::Option"* %_82, i32 0, i32 0 %108 = load i64, i64* %107, !range !8 %109 = trunc i64 %108 to i16 switch i16 %109, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 store i8 2, i8* %_89 %110 = load i8, i8* %_89 %111 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_88, i32 0, i32 0 store i8 %110, i8* %111 %112 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %112 %113 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %114 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %113, i32 0, i32 1 %115 = bitcast %"num::ParseIntError"* %_88 to i8* %116 = bitcast %"num::ParseIntError"* %114 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %116, i8* %115, i16 1, i32 1, i1 false) br label %bb46 bb45: ; preds = %bb43 %117 = bitcast %"option::Option"* %_82 to { i64, i64 }* %118 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %117, i32 0, i32 1 %119 = load i64, i64* %118 store i64 %119, i64* %result call void @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17h2b684f96d87a7c33E"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_91, i64* noalias readonly dereferenceable(8) %result, i32 %105) br label %bb47 bb46: ; preds = %bb44, %bb48 br label %bb41 bb47: ; preds = %bb45 %120 = getelementptr inbounds %"option::Option", %"option::Option"* %_91, i32 0, i32 0 %121 = load i64, i64* %120, !range !8 %122 = trunc i64 %121 to i16 switch i16 %122, label %bb49 [ i16 0, label %bb48 ] bb48: ; preds = %bb47 store i8 2, i8* %_98 %123 = load i8, i8* %_98 %124 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_97, i32 0, i32 0 store i8 %123, i8* %124 %125 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %125 %126 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %127 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %126, i32 0, i32 1 %128 = bitcast %"num::ParseIntError"* %_97 to i8* %129 = bitcast %"num::ParseIntError"* %127 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %129, i8* %128, i16 1, i32 1, i1 false) br label %bb46 bb49: ; preds = %bb47 %130 = bitcast %"option::Option"* %_91 to { i64, i64 }* %131 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %130, i32 0, i32 1 %132 = load i64, i64* %131 store i64 %132, i64* %result br label %bb34 bb50: ; preds = %bb32 %133 = bitcast %"slice::Iter"* %_101 to i8* %134 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %134, i8* %133, i16 4, i32 2, i1 false) br label %bb51 bb51: ; preds = %bb65, %bb50 %135 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %135, i8** %_104 br label %bb52 bb52: ; preds = %bb51 %136 = load i8*, i8** %_104 %137 = icmp ne i8* %136, null %138 = zext i1 %137 to i16 switch i16 %138, label %bb54 [ i16 0, label %bb53 ] bb53: ; preds = %bb52 br label %bb66 bb54: ; preds = %bb52 %139 = load i8*, i8** %_104, !nonnull !1 %140 = load i8, i8* %139 %141 = zext i8 %140 to i32 %142 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_110, i32 %141, i32 %142) br label %bb55 bb55: ; preds = %bb54 %143 = getelementptr inbounds %"option::Option", %"option::Option"* %_110, i32 0, i32 0 %144 = load i32, i32* %143, !range !9 %145 = trunc i32 %144 to i16 switch i16 %145, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 store i8 1, i8* %_118 %146 = load i8, i8* %_118 %147 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_117, i32 0, i32 0 store i8 %146, i8* %147 %148 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %148 %149 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %150 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %149, i32 0, i32 1 %151 = bitcast %"num::ParseIntError"* %_117 to i8* %152 = bitcast %"num::ParseIntError"* %150 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %152, i8* %151, i16 1, i32 1, i1 false) br label %bb58 bb57: ; preds = %bb55 %153 = bitcast %"option::Option"* %_110 to { i32, i32 }* %154 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %153, i32 0, i32 1 %155 = load i32, i32* %154 %156 = load i32, i32* %radix call void @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h55c5ca739f63ba7eE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_120, i64* noalias readonly dereferenceable(8) %result, i32 %156) br label %bb59 bb58: ; preds = %bb56, %bb62 br label %bb42 bb59: ; preds = %bb57 %157 = getelementptr inbounds %"option::Option", %"option::Option"* %_120, i32 0, i32 0 %158 = load i64, i64* %157, !range !8 %159 = trunc i64 %158 to i16 switch i16 %159, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 store i8 3, i8* %_127 %160 = load i8, i8* %_127 %161 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_126, i32 0, i32 0 store i8 %160, i8* %161 %162 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %162 %163 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %164 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %163, i32 0, i32 1 %165 = bitcast %"num::ParseIntError"* %_126 to i8* %166 = bitcast %"num::ParseIntError"* %164 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %166, i8* %165, i16 1, i32 1, i1 false) br label %bb62 bb61: ; preds = %bb59 %167 = bitcast %"option::Option"* %_120 to { i64, i64 }* %168 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %167, i32 0, i32 1 %169 = load i64, i64* %168 store i64 %169, i64* %result call void @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h893675b26b0dc02cE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_129, i64* noalias readonly dereferenceable(8) %result, i32 %155) br label %bb63 bb62: ; preds = %bb60, %bb64 br label %bb58 bb63: ; preds = %bb61 %170 = getelementptr inbounds %"option::Option", %"option::Option"* %_129, i32 0, i32 0 %171 = load i64, i64* %170, !range !8 %172 = trunc i64 %171 to i16 switch i16 %172, label %bb65 [ i16 0, label %bb64 ] bb64: ; preds = %bb63 store i8 3, i8* %_136 %173 = load i8, i8* %_136 %174 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_135, i32 0, i32 0 store i8 %173, i8* %174 %175 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %175 %176 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %177 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %176, i32 0, i32 1 %178 = bitcast %"num::ParseIntError"* %_135 to i8* %179 = bitcast %"num::ParseIntError"* %177 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %179, i8* %178, i16 1, i32 1, i1 false) br label %bb62 bb65: ; preds = %bb63 %180 = bitcast %"option::Option"* %_129 to { i64, i64 }* %181 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %180, i32 0, i32 1 %182 = load i64, i64* %181 store i64 %182, i64* %result br label %bb51 bb66: ; preds = %bb53, %bb36 %183 = load i64, i64* %result %184 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %184 %185 = bitcast %"result::Result"* %0 to { i8, i64 }* %186 = getelementptr inbounds { i8, i64 }, { i8, i64 }* %185, i32 0, i32 1 store i64 %183, i64* %186 br label %bb12 panic: ; preds = %bb17 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5O, i16 0, i16 %37) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3num14from_str_radix17h633e929e29fd0931E(i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %abi_cast5 = alloca i16 %abi_cast4 = alloca i16 %abi_cast3 = alloca i16 %abi_cast = alloca i16 %tmp_ret = alloca %"fmt::ArgumentV1" %_136 = alloca i8 %_135 = alloca %"num::ParseIntError" %_129 = alloca %"option::Option" %_127 = alloca i8 %_126 = alloca %"num::ParseIntError" %_120 = alloca %"option::Option" %_118 = alloca i8 %_117 = alloca %"num::ParseIntError" %_110 = alloca %"option::Option" %_104 = alloca i8* %iter2 = alloca %"slice::Iter" %_101 = alloca %"slice::Iter" %_result1 = alloca {} %_98 = alloca i8 %_97 = alloca %"num::ParseIntError" %_91 = alloca %"option::Option" %_89 = alloca i8 %_88 = alloca %"num::ParseIntError" %_82 = alloca %"option::Option" %_80 = alloca i8 %_79 = alloca %"num::ParseIntError" %_72 = alloca %"option::Option" %_66 = alloca i8* %iter = alloca %"slice::Iter" %_63 = alloca %"slice::Iter" %_result = alloca {} %_60 = alloca {} %result = alloca i8 %_58 = alloca i8 %_57 = alloca %"num::ParseIntError" %_54 = alloca {} %_52 = alloca %"ops::RangeFrom" %_48 = alloca %"ops::RangeFrom" %_41 = alloca { i8, { i8*, i16 } } %_36 = alloca i8 %_34 = alloca i8 %_31 = alloca {} %_30 = alloca i8 %_29 = alloca %"num::ParseIntError" %_26 = alloca {} %_18 = alloca { i32* } %_17 = alloca [1 x %"fmt::ArgumentV1"] %_12 = alloca %"fmt::Arguments" %_7 = alloca i8 %_5 = alloca {} %radix = alloca i32 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block store i32 %2, i32* %radix %3 = load i32, i32* %radix %4 = icmp uge i32 %3, 2 br i1 %4, label %bb3, label %bb2 bb1: ; preds = %bb3 store i8 1, i8* %_7 br label %bb4 bb2: ; preds = %bb3, %start store i8 0, i8* %_7 br label %bb4 bb3: ; preds = %start %5 = load i32, i32* %radix %6 = icmp ule i32 %5, 36 br i1 %6, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %7 = load i8, i8* %_7, !range !2 %8 = trunc i8 %7 to i1 %9 = xor i1 %8, true br i1 %9, label %bb5, label %bb6 bb5: ; preds = %bb4 %10 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 0), !nonnull !1 %11 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 1) %12 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 store i32* %radix, i32** %12 %13 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 %14 = load i32*, i32** %13, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %14, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE") %15 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %17 = load %"fmt::Void"*, %"fmt::Void"** %15, !nonnull !1 %18 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %16, !nonnull !1 br label %bb7 bb6: ; preds = %bb4 %19 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb9 bb7: ; preds = %bb5 %20 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i32 0, i32 0 %21 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %20, i32 0, i32 0 store %"fmt::Void"* %17, %"fmt::Void"** %21 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %20, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %18, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %22 %23 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_12, %str_slice* noalias nonnull readonly %10, i16 %11, %"fmt::ArgumentV1"* noalias nonnull readonly %23, i16 1) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_12, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E) unreachable bb9: ; preds = %bb6 br i1 %19, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8 0, i8* %_30 %24 = load i8, i8* %_30 %25 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_29, i32 0, i32 0 store i8 %24, i8* %25 %26 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %26 %27 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %28 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %27, i32 0, i32 1 %29 = bitcast %"num::ParseIntError"* %_29 to i8* %30 = bitcast %"num::ParseIntError"* %28 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %29, i16 1, i32 1, i1 false) br label %bb13 bb11: ; preds = %bb9 %31 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h74ca5f64f435b5b3E"(i32 0) store i8 %31, i8* %_34 br label %bb14 bb12: ; preds = %bb66, %bb13 %32 = bitcast %"result::Result"* %_0 to i16* %33 = load i16, i16* %32, align 1 ret i16 %33 bb13: ; preds = %bb29, %bb10 br label %bb12 bb14: ; preds = %bb11 %34 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hb0a12710150a6ddcE"() store i8 %34, i8* %_36 br label %bb15 bb15: ; preds = %bb14 %35 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$i8$GT$2gt17hb86ab2bbef01b1baE"(i8* noalias readonly dereferenceable(1) %_34, i8* noalias readonly dereferenceable(1) %_36) br label %bb16 bb16: ; preds = %bb15 %36 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %0, i16 %1) %37 = extractvalue { i8*, i16 } %36, 0 %38 = extractvalue { i8*, i16 } %36, 1 br label %bb17 bb17: ; preds = %bb16 %39 = icmp ult i16 0, %38 %40 = call i1 @llvm.expect.i1(i1 %39, i1 true) br i1 %40, label %bb18, label %panic bb18: ; preds = %bb17 %41 = getelementptr inbounds i8, i8* %37, i16 0 %42 = load i8, i8* %41 switch i8 %42, label %bb21 [ i8 43, label %bb19 i8 45, label %bb22 ] bb19: ; preds = %bb18 %43 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_48, i32 0, i32 0 store i16 1, i16* %43 %44 = bitcast %"ops::RangeFrom"* %_48 to i16* %45 = load i16, i16* %44, align 2 %46 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %37, i16 %38, i16 %45) %47 = extractvalue { i8*, i16 } %46, 0 %48 = extractvalue { i8*, i16 } %46, 1 br label %bb24 bb20: ; preds = %bb22 %49 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_52, i32 0, i32 0 store i16 1, i16* %49 %50 = bitcast %"ops::RangeFrom"* %_52 to i16* %51 = load i16, i16* %50, align 2 %52 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %37, i16 %38, i16 %51) %53 = extractvalue { i8*, i16 } %52, 0 %54 = extractvalue { i8*, i16 } %52, 1 br label %bb25 bb21: ; preds = %bb22, %bb18 %55 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %55 %56 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %56, i32 0, i32 0 store i8* %37, i8** %57 %58 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %56, i32 0, i32 1 store i16 %38, i16* %58 br label %bb23 bb22: ; preds = %bb18 br i1 %35, label %bb20, label %bb21 bb23: ; preds = %bb24, %bb21, %bb25 %59 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 %60 = load i8, i8* %59, !range !2 %61 = trunc i8 %60 to i1 %62 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %63 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %62, i32 0, i32 0 %64 = load i8*, i8** %63, !nonnull !1 %65 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %62, i32 0, i32 1 %66 = load i16, i16* %65 %67 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %64, i16 %66) br label %bb26 bb24: ; preds = %bb19 %68 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %68 %69 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %69, i32 0, i32 0 store i8* %47, i8** %70 %71 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %69, i32 0, i32 1 store i16 %48, i16* %71 br label %bb23 bb25: ; preds = %bb20 %72 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 0, i8* %72 %73 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %74 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %73, i32 0, i32 0 store i8* %53, i8** %74 %75 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %73, i32 0, i32 1 store i16 %54, i16* %75 br label %bb23 bb26: ; preds = %bb23 br i1 %67, label %bb27, label %bb28 bb27: ; preds = %bb26 store i8 0, i8* %_58 %76 = load i8, i8* %_58 %77 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_57, i32 0, i32 0 store i8 %76, i8* %77 %78 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %78 %79 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %80 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %79, i32 0, i32 1 %81 = bitcast %"num::ParseIntError"* %_57 to i8* %82 = bitcast %"num::ParseIntError"* %80 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %82, i8* %81, i16 1, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb26 %83 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h74ca5f64f435b5b3E"(i32 0) store i8 %83, i8* %result br label %bb30 bb29: ; preds = %bb42, %bb27 br label %bb13 bb30: ; preds = %bb28 br i1 %61, label %bb31, label %bb32 bb31: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_63, i8* noalias nonnull readonly %64, i16 %66) br label %bb33 bb32: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_101, i8* noalias nonnull readonly %64, i16 %66) br label %bb50 bb33: ; preds = %bb31 %84 = bitcast %"slice::Iter"* %_63 to i8* %85 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %85, i8* %84, i16 4, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb49, %bb33 %86 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %86, i8** %_66 br label %bb35 bb35: ; preds = %bb34 %87 = load i8*, i8** %_66 %88 = icmp ne i8* %87, null %89 = zext i1 %88 to i16 switch i16 %89, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb66 bb37: ; preds = %bb35 %90 = load i8*, i8** %_66, !nonnull !1 %91 = load i8, i8* %90 %92 = zext i8 %91 to i32 %93 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_72, i32 %92, i32 %93) br label %bb38 bb38: ; preds = %bb37 %94 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %95 = load i32, i32* %94, !range !9 %96 = trunc i32 %95 to i16 switch i16 %96, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 1, i8* %_80 %97 = load i8, i8* %_80 %98 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_79, i32 0, i32 0 store i8 %97, i8* %98 %99 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %99 %100 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %101 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %100, i32 0, i32 1 %102 = bitcast %"num::ParseIntError"* %_79 to i8* %103 = bitcast %"num::ParseIntError"* %101 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %103, i8* %102, i16 1, i32 1, i1 false) br label %bb41 bb40: ; preds = %bb38 %104 = bitcast %"option::Option"* %_72 to { i32, i32 }* %105 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %104, i32 0, i32 1 %106 = load i32, i32* %105 %107 = load i32, i32* %radix %108 = call i16 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17hb3f943cdd086926fE"(i8* noalias readonly dereferenceable(1) %result, i32 %107) store i16 %108, i16* %abi_cast %109 = bitcast %"option::Option"* %_82 to i8* %110 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %109, i8* %110, i16 2, i32 1, i1 false) br label %bb43 bb41: ; preds = %bb39, %bb46 br label %bb42 bb42: ; preds = %bb58, %bb41 br label %bb29 bb43: ; preds = %bb40 %111 = getelementptr inbounds %"option::Option", %"option::Option"* %_82, i32 0, i32 0 %112 = load i8, i8* %111, !range !2 %113 = zext i8 %112 to i16 switch i16 %113, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 store i8 2, i8* %_89 %114 = load i8, i8* %_89 %115 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_88, i32 0, i32 0 store i8 %114, i8* %115 %116 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %116 %117 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %118 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %117, i32 0, i32 1 %119 = bitcast %"num::ParseIntError"* %_88 to i8* %120 = bitcast %"num::ParseIntError"* %118 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %119, i16 1, i32 1, i1 false) br label %bb46 bb45: ; preds = %bb43 %121 = bitcast %"option::Option"* %_82 to { i8, i8 }* %122 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %121, i32 0, i32 1 %123 = load i8, i8* %122 store i8 %123, i8* %result %124 = call i16 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17haad793ecc994a668E"(i8* noalias readonly dereferenceable(1) %result, i32 %106) store i16 %124, i16* %abi_cast3 %125 = bitcast %"option::Option"* %_91 to i8* %126 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %125, i8* %126, i16 2, i32 1, i1 false) br label %bb47 bb46: ; preds = %bb44, %bb48 br label %bb41 bb47: ; preds = %bb45 %127 = getelementptr inbounds %"option::Option", %"option::Option"* %_91, i32 0, i32 0 %128 = load i8, i8* %127, !range !2 %129 = zext i8 %128 to i16 switch i16 %129, label %bb49 [ i16 0, label %bb48 ] bb48: ; preds = %bb47 store i8 2, i8* %_98 %130 = load i8, i8* %_98 %131 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_97, i32 0, i32 0 store i8 %130, i8* %131 %132 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %132 %133 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %134 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %133, i32 0, i32 1 %135 = bitcast %"num::ParseIntError"* %_97 to i8* %136 = bitcast %"num::ParseIntError"* %134 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %136, i8* %135, i16 1, i32 1, i1 false) br label %bb46 bb49: ; preds = %bb47 %137 = bitcast %"option::Option"* %_91 to { i8, i8 }* %138 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %137, i32 0, i32 1 %139 = load i8, i8* %138 store i8 %139, i8* %result br label %bb34 bb50: ; preds = %bb32 %140 = bitcast %"slice::Iter"* %_101 to i8* %141 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %141, i8* %140, i16 4, i32 2, i1 false) br label %bb51 bb51: ; preds = %bb65, %bb50 %142 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %142, i8** %_104 br label %bb52 bb52: ; preds = %bb51 %143 = load i8*, i8** %_104 %144 = icmp ne i8* %143, null %145 = zext i1 %144 to i16 switch i16 %145, label %bb54 [ i16 0, label %bb53 ] bb53: ; preds = %bb52 br label %bb66 bb54: ; preds = %bb52 %146 = load i8*, i8** %_104, !nonnull !1 %147 = load i8, i8* %146 %148 = zext i8 %147 to i32 %149 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_110, i32 %148, i32 %149) br label %bb55 bb55: ; preds = %bb54 %150 = getelementptr inbounds %"option::Option", %"option::Option"* %_110, i32 0, i32 0 %151 = load i32, i32* %150, !range !9 %152 = trunc i32 %151 to i16 switch i16 %152, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 store i8 1, i8* %_118 %153 = load i8, i8* %_118 %154 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_117, i32 0, i32 0 store i8 %153, i8* %154 %155 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %155 %156 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %157 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %156, i32 0, i32 1 %158 = bitcast %"num::ParseIntError"* %_117 to i8* %159 = bitcast %"num::ParseIntError"* %157 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %159, i8* %158, i16 1, i32 1, i1 false) br label %bb58 bb57: ; preds = %bb55 %160 = bitcast %"option::Option"* %_110 to { i32, i32 }* %161 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %160, i32 0, i32 1 %162 = load i32, i32* %161 %163 = load i32, i32* %radix %164 = call i16 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17hb3f943cdd086926fE"(i8* noalias readonly dereferenceable(1) %result, i32 %163) store i16 %164, i16* %abi_cast4 %165 = bitcast %"option::Option"* %_120 to i8* %166 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %165, i8* %166, i16 2, i32 1, i1 false) br label %bb59 bb58: ; preds = %bb56, %bb62 br label %bb42 bb59: ; preds = %bb57 %167 = getelementptr inbounds %"option::Option", %"option::Option"* %_120, i32 0, i32 0 %168 = load i8, i8* %167, !range !2 %169 = zext i8 %168 to i16 switch i16 %169, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 store i8 3, i8* %_127 %170 = load i8, i8* %_127 %171 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_126, i32 0, i32 0 store i8 %170, i8* %171 %172 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %172 %173 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %174 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %173, i32 0, i32 1 %175 = bitcast %"num::ParseIntError"* %_126 to i8* %176 = bitcast %"num::ParseIntError"* %174 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %176, i8* %175, i16 1, i32 1, i1 false) br label %bb62 bb61: ; preds = %bb59 %177 = bitcast %"option::Option"* %_120 to { i8, i8 }* %178 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %177, i32 0, i32 1 %179 = load i8, i8* %178 store i8 %179, i8* %result %180 = call i16 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h3c79d68d2b651144E"(i8* noalias readonly dereferenceable(1) %result, i32 %162) store i16 %180, i16* %abi_cast5 %181 = bitcast %"option::Option"* %_129 to i8* %182 = bitcast i16* %abi_cast5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %181, i8* %182, i16 2, i32 1, i1 false) br label %bb63 bb62: ; preds = %bb60, %bb64 br label %bb58 bb63: ; preds = %bb61 %183 = getelementptr inbounds %"option::Option", %"option::Option"* %_129, i32 0, i32 0 %184 = load i8, i8* %183, !range !2 %185 = zext i8 %184 to i16 switch i16 %185, label %bb65 [ i16 0, label %bb64 ] bb64: ; preds = %bb63 store i8 3, i8* %_136 %186 = load i8, i8* %_136 %187 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_135, i32 0, i32 0 store i8 %186, i8* %187 %188 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %188 %189 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %190 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %189, i32 0, i32 1 %191 = bitcast %"num::ParseIntError"* %_135 to i8* %192 = bitcast %"num::ParseIntError"* %190 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %192, i8* %191, i16 1, i32 1, i1 false) br label %bb62 bb65: ; preds = %bb63 %193 = bitcast %"option::Option"* %_129 to { i8, i8 }* %194 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %193, i32 0, i32 1 %195 = load i8, i8* %194 store i8 %195, i8* %result br label %bb51 bb66: ; preds = %bb53, %bb36 %196 = load i8, i8* %result %197 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %197 %198 = bitcast %"result::Result"* %_0 to { i8, i8 }* %199 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %198, i32 0, i32 1 store i8 %196, i8* %199 br label %bb12 panic: ; preds = %bb17 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5O, i16 0, i16 %38) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num14from_str_radix17h6a5c57895f125708E(%"result::Result"* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"fmt::ArgumentV1" %_136 = alloca i8 %_135 = alloca %"num::ParseIntError" %_129 = alloca %"option::Option" %_127 = alloca i8 %_126 = alloca %"num::ParseIntError" %_120 = alloca %"option::Option" %_118 = alloca i8 %_117 = alloca %"num::ParseIntError" %_110 = alloca %"option::Option" %_104 = alloca i8* %iter2 = alloca %"slice::Iter" %_101 = alloca %"slice::Iter" %_result1 = alloca {} %_98 = alloca i8 %_97 = alloca %"num::ParseIntError" %_91 = alloca %"option::Option" %_89 = alloca i8 %_88 = alloca %"num::ParseIntError" %_82 = alloca %"option::Option" %_80 = alloca i8 %_79 = alloca %"num::ParseIntError" %_72 = alloca %"option::Option" %_66 = alloca i8* %iter = alloca %"slice::Iter" %_63 = alloca %"slice::Iter" %_result = alloca {} %_60 = alloca {} %result = alloca i128 %_58 = alloca i8 %_57 = alloca %"num::ParseIntError" %_54 = alloca {} %_52 = alloca %"ops::RangeFrom" %_48 = alloca %"ops::RangeFrom" %_41 = alloca { i8, { i8*, i16 } } %_36 = alloca i128 %_34 = alloca i128 %_31 = alloca {} %_30 = alloca i8 %_29 = alloca %"num::ParseIntError" %_26 = alloca {} %_18 = alloca { i32* } %_17 = alloca [1 x %"fmt::ArgumentV1"] %_12 = alloca %"fmt::Arguments" %_7 = alloca i8 %_5 = alloca {} %radix = alloca i32 br label %start start: ; preds = %entry-block store i32 %3, i32* %radix %4 = load i32, i32* %radix %5 = icmp uge i32 %4, 2 br i1 %5, label %bb3, label %bb2 bb1: ; preds = %bb3 store i8 1, i8* %_7 br label %bb4 bb2: ; preds = %bb3, %start store i8 0, i8* %_7 br label %bb4 bb3: ; preds = %start %6 = load i32, i32* %radix %7 = icmp ule i32 %6, 36 br i1 %7, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 %10 = xor i1 %9, true br i1 %10, label %bb5, label %bb6 bb5: ; preds = %bb4 %11 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 0), !nonnull !1 %12 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 1) %13 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 store i32* %radix, i32** %13 %14 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 %15 = load i32*, i32** %14, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %15, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE") %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %17 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %18 = load %"fmt::Void"*, %"fmt::Void"** %16, !nonnull !1 %19 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %17, !nonnull !1 br label %bb7 bb6: ; preds = %bb4 %20 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb9 bb7: ; preds = %bb5 %21 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 0 store %"fmt::Void"* %18, %"fmt::Void"** %22 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %19, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %23 %24 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_12, %str_slice* noalias nonnull readonly %11, i16 %12, %"fmt::ArgumentV1"* noalias nonnull readonly %24, i16 1) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_12, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E) unreachable bb9: ; preds = %bb6 br i1 %20, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8 0, i8* %_30 %25 = load i8, i8* %_30 %26 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_29, i32 0, i32 0 store i8 %25, i8* %26 %27 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %27 %28 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %29 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %28, i32 0, i32 1 %30 = bitcast %"num::ParseIntError"* %_29 to i8* %31 = bitcast %"num::ParseIntError"* %29 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 1, i32 1, i1 false) br label %bb13 bb11: ; preds = %bb9 %32 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217hc6933b3e63cae385E"(i32 0) store i128 %32, i128* %_34 br label %bb14 bb12: ; preds = %bb66, %bb13 ret void bb13: ; preds = %bb29, %bb10 br label %bb12 bb14: ; preds = %bb11 %33 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hced87ab2ef9c4976E"() store i128 %33, i128* %_36 br label %bb15 bb15: ; preds = %bb14 %34 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$i128$GT$2gt17h323f084d010d1e58E"(i128* noalias readonly dereferenceable(16) %_34, i128* noalias readonly dereferenceable(16) %_36) br label %bb16 bb16: ; preds = %bb15 %35 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %36 = extractvalue { i8*, i16 } %35, 0 %37 = extractvalue { i8*, i16 } %35, 1 br label %bb17 bb17: ; preds = %bb16 %38 = icmp ult i16 0, %37 %39 = call i1 @llvm.expect.i1(i1 %38, i1 true) br i1 %39, label %bb18, label %panic bb18: ; preds = %bb17 %40 = getelementptr inbounds i8, i8* %36, i16 0 %41 = load i8, i8* %40 switch i8 %41, label %bb21 [ i8 43, label %bb19 i8 45, label %bb22 ] bb19: ; preds = %bb18 %42 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_48, i32 0, i32 0 store i16 1, i16* %42 %43 = bitcast %"ops::RangeFrom"* %_48 to i16* %44 = load i16, i16* %43, align 2 %45 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %44) %46 = extractvalue { i8*, i16 } %45, 0 %47 = extractvalue { i8*, i16 } %45, 1 br label %bb24 bb20: ; preds = %bb22 %48 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_52, i32 0, i32 0 store i16 1, i16* %48 %49 = bitcast %"ops::RangeFrom"* %_52 to i16* %50 = load i16, i16* %49, align 2 %51 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %50) %52 = extractvalue { i8*, i16 } %51, 0 %53 = extractvalue { i8*, i16 } %51, 1 br label %bb25 bb21: ; preds = %bb22, %bb18 %54 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %54 %55 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %56 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 0 store i8* %36, i8** %56 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 1 store i16 %37, i16* %57 br label %bb23 bb22: ; preds = %bb18 br i1 %34, label %bb20, label %bb21 bb23: ; preds = %bb24, %bb21, %bb25 %58 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 %59 = load i8, i8* %58, !range !2 %60 = trunc i8 %59 to i1 %61 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 %63 = load i8*, i8** %62, !nonnull !1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 %65 = load i16, i16* %64 %66 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %63, i16 %65) br label %bb26 bb24: ; preds = %bb19 %67 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %67 %68 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 0 store i8* %46, i8** %69 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 1 store i16 %47, i16* %70 br label %bb23 bb25: ; preds = %bb20 %71 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 0, i8* %71 %72 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 0 store i8* %52, i8** %73 %74 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 1 store i16 %53, i16* %74 br label %bb23 bb26: ; preds = %bb23 br i1 %66, label %bb27, label %bb28 bb27: ; preds = %bb26 store i8 0, i8* %_58 %75 = load i8, i8* %_58 %76 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_57, i32 0, i32 0 store i8 %75, i8* %76 %77 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %77 %78 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %79 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %78, i32 0, i32 1 %80 = bitcast %"num::ParseIntError"* %_57 to i8* %81 = bitcast %"num::ParseIntError"* %79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %81, i8* %80, i16 1, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb26 %82 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217hc6933b3e63cae385E"(i32 0) store i128 %82, i128* %result br label %bb30 bb29: ; preds = %bb42, %bb27 br label %bb13 bb30: ; preds = %bb28 br i1 %60, label %bb31, label %bb32 bb31: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_63, i8* noalias nonnull readonly %63, i16 %65) br label %bb33 bb32: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_101, i8* noalias nonnull readonly %63, i16 %65) br label %bb50 bb33: ; preds = %bb31 %83 = bitcast %"slice::Iter"* %_63 to i8* %84 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %84, i8* %83, i16 4, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb49, %bb33 %85 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %85, i8** %_66 br label %bb35 bb35: ; preds = %bb34 %86 = load i8*, i8** %_66 %87 = icmp ne i8* %86, null %88 = zext i1 %87 to i16 switch i16 %88, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb66 bb37: ; preds = %bb35 %89 = load i8*, i8** %_66, !nonnull !1 %90 = load i8, i8* %89 %91 = zext i8 %90 to i32 %92 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_72, i32 %91, i32 %92) br label %bb38 bb38: ; preds = %bb37 %93 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %94 = load i32, i32* %93, !range !9 %95 = trunc i32 %94 to i16 switch i16 %95, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 1, i8* %_80 %96 = load i8, i8* %_80 %97 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_79, i32 0, i32 0 store i8 %96, i8* %97 %98 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %98 %99 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %100 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %99, i32 0, i32 1 %101 = bitcast %"num::ParseIntError"* %_79 to i8* %102 = bitcast %"num::ParseIntError"* %100 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %102, i8* %101, i16 1, i32 1, i1 false) br label %bb41 bb40: ; preds = %bb38 %103 = bitcast %"option::Option"* %_72 to { i32, i32 }* %104 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %103, i32 0, i32 1 %105 = load i32, i32* %104 %106 = load i32, i32* %radix call void @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h7c2cb71c21961c40E"(%"option::Option"* noalias nocapture sret dereferenceable(24) %_82, i128* noalias readonly dereferenceable(16) %result, i32 %106) br label %bb43 bb41: ; preds = %bb39, %bb46 br label %bb42 bb42: ; preds = %bb58, %bb41 br label %bb29 bb43: ; preds = %bb40 %107 = getelementptr inbounds %"option::Option", %"option::Option"* %_82, i32 0, i32 0 %108 = load i64, i64* %107, !range !8 %109 = trunc i64 %108 to i16 switch i16 %109, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 store i8 2, i8* %_89 %110 = load i8, i8* %_89 %111 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_88, i32 0, i32 0 store i8 %110, i8* %111 %112 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %112 %113 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %114 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %113, i32 0, i32 1 %115 = bitcast %"num::ParseIntError"* %_88 to i8* %116 = bitcast %"num::ParseIntError"* %114 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %116, i8* %115, i16 1, i32 1, i1 false) br label %bb46 bb45: ; preds = %bb43 %117 = bitcast %"option::Option"* %_82 to { i64, i128 }* %118 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %117, i32 0, i32 1 %119 = load i128, i128* %118 store i128 %119, i128* %result call void @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17hc81c223e6cf6653eE"(%"option::Option"* noalias nocapture sret dereferenceable(24) %_91, i128* noalias readonly dereferenceable(16) %result, i32 %105) br label %bb47 bb46: ; preds = %bb44, %bb48 br label %bb41 bb47: ; preds = %bb45 %120 = getelementptr inbounds %"option::Option", %"option::Option"* %_91, i32 0, i32 0 %121 = load i64, i64* %120, !range !8 %122 = trunc i64 %121 to i16 switch i16 %122, label %bb49 [ i16 0, label %bb48 ] bb48: ; preds = %bb47 store i8 2, i8* %_98 %123 = load i8, i8* %_98 %124 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_97, i32 0, i32 0 store i8 %123, i8* %124 %125 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %125 %126 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %127 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %126, i32 0, i32 1 %128 = bitcast %"num::ParseIntError"* %_97 to i8* %129 = bitcast %"num::ParseIntError"* %127 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %129, i8* %128, i16 1, i32 1, i1 false) br label %bb46 bb49: ; preds = %bb47 %130 = bitcast %"option::Option"* %_91 to { i64, i128 }* %131 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %130, i32 0, i32 1 %132 = load i128, i128* %131 store i128 %132, i128* %result br label %bb34 bb50: ; preds = %bb32 %133 = bitcast %"slice::Iter"* %_101 to i8* %134 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %134, i8* %133, i16 4, i32 2, i1 false) br label %bb51 bb51: ; preds = %bb65, %bb50 %135 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %135, i8** %_104 br label %bb52 bb52: ; preds = %bb51 %136 = load i8*, i8** %_104 %137 = icmp ne i8* %136, null %138 = zext i1 %137 to i16 switch i16 %138, label %bb54 [ i16 0, label %bb53 ] bb53: ; preds = %bb52 br label %bb66 bb54: ; preds = %bb52 %139 = load i8*, i8** %_104, !nonnull !1 %140 = load i8, i8* %139 %141 = zext i8 %140 to i32 %142 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_110, i32 %141, i32 %142) br label %bb55 bb55: ; preds = %bb54 %143 = getelementptr inbounds %"option::Option", %"option::Option"* %_110, i32 0, i32 0 %144 = load i32, i32* %143, !range !9 %145 = trunc i32 %144 to i16 switch i16 %145, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 store i8 1, i8* %_118 %146 = load i8, i8* %_118 %147 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_117, i32 0, i32 0 store i8 %146, i8* %147 %148 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %148 %149 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %150 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %149, i32 0, i32 1 %151 = bitcast %"num::ParseIntError"* %_117 to i8* %152 = bitcast %"num::ParseIntError"* %150 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %152, i8* %151, i16 1, i32 1, i1 false) br label %bb58 bb57: ; preds = %bb55 %153 = bitcast %"option::Option"* %_110 to { i32, i32 }* %154 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %153, i32 0, i32 1 %155 = load i32, i32* %154 %156 = load i32, i32* %radix call void @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h7c2cb71c21961c40E"(%"option::Option"* noalias nocapture sret dereferenceable(24) %_120, i128* noalias readonly dereferenceable(16) %result, i32 %156) br label %bb59 bb58: ; preds = %bb56, %bb62 br label %bb42 bb59: ; preds = %bb57 %157 = getelementptr inbounds %"option::Option", %"option::Option"* %_120, i32 0, i32 0 %158 = load i64, i64* %157, !range !8 %159 = trunc i64 %158 to i16 switch i16 %159, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 store i8 3, i8* %_127 %160 = load i8, i8* %_127 %161 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_126, i32 0, i32 0 store i8 %160, i8* %161 %162 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %162 %163 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %164 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %163, i32 0, i32 1 %165 = bitcast %"num::ParseIntError"* %_126 to i8* %166 = bitcast %"num::ParseIntError"* %164 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %166, i8* %165, i16 1, i32 1, i1 false) br label %bb62 bb61: ; preds = %bb59 %167 = bitcast %"option::Option"* %_120 to { i64, i128 }* %168 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %167, i32 0, i32 1 %169 = load i128, i128* %168 store i128 %169, i128* %result call void @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17hdc32ebc686ef9c35E"(%"option::Option"* noalias nocapture sret dereferenceable(24) %_129, i128* noalias readonly dereferenceable(16) %result, i32 %155) br label %bb63 bb62: ; preds = %bb60, %bb64 br label %bb58 bb63: ; preds = %bb61 %170 = getelementptr inbounds %"option::Option", %"option::Option"* %_129, i32 0, i32 0 %171 = load i64, i64* %170, !range !8 %172 = trunc i64 %171 to i16 switch i16 %172, label %bb65 [ i16 0, label %bb64 ] bb64: ; preds = %bb63 store i8 3, i8* %_136 %173 = load i8, i8* %_136 %174 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_135, i32 0, i32 0 store i8 %173, i8* %174 %175 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %175 %176 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %177 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %176, i32 0, i32 1 %178 = bitcast %"num::ParseIntError"* %_135 to i8* %179 = bitcast %"num::ParseIntError"* %177 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %179, i8* %178, i16 1, i32 1, i1 false) br label %bb62 bb65: ; preds = %bb63 %180 = bitcast %"option::Option"* %_129 to { i64, i128 }* %181 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %180, i32 0, i32 1 %182 = load i128, i128* %181 store i128 %182, i128* %result br label %bb51 bb66: ; preds = %bb53, %bb36 %183 = load i128, i128* %result %184 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %184 %185 = bitcast %"result::Result"* %0 to { i8, i128 }* %186 = getelementptr inbounds { i8, i128 }, { i8, i128 }* %185, i32 0, i32 1 store i128 %183, i128* %186 br label %bb12 panic: ; preds = %bb17 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5O, i16 0, i16 %37) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num14from_str_radix17h83db9f8807bf0297E(%"result::Result"* noalias nocapture sret dereferenceable(8), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"fmt::ArgumentV1" %_136 = alloca i8 %_135 = alloca %"num::ParseIntError" %_129 = alloca %"option::Option" %_127 = alloca i8 %_126 = alloca %"num::ParseIntError" %_120 = alloca %"option::Option" %_118 = alloca i8 %_117 = alloca %"num::ParseIntError" %_110 = alloca %"option::Option" %_104 = alloca i8* %iter2 = alloca %"slice::Iter" %_101 = alloca %"slice::Iter" %_result1 = alloca {} %_98 = alloca i8 %_97 = alloca %"num::ParseIntError" %_91 = alloca %"option::Option" %_89 = alloca i8 %_88 = alloca %"num::ParseIntError" %_82 = alloca %"option::Option" %_80 = alloca i8 %_79 = alloca %"num::ParseIntError" %_72 = alloca %"option::Option" %_66 = alloca i8* %iter = alloca %"slice::Iter" %_63 = alloca %"slice::Iter" %_result = alloca {} %_60 = alloca {} %result = alloca i32 %_58 = alloca i8 %_57 = alloca %"num::ParseIntError" %_54 = alloca {} %_52 = alloca %"ops::RangeFrom" %_48 = alloca %"ops::RangeFrom" %_41 = alloca { i8, { i8*, i16 } } %_36 = alloca i32 %_34 = alloca i32 %_31 = alloca {} %_30 = alloca i8 %_29 = alloca %"num::ParseIntError" %_26 = alloca {} %_18 = alloca { i32* } %_17 = alloca [1 x %"fmt::ArgumentV1"] %_12 = alloca %"fmt::Arguments" %_7 = alloca i8 %_5 = alloca {} %radix = alloca i32 br label %start start: ; preds = %entry-block store i32 %3, i32* %radix %4 = load i32, i32* %radix %5 = icmp uge i32 %4, 2 br i1 %5, label %bb3, label %bb2 bb1: ; preds = %bb3 store i8 1, i8* %_7 br label %bb4 bb2: ; preds = %bb3, %start store i8 0, i8* %_7 br label %bb4 bb3: ; preds = %start %6 = load i32, i32* %radix %7 = icmp ule i32 %6, 36 br i1 %7, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 %10 = xor i1 %9, true br i1 %10, label %bb5, label %bb6 bb5: ; preds = %bb4 %11 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 0), !nonnull !1 %12 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 1) %13 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 store i32* %radix, i32** %13 %14 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 %15 = load i32*, i32** %14, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %15, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE") %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %17 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %18 = load %"fmt::Void"*, %"fmt::Void"** %16, !nonnull !1 %19 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %17, !nonnull !1 br label %bb7 bb6: ; preds = %bb4 %20 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb9 bb7: ; preds = %bb5 %21 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 0 store %"fmt::Void"* %18, %"fmt::Void"** %22 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %19, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %23 %24 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_12, %str_slice* noalias nonnull readonly %11, i16 %12, %"fmt::ArgumentV1"* noalias nonnull readonly %24, i16 1) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_12, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E) unreachable bb9: ; preds = %bb6 br i1 %20, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8 0, i8* %_30 %25 = load i8, i8* %_30 %26 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_29, i32 0, i32 0 store i8 %25, i8* %26 %27 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %27 %28 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %29 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %28, i32 0, i32 1 %30 = bitcast %"num::ParseIntError"* %_29 to i8* %31 = bitcast %"num::ParseIntError"* %29 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 1, i32 1, i1 false) br label %bb13 bb11: ; preds = %bb9 %32 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h075e87f5e401ddd5E"(i32 0) store i32 %32, i32* %_34 br label %bb14 bb12: ; preds = %bb66, %bb13 ret void bb13: ; preds = %bb29, %bb10 br label %bb12 bb14: ; preds = %bb11 %33 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h8e5eb5b55a8f1814E"() store i32 %33, i32* %_36 br label %bb15 bb15: ; preds = %bb14 %34 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$i32$GT$2gt17he5b375cd9f616febE"(i32* noalias readonly dereferenceable(4) %_34, i32* noalias readonly dereferenceable(4) %_36) br label %bb16 bb16: ; preds = %bb15 %35 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %36 = extractvalue { i8*, i16 } %35, 0 %37 = extractvalue { i8*, i16 } %35, 1 br label %bb17 bb17: ; preds = %bb16 %38 = icmp ult i16 0, %37 %39 = call i1 @llvm.expect.i1(i1 %38, i1 true) br i1 %39, label %bb18, label %panic bb18: ; preds = %bb17 %40 = getelementptr inbounds i8, i8* %36, i16 0 %41 = load i8, i8* %40 switch i8 %41, label %bb21 [ i8 43, label %bb19 i8 45, label %bb22 ] bb19: ; preds = %bb18 %42 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_48, i32 0, i32 0 store i16 1, i16* %42 %43 = bitcast %"ops::RangeFrom"* %_48 to i16* %44 = load i16, i16* %43, align 2 %45 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %44) %46 = extractvalue { i8*, i16 } %45, 0 %47 = extractvalue { i8*, i16 } %45, 1 br label %bb24 bb20: ; preds = %bb22 %48 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_52, i32 0, i32 0 store i16 1, i16* %48 %49 = bitcast %"ops::RangeFrom"* %_52 to i16* %50 = load i16, i16* %49, align 2 %51 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %50) %52 = extractvalue { i8*, i16 } %51, 0 %53 = extractvalue { i8*, i16 } %51, 1 br label %bb25 bb21: ; preds = %bb22, %bb18 %54 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %54 %55 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %56 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 0 store i8* %36, i8** %56 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 1 store i16 %37, i16* %57 br label %bb23 bb22: ; preds = %bb18 br i1 %34, label %bb20, label %bb21 bb23: ; preds = %bb24, %bb21, %bb25 %58 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 %59 = load i8, i8* %58, !range !2 %60 = trunc i8 %59 to i1 %61 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 %63 = load i8*, i8** %62, !nonnull !1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 %65 = load i16, i16* %64 %66 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %63, i16 %65) br label %bb26 bb24: ; preds = %bb19 %67 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %67 %68 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 0 store i8* %46, i8** %69 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 1 store i16 %47, i16* %70 br label %bb23 bb25: ; preds = %bb20 %71 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 0, i8* %71 %72 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 0 store i8* %52, i8** %73 %74 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 1 store i16 %53, i16* %74 br label %bb23 bb26: ; preds = %bb23 br i1 %66, label %bb27, label %bb28 bb27: ; preds = %bb26 store i8 0, i8* %_58 %75 = load i8, i8* %_58 %76 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_57, i32 0, i32 0 store i8 %75, i8* %76 %77 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %77 %78 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %79 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %78, i32 0, i32 1 %80 = bitcast %"num::ParseIntError"* %_57 to i8* %81 = bitcast %"num::ParseIntError"* %79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %81, i8* %80, i16 1, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb26 %82 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h075e87f5e401ddd5E"(i32 0) store i32 %82, i32* %result br label %bb30 bb29: ; preds = %bb42, %bb27 br label %bb13 bb30: ; preds = %bb28 br i1 %60, label %bb31, label %bb32 bb31: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_63, i8* noalias nonnull readonly %63, i16 %65) br label %bb33 bb32: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_101, i8* noalias nonnull readonly %63, i16 %65) br label %bb50 bb33: ; preds = %bb31 %83 = bitcast %"slice::Iter"* %_63 to i8* %84 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %84, i8* %83, i16 4, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb49, %bb33 %85 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %85, i8** %_66 br label %bb35 bb35: ; preds = %bb34 %86 = load i8*, i8** %_66 %87 = icmp ne i8* %86, null %88 = zext i1 %87 to i16 switch i16 %88, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb66 bb37: ; preds = %bb35 %89 = load i8*, i8** %_66, !nonnull !1 %90 = load i8, i8* %89 %91 = zext i8 %90 to i32 %92 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_72, i32 %91, i32 %92) br label %bb38 bb38: ; preds = %bb37 %93 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %94 = load i32, i32* %93, !range !9 %95 = trunc i32 %94 to i16 switch i16 %95, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 1, i8* %_80 %96 = load i8, i8* %_80 %97 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_79, i32 0, i32 0 store i8 %96, i8* %97 %98 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %98 %99 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %100 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %99, i32 0, i32 1 %101 = bitcast %"num::ParseIntError"* %_79 to i8* %102 = bitcast %"num::ParseIntError"* %100 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %102, i8* %101, i16 1, i32 1, i1 false) br label %bb41 bb40: ; preds = %bb38 %103 = bitcast %"option::Option"* %_72 to { i32, i32 }* %104 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %103, i32 0, i32 1 %105 = load i32, i32* %104 %106 = load i32, i32* %radix call void @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17hb6b3306c4fee3ff9E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_82, i32* noalias readonly dereferenceable(4) %result, i32 %106) br label %bb43 bb41: ; preds = %bb39, %bb46 br label %bb42 bb42: ; preds = %bb58, %bb41 br label %bb29 bb43: ; preds = %bb40 %107 = getelementptr inbounds %"option::Option", %"option::Option"* %_82, i32 0, i32 0 %108 = load i32, i32* %107, !range !9 %109 = trunc i32 %108 to i16 switch i16 %109, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 store i8 2, i8* %_89 %110 = load i8, i8* %_89 %111 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_88, i32 0, i32 0 store i8 %110, i8* %111 %112 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %112 %113 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %114 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %113, i32 0, i32 1 %115 = bitcast %"num::ParseIntError"* %_88 to i8* %116 = bitcast %"num::ParseIntError"* %114 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %116, i8* %115, i16 1, i32 1, i1 false) br label %bb46 bb45: ; preds = %bb43 %117 = bitcast %"option::Option"* %_82 to { i32, i32 }* %118 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %117, i32 0, i32 1 %119 = load i32, i32* %118 store i32 %119, i32* %result call void @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17he6ac513812d2081eE"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_91, i32* noalias readonly dereferenceable(4) %result, i32 %105) br label %bb47 bb46: ; preds = %bb44, %bb48 br label %bb41 bb47: ; preds = %bb45 %120 = getelementptr inbounds %"option::Option", %"option::Option"* %_91, i32 0, i32 0 %121 = load i32, i32* %120, !range !9 %122 = trunc i32 %121 to i16 switch i16 %122, label %bb49 [ i16 0, label %bb48 ] bb48: ; preds = %bb47 store i8 2, i8* %_98 %123 = load i8, i8* %_98 %124 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_97, i32 0, i32 0 store i8 %123, i8* %124 %125 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %125 %126 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %127 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %126, i32 0, i32 1 %128 = bitcast %"num::ParseIntError"* %_97 to i8* %129 = bitcast %"num::ParseIntError"* %127 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %129, i8* %128, i16 1, i32 1, i1 false) br label %bb46 bb49: ; preds = %bb47 %130 = bitcast %"option::Option"* %_91 to { i32, i32 }* %131 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %130, i32 0, i32 1 %132 = load i32, i32* %131 store i32 %132, i32* %result br label %bb34 bb50: ; preds = %bb32 %133 = bitcast %"slice::Iter"* %_101 to i8* %134 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %134, i8* %133, i16 4, i32 2, i1 false) br label %bb51 bb51: ; preds = %bb65, %bb50 %135 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %135, i8** %_104 br label %bb52 bb52: ; preds = %bb51 %136 = load i8*, i8** %_104 %137 = icmp ne i8* %136, null %138 = zext i1 %137 to i16 switch i16 %138, label %bb54 [ i16 0, label %bb53 ] bb53: ; preds = %bb52 br label %bb66 bb54: ; preds = %bb52 %139 = load i8*, i8** %_104, !nonnull !1 %140 = load i8, i8* %139 %141 = zext i8 %140 to i32 %142 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_110, i32 %141, i32 %142) br label %bb55 bb55: ; preds = %bb54 %143 = getelementptr inbounds %"option::Option", %"option::Option"* %_110, i32 0, i32 0 %144 = load i32, i32* %143, !range !9 %145 = trunc i32 %144 to i16 switch i16 %145, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 store i8 1, i8* %_118 %146 = load i8, i8* %_118 %147 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_117, i32 0, i32 0 store i8 %146, i8* %147 %148 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %148 %149 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %150 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %149, i32 0, i32 1 %151 = bitcast %"num::ParseIntError"* %_117 to i8* %152 = bitcast %"num::ParseIntError"* %150 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %152, i8* %151, i16 1, i32 1, i1 false) br label %bb58 bb57: ; preds = %bb55 %153 = bitcast %"option::Option"* %_110 to { i32, i32 }* %154 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %153, i32 0, i32 1 %155 = load i32, i32* %154 %156 = load i32, i32* %radix call void @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17hb6b3306c4fee3ff9E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_120, i32* noalias readonly dereferenceable(4) %result, i32 %156) br label %bb59 bb58: ; preds = %bb56, %bb62 br label %bb42 bb59: ; preds = %bb57 %157 = getelementptr inbounds %"option::Option", %"option::Option"* %_120, i32 0, i32 0 %158 = load i32, i32* %157, !range !9 %159 = trunc i32 %158 to i16 switch i16 %159, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 store i8 3, i8* %_127 %160 = load i8, i8* %_127 %161 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_126, i32 0, i32 0 store i8 %160, i8* %161 %162 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %162 %163 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %164 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %163, i32 0, i32 1 %165 = bitcast %"num::ParseIntError"* %_126 to i8* %166 = bitcast %"num::ParseIntError"* %164 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %166, i8* %165, i16 1, i32 1, i1 false) br label %bb62 bb61: ; preds = %bb59 %167 = bitcast %"option::Option"* %_120 to { i32, i32 }* %168 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %167, i32 0, i32 1 %169 = load i32, i32* %168 store i32 %169, i32* %result call void @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17hde9c8d993080df30E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_129, i32* noalias readonly dereferenceable(4) %result, i32 %155) br label %bb63 bb62: ; preds = %bb60, %bb64 br label %bb58 bb63: ; preds = %bb61 %170 = getelementptr inbounds %"option::Option", %"option::Option"* %_129, i32 0, i32 0 %171 = load i32, i32* %170, !range !9 %172 = trunc i32 %171 to i16 switch i16 %172, label %bb65 [ i16 0, label %bb64 ] bb64: ; preds = %bb63 store i8 3, i8* %_136 %173 = load i8, i8* %_136 %174 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_135, i32 0, i32 0 store i8 %173, i8* %174 %175 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %175 %176 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %177 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %176, i32 0, i32 1 %178 = bitcast %"num::ParseIntError"* %_135 to i8* %179 = bitcast %"num::ParseIntError"* %177 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %179, i8* %178, i16 1, i32 1, i1 false) br label %bb62 bb65: ; preds = %bb63 %180 = bitcast %"option::Option"* %_129 to { i32, i32 }* %181 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %180, i32 0, i32 1 %182 = load i32, i32* %181 store i32 %182, i32* %result br label %bb51 bb66: ; preds = %bb53, %bb36 %183 = load i32, i32* %result %184 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %184 %185 = bitcast %"result::Result"* %0 to { i8, i32 }* %186 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %185, i32 0, i32 1 store i32 %183, i32* %186 br label %bb12 panic: ; preds = %bb17 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5O, i16 0, i16 %37) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num14from_str_radix17h86756a330ce5c57fE(%"result::Result"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"fmt::ArgumentV1" %_136 = alloca i8 %_135 = alloca %"num::ParseIntError" %_129 = alloca %"option::Option" %_127 = alloca i8 %_126 = alloca %"num::ParseIntError" %_120 = alloca %"option::Option" %_118 = alloca i8 %_117 = alloca %"num::ParseIntError" %_110 = alloca %"option::Option" %_104 = alloca i8* %iter2 = alloca %"slice::Iter" %_101 = alloca %"slice::Iter" %_result1 = alloca {} %_98 = alloca i8 %_97 = alloca %"num::ParseIntError" %_91 = alloca %"option::Option" %_89 = alloca i8 %_88 = alloca %"num::ParseIntError" %_82 = alloca %"option::Option" %_80 = alloca i8 %_79 = alloca %"num::ParseIntError" %_72 = alloca %"option::Option" %_66 = alloca i8* %iter = alloca %"slice::Iter" %_63 = alloca %"slice::Iter" %_result = alloca {} %_60 = alloca {} %result = alloca i64 %_58 = alloca i8 %_57 = alloca %"num::ParseIntError" %_54 = alloca {} %_52 = alloca %"ops::RangeFrom" %_48 = alloca %"ops::RangeFrom" %_41 = alloca { i8, { i8*, i16 } } %_36 = alloca i64 %_34 = alloca i64 %_31 = alloca {} %_30 = alloca i8 %_29 = alloca %"num::ParseIntError" %_26 = alloca {} %_18 = alloca { i32* } %_17 = alloca [1 x %"fmt::ArgumentV1"] %_12 = alloca %"fmt::Arguments" %_7 = alloca i8 %_5 = alloca {} %radix = alloca i32 br label %start start: ; preds = %entry-block store i32 %3, i32* %radix %4 = load i32, i32* %radix %5 = icmp uge i32 %4, 2 br i1 %5, label %bb3, label %bb2 bb1: ; preds = %bb3 store i8 1, i8* %_7 br label %bb4 bb2: ; preds = %bb3, %start store i8 0, i8* %_7 br label %bb4 bb3: ; preds = %start %6 = load i32, i32* %radix %7 = icmp ule i32 %6, 36 br i1 %7, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 %10 = xor i1 %9, true br i1 %10, label %bb5, label %bb6 bb5: ; preds = %bb4 %11 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 0), !nonnull !1 %12 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 1) %13 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 store i32* %radix, i32** %13 %14 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 %15 = load i32*, i32** %14, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %15, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE") %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %17 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %18 = load %"fmt::Void"*, %"fmt::Void"** %16, !nonnull !1 %19 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %17, !nonnull !1 br label %bb7 bb6: ; preds = %bb4 %20 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb9 bb7: ; preds = %bb5 %21 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 0 store %"fmt::Void"* %18, %"fmt::Void"** %22 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %19, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %23 %24 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_12, %str_slice* noalias nonnull readonly %11, i16 %12, %"fmt::ArgumentV1"* noalias nonnull readonly %24, i16 1) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_12, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E) unreachable bb9: ; preds = %bb6 br i1 %20, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8 0, i8* %_30 %25 = load i8, i8* %_30 %26 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_29, i32 0, i32 0 store i8 %25, i8* %26 %27 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %27 %28 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %29 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %28, i32 0, i32 1 %30 = bitcast %"num::ParseIntError"* %_29 to i8* %31 = bitcast %"num::ParseIntError"* %29 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 1, i32 1, i1 false) br label %bb13 bb11: ; preds = %bb9 %32 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h213242c224a819e6E"(i32 0) store i64 %32, i64* %_34 br label %bb14 bb12: ; preds = %bb66, %bb13 ret void bb13: ; preds = %bb29, %bb10 br label %bb12 bb14: ; preds = %bb11 %33 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h5f6ff5acfd7a5c9bE"() store i64 %33, i64* %_36 br label %bb15 bb15: ; preds = %bb14 %34 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u64$GT$2gt17hd2d967317411b99cE"(i64* noalias readonly dereferenceable(8) %_34, i64* noalias readonly dereferenceable(8) %_36) br label %bb16 bb16: ; preds = %bb15 %35 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %36 = extractvalue { i8*, i16 } %35, 0 %37 = extractvalue { i8*, i16 } %35, 1 br label %bb17 bb17: ; preds = %bb16 %38 = icmp ult i16 0, %37 %39 = call i1 @llvm.expect.i1(i1 %38, i1 true) br i1 %39, label %bb18, label %panic bb18: ; preds = %bb17 %40 = getelementptr inbounds i8, i8* %36, i16 0 %41 = load i8, i8* %40 switch i8 %41, label %bb21 [ i8 43, label %bb19 i8 45, label %bb22 ] bb19: ; preds = %bb18 %42 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_48, i32 0, i32 0 store i16 1, i16* %42 %43 = bitcast %"ops::RangeFrom"* %_48 to i16* %44 = load i16, i16* %43, align 2 %45 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %44) %46 = extractvalue { i8*, i16 } %45, 0 %47 = extractvalue { i8*, i16 } %45, 1 br label %bb24 bb20: ; preds = %bb22 %48 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_52, i32 0, i32 0 store i16 1, i16* %48 %49 = bitcast %"ops::RangeFrom"* %_52 to i16* %50 = load i16, i16* %49, align 2 %51 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %50) %52 = extractvalue { i8*, i16 } %51, 0 %53 = extractvalue { i8*, i16 } %51, 1 br label %bb25 bb21: ; preds = %bb22, %bb18 %54 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %54 %55 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %56 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 0 store i8* %36, i8** %56 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 1 store i16 %37, i16* %57 br label %bb23 bb22: ; preds = %bb18 br i1 %34, label %bb20, label %bb21 bb23: ; preds = %bb24, %bb21, %bb25 %58 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 %59 = load i8, i8* %58, !range !2 %60 = trunc i8 %59 to i1 %61 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 %63 = load i8*, i8** %62, !nonnull !1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 %65 = load i16, i16* %64 %66 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %63, i16 %65) br label %bb26 bb24: ; preds = %bb19 %67 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %67 %68 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 0 store i8* %46, i8** %69 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 1 store i16 %47, i16* %70 br label %bb23 bb25: ; preds = %bb20 %71 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 0, i8* %71 %72 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 0 store i8* %52, i8** %73 %74 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 1 store i16 %53, i16* %74 br label %bb23 bb26: ; preds = %bb23 br i1 %66, label %bb27, label %bb28 bb27: ; preds = %bb26 store i8 0, i8* %_58 %75 = load i8, i8* %_58 %76 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_57, i32 0, i32 0 store i8 %75, i8* %76 %77 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %77 %78 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %79 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %78, i32 0, i32 1 %80 = bitcast %"num::ParseIntError"* %_57 to i8* %81 = bitcast %"num::ParseIntError"* %79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %81, i8* %80, i16 1, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb26 %82 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h213242c224a819e6E"(i32 0) store i64 %82, i64* %result br label %bb30 bb29: ; preds = %bb42, %bb27 br label %bb13 bb30: ; preds = %bb28 br i1 %60, label %bb31, label %bb32 bb31: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_63, i8* noalias nonnull readonly %63, i16 %65) br label %bb33 bb32: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_101, i8* noalias nonnull readonly %63, i16 %65) br label %bb50 bb33: ; preds = %bb31 %83 = bitcast %"slice::Iter"* %_63 to i8* %84 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %84, i8* %83, i16 4, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb49, %bb33 %85 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %85, i8** %_66 br label %bb35 bb35: ; preds = %bb34 %86 = load i8*, i8** %_66 %87 = icmp ne i8* %86, null %88 = zext i1 %87 to i16 switch i16 %88, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb66 bb37: ; preds = %bb35 %89 = load i8*, i8** %_66, !nonnull !1 %90 = load i8, i8* %89 %91 = zext i8 %90 to i32 %92 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_72, i32 %91, i32 %92) br label %bb38 bb38: ; preds = %bb37 %93 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %94 = load i32, i32* %93, !range !9 %95 = trunc i32 %94 to i16 switch i16 %95, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 1, i8* %_80 %96 = load i8, i8* %_80 %97 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_79, i32 0, i32 0 store i8 %96, i8* %97 %98 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %98 %99 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %100 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %99, i32 0, i32 1 %101 = bitcast %"num::ParseIntError"* %_79 to i8* %102 = bitcast %"num::ParseIntError"* %100 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %102, i8* %101, i16 1, i32 1, i1 false) br label %bb41 bb40: ; preds = %bb38 %103 = bitcast %"option::Option"* %_72 to { i32, i32 }* %104 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %103, i32 0, i32 1 %105 = load i32, i32* %104 %106 = load i32, i32* %radix call void @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h107fd716f6f2102aE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_82, i64* noalias readonly dereferenceable(8) %result, i32 %106) br label %bb43 bb41: ; preds = %bb39, %bb46 br label %bb42 bb42: ; preds = %bb58, %bb41 br label %bb29 bb43: ; preds = %bb40 %107 = getelementptr inbounds %"option::Option", %"option::Option"* %_82, i32 0, i32 0 %108 = load i64, i64* %107, !range !8 %109 = trunc i64 %108 to i16 switch i16 %109, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 store i8 2, i8* %_89 %110 = load i8, i8* %_89 %111 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_88, i32 0, i32 0 store i8 %110, i8* %111 %112 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %112 %113 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %114 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %113, i32 0, i32 1 %115 = bitcast %"num::ParseIntError"* %_88 to i8* %116 = bitcast %"num::ParseIntError"* %114 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %116, i8* %115, i16 1, i32 1, i1 false) br label %bb46 bb45: ; preds = %bb43 %117 = bitcast %"option::Option"* %_82 to { i64, i64 }* %118 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %117, i32 0, i32 1 %119 = load i64, i64* %118 store i64 %119, i64* %result call void @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17hba50fcceb30a7711E"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_91, i64* noalias readonly dereferenceable(8) %result, i32 %105) br label %bb47 bb46: ; preds = %bb44, %bb48 br label %bb41 bb47: ; preds = %bb45 %120 = getelementptr inbounds %"option::Option", %"option::Option"* %_91, i32 0, i32 0 %121 = load i64, i64* %120, !range !8 %122 = trunc i64 %121 to i16 switch i16 %122, label %bb49 [ i16 0, label %bb48 ] bb48: ; preds = %bb47 store i8 2, i8* %_98 %123 = load i8, i8* %_98 %124 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_97, i32 0, i32 0 store i8 %123, i8* %124 %125 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %125 %126 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %127 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %126, i32 0, i32 1 %128 = bitcast %"num::ParseIntError"* %_97 to i8* %129 = bitcast %"num::ParseIntError"* %127 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %129, i8* %128, i16 1, i32 1, i1 false) br label %bb46 bb49: ; preds = %bb47 %130 = bitcast %"option::Option"* %_91 to { i64, i64 }* %131 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %130, i32 0, i32 1 %132 = load i64, i64* %131 store i64 %132, i64* %result br label %bb34 bb50: ; preds = %bb32 %133 = bitcast %"slice::Iter"* %_101 to i8* %134 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %134, i8* %133, i16 4, i32 2, i1 false) br label %bb51 bb51: ; preds = %bb65, %bb50 %135 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %135, i8** %_104 br label %bb52 bb52: ; preds = %bb51 %136 = load i8*, i8** %_104 %137 = icmp ne i8* %136, null %138 = zext i1 %137 to i16 switch i16 %138, label %bb54 [ i16 0, label %bb53 ] bb53: ; preds = %bb52 br label %bb66 bb54: ; preds = %bb52 %139 = load i8*, i8** %_104, !nonnull !1 %140 = load i8, i8* %139 %141 = zext i8 %140 to i32 %142 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_110, i32 %141, i32 %142) br label %bb55 bb55: ; preds = %bb54 %143 = getelementptr inbounds %"option::Option", %"option::Option"* %_110, i32 0, i32 0 %144 = load i32, i32* %143, !range !9 %145 = trunc i32 %144 to i16 switch i16 %145, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 store i8 1, i8* %_118 %146 = load i8, i8* %_118 %147 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_117, i32 0, i32 0 store i8 %146, i8* %147 %148 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %148 %149 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %150 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %149, i32 0, i32 1 %151 = bitcast %"num::ParseIntError"* %_117 to i8* %152 = bitcast %"num::ParseIntError"* %150 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %152, i8* %151, i16 1, i32 1, i1 false) br label %bb58 bb57: ; preds = %bb55 %153 = bitcast %"option::Option"* %_110 to { i32, i32 }* %154 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %153, i32 0, i32 1 %155 = load i32, i32* %154 %156 = load i32, i32* %radix call void @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h107fd716f6f2102aE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_120, i64* noalias readonly dereferenceable(8) %result, i32 %156) br label %bb59 bb58: ; preds = %bb56, %bb62 br label %bb42 bb59: ; preds = %bb57 %157 = getelementptr inbounds %"option::Option", %"option::Option"* %_120, i32 0, i32 0 %158 = load i64, i64* %157, !range !8 %159 = trunc i64 %158 to i16 switch i16 %159, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 store i8 3, i8* %_127 %160 = load i8, i8* %_127 %161 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_126, i32 0, i32 0 store i8 %160, i8* %161 %162 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %162 %163 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %164 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %163, i32 0, i32 1 %165 = bitcast %"num::ParseIntError"* %_126 to i8* %166 = bitcast %"num::ParseIntError"* %164 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %166, i8* %165, i16 1, i32 1, i1 false) br label %bb62 bb61: ; preds = %bb59 %167 = bitcast %"option::Option"* %_120 to { i64, i64 }* %168 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %167, i32 0, i32 1 %169 = load i64, i64* %168 store i64 %169, i64* %result call void @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h983af63d0cc971beE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %_129, i64* noalias readonly dereferenceable(8) %result, i32 %155) br label %bb63 bb62: ; preds = %bb60, %bb64 br label %bb58 bb63: ; preds = %bb61 %170 = getelementptr inbounds %"option::Option", %"option::Option"* %_129, i32 0, i32 0 %171 = load i64, i64* %170, !range !8 %172 = trunc i64 %171 to i16 switch i16 %172, label %bb65 [ i16 0, label %bb64 ] bb64: ; preds = %bb63 store i8 3, i8* %_136 %173 = load i8, i8* %_136 %174 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_135, i32 0, i32 0 store i8 %173, i8* %174 %175 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %175 %176 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %177 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %176, i32 0, i32 1 %178 = bitcast %"num::ParseIntError"* %_135 to i8* %179 = bitcast %"num::ParseIntError"* %177 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %179, i8* %178, i16 1, i32 1, i1 false) br label %bb62 bb65: ; preds = %bb63 %180 = bitcast %"option::Option"* %_129 to { i64, i64 }* %181 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %180, i32 0, i32 1 %182 = load i64, i64* %181 store i64 %182, i64* %result br label %bb51 bb66: ; preds = %bb53, %bb36 %183 = load i64, i64* %result %184 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %184 %185 = bitcast %"result::Result"* %0 to { i8, i64 }* %186 = getelementptr inbounds { i8, i64 }, { i8, i64 }* %185, i32 0, i32 1 store i64 %183, i64* %186 br label %bb12 panic: ; preds = %bb17 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5O, i16 0, i16 %37) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3num14from_str_radix17h9a3369ca01adab7eE(i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %abi_cast5 = alloca i16 %abi_cast4 = alloca i16 %abi_cast3 = alloca i16 %abi_cast = alloca i16 %tmp_ret = alloca %"fmt::ArgumentV1" %_136 = alloca i8 %_135 = alloca %"num::ParseIntError" %_129 = alloca %"option::Option" %_127 = alloca i8 %_126 = alloca %"num::ParseIntError" %_120 = alloca %"option::Option" %_118 = alloca i8 %_117 = alloca %"num::ParseIntError" %_110 = alloca %"option::Option" %_104 = alloca i8* %iter2 = alloca %"slice::Iter" %_101 = alloca %"slice::Iter" %_result1 = alloca {} %_98 = alloca i8 %_97 = alloca %"num::ParseIntError" %_91 = alloca %"option::Option" %_89 = alloca i8 %_88 = alloca %"num::ParseIntError" %_82 = alloca %"option::Option" %_80 = alloca i8 %_79 = alloca %"num::ParseIntError" %_72 = alloca %"option::Option" %_66 = alloca i8* %iter = alloca %"slice::Iter" %_63 = alloca %"slice::Iter" %_result = alloca {} %_60 = alloca {} %result = alloca i8 %_58 = alloca i8 %_57 = alloca %"num::ParseIntError" %_54 = alloca {} %_52 = alloca %"ops::RangeFrom" %_48 = alloca %"ops::RangeFrom" %_41 = alloca { i8, { i8*, i16 } } %_36 = alloca i8 %_34 = alloca i8 %_31 = alloca {} %_30 = alloca i8 %_29 = alloca %"num::ParseIntError" %_26 = alloca {} %_18 = alloca { i32* } %_17 = alloca [1 x %"fmt::ArgumentV1"] %_12 = alloca %"fmt::Arguments" %_7 = alloca i8 %_5 = alloca {} %radix = alloca i32 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block store i32 %2, i32* %radix %3 = load i32, i32* %radix %4 = icmp uge i32 %3, 2 br i1 %4, label %bb3, label %bb2 bb1: ; preds = %bb3 store i8 1, i8* %_7 br label %bb4 bb2: ; preds = %bb3, %start store i8 0, i8* %_7 br label %bb4 bb3: ; preds = %start %5 = load i32, i32* %radix %6 = icmp ule i32 %5, 36 br i1 %6, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %7 = load i8, i8* %_7, !range !2 %8 = trunc i8 %7 to i1 %9 = xor i1 %8, true br i1 %9, label %bb5, label %bb6 bb5: ; preds = %bb4 %10 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 0), !nonnull !1 %11 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 1) %12 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 store i32* %radix, i32** %12 %13 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 %14 = load i32*, i32** %13, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %14, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE") %15 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %17 = load %"fmt::Void"*, %"fmt::Void"** %15, !nonnull !1 %18 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %16, !nonnull !1 br label %bb7 bb6: ; preds = %bb4 %19 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb9 bb7: ; preds = %bb5 %20 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i32 0, i32 0 %21 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %20, i32 0, i32 0 store %"fmt::Void"* %17, %"fmt::Void"** %21 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %20, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %18, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %22 %23 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_12, %str_slice* noalias nonnull readonly %10, i16 %11, %"fmt::ArgumentV1"* noalias nonnull readonly %23, i16 1) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_12, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E) unreachable bb9: ; preds = %bb6 br i1 %19, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8 0, i8* %_30 %24 = load i8, i8* %_30 %25 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_29, i32 0, i32 0 store i8 %24, i8* %25 %26 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %26 %27 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %28 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %27, i32 0, i32 1 %29 = bitcast %"num::ParseIntError"* %_29 to i8* %30 = bitcast %"num::ParseIntError"* %28 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %29, i16 1, i32 1, i1 false) br label %bb13 bb11: ; preds = %bb9 %31 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h3dfed7e80a71c197E"(i32 0) store i8 %31, i8* %_34 br label %bb14 bb12: ; preds = %bb66, %bb13 %32 = bitcast %"result::Result"* %_0 to i16* %33 = load i16, i16* %32, align 1 ret i16 %33 bb13: ; preds = %bb29, %bb10 br label %bb12 bb14: ; preds = %bb11 %34 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h92c89adf322b9265E"() store i8 %34, i8* %_36 br label %bb15 bb15: ; preds = %bb14 %35 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u8$GT$2gt17h2050aab55fae2ffcE"(i8* noalias readonly dereferenceable(1) %_34, i8* noalias readonly dereferenceable(1) %_36) br label %bb16 bb16: ; preds = %bb15 %36 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %0, i16 %1) %37 = extractvalue { i8*, i16 } %36, 0 %38 = extractvalue { i8*, i16 } %36, 1 br label %bb17 bb17: ; preds = %bb16 %39 = icmp ult i16 0, %38 %40 = call i1 @llvm.expect.i1(i1 %39, i1 true) br i1 %40, label %bb18, label %panic bb18: ; preds = %bb17 %41 = getelementptr inbounds i8, i8* %37, i16 0 %42 = load i8, i8* %41 switch i8 %42, label %bb21 [ i8 43, label %bb19 i8 45, label %bb22 ] bb19: ; preds = %bb18 %43 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_48, i32 0, i32 0 store i16 1, i16* %43 %44 = bitcast %"ops::RangeFrom"* %_48 to i16* %45 = load i16, i16* %44, align 2 %46 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %37, i16 %38, i16 %45) %47 = extractvalue { i8*, i16 } %46, 0 %48 = extractvalue { i8*, i16 } %46, 1 br label %bb24 bb20: ; preds = %bb22 %49 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_52, i32 0, i32 0 store i16 1, i16* %49 %50 = bitcast %"ops::RangeFrom"* %_52 to i16* %51 = load i16, i16* %50, align 2 %52 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %37, i16 %38, i16 %51) %53 = extractvalue { i8*, i16 } %52, 0 %54 = extractvalue { i8*, i16 } %52, 1 br label %bb25 bb21: ; preds = %bb22, %bb18 %55 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %55 %56 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %56, i32 0, i32 0 store i8* %37, i8** %57 %58 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %56, i32 0, i32 1 store i16 %38, i16* %58 br label %bb23 bb22: ; preds = %bb18 br i1 %35, label %bb20, label %bb21 bb23: ; preds = %bb24, %bb21, %bb25 %59 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 %60 = load i8, i8* %59, !range !2 %61 = trunc i8 %60 to i1 %62 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %63 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %62, i32 0, i32 0 %64 = load i8*, i8** %63, !nonnull !1 %65 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %62, i32 0, i32 1 %66 = load i16, i16* %65 %67 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %64, i16 %66) br label %bb26 bb24: ; preds = %bb19 %68 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %68 %69 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %69, i32 0, i32 0 store i8* %47, i8** %70 %71 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %69, i32 0, i32 1 store i16 %48, i16* %71 br label %bb23 bb25: ; preds = %bb20 %72 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 0, i8* %72 %73 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %74 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %73, i32 0, i32 0 store i8* %53, i8** %74 %75 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %73, i32 0, i32 1 store i16 %54, i16* %75 br label %bb23 bb26: ; preds = %bb23 br i1 %67, label %bb27, label %bb28 bb27: ; preds = %bb26 store i8 0, i8* %_58 %76 = load i8, i8* %_58 %77 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_57, i32 0, i32 0 store i8 %76, i8* %77 %78 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %78 %79 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %80 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %79, i32 0, i32 1 %81 = bitcast %"num::ParseIntError"* %_57 to i8* %82 = bitcast %"num::ParseIntError"* %80 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %82, i8* %81, i16 1, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb26 %83 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h3dfed7e80a71c197E"(i32 0) store i8 %83, i8* %result br label %bb30 bb29: ; preds = %bb42, %bb27 br label %bb13 bb30: ; preds = %bb28 br i1 %61, label %bb31, label %bb32 bb31: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_63, i8* noalias nonnull readonly %64, i16 %66) br label %bb33 bb32: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_101, i8* noalias nonnull readonly %64, i16 %66) br label %bb50 bb33: ; preds = %bb31 %84 = bitcast %"slice::Iter"* %_63 to i8* %85 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %85, i8* %84, i16 4, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb49, %bb33 %86 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %86, i8** %_66 br label %bb35 bb35: ; preds = %bb34 %87 = load i8*, i8** %_66 %88 = icmp ne i8* %87, null %89 = zext i1 %88 to i16 switch i16 %89, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb66 bb37: ; preds = %bb35 %90 = load i8*, i8** %_66, !nonnull !1 %91 = load i8, i8* %90 %92 = zext i8 %91 to i32 %93 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_72, i32 %92, i32 %93) br label %bb38 bb38: ; preds = %bb37 %94 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %95 = load i32, i32* %94, !range !9 %96 = trunc i32 %95 to i16 switch i16 %96, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 1, i8* %_80 %97 = load i8, i8* %_80 %98 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_79, i32 0, i32 0 store i8 %97, i8* %98 %99 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %99 %100 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %101 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %100, i32 0, i32 1 %102 = bitcast %"num::ParseIntError"* %_79 to i8* %103 = bitcast %"num::ParseIntError"* %101 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %103, i8* %102, i16 1, i32 1, i1 false) br label %bb41 bb40: ; preds = %bb38 %104 = bitcast %"option::Option"* %_72 to { i32, i32 }* %105 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %104, i32 0, i32 1 %106 = load i32, i32* %105 %107 = load i32, i32* %radix %108 = call i16 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h74154677c8e611e6E"(i8* noalias readonly dereferenceable(1) %result, i32 %107) store i16 %108, i16* %abi_cast %109 = bitcast %"option::Option"* %_82 to i8* %110 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %109, i8* %110, i16 2, i32 1, i1 false) br label %bb43 bb41: ; preds = %bb39, %bb46 br label %bb42 bb42: ; preds = %bb58, %bb41 br label %bb29 bb43: ; preds = %bb40 %111 = getelementptr inbounds %"option::Option", %"option::Option"* %_82, i32 0, i32 0 %112 = load i8, i8* %111, !range !2 %113 = zext i8 %112 to i16 switch i16 %113, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 store i8 2, i8* %_89 %114 = load i8, i8* %_89 %115 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_88, i32 0, i32 0 store i8 %114, i8* %115 %116 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %116 %117 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %118 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %117, i32 0, i32 1 %119 = bitcast %"num::ParseIntError"* %_88 to i8* %120 = bitcast %"num::ParseIntError"* %118 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %119, i16 1, i32 1, i1 false) br label %bb46 bb45: ; preds = %bb43 %121 = bitcast %"option::Option"* %_82 to { i8, i8 }* %122 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %121, i32 0, i32 1 %123 = load i8, i8* %122 store i8 %123, i8* %result %124 = call i16 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17h89310144e26c12b5E"(i8* noalias readonly dereferenceable(1) %result, i32 %106) store i16 %124, i16* %abi_cast3 %125 = bitcast %"option::Option"* %_91 to i8* %126 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %125, i8* %126, i16 2, i32 1, i1 false) br label %bb47 bb46: ; preds = %bb44, %bb48 br label %bb41 bb47: ; preds = %bb45 %127 = getelementptr inbounds %"option::Option", %"option::Option"* %_91, i32 0, i32 0 %128 = load i8, i8* %127, !range !2 %129 = zext i8 %128 to i16 switch i16 %129, label %bb49 [ i16 0, label %bb48 ] bb48: ; preds = %bb47 store i8 2, i8* %_98 %130 = load i8, i8* %_98 %131 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_97, i32 0, i32 0 store i8 %130, i8* %131 %132 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %132 %133 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %134 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %133, i32 0, i32 1 %135 = bitcast %"num::ParseIntError"* %_97 to i8* %136 = bitcast %"num::ParseIntError"* %134 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %136, i8* %135, i16 1, i32 1, i1 false) br label %bb46 bb49: ; preds = %bb47 %137 = bitcast %"option::Option"* %_91 to { i8, i8 }* %138 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %137, i32 0, i32 1 %139 = load i8, i8* %138 store i8 %139, i8* %result br label %bb34 bb50: ; preds = %bb32 %140 = bitcast %"slice::Iter"* %_101 to i8* %141 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %141, i8* %140, i16 4, i32 2, i1 false) br label %bb51 bb51: ; preds = %bb65, %bb50 %142 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %142, i8** %_104 br label %bb52 bb52: ; preds = %bb51 %143 = load i8*, i8** %_104 %144 = icmp ne i8* %143, null %145 = zext i1 %144 to i16 switch i16 %145, label %bb54 [ i16 0, label %bb53 ] bb53: ; preds = %bb52 br label %bb66 bb54: ; preds = %bb52 %146 = load i8*, i8** %_104, !nonnull !1 %147 = load i8, i8* %146 %148 = zext i8 %147 to i32 %149 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_110, i32 %148, i32 %149) br label %bb55 bb55: ; preds = %bb54 %150 = getelementptr inbounds %"option::Option", %"option::Option"* %_110, i32 0, i32 0 %151 = load i32, i32* %150, !range !9 %152 = trunc i32 %151 to i16 switch i16 %152, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 store i8 1, i8* %_118 %153 = load i8, i8* %_118 %154 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_117, i32 0, i32 0 store i8 %153, i8* %154 %155 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %155 %156 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %157 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %156, i32 0, i32 1 %158 = bitcast %"num::ParseIntError"* %_117 to i8* %159 = bitcast %"num::ParseIntError"* %157 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %159, i8* %158, i16 1, i32 1, i1 false) br label %bb58 bb57: ; preds = %bb55 %160 = bitcast %"option::Option"* %_110 to { i32, i32 }* %161 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %160, i32 0, i32 1 %162 = load i32, i32* %161 %163 = load i32, i32* %radix %164 = call i16 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h74154677c8e611e6E"(i8* noalias readonly dereferenceable(1) %result, i32 %163) store i16 %164, i16* %abi_cast4 %165 = bitcast %"option::Option"* %_120 to i8* %166 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %165, i8* %166, i16 2, i32 1, i1 false) br label %bb59 bb58: ; preds = %bb56, %bb62 br label %bb42 bb59: ; preds = %bb57 %167 = getelementptr inbounds %"option::Option", %"option::Option"* %_120, i32 0, i32 0 %168 = load i8, i8* %167, !range !2 %169 = zext i8 %168 to i16 switch i16 %169, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 store i8 3, i8* %_127 %170 = load i8, i8* %_127 %171 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_126, i32 0, i32 0 store i8 %170, i8* %171 %172 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %172 %173 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %174 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %173, i32 0, i32 1 %175 = bitcast %"num::ParseIntError"* %_126 to i8* %176 = bitcast %"num::ParseIntError"* %174 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %176, i8* %175, i16 1, i32 1, i1 false) br label %bb62 bb61: ; preds = %bb59 %177 = bitcast %"option::Option"* %_120 to { i8, i8 }* %178 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %177, i32 0, i32 1 %179 = load i8, i8* %178 store i8 %179, i8* %result %180 = call i16 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17hcb3f21da9b01ba43E"(i8* noalias readonly dereferenceable(1) %result, i32 %162) store i16 %180, i16* %abi_cast5 %181 = bitcast %"option::Option"* %_129 to i8* %182 = bitcast i16* %abi_cast5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %181, i8* %182, i16 2, i32 1, i1 false) br label %bb63 bb62: ; preds = %bb60, %bb64 br label %bb58 bb63: ; preds = %bb61 %183 = getelementptr inbounds %"option::Option", %"option::Option"* %_129, i32 0, i32 0 %184 = load i8, i8* %183, !range !2 %185 = zext i8 %184 to i16 switch i16 %185, label %bb65 [ i16 0, label %bb64 ] bb64: ; preds = %bb63 store i8 3, i8* %_136 %186 = load i8, i8* %_136 %187 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_135, i32 0, i32 0 store i8 %186, i8* %187 %188 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %188 %189 = bitcast %"result::Result"* %_0 to { i8, %"num::ParseIntError" }* %190 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %189, i32 0, i32 1 %191 = bitcast %"num::ParseIntError"* %_135 to i8* %192 = bitcast %"num::ParseIntError"* %190 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %192, i8* %191, i16 1, i32 1, i1 false) br label %bb62 bb65: ; preds = %bb63 %193 = bitcast %"option::Option"* %_129 to { i8, i8 }* %194 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %193, i32 0, i32 1 %195 = load i8, i8* %194 store i8 %195, i8* %result br label %bb51 bb66: ; preds = %bb53, %bb36 %196 = load i8, i8* %result %197 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %197 %198 = bitcast %"result::Result"* %_0 to { i8, i8 }* %199 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %198, i32 0, i32 1 store i8 %196, i8* %199 br label %bb12 panic: ; preds = %bb17 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5O, i16 0, i16 %38) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3num14from_str_radix17ha10e01bb6c540986E(%"result::Result"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %tmp_ret = alloca %"fmt::ArgumentV1" %_136 = alloca i8 %_135 = alloca %"num::ParseIntError" %_129 = alloca %"option::Option" %_127 = alloca i8 %_126 = alloca %"num::ParseIntError" %_120 = alloca %"option::Option" %_118 = alloca i8 %_117 = alloca %"num::ParseIntError" %_110 = alloca %"option::Option" %_104 = alloca i8* %iter2 = alloca %"slice::Iter" %_101 = alloca %"slice::Iter" %_result1 = alloca {} %_98 = alloca i8 %_97 = alloca %"num::ParseIntError" %_91 = alloca %"option::Option" %_89 = alloca i8 %_88 = alloca %"num::ParseIntError" %_82 = alloca %"option::Option" %_80 = alloca i8 %_79 = alloca %"num::ParseIntError" %_72 = alloca %"option::Option" %_66 = alloca i8* %iter = alloca %"slice::Iter" %_63 = alloca %"slice::Iter" %_result = alloca {} %_60 = alloca {} %result = alloca i16 %_58 = alloca i8 %_57 = alloca %"num::ParseIntError" %_54 = alloca {} %_52 = alloca %"ops::RangeFrom" %_48 = alloca %"ops::RangeFrom" %_41 = alloca { i8, { i8*, i16 } } %_36 = alloca i16 %_34 = alloca i16 %_31 = alloca {} %_30 = alloca i8 %_29 = alloca %"num::ParseIntError" %_26 = alloca {} %_18 = alloca { i32* } %_17 = alloca [1 x %"fmt::ArgumentV1"] %_12 = alloca %"fmt::Arguments" %_7 = alloca i8 %_5 = alloca {} %radix = alloca i32 br label %start start: ; preds = %entry-block store i32 %3, i32* %radix %4 = load i32, i32* %radix %5 = icmp uge i32 %4, 2 br i1 %5, label %bb3, label %bb2 bb1: ; preds = %bb3 store i8 1, i8* %_7 br label %bb4 bb2: ; preds = %bb3, %start store i8 0, i8* %_7 br label %bb4 bb3: ; preds = %start %6 = load i32, i32* %radix %7 = icmp ule i32 %6, 36 br i1 %7, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 %10 = xor i1 %9, true br i1 %10, label %bb5, label %bb6 bb5: ; preds = %bb4 %11 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 0), !nonnull !1 %12 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3num14from_str_radix15__STATIC_FMTSTR17h92663267d985685bE, i32 0, i32 1) %13 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 store i32* %radix, i32** %13 %14 = getelementptr inbounds { i32* }, { i32* }* %_18, i32 0, i32 0 %15 = load i32*, i32** %14, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %15, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE") %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %17 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %18 = load %"fmt::Void"*, %"fmt::Void"** %16, !nonnull !1 %19 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %17, !nonnull !1 br label %bb7 bb6: ; preds = %bb4 %20 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb9 bb7: ; preds = %bb5 %21 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 0 store %"fmt::Void"* %18, %"fmt::Void"** %22 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %19, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %23 %24 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_12, %str_slice* noalias nonnull readonly %11, i16 %12, %"fmt::ArgumentV1"* noalias nonnull readonly %24, i16 1) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_12, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3num14from_str_radix10_FILE_LINE17hdcac211cabde45d5E) unreachable bb9: ; preds = %bb6 br i1 %20, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8 0, i8* %_30 %25 = load i8, i8* %_30 %26 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_29, i32 0, i32 0 store i8 %25, i8* %26 %27 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %27 %28 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %29 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %28, i32 0, i32 1 %30 = bitcast %"num::ParseIntError"* %_29 to i8* %31 = bitcast %"num::ParseIntError"* %29 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 1, i32 1, i1 false) br label %bb13 bb11: ; preds = %bb9 %32 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h0206f1cb8ec6f228E"(i32 0) store i16 %32, i16* %_34 br label %bb14 bb12: ; preds = %bb66, %bb13 ret void bb13: ; preds = %bb29, %bb10 br label %bb12 bb14: ; preds = %bb11 %33 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h42fa1fc2a9c42b0aE"() store i16 %33, i16* %_36 br label %bb15 bb15: ; preds = %bb14 %34 = call zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$isize$GT$2gt17h274d4a09c15ee7a7E"(i16* noalias readonly dereferenceable(2) %_34, i16* noalias readonly dereferenceable(2) %_36) br label %bb16 bb16: ; preds = %bb15 %35 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %36 = extractvalue { i8*, i16 } %35, 0 %37 = extractvalue { i8*, i16 } %35, 1 br label %bb17 bb17: ; preds = %bb16 %38 = icmp ult i16 0, %37 %39 = call i1 @llvm.expect.i1(i1 %38, i1 true) br i1 %39, label %bb18, label %panic bb18: ; preds = %bb17 %40 = getelementptr inbounds i8, i8* %36, i16 0 %41 = load i8, i8* %40 switch i8 %41, label %bb21 [ i8 43, label %bb19 i8 45, label %bb22 ] bb19: ; preds = %bb18 %42 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_48, i32 0, i32 0 store i16 1, i16* %42 %43 = bitcast %"ops::RangeFrom"* %_48 to i16* %44 = load i16, i16* %43, align 2 %45 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %44) %46 = extractvalue { i8*, i16 } %45, 0 %47 = extractvalue { i8*, i16 } %45, 1 br label %bb24 bb20: ; preds = %bb22 %48 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_52, i32 0, i32 0 store i16 1, i16* %48 %49 = bitcast %"ops::RangeFrom"* %_52 to i16* %50 = load i16, i16* %49, align 2 %51 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %36, i16 %37, i16 %50) %52 = extractvalue { i8*, i16 } %51, 0 %53 = extractvalue { i8*, i16 } %51, 1 br label %bb25 bb21: ; preds = %bb22, %bb18 %54 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %54 %55 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %56 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 0 store i8* %36, i8** %56 %57 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %55, i32 0, i32 1 store i16 %37, i16* %57 br label %bb23 bb22: ; preds = %bb18 br i1 %34, label %bb20, label %bb21 bb23: ; preds = %bb24, %bb21, %bb25 %58 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 %59 = load i8, i8* %58, !range !2 %60 = trunc i8 %59 to i1 %61 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 %63 = load i8*, i8** %62, !nonnull !1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 %65 = load i16, i16* %64 %66 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %63, i16 %65) br label %bb26 bb24: ; preds = %bb19 %67 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 1, i8* %67 %68 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %69 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 0 store i8* %46, i8** %69 %70 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %68, i32 0, i32 1 store i16 %47, i16* %70 br label %bb23 bb25: ; preds = %bb20 %71 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 0 store i8 0, i8* %71 %72 = getelementptr inbounds { i8, { i8*, i16 } }, { i8, { i8*, i16 } }* %_41, i32 0, i32 1 %73 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 0 store i8* %52, i8** %73 %74 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %72, i32 0, i32 1 store i16 %53, i16* %74 br label %bb23 bb26: ; preds = %bb23 br i1 %66, label %bb27, label %bb28 bb27: ; preds = %bb26 store i8 0, i8* %_58 %75 = load i8, i8* %_58 %76 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_57, i32 0, i32 0 store i8 %75, i8* %76 %77 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %77 %78 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %79 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %78, i32 0, i32 1 %80 = bitcast %"num::ParseIntError"* %_57 to i8* %81 = bitcast %"num::ParseIntError"* %79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %81, i8* %80, i16 1, i32 1, i1 false) br label %bb29 bb28: ; preds = %bb26 %82 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h0206f1cb8ec6f228E"(i32 0) store i16 %82, i16* %result br label %bb30 bb29: ; preds = %bb42, %bb27 br label %bb13 bb30: ; preds = %bb28 br i1 %60, label %bb31, label %bb32 bb31: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_63, i8* noalias nonnull readonly %63, i16 %65) br label %bb33 bb32: ; preds = %bb30 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_101, i8* noalias nonnull readonly %63, i16 %65) br label %bb50 bb33: ; preds = %bb31 %83 = bitcast %"slice::Iter"* %_63 to i8* %84 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %84, i8* %83, i16 4, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb49, %bb33 %85 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %85, i8** %_66 br label %bb35 bb35: ; preds = %bb34 %86 = load i8*, i8** %_66 %87 = icmp ne i8* %86, null %88 = zext i1 %87 to i16 switch i16 %88, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb66 bb37: ; preds = %bb35 %89 = load i8*, i8** %_66, !nonnull !1 %90 = load i8, i8* %89 %91 = zext i8 %90 to i32 %92 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_72, i32 %91, i32 %92) br label %bb38 bb38: ; preds = %bb37 %93 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %94 = load i32, i32* %93, !range !9 %95 = trunc i32 %94 to i16 switch i16 %95, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 1, i8* %_80 %96 = load i8, i8* %_80 %97 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_79, i32 0, i32 0 store i8 %96, i8* %97 %98 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %98 %99 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %100 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %99, i32 0, i32 1 %101 = bitcast %"num::ParseIntError"* %_79 to i8* %102 = bitcast %"num::ParseIntError"* %100 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %102, i8* %101, i16 1, i32 1, i1 false) br label %bb41 bb40: ; preds = %bb38 %103 = bitcast %"option::Option"* %_72 to { i32, i32 }* %104 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %103, i32 0, i32 1 %105 = load i32, i32* %104 %106 = load i32, i32* %radix call void @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17hc2b125233456e0e4E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_82, i16* noalias readonly dereferenceable(2) %result, i32 %106) br label %bb43 bb41: ; preds = %bb39, %bb46 br label %bb42 bb42: ; preds = %bb58, %bb41 br label %bb29 bb43: ; preds = %bb40 %107 = getelementptr inbounds %"option::Option", %"option::Option"* %_82, i32 0, i32 0 %108 = load i16, i16* %107, !range !3 switch i16 %108, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 store i8 2, i8* %_89 %109 = load i8, i8* %_89 %110 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_88, i32 0, i32 0 store i8 %109, i8* %110 %111 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %111 %112 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %113 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %112, i32 0, i32 1 %114 = bitcast %"num::ParseIntError"* %_88 to i8* %115 = bitcast %"num::ParseIntError"* %113 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %115, i8* %114, i16 1, i32 1, i1 false) br label %bb46 bb45: ; preds = %bb43 %116 = bitcast %"option::Option"* %_82 to { i16, i16 }* %117 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %116, i32 0, i32 1 %118 = load i16, i16* %117 store i16 %118, i16* %result call void @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17h67fc2c3af0f94793E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_91, i16* noalias readonly dereferenceable(2) %result, i32 %105) br label %bb47 bb46: ; preds = %bb44, %bb48 br label %bb41 bb47: ; preds = %bb45 %119 = getelementptr inbounds %"option::Option", %"option::Option"* %_91, i32 0, i32 0 %120 = load i16, i16* %119, !range !3 switch i16 %120, label %bb49 [ i16 0, label %bb48 ] bb48: ; preds = %bb47 store i8 2, i8* %_98 %121 = load i8, i8* %_98 %122 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_97, i32 0, i32 0 store i8 %121, i8* %122 %123 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %123 %124 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %125 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %124, i32 0, i32 1 %126 = bitcast %"num::ParseIntError"* %_97 to i8* %127 = bitcast %"num::ParseIntError"* %125 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %127, i8* %126, i16 1, i32 1, i1 false) br label %bb46 bb49: ; preds = %bb47 %128 = bitcast %"option::Option"* %_91 to { i16, i16 }* %129 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %128, i32 0, i32 1 %130 = load i16, i16* %129 store i16 %130, i16* %result br label %bb34 bb50: ; preds = %bb32 %131 = bitcast %"slice::Iter"* %_101 to i8* %132 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %132, i8* %131, i16 4, i32 2, i1 false) br label %bb51 bb51: ; preds = %bb65, %bb50 %133 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %133, i8** %_104 br label %bb52 bb52: ; preds = %bb51 %134 = load i8*, i8** %_104 %135 = icmp ne i8* %134, null %136 = zext i1 %135 to i16 switch i16 %136, label %bb54 [ i16 0, label %bb53 ] bb53: ; preds = %bb52 br label %bb66 bb54: ; preds = %bb52 %137 = load i8*, i8** %_104, !nonnull !1 %138 = load i8, i8* %137 %139 = zext i8 %138 to i32 %140 = load i32, i32* %radix call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_110, i32 %139, i32 %140) br label %bb55 bb55: ; preds = %bb54 %141 = getelementptr inbounds %"option::Option", %"option::Option"* %_110, i32 0, i32 0 %142 = load i32, i32* %141, !range !9 %143 = trunc i32 %142 to i16 switch i16 %143, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 store i8 1, i8* %_118 %144 = load i8, i8* %_118 %145 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_117, i32 0, i32 0 store i8 %144, i8* %145 %146 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %146 %147 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %148 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %147, i32 0, i32 1 %149 = bitcast %"num::ParseIntError"* %_117 to i8* %150 = bitcast %"num::ParseIntError"* %148 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %150, i8* %149, i16 1, i32 1, i1 false) br label %bb58 bb57: ; preds = %bb55 %151 = bitcast %"option::Option"* %_110 to { i32, i32 }* %152 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %151, i32 0, i32 1 %153 = load i32, i32* %152 %154 = load i32, i32* %radix call void @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17hc2b125233456e0e4E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_120, i16* noalias readonly dereferenceable(2) %result, i32 %154) br label %bb59 bb58: ; preds = %bb56, %bb62 br label %bb42 bb59: ; preds = %bb57 %155 = getelementptr inbounds %"option::Option", %"option::Option"* %_120, i32 0, i32 0 %156 = load i16, i16* %155, !range !3 switch i16 %156, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 store i8 3, i8* %_127 %157 = load i8, i8* %_127 %158 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_126, i32 0, i32 0 store i8 %157, i8* %158 %159 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %159 %160 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %161 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %160, i32 0, i32 1 %162 = bitcast %"num::ParseIntError"* %_126 to i8* %163 = bitcast %"num::ParseIntError"* %161 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %163, i8* %162, i16 1, i32 1, i1 false) br label %bb62 bb61: ; preds = %bb59 %164 = bitcast %"option::Option"* %_120 to { i16, i16 }* %165 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %164, i32 0, i32 1 %166 = load i16, i16* %165 store i16 %166, i16* %result call void @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h125aa7b98e5914e0E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_129, i16* noalias readonly dereferenceable(2) %result, i32 %153) br label %bb63 bb62: ; preds = %bb60, %bb64 br label %bb58 bb63: ; preds = %bb61 %167 = getelementptr inbounds %"option::Option", %"option::Option"* %_129, i32 0, i32 0 %168 = load i16, i16* %167, !range !3 switch i16 %168, label %bb65 [ i16 0, label %bb64 ] bb64: ; preds = %bb63 store i8 3, i8* %_136 %169 = load i8, i8* %_136 %170 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %_135, i32 0, i32 0 store i8 %169, i8* %170 %171 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %171 %172 = bitcast %"result::Result"* %0 to { i8, %"num::ParseIntError" }* %173 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %172, i32 0, i32 1 %174 = bitcast %"num::ParseIntError"* %_135 to i8* %175 = bitcast %"num::ParseIntError"* %173 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %175, i8* %174, i16 1, i32 1, i1 false) br label %bb62 bb65: ; preds = %bb63 %176 = bitcast %"option::Option"* %_129 to { i16, i16 }* %177 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %176, i32 0, i32 1 %178 = load i16, i16* %177 store i16 %178, i16* %result br label %bb51 bb66: ; preds = %bb53, %bb36 %179 = load i16, i16* %result %180 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %180 %181 = bitcast %"result::Result"* %0 to { i8, i16 }* %182 = getelementptr inbounds { i8, i16 }, { i8, i16 }* %181, i32 0, i32 1 store i16 %179, i16* %182 br label %bb12 panic: ; preds = %bb17 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.5O, i16 0, i16 %37) unreachable } ; Function Attrs: uwtable define %str_slice @_ZN4core3num13ParseIntError13__description17h231896a7202b281fE(%"num::ParseIntError"* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: %_0 = alloca %str_slice br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %0, i32 0, i32 0 %2 = load i8, i8* %1, !range !6 %3 = zext i8 %2 to i16 switch i16 %3, label %bb4 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 ] bb1: ; preds = %start %4 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str.5S, i32 0, i32 0), i8** %4 %5 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 store i16 38, i16* %5 br label %bb5 bb2: ; preds = %start %6 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.5R, i32 0, i32 0), i8** %6 %7 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 store i16 29, i16* %7 br label %bb5 bb3: ; preds = %start %8 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str.5Q, i32 0, i32 0), i8** %8 %9 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 store i16 38, i16* %9 br label %bb5 bb4: ; preds = %start %10 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str.5P, i32 0, i32 0), i8** %10 %11 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 store i16 38, i16* %11 br label %bb5 bb5: ; preds = %bb1, %bb2, %bb3, %bb4 %12 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 %13 = load i8*, i8** %12, !nonnull !1 %14 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 %15 = load i16, i16* %14 %16 = insertvalue %str_slice undef, i8* %13, 0 %17 = insertvalue %str_slice %16, i16 %15, 1 ret %str_slice %17 } ; Function Attrs: uwtable define i8 @"_ZN63_$LT$core..num..ParseIntError$u20$as$u20$core..fmt..Display$GT$3fmt17h787cd79115124fc9E"(%"num::ParseIntError"* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call %str_slice @_ZN4core3num13ParseIntError13__description17h231896a7202b281fE(%"num::ParseIntError"* noalias readonly dereferenceable(1) %0) %3 = extractvalue %str_slice %2, 0 %4 = extractvalue %str_slice %2, 1 br label %bb1 bb1: ; preds = %start %5 = call i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h885a7c667bb6b275E"(i8* noalias nonnull readonly %3, i16 %4, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3mem6forget17h678f700d77836bcdE(i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block br label %bb2 bb1: ; No predecessors! %1 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %1 bb2: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17h0ac890a8161c5786E() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 4, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17h0b6fe43aba1ff0a7E() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 6, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17h20bd14735cb8538dE() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 2, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17h258355fe3958deaaE() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 2, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 1, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17h6051e93fa5457880E() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 8, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17h71b326904f99a0adE() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 4, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17h7907533061a00e55E() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 4, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 4, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17h9768570c5a4b4873E() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 1, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17ha28fc9877225dbd8E() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 16, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17ha9d8ae27bc8815a5E() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 24, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17hb8411ae28e68b594E() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 2, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17hc1b9ae5696c2eb4dE() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 4, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17hc3fafdf0ad8d8c43E() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 2, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17hd4220f602efa4a57E() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 8, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17hd469b45475411e2eE() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 2, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7size_of17hfade06df2d9fa45fE() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block store i16 16, i16* %tmp_ret %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem11size_of_val17h485e1b89de3cb548E(i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block %2 = mul i16 %1, 1 store i16 %2, i16* %tmp_ret %3 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %3 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem11size_of_val17h7fcfd6c3e836869cE(i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block %2 = mul i16 %1, 4 store i16 %2, i16* %tmp_ret %3 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %3 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem13uninitialized17hdeb44e5a4fa4c26dE() unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block %0 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3mem4swap17h8b9fed9b1bbe1028E(i16* dereferenceable(2), i16* dereferenceable(2)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_27 = alloca i8 %t = alloca i16 %_0 = alloca {} br label %start start: ; preds = %entry-block store i8 0, i8* %_27 store i8 1, i8* %_27 %2 = call i16 @_ZN4core3mem13uninitialized17hdeb44e5a4fa4c26dE() store i16 %2, i16* %t br label %bb1 bb1: ; preds = %start %3 = bitcast i16* %t to i8* %4 = bitcast i16* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %bb3 bb2: ; preds = %bb7, %bb8 %5 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %5 bb3: ; preds = %bb1 %6 = bitcast i16* %0 to i8* %7 = bitcast i16* %1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %7, i16 2, i32 2, i1 false) br label %bb4 bb4: ; preds = %bb3 %8 = bitcast i16* %1 to i8* %9 = bitcast i16* %t to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %9, i16 2, i32 2, i1 false) br label %bb5 bb5: ; preds = %bb4 store i8 0, i8* %_27 %10 = load i16, i16* %t invoke void @_ZN4core3mem6forget17h678f700d77836bcdE(i16 %10) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 ret void bb7: ; preds = %bb8 store i8 0, i8* %_27 br label %bb2 bb8: ; preds = %cleanup %11 = load i8, i8* %_27, !range !2 %12 = trunc i8 %11 to i1 br i1 %12, label %bb7, label %bb2 cleanup: ; preds = %bb5 %13 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %13, { i8*, i32 }* %personalityslot br label %bb8 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3mem7replace17h66b8a8c158531fc4E(i16* dereferenceable(2), i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_10 = alloca i8 %src = alloca i16 br label %start start: ; preds = %entry-block store i8 0, i8* %_10 store i8 1, i8* %_10 store i16 %1, i16* %src invoke void @_ZN4core3mem4swap17h8b9fed9b1bbe1028E(i16* dereferenceable(2) %0, i16* dereferenceable(2) %src) to label %bb2 unwind label %cleanup bb1: ; preds = %bb3, %bb4 %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %start store i8 0, i8* %_10 %3 = load i16, i16* %src ret i16 %3 bb3: ; preds = %bb4 store i8 0, i8* %_10 br label %bb1 bb4: ; preds = %cleanup %4 = load i8, i8* %_10, !range !2 %5 = trunc i8 %4 to i1 br i1 %5, label %bb3, label %bb1 cleanup: ; preds = %start %6 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %6, { i8*, i32 }* %personalityslot br label %bb4 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h03b0c91c8ab11876E(i64**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h044c8ccaa45a3387E(%"str::pattern::CharEqSearcher<&[char]>"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h0a4bbb56f1ab7f4fE(%"char::EscapeUnicode"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h0f68554354844ee5E(%"str::pattern::TwoWaySearcher"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h111de891e14ea063E(i8**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h299759c86f915ff9E(%"slice::Iter"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h2c8fb4e90906200fE(%"char::EscapeDefault"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h3079cf91327b4b87E({ i8*, i16 }**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h347bdc34f1e57e4cE(%"fmt::Write::write_fmt::Adapter"*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h3581579f9210eaa8E(%"fmt::builders::PadAdapter"*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h397b9a24e82e067bE({}**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h3e2d5f36594e0c0dE(i16*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h3edf7dc84500d28fE(i8*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h4b37bfaf61bc756aE(i8**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h4db4c6bab67306fcE(i16*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h4e42f5925209baa0E(i16**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h4f5faf0dbde596c6E(%"char::EscapeDefaultState"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h54f101d392d9afe3E(i16*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h5c07a938296e1377E(%"marker::PhantomData"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h63d253a8832af655E(%"hash::sip::SipHasher24"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h6a550860c20e03a5E(%"str::SplitTerminator"*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"str::SplitTerminator", %"str::SplitTerminator"* %0, i32 0, i32 0 invoke void @_ZN4core3ptr13drop_in_place17hfdf9d929d4470158E(%"str::SplitInternal"* %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %start ret void cleanup: ; preds = %start %3 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %3, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h6ea3c863116a2935E(%"hash::sip::Hasher"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h6f13437005164652E(i16*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h710dc23528d2f814E(i8**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h7126bdd384aaa042E(%"option::Option"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h71e86f835c535c77E(i8**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h736fcefdd87ac541E(i32*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h77a19f99f3cc4196E({ i8*, i16 }*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h78e86f9fb945c963E(%"hash::sip::State"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h79e86f69378fb7a6E(%"str::pattern::EmptyNeedle"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h878cf5dca04813c4E(%"marker::PhantomData"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h8be0482d9ea2be98E(i64**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h8c952be3dd68a860E(%"str::pattern::StrSearcherImpl"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h9013b35ec5f912e9E(i32**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h928ed3fc531c3994E(%"iter::Map, str::LinesAnyMap>"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h96690873be694b9fE(%"num::flt2dec::decoder::Decoded"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h98a4dd788bdb6051E(%str_slice**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h98e619c6aed35484E(%"str::Lines"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17h99cedba5e554a722E(%"str::pattern::CharEqSearcher"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17ha0305c6f79d36915E(%"iter::Cloned>"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17ha463bf09d8e01fd3E(i16**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17had6aad2067d969ceE(i8*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17hb8474b1633d7fbfeE(i16**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17hd065e34f526193f9E(i8**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17hd248482728887ebbE(%"num::dec2flt::parse::Decimal"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17hd42fe86687354441E({ i32*, i16 }**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17hdd78443308a5b46fE(%"str::CharIndices"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17he2ca2dc0833adcebE(%"str::pattern::CharSearcher"*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17he8e6190b066af60aE(%"str::Chars"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17hf44d9b805d2410e2E(i8*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17hf4ac7f061955524fE(%"hash::sip::Hasher"**) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3ptr13drop_in_place17hfdf9d929d4470158E(%"str::SplitInternal"*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %0, i32 0, i32 2 invoke void @_ZN4core3ptr13drop_in_place17he2ca2dc0833adcebE(%"str::pattern::CharSearcher"* %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %start ret void cleanup: ; preds = %start %3 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %3, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal %"num::flt2dec::Part"* @_ZN4core3ptr4null17h026b2e0ee19bb509E() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret %"num::flt2dec::Part"* null } ; Function Attrs: inlinehint uwtable define internal %str_slice* @_ZN4core3ptr4null17h0dfc55bf86a9e821E() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret %str_slice* null } ; Function Attrs: inlinehint uwtable define internal i8* @_ZN4core3ptr4null17h2fd548b558481e77E() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i8* null } ; Function Attrs: inlinehint uwtable define internal %"fmt::rt::v1::Argument"* @_ZN4core3ptr4null17h4f815e8fdf9c2e69E() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret %"fmt::rt::v1::Argument"* null } ; Function Attrs: inlinehint uwtable define internal { i8, i8 }* @_ZN4core3ptr4null17h52491c14aee9169dE() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret { i8, i8 }* null } ; Function Attrs: inlinehint uwtable define internal %"fmt::ArgumentV1"* @_ZN4core3ptr4null17h752559b55248e8e9E() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret %"fmt::ArgumentV1"* null } ; Function Attrs: inlinehint uwtable define internal i32* @_ZN4core3ptr4null17h9d0c69da6ac3a964E() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i32* null } ; Function Attrs: inlinehint uwtable define internal i32* @_ZN4core3ptr4null17hf9f117a8ad3bce47E() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i32* null } ; Function Attrs: inlinehint uwtable define internal i8* @_ZN4core3ptr8null_mut17h031977509b7ff481E() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i8* null } ; Function Attrs: inlinehint uwtable define internal i32* @_ZN4core3ptr8null_mut17h8d4f8f8da6a57cecE() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i32* null } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h03e606deb25b5e10E"(%str_slice*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call %str_slice* @_ZN4core3ptr4null17h0dfc55bf86a9e821E() br label %bb1 bb1: ; preds = %start %2 = icmp eq %str_slice* %0, %1 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h120af63052ada8bcE"(i32*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call i32* @_ZN4core3ptr4null17hf9f117a8ad3bce47E() br label %bb1 bb1: ; preds = %start %2 = icmp eq i32* %0, %1 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h707422bda7debb80E"(%"fmt::rt::v1::Argument"*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call %"fmt::rt::v1::Argument"* @_ZN4core3ptr4null17h4f815e8fdf9c2e69E() br label %bb1 bb1: ; preds = %start %2 = icmp eq %"fmt::rt::v1::Argument"* %0, %1 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h730dd8153a9c1223E"({ i8, i8 }*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call { i8, i8 }* @_ZN4core3ptr4null17h52491c14aee9169dE() br label %bb1 bb1: ; preds = %start %2 = icmp eq { i8, i8 }* %0, %1 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h7af5f3ff29a6c847E"(%"fmt::ArgumentV1"*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call %"fmt::ArgumentV1"* @_ZN4core3ptr4null17h752559b55248e8e9E() br label %bb1 bb1: ; preds = %start %2 = icmp eq %"fmt::ArgumentV1"* %0, %1 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h906caa45cc6dd689E"(i8*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call i8* @_ZN4core3ptr4null17h2fd548b558481e77E() br label %bb1 bb1: ; preds = %start %2 = icmp eq i8* %0, %1 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h9493170a785858c4E"(i32*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call i32* @_ZN4core3ptr4null17h9d0c69da6ac3a964E() br label %bb1 bb1: ; preds = %start %2 = icmp eq i32* %0, %1 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h98cbd775bcc6c0cdE"(%"num::flt2dec::Part"*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call %"num::flt2dec::Part"* @_ZN4core3ptr4null17h026b2e0ee19bb509E() br label %bb1 bb1: ; preds = %start %2 = icmp eq %"num::flt2dec::Part"* %0, %1 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32*, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i32* br label %start start: ; preds = %entry-block %2 = getelementptr inbounds i32, i32* %0, i16 %1 store i32* %2, i32** %tmp_ret %3 = load i32*, i32** %tmp_ret br label %bb1 bb1: ; preds = %start ret i32* %3 } ; Function Attrs: inlinehint uwtable define internal i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h360b324363152bdfE"(i32*, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i32* br label %start start: ; preds = %entry-block %2 = getelementptr inbounds i32, i32* %0, i16 %1 store i32* %2, i32** %tmp_ret %3 = load i32*, i32** %tmp_ret br label %bb1 bb1: ; preds = %start ret i32* %3 } ; Function Attrs: inlinehint uwtable define internal %"fmt::ArgumentV1"* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h4c05f99b7bf1470fE"(%"fmt::ArgumentV1"*, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca %"fmt::ArgumentV1"* br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i16 %1 store %"fmt::ArgumentV1"* %2, %"fmt::ArgumentV1"** %tmp_ret %3 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %tmp_ret br label %bb1 bb1: ; preds = %start ret %"fmt::ArgumentV1"* %3 } ; Function Attrs: inlinehint uwtable define internal i16* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h5bdf17a78d0d848dE"(i16*, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i16* br label %start start: ; preds = %entry-block %2 = getelementptr inbounds i16, i16* %0, i16 %1 store i16* %2, i16** %tmp_ret %3 = load i16*, i16** %tmp_ret br label %bb1 bb1: ; preds = %start ret i16* %3 } ; Function Attrs: inlinehint uwtable define internal %str_slice* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h7689fe68e66ad088E"(%str_slice*, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca %str_slice* br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %str_slice, %str_slice* %0, i16 %1 store %str_slice* %2, %str_slice** %tmp_ret %3 = load %str_slice*, %str_slice** %tmp_ret br label %bb1 bb1: ; preds = %start ret %str_slice* %3 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8*, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i8* br label %start start: ; preds = %entry-block %2 = getelementptr inbounds i8, i8* %0, i16 %1 store i8* %2, i8** %tmp_ret %3 = load i8*, i8** %tmp_ret br label %bb1 bb1: ; preds = %start ret i8* %3 } ; Function Attrs: inlinehint uwtable define internal %"num::flt2dec::Part"* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17hc6783221b028e272E"(%"num::flt2dec::Part"*, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca %"num::flt2dec::Part"* br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %0, i16 %1 store %"num::flt2dec::Part"* %2, %"num::flt2dec::Part"** %tmp_ret %3 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %tmp_ret br label %bb1 bb1: ; preds = %start ret %"num::flt2dec::Part"* %3 } ; Function Attrs: inlinehint uwtable define internal %"fmt::rt::v1::Argument"* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17hdc114130aac1ef30E"(%"fmt::rt::v1::Argument"*, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca %"fmt::rt::v1::Argument"* br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::rt::v1::Argument", %"fmt::rt::v1::Argument"* %0, i16 %1 store %"fmt::rt::v1::Argument"* %2, %"fmt::rt::v1::Argument"** %tmp_ret %3 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %tmp_ret br label %bb1 bb1: ; preds = %start ret %"fmt::rt::v1::Argument"* %3 } ; Function Attrs: inlinehint uwtable define internal { i8, i8 }* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17hdee3ae921d7f2cceE"({ i8, i8 }*, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i8, i8 }* br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %0, i16 %1 store { i8, i8 }* %2, { i8, i8 }** %tmp_ret %3 = load { i8, i8 }*, { i8, i8 }** %tmp_ret br label %bb1 bb1: ; preds = %start ret { i8, i8 }* %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h3200908cfabe06dbE"(%"option::Option"* noalias nocapture sret dereferenceable(4), i32*, i32*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17h71b326904f99a0adE() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %5 br label %bb7 bb3: ; preds = %bb1 %6 = ptrtoint i32* %2 to i16 %7 = ptrtoint i32* %1 to i16 %8 = call i16 @"_ZN4core3num23_$LT$impl$u20$isize$GT$12wrapping_sub17h2d69149c0d003ca3E"(i16 %6, i16 %7) br label %bb4 bb4: ; preds = %bb3 %9 = icmp eq i16 %3, 0 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic, label %bb5 bb5: ; preds = %bb4 %11 = icmp eq i16 %3, -1 %12 = icmp eq i16 %8, -32768 %13 = and i1 %11, %12 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic1, label %bb6 bb6: ; preds = %bb5 %15 = sdiv i16 %8, %3 %16 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %16 %17 = bitcast %"option::Option"* %0 to { i16, i16 }* %18 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %17, i32 0, i32 1 store i16 %15, i16* %18 br label %bb7 bb7: ; preds = %bb6, %bb2 ret void panic: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5U) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5V) unreachable } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h36c1ff4935521ce9E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i8*, i8*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %5 br label %bb7 bb3: ; preds = %bb1 %6 = ptrtoint i8* %2 to i16 %7 = ptrtoint i8* %1 to i16 %8 = call i16 @"_ZN4core3num23_$LT$impl$u20$isize$GT$12wrapping_sub17h2d69149c0d003ca3E"(i16 %6, i16 %7) br label %bb4 bb4: ; preds = %bb3 %9 = icmp eq i16 %3, 0 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic, label %bb5 bb5: ; preds = %bb4 %11 = icmp eq i16 %3, -1 %12 = icmp eq i16 %8, -32768 %13 = and i1 %11, %12 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic1, label %bb6 bb6: ; preds = %bb5 %15 = sdiv i16 %8, %3 %16 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %16 %17 = bitcast %"option::Option"* %0 to { i16, i16 }* %18 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %17, i32 0, i32 1 store i16 %15, i16* %18 br label %bb7 bb7: ; preds = %bb6, %bb2 ret void panic: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5U) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5V) unreachable } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h4b91a05d9203a938E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i32*, i32*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %5 br label %bb7 bb3: ; preds = %bb1 %6 = ptrtoint i32* %2 to i16 %7 = ptrtoint i32* %1 to i16 %8 = call i16 @"_ZN4core3num23_$LT$impl$u20$isize$GT$12wrapping_sub17h2d69149c0d003ca3E"(i16 %6, i16 %7) br label %bb4 bb4: ; preds = %bb3 %9 = icmp eq i16 %3, 0 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic, label %bb5 bb5: ; preds = %bb4 %11 = icmp eq i16 %3, -1 %12 = icmp eq i16 %8, -32768 %13 = and i1 %11, %12 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic1, label %bb6 bb6: ; preds = %bb5 %15 = sdiv i16 %8, %3 %16 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %16 %17 = bitcast %"option::Option"* %0 to { i16, i16 }* %18 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %17, i32 0, i32 1 store i16 %15, i16* %18 br label %bb7 bb7: ; preds = %bb6, %bb2 ret void panic: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5U) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.5V) unreachable } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h34bb43728f1fbdcfE"(i32*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call i32* @_ZN4core3ptr8null_mut17h8d4f8f8da6a57cecE() br label %bb1 bb1: ; preds = %start %2 = icmp eq i32* %0, %1 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17ha242a11802a91753E"(i8*) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call i8* @_ZN4core3ptr8null_mut17h031977509b7ff481E() br label %bb1 bb1: ; preds = %start %2 = icmp eq i8* %0, %1 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal i32* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hc806dda48d9cf3c3E"(i32*, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i32* br label %start start: ; preds = %entry-block %2 = getelementptr inbounds i32, i32* %0, i16 %1 store i32* %2, i32** %tmp_ret %3 = load i32*, i32** %tmp_ret br label %bb1 bb1: ; preds = %start ret i32* %3 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8*, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i8* br label %start start: ; preds = %entry-block %2 = getelementptr inbounds i8, i8* %0, i16 %1 store i8* %2, i8** %tmp_ret %3 = load i8*, i8** %tmp_ret br label %bb1 bb1: ; preds = %start ret i8* %3 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8*, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i8* br label %start start: ; preds = %entry-block %2 = getelementptr i8, i8* %0, i16 %1 store i8* %2, i8** %tmp_ret %3 = load i8*, i8** %tmp_ret br label %bb1 bb1: ; preds = %start ret i8* %3 } ; Function Attrs: uwtable define i8 @"_ZN57_$LT$core..ops..RangeFull$u20$as$u20$core..fmt..Debug$GT$3fmt17hb00ebf2b364df3e9E"(%"ops::RangeFull"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_11 = alloca {} %_6 = alloca %"fmt::Arguments" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN57_$LT$core..ops..RangeFull$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17ha1b449a2c39d07c8E", i32 0, i32 0), !nonnull !1 %3 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN57_$LT$core..ops..RangeFull$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17ha1b449a2c39d07c8E", i32 0, i32 1) call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_6, %str_slice* noalias nonnull readonly %2, i16 %3, %"fmt::ArgumentV1"* noalias nonnull readonly getelementptr inbounds ([0 x %"fmt::ArgumentV1"], [0 x %"fmt::ArgumentV1"]* @ref.5W, i32 0, i32 0), i16 0) br label %bb1 bb1: ; preds = %start %4 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %1, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_6) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define internal i8 @"_ZN64_$LT$core..ops..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hbd8c60b3c9ebb1b4E"(%"ops::Range"* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_12 = alloca { i16*, i16* } %_11 = alloca [2 x %"fmt::ArgumentV1"] %_6 = alloca %"fmt::Arguments" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN64_$LT$core..ops..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h208d78576dd92322E", i32 0, i32 0), !nonnull !1 %3 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN64_$LT$core..ops..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h208d78576dd92322E", i32 0, i32 1) %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %5 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %6 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_12, i32 0, i32 0 store i16* %4, i16** %6 %7 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_12, i32 0, i32 1 store i16* %5, i16** %7 %8 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_12, i32 0, i32 0 %9 = load i16*, i16** %8, !nonnull !1 %10 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_12, i32 0, i32 1 %11 = load i16*, i16** %10, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i16* noalias readonly dereferenceable(2) %9, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h6522a18f19176b1eE") %12 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %13 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %14 = load %"fmt::Void"*, %"fmt::Void"** %12, !nonnull !1 %15 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %13, !nonnull !1 br label %bb1 bb1: ; preds = %start call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, i16* noalias readonly dereferenceable(2) %11, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h6522a18f19176b1eE") %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %17 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %18 = load %"fmt::Void"*, %"fmt::Void"** %16, !nonnull !1 %19 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %17, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %20 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_11, i32 0, i32 0 %21 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %20, i32 0, i32 0 store %"fmt::Void"* %14, %"fmt::Void"** %21 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %20, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %15, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %22 %23 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_11, i32 0, i32 1 %24 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %23, i32 0, i32 0 store %"fmt::Void"* %18, %"fmt::Void"** %24 %25 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %23, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %19, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %25 %26 = bitcast [2 x %"fmt::ArgumentV1"]* %_11 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_6, %str_slice* noalias nonnull readonly %2, i16 %3, %"fmt::ArgumentV1"* noalias nonnull readonly %26, i16 2) br label %bb3 bb3: ; preds = %bb2 %27 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %1, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_6) store i8 %27, i8* %abi_cast %28 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %29 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %30 = load i8, i8* %29, align 1 ret i8 %30 } ; Function Attrs: uwtable define internal void @_ZN4core3ops5FnMut8call_mut17h04bea1f3416e84dcE({ i16, i16 }* noalias nocapture sret dereferenceable(4), {}*, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32), i8* nonnull, i16) unnamed_addr #1 { entry-block: %arg1 = alloca { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } } %5 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %arg1, i32 0, i32 0 store %"num::flt2dec::decoder::Decoded"* %2, %"num::flt2dec::decoder::Decoded"** %5 %6 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %arg1, i32 0, i32 1 %7 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %6, i32 0, i32 0 store i8* %3, i8** %7 %8 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %6, i32 0, i32 1 store i16 %4, i16* %8 br label %start start: ; preds = %entry-block %9 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %arg1, i32 0, i32 0 %10 = load %"num::flt2dec::decoder::Decoded"*, %"num::flt2dec::decoder::Decoded"** %9, !nonnull !1 %11 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 } }* %arg1, i32 0, i32 1 %12 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %11, i32 0, i32 0 %13 = load i8*, i8** %12, !nonnull !1 %14 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %11, i32 0, i32 1 %15 = load i16, i16* %14 call void @_ZN4core3num7flt2dec8strategy5grisu15format_shortest17hb998b318e7afef08E({ i16, i16 }* noalias nocapture sret dereferenceable(4) %0, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %10, i8* nonnull %13, i16 %15) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal void @_ZN4core3ops5FnMut8call_mut17h6dec6efe32ff5608E({ i16, i16 }* noalias nocapture sret dereferenceable(4), {}*, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32), i8* nonnull, i16, i16) unnamed_addr #1 { entry-block: %arg1 = alloca { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 } %6 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %arg1, i32 0, i32 0 store %"num::flt2dec::decoder::Decoded"* %2, %"num::flt2dec::decoder::Decoded"** %6 %7 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %arg1, i32 0, i32 1 %8 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %7, i32 0, i32 0 store i8* %3, i8** %8 %9 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %7, i32 0, i32 1 store i16 %4, i16* %9 %10 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %arg1, i32 0, i32 2 store i16 %5, i16* %10 br label %start start: ; preds = %entry-block %11 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %arg1, i32 0, i32 0 %12 = load %"num::flt2dec::decoder::Decoded"*, %"num::flt2dec::decoder::Decoded"** %11, !nonnull !1 %13 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %arg1, i32 0, i32 1 %14 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %13, i32 0, i32 0 %15 = load i8*, i8** %14, !nonnull !1 %16 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %13, i32 0, i32 1 %17 = load i16, i16* %16 %18 = getelementptr inbounds { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }, { %"num::flt2dec::decoder::Decoded"*, { i8*, i16 }, i16 }* %arg1, i32 0, i32 2 %19 = load i16, i16* %18 call void @_ZN4core3num7flt2dec8strategy5grisu12format_exact17h73a5c656cde1c784E({ i16, i16 }* noalias nocapture sret dereferenceable(4) %0, %"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %12, i8* nonnull %15, i16 %17, i16 %19) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal i16 @_ZN4core3ops5FnMut8call_mut17h71274dda050b61ebE({}*, i16, i16) unnamed_addr #1 { entry-block: %arg1 = alloca { i16, i16 } %3 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %arg1, i32 0, i32 0 store i16 %1, i16* %3 %4 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %arg1, i32 0, i32 1 store i16 %2, i16* %4 br label %start start: ; preds = %entry-block %5 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %arg1, i32 0, i32 0 %6 = load i16, i16* %5 %7 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %arg1, i32 0, i32 1 %8 = load i16, i16* %7 %9 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Add$GT$3add17h83c24e603ca0e0e9E"(i16 %6, i16 %8) br label %bb1 bb1: ; preds = %start ret i16 %9 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3ops5impls72_$LT$impl$u20$core..ops..FnMut$LT$A$GT$$u20$for$u20$$RF$$u27$a$u20$F$GT$8call_mut17h8babba06bf03b1caE"(%closure.0** dereferenceable(2), i8** noalias readonly dereferenceable(2)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_6 = alloca { i8** } %args = alloca { i8** } %arg1 = alloca { i8** } %2 = getelementptr inbounds { i8** }, { i8** }* %arg1, i32 0, i32 0 store i8** %1, i8*** %2 br label %start start: ; preds = %entry-block %3 = bitcast { i8** }* %arg1 to i8* %4 = bitcast { i8** }* %args to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 2, i32 2, i1 false) %5 = load %closure.0*, %closure.0** %0, !nonnull !1 %6 = bitcast { i8** }* %args to i8* %7 = bitcast { i8** }* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 2, i32 2, i1 false) %8 = getelementptr inbounds { i8** }, { i8** }* %_6, i32 0, i32 0 %9 = load i8**, i8*** %8 %10 = invoke zeroext i1 @"_ZN4core3num7dec2flt8simplify28_$u7b$$u7b$closure$u7d$$u7d$17hae696dada14c9c8fE"(%closure.0* noalias readonly %5, i8** noalias readonly dereferenceable(2) %9) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %11 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %11 bb2: ; preds = %start ret i1 %10 cleanup: ; preds = %start %12 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %12, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: uwtable define internal %str_slice @"_ZN4core3ops5impls81_$LT$impl$u20$core..ops..FnOnce$LT$A$GT$$u20$for$u20$$RF$$u27$a$u20$mut$u20$F$GT$9call_once17hbba0833a21e0dcdfE"(%"str::LinesAnyMap"*, i8* noalias nonnull readonly, i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_6 = alloca { %str_slice } %args = alloca { %str_slice } %arg1 = alloca { %str_slice } %3 = getelementptr inbounds { %str_slice }, { %str_slice }* %arg1, i32 0, i32 0 %4 = getelementptr inbounds %str_slice, %str_slice* %3, i32 0, i32 0 store i8* %1, i8** %4 %5 = getelementptr inbounds %str_slice, %str_slice* %3, i32 0, i32 1 store i16 %2, i16* %5 br label %start start: ; preds = %entry-block %6 = bitcast { %str_slice }* %arg1 to i8* %7 = bitcast { %str_slice }* %args to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) %8 = bitcast { %str_slice }* %args to i8* %9 = bitcast { %str_slice }* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 4, i32 2, i1 false) %10 = getelementptr inbounds { %str_slice }, { %str_slice }* %_6, i32 0, i32 0 %11 = getelementptr inbounds %str_slice, %str_slice* %10, i32 0, i32 0 %12 = load i8*, i8** %11, !nonnull !1 %13 = getelementptr inbounds %str_slice, %str_slice* %10, i32 0, i32 1 %14 = load i16, i16* %13 %15 = invoke %str_slice @"_ZN96_$LT$core..str..LinesAnyMap$u20$as$u20$core..ops..FnMut$LT$$LP$$RF$$u27$a$u20$str$C$$RP$$GT$$GT$8call_mut17h4c1788186214076eE"(%"str::LinesAnyMap"* %0, i8* noalias nonnull readonly %12, i16 %14) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %16 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %16 bb2: ; preds = %start %17 = extractvalue %str_slice %15, 0 %18 = extractvalue %str_slice %15, 1 %19 = insertvalue %str_slice undef, i8* %17, 0 %20 = insertvalue %str_slice %19, i16 %18, 1 ret %str_slice %20 cleanup: ; preds = %start %21 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %21, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: uwtable define internal void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$12from_success17h0f9c5c66cf694970E"(%"result::Result"* noalias nocapture sret dereferenceable(16), double) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %2 %3 = bitcast %"result::Result"* %0 to { i8, double }* %4 = getelementptr inbounds { i8, double }, { i8, double }* %3, i32 0, i32 1 store double %1, double* %4 ret void } ; Function Attrs: uwtable define internal void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$12from_success17h44266fefa7751dc0E"(%"result::Result"* noalias nocapture sret dereferenceable(8), float) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 0, i8* %2 %3 = bitcast %"result::Result"* %0 to { i8, float }* %4 = getelementptr inbounds { i8, float }, { i8, float }* %3, i32 0, i32 1 store float %1, float* %4 ret void } ; Function Attrs: uwtable define internal i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$12from_success17h5b2cbf3f5944ee11E"() unnamed_addr #1 { entry-block: %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %0 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %0 %1 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %2 = load i8, i8* %1, align 1 ret i8 %2 } ; Function Attrs: uwtable define internal void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$12from_success17h8199164e7b803be7E"(%"result::Result<(), str::Utf8Error>"* noalias nocapture sret dereferenceable(6)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %0, i32 0, i32 0 store i16 0, i16* %1 ret void } ; Function Attrs: uwtable define internal void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17h0bb3d7d587d480b5E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i8) unnamed_addr #1 { entry-block: %_3 = alloca %"num::dec2flt::ParseFloatError" %e = alloca %"num::dec2flt::ParseFloatError" %abi_cast = alloca i8 %arg0 = alloca %"num::dec2flt::ParseFloatError" store i8 %1, i8* %abi_cast %2 = bitcast %"num::dec2flt::ParseFloatError"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) br label %start start: ; preds = %entry-block %3 = bitcast %"num::dec2flt::ParseFloatError"* %arg0 to i8* %4 = bitcast %"num::dec2flt::ParseFloatError"* %e to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 1, i32 1, i1 false) %5 = bitcast %"num::dec2flt::ParseFloatError"* %e to i8* %6 = bitcast %"num::dec2flt::ParseFloatError"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 1, i32 1, i1 false) %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %7 %8 = bitcast %"result::Result"* %0 to { i8, %"num::dec2flt::ParseFloatError" }* %9 = getelementptr inbounds { i8, %"num::dec2flt::ParseFloatError" }, { i8, %"num::dec2flt::ParseFloatError" }* %8, i32 0, i32 1 %10 = bitcast %"num::dec2flt::ParseFloatError"* %_3 to i8* %11 = bitcast %"num::dec2flt::ParseFloatError"* %9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 1, i32 1, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17h17171d381e486fb8E"(%"result::Result<&str, str::Utf8Error>"* noalias nocapture sret dereferenceable(6), %"str::Utf8Error"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"str::Utf8Error" %e = alloca %"str::Utf8Error" br label %start start: ; preds = %entry-block %2 = bitcast %"str::Utf8Error"* %1 to i8* %3 = bitcast %"str::Utf8Error"* %e to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"str::Utf8Error"* %e to i8* %5 = bitcast %"str::Utf8Error"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"result::Result<&str, str::Utf8Error>", %"result::Result<&str, str::Utf8Error>"* %0, i32 0, i32 0 store i16 1, i16* %6 %7 = bitcast %"result::Result<&str, str::Utf8Error>"* %0 to { i16, %"str::Utf8Error" }* %8 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %7, i32 0, i32 1 %9 = bitcast %"str::Utf8Error"* %_3 to i8* %10 = bitcast %"str::Utf8Error"* %8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hb252cedd97949ac2E"(%"result::Result<(), str::Utf8Error>"* noalias nocapture sret dereferenceable(6), %"str::Utf8Error"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"str::Utf8Error" %e = alloca %"str::Utf8Error" br label %start start: ; preds = %entry-block %2 = bitcast %"str::Utf8Error"* %1 to i8* %3 = bitcast %"str::Utf8Error"* %e to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"str::Utf8Error"* %e to i8* %5 = bitcast %"str::Utf8Error"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %0, i32 0, i32 0 store i16 1, i16* %6 %7 = bitcast %"result::Result<(), str::Utf8Error>"* %0 to { i16, %"str::Utf8Error" }* %8 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %7, i32 0, i32 1 %9 = bitcast %"str::Utf8Error"* %_3 to i8* %10 = bitcast %"str::Utf8Error"* %8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17he6d9f2c466e91cecE"(%"result::Result"* noalias nocapture sret dereferenceable(16), i8) unnamed_addr #1 { entry-block: %_3 = alloca %"num::dec2flt::ParseFloatError" %e = alloca %"num::dec2flt::ParseFloatError" %abi_cast = alloca i8 %arg0 = alloca %"num::dec2flt::ParseFloatError" store i8 %1, i8* %abi_cast %2 = bitcast %"num::dec2flt::ParseFloatError"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) br label %start start: ; preds = %entry-block %3 = bitcast %"num::dec2flt::ParseFloatError"* %arg0 to i8* %4 = bitcast %"num::dec2flt::ParseFloatError"* %e to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 1, i32 1, i1 false) %5 = bitcast %"num::dec2flt::ParseFloatError"* %e to i8* %6 = bitcast %"num::dec2flt::ParseFloatError"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 1, i32 1, i1 false) %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i8 1, i8* %7 %8 = bitcast %"result::Result"* %0 to { i8, %"num::dec2flt::ParseFloatError" }* %9 = getelementptr inbounds { i8, %"num::dec2flt::ParseFloatError" }, { i8, %"num::dec2flt::ParseFloatError" }* %8, i32 0, i32 1 %10 = bitcast %"num::dec2flt::ParseFloatError"* %_3 to i8* %11 = bitcast %"num::dec2flt::ParseFloatError"* %9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 1, i32 1, i1 false) ret void } ; Function Attrs: uwtable define internal i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() unnamed_addr #1 { entry-block: %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %0 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 1, i8* %0 %1 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %2 = load i8, i8* %1, align 1 ret i8 %2 } ; Function Attrs: uwtable define internal void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h348d7e6b7723b137E"(%"result::Result"* noalias nocapture sret dereferenceable(8), %"result::Result"* noalias nocapture dereferenceable(8)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %_8 = alloca i8 %_7 = alloca %"num::dec2flt::ParseFloatError" %e = alloca %"num::dec2flt::ParseFloatError" %self = alloca %"result::Result" br label %start start: ; preds = %entry-block store i8 0, i8* %_9 store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 1, i8* %_9 %2 = bitcast %"result::Result"* %1 to i8* %3 = bitcast %"result::Result"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 8, i32 4, i1 false) %4 = getelementptr inbounds %"result::Result", %"result::Result"* %self, i32 0, i32 0 %5 = load i8, i8* %4, !range !2 %6 = zext i8 %5 to i16 switch i16 %6, label %bb4 [ i16 0, label %bb3 ] bb1: ; preds = %bb10, %bb9, %bb12, %bb11 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb2: ; preds = %cleanup %8 = getelementptr inbounds %"result::Result", %"result::Result"* %self, i32 0, i32 0 %9 = load i8, i8* %8, !range !2 %10 = zext i8 %9 to i16 switch i16 %10, label %bb11 [ i16 0, label %bb9 ] bb3: ; preds = %start store i8 0, i8* %_9 %11 = bitcast %"result::Result"* %self to { i8, float }* %12 = getelementptr inbounds { i8, float }, { i8, float }* %11, i32 0, i32 1 %13 = load float, float* %12 invoke void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$12from_success17h44266fefa7751dc0E"(%"result::Result"* noalias nocapture sret dereferenceable(8) %0, float %13) to label %bb6 unwind label %cleanup bb4: ; preds = %start store i8 0, i8* %_8 %14 = bitcast %"result::Result"* %self to { i8, %"num::dec2flt::ParseFloatError" }* %15 = getelementptr inbounds { i8, %"num::dec2flt::ParseFloatError" }, { i8, %"num::dec2flt::ParseFloatError" }* %14, i32 0, i32 1 %16 = bitcast %"num::dec2flt::ParseFloatError"* %15 to i8* %17 = bitcast %"num::dec2flt::ParseFloatError"* %e to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %17, i8* %16, i16 1, i32 1, i1 false) %18 = bitcast %"num::dec2flt::ParseFloatError"* %e to i8* %19 = bitcast %"num::dec2flt::ParseFloatError"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 1, i32 1, i1 false) %20 = bitcast %"num::dec2flt::ParseFloatError"* %_7 to i8* %21 = load i8, i8* %20, align 1 invoke void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17h0bb3d7d587d480b5E"(%"result::Result"* noalias nocapture sret dereferenceable(8) %0, i8 %21) to label %bb7 unwind label %cleanup bb5: ; preds = %bb6, %bb7 %22 = getelementptr inbounds %"result::Result", %"result::Result"* %self, i32 0, i32 0 %23 = load i8, i8* %22, !range !2 %24 = zext i8 %23 to i16 switch i16 %24, label %bb15 [ i16 0, label %bb13 ] bb6: ; preds = %bb3 br label %bb5 bb7: ; preds = %bb4 br label %bb5 bb8: ; preds = %bb14, %bb13, %bb16, %bb15 ret void bb9: ; preds = %bb2 %25 = load i8, i8* %_9, !range !2 %26 = trunc i8 %25 to i1 br i1 %26, label %bb10, label %bb1 bb10: ; preds = %bb9 store i8 0, i8* %_9 br label %bb1 bb11: ; preds = %bb2 %27 = load i8, i8* %_8, !range !2 %28 = trunc i8 %27 to i1 br i1 %28, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_8 br label %bb1 bb13: ; preds = %bb5 %29 = load i8, i8* %_9, !range !2 %30 = trunc i8 %29 to i1 br i1 %30, label %bb14, label %bb8 bb14: ; preds = %bb13 store i8 0, i8* %_9 br label %bb8 bb15: ; preds = %bb5 %31 = load i8, i8* %_8, !range !2 %32 = trunc i8 %31 to i1 br i1 %32, label %bb16, label %bb8 bb16: ; preds = %bb15 store i8 0, i8* %_8 br label %bb8 cleanup: ; preds = %bb3, %bb4 %33 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %33, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast2 = alloca i8 %abi_cast1 = alloca i8 %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %_8 = alloca i8 %self = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8 %arg0 = alloca %"result::Result<(), fmt::Error>" store i8 %0, i8* %abi_cast %1 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %1, i8* %abi_cast, i16 1, i32 1, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_9 store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 1, i8* %_9 %2 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* %3 = bitcast %"result::Result<(), fmt::Error>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 1, i32 1, i1 false) %4 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %5 = load i8, i8* %4, !range !2 %6 = zext i8 %5 to i16 switch i16 %6, label %bb4 [ i16 0, label %bb3 ] bb1: ; preds = %bb10, %bb9, %bb12, %bb11 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb2: ; preds = %cleanup %8 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %9 = load i8, i8* %8, !range !2 %10 = zext i8 %9 to i16 switch i16 %10, label %bb11 [ i16 0, label %bb9 ] bb3: ; preds = %start store i8 0, i8* %_9 %11 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, {} }* %12 = getelementptr inbounds { i8, {} }, { i8, {} }* %11, i32 0, i32 1 %13 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$12from_success17h5b2cbf3f5944ee11E"() to label %bb6 unwind label %cleanup bb4: ; preds = %start store i8 0, i8* %_8 %14 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, %"fmt::Error" }* %15 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %14, i32 0, i32 1 %16 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb7 unwind label %cleanup bb5: ; preds = %bb6, %bb7 %17 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %18 = load i8, i8* %17, !range !2 %19 = zext i8 %18 to i16 switch i16 %19, label %bb15 [ i16 0, label %bb13 ] bb6: ; preds = %bb3 store i8 %13, i8* %abi_cast2 %20 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %20, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb5 bb7: ; preds = %bb4 store i8 %16, i8* %abi_cast1 %21 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb5 bb8: ; preds = %bb14, %bb13, %bb16, %bb15 %22 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %23 = load i8, i8* %22, align 1 ret i8 %23 bb9: ; preds = %bb2 %24 = load i8, i8* %_9, !range !2 %25 = trunc i8 %24 to i1 br i1 %25, label %bb10, label %bb1 bb10: ; preds = %bb9 store i8 0, i8* %_9 br label %bb1 bb11: ; preds = %bb2 %26 = load i8, i8* %_8, !range !2 %27 = trunc i8 %26 to i1 br i1 %27, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_8 br label %bb1 bb13: ; preds = %bb5 %28 = load i8, i8* %_9, !range !2 %29 = trunc i8 %28 to i1 br i1 %29, label %bb14, label %bb8 bb14: ; preds = %bb13 store i8 0, i8* %_9 br label %bb8 bb15: ; preds = %bb5 %30 = load i8, i8* %_8, !range !2 %31 = trunc i8 %30 to i1 br i1 %31, label %bb16, label %bb8 bb16: ; preds = %bb15 store i8 0, i8* %_8 br label %bb8 cleanup: ; preds = %bb3, %bb4 %32 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %32, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17ha4e6fea69aba23b8E"(%"result::Result"* noalias nocapture sret dereferenceable(16), %"result::Result"* noalias nocapture dereferenceable(16)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %_8 = alloca i8 %_7 = alloca %"num::dec2flt::ParseFloatError" %e = alloca %"num::dec2flt::ParseFloatError" %self = alloca %"result::Result" br label %start start: ; preds = %entry-block store i8 0, i8* %_9 store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 1, i8* %_9 %2 = bitcast %"result::Result"* %1 to i8* %3 = bitcast %"result::Result"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 16, i32 8, i1 false) %4 = getelementptr inbounds %"result::Result", %"result::Result"* %self, i32 0, i32 0 %5 = load i8, i8* %4, !range !2 %6 = zext i8 %5 to i16 switch i16 %6, label %bb4 [ i16 0, label %bb3 ] bb1: ; preds = %bb10, %bb9, %bb12, %bb11 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb2: ; preds = %cleanup %8 = getelementptr inbounds %"result::Result", %"result::Result"* %self, i32 0, i32 0 %9 = load i8, i8* %8, !range !2 %10 = zext i8 %9 to i16 switch i16 %10, label %bb11 [ i16 0, label %bb9 ] bb3: ; preds = %start store i8 0, i8* %_9 %11 = bitcast %"result::Result"* %self to { i8, double }* %12 = getelementptr inbounds { i8, double }, { i8, double }* %11, i32 0, i32 1 %13 = load double, double* %12 invoke void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$12from_success17h0f9c5c66cf694970E"(%"result::Result"* noalias nocapture sret dereferenceable(16) %0, double %13) to label %bb6 unwind label %cleanup bb4: ; preds = %start store i8 0, i8* %_8 %14 = bitcast %"result::Result"* %self to { i8, %"num::dec2flt::ParseFloatError" }* %15 = getelementptr inbounds { i8, %"num::dec2flt::ParseFloatError" }, { i8, %"num::dec2flt::ParseFloatError" }* %14, i32 0, i32 1 %16 = bitcast %"num::dec2flt::ParseFloatError"* %15 to i8* %17 = bitcast %"num::dec2flt::ParseFloatError"* %e to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %17, i8* %16, i16 1, i32 1, i1 false) %18 = bitcast %"num::dec2flt::ParseFloatError"* %e to i8* %19 = bitcast %"num::dec2flt::ParseFloatError"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 1, i32 1, i1 false) %20 = bitcast %"num::dec2flt::ParseFloatError"* %_7 to i8* %21 = load i8, i8* %20, align 1 invoke void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17he6d9f2c466e91cecE"(%"result::Result"* noalias nocapture sret dereferenceable(16) %0, i8 %21) to label %bb7 unwind label %cleanup bb5: ; preds = %bb6, %bb7 %22 = getelementptr inbounds %"result::Result", %"result::Result"* %self, i32 0, i32 0 %23 = load i8, i8* %22, !range !2 %24 = zext i8 %23 to i16 switch i16 %24, label %bb15 [ i16 0, label %bb13 ] bb6: ; preds = %bb3 br label %bb5 bb7: ; preds = %bb4 br label %bb5 bb8: ; preds = %bb14, %bb13, %bb16, %bb15 ret void bb9: ; preds = %bb2 %25 = load i8, i8* %_9, !range !2 %26 = trunc i8 %25 to i1 br i1 %26, label %bb10, label %bb1 bb10: ; preds = %bb9 store i8 0, i8* %_9 br label %bb1 bb11: ; preds = %bb2 %27 = load i8, i8* %_8, !range !2 %28 = trunc i8 %27 to i1 br i1 %28, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_8 br label %bb1 bb13: ; preds = %bb5 %29 = load i8, i8* %_9, !range !2 %30 = trunc i8 %29 to i1 br i1 %30, label %bb14, label %bb8 bb14: ; preds = %bb13 store i8 0, i8* %_9 br label %bb8 bb15: ; preds = %bb5 %31 = load i8, i8* %_8, !range !2 %32 = trunc i8 %31 to i1 br i1 %32, label %bb16, label %bb8 bb16: ; preds = %bb15 store i8 0, i8* %_8 br label %bb8 cleanup: ; preds = %bb3, %bb4 %33 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %33, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17hfc66bcbe8629a602E"(%"result::Result<(), str::Utf8Error>"* noalias nocapture sret dereferenceable(6), %"result::Result<(), str::Utf8Error>"* noalias nocapture dereferenceable(6)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %_8 = alloca i8 %_7 = alloca %"str::Utf8Error" %e = alloca %"str::Utf8Error" %self = alloca %"result::Result<(), str::Utf8Error>" br label %start start: ; preds = %entry-block store i8 0, i8* %_9 store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 1, i8* %_9 %2 = bitcast %"result::Result<(), str::Utf8Error>"* %1 to i8* %3 = bitcast %"result::Result<(), str::Utf8Error>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 6, i32 2, i1 false) %4 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %self, i32 0, i32 0 %5 = load i16, i16* %4, !range !3 switch i16 %5, label %bb4 [ i16 0, label %bb3 ] bb1: ; preds = %bb10, %bb9, %bb12, %bb11 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %cleanup %7 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %self, i32 0, i32 0 %8 = load i16, i16* %7, !range !3 switch i16 %8, label %bb11 [ i16 0, label %bb9 ] bb3: ; preds = %start store i8 0, i8* %_9 %9 = bitcast %"result::Result<(), str::Utf8Error>"* %self to { i16, {} }* %10 = getelementptr inbounds { i16, {} }, { i16, {} }* %9, i32 0, i32 1 invoke void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$12from_success17h8199164e7b803be7E"(%"result::Result<(), str::Utf8Error>"* noalias nocapture sret dereferenceable(6) %0) to label %bb6 unwind label %cleanup bb4: ; preds = %start store i8 0, i8* %_8 %11 = bitcast %"result::Result<(), str::Utf8Error>"* %self to { i16, %"str::Utf8Error" }* %12 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %11, i32 0, i32 1 %13 = bitcast %"str::Utf8Error"* %12 to i8* %14 = bitcast %"str::Utf8Error"* %e to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %13, i16 4, i32 2, i1 false) %15 = bitcast %"str::Utf8Error"* %e to i8* %16 = bitcast %"str::Utf8Error"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %15, i16 4, i32 2, i1 false) invoke void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hb252cedd97949ac2E"(%"result::Result<(), str::Utf8Error>"* noalias nocapture sret dereferenceable(6) %0, %"str::Utf8Error"* noalias nocapture dereferenceable(4) %_7) to label %bb7 unwind label %cleanup bb5: ; preds = %bb6, %bb7 %17 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %self, i32 0, i32 0 %18 = load i16, i16* %17, !range !3 switch i16 %18, label %bb15 [ i16 0, label %bb13 ] bb6: ; preds = %bb3 br label %bb5 bb7: ; preds = %bb4 br label %bb5 bb8: ; preds = %bb14, %bb13, %bb16, %bb15 ret void bb9: ; preds = %bb2 %19 = load i8, i8* %_9, !range !2 %20 = trunc i8 %19 to i1 br i1 %20, label %bb10, label %bb1 bb10: ; preds = %bb9 store i8 0, i8* %_9 br label %bb1 bb11: ; preds = %bb2 %21 = load i8, i8* %_8, !range !2 %22 = trunc i8 %21 to i1 br i1 %22, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_8 br label %bb1 bb13: ; preds = %bb5 %23 = load i8, i8* %_9, !range !2 %24 = trunc i8 %23 to i1 br i1 %24, label %bb14, label %bb8 bb14: ; preds = %bb13 store i8 0, i8* %_9 br label %bb8 bb15: ; preds = %bb5 %25 = load i8, i8* %_8, !range !2 %26 = trunc i8 %25 to i1 br i1 %26, label %bb16, label %bb8 bb16: ; preds = %bb15 store i8 0, i8* %_8 br label %bb8 cleanup: ; preds = %bb3, %bb4 %27 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %27, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define void @"_ZN65_$LT$core..ops.._DummyErrorType$u20$as$u20$core..ops..Carrier$GT$12from_success17h01891fc85aca9e60E"() unnamed_addr #1 { entry-block: %_0 = alloca %"ops::_DummyErrorType" br label %start start: ; preds = %entry-block ret void } ; Function Attrs: uwtable define void @"_ZN65_$LT$core..ops.._DummyErrorType$u20$as$u20$core..ops..Carrier$GT$10from_error17h2b0f61c7c9bdc2deE"() unnamed_addr #1 { entry-block: %_0 = alloca %"ops::_DummyErrorType" br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN61_$LT$core..cmp..Ordering$u20$as$u20$core..cmp..PartialOrd$GT$11partial_cmp17haccb3be41af39ad6E"(i8* noalias readonly dereferenceable(1), i8* noalias readonly dereferenceable(1)) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %_11 = alloca i8 %_10 = alloca i32 %_7 = alloca i8 %_6 = alloca i32 %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 store i8 %2, i8* %_7 %3 = load i8, i8* %_7 %4 = sext i8 %3 to i32 store i32 %4, i32* %_6 %5 = load i8, i8* %1 store i8 %5, i8* %_11 %6 = load i8, i8* %_11 %7 = sext i8 %6 to i32 store i32 %7, i32* %_10 %8 = call i16 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$i32$GT$11partial_cmp17h6bb9576683d6e65bE"(i32* noalias readonly dereferenceable(4) %_6, i32* noalias readonly dereferenceable(4) %_10) store i16 %8, i16* %abi_cast %9 = bitcast %"option::Option"* %_0 to i8* %10 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %10, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %11 = bitcast %"option::Option"* %_0 to i16* %12 = load i16, i16* %11, align 1 ret i16 %12 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h7d894440b0927409E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %_5 = alloca %"option::Option" %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN69_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..PartialOrd$GT$11partial_cmp17hfc5204fadcefc60fE"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1) store i16 %2, i16* %abi_cast %3 = bitcast %"option::Option"* %_5 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %"option::Option", %"option::Option"* %_5, i32 0, i32 0 %6 = load i8, i8* %5, !range !2 %7 = zext i8 %6 to i16 switch i16 %7, label %bb3 [ i16 1, label %bb4 ] bb2: ; preds = %bb4 store i8 1, i8* %_0 br label %bb5 bb3: ; preds = %bb4, %bb1 store i8 0, i8* %_0 br label %bb5 bb4: ; preds = %bb1 %8 = bitcast %"option::Option"* %_5 to { i8, i8 }* %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %8, i32 0, i32 1 %10 = load i8, i8* %9, !range !7 %11 = sext i8 %10 to i16 switch i16 %11, label %bb3 [ i16 -1, label %bb2 ] bb5: ; preds = %bb2, %bb3 %12 = load i8, i8* %_0, !range !2 %13 = trunc i8 %12 to i1 ret i1 %13 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @_ZN4core3cmp10PartialOrd2lt17h940ecdcfb97b2e25E(i8* noalias readonly dereferenceable(1), i8* noalias readonly dereferenceable(1)) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %_5 = alloca %"option::Option" %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN61_$LT$core..cmp..Ordering$u20$as$u20$core..cmp..PartialOrd$GT$11partial_cmp17haccb3be41af39ad6E"(i8* noalias readonly dereferenceable(1) %0, i8* noalias readonly dereferenceable(1) %1) store i16 %2, i16* %abi_cast %3 = bitcast %"option::Option"* %_5 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %"option::Option", %"option::Option"* %_5, i32 0, i32 0 %6 = load i8, i8* %5, !range !2 %7 = zext i8 %6 to i16 switch i16 %7, label %bb3 [ i16 1, label %bb4 ] bb2: ; preds = %bb4 store i8 1, i8* %_0 br label %bb5 bb3: ; preds = %bb4, %bb1 store i8 0, i8* %_0 br label %bb5 bb4: ; preds = %bb1 %8 = bitcast %"option::Option"* %_5 to { i8, i8 }* %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %8, i32 0, i32 1 %10 = load i8, i8* %9, !range !7 %11 = sext i8 %10 to i16 switch i16 %11, label %bb3 [ i16 -1, label %bb2 ] bb5: ; preds = %bb2, %bb3 %12 = load i8, i8* %_0, !range !2 %13 = trunc i8 %12 to i1 ret i1 %13 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @_ZN4core3cmp10PartialOrd2le17hce34067e55ecf7beE(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %_5 = alloca %"option::Option" %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN69_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..PartialOrd$GT$11partial_cmp17hfc5204fadcefc60fE"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1) store i16 %2, i16* %abi_cast %3 = bitcast %"option::Option"* %_5 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %"option::Option", %"option::Option"* %_5, i32 0, i32 0 %6 = load i8, i8* %5, !range !2 %7 = zext i8 %6 to i16 switch i16 %7, label %bb3 [ i16 1, label %bb4 ] bb2: ; preds = %bb4, %bb4 store i8 1, i8* %_0 br label %bb5 bb3: ; preds = %bb4, %bb1 store i8 0, i8* %_0 br label %bb5 bb4: ; preds = %bb1 %8 = bitcast %"option::Option"* %_5 to { i8, i8 }* %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %8, i32 0, i32 1 %10 = load i8, i8* %9, !range !7 %11 = sext i8 %10 to i16 switch i16 %11, label %bb3 [ i16 -1, label %bb2 i16 0, label %bb2 ] bb5: ; preds = %bb2, %bb3 %12 = load i8, i8* %_0, !range !2 %13 = trunc i8 %12 to i1 ret i1 %13 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @_ZN4core3cmp10PartialOrd2gt17h1e650bb015949b28E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %_5 = alloca %"option::Option" %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN69_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..PartialOrd$GT$11partial_cmp17hfc5204fadcefc60fE"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1) store i16 %2, i16* %abi_cast %3 = bitcast %"option::Option"* %_5 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %"option::Option", %"option::Option"* %_5, i32 0, i32 0 %6 = load i8, i8* %5, !range !2 %7 = zext i8 %6 to i16 switch i16 %7, label %bb3 [ i16 1, label %bb4 ] bb2: ; preds = %bb4 store i8 1, i8* %_0 br label %bb5 bb3: ; preds = %bb4, %bb1 store i8 0, i8* %_0 br label %bb5 bb4: ; preds = %bb1 %8 = bitcast %"option::Option"* %_5 to { i8, i8 }* %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %8, i32 0, i32 1 %10 = load i8, i8* %9, !range !7 %11 = sext i8 %10 to i16 switch i16 %11, label %bb3 [ i16 1, label %bb2 ] bb5: ; preds = %bb2, %bb3 %12 = load i8, i8* %_0, !range !2 %13 = trunc i8 %12 to i1 ret i1 %13 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h41bd07a83779d87eE(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6), %"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6)) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %_5 = alloca %"option::Option" %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN74_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..cmp..PartialOrd$GT$11partial_cmp17h0515517c312fb531E"(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %0, %"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %1) store i16 %2, i16* %abi_cast %3 = bitcast %"option::Option"* %_5 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %"option::Option", %"option::Option"* %_5, i32 0, i32 0 %6 = load i8, i8* %5, !range !2 %7 = zext i8 %6 to i16 switch i16 %7, label %bb3 [ i16 1, label %bb4 ] bb2: ; preds = %bb4, %bb4 store i8 1, i8* %_0 br label %bb5 bb3: ; preds = %bb4, %bb1 store i8 0, i8* %_0 br label %bb5 bb4: ; preds = %bb1 %8 = bitcast %"option::Option"* %_5 to { i8, i8 }* %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %8, i32 0, i32 1 %10 = load i8, i8* %9, !range !7 %11 = sext i8 %10 to i16 switch i16 %11, label %bb3 [ i16 0, label %bb2 i16 1, label %bb2 ] bb5: ; preds = %bb2, %bb3 %12 = load i8, i8* %_0, !range !2 %13 = trunc i8 %12 to i1 ret i1 %13 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %_5 = alloca %"option::Option" %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN69_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..PartialOrd$GT$11partial_cmp17hfc5204fadcefc60fE"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1) store i16 %2, i16* %abi_cast %3 = bitcast %"option::Option"* %_5 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %"option::Option", %"option::Option"* %_5, i32 0, i32 0 %6 = load i8, i8* %5, !range !2 %7 = zext i8 %6 to i16 switch i16 %7, label %bb3 [ i16 1, label %bb4 ] bb2: ; preds = %bb4, %bb4 store i8 1, i8* %_0 br label %bb5 bb3: ; preds = %bb4, %bb1 store i8 0, i8* %_0 br label %bb5 bb4: ; preds = %bb1 %8 = bitcast %"option::Option"* %_5 to { i8, i8 }* %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %8, i32 0, i32 1 %10 = load i8, i8* %9, !range !7 %11 = sext i8 %10 to i16 switch i16 %11, label %bb3 [ i16 0, label %bb2 i16 1, label %bb2 ] bb5: ; preds = %bb2, %bb3 %12 = load i8, i8* %_0, !range !2 %13 = trunc i8 %12 to i1 ret i1 %13 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3cmp3min17h1e7efd6f790a1e21E(i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_10 = alloca i8 %v2 = alloca i16 %v1 = alloca i16 %_0 = alloca i16 br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_10 store i8 1, i8* %_10 store i16 %0, i16* %v1 store i8 1, i8* %_11 store i16 %1, i16* %v2 %2 = invoke zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2le17h609ed9f35cfe4435E"(i16* noalias readonly dereferenceable(2) %v1, i16* noalias readonly dereferenceable(2) %v2) to label %bb3 unwind label %cleanup bb1: ; preds = %bb9, %bb2 %3 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %3 bb2: ; preds = %bb10, %bb11 %4 = load i8, i8* %_10, !range !2 %5 = trunc i8 %4 to i1 br i1 %5, label %bb9, label %bb1 bb3: ; preds = %start br i1 %2, label %bb4, label %bb5 bb4: ; preds = %bb3 store i8 0, i8* %_10 %6 = load i16, i16* %v1 store i16 %6, i16* %_0 br label %bb6 bb5: ; preds = %bb3 store i8 0, i8* %_11 %7 = load i16, i16* %v2 store i16 %7, i16* %_0 br label %bb6 bb6: ; preds = %bb5, %bb4 %8 = load i8, i8* %_11, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb12, label %bb7 bb7: ; preds = %bb12, %bb6 %10 = load i8, i8* %_10, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb13, label %bb8 bb8: ; preds = %bb13, %bb7 %12 = load i16, i16* %_0 ret i16 %12 bb9: ; preds = %bb2 store i8 0, i8* %_10 br label %bb1 bb10: ; preds = %bb11 store i8 0, i8* %_11 br label %bb2 bb11: ; preds = %cleanup %13 = load i8, i8* %_11, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb10, label %bb2 bb12: ; preds = %bb6 store i8 0, i8* %_11 br label %bb7 bb13: ; preds = %bb7 store i8 0, i8* %_10 br label %bb8 cleanup: ; preds = %start %15 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %15, { i8*, i32 }* %personalityslot br label %bb11 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core3cmp3max17h87d192de69373d4eE(i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_10 = alloca i8 %v2 = alloca i16 %v1 = alloca i16 %_0 = alloca i16 br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_10 store i8 1, i8* %_10 store i16 %0, i16* %v1 store i8 1, i8* %_11 store i16 %1, i16* %v2 %2 = invoke zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2ge17h1919a634d337a09cE"(i16* noalias readonly dereferenceable(2) %v2, i16* noalias readonly dereferenceable(2) %v1) to label %bb3 unwind label %cleanup bb1: ; preds = %bb9, %bb2 %3 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %3 bb2: ; preds = %bb10, %bb11 %4 = load i8, i8* %_10, !range !2 %5 = trunc i8 %4 to i1 br i1 %5, label %bb9, label %bb1 bb3: ; preds = %start br i1 %2, label %bb4, label %bb5 bb4: ; preds = %bb3 store i8 0, i8* %_11 %6 = load i16, i16* %v2 store i16 %6, i16* %_0 br label %bb6 bb5: ; preds = %bb3 store i8 0, i8* %_10 %7 = load i16, i16* %v1 store i16 %7, i16* %_0 br label %bb6 bb6: ; preds = %bb5, %bb4 %8 = load i8, i8* %_11, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb12, label %bb7 bb7: ; preds = %bb12, %bb6 %10 = load i8, i8* %_10, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb13, label %bb8 bb8: ; preds = %bb13, %bb7 %12 = load i16, i16* %_0 ret i16 %12 bb9: ; preds = %bb2 store i8 0, i8* %_10 br label %bb1 bb10: ; preds = %bb11 store i8 0, i8* %_11 br label %bb2 bb11: ; preds = %cleanup %13 = load i8, i8* %_11, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb10, label %bb2 bb12: ; preds = %bb6 store i8 0, i8* %_11 br label %bb7 bb13: ; preds = %bb7 store i8 0, i8* %_10 br label %bb8 cleanup: ; preds = %start %15 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %15, { i8*, i32 }* %personalityslot br label %bb11 } ; Function Attrs: uwtable define zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$$u21$$GT$2eq17h1af23c54d4d4b65cE"({}* noalias readonly, {}* noalias readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block unreachable } ; Function Attrs: uwtable define i16 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u21$$GT$11partial_cmp17h7ec6f7edff880cc1E"({}* noalias readonly, {}* noalias readonly) unnamed_addr #1 { entry-block: %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$u21$$GT$3cmp17h7657523057b9e310E"({}* noalias readonly, {}* noalias readonly) unnamed_addr #1 { entry-block: %_0 = alloca i8 br label %start start: ; preds = %entry-block unreachable } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls91_$LT$impl$u20$core..cmp..PartialEq$LT$$RF$$u27$b$u20$B$GT$$u20$for$u20$$RF$$u27$a$u20$A$GT$2eq17h0b0532908da2580dE"({ i8*, i16 }* noalias readonly dereferenceable(4), { i8*, i16 }* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %0, i32 0, i32 0 %3 = load i8*, i8** %2, !nonnull !1 %4 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %0, i32 0, i32 1 %5 = load i16, i16* %4 %6 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %1, i32 0, i32 0 %7 = load i8*, i8** %6, !nonnull !1 %8 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %1, i32 0, i32 1 %9 = load i16, i16* %8 %10 = call zeroext i1 @"_ZN4core5slice81_$LT$impl$u20$core..cmp..PartialEq$LT$$u5b$B$u5d$$GT$$u20$for$u20$$u5b$A$u5d$$GT$2eq17h420934823be0c250E"(i8* noalias nonnull readonly %3, i16 %5, i8* noalias nonnull readonly %7, i16 %9) br label %bb1 bb1: ; preds = %start ret i1 %10 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls91_$LT$impl$u20$core..cmp..PartialEq$LT$$RF$$u27$b$u20$B$GT$$u20$for$u20$$RF$$u27$a$u20$A$GT$2eq17h9b8517854c4565d5E"(i8** noalias readonly dereferenceable(2), i8** noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i8*, i8** %0, !nonnull !1 %3 = load i8*, i8** %1, !nonnull !1 %4 = call zeroext i1 @"_ZN4core3cmp5impls53_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u8$GT$2eq17h777a920c4bcd4964E"(i8* noalias readonly dereferenceable(1) %2, i8* noalias readonly dereferenceable(1) %3) br label %bb1 bb1: ; preds = %start ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls92_$LT$impl$u20$core..cmp..PartialOrd$LT$$RF$$u27$b$u20$B$GT$$u20$for$u20$$RF$$u27$a$u20$A$GT$2le17hc600cfc73bb8987aE"(%"num::bignum::Big32x40"** noalias readonly dereferenceable(2), %"num::bignum::Big32x40"** noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load %"num::bignum::Big32x40"*, %"num::bignum::Big32x40"** %0, !nonnull !1 %3 = load %"num::bignum::Big32x40"*, %"num::bignum::Big32x40"** %1, !nonnull !1 %4 = call zeroext i1 @_ZN4core3cmp10PartialOrd2le17hce34067e55ecf7beE(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %2, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %3) br label %bb1 bb1: ; preds = %start ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls92_$LT$impl$u20$core..cmp..PartialOrd$LT$$RF$$u27$b$u20$B$GT$$u20$for$u20$$RF$$u27$a$u20$A$GT$2ge17h3a655434962cd5dcE"(%"num::bignum::tests::Big8x3"** noalias readonly dereferenceable(2), %"num::bignum::tests::Big8x3"** noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load %"num::bignum::tests::Big8x3"*, %"num::bignum::tests::Big8x3"** %0, !nonnull !1 %3 = load %"num::bignum::tests::Big8x3"*, %"num::bignum::tests::Big8x3"** %1, !nonnull !1 %4 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h41bd07a83779d87eE(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %2, %"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %3) br label %bb1 bb1: ; preds = %start ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls92_$LT$impl$u20$core..cmp..PartialOrd$LT$$RF$$u27$b$u20$B$GT$$u20$for$u20$$RF$$u27$a$u20$A$GT$2ge17hef32746b8e462a2aE"(%"num::bignum::Big32x40"** noalias readonly dereferenceable(2), %"num::bignum::Big32x40"** noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load %"num::bignum::Big32x40"*, %"num::bignum::Big32x40"** %0, !nonnull !1 %3 = load %"num::bignum::Big32x40"*, %"num::bignum::Big32x40"** %1, !nonnull !1 %4 = call zeroext i1 @_ZN4core3cmp10PartialOrd2ge17h5e0724b5e5531eb6E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %2, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %3) br label %bb1 bb1: ; preds = %start ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal { %"num::flt2dec::Part"*, i16 } @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..clone..Clone$GT$5clone17h0779111f5a29dc15E"({ %"num::flt2dec::Part"*, i16 }* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %0, i32 0, i32 0 %2 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %1, !nonnull !1 %3 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %0, i32 0, i32 1 %4 = load i16, i16* %3 %5 = insertvalue { %"num::flt2dec::Part"*, i16 } undef, %"num::flt2dec::Part"* %2, 0 %6 = insertvalue { %"num::flt2dec::Part"*, i16 } %5, i16 %4, 1 ret { %"num::flt2dec::Part"*, i16 } %6 } ; Function Attrs: inlinehint uwtable define internal %str_slice @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..clone..Clone$GT$5clone17h7972d18625be493bE"(%str_slice* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %str_slice, %str_slice* %0, i32 0, i32 0 %2 = load i8*, i8** %1, !nonnull !1 %3 = getelementptr inbounds %str_slice, %str_slice* %0, i32 0, i32 1 %4 = load i16, i16* %3 %5 = insertvalue %str_slice undef, i8* %2, 0 %6 = insertvalue %str_slice %5, i16 %4, 1 ret %str_slice %6 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..clone..Clone$GT$5clone17hf318fed4706f90ddE"({ i8*, i16 }* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %0, i32 0, i32 0 %2 = load i8*, i8** %1, !nonnull !1 %3 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %0, i32 0, i32 1 %4 = load i16, i16* %3 %5 = insertvalue { i8*, i16 } undef, i8* %2, 0 %6 = insertvalue { i8*, i16 } %5, i16 %4, 1 ret { i8*, i16 } %6 } ; Function Attrs: uwtable define internal i8 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h42068cad2ef3f422E"(i8) unnamed_addr #1 { entry-block: %_3 = alloca %"num::dec2flt::ParseFloatError" %t = alloca %"num::dec2flt::ParseFloatError" %_0 = alloca %"num::dec2flt::ParseFloatError" %abi_cast = alloca i8 %arg0 = alloca %"num::dec2flt::ParseFloatError" store i8 %0, i8* %abi_cast %1 = bitcast %"num::dec2flt::ParseFloatError"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %1, i8* %abi_cast, i16 1, i32 1, i1 false) br label %start start: ; preds = %entry-block %2 = bitcast %"num::dec2flt::ParseFloatError"* %arg0 to i8* %3 = bitcast %"num::dec2flt::ParseFloatError"* %t to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 1, i32 1, i1 false) %4 = bitcast %"num::dec2flt::ParseFloatError"* %t to i8* %5 = bitcast %"num::dec2flt::ParseFloatError"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 1, i32 1, i1 false) %6 = bitcast %"num::dec2flt::ParseFloatError"* %_3 to i8* %7 = bitcast %"num::dec2flt::ParseFloatError"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 1, i32 1, i1 false) %8 = bitcast %"num::dec2flt::ParseFloatError"* %_0 to i8* %9 = load i8, i8* %8, align 1 ret i8 %9 } ; Function Attrs: uwtable define internal void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret void } ; Function Attrs: uwtable define internal void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h9956ac79bc4430c3E"(%"str::Utf8Error"* noalias nocapture sret dereferenceable(4), %"str::Utf8Error"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"str::Utf8Error" %t = alloca %"str::Utf8Error" br label %start start: ; preds = %entry-block %2 = bitcast %"str::Utf8Error"* %1 to i8* %3 = bitcast %"str::Utf8Error"* %t to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"str::Utf8Error"* %t to i8* %5 = bitcast %"str::Utf8Error"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"str::Utf8Error"* %_3 to i8* %7 = bitcast %"str::Utf8Error"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define i8 @"_ZN77_$LT$core..any..Any$u20$$u2b$$u20$$u27$static$u20$as$u20$core..fmt..Debug$GT$3fmt17h1fcf5811b146f192E"(i8* nonnull, void (i8*)** noalias nonnull readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = call i8 @_ZN4core3fmt9Formatter3pad17h83d3487e91faf71cE(%"fmt::Formatter"* dereferenceable(32) %2, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.5X, i32 0, i32 0), i16 3) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define i8 @"_ZN110_$LT$core..any..Any$u20$$u2b$$u20$core..marker..Send$u20$$u2b$$u20$$u27$static$u20$as$u20$core..fmt..Debug$GT$3fmt17h88c40a6cc4517f61E"(i8* nonnull, void (i8*)** noalias nonnull readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = call i8 @_ZN4core3fmt9Formatter3pad17h83d3487e91faf71cE(%"fmt::Formatter"* dereferenceable(32) %2, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.5X, i32 0, i32 0), i16 3) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define i8 @"_ZN73_$LT$core..sync..atomic..AtomicBool$u20$as$u20$core..default..Default$GT$7default17h11634f5210977655E"() unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"sync::atomic::AtomicBool" br label %start start: ; preds = %entry-block %0 = call i8 @_ZN4core4sync6atomic10AtomicBool3new17hc679e5b464395350E(i1 zeroext false) store i8 %0, i8* %abi_cast %1 = bitcast %"sync::atomic::AtomicBool"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %1, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %2 = bitcast %"sync::atomic::AtomicBool"* %_0 to i8* %3 = load i8, i8* %2, align 1 ret i8 %3 } ; Function Attrs: inlinehint uwtable define internal i8 @_ZN4core4sync6atomic10AtomicBool3new17hc679e5b464395350E(i1 zeroext) unnamed_addr #0 { entry-block: %abi_cast = alloca i8 %_3 = alloca %"cell::UnsafeCell" %_0 = alloca %"sync::atomic::AtomicBool" br label %start start: ; preds = %entry-block %1 = zext i1 %0 to i8 %2 = call i8 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17h5c7e5e9956564933E"(i8 %1) store i8 %2, i8* %abi_cast %3 = bitcast %"cell::UnsafeCell"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = getelementptr inbounds %"sync::atomic::AtomicBool", %"sync::atomic::AtomicBool"* %_0, i32 0, i32 0 %5 = bitcast %"cell::UnsafeCell"* %_3 to i8* %6 = bitcast %"cell::UnsafeCell"* %4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 1, i32 1, i1 false) %7 = bitcast %"sync::atomic::AtomicBool"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @_ZN4core4sync6atomic10AtomicBool4load17he3c846f2bc65dc3dE(%"sync::atomic::AtomicBool"* dereferenceable(1), i8) unnamed_addr #0 { entry-block: %_9 = alloca i8 %order = alloca i8 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = getelementptr inbounds %"sync::atomic::AtomicBool", %"sync::atomic::AtomicBool"* %0, i32 0, i32 0 %4 = call i8* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17hb5c398caebcdac3aE"(%"cell::UnsafeCell"* dereferenceable(1) %3) br label %bb1 bb1: ; preds = %start %5 = load i8, i8* %order store i8 %5, i8* %_9 %6 = load i8, i8* %_9 %7 = call i8 @_ZN4core4sync6atomic11atomic_load17h518c66146e8854a4E(i8* %4, i8 %6) br label %bb2 bb2: ; preds = %bb1 %8 = icmp ne i8 %7, 0 ret i1 %8 } ; Function Attrs: inlinehint uwtable define internal i8 @_ZN4core4sync6atomic11atomic_load17h518c66146e8854a4E(i8*, i8) unnamed_addr #0 { entry-block: %order = alloca i8 %_0 = alloca i8 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = load i8, i8* %order, !range !10 %4 = zext i8 %3 to i16 switch i16 %4, label %bb6 [ i16 0, label %bb2 i16 1, label %bb4 i16 2, label %bb1 i16 3, label %bb5 i16 4, label %bb3 ] bb1: ; preds = %start %5 = load atomic i8, i8* %0 acquire, align 1 store i8 %5, i8* %_0 br label %bb8 bb2: ; preds = %start %6 = load atomic i8, i8* %0 monotonic, align 1 store i8 %6, i8* %_0 br label %bb9 bb3: ; preds = %start %7 = load atomic i8, i8* %0 seq_cst, align 1 store i8 %7, i8* %_0 br label %bb10 bb4: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17hdc2e1f0507338a79E) unreachable bb5: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h21a76ff909701ce8E) unreachable bb6: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h14074b5b0a72ef82E) unreachable bb7: ; preds = %bb9, %bb8, %bb10 %8 = load i8, i8* %_0 ret i8 %8 bb8: ; preds = %bb1 br label %bb7 bb9: ; preds = %bb2 br label %bb7 bb10: ; preds = %bb3 br label %bb7 } ; Function Attrs: inlinehint uwtable define internal i8 @_ZN4core4sync6atomic11atomic_load17h74d664f2d2072dc1E(i8*, i8) unnamed_addr #0 { entry-block: %order = alloca i8 %_0 = alloca i8 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = load i8, i8* %order, !range !10 %4 = zext i8 %3 to i16 switch i16 %4, label %bb6 [ i16 0, label %bb2 i16 1, label %bb4 i16 2, label %bb1 i16 3, label %bb5 i16 4, label %bb3 ] bb1: ; preds = %start %5 = load atomic i8, i8* %0 acquire, align 1 store i8 %5, i8* %_0 br label %bb8 bb2: ; preds = %start %6 = load atomic i8, i8* %0 monotonic, align 1 store i8 %6, i8* %_0 br label %bb9 bb3: ; preds = %start %7 = load atomic i8, i8* %0 seq_cst, align 1 store i8 %7, i8* %_0 br label %bb10 bb4: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17hdc2e1f0507338a79E) unreachable bb5: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h21a76ff909701ce8E) unreachable bb6: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h14074b5b0a72ef82E) unreachable bb7: ; preds = %bb9, %bb8, %bb10 %8 = load i8, i8* %_0 ret i8 %8 bb8: ; preds = %bb1 br label %bb7 bb9: ; preds = %bb2 br label %bb7 bb10: ; preds = %bb3 br label %bb7 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4sync6atomic11atomic_load17h9977d1b8983da2bdE(i16*, i8) unnamed_addr #0 { entry-block: %order = alloca i8 %_0 = alloca i16 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = load i8, i8* %order, !range !10 %4 = zext i8 %3 to i16 switch i16 %4, label %bb6 [ i16 0, label %bb2 i16 1, label %bb4 i16 2, label %bb1 i16 3, label %bb5 i16 4, label %bb3 ] bb1: ; preds = %start %5 = load atomic i16, i16* %0 acquire, align 2 store i16 %5, i16* %_0 br label %bb8 bb2: ; preds = %start %6 = load atomic i16, i16* %0 monotonic, align 2 store i16 %6, i16* %_0 br label %bb9 bb3: ; preds = %start %7 = load atomic i16, i16* %0 seq_cst, align 2 store i16 %7, i16* %_0 br label %bb10 bb4: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17hdc2e1f0507338a79E) unreachable bb5: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h21a76ff909701ce8E) unreachable bb6: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h14074b5b0a72ef82E) unreachable bb7: ; preds = %bb9, %bb8, %bb10 %8 = load i16, i16* %_0 ret i16 %8 bb8: ; preds = %bb1 br label %bb7 bb9: ; preds = %bb2 br label %bb7 bb10: ; preds = %bb3 br label %bb7 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4sync6atomic11atomic_load17hc1e218785bc77d4cE(i16*, i8) unnamed_addr #0 { entry-block: %order = alloca i8 %_0 = alloca i16 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = load i8, i8* %order, !range !10 %4 = zext i8 %3 to i16 switch i16 %4, label %bb6 [ i16 0, label %bb2 i16 1, label %bb4 i16 2, label %bb1 i16 3, label %bb5 i16 4, label %bb3 ] bb1: ; preds = %start %5 = load atomic i16, i16* %0 acquire, align 2 store i16 %5, i16* %_0 br label %bb8 bb2: ; preds = %start %6 = load atomic i16, i16* %0 monotonic, align 2 store i16 %6, i16* %_0 br label %bb9 bb3: ; preds = %start %7 = load atomic i16, i16* %0 seq_cst, align 2 store i16 %7, i16* %_0 br label %bb10 bb4: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17hdc2e1f0507338a79E) unreachable bb5: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h21a76ff909701ce8E) unreachable bb6: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h14074b5b0a72ef82E) unreachable bb7: ; preds = %bb9, %bb8, %bb10 %8 = load i16, i16* %_0 ret i16 %8 bb8: ; preds = %bb1 br label %bb7 bb9: ; preds = %bb2 br label %bb7 bb10: ; preds = %bb3 br label %bb7 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4sync6atomic11atomic_load17he12e354b35788fd6E(i16*, i8) unnamed_addr #0 { entry-block: %order = alloca i8 %_0 = alloca i16 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = load i8, i8* %order, !range !10 %4 = zext i8 %3 to i16 switch i16 %4, label %bb6 [ i16 0, label %bb2 i16 1, label %bb4 i16 2, label %bb1 i16 3, label %bb5 i16 4, label %bb3 ] bb1: ; preds = %start %5 = load atomic i16, i16* %0 acquire, align 2 store i16 %5, i16* %_0 br label %bb8 bb2: ; preds = %start %6 = load atomic i16, i16* %0 monotonic, align 2 store i16 %6, i16* %_0 br label %bb9 bb3: ; preds = %start %7 = load atomic i16, i16* %0 seq_cst, align 2 store i16 %7, i16* %_0 br label %bb10 bb4: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17hdc2e1f0507338a79E) unreachable bb5: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h21a76ff909701ce8E) unreachable bb6: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h14074b5b0a72ef82E) unreachable bb7: ; preds = %bb9, %bb8, %bb10 %8 = load i16, i16* %_0 ret i16 %8 bb8: ; preds = %bb1 br label %bb7 bb9: ; preds = %bb2 br label %bb7 bb10: ; preds = %bb3 br label %bb7 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4sync6atomic11atomic_load17he3a0f9f90bbc3738E(i16*, i8) unnamed_addr #0 { entry-block: %order = alloca i8 %_0 = alloca i16 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = load i8, i8* %order, !range !10 %4 = zext i8 %3 to i16 switch i16 %4, label %bb6 [ i16 0, label %bb2 i16 1, label %bb4 i16 2, label %bb1 i16 3, label %bb5 i16 4, label %bb3 ] bb1: ; preds = %start %5 = load atomic i16, i16* %0 acquire, align 2 store i16 %5, i16* %_0 br label %bb8 bb2: ; preds = %start %6 = load atomic i16, i16* %0 monotonic, align 2 store i16 %6, i16* %_0 br label %bb9 bb3: ; preds = %start %7 = load atomic i16, i16* %0 seq_cst, align 2 store i16 %7, i16* %_0 br label %bb10 bb4: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17hdc2e1f0507338a79E) unreachable bb5: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h21a76ff909701ce8E) unreachable bb6: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17h14074b5b0a72ef82E) unreachable bb7: ; preds = %bb9, %bb8, %bb10 %8 = load i16, i16* %_0 ret i16 %8 bb8: ; preds = %bb1 br label %bb7 bb9: ; preds = %bb2 br label %bb7 bb10: ; preds = %bb3 br label %bb7 } ; Function Attrs: uwtable define i8 @"_ZN67_$LT$core..sync..atomic..AtomicBool$u20$as$u20$core..fmt..Debug$GT$3fmt17hda6dd4a49cc103b1E"(%"sync::atomic::AtomicBool"* dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca i8 %_15 = alloca i8 %_8 = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %_8, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([10 x i8], [10 x i8]* @str.5Y, i32 0, i32 0), i16 10) br label %bb1 bb1: ; preds = %start store i8 4, i8* %_17 %2 = load i8, i8* %_17 %3 = call zeroext i1 @_ZN4core4sync6atomic10AtomicBool4load17he3c846f2bc65dc3dE(%"sync::atomic::AtomicBool"* dereferenceable(1) %0, i8 %2) %4 = zext i1 %3 to i8 store i8 %4, i8* %_15 br label %bb2 bb2: ; preds = %bb1 %5 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %_8, i8* nonnull %_15, void (i8*)** noalias nonnull readonly getelementptr inbounds ({ void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* }, { void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* }* @vtable.5Z, i32 0, i32 0)) br label %bb3 bb3: ; preds = %bb2 %6 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %5) store i8 %6, i8* %abi_cast %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %8 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %9 = load i8, i8* %8, align 1 ret i8 %9 } ; Function Attrs: uwtable define internal i16 @"_ZN34_$LT$core..cell..Cell$LT$T$GT$$GT$7replace17h58c9ffe92b7292e1E"(%"cell::Cell"* dereferenceable(2), i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 1, i8* %_11 %2 = getelementptr inbounds %"cell::Cell", %"cell::Cell"* %0, i32 0, i32 0 %3 = invoke i16* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17hcf72752d01708f0aE"(%"cell::UnsafeCell"* dereferenceable(2) %2) to label %bb2 unwind label %cleanup bb1: ; preds = %bb4, %bb5 %4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %4 bb2: ; preds = %start store i8 0, i8* %_11 %5 = invoke i16 @_ZN4core3mem7replace17h66b8a8c158531fc4E(i16* dereferenceable(2) %3, i16 %1) to label %bb3 unwind label %cleanup bb3: ; preds = %bb2 ret i16 %5 bb4: ; preds = %bb5 store i8 0, i8* %_11 br label %bb1 bb5: ; preds = %cleanup %6 = load i8, i8* %_11, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb4, label %bb1 cleanup: ; preds = %bb2, %start %8 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %8, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: uwtable define i8 @"_ZN60_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$3fmt17h3d8b84c590c55f3aE"(%"cell::BorrowError"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_6 = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %_6, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.60, i32 0, i32 0), i16 11) br label %bb1 bb1: ; preds = %start %2 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %_6) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN62_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Display$GT$3fmt17h4ee62b9cf173c6ddE"(%"cell::BorrowError"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h885a7c667bb6b275E"(i8* noalias nonnull readonly getelementptr inbounds ([24 x i8], [24 x i8]* @str.61, i32 0, i32 0), i16 24, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h36091b37572e282aE"(%"cell::BorrowMutError"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_6 = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %_6, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([14 x i8], [14 x i8]* @str.62, i32 0, i32 0), i16 14) br label %bb1 bb1: ; preds = %start %2 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %_6) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN65_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Display$GT$3fmt17h5934652cb8bc6b72E"(%"cell::BorrowMutError"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h885a7c667bb6b275E"(i8* noalias nonnull readonly getelementptr inbounds ([16 x i8], [16 x i8]* @str.63, i32 0, i32 0), i16 16, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17h2aab5f7b74395a98E"(i16) unnamed_addr #0 { entry-block: %_0 = alloca %"cell::UnsafeCell" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"cell::UnsafeCell", %"cell::UnsafeCell"* %_0, i32 0, i32 0 store i16 %0, i16* %1 %2 = bitcast %"cell::UnsafeCell"* %_0 to i16* %3 = load i16, i16* %2, align 2 ret i16 %3 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17h37351fa840c991e4E"(i16) unnamed_addr #0 { entry-block: %_0 = alloca %"cell::UnsafeCell" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"cell::UnsafeCell", %"cell::UnsafeCell"* %_0, i32 0, i32 0 store i16 %0, i16* %1 %2 = bitcast %"cell::UnsafeCell"* %_0 to i16* %3 = load i16, i16* %2, align 2 ret i16 %3 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17h5c7e5e9956564933E"(i8) unnamed_addr #0 { entry-block: %_0 = alloca %"cell::UnsafeCell" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"cell::UnsafeCell", %"cell::UnsafeCell"* %_0, i32 0, i32 0 store i8 %0, i8* %1 %2 = bitcast %"cell::UnsafeCell"* %_0 to i8* %3 = load i8, i8* %2, align 1 ret i8 %3 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17h6365d3ee211b3949E"(i16) unnamed_addr #0 { entry-block: %_0 = alloca %"cell::UnsafeCell" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"cell::UnsafeCell", %"cell::UnsafeCell"* %_0, i32 0, i32 0 store i16 %0, i16* %1 %2 = bitcast %"cell::UnsafeCell"* %_0 to i16* %3 = load i16, i16* %2, align 2 ret i16 %3 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17h88deda10f7bed8bdE"(i8) unnamed_addr #0 { entry-block: %_0 = alloca %"cell::UnsafeCell" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"cell::UnsafeCell", %"cell::UnsafeCell"* %_0, i32 0, i32 0 store i8 %0, i8* %1 %2 = bitcast %"cell::UnsafeCell"* %_0 to i8* %3 = load i8, i8* %2, align 1 ret i8 %3 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17hb16c050b07acf792E"(i16) unnamed_addr #0 { entry-block: %_0 = alloca %"cell::UnsafeCell" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"cell::UnsafeCell", %"cell::UnsafeCell"* %_0, i32 0, i32 0 store i16 %0, i16* %1 %2 = bitcast %"cell::UnsafeCell"* %_0 to i16* %3 = load i16, i16* %2, align 2 ret i16 %3 } ; Function Attrs: inlinehint uwtable define internal i16* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17h25c5c5327ac56599E"(%"cell::UnsafeCell"* dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"cell::UnsafeCell", %"cell::UnsafeCell"* %0, i32 0, i32 0 ret i16* %1 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17h350cc4e05ab32c66E"(%"cell::UnsafeCell"* dereferenceable(1)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"cell::UnsafeCell", %"cell::UnsafeCell"* %0, i32 0, i32 0 ret i8* %1 } ; Function Attrs: inlinehint uwtable define internal i16* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17h408bf2f41791f228E"(%"cell::UnsafeCell"* dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"cell::UnsafeCell", %"cell::UnsafeCell"* %0, i32 0, i32 0 ret i16* %1 } ; Function Attrs: inlinehint uwtable define internal i16* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17h5ef9df888c47a84bE"(%"cell::UnsafeCell"* dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"cell::UnsafeCell", %"cell::UnsafeCell"* %0, i32 0, i32 0 ret i16* %1 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17hb5c398caebcdac3aE"(%"cell::UnsafeCell"* dereferenceable(1)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"cell::UnsafeCell", %"cell::UnsafeCell"* %0, i32 0, i32 0 ret i8* %1 } ; Function Attrs: inlinehint uwtable define internal i16* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17hcf72752d01708f0aE"(%"cell::UnsafeCell"* dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"cell::UnsafeCell", %"cell::UnsafeCell"* %0, i32 0, i32 0 ret i16* %1 } ; Function Attrs: uwtable define internal void @_ZN4core4cell21assert_coerce_unsized17h8daee65e26421eafE(i8*, i8*, %"cell::RefCell<&i32>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_12 = alloca %"cell::RefCell<&i32>" %_11 = alloca %"cell::RefCell<&marker::Send>" %_10 = alloca %"cell::Cell<&i32>" %_9 = alloca %"cell::Cell<&marker::Send>" %_8 = alloca %"cell::UnsafeCell<&i32>" %_7 = alloca %"cell::UnsafeCell<&marker::Send>" %c = alloca %"cell::RefCell<&i32>" %b = alloca %"cell::Cell<&i32>" %a = alloca %"cell::UnsafeCell<&i32>" %_0 = alloca {} %abi_cast1 = alloca i8* %arg1 = alloca %"cell::Cell<&i32>" %abi_cast = alloca i8* %arg0 = alloca %"cell::UnsafeCell<&i32>" store i8* %0, i8** %abi_cast %3 = bitcast %"cell::UnsafeCell<&i32>"* %arg0 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) store i8* %1, i8** %abi_cast1 %5 = bitcast %"cell::Cell<&i32>"* %arg1 to i8* %6 = bitcast i8** %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %6, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %7 = bitcast %"cell::UnsafeCell<&i32>"* %arg0 to i8* %8 = bitcast %"cell::UnsafeCell<&i32>"* %a to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = bitcast %"cell::Cell<&i32>"* %arg1 to i8* %10 = bitcast %"cell::Cell<&i32>"* %b to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 2, i32 2, i1 false) %11 = bitcast %"cell::RefCell<&i32>"* %2 to i8* %12 = bitcast %"cell::RefCell<&i32>"* %c to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) %13 = bitcast %"cell::UnsafeCell<&i32>"* %a to i8* %14 = bitcast %"cell::UnsafeCell<&i32>"* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %13, i16 2, i32 2, i1 false) %15 = getelementptr inbounds %"cell::UnsafeCell<&i32>", %"cell::UnsafeCell<&i32>"* %_8, i32 0, i32 0 %16 = getelementptr inbounds %"cell::UnsafeCell<&marker::Send>", %"cell::UnsafeCell<&marker::Send>"* %_7, i32 0, i32 0 %17 = load i32*, i32** %15, !nonnull !1 %18 = bitcast i32* %17 to i8* %19 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %16, i32 0, i32 0 store i8* %18, i8** %19 %20 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %16, i32 0, i32 1 store void (i8*)** bitcast ({ void (i32*)*, i16, i16 }* @vtable.64 to void (i8*)**), void (i8*)*** %20 %21 = bitcast %"cell::Cell<&i32>"* %b to i8* %22 = bitcast %"cell::Cell<&i32>"* %_10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 2, i32 2, i1 false) %23 = getelementptr inbounds %"cell::Cell<&i32>", %"cell::Cell<&i32>"* %_10, i32 0, i32 0 %24 = getelementptr inbounds %"cell::Cell<&marker::Send>", %"cell::Cell<&marker::Send>"* %_9, i32 0, i32 0 %25 = getelementptr inbounds %"cell::UnsafeCell<&i32>", %"cell::UnsafeCell<&i32>"* %23, i32 0, i32 0 %26 = getelementptr inbounds %"cell::UnsafeCell<&marker::Send>", %"cell::UnsafeCell<&marker::Send>"* %24, i32 0, i32 0 %27 = load i32*, i32** %25, !nonnull !1 %28 = bitcast i32* %27 to i8* %29 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %26, i32 0, i32 0 store i8* %28, i8** %29 %30 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %26, i32 0, i32 1 store void (i8*)** bitcast ({ void (i32*)*, i16, i16 }* @vtable.64 to void (i8*)**), void (i8*)*** %30 %31 = bitcast %"cell::RefCell<&i32>"* %c to i8* %32 = bitcast %"cell::RefCell<&i32>"* %_12 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %32, i8* %31, i16 4, i32 2, i1 false) %33 = getelementptr inbounds %"cell::RefCell<&i32>", %"cell::RefCell<&i32>"* %_12, i32 0, i32 0 %34 = getelementptr inbounds %"cell::RefCell<&marker::Send>", %"cell::RefCell<&marker::Send>"* %_11, i32 0, i32 0 %35 = bitcast %"cell::Cell"* %33 to i8* %36 = bitcast %"cell::Cell"* %34 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %36, i8* %35, i16 2, i32 2, i1 false) %37 = getelementptr inbounds %"cell::RefCell<&i32>", %"cell::RefCell<&i32>"* %_12, i32 0, i32 1 %38 = getelementptr inbounds %"cell::RefCell<&marker::Send>", %"cell::RefCell<&marker::Send>"* %_11, i32 0, i32 1 %39 = getelementptr inbounds %"cell::UnsafeCell<&i32>", %"cell::UnsafeCell<&i32>"* %37, i32 0, i32 0 %40 = getelementptr inbounds %"cell::UnsafeCell<&marker::Send>", %"cell::UnsafeCell<&marker::Send>"* %38, i32 0, i32 0 %41 = load i32*, i32** %39, !nonnull !1 %42 = bitcast i32* %41 to i8* %43 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %40, i32 0, i32 0 store i8* %42, i8** %43 %44 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %40, i32 0, i32 1 store void (i8*)** bitcast ({ void (i32*)*, i16, i16 }* @vtable.64 to void (i8*)**), void (i8*)*** %44 ret void } ; Function Attrs: inlinehint uwtable define internal i32 @_ZN4core4char18from_u32_unchecked17haf92f749e2ff02abE(i32) unnamed_addr #0 { entry-block: %transmute_temp = alloca i32 br label %start start: ; preds = %entry-block store i32 %0, i32* %transmute_temp, align 4 %1 = load i32, i32* %transmute_temp, !range !11 br label %bb1 bb1: ; preds = %start ret i32 %1 } ; Function Attrs: uwtable define i8 @"_ZN67_$LT$core..char..CharTryFromError$u20$as$u20$core..fmt..Display$GT$3fmt17hb624126c04aa6455E"(%"char::CharTryFromError"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h885a7c667bb6b275E"(i8* noalias nonnull readonly getelementptr inbounds ([41 x i8], [41 x i8]* @str.65, i32 0, i32 0), i16 41, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4char10from_digit17h21b2434855ed2be4E(%"option::Option"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %_5 = alloca {} br label %start start: ; preds = %entry-block %3 = icmp ugt i32 %2, 36 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core4char10from_digit14_MSG_FILE_LINE17h142076d2110a31d5E) unreachable bb2: ; preds = %start %4 = icmp ult i32 %1, %2 br i1 %4, label %bb3, label %bb4 bb3: ; preds = %bb2 %5 = trunc i32 %1 to i8 %6 = icmp ult i8 %5, 10 br i1 %6, label %bb5, label %bb6 bb4: ; preds = %bb2 %7 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %7 br label %bb11 bb5: ; preds = %bb3 %8 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %5) %9 = extractvalue { i8, i1 } %8, 0 %10 = extractvalue { i8, i1 } %8, 1 %11 = call i1 @llvm.expect.i1(i1 %10, i1 false) br i1 %11, label %panic, label %bb7 bb6: ; preds = %bb3 %12 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 97, i8 %5) %13 = extractvalue { i8, i1 } %12, 0 %14 = extractvalue { i8, i1 } %12, 1 %15 = call i1 @llvm.expect.i1(i1 %14, i1 false) br i1 %15, label %panic1, label %bb8 bb7: ; preds = %bb5 %16 = zext i8 %9 to i32 %17 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %17 %18 = bitcast %"option::Option"* %0 to { i32, i32 }* %19 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %18, i32 0, i32 1 store i32 %16, i32* %19 br label %bb10 bb8: ; preds = %bb6 %20 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %13, i8 10) %21 = extractvalue { i8, i1 } %20, 0 %22 = extractvalue { i8, i1 } %20, 1 %23 = call i1 @llvm.expect.i1(i1 %22, i1 false) br i1 %23, label %panic2, label %bb9 bb9: ; preds = %bb8 %24 = zext i8 %21 to i32 %25 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %25 %26 = bitcast %"option::Option"* %0 to { i32, i32 }* %27 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %26, i32 0, i32 1 store i32 %24, i32* %27 br label %bb10 bb10: ; preds = %bb9, %bb7 br label %bb11 bb11: ; preds = %bb4, %bb10 ret void panic: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.67) unreachable panic1: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.68) unreachable panic2: ; preds = %bb8 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.69) unreachable } ; Function Attrs: inlinehint uwtable define internal void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17h9885b7c8b7e22ae6E"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %val = alloca i32 %_5 = alloca {} br label %start start: ; preds = %entry-block %3 = icmp ugt i32 %2, 36 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17h6465b6d5284cfff6E") unreachable bb2: ; preds = %start %4 = icmp ule i32 48, %1 br i1 %4, label %bb8, label %bb7 bb3: ; preds = %bb8 %5 = call { i32, i1 } @llvm.usub.with.overflow.i32(i32 %1, i32 48) %6 = extractvalue { i32, i1 } %5, 0 %7 = extractvalue { i32, i1 } %5, 1 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic, label %bb13 bb4: ; preds = %bb10 %9 = call { i32, i1 } @llvm.usub.with.overflow.i32(i32 %1, i32 97) %10 = extractvalue { i32, i1 } %9, 0 %11 = extractvalue { i32, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic1, label %bb14 bb5: ; preds = %bb11 %13 = call { i32, i1 } @llvm.usub.with.overflow.i32(i32 %1, i32 65) %14 = extractvalue { i32, i1 } %13, 0 %15 = extractvalue { i32, i1 } %13, 1 %16 = call i1 @llvm.expect.i1(i1 %15, i1 false) br i1 %16, label %panic3, label %bb16 bb6: ; preds = %bb11, %bb9 %17 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %17 br label %bb18 bb7: ; preds = %bb8, %bb2 %18 = icmp ule i32 97, %1 br i1 %18, label %bb10, label %bb9 bb8: ; preds = %bb2 %19 = icmp ule i32 %1, 57 br i1 %19, label %bb3, label %bb7 bb9: ; preds = %bb10, %bb7 %20 = icmp ule i32 65, %1 br i1 %20, label %bb11, label %bb6 bb10: ; preds = %bb7 %21 = icmp ule i32 %1, 122 br i1 %21, label %bb4, label %bb9 bb11: ; preds = %bb9 %22 = icmp ule i32 %1, 90 br i1 %22, label %bb5, label %bb6 bb12: ; preds = %bb17, %bb15, %bb13 %23 = load i32, i32* %val %24 = icmp ult i32 %23, %2 br i1 %24, label %bb19, label %bb20 bb13: ; preds = %bb3 store i32 %6, i32* %val br label %bb12 bb14: ; preds = %bb4 %25 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %10, i32 10) %26 = extractvalue { i32, i1 } %25, 0 %27 = extractvalue { i32, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic2, label %bb15 bb15: ; preds = %bb14 store i32 %26, i32* %val br label %bb12 bb16: ; preds = %bb5 %29 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %14, i32 10) %30 = extractvalue { i32, i1 } %29, 0 %31 = extractvalue { i32, i1 } %29, 1 %32 = call i1 @llvm.expect.i1(i1 %31, i1 false) br i1 %32, label %panic4, label %bb17 bb17: ; preds = %bb16 store i32 %30, i32* %val br label %bb12 bb18: ; preds = %bb6, %bb21 ret void bb19: ; preds = %bb12 %33 = load i32, i32* %val %34 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %34 %35 = bitcast %"option::Option"* %0 to { i32, i32 }* %36 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %35, i32 0, i32 1 store i32 %33, i32* %36 br label %bb21 bb20: ; preds = %bb12 %37 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %37 br label %bb21 bb21: ; preds = %bb20, %bb19 br label %bb18 panic: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6a) unreachable panic1: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6b) unreachable panic2: ; preds = %bb14 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6c) unreachable panic3: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6d) unreachable panic4: ; preds = %bb16 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6e) unreachable } ; Function Attrs: inlinehint uwtable define internal void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$14escape_unicode17h53ce34e5e33b4a79E"(%"char::EscapeUnicode"* noalias nocapture sret dereferenceable(8), i32) unnamed_addr #0 { entry-block: %_14 = alloca i8 br label %start start: ; preds = %entry-block %2 = or i32 %1, 1 %3 = call i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$13leading_zeros17h288ca05708294ac4E"(i32 %2) br label %bb1 bb1: ; preds = %start %4 = call { i32, i1 } @llvm.usub.with.overflow.i32(i32 31, i32 %3) %5 = extractvalue { i32, i1 } %4, 0 %6 = extractvalue { i32, i1 } %4, 1 %7 = call i1 @llvm.expect.i1(i1 %6, i1 false) br i1 %7, label %panic, label %bb2 bb2: ; preds = %bb1 br label %bb3 bb3: ; preds = %bb2 %8 = udiv i32 %5, 4 store i8 5, i8* %_14 %9 = trunc i32 %8 to i16 %10 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i32 0, i32 0 store i32 %1, i32* %10 %11 = load i8, i8* %_14 %12 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i32 0, i32 1 store i8 %11, i8* %12 %13 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i32 0, i32 2 store i16 %9, i16* %13 ret void panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6f) unreachable } ; Function Attrs: inlinehint uwtable define internal void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$12escape_debug17h26d290319ceaa784E"(%"char::EscapeDebug"* noalias nocapture sret dereferenceable(12), i32) unnamed_addr #0 { entry-block: %_13 = alloca %"char::EscapeDefaultState" %_12 = alloca %"char::EscapeDefault" %_10 = alloca %"char::EscapeUnicode" %init_state = alloca %"char::EscapeDefaultState" br label %start start: ; preds = %entry-block switch i32 %1, label %bb6 [ i32 9, label %bb1 i32 13, label %bb2 i32 10, label %bb3 i32 92, label %bb4 i32 39, label %bb4 i32 34, label %bb4 ] bb1: ; preds = %start %2 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %init_state, i32 0, i32 0 store i32 2, i32* %2 %3 = bitcast %"char::EscapeDefaultState"* %init_state to { i32, i32 }* %4 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %3, i32 0, i32 1 store i32 116, i32* %4 br label %bb9 bb2: ; preds = %start %5 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %init_state, i32 0, i32 0 store i32 2, i32* %5 %6 = bitcast %"char::EscapeDefaultState"* %init_state to { i32, i32 }* %7 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %6, i32 0, i32 1 store i32 114, i32* %7 br label %bb9 bb3: ; preds = %start %8 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %init_state, i32 0, i32 0 store i32 2, i32* %8 %9 = bitcast %"char::EscapeDefaultState"* %init_state to { i32, i32 }* %10 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %9, i32 0, i32 1 store i32 110, i32* %10 br label %bb9 bb4: ; preds = %start, %start, %start %11 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %init_state, i32 0, i32 0 store i32 2, i32* %11 %12 = bitcast %"char::EscapeDefaultState"* %init_state to { i32, i32 }* %13 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %12, i32 0, i32 1 store i32 %1, i32* %13 br label %bb9 bb5: ; preds = %bb7 %14 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %init_state, i32 0, i32 0 store i32 1, i32* %14 %15 = bitcast %"char::EscapeDefaultState"* %init_state to { i32, i32 }* %16 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %15, i32 0, i32 1 store i32 %1, i32* %16 br label %bb9 bb6: ; preds = %start %17 = call zeroext i1 @_ZN4core12char_private12is_printable17hbcecc1ade5de5f82E(i32 %1) br label %bb7 bb7: ; preds = %bb6 br i1 %17, label %bb5, label %bb8 bb8: ; preds = %bb7 call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$14escape_unicode17h53ce34e5e33b4a79E"(%"char::EscapeUnicode"* noalias nocapture sret dereferenceable(8) %_10, i32 %1) br label %bb10 bb9: ; preds = %bb1, %bb2, %bb3, %bb4, %bb10, %bb5 %18 = bitcast %"char::EscapeDefaultState"* %init_state to i8* %19 = bitcast %"char::EscapeDefaultState"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 12, i32 4, i1 false) %20 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %_12, i32 0, i32 0 %21 = bitcast %"char::EscapeDefaultState"* %_13 to i8* %22 = bitcast %"char::EscapeDefaultState"* %20 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 12, i32 4, i1 false) %23 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %0, i32 0, i32 0 %24 = bitcast %"char::EscapeDefault"* %_12 to i8* %25 = bitcast %"char::EscapeDefault"* %23 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %25, i8* %24, i16 12, i32 4, i1 false) ret void bb10: ; preds = %bb8 %26 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %init_state, i32 0, i32 0 store i32 3, i32* %26 %27 = bitcast %"char::EscapeDefaultState"* %init_state to { i32, %"char::EscapeUnicode" }* %28 = getelementptr inbounds { i32, %"char::EscapeUnicode" }, { i32, %"char::EscapeUnicode" }* %27, i32 0, i32 1 %29 = bitcast %"char::EscapeUnicode"* %_10 to i8* %30 = bitcast %"char::EscapeUnicode"* %28 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %29, i16 8, i32 4, i1 false) br label %bb9 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8len_utf817h35300f67a1fb64b4E"(i32) unnamed_addr #0 { entry-block: %_0 = alloca i16 br label %start start: ; preds = %entry-block %1 = icmp ult i32 %0, 128 br i1 %1, label %bb1, label %bb2 bb1: ; preds = %start store i16 1, i16* %_0 br label %bb9 bb2: ; preds = %start %2 = icmp ult i32 %0, 2048 br i1 %2, label %bb3, label %bb4 bb3: ; preds = %bb2 store i16 2, i16* %_0 br label %bb8 bb4: ; preds = %bb2 %3 = icmp ult i32 %0, 65536 br i1 %3, label %bb5, label %bb6 bb5: ; preds = %bb4 store i16 3, i16* %_0 br label %bb7 bb6: ; preds = %bb4 store i16 4, i16* %_0 br label %bb7 bb7: ; preds = %bb6, %bb5 br label %bb8 bb8: ; preds = %bb7, %bb3 br label %bb9 bb9: ; preds = %bb8, %bb1 %4 = load i16, i16* %_0 ret i16 %4 } ; Function Attrs: inlinehint uwtable define internal %str_slice @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf817heb693f3d57942ff2E"(i32, i8* nonnull, i16) unnamed_addr #0 { entry-block: %tmp_ret2 = alloca %"fmt::ArgumentV1" %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %transmute_temp = alloca %str_slice %_104 = alloca i16 %_99 = alloca i16 %_97 = alloca { i16*, i32*, i16* } %_96 = alloca [3 x %"fmt::ArgumentV1"] %_91 = alloca %"fmt::Arguments" %_37 = alloca i8 %_19 = alloca i8 %_10 = alloca i8 %len = alloca i16 %code = alloca i32 br label %start start: ; preds = %entry-block store i32 %0, i32* %code %3 = load i32, i32* %code %4 = icmp ult i32 %3, 128 br i1 %4, label %bb3, label %bb2 bb1: ; preds = %bb5 store i8 1, i8* %_10 br label %bb4 bb2: ; preds = %bb5, %start store i8 0, i8* %_10 br label %bb4 bb3: ; preds = %start %5 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %1, i16 %2) br label %bb5 bb4: ; preds = %bb2, %bb1 %6 = load i8, i8* %_10, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb5: ; preds = %bb3 %8 = xor i1 %5, true br i1 %8, label %bb1, label %bb2 bb6: ; preds = %bb4 %9 = load i32, i32* %code %10 = call dereferenceable(1) i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h44c56d862564d483E"(i8* nonnull %1, i16 %2, i16 0) br label %bb8 bb7: ; preds = %bb4 %11 = load i32, i32* %code %12 = icmp ult i32 %11, 2048 br i1 %12, label %bb11, label %bb10 bb8: ; preds = %bb6 %13 = trunc i32 %9 to i8 store i8 %13, i8* %10 store i16 1, i16* %len br label %bb50 bb9: ; preds = %bb13 store i8 1, i8* %_19 br label %bb12 bb10: ; preds = %bb13, %bb7 store i8 0, i8* %_19 br label %bb12 bb11: ; preds = %bb7 %14 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb13 bb12: ; preds = %bb10, %bb9 %15 = load i8, i8* %_19, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb14, label %bb15 bb13: ; preds = %bb11 %17 = icmp uge i16 %14, 2 br i1 %17, label %bb9, label %bb10 bb14: ; preds = %bb12 %18 = load i32, i32* %code %19 = lshr i32 %18, 6 br label %bb16 bb15: ; preds = %bb12 %20 = load i32, i32* %code %21 = icmp ult i32 %20, 65536 br i1 %21, label %bb21, label %bb20 bb16: ; preds = %bb14 %22 = and i32 %19, 31 %23 = trunc i32 %22 to i8 %24 = call dereferenceable(1) i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h44c56d862564d483E"(i8* nonnull %1, i16 %2, i16 0) br label %bb17 bb17: ; preds = %bb16 %25 = or i8 %23, -64 store i8 %25, i8* %24 %26 = load i32, i32* %code %27 = and i32 %26, 63 %28 = trunc i32 %27 to i8 %29 = call dereferenceable(1) i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h44c56d862564d483E"(i8* nonnull %1, i16 %2, i16 1) br label %bb18 bb18: ; preds = %bb17 %30 = or i8 %28, -128 store i8 %30, i8* %29 store i16 2, i16* %len br label %bb49 bb19: ; preds = %bb23 store i8 1, i8* %_37 br label %bb22 bb20: ; preds = %bb23, %bb15 store i8 0, i8* %_37 br label %bb22 bb21: ; preds = %bb15 %31 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb23 bb22: ; preds = %bb20, %bb19 %32 = load i8, i8* %_37, !range !2 %33 = trunc i8 %32 to i1 br i1 %33, label %bb24, label %bb25 bb23: ; preds = %bb21 %34 = icmp uge i16 %31, 3 br i1 %34, label %bb19, label %bb20 bb24: ; preds = %bb22 %35 = load i32, i32* %code %36 = lshr i32 %35, 12 br label %bb26 bb25: ; preds = %bb22 %37 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb31 bb26: ; preds = %bb24 %38 = and i32 %36, 15 %39 = trunc i32 %38 to i8 %40 = call dereferenceable(1) i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h44c56d862564d483E"(i8* nonnull %1, i16 %2, i16 0) br label %bb27 bb27: ; preds = %bb26 %41 = or i8 %39, -32 store i8 %41, i8* %40 %42 = load i32, i32* %code %43 = lshr i32 %42, 6 br label %bb28 bb28: ; preds = %bb27 %44 = and i32 %43, 63 %45 = trunc i32 %44 to i8 %46 = call dereferenceable(1) i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h44c56d862564d483E"(i8* nonnull %1, i16 %2, i16 1) br label %bb29 bb29: ; preds = %bb28 %47 = or i8 %45, -128 store i8 %47, i8* %46 %48 = load i32, i32* %code %49 = and i32 %48, 63 %50 = trunc i32 %49 to i8 %51 = call dereferenceable(1) i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h44c56d862564d483E"(i8* nonnull %1, i16 %2, i16 2) br label %bb30 bb30: ; preds = %bb29 %52 = or i8 %50, -128 store i8 %52, i8* %51 store i16 3, i16* %len br label %bb48 bb31: ; preds = %bb25 %53 = icmp uge i16 %37, 4 br i1 %53, label %bb32, label %bb33 bb32: ; preds = %bb31 %54 = load i32, i32* %code %55 = lshr i32 %54, 18 br label %bb34 bb33: ; preds = %bb31 %56 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf815__STATIC_FMTSTR17hc1e04e9580246ba1E", i32 0, i32 0), !nonnull !1 %57 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf815__STATIC_FMTSTR17hc1e04e9580246ba1E", i32 0, i32 1) %58 = load i32, i32* %code %59 = call i32 @_ZN4core4char18from_u32_unchecked17haf92f749e2ff02abE(i32 %58) br label %bb41 bb34: ; preds = %bb32 %60 = and i32 %55, 7 %61 = trunc i32 %60 to i8 %62 = call dereferenceable(1) i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h44c56d862564d483E"(i8* nonnull %1, i16 %2, i16 0) br label %bb35 bb35: ; preds = %bb34 %63 = or i8 %61, -16 store i8 %63, i8* %62 %64 = load i32, i32* %code %65 = lshr i32 %64, 12 br label %bb36 bb36: ; preds = %bb35 %66 = and i32 %65, 63 %67 = trunc i32 %66 to i8 %68 = call dereferenceable(1) i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h44c56d862564d483E"(i8* nonnull %1, i16 %2, i16 1) br label %bb37 bb37: ; preds = %bb36 %69 = or i8 %67, -128 store i8 %69, i8* %68 %70 = load i32, i32* %code %71 = lshr i32 %70, 6 br label %bb38 bb38: ; preds = %bb37 %72 = and i32 %71, 63 %73 = trunc i32 %72 to i8 %74 = call dereferenceable(1) i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h44c56d862564d483E"(i8* nonnull %1, i16 %2, i16 2) br label %bb39 bb39: ; preds = %bb38 %75 = or i8 %73, -128 store i8 %75, i8* %74 %76 = load i32, i32* %code %77 = and i32 %76, 63 %78 = trunc i32 %77 to i8 %79 = call dereferenceable(1) i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h44c56d862564d483E"(i8* nonnull %1, i16 %2, i16 3) br label %bb40 bb40: ; preds = %bb39 %80 = or i8 %78, -128 store i8 %80, i8* %79 store i16 4, i16* %len br label %bb48 bb41: ; preds = %bb33 %81 = call i16 @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8len_utf817h35300f67a1fb64b4E"(i32 %59) store i16 %81, i16* %_99 br label %bb42 bb42: ; preds = %bb41 %82 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) store i16 %82, i16* %_104 br label %bb43 bb43: ; preds = %bb42 %83 = getelementptr inbounds { i16*, i32*, i16* }, { i16*, i32*, i16* }* %_97, i32 0, i32 0 store i16* %_99, i16** %83 %84 = getelementptr inbounds { i16*, i32*, i16* }, { i16*, i32*, i16* }* %_97, i32 0, i32 1 store i32* %code, i32** %84 %85 = getelementptr inbounds { i16*, i32*, i16* }, { i16*, i32*, i16* }* %_97, i32 0, i32 2 store i16* %_104, i16** %85 %86 = getelementptr inbounds { i16*, i32*, i16* }, { i16*, i32*, i16* }* %_97, i32 0, i32 0 %87 = load i16*, i16** %86, !nonnull !1 %88 = getelementptr inbounds { i16*, i32*, i16* }, { i16*, i32*, i16* }* %_97, i32 0, i32 1 %89 = load i32*, i32** %88, !nonnull !1 %90 = getelementptr inbounds { i16*, i32*, i16* }, { i16*, i32*, i16* }* %_97, i32 0, i32 2 %91 = load i16*, i16** %90, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i16* noalias readonly dereferenceable(2) %87, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %92 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %93 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %94 = load %"fmt::Void"*, %"fmt::Void"** %92, !nonnull !1 %95 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %93, !nonnull !1 br label %bb44 bb44: ; preds = %bb43 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, i32* noalias readonly dereferenceable(4) %89, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u32$GT$3fmt17h64f22a7e449212b7E") %96 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %97 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %98 = load %"fmt::Void"*, %"fmt::Void"** %96, !nonnull !1 %99 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %97, !nonnull !1 br label %bb45 bb45: ; preds = %bb44 call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret2, i16* noalias readonly dereferenceable(2) %91, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %100 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 0 %101 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 1 %102 = load %"fmt::Void"*, %"fmt::Void"** %100, !nonnull !1 %103 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %101, !nonnull !1 br label %bb46 bb46: ; preds = %bb45 %104 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_96, i32 0, i32 0 %105 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %104, i32 0, i32 0 store %"fmt::Void"* %94, %"fmt::Void"** %105 %106 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %104, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %95, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %106 %107 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_96, i32 0, i32 1 %108 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %107, i32 0, i32 0 store %"fmt::Void"* %98, %"fmt::Void"** %108 %109 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %107, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %99, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %109 %110 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_96, i32 0, i32 2 %111 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %110, i32 0, i32 0 store %"fmt::Void"* %102, %"fmt::Void"** %111 %112 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %110, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %103, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %112 %113 = bitcast [3 x %"fmt::ArgumentV1"]* %_96 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_91, %str_slice* noalias nonnull readonly %56, i16 %57, %"fmt::ArgumentV1"* noalias nonnull readonly %113, i16 3) br label %bb47 bb47: ; preds = %bb46 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_91, { %str_slice, i32 }* noalias readonly dereferenceable(8) @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf810_FILE_LINE17hecaddeadb8419568E") unreachable bb48: ; preds = %bb40, %bb30 br label %bb49 bb49: ; preds = %bb48, %bb18 br label %bb50 bb50: ; preds = %bb49, %bb8 %114 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %1, i16 %2) br label %bb51 bb51: ; preds = %bb50 %115 = load i16, i16* %len %116 = call { i8*, i16 } @_ZN4core5slice18from_raw_parts_mut17hcad6a1b102abd3d7E(i8* %114, i16 %115) %117 = extractvalue { i8*, i16 } %116, 0 %118 = extractvalue { i8*, i16 } %116, 1 br label %bb52 bb52: ; preds = %bb51 %119 = bitcast %str_slice* %transmute_temp to { i8*, i16 }* %120 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %119, i32 0, i32 0 store i8* %117, i8** %120, align 2 %121 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %119, i32 0, i32 1 store i16 %118, i16* %121, align 2 %122 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp, i32 0, i32 0 %123 = load i8*, i8** %122, !nonnull !1 %124 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp, i32 0, i32 1 %125 = load i16, i16* %124 br label %bb53 bb53: ; preds = %bb52 %126 = insertvalue %str_slice undef, i8* %123, 0 %127 = insertvalue %str_slice %126, i16 %125, 1 ret %str_slice %127 } ; Function Attrs: uwtable define void @"_ZN76_$LT$core..char..EscapeUnicode$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h2edb543b3e709a8dE"(%"option::Option"* noalias nocapture sret dereferenceable(8), %"char::EscapeUnicode"* dereferenceable(8)) unnamed_addr #1 { entry-block: %_15 = alloca {} %_13 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 1 %3 = load i8, i8* %2, !range !10 %4 = zext i8 %3 to i16 switch i16 %4, label %bb1 [ i16 0, label %bb6 i16 1, label %bb5 i16 2, label %bb4 i16 3, label %bb3 i16 4, label %bb2 ] bb1: ; preds = %start %5 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 1 store i8 4, i8* %5 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %6 %7 = bitcast %"option::Option"* %0 to { i32, i32 }* %8 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %7, i32 0, i32 1 store i32 92, i32* %8 br label %bb7 bb2: ; preds = %start %9 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 1 store i8 3, i8* %9 %10 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %10 %11 = bitcast %"option::Option"* %0 to { i32, i32 }* %12 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %11, i32 0, i32 1 store i32 117, i32* %12 br label %bb7 bb3: ; preds = %start %13 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 1 store i8 2, i8* %13 %14 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %14 %15 = bitcast %"option::Option"* %0 to { i32, i32 }* %16 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %15, i32 0, i32 1 store i32 123, i32* %16 br label %bb7 bb4: ; preds = %start %17 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 0 %18 = load i32, i32* %17, !range !11 %19 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 2 %20 = load i16, i16* %19 %21 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %20, i16 4) %22 = extractvalue { i16, i1 } %21, 0 %23 = extractvalue { i16, i1 } %21, 1 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb8 bb5: ; preds = %start %25 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 1 store i8 0, i8* %25 %26 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %26 %27 = bitcast %"option::Option"* %0 to { i32, i32 }* %28 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %27, i32 0, i32 1 store i32 125, i32* %28 br label %bb7 bb6: ; preds = %start %29 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %29 br label %bb7 bb7: ; preds = %bb6, %bb5, %bb15, %bb3, %bb2, %bb1 ret void bb8: ; preds = %bb4 %30 = and i16 %22, -32 %31 = icmp ne i16 %30, 0 %32 = zext i16 %22 to i32 %33 = and i32 %32, 31 %34 = lshr i32 %18, %33 %35 = call i1 @llvm.expect.i1(i1 %31, i1 false) br i1 %35, label %panic1, label %bb9 bb9: ; preds = %bb8 %36 = and i32 %34, 15 call void @_ZN4core4char10from_digit17h21b2434855ed2be4E(%"option::Option"* noalias nocapture sret dereferenceable(8) %_13, i32 %36, i32 16) br label %bb10 bb10: ; preds = %bb9 %37 = call i32 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h1cd12ffb1f324429E"(%"option::Option"* noalias nocapture dereferenceable(8) %_13) br label %bb11 bb11: ; preds = %bb10 %38 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 2 %39 = load i16, i16* %38 %40 = icmp eq i16 %39, 0 br i1 %40, label %bb12, label %bb13 bb12: ; preds = %bb11 %41 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 1 store i8 1, i8* %41 br label %bb15 bb13: ; preds = %bb11 %42 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 2 %43 = load i16, i16* %42 %44 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %43, i16 1) %45 = extractvalue { i16, i1 } %44, 0 %46 = extractvalue { i16, i1 } %44, 1 %47 = call i1 @llvm.expect.i1(i1 %46, i1 false) br i1 %47, label %panic2, label %bb14 bb14: ; preds = %bb13 %48 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 2 store i16 %45, i16* %48 br label %bb15 bb15: ; preds = %bb14, %bb12 %49 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %49 %50 = bitcast %"option::Option"* %0 to { i32, i32 }* %51 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %50, i32 0, i32 1 store i32 %37, i32* %51 br label %bb7 panic: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6g) unreachable panic1: ; preds = %bb8 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6h) unreachable panic2: ; preds = %bb13 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6i) unreachable } ; Function Attrs: uwtable define void @"_ZN76_$LT$core..char..EscapeUnicode$u20$as$u20$core..iter..iterator..Iterator$GT$4last17ha2cba427ff311f35E"(%"option::Option"* noalias nocapture sret dereferenceable(8), %"char::EscapeUnicode"* noalias nocapture dereferenceable(8)) unnamed_addr #1 { entry-block: %self = alloca %"char::EscapeUnicode" br label %start start: ; preds = %entry-block %2 = bitcast %"char::EscapeUnicode"* %1 to i8* %3 = bitcast %"char::EscapeUnicode"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 8, i32 4, i1 false) %4 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %self, i32 0, i32 1 %5 = load i8, i8* %4, !range !10 %6 = zext i8 %5 to i16 switch i16 %6, label %bb2 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb2 i16 3, label %bb2 i16 4, label %bb2 ] bb1: ; preds = %start %7 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %7 br label %bb3 bb2: ; preds = %start, %start, %start, %start, %start %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %8 %9 = bitcast %"option::Option"* %0 to { i32, i32 }* %10 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %9, i32 0, i32 1 store i32 125, i32* %10 br label %bb3 bb3: ; preds = %bb1, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN83_$LT$core..char..EscapeUnicode$u20$as$u20$core..iter..traits..ExactSizeIterator$GT$3len17h2edab56f9a329f0aE"(%"char::EscapeUnicode"* noalias readonly dereferenceable(8)) unnamed_addr #0 { entry-block: %_4 = alloca i16 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i32 0, i32 2 %2 = load i16, i16* %1 %3 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i32 0, i32 1 %4 = load i8, i8* %3, !range !10 %5 = zext i8 %4 to i16 switch i16 %5, label %bb6 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 i16 3, label %bb4 i16 4, label %bb5 ] bb1: ; preds = %start store i16 0, i16* %_4 br label %bb7 bb2: ; preds = %start store i16 1, i16* %_4 br label %bb7 bb3: ; preds = %start store i16 2, i16* %_4 br label %bb7 bb4: ; preds = %start store i16 3, i16* %_4 br label %bb7 bb5: ; preds = %start store i16 4, i16* %_4 br label %bb7 bb6: ; preds = %start store i16 5, i16* %_4 br label %bb7 bb7: ; preds = %bb1, %bb2, %bb3, %bb4, %bb5, %bb6 %6 = load i16, i16* %_4 %7 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %2, i16 %6) %8 = extractvalue { i16, i1 } %7, 0 %9 = extractvalue { i16, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic, label %bb8 bb8: ; preds = %bb7 ret i16 %8 panic: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6j) unreachable } ; Function Attrs: uwtable define i8 @"_ZN64_$LT$core..char..EscapeUnicode$u20$as$u20$core..fmt..Display$GT$3fmt17hae98fb1b30830627E"(%"char::EscapeUnicode"* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast2 = alloca i8 %abi_cast1 = alloca i8 %abi_cast = alloca i8 %_29 = alloca {} %_19 = alloca %"result::Result<(), fmt::Error>" %_18 = alloca %"result::Result<(), fmt::Error>" %_12 = alloca %"option::Option" %_11 = alloca {} %iter = alloca %"char::EscapeUnicode" %_8 = alloca %"char::EscapeUnicode" %_7 = alloca %"char::EscapeUnicode" %_result = alloca {} %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @"_ZN64_$LT$core..char..EscapeUnicode$u20$as$u20$core..clone..Clone$GT$5clone17h699138db81c9ddb0E"(%"char::EscapeUnicode"* noalias nocapture sret dereferenceable(8) %_8, %"char::EscapeUnicode"* noalias readonly dereferenceable(8) %0) br label %bb1 bb1: ; preds = %start call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17heefe3209f647c4d3E"(%"char::EscapeUnicode"* noalias nocapture sret dereferenceable(8) %_7, %"char::EscapeUnicode"* noalias nocapture dereferenceable(8) %_8) br label %bb2 bb2: ; preds = %bb1 %2 = bitcast %"char::EscapeUnicode"* %_7 to i8* %3 = bitcast %"char::EscapeUnicode"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 8, i32 4, i1 false) br label %bb3 bb3: ; preds = %bb9, %bb2 call void @"_ZN76_$LT$core..char..EscapeUnicode$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h2edb543b3e709a8dE"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_12, %"char::EscapeUnicode"* dereferenceable(8) %iter) br label %bb4 bb4: ; preds = %bb3 %4 = getelementptr inbounds %"option::Option", %"option::Option"* %_12, i32 0, i32 0 %5 = load i32, i32* %4, !range !9 %6 = trunc i32 %5 to i16 switch i16 %6, label %bb6 [ i16 0, label %bb5 ] bb5: ; preds = %bb4 %7 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %7 br label %bb13 bb6: ; preds = %bb4 %8 = bitcast %"option::Option"* %_12 to { i32, i32 }* %9 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %8, i32 0, i32 1 %10 = load i32, i32* %9, !range !11 %11 = call i8 @"_ZN71_$LT$core..fmt..Formatter$LT$$u27$a$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17h48686d13cc1bd53eE"(%"fmt::Formatter"* dereferenceable(32) %1, i32 %10) store i8 %11, i8* %abi_cast %12 = bitcast %"result::Result<(), fmt::Error>"* %_19 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 %13 = bitcast %"result::Result<(), fmt::Error>"* %_19 to i8* %14 = load i8, i8* %13, align 1 %15 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %14) store i8 %15, i8* %abi_cast1 %16 = bitcast %"result::Result<(), fmt::Error>"* %_18 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb8 bb8: ; preds = %bb7 %17 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_18, i32 0, i32 0 %18 = load i8, i8* %17, !range !2 %19 = zext i8 %18 to i16 switch i16 %19, label %bb10 [ i16 0, label %bb9 ] bb9: ; preds = %bb8 %20 = bitcast %"result::Result<(), fmt::Error>"* %_18 to { i8, {} }* %21 = getelementptr inbounds { i8, {} }, { i8, {} }* %20, i32 0, i32 1 br label %bb3 bb10: ; preds = %bb8 %22 = bitcast %"result::Result<(), fmt::Error>"* %_18 to { i8, %"fmt::Error" }* %23 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %22, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb11 bb11: ; preds = %bb10 %24 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %24, i8* %abi_cast2 %25 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %25, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb12 bb12: ; preds = %bb11 br label %bb13 bb13: ; preds = %bb5, %bb12 %26 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %27 = load i8, i8* %26, align 1 ret i8 %27 } ; Function Attrs: uwtable define void @"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd387834b920a4d78E"(%"option::Option"* noalias nocapture sret dereferenceable(8), %"char::EscapeDefault"* dereferenceable(12)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %3 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %2, i32 0, i32 0 %4 = load i32, i32* %3, !range !12 %5 = trunc i32 %4 to i16 switch i16 %5, label %bb4 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 ] bb1: ; preds = %start %6 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %6 br label %bb5 bb2: ; preds = %start %7 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %8 = bitcast %"char::EscapeDefaultState"* %7 to { i32, i32 }* %9 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %8, i32 0, i32 1 %10 = load i32, i32* %9, !range !11 %11 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %12 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %11, i32 0, i32 0 store i32 0, i32* %12 %13 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %13 %14 = bitcast %"option::Option"* %0 to { i32, i32 }* %15 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %14, i32 0, i32 1 store i32 %10, i32* %15 br label %bb5 bb3: ; preds = %start %16 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %17 = bitcast %"char::EscapeDefaultState"* %16 to { i32, i32 }* %18 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %17, i32 0, i32 1 %19 = load i32, i32* %18, !range !11 %20 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %21 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %20, i32 0, i32 0 store i32 1, i32* %21 %22 = bitcast %"char::EscapeDefaultState"* %20 to { i32, i32 }* %23 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %22, i32 0, i32 1 store i32 %19, i32* %23 %24 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %24 %25 = bitcast %"option::Option"* %0 to { i32, i32 }* %26 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %25, i32 0, i32 1 store i32 92, i32* %26 br label %bb5 bb4: ; preds = %start %27 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %28 = bitcast %"char::EscapeDefaultState"* %27 to { i32, %"char::EscapeUnicode" }* %29 = getelementptr inbounds { i32, %"char::EscapeUnicode" }, { i32, %"char::EscapeUnicode" }* %28, i32 0, i32 1 call void @"_ZN76_$LT$core..char..EscapeUnicode$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h2edb543b3e709a8dE"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, %"char::EscapeUnicode"* dereferenceable(8) %29) br label %bb6 bb5: ; preds = %bb1, %bb2, %bb3, %bb6 ret void bb6: ; preds = %bb4 br label %bb5 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h8422883c3307a26dE"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6), %"char::EscapeDefault"* noalias readonly dereferenceable(12)) unnamed_addr #0 { entry-block: %_6 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN83_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..traits..ExactSizeIterator$GT$3len17h5382db42ca180ac6E"(%"char::EscapeDefault"* noalias readonly dereferenceable(12) %1) br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"option::Option", %"option::Option"* %_6, i32 0, i32 0 store i16 1, i16* %3 %4 = bitcast %"option::Option"* %_6 to { i16, i16 }* %5 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %4, i32 0, i32 1 store i16 %2, i16* %5 %6 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %0, i32 0, i32 0 store i16 %2, i16* %6 %7 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %0, i32 0, i32 1 %8 = bitcast %"option::Option"* %_6 to i8* %9 = bitcast %"option::Option"* %7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define void @"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$3nth17h73f821baa3be7d9eE"(%"option::Option"* noalias nocapture sret dereferenceable(8), %"char::EscapeDefault"* dereferenceable(12), i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %4 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %3, i32 0, i32 0 %5 = load i32, i32* %4, !range !12 %6 = trunc i32 %5 to i16 switch i16 %6, label %bb7 [ i16 0, label %bb4 i16 1, label %bb5 i16 2, label %bb6 ] bb1: ; preds = %bb6 %7 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %8 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %7, i32 0, i32 0 store i32 1, i32* %8 %9 = bitcast %"char::EscapeDefaultState"* %7 to { i32, i32 }* %10 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %9, i32 0, i32 1 store i32 %33, i32* %10 %11 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %11 %12 = bitcast %"option::Option"* %0 to { i32, i32 }* %13 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %12, i32 0, i32 1 store i32 92, i32* %13 br label %bb9 bb2: ; preds = %bb8 %14 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %15 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %14, i32 0, i32 0 store i32 0, i32* %15 %16 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %16 %17 = bitcast %"option::Option"* %0 to { i32, i32 }* %18 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %17, i32 0, i32 1 store i32 %41, i32* %18 br label %bb9 bb3: ; preds = %bb8 %19 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %20 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %19, i32 0, i32 0 store i32 0, i32* %20 %21 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %21 br label %bb9 bb4: ; preds = %start %22 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %22 br label %bb14 bb5: ; preds = %start %23 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %24 = bitcast %"char::EscapeDefaultState"* %23 to { i32, i32 }* %25 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %24, i32 0, i32 1 %26 = load i32, i32* %25, !range !11 %27 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %28 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %27, i32 0, i32 0 store i32 0, i32* %28 %29 = icmp eq i16 %2, 0 br i1 %29, label %bb10, label %bb11 bb6: ; preds = %start %30 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %31 = bitcast %"char::EscapeDefaultState"* %30 to { i32, i32 }* %32 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %31, i32 0, i32 1 %33 = load i32, i32* %32, !range !11 %34 = icmp eq i16 %2, 0 br i1 %34, label %bb1, label %bb8 bb7: ; preds = %start %35 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %36 = bitcast %"char::EscapeDefaultState"* %35 to { i32, %"char::EscapeUnicode" }* %37 = getelementptr inbounds { i32, %"char::EscapeUnicode" }, { i32, %"char::EscapeUnicode" }* %36, i32 0, i32 1 call void @_ZN4core4iter8iterator8Iterator3nth17h2cb5bd70015e22d4E(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, %"char::EscapeUnicode"* dereferenceable(8) %37, i16 %2) br label %bb15 bb8: ; preds = %bb6 %38 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 %39 = bitcast %"char::EscapeDefaultState"* %38 to { i32, i32 }* %40 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %39, i32 0, i32 1 %41 = load i32, i32* %40, !range !11 %42 = icmp eq i16 %2, 1 br i1 %42, label %bb2, label %bb3 bb9: ; preds = %bb12, %bb3, %bb2, %bb1 br label %bb13 bb10: ; preds = %bb5 %43 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %43 %44 = bitcast %"option::Option"* %0 to { i32, i32 }* %45 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %44, i32 0, i32 1 store i32 %26, i32* %45 br label %bb12 bb11: ; preds = %bb5 %46 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %46 br label %bb12 bb12: ; preds = %bb11, %bb10 br label %bb9 bb13: ; preds = %bb14, %bb9 ret void bb14: ; preds = %bb4, %bb15 br label %bb13 bb15: ; preds = %bb7 br label %bb14 } ; Function Attrs: uwtable define void @"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4last17hbaeaf0ca1605f927E"(%"option::Option"* noalias nocapture sret dereferenceable(8), %"char::EscapeDefault"* noalias nocapture dereferenceable(12)) unnamed_addr #1 { entry-block: %_6 = alloca %"char::EscapeUnicode" %c = alloca i32 %iter = alloca %"char::EscapeUnicode" %self = alloca %"char::EscapeDefault" br label %start start: ; preds = %entry-block %2 = bitcast %"char::EscapeDefault"* %1 to i8* %3 = bitcast %"char::EscapeDefault"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 12, i32 4, i1 false) %4 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %self, i32 0, i32 0 %5 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %4, i32 0, i32 0 %6 = load i32, i32* %5, !range !12 %7 = trunc i32 %6 to i16 switch i16 %7, label %bb5 [ i16 0, label %bb1 i16 1, label %bb3 i16 2, label %bb4 ] bb1: ; preds = %start %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %8 br label %bb6 bb2: ; preds = %bb3, %bb4 %9 = load i32, i32* %c, !range !11 %10 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %10 %11 = bitcast %"option::Option"* %0 to { i32, i32 }* %12 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %11, i32 0, i32 1 store i32 %9, i32* %12 br label %bb6 bb3: ; preds = %start %13 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %self, i32 0, i32 0 %14 = bitcast %"char::EscapeDefaultState"* %13 to { i32, i32 }* %15 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %14, i32 0, i32 1 %16 = load i32, i32* %15, !range !11 store i32 %16, i32* %c br label %bb2 bb4: ; preds = %start %17 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %self, i32 0, i32 0 %18 = bitcast %"char::EscapeDefaultState"* %17 to { i32, i32 }* %19 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %18, i32 0, i32 1 %20 = load i32, i32* %19, !range !11 store i32 %20, i32* %c br label %bb2 bb5: ; preds = %start %21 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %self, i32 0, i32 0 %22 = bitcast %"char::EscapeDefaultState"* %21 to { i32, %"char::EscapeUnicode" }* %23 = getelementptr inbounds { i32, %"char::EscapeUnicode" }, { i32, %"char::EscapeUnicode" }* %22, i32 0, i32 1 %24 = bitcast %"char::EscapeUnicode"* %23 to i8* %25 = bitcast %"char::EscapeUnicode"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %25, i8* %24, i16 8, i32 4, i1 false) %26 = bitcast %"char::EscapeUnicode"* %iter to i8* %27 = bitcast %"char::EscapeUnicode"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %27, i8* %26, i16 8, i32 4, i1 false) call void @"_ZN76_$LT$core..char..EscapeUnicode$u20$as$u20$core..iter..iterator..Iterator$GT$4last17ha2cba427ff311f35E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, %"char::EscapeUnicode"* noalias nocapture dereferenceable(8) %_6) br label %bb7 bb6: ; preds = %bb1, %bb2, %bb7 ret void bb7: ; preds = %bb5 br label %bb6 } ; Function Attrs: uwtable define i16 @"_ZN83_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..traits..ExactSizeIterator$GT$3len17h5382db42ca180ac6E"(%"char::EscapeDefault"* noalias readonly dereferenceable(12)) unnamed_addr #1 { entry-block: %_0 = alloca i16 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i32 0, i32 0 %2 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %1, i32 0, i32 0 %3 = load i32, i32* %2, !range !12 %4 = trunc i32 %3 to i16 switch i16 %4, label %bb4 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 ] bb1: ; preds = %start store i16 0, i16* %_0 br label %bb5 bb2: ; preds = %start store i16 1, i16* %_0 br label %bb5 bb3: ; preds = %start store i16 2, i16* %_0 br label %bb5 bb4: ; preds = %start %5 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i32 0, i32 0 %6 = bitcast %"char::EscapeDefaultState"* %5 to { i32, %"char::EscapeUnicode" }* %7 = getelementptr inbounds { i32, %"char::EscapeUnicode" }, { i32, %"char::EscapeUnicode" }* %6, i32 0, i32 1 %8 = call i16 @"_ZN83_$LT$core..char..EscapeUnicode$u20$as$u20$core..iter..traits..ExactSizeIterator$GT$3len17h2edab56f9a329f0aE"(%"char::EscapeUnicode"* noalias readonly dereferenceable(8) %7) store i16 %8, i16* %_0 br label %bb6 bb5: ; preds = %bb1, %bb2, %bb3, %bb6 %9 = load i16, i16* %_0 ret i16 %9 bb6: ; preds = %bb4 br label %bb5 } ; Function Attrs: uwtable define i8 @"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..fmt..Display$GT$3fmt17ha6f04cbedc61f65dE"(%"char::EscapeDefault"* noalias readonly dereferenceable(12), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast2 = alloca i8 %abi_cast1 = alloca i8 %abi_cast = alloca i8 %_29 = alloca {} %_19 = alloca %"result::Result<(), fmt::Error>" %_18 = alloca %"result::Result<(), fmt::Error>" %_12 = alloca %"option::Option" %_11 = alloca {} %iter = alloca %"char::EscapeDefault" %_8 = alloca %"char::EscapeDefault" %_7 = alloca %"char::EscapeDefault" %_result = alloca {} %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..clone..Clone$GT$5clone17h8210ddb626e0e3c4E"(%"char::EscapeDefault"* noalias nocapture sret dereferenceable(12) %_8, %"char::EscapeDefault"* noalias readonly dereferenceable(12) %0) br label %bb1 bb1: ; preds = %start call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h79a5e47a35987ac8E"(%"char::EscapeDefault"* noalias nocapture sret dereferenceable(12) %_7, %"char::EscapeDefault"* noalias nocapture dereferenceable(12) %_8) br label %bb2 bb2: ; preds = %bb1 %2 = bitcast %"char::EscapeDefault"* %_7 to i8* %3 = bitcast %"char::EscapeDefault"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 12, i32 4, i1 false) br label %bb3 bb3: ; preds = %bb9, %bb2 call void @"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd387834b920a4d78E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_12, %"char::EscapeDefault"* dereferenceable(12) %iter) br label %bb4 bb4: ; preds = %bb3 %4 = getelementptr inbounds %"option::Option", %"option::Option"* %_12, i32 0, i32 0 %5 = load i32, i32* %4, !range !9 %6 = trunc i32 %5 to i16 switch i16 %6, label %bb6 [ i16 0, label %bb5 ] bb5: ; preds = %bb4 %7 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %7 br label %bb13 bb6: ; preds = %bb4 %8 = bitcast %"option::Option"* %_12 to { i32, i32 }* %9 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %8, i32 0, i32 1 %10 = load i32, i32* %9, !range !11 %11 = call i8 @"_ZN71_$LT$core..fmt..Formatter$LT$$u27$a$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17h48686d13cc1bd53eE"(%"fmt::Formatter"* dereferenceable(32) %1, i32 %10) store i8 %11, i8* %abi_cast %12 = bitcast %"result::Result<(), fmt::Error>"* %_19 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 %13 = bitcast %"result::Result<(), fmt::Error>"* %_19 to i8* %14 = load i8, i8* %13, align 1 %15 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %14) store i8 %15, i8* %abi_cast1 %16 = bitcast %"result::Result<(), fmt::Error>"* %_18 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb8 bb8: ; preds = %bb7 %17 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_18, i32 0, i32 0 %18 = load i8, i8* %17, !range !2 %19 = zext i8 %18 to i16 switch i16 %19, label %bb10 [ i16 0, label %bb9 ] bb9: ; preds = %bb8 %20 = bitcast %"result::Result<(), fmt::Error>"* %_18 to { i8, {} }* %21 = getelementptr inbounds { i8, {} }, { i8, {} }* %20, i32 0, i32 1 br label %bb3 bb10: ; preds = %bb8 %22 = bitcast %"result::Result<(), fmt::Error>"* %_18 to { i8, %"fmt::Error" }* %23 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %22, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb11 bb11: ; preds = %bb10 %24 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %24, i8* %abi_cast2 %25 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %25, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb12 bb12: ; preds = %bb11 br label %bb13 bb13: ; preds = %bb5, %bb12 %26 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %27 = load i8, i8* %26, align 1 ret i8 %27 } ; Function Attrs: uwtable define void @"_ZN74_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h754c2463954ec198E"(%"option::Option"* noalias nocapture sret dereferenceable(8), %"char::EscapeDebug"* dereferenceable(12)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %1, i32 0, i32 0 call void @"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd387834b920a4d78E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, %"char::EscapeDefault"* dereferenceable(12) %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN74_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h7799bc1d9710df79E"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6), %"char::EscapeDebug"* noalias readonly dereferenceable(12)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %1, i32 0, i32 0 call void @"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h8422883c3307a26dE"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6) %0, %"char::EscapeDefault"* noalias readonly dereferenceable(12) %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i8 @"_ZN62_$LT$core..char..EscapeDebug$u20$as$u20$core..fmt..Display$GT$3fmt17h048a17d754130bc1E"(%"char::EscapeDebug"* noalias readonly dereferenceable(12), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %0, i32 0, i32 0 %3 = call i8 @"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..fmt..Display$GT$3fmt17ha6f04cbedc61f65dE"(%"char::EscapeDefault"* noalias readonly dereferenceable(12) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: cold noinline noreturn uwtable define void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12)) unnamed_addr #3 { entry-block: %_17 = alloca { %str_slice, i32 } %_10 = alloca [1 x %str_slice] %_6 = alloca %"fmt::Arguments" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds { %str_slice, %str_slice, i32 }, { %str_slice, %str_slice, i32 }* %0, i32 0, i32 0 %2 = getelementptr inbounds %str_slice, %str_slice* %1, i32 0, i32 0 %3 = load i8*, i8** %2, !nonnull !1 %4 = getelementptr inbounds %str_slice, %str_slice* %1, i32 0, i32 1 %5 = load i16, i16* %4 %6 = getelementptr inbounds { %str_slice, %str_slice, i32 }, { %str_slice, %str_slice, i32 }* %0, i32 0, i32 1 %7 = getelementptr inbounds %str_slice, %str_slice* %6, i32 0, i32 0 %8 = load i8*, i8** %7, !nonnull !1 %9 = getelementptr inbounds %str_slice, %str_slice* %6, i32 0, i32 1 %10 = load i16, i16* %9 %11 = getelementptr inbounds { %str_slice, %str_slice, i32 }, { %str_slice, %str_slice, i32 }* %0, i32 0, i32 2 %12 = load i32, i32* %11 %13 = getelementptr inbounds [1 x %str_slice], [1 x %str_slice]* %_10, i32 0, i32 0 %14 = getelementptr inbounds %str_slice, %str_slice* %13, i32 0, i32 0 store i8* %3, i8** %14 %15 = getelementptr inbounds %str_slice, %str_slice* %13, i32 0, i32 1 store i16 %5, i16* %15 %16 = bitcast [1 x %str_slice]* %_10 to %str_slice* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_6, %str_slice* noalias nonnull readonly %16, i16 1, %"fmt::ArgumentV1"* noalias nonnull readonly getelementptr inbounds ([0 x %"fmt::ArgumentV1"], [0 x %"fmt::ArgumentV1"]* @ref.5W, i32 0, i32 0), i16 0) br label %bb1 bb1: ; preds = %start %17 = getelementptr inbounds { %str_slice, i32 }, { %str_slice, i32 }* %_17, i32 0, i32 0 %18 = getelementptr inbounds %str_slice, %str_slice* %17, i32 0, i32 0 store i8* %8, i8** %18 %19 = getelementptr inbounds %str_slice, %str_slice* %17, i32 0, i32 1 store i16 %10, i16* %19 %20 = getelementptr inbounds { %str_slice, i32 }, { %str_slice, i32 }* %_17, i32 0, i32 1 store i32 %12, i32* %20 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_6, { %str_slice, i32 }* noalias readonly dereferenceable(8) %_17) unreachable } ; Function Attrs: cold noinline noreturn uwtable define void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* noalias readonly dereferenceable(8), i16, i16) unnamed_addr #3 { entry-block: %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_13 = alloca { i16*, i16* } %_12 = alloca [2 x %"fmt::ArgumentV1"] %_7 = alloca %"fmt::Arguments" %len = alloca i16 %index = alloca i16 br label %start start: ; preds = %entry-block store i16 %1, i16* %index store i16 %2, i16* %len %3 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core9panicking18panic_bounds_check15__STATIC_FMTSTR17h7334bb83145009dcE, i32 0, i32 0), !nonnull !1 %4 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core9panicking18panic_bounds_check15__STATIC_FMTSTR17h7334bb83145009dcE, i32 0, i32 1) %5 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_13, i32 0, i32 0 store i16* %len, i16** %5 %6 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_13, i32 0, i32 1 store i16* %index, i16** %6 %7 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_13, i32 0, i32 0 %8 = load i16*, i16** %7, !nonnull !1 %9 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_13, i32 0, i32 1 %10 = load i16*, i16** %9, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i16* noalias readonly dereferenceable(2) %8, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %11 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %12 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %13 = load %"fmt::Void"*, %"fmt::Void"** %11, !nonnull !1 %14 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %12, !nonnull !1 br label %bb1 bb1: ; preds = %start call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, i16* noalias readonly dereferenceable(2) %10, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %15 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %16 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %17 = load %"fmt::Void"*, %"fmt::Void"** %15, !nonnull !1 %18 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %16, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %19 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_12, i32 0, i32 0 %20 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %19, i32 0, i32 0 store %"fmt::Void"* %13, %"fmt::Void"** %20 %21 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %19, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %14, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %21 %22 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_12, i32 0, i32 1 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %22, i32 0, i32 0 store %"fmt::Void"* %17, %"fmt::Void"** %23 %24 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %22, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %18, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %24 %25 = bitcast [2 x %"fmt::ArgumentV1"]* %_12 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_7, %str_slice* noalias nonnull readonly %3, i16 %4, %"fmt::ArgumentV1"* noalias nonnull readonly %25, i16 2) br label %bb3 bb3: ; preds = %bb2 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_7, { %str_slice, i32 }* noalias readonly dereferenceable(8) %0) unreachable } ; Function Attrs: cold noinline noreturn uwtable define void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12), { %str_slice, i32 }* noalias readonly dereferenceable(8)) unnamed_addr #3 { entry-block: %_7 = alloca %"fmt::Arguments" %fmt = alloca %"fmt::Arguments" br label %start start: ; preds = %entry-block %2 = bitcast %"fmt::Arguments"* %0 to i8* %3 = bitcast %"fmt::Arguments"* %fmt to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 12, i32 2, i1 false) %4 = getelementptr inbounds { %str_slice, i32 }, { %str_slice, i32 }* %1, i32 0, i32 0 %5 = getelementptr inbounds %str_slice, %str_slice* %4, i32 0, i32 0 %6 = load i8*, i8** %5, !nonnull !1 %7 = getelementptr inbounds %str_slice, %str_slice* %4, i32 0, i32 1 %8 = load i16, i16* %7 %9 = getelementptr inbounds { %str_slice, i32 }, { %str_slice, i32 }* %1, i32 0, i32 1 %10 = load i32, i32* %9 %11 = bitcast %"fmt::Arguments"* %fmt to i8* %12 = bitcast %"fmt::Arguments"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 12, i32 2, i1 false) %13 = bitcast %"fmt::Arguments"* %_7 to { i32, i32, i32 }* %14 = load { i32, i32, i32 }, { i32, i32, i32 }* %13, align 2 call void @rust_begin_unwind({ i32, i32, i32 } %14, i8* noalias nonnull readonly %6, i16 %8, i32 %10) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core4iter8iterator22_assert_is_object_safe17hc82f8b2c2d554ab9E(i8* nonnull, void (i8*)** noalias nonnull readonly) unnamed_addr #1 { entry-block: %_0 = alloca {} br label %start start: ; preds = %entry-block ret void } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter8iterator8Iterator5count17h11a7f79ecee0ffdcE(%"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_4 = alloca %closure.3 %_3 = alloca %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>" %self = alloca %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>" br label %start start: ; preds = %entry-block %1 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %0 to i8* %2 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 8, i32 2, i1 false) %3 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %self to i8* %4 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 8, i32 2, i1 false) %5 = invoke i16 @_ZN4core4iter8iterator8Iterator4fold17h468f75da90ac5d85E(%"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8) %_3, i16 0) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %start ret i16 %5 cleanup: ; preds = %start %7 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %7, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter8iterator8Iterator5count17h176c7e74cafea45fE(%"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* noalias nocapture dereferenceable(6)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_4 = alloca %closure.7 %_3 = alloca %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>" %self = alloca %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>" br label %start start: ; preds = %entry-block %1 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %0 to i8* %2 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 6, i32 2, i1 false) %3 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %self to i8* %4 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 6, i32 2, i1 false) %5 = invoke i16 @_ZN4core4iter8iterator8Iterator4fold17hc1a47caf43e8454eE(%"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* noalias nocapture dereferenceable(6) %_3, i16 0) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %start ret i16 %5 cleanup: ; preds = %start %7 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %7, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter8iterator8Iterator5count17h966dc7adf3d1b62dE(%"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_4 = alloca %closure.6 %_3 = alloca %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>" %self = alloca %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>" br label %start start: ; preds = %entry-block %1 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %0 to i8* %2 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 8, i32 2, i1 false) %3 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %self to i8* %4 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 8, i32 2, i1 false) %5 = invoke i16 @_ZN4core4iter8iterator8Iterator4fold17h1956d5a4b8e02cdfE(%"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8) %_3, i16 0) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %start ret i16 %5 cleanup: ; preds = %start %7 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %7, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter8iterator8Iterator5count17hb001d4bd92812467E(%"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* noalias nocapture dereferenceable(6)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_4 = alloca %closure.5 %_3 = alloca %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>" %self = alloca %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>" br label %start start: ; preds = %entry-block %1 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %0 to i8* %2 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 6, i32 2, i1 false) %3 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %self to i8* %4 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 6, i32 2, i1 false) %5 = invoke i16 @_ZN4core4iter8iterator8Iterator4fold17h7b8daf1e93867cd1E(%"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* noalias nocapture dereferenceable(6) %_3, i16 0) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %start ret i16 %5 cleanup: ; preds = %start %7 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %7, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: uwtable define internal i16 @"_ZN4core4iter8iterator8Iterator5count28_$u7b$$u7b$closure$u7d$$u7d$17h02519c5ca3f17bb8E"(%closure.3*, i16, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %1, i16 1) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb3 bb1: ; preds = %bb2 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start br label %bb4 bb4: ; preds = %bb3 ret i16 %4 panic: ; preds = %start invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6l) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %panic %8 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %8, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal i16 @"_ZN4core4iter8iterator8Iterator5count28_$u7b$$u7b$closure$u7d$$u7d$17h156d1b21c9ce022fE"(%closure.4*, i16, i8) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %1, i16 1) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb3 bb1: ; preds = %bb2 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start br label %bb4 bb4: ; preds = %bb3 ret i16 %4 panic: ; preds = %start invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6l) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %panic %8 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %8, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal i16 @"_ZN4core4iter8iterator8Iterator5count28_$u7b$$u7b$closure$u7d$$u7d$17h3de692d93690b60dE"(%closure.5*, i16, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %1, i16 1) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb3 bb1: ; preds = %bb2 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start br label %bb4 bb4: ; preds = %bb3 ret i16 %4 panic: ; preds = %start invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6l) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %panic %8 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %8, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal i16 @"_ZN4core4iter8iterator8Iterator5count28_$u7b$$u7b$closure$u7d$$u7d$17h895427b6d1e37012E"(%closure.6*, i16, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %1, i16 1) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb3 bb1: ; preds = %bb2 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start br label %bb4 bb4: ; preds = %bb3 ret i16 %4 panic: ; preds = %start invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6l) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %panic %8 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %8, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal i16 @"_ZN4core4iter8iterator8Iterator5count28_$u7b$$u7b$closure$u7d$$u7d$17he95425aa653d80bcE"(%closure.7*, i16, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %1, i16 1) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb3 bb1: ; preds = %bb2 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb2: ; preds = %cleanup br label %bb1 bb3: ; preds = %start br label %bb4 bb4: ; preds = %bb3 ret i16 %4 panic: ; preds = %start invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6l) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %panic %8 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %8, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3nth17h2cb5bd70015e22d4E(%"option::Option"* noalias nocapture sret dereferenceable(8), %"char::EscapeUnicode"* dereferenceable(8), i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_23 = alloca i8 %_22 = alloca i8 %_16 = alloca {} %_11 = alloca %"option::Option" %_10 = alloca {} %iter = alloca %"char::EscapeUnicode"* %_result = alloca {} %n = alloca i16 br label %start start: ; preds = %entry-block store i8 0, i8* %_22 store i8 0, i8* %_23 store i16 %2, i16* %n %3 = call dereferenceable(8) %"char::EscapeUnicode"* @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h386c76e4c3be530cE"(%"char::EscapeUnicode"* dereferenceable(8) %1) br label %bb1 bb1: ; preds = %start store %"char::EscapeUnicode"* %3, %"char::EscapeUnicode"** %iter br label %bb2 bb2: ; preds = %bb16, %bb1 store i8 1, i8* %_22 call void @"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h5199981ea69e7f71E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_11, %"char::EscapeUnicode"** dereferenceable(2) %iter) br label %bb3 bb3: ; preds = %bb2 %4 = getelementptr inbounds %"option::Option", %"option::Option"* %_11, i32 0, i32 0 %5 = load i32, i32* %4, !range !9 %6 = trunc i32 %5 to i16 switch i16 %6, label %bb7 [ i16 0, label %bb6 ] bb4: ; preds = %bb19, %bb18, %bb17 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb5: ; preds = %bb20, %bb8 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %_11, i32 0, i32 0 %9 = load i32, i32* %8, !range !9 %10 = trunc i32 %9 to i16 switch i16 %10, label %bb17 [ i16 1, label %bb18 ] bb6: ; preds = %bb3 store i8 0, i8* %_22 br label %bb14 bb7: ; preds = %bb3 store i8 0, i8* %_22 store i8 1, i8* %_23 %11 = bitcast %"option::Option"* %_11 to { i32, i32 }* %12 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %11, i32 0, i32 1 %13 = load i32, i32* %12, !range !11 %14 = load i16, i16* %n %15 = icmp eq i16 %14, 0 br i1 %15, label %bb9, label %bb10 bb8: ; preds = %cleanup %16 = load i8, i8* %_23, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb20, label %bb5 bb9: ; preds = %bb7 store i8 0, i8* %_23 %18 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %18 %19 = bitcast %"option::Option"* %0 to { i32, i32 }* %20 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %19, i32 0, i32 1 store i32 %13, i32* %20 %21 = getelementptr inbounds %"option::Option", %"option::Option"* %_11, i32 0, i32 0 %22 = load i32, i32* %21, !range !9 %23 = trunc i32 %22 to i16 switch i16 %23, label %bb21 [ i16 1, label %bb12 ] bb10: ; preds = %bb7 %24 = load i16, i16* %n %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb13 bb11: ; preds = %bb14, %bb12 ret void bb12: ; preds = %bb21, %bb9 br label %bb11 bb13: ; preds = %bb10 store i16 %26, i16* %n store i8 0, i8* %_23 br label %bb15 bb14: ; preds = %bb6 %29 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %29 br label %bb11 bb15: ; preds = %bb13 %30 = getelementptr inbounds %"option::Option", %"option::Option"* %_11, i32 0, i32 0 %31 = load i32, i32* %30, !range !9 %32 = trunc i32 %31 to i16 switch i16 %32, label %bb22 [ i16 1, label %bb16 ] bb16: ; preds = %bb22, %bb15 br label %bb2 bb17: ; preds = %bb5 br label %bb4 bb18: ; preds = %bb5 %33 = load i8, i8* %_22, !range !2 %34 = trunc i8 %33 to i1 br i1 %34, label %bb19, label %bb4 bb19: ; preds = %bb18 store i8 0, i8* %_22 br label %bb4 bb20: ; preds = %bb8 store i8 0, i8* %_23 br label %bb5 bb21: ; preds = %bb9 br label %bb12 bb22: ; preds = %bb15 br label %bb16 panic: ; preds = %bb10 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6m) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %panic %35 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %35, { i8*, i32 }* %personalityslot br label %bb8 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3nth17ha775551373706b57E(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(12), %"str::CharIndices"* dereferenceable(6), i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_23 = alloca i8 %_22 = alloca i8 %_16 = alloca {} %_11 = alloca %"option::Option<(usize, char)>" %_10 = alloca {} %iter = alloca %"str::CharIndices"* %_result = alloca {} %n = alloca i16 br label %start start: ; preds = %entry-block store i8 0, i8* %_22 store i8 0, i8* %_23 store i16 %2, i16* %n %3 = call dereferenceable(6) %"str::CharIndices"* @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5f98dd39a8017100E"(%"str::CharIndices"* dereferenceable(6) %1) br label %bb1 bb1: ; preds = %start store %"str::CharIndices"* %3, %"str::CharIndices"** %iter br label %bb2 bb2: ; preds = %bb16, %bb1 store i8 1, i8* %_22 call void @"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3b780272ee1234abE"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(12) %_11, %"str::CharIndices"** dereferenceable(2) %iter) br label %bb3 bb3: ; preds = %bb2 %4 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %_11, i32 0, i32 0 %5 = load i32, i32* %4, !range !9 %6 = trunc i32 %5 to i16 switch i16 %6, label %bb7 [ i16 0, label %bb6 ] bb4: ; preds = %bb19, %bb18, %bb17 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb5: ; preds = %bb20, %bb8 %8 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %_11, i32 0, i32 0 %9 = load i32, i32* %8, !range !9 %10 = trunc i32 %9 to i16 switch i16 %10, label %bb17 [ i16 1, label %bb18 ] bb6: ; preds = %bb3 store i8 0, i8* %_22 br label %bb14 bb7: ; preds = %bb3 store i8 0, i8* %_22 store i8 1, i8* %_23 %11 = bitcast %"option::Option<(usize, char)>"* %_11 to { i32, { i16, i32 } }* %12 = getelementptr inbounds { i32, { i16, i32 } }, { i32, { i16, i32 } }* %11, i32 0, i32 1 %13 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %12, i32 0, i32 0 %14 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %12, i32 0, i32 1 %15 = load i16, i16* %13 %16 = load i32, i32* %14, !range !11 %17 = load i16, i16* %n %18 = icmp eq i16 %17, 0 br i1 %18, label %bb9, label %bb10 bb8: ; preds = %cleanup %19 = load i8, i8* %_23, !range !2 %20 = trunc i8 %19 to i1 br i1 %20, label %bb20, label %bb5 bb9: ; preds = %bb7 store i8 0, i8* %_23 %21 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %0, i32 0, i32 0 store i32 1, i32* %21 %22 = bitcast %"option::Option<(usize, char)>"* %0 to { i32, { i16, i32 } }* %23 = getelementptr inbounds { i32, { i16, i32 } }, { i32, { i16, i32 } }* %22, i32 0, i32 1 %24 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %23, i32 0, i32 0 store i16 %15, i16* %24 %25 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %23, i32 0, i32 1 store i32 %16, i32* %25 %26 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %_11, i32 0, i32 0 %27 = load i32, i32* %26, !range !9 %28 = trunc i32 %27 to i16 switch i16 %28, label %bb21 [ i16 1, label %bb12 ] bb10: ; preds = %bb7 %29 = load i16, i16* %n %30 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %29, i16 1) %31 = extractvalue { i16, i1 } %30, 0 %32 = extractvalue { i16, i1 } %30, 1 %33 = call i1 @llvm.expect.i1(i1 %32, i1 false) br i1 %33, label %panic, label %bb13 bb11: ; preds = %bb14, %bb12 ret void bb12: ; preds = %bb21, %bb9 br label %bb11 bb13: ; preds = %bb10 store i16 %31, i16* %n store i8 0, i8* %_23 br label %bb15 bb14: ; preds = %bb6 %34 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %0, i32 0, i32 0 store i32 0, i32* %34 br label %bb11 bb15: ; preds = %bb13 %35 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %_11, i32 0, i32 0 %36 = load i32, i32* %35, !range !9 %37 = trunc i32 %36 to i16 switch i16 %37, label %bb22 [ i16 1, label %bb16 ] bb16: ; preds = %bb22, %bb15 br label %bb2 bb17: ; preds = %bb5 br label %bb4 bb18: ; preds = %bb5 %38 = load i8, i8* %_22, !range !2 %39 = trunc i8 %38 to i1 br i1 %39, label %bb19, label %bb4 bb19: ; preds = %bb18 store i8 0, i8* %_22 br label %bb4 bb20: ; preds = %bb8 store i8 0, i8* %_23 br label %bb5 bb21: ; preds = %bb9 br label %bb12 bb22: ; preds = %bb15 br label %bb16 panic: ; preds = %bb10 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6m) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %panic %40 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %40, { i8*, i32 }* %personalityslot br label %bb8 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator5chain17h3e9d3c7d312db2f0E(%"iter::Chain, slice::Iter>"* noalias nocapture sret dereferenceable(10), %"slice::Iter"* noalias nocapture dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %_8 = alloca i8 %_6 = alloca %"slice::Iter" %_5 = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block store i8 0, i8* %_9 %4 = bitcast %"slice::Iter"* %1 to i8* %5 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) store i8 1, i8* %_9 %6 = bitcast %"slice::Iter"* %self to i8* %7 = bitcast %"slice::Iter"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) invoke void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_6, i8* noalias nonnull readonly %2, i16 %3) to label %bb2 unwind label %cleanup bb1: ; preds = %bb3, %bb4 %8 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %8 bb2: ; preds = %start store i8 0, i8* %_8 store i8 0, i8* %_9 %9 = getelementptr inbounds %"iter::Chain, slice::Iter>", %"iter::Chain, slice::Iter>"* %0, i32 0, i32 0 %10 = bitcast %"slice::Iter"* %_5 to i8* %11 = bitcast %"slice::Iter"* %9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 4, i32 2, i1 false) %12 = getelementptr inbounds %"iter::Chain, slice::Iter>", %"iter::Chain, slice::Iter>"* %0, i32 0, i32 1 %13 = bitcast %"slice::Iter"* %_6 to i8* %14 = bitcast %"slice::Iter"* %12 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %13, i16 4, i32 2, i1 false) %15 = load i8, i8* %_8 %16 = getelementptr inbounds %"iter::Chain, slice::Iter>", %"iter::Chain, slice::Iter>"* %0, i32 0, i32 2 store i8 %15, i8* %16 ret void bb3: ; preds = %bb4 store i8 0, i8* %_9 br label %bb1 bb4: ; preds = %cleanup %17 = load i8, i8* %_9, !range !2 %18 = trunc i8 %17 to i1 br i1 %18, label %bb3, label %bb1 cleanup: ; preds = %start %19 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %19, { i8*, i32 }* %personalityslot br label %bb4 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator5chain17h99bd8ce13b8c6332E(%"iter::Chain, slice::Iter>"* noalias nocapture sret dereferenceable(10), %"slice::Iter"* noalias nocapture dereferenceable(4), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %_8 = alloca i8 %_7 = alloca %"slice::Iter" %_6 = alloca %"slice::Iter" %_5 = alloca %"slice::Iter" %other = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block store i8 0, i8* %_9 %3 = bitcast %"slice::Iter"* %1 to i8* %4 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) %5 = bitcast %"slice::Iter"* %2 to i8* %6 = bitcast %"slice::Iter"* %other to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) store i8 1, i8* %_9 %7 = bitcast %"slice::Iter"* %self to i8* %8 = bitcast %"slice::Iter"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) %9 = bitcast %"slice::Iter"* %other to i8* %10 = bitcast %"slice::Iter"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 4, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha39cd41f4ad0701fE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_6, %"slice::Iter"* noalias nocapture dereferenceable(4) %_7) to label %bb2 unwind label %cleanup bb1: ; preds = %bb3, %bb4 %11 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %11 bb2: ; preds = %start store i8 0, i8* %_8 store i8 0, i8* %_9 %12 = getelementptr inbounds %"iter::Chain, slice::Iter>", %"iter::Chain, slice::Iter>"* %0, i32 0, i32 0 %13 = bitcast %"slice::Iter"* %_5 to i8* %14 = bitcast %"slice::Iter"* %12 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %13, i16 4, i32 2, i1 false) %15 = getelementptr inbounds %"iter::Chain, slice::Iter>", %"iter::Chain, slice::Iter>"* %0, i32 0, i32 1 %16 = bitcast %"slice::Iter"* %_6 to i8* %17 = bitcast %"slice::Iter"* %15 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %17, i8* %16, i16 4, i32 2, i1 false) %18 = load i8, i8* %_8 %19 = getelementptr inbounds %"iter::Chain, slice::Iter>", %"iter::Chain, slice::Iter>"* %0, i32 0, i32 2 store i8 %18, i8* %19 ret void bb3: ; preds = %bb4 store i8 0, i8* %_9 br label %bb1 bb4: ; preds = %cleanup %20 = load i8, i8* %_9, !range !2 %21 = trunc i8 %20 to i1 br i1 %21, label %bb3, label %bb1 cleanup: ; preds = %start %22 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %22, { i8*, i32 }* %personalityslot br label %bb4 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3zip17h3846776f421bbcbdE(%"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture sret dereferenceable(10), %"slice::Iter"* noalias nocapture dereferenceable(4), %"slice::Iter<&str>"* dereferenceable(4)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %_8 = alloca i8 %_5 = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block store i8 0, i8* %_9 store i8 0, i8* %_8 %3 = bitcast %"slice::Iter"* %1 to i8* %4 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) store i8 1, i8* %_8 %5 = bitcast %"slice::Iter"* %self to i8* %6 = bitcast %"slice::Iter"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) %7 = invoke dereferenceable(4) %"slice::Iter<&str>"* @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17he56cee856ca8d06eE"(%"slice::Iter<&str>"* dereferenceable(4) %2) to label %bb2 unwind label %cleanup bb1: ; preds = %bb5, %bb6 %8 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %8 bb2: ; preds = %start store i8 1, i8* %_9 store i8 0, i8* %_8 store i8 0, i8* %_9 invoke void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$3new17had0e409452b2304cE"(%"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture sret dereferenceable(10) %0, %"slice::Iter"* noalias nocapture dereferenceable(4) %_5, %"slice::Iter<&str>"* dereferenceable(4) %7) to label %bb4 unwind label %cleanup1 bb3: ; preds = %cleanup1 %9 = load i8, i8* %_9, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb6 bb4: ; preds = %bb2 ret void bb5: ; preds = %bb6 store i8 0, i8* %_8 br label %bb1 bb6: ; preds = %bb7, %bb3, %cleanup %11 = load i8, i8* %_8, !range !2 %12 = trunc i8 %11 to i1 br i1 %12, label %bb5, label %bb1 bb7: ; preds = %bb3 store i8 0, i8* %_9 br label %bb6 cleanup: ; preds = %start %13 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %13, { i8*, i32 }* %personalityslot br label %bb6 cleanup1: ; preds = %bb2 %14 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %14, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3zip17h6cd86f3b052f4ec4E(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12), %"slice::IterMut"* noalias nocapture dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %_8 = alloca i8 %_6 = alloca %"slice::Iter" %_5 = alloca %"slice::IterMut" %self = alloca %"slice::IterMut" br label %start start: ; preds = %entry-block store i8 0, i8* %_9 store i8 0, i8* %_8 %4 = bitcast %"slice::IterMut"* %1 to i8* %5 = bitcast %"slice::IterMut"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) store i8 1, i8* %_8 %6 = bitcast %"slice::IterMut"* %self to i8* %7 = bitcast %"slice::IterMut"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) invoke void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_6, i8* noalias nonnull readonly %2, i16 %3) to label %bb2 unwind label %cleanup bb1: ; preds = %bb5, %bb6 %8 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %8 bb2: ; preds = %start store i8 1, i8* %_9 store i8 0, i8* %_8 store i8 0, i8* %_9 invoke void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$3new17h4fbf7438289792c9E"(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12) %0, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_5, %"slice::Iter"* noalias nocapture dereferenceable(4) %_6) to label %bb4 unwind label %cleanup1 bb3: ; preds = %cleanup1 %9 = load i8, i8* %_9, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb6 bb4: ; preds = %bb2 ret void bb5: ; preds = %bb6 store i8 0, i8* %_8 br label %bb1 bb6: ; preds = %bb7, %bb3, %cleanup %11 = load i8, i8* %_8, !range !2 %12 = trunc i8 %11 to i1 br i1 %12, label %bb5, label %bb1 bb7: ; preds = %bb3 store i8 0, i8* %_9 br label %bb6 cleanup: ; preds = %start %13 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %13, { i8*, i32 }* %personalityslot br label %bb6 cleanup1: ; preds = %bb2 %14 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %14, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3zip17h764d14b4c977e2f6E(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12), %"slice::IterMut"* noalias nocapture dereferenceable(4), i32* noalias nonnull readonly, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %_8 = alloca i8 %_6 = alloca %"slice::Iter" %_5 = alloca %"slice::IterMut" %self = alloca %"slice::IterMut" br label %start start: ; preds = %entry-block store i8 0, i8* %_9 store i8 0, i8* %_8 %4 = bitcast %"slice::IterMut"* %1 to i8* %5 = bitcast %"slice::IterMut"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) store i8 1, i8* %_8 %6 = bitcast %"slice::IterMut"* %self to i8* %7 = bitcast %"slice::IterMut"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) invoke void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17hb70e4489485d2168E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_6, i32* noalias nonnull readonly %2, i16 %3) to label %bb2 unwind label %cleanup bb1: ; preds = %bb5, %bb6 %8 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %8 bb2: ; preds = %start store i8 1, i8* %_9 store i8 0, i8* %_8 store i8 0, i8* %_9 invoke void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$3new17hf7bed47d702f50cbE"(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12) %0, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_5, %"slice::Iter"* noalias nocapture dereferenceable(4) %_6) to label %bb4 unwind label %cleanup1 bb3: ; preds = %cleanup1 %9 = load i8, i8* %_9, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb6 bb4: ; preds = %bb2 ret void bb5: ; preds = %bb6 store i8 0, i8* %_8 br label %bb1 bb6: ; preds = %bb7, %bb3, %cleanup %11 = load i8, i8* %_8, !range !2 %12 = trunc i8 %11 to i1 br i1 %12, label %bb5, label %bb1 bb7: ; preds = %bb3 store i8 0, i8* %_9 br label %bb6 cleanup: ; preds = %start %13 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %13, { i8*, i32 }* %personalityslot br label %bb6 cleanup1: ; preds = %bb2 %14 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %14, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3zip17hde9f181af367a0f8E(%"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture sret dereferenceable(10), %"slice::Iter"* noalias nocapture dereferenceable(4), %"slice::Iter<&str>"* dereferenceable(4)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %_8 = alloca i8 %_5 = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block store i8 0, i8* %_9 store i8 0, i8* %_8 %3 = bitcast %"slice::Iter"* %1 to i8* %4 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) store i8 1, i8* %_8 %5 = bitcast %"slice::Iter"* %self to i8* %6 = bitcast %"slice::Iter"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) %7 = invoke dereferenceable(4) %"slice::Iter<&str>"* @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17he56cee856ca8d06eE"(%"slice::Iter<&str>"* dereferenceable(4) %2) to label %bb2 unwind label %cleanup bb1: ; preds = %bb5, %bb6 %8 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %8 bb2: ; preds = %start store i8 1, i8* %_9 store i8 0, i8* %_8 store i8 0, i8* %_9 invoke void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$3new17h56b71dd8d4e0561dE"(%"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture sret dereferenceable(10) %0, %"slice::Iter"* noalias nocapture dereferenceable(4) %_5, %"slice::Iter<&str>"* dereferenceable(4) %7) to label %bb4 unwind label %cleanup1 bb3: ; preds = %cleanup1 %9 = load i8, i8* %_9, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb6 bb4: ; preds = %bb2 ret void bb5: ; preds = %bb6 store i8 0, i8* %_8 br label %bb1 bb6: ; preds = %bb7, %bb3, %cleanup %11 = load i8, i8* %_8, !range !2 %12 = trunc i8 %11 to i1 br i1 %12, label %bb5, label %bb1 bb7: ; preds = %bb3 store i8 0, i8* %_9 br label %bb6 cleanup: ; preds = %start %13 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %13, { i8*, i32 }* %personalityslot br label %bb6 cleanup1: ; preds = %bb2 %14 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %14, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator9enumerate17h6cc968e11ac0e768E(%"iter::Enumerate>"* noalias nocapture sret dereferenceable(6), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: %_3 = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Iter"* %1 to i8* %3 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::Iter"* %self to i8* %5 = bitcast %"slice::Iter"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"iter::Enumerate>", %"iter::Enumerate>"* %0, i32 0, i32 0 %7 = bitcast %"slice::Iter"* %_3 to i8* %8 = bitcast %"slice::Iter"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) %9 = getelementptr inbounds %"iter::Enumerate>", %"iter::Enumerate>"* %0, i32 0, i32 1 store i16 0, i16* %9 ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator9enumerate17h96967ce04feb8fb7E(%"iter::Enumerate>"* noalias nocapture sret dereferenceable(6), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: %_3 = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Iter"* %1 to i8* %3 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::Iter"* %self to i8* %5 = bitcast %"slice::Iter"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"iter::Enumerate>", %"iter::Enumerate>"* %0, i32 0, i32 0 %7 = bitcast %"slice::Iter"* %_3 to i8* %8 = bitcast %"slice::Iter"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) %9 = getelementptr inbounds %"iter::Enumerate>", %"iter::Enumerate>"* %0, i32 0, i32 1 store i16 0, i16* %9 ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator10take_while17h665df52f959dc933E(%"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture sret dereferenceable(8), %"iter::Rev>"* noalias nocapture dereferenceable(4), %closure.0* noalias readonly) unnamed_addr #0 { entry-block: %_5 = alloca %"iter::Rev>" %self = alloca %"iter::Rev>" br label %start start: ; preds = %entry-block %3 = bitcast %"iter::Rev>"* %1 to i8* %4 = bitcast %"iter::Rev>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) %5 = bitcast %"iter::Rev>"* %self to i8* %6 = bitcast %"iter::Rev>"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) %7 = getelementptr inbounds %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %0, i32 0, i32 0 %8 = bitcast %"iter::Rev>"* %_5 to i8* %9 = bitcast %"iter::Rev>"* %7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 4, i32 2, i1 false) %10 = getelementptr inbounds %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %0, i32 0, i32 1 store i8 0, i8* %10 %11 = getelementptr inbounds %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %0, i32 0, i32 2 store %closure.0* %2, %closure.0** %11 ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator10take_while17h9a336a37a02790b7E(%"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* noalias nocapture sret dereferenceable(6), %"iter::Rev>"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: %_5 = alloca %"iter::Rev>" %self = alloca %"iter::Rev>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Rev>"* %1 to i8* %3 = bitcast %"iter::Rev>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Rev>"* %self to i8* %5 = bitcast %"iter::Rev>"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>", %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %0, i32 0, i32 0 %7 = bitcast %"iter::Rev>"* %_5 to i8* %8 = bitcast %"iter::Rev>"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) %9 = getelementptr inbounds %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>", %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %0, i32 0, i32 1 store i8 0, i8* %9 ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator10take_while17hb02bf91916f4ec88E(%"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture sret dereferenceable(8), %"slice::Iter"* noalias nocapture dereferenceable(4), %closure.0* noalias readonly) unnamed_addr #0 { entry-block: %_5 = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %3 = bitcast %"slice::Iter"* %1 to i8* %4 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) %5 = bitcast %"slice::Iter"* %self to i8* %6 = bitcast %"slice::Iter"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) %7 = getelementptr inbounds %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %0, i32 0, i32 0 %8 = bitcast %"slice::Iter"* %_5 to i8* %9 = bitcast %"slice::Iter"* %7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 4, i32 2, i1 false) %10 = getelementptr inbounds %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %0, i32 0, i32 1 store i8 0, i8* %10 %11 = getelementptr inbounds %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %0, i32 0, i32 2 store %closure.0* %2, %closure.0** %11 ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator10take_while17hdc43f36186ee3305E(%"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* noalias nocapture sret dereferenceable(6), %"iter::Rev>"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: %_5 = alloca %"iter::Rev>" %self = alloca %"iter::Rev>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Rev>"* %1 to i8* %3 = bitcast %"iter::Rev>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Rev>"* %self to i8* %5 = bitcast %"iter::Rev>"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>", %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %0, i32 0, i32 0 %7 = bitcast %"iter::Rev>"* %_5 to i8* %8 = bitcast %"iter::Rev>"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) %9 = getelementptr inbounds %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>", %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %0, i32 0, i32 1 store i8 0, i8* %9 ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator4skip17h5a8f6188b336e4c1E(%"iter::Skip"* noalias nocapture sret dereferenceable(8), %"str::CharIndices"* noalias nocapture dereferenceable(6), i16) unnamed_addr #0 { entry-block: %_5 = alloca %"str::CharIndices" %self = alloca %"str::CharIndices" br label %start start: ; preds = %entry-block %3 = bitcast %"str::CharIndices"* %1 to i8* %4 = bitcast %"str::CharIndices"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 6, i32 2, i1 false) %5 = bitcast %"str::CharIndices"* %self to i8* %6 = bitcast %"str::CharIndices"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 6, i32 2, i1 false) %7 = getelementptr inbounds %"iter::Skip", %"iter::Skip"* %0, i32 0, i32 0 %8 = bitcast %"str::CharIndices"* %_5 to i8* %9 = bitcast %"str::CharIndices"* %7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 6, i32 2, i1 false) %10 = getelementptr inbounds %"iter::Skip", %"iter::Skip"* %0, i32 0, i32 1 store i16 %2, i16* %10 ret void } ; Function Attrs: uwtable define internal dereferenceable(4) %"slice::Iter<&str>"* @_ZN4core4iter8iterator8Iterator6by_ref17h0a6828ee3da2b307E(%"slice::Iter<&str>"* dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret %"slice::Iter<&str>"* %0 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter8iterator8Iterator4fold17h1956d5a4b8e02cdfE(%"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8), i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_31 = alloca i8 %_30 = alloca i8 %_29 = alloca i8 %_28 = alloca i8 %_27 = alloca i8 %_22 = alloca { i16, i8* } %_15 = alloca i8* %iter = alloca %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>" %_13 = alloca %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>" %_12 = alloca %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>" %_result = alloca {} %_9 = alloca {} %accum = alloca i16 %f = alloca %closure.6 %self = alloca %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>" br label %start start: ; preds = %entry-block store i8 0, i8* %_28 store i8 0, i8* %_27 store i8 0, i8* %_29 store i8 0, i8* %_30 store i8 0, i8* %_31 store i8 1, i8* %_27 %2 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %0 to i8* %3 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 8, i32 2, i1 false) store i8 1, i8* %_28 store i16 %1, i16* %accum store i8 0, i8* %_27 %4 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %self to i8* %5 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 8, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17he06e5a00ce3db442E"(%"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture sret dereferenceable(8) %_12, %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8) %_13) to label %bb5 unwind label %cleanup bb1: ; preds = %bb18, %bb2 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %bb3 %7 = load i8, i8* %_27, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb18, label %bb1 bb3: ; preds = %bb19, %bb4 br label %bb2 bb4: ; preds = %bb20, %bb6, %cleanup %9 = load i8, i8* %_28, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb19, label %bb3 bb5: ; preds = %start store i8 1, i8* %_29 store i8 0, i8* %_29 %11 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %_12 to i8* %12 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 8, i32 2, i1 false) br label %bb7 bb6: ; preds = %bb8 %13 = load i8, i8* %_29, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb20, label %bb4 bb7: ; preds = %bb15, %bb5 %15 = invoke i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h072bbb4d1842cd03E"(%"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* dereferenceable(8) %iter) to label %bb9 unwind label %cleanup1 bb8: ; preds = %bb23, %bb22, %bb21, %cleanup1 br label %bb6 bb9: ; preds = %bb7 store i8* %15, i8** %_15 store i8 1, i8* %_30 %16 = load i8*, i8** %_15 %17 = icmp ne i8* %16, null %18 = zext i1 %17 to i16 switch i16 %18, label %bb12 [ i16 0, label %bb11 ] bb10: ; preds = %cleanup2 %19 = load i8*, i8** %_15 %20 = icmp ne i8* %19, null %21 = zext i1 %20 to i16 switch i16 %21, label %bb21 [ i16 1, label %bb22 ] bb11: ; preds = %bb9 store i8 0, i8* %_30 br label %bb14 bb12: ; preds = %bb9 store i8 0, i8* %_30 %22 = load i8*, i8** %_15, !nonnull !1 store i8 0, i8* %_28 %23 = load i16, i16* %accum %24 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 0 store i16 %23, i16* %24 %25 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 1 store i8* %22, i8** %25 %26 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 0 %27 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 1 %28 = load i16, i16* %26 %29 = load i8*, i8** %27, !nonnull !1 %30 = invoke i16 @"_ZN4core4iter8iterator8Iterator5count28_$u7b$$u7b$closure$u7d$$u7d$17h895427b6d1e37012E"(%closure.6* %f, i16 %28, i8* noalias readonly dereferenceable(1) %29) to label %bb13 unwind label %cleanup2 bb13: ; preds = %bb12 store i8 1, i8* %_31 store i8 0, i8* %_31 store i8 1, i8* %_28 store i16 %30, i16* %accum %31 = load i8*, i8** %_15 %32 = icmp ne i8* %31, null %33 = zext i1 %32 to i16 switch i16 %33, label %bb24 [ i16 1, label %bb15 ] bb14: ; preds = %bb11 br label %bb16 bb15: ; preds = %bb24, %bb13 br label %bb7 bb16: ; preds = %bb14 store i8 0, i8* %_28 %34 = load i16, i16* %accum br label %bb17 bb17: ; preds = %bb16 ret i16 %34 bb18: ; preds = %bb2 store i8 0, i8* %_27 br label %bb1 bb19: ; preds = %bb4 store i8 0, i8* %_28 br label %bb3 bb20: ; preds = %bb6 store i8 0, i8* %_29 br label %bb4 bb21: ; preds = %bb10 br label %bb8 bb22: ; preds = %bb10 %35 = load i8, i8* %_30, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb23, label %bb8 bb23: ; preds = %bb22 store i8 0, i8* %_30 br label %bb8 bb24: ; preds = %bb13 br label %bb15 cleanup: ; preds = %start %37 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %37, { i8*, i32 }* %personalityslot br label %bb4 cleanup1: ; preds = %bb7 %38 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %38, { i8*, i32 }* %personalityslot br label %bb8 cleanup2: ; preds = %bb12 %39 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %39, { i8*, i32 }* %personalityslot br label %bb10 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter8iterator8Iterator4fold17h468f75da90ac5d85E(%"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8), i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_31 = alloca i8 %_30 = alloca i8 %_29 = alloca i8 %_28 = alloca i8 %_27 = alloca i8 %_22 = alloca { i16, i8* } %_15 = alloca i8* %iter = alloca %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>" %_13 = alloca %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>" %_12 = alloca %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>" %_result = alloca {} %_9 = alloca {} %accum = alloca i16 %f = alloca %closure.3 %self = alloca %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>" br label %start start: ; preds = %entry-block store i8 0, i8* %_28 store i8 0, i8* %_27 store i8 0, i8* %_29 store i8 0, i8* %_30 store i8 0, i8* %_31 store i8 1, i8* %_27 %2 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %0 to i8* %3 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 8, i32 2, i1 false) store i8 1, i8* %_28 store i16 %1, i16* %accum store i8 0, i8* %_27 %4 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %self to i8* %5 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 8, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h879e5f8c08485f35E"(%"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture sret dereferenceable(8) %_12, %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8) %_13) to label %bb5 unwind label %cleanup bb1: ; preds = %bb18, %bb2 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %bb3 %7 = load i8, i8* %_27, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb18, label %bb1 bb3: ; preds = %bb19, %bb4 br label %bb2 bb4: ; preds = %bb20, %bb6, %cleanup %9 = load i8, i8* %_28, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb19, label %bb3 bb5: ; preds = %start store i8 1, i8* %_29 store i8 0, i8* %_29 %11 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %_12 to i8* %12 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 8, i32 2, i1 false) br label %bb7 bb6: ; preds = %bb8 %13 = load i8, i8* %_29, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb20, label %bb4 bb7: ; preds = %bb15, %bb5 %15 = invoke i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h34c43249a893f689E"(%"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* dereferenceable(8) %iter) to label %bb9 unwind label %cleanup1 bb8: ; preds = %bb23, %bb22, %bb21, %cleanup1 br label %bb6 bb9: ; preds = %bb7 store i8* %15, i8** %_15 store i8 1, i8* %_30 %16 = load i8*, i8** %_15 %17 = icmp ne i8* %16, null %18 = zext i1 %17 to i16 switch i16 %18, label %bb12 [ i16 0, label %bb11 ] bb10: ; preds = %cleanup2 %19 = load i8*, i8** %_15 %20 = icmp ne i8* %19, null %21 = zext i1 %20 to i16 switch i16 %21, label %bb21 [ i16 1, label %bb22 ] bb11: ; preds = %bb9 store i8 0, i8* %_30 br label %bb14 bb12: ; preds = %bb9 store i8 0, i8* %_30 %22 = load i8*, i8** %_15, !nonnull !1 store i8 0, i8* %_28 %23 = load i16, i16* %accum %24 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 0 store i16 %23, i16* %24 %25 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 1 store i8* %22, i8** %25 %26 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 0 %27 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 1 %28 = load i16, i16* %26 %29 = load i8*, i8** %27, !nonnull !1 %30 = invoke i16 @"_ZN4core4iter8iterator8Iterator5count28_$u7b$$u7b$closure$u7d$$u7d$17h02519c5ca3f17bb8E"(%closure.3* %f, i16 %28, i8* noalias readonly dereferenceable(1) %29) to label %bb13 unwind label %cleanup2 bb13: ; preds = %bb12 store i8 1, i8* %_31 store i8 0, i8* %_31 store i8 1, i8* %_28 store i16 %30, i16* %accum %31 = load i8*, i8** %_15 %32 = icmp ne i8* %31, null %33 = zext i1 %32 to i16 switch i16 %33, label %bb24 [ i16 1, label %bb15 ] bb14: ; preds = %bb11 br label %bb16 bb15: ; preds = %bb24, %bb13 br label %bb7 bb16: ; preds = %bb14 store i8 0, i8* %_28 %34 = load i16, i16* %accum br label %bb17 bb17: ; preds = %bb16 ret i16 %34 bb18: ; preds = %bb2 store i8 0, i8* %_27 br label %bb1 bb19: ; preds = %bb4 store i8 0, i8* %_28 br label %bb3 bb20: ; preds = %bb6 store i8 0, i8* %_29 br label %bb4 bb21: ; preds = %bb10 br label %bb8 bb22: ; preds = %bb10 %35 = load i8, i8* %_30, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb23, label %bb8 bb23: ; preds = %bb22 store i8 0, i8* %_30 br label %bb8 bb24: ; preds = %bb13 br label %bb15 cleanup: ; preds = %start %37 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %37, { i8*, i32 }* %personalityslot br label %bb4 cleanup1: ; preds = %bb7 %38 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %38, { i8*, i32 }* %personalityslot br label %bb8 cleanup2: ; preds = %bb12 %39 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %39, { i8*, i32 }* %personalityslot br label %bb10 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter8iterator8Iterator4fold17h6cdb0e28d780b1c5E(%"slice::Iter"* noalias nocapture dereferenceable(4), i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_31 = alloca i8 %_30 = alloca i8 %_29 = alloca i8 %_28 = alloca i8 %_27 = alloca i8 %_22 = alloca { i16, i8* } %_15 = alloca i8* %iter = alloca %"slice::Iter" %_13 = alloca %"slice::Iter" %_12 = alloca %"slice::Iter" %_result = alloca {} %_9 = alloca {} %accum = alloca i16 %f = alloca %closure.8 %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block store i8 0, i8* %_28 store i8 0, i8* %_27 store i8 0, i8* %_29 store i8 0, i8* %_30 store i8 0, i8* %_31 store i8 1, i8* %_27 %2 = bitcast %"slice::Iter"* %0 to i8* %3 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) store i8 1, i8* %_28 store i16 %1, i16* %accum store i8 0, i8* %_27 %4 = bitcast %"slice::Iter"* %self to i8* %5 = bitcast %"slice::Iter"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha39cd41f4ad0701fE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_12, %"slice::Iter"* noalias nocapture dereferenceable(4) %_13) to label %bb5 unwind label %cleanup bb1: ; preds = %bb18, %bb2 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %bb3 %7 = load i8, i8* %_27, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb18, label %bb1 bb3: ; preds = %bb19, %bb4 br label %bb2 bb4: ; preds = %bb20, %bb6, %cleanup %9 = load i8, i8* %_28, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb19, label %bb3 bb5: ; preds = %start store i8 1, i8* %_29 store i8 0, i8* %_29 %11 = bitcast %"slice::Iter"* %_12 to i8* %12 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb7 bb6: ; preds = %bb8 %13 = load i8, i8* %_29, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb20, label %bb4 bb7: ; preds = %bb15, %bb5 %15 = invoke i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) to label %bb9 unwind label %cleanup1 bb8: ; preds = %bb23, %bb22, %bb21, %cleanup1 br label %bb6 bb9: ; preds = %bb7 store i8* %15, i8** %_15 store i8 1, i8* %_30 %16 = load i8*, i8** %_15 %17 = icmp ne i8* %16, null %18 = zext i1 %17 to i16 switch i16 %18, label %bb12 [ i16 0, label %bb11 ] bb10: ; preds = %cleanup2 %19 = load i8*, i8** %_15 %20 = icmp ne i8* %19, null %21 = zext i1 %20 to i16 switch i16 %21, label %bb21 [ i16 1, label %bb22 ] bb11: ; preds = %bb9 store i8 0, i8* %_30 br label %bb14 bb12: ; preds = %bb9 store i8 0, i8* %_30 %22 = load i8*, i8** %_15, !nonnull !1 store i8 0, i8* %_28 %23 = load i16, i16* %accum %24 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 0 store i16 %23, i16* %24 %25 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 1 store i8* %22, i8** %25 %26 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 0 %27 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 1 %28 = load i16, i16* %26 %29 = load i8*, i8** %27, !nonnull !1 %30 = invoke i16 @"_ZN78_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4fold28_$u7b$$u7b$closure$u7d$$u7d$17h601db8178c5cb063E"(%closure.8* %f, i16 %28, i8* noalias readonly dereferenceable(1) %29) to label %bb13 unwind label %cleanup2 bb13: ; preds = %bb12 store i8 1, i8* %_31 store i8 0, i8* %_31 store i8 1, i8* %_28 store i16 %30, i16* %accum %31 = load i8*, i8** %_15 %32 = icmp ne i8* %31, null %33 = zext i1 %32 to i16 switch i16 %33, label %bb24 [ i16 1, label %bb15 ] bb14: ; preds = %bb11 br label %bb16 bb15: ; preds = %bb24, %bb13 br label %bb7 bb16: ; preds = %bb14 store i8 0, i8* %_28 %34 = load i16, i16* %accum br label %bb17 bb17: ; preds = %bb16 ret i16 %34 bb18: ; preds = %bb2 store i8 0, i8* %_27 br label %bb1 bb19: ; preds = %bb4 store i8 0, i8* %_28 br label %bb3 bb20: ; preds = %bb6 store i8 0, i8* %_29 br label %bb4 bb21: ; preds = %bb10 br label %bb8 bb22: ; preds = %bb10 %35 = load i8, i8* %_30, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb23, label %bb8 bb23: ; preds = %bb22 store i8 0, i8* %_30 br label %bb8 bb24: ; preds = %bb13 br label %bb15 cleanup: ; preds = %start %37 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %37, { i8*, i32 }* %personalityslot br label %bb4 cleanup1: ; preds = %bb7 %38 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %38, { i8*, i32 }* %personalityslot br label %bb8 cleanup2: ; preds = %bb12 %39 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %39, { i8*, i32 }* %personalityslot br label %bb10 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter8iterator8Iterator4fold17h7b8daf1e93867cd1E(%"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* noalias nocapture dereferenceable(6), i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_31 = alloca i8 %_30 = alloca i8 %_29 = alloca i8 %_28 = alloca i8 %_27 = alloca i8 %_22 = alloca { i16, i32* } %_15 = alloca i8* %iter = alloca %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>" %_13 = alloca %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>" %_12 = alloca %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>" %_result = alloca {} %_9 = alloca {} %accum = alloca i16 %f = alloca %closure.5 %self = alloca %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>" br label %start start: ; preds = %entry-block store i8 0, i8* %_28 store i8 0, i8* %_27 store i8 0, i8* %_29 store i8 0, i8* %_30 store i8 0, i8* %_31 store i8 1, i8* %_27 %2 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %0 to i8* %3 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 6, i32 2, i1 false) store i8 1, i8* %_28 store i16 %1, i16* %accum store i8 0, i8* %_27 %4 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %self to i8* %5 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 6, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hfce863b82d79c27bE"(%"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* noalias nocapture sret dereferenceable(6) %_12, %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* noalias nocapture dereferenceable(6) %_13) to label %bb5 unwind label %cleanup bb1: ; preds = %bb18, %bb2 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %bb3 %7 = load i8, i8* %_27, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb18, label %bb1 bb3: ; preds = %bb19, %bb4 br label %bb2 bb4: ; preds = %bb20, %bb6, %cleanup %9 = load i8, i8* %_28, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb19, label %bb3 bb5: ; preds = %start store i8 1, i8* %_29 store i8 0, i8* %_29 %11 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %_12 to i8* %12 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 6, i32 2, i1 false) br label %bb7 bb6: ; preds = %bb8 %13 = load i8, i8* %_29, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb20, label %bb4 bb7: ; preds = %bb15, %bb5 %15 = invoke i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hab56c9e2c62d8ccfE"(%"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* dereferenceable(6) %iter) to label %bb9 unwind label %cleanup1 bb8: ; preds = %bb23, %bb22, %bb21, %cleanup1 br label %bb6 bb9: ; preds = %bb7 store i8* %15, i8** %_15 store i8 1, i8* %_30 %16 = load i8*, i8** %_15 %17 = icmp ne i8* %16, null %18 = zext i1 %17 to i16 switch i16 %18, label %bb12 [ i16 0, label %bb11 ] bb10: ; preds = %cleanup2 %19 = load i8*, i8** %_15 %20 = icmp ne i8* %19, null %21 = zext i1 %20 to i16 switch i16 %21, label %bb21 [ i16 1, label %bb22 ] bb11: ; preds = %bb9 store i8 0, i8* %_30 br label %bb14 bb12: ; preds = %bb9 store i8 0, i8* %_30 %22 = bitcast i8** %_15 to i32** %23 = load i32*, i32** %22, !nonnull !1 store i8 0, i8* %_28 %24 = load i16, i16* %accum %25 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %_22, i32 0, i32 0 store i16 %24, i16* %25 %26 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %_22, i32 0, i32 1 store i32* %23, i32** %26 %27 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %_22, i32 0, i32 0 %28 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %_22, i32 0, i32 1 %29 = load i16, i16* %27 %30 = load i32*, i32** %28, !nonnull !1 %31 = invoke i16 @"_ZN4core4iter8iterator8Iterator5count28_$u7b$$u7b$closure$u7d$$u7d$17h3de692d93690b60dE"(%closure.5* %f, i16 %29, i32* noalias readonly dereferenceable(4) %30) to label %bb13 unwind label %cleanup2 bb13: ; preds = %bb12 store i8 1, i8* %_31 store i8 0, i8* %_31 store i8 1, i8* %_28 store i16 %31, i16* %accum %32 = load i8*, i8** %_15 %33 = icmp ne i8* %32, null %34 = zext i1 %33 to i16 switch i16 %34, label %bb24 [ i16 1, label %bb15 ] bb14: ; preds = %bb11 br label %bb16 bb15: ; preds = %bb24, %bb13 br label %bb7 bb16: ; preds = %bb14 store i8 0, i8* %_28 %35 = load i16, i16* %accum br label %bb17 bb17: ; preds = %bb16 ret i16 %35 bb18: ; preds = %bb2 store i8 0, i8* %_27 br label %bb1 bb19: ; preds = %bb4 store i8 0, i8* %_28 br label %bb3 bb20: ; preds = %bb6 store i8 0, i8* %_29 br label %bb4 bb21: ; preds = %bb10 br label %bb8 bb22: ; preds = %bb10 %36 = load i8, i8* %_30, !range !2 %37 = trunc i8 %36 to i1 br i1 %37, label %bb23, label %bb8 bb23: ; preds = %bb22 store i8 0, i8* %_30 br label %bb8 bb24: ; preds = %bb13 br label %bb15 cleanup: ; preds = %start %38 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %38, { i8*, i32 }* %personalityslot br label %bb4 cleanup1: ; preds = %bb7 %39 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %39, { i8*, i32 }* %personalityslot br label %bb8 cleanup2: ; preds = %bb12 %40 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %40, { i8*, i32 }* %personalityslot br label %bb10 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter8iterator8Iterator4fold17hb6a31629f2c94ad9E(%"slice::Iter<&str>"* noalias nocapture dereferenceable(4), i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_31 = alloca i8 %_30 = alloca i8 %_29 = alloca i8 %_28 = alloca i8 %_27 = alloca i8 %_22 = alloca { i16, %str_slice* } %_15 = alloca i8* %iter = alloca %"slice::Iter<&str>" %_13 = alloca %"slice::Iter<&str>" %_12 = alloca %"slice::Iter<&str>" %_result = alloca {} %_9 = alloca {} %accum = alloca i16 %f = alloca %closure.9 %self = alloca %"slice::Iter<&str>" br label %start start: ; preds = %entry-block store i8 0, i8* %_28 store i8 0, i8* %_27 store i8 0, i8* %_29 store i8 0, i8* %_30 store i8 0, i8* %_31 store i8 1, i8* %_27 %2 = bitcast %"slice::Iter<&str>"* %0 to i8* %3 = bitcast %"slice::Iter<&str>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) store i8 1, i8* %_28 store i16 %1, i16* %accum store i8 0, i8* %_27 %4 = bitcast %"slice::Iter<&str>"* %self to i8* %5 = bitcast %"slice::Iter<&str>"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17he7be49b61f96723aE"(%"slice::Iter<&str>"* noalias nocapture sret dereferenceable(4) %_12, %"slice::Iter<&str>"* noalias nocapture dereferenceable(4) %_13) to label %bb5 unwind label %cleanup bb1: ; preds = %bb18, %bb2 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %bb3 %7 = load i8, i8* %_27, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb18, label %bb1 bb3: ; preds = %bb19, %bb4 br label %bb2 bb4: ; preds = %bb20, %bb6, %cleanup %9 = load i8, i8* %_28, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb19, label %bb3 bb5: ; preds = %start store i8 1, i8* %_29 store i8 0, i8* %_29 %11 = bitcast %"slice::Iter<&str>"* %_12 to i8* %12 = bitcast %"slice::Iter<&str>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb7 bb6: ; preds = %bb8 %13 = load i8, i8* %_29, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb20, label %bb4 bb7: ; preds = %bb15, %bb5 %15 = invoke i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd30b4fbc2b8c8f5cE"(%"slice::Iter<&str>"* dereferenceable(4) %iter) to label %bb9 unwind label %cleanup1 bb8: ; preds = %bb23, %bb22, %bb21, %cleanup1 br label %bb6 bb9: ; preds = %bb7 store i8* %15, i8** %_15 store i8 1, i8* %_30 %16 = load i8*, i8** %_15 %17 = icmp ne i8* %16, null %18 = zext i1 %17 to i16 switch i16 %18, label %bb12 [ i16 0, label %bb11 ] bb10: ; preds = %cleanup2 %19 = load i8*, i8** %_15 %20 = icmp ne i8* %19, null %21 = zext i1 %20 to i16 switch i16 %21, label %bb21 [ i16 1, label %bb22 ] bb11: ; preds = %bb9 store i8 0, i8* %_30 br label %bb14 bb12: ; preds = %bb9 store i8 0, i8* %_30 %22 = bitcast i8** %_15 to %str_slice** %23 = load %str_slice*, %str_slice** %22, !nonnull !1 store i8 0, i8* %_28 %24 = load i16, i16* %accum %25 = getelementptr inbounds { i16, %str_slice* }, { i16, %str_slice* }* %_22, i32 0, i32 0 store i16 %24, i16* %25 %26 = getelementptr inbounds { i16, %str_slice* }, { i16, %str_slice* }* %_22, i32 0, i32 1 store %str_slice* %23, %str_slice** %26 %27 = getelementptr inbounds { i16, %str_slice* }, { i16, %str_slice* }* %_22, i32 0, i32 0 %28 = getelementptr inbounds { i16, %str_slice* }, { i16, %str_slice* }* %_22, i32 0, i32 1 %29 = load i16, i16* %27 %30 = load %str_slice*, %str_slice** %28, !nonnull !1 %31 = invoke i16 @"_ZN84_$LT$core..iter..Map$LT$I$C$$u20$F$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4fold28_$u7b$$u7b$closure$u7d$$u7d$17h403c2c18e2235242E"(%closure.9* %f, i16 %29, %str_slice* noalias readonly dereferenceable(4) %30) to label %bb13 unwind label %cleanup2 bb13: ; preds = %bb12 store i8 1, i8* %_31 store i8 0, i8* %_31 store i8 1, i8* %_28 store i16 %31, i16* %accum %32 = load i8*, i8** %_15 %33 = icmp ne i8* %32, null %34 = zext i1 %33 to i16 switch i16 %34, label %bb24 [ i16 1, label %bb15 ] bb14: ; preds = %bb11 br label %bb16 bb15: ; preds = %bb24, %bb13 br label %bb7 bb16: ; preds = %bb14 store i8 0, i8* %_28 %35 = load i16, i16* %accum br label %bb17 bb17: ; preds = %bb16 ret i16 %35 bb18: ; preds = %bb2 store i8 0, i8* %_27 br label %bb1 bb19: ; preds = %bb4 store i8 0, i8* %_28 br label %bb3 bb20: ; preds = %bb6 store i8 0, i8* %_29 br label %bb4 bb21: ; preds = %bb10 br label %bb8 bb22: ; preds = %bb10 %36 = load i8, i8* %_30, !range !2 %37 = trunc i8 %36 to i1 br i1 %37, label %bb23, label %bb8 bb23: ; preds = %bb22 store i8 0, i8* %_30 br label %bb8 bb24: ; preds = %bb13 br label %bb15 cleanup: ; preds = %start %38 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %38, { i8*, i32 }* %personalityslot br label %bb4 cleanup1: ; preds = %bb7 %39 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %39, { i8*, i32 }* %personalityslot br label %bb8 cleanup2: ; preds = %bb12 %40 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %40, { i8*, i32 }* %personalityslot br label %bb10 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter8iterator8Iterator4fold17hc1a47caf43e8454eE(%"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* noalias nocapture dereferenceable(6), i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_31 = alloca i8 %_30 = alloca i8 %_29 = alloca i8 %_28 = alloca i8 %_27 = alloca i8 %_22 = alloca { i16, i8* } %_15 = alloca i8* %iter = alloca %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>" %_13 = alloca %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>" %_12 = alloca %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>" %_result = alloca {} %_9 = alloca {} %accum = alloca i16 %f = alloca %closure.7 %self = alloca %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>" br label %start start: ; preds = %entry-block store i8 0, i8* %_28 store i8 0, i8* %_27 store i8 0, i8* %_29 store i8 0, i8* %_30 store i8 0, i8* %_31 store i8 1, i8* %_27 %2 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %0 to i8* %3 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 6, i32 2, i1 false) store i8 1, i8* %_28 store i16 %1, i16* %accum store i8 0, i8* %_27 %4 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %self to i8* %5 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 6, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h2e0b419eb1a6ab5bE"(%"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* noalias nocapture sret dereferenceable(6) %_12, %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* noalias nocapture dereferenceable(6) %_13) to label %bb5 unwind label %cleanup bb1: ; preds = %bb18, %bb2 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %bb3 %7 = load i8, i8* %_27, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb18, label %bb1 bb3: ; preds = %bb19, %bb4 br label %bb2 bb4: ; preds = %bb20, %bb6, %cleanup %9 = load i8, i8* %_28, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb19, label %bb3 bb5: ; preds = %start store i8 1, i8* %_29 store i8 0, i8* %_29 %11 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %_12 to i8* %12 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 6, i32 2, i1 false) br label %bb7 bb6: ; preds = %bb8 %13 = load i8, i8* %_29, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb20, label %bb4 bb7: ; preds = %bb15, %bb5 %15 = invoke i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h83a0dfc7254977f6E"(%"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* dereferenceable(6) %iter) to label %bb9 unwind label %cleanup1 bb8: ; preds = %bb23, %bb22, %bb21, %cleanup1 br label %bb6 bb9: ; preds = %bb7 store i8* %15, i8** %_15 store i8 1, i8* %_30 %16 = load i8*, i8** %_15 %17 = icmp ne i8* %16, null %18 = zext i1 %17 to i16 switch i16 %18, label %bb12 [ i16 0, label %bb11 ] bb10: ; preds = %cleanup2 %19 = load i8*, i8** %_15 %20 = icmp ne i8* %19, null %21 = zext i1 %20 to i16 switch i16 %21, label %bb21 [ i16 1, label %bb22 ] bb11: ; preds = %bb9 store i8 0, i8* %_30 br label %bb14 bb12: ; preds = %bb9 store i8 0, i8* %_30 %22 = load i8*, i8** %_15, !nonnull !1 store i8 0, i8* %_28 %23 = load i16, i16* %accum %24 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 0 store i16 %23, i16* %24 %25 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 1 store i8* %22, i8** %25 %26 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 0 %27 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %_22, i32 0, i32 1 %28 = load i16, i16* %26 %29 = load i8*, i8** %27, !nonnull !1 %30 = invoke i16 @"_ZN4core4iter8iterator8Iterator5count28_$u7b$$u7b$closure$u7d$$u7d$17he95425aa653d80bcE"(%closure.7* %f, i16 %28, i8* noalias readonly dereferenceable(1) %29) to label %bb13 unwind label %cleanup2 bb13: ; preds = %bb12 store i8 1, i8* %_31 store i8 0, i8* %_31 store i8 1, i8* %_28 store i16 %30, i16* %accum %31 = load i8*, i8** %_15 %32 = icmp ne i8* %31, null %33 = zext i1 %32 to i16 switch i16 %33, label %bb24 [ i16 1, label %bb15 ] bb14: ; preds = %bb11 br label %bb16 bb15: ; preds = %bb24, %bb13 br label %bb7 bb16: ; preds = %bb14 store i8 0, i8* %_28 %34 = load i16, i16* %accum br label %bb17 bb17: ; preds = %bb16 ret i16 %34 bb18: ; preds = %bb2 store i8 0, i8* %_27 br label %bb1 bb19: ; preds = %bb4 store i8 0, i8* %_28 br label %bb3 bb20: ; preds = %bb6 store i8 0, i8* %_29 br label %bb4 bb21: ; preds = %bb10 br label %bb8 bb22: ; preds = %bb10 %35 = load i8, i8* %_30, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb23, label %bb8 bb23: ; preds = %bb22 store i8 0, i8* %_30 br label %bb8 bb24: ; preds = %bb13 br label %bb15 cleanup: ; preds = %start %37 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %37, { i8*, i32 }* %personalityslot br label %bb4 cleanup1: ; preds = %bb7 %38 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %38, { i8*, i32 }* %personalityslot br label %bb8 cleanup2: ; preds = %bb12 %39 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %39, { i8*, i32 }* %personalityslot br label %bb10 } ; Function Attrs: inlinehint uwtable define internal i64 @_ZN4core4iter8iterator8Iterator4fold17hd3e93056346a0636E(%"slice::Iter"* noalias nocapture dereferenceable(4), i64) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_31 = alloca i8 %_30 = alloca i8 %_29 = alloca i8 %_28 = alloca i8 %_27 = alloca i8 %_22 = alloca { i64, i8* } %_15 = alloca i8* %iter = alloca %"slice::Iter" %_13 = alloca %"slice::Iter" %_12 = alloca %"slice::Iter" %_result = alloca {} %_9 = alloca {} %accum = alloca i64 %f = alloca %closure.11 %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block store i8 0, i8* %_28 store i8 0, i8* %_27 store i8 0, i8* %_29 store i8 0, i8* %_30 store i8 0, i8* %_31 store i8 1, i8* %_27 %2 = bitcast %"slice::Iter"* %0 to i8* %3 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) store i8 1, i8* %_28 store i64 %1, i64* %accum store i8 0, i8* %_27 %4 = bitcast %"slice::Iter"* %self to i8* %5 = bitcast %"slice::Iter"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha39cd41f4ad0701fE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_12, %"slice::Iter"* noalias nocapture dereferenceable(4) %_13) to label %bb5 unwind label %cleanup bb1: ; preds = %bb18, %bb2 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %bb3 %7 = load i8, i8* %_27, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb18, label %bb1 bb3: ; preds = %bb19, %bb4 br label %bb2 bb4: ; preds = %bb20, %bb6, %cleanup %9 = load i8, i8* %_28, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb19, label %bb3 bb5: ; preds = %start store i8 1, i8* %_29 store i8 0, i8* %_29 %11 = bitcast %"slice::Iter"* %_12 to i8* %12 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb7 bb6: ; preds = %bb8 %13 = load i8, i8* %_29, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb20, label %bb4 bb7: ; preds = %bb15, %bb5 %15 = invoke i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) to label %bb9 unwind label %cleanup1 bb8: ; preds = %bb23, %bb22, %bb21, %cleanup1 br label %bb6 bb9: ; preds = %bb7 store i8* %15, i8** %_15 store i8 1, i8* %_30 %16 = load i8*, i8** %_15 %17 = icmp ne i8* %16, null %18 = zext i1 %17 to i16 switch i16 %18, label %bb12 [ i16 0, label %bb11 ] bb10: ; preds = %cleanup2 %19 = load i8*, i8** %_15 %20 = icmp ne i8* %19, null %21 = zext i1 %20 to i16 switch i16 %21, label %bb21 [ i16 1, label %bb22 ] bb11: ; preds = %bb9 store i8 0, i8* %_30 br label %bb14 bb12: ; preds = %bb9 store i8 0, i8* %_30 %22 = load i8*, i8** %_15, !nonnull !1 store i8 0, i8* %_28 %23 = load i64, i64* %accum %24 = getelementptr inbounds { i64, i8* }, { i64, i8* }* %_22, i32 0, i32 0 store i64 %23, i64* %24 %25 = getelementptr inbounds { i64, i8* }, { i64, i8* }* %_22, i32 0, i32 1 store i8* %22, i8** %25 %26 = getelementptr inbounds { i64, i8* }, { i64, i8* }* %_22, i32 0, i32 0 %27 = getelementptr inbounds { i64, i8* }, { i64, i8* }* %_22, i32 0, i32 1 %28 = load i64, i64* %26 %29 = load i8*, i8** %27, !nonnull !1 %30 = invoke i64 @"_ZN4core3str7pattern14TwoWaySearcher14byteset_create28_$u7b$$u7b$closure$u7d$$u7d$17hd81a162c3661c1f8E"(%closure.11* %f, i64 %28, i8* noalias readonly dereferenceable(1) %29) to label %bb13 unwind label %cleanup2 bb13: ; preds = %bb12 store i8 1, i8* %_31 store i8 0, i8* %_31 store i8 1, i8* %_28 store i64 %30, i64* %accum %31 = load i8*, i8** %_15 %32 = icmp ne i8* %31, null %33 = zext i1 %32 to i16 switch i16 %33, label %bb24 [ i16 1, label %bb15 ] bb14: ; preds = %bb11 br label %bb16 bb15: ; preds = %bb24, %bb13 br label %bb7 bb16: ; preds = %bb14 store i8 0, i8* %_28 %34 = load i64, i64* %accum br label %bb17 bb17: ; preds = %bb16 ret i64 %34 bb18: ; preds = %bb2 store i8 0, i8* %_27 br label %bb1 bb19: ; preds = %bb4 store i8 0, i8* %_28 br label %bb3 bb20: ; preds = %bb6 store i8 0, i8* %_29 br label %bb4 bb21: ; preds = %bb10 br label %bb8 bb22: ; preds = %bb10 %35 = load i8, i8* %_30, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb23, label %bb8 bb23: ; preds = %bb22 store i8 0, i8* %_30 br label %bb8 bb24: ; preds = %bb13 br label %bb15 cleanup: ; preds = %start %37 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %37, { i8*, i32 }* %personalityslot br label %bb4 cleanup1: ; preds = %bb7 %38 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %38, { i8*, i32 }* %personalityslot br label %bb8 cleanup2: ; preds = %bb12 %39 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %39, { i8*, i32 }* %personalityslot br label %bb10 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4), %"slice::IterMut"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: %_3 = alloca %"slice::IterMut" %self = alloca %"slice::IterMut" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::IterMut"* %1 to i8* %3 = bitcast %"slice::IterMut"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::IterMut"* %self to i8* %5 = bitcast %"slice::IterMut"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"iter::Rev>", %"iter::Rev>"* %0, i32 0, i32 0 %7 = bitcast %"slice::IterMut"* %_3 to i8* %8 = bitcast %"slice::IterMut"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3rev17h3996186bce2b8b85E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: %_3 = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Iter"* %1 to i8* %3 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::Iter"* %self to i8* %5 = bitcast %"slice::Iter"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"iter::Rev>", %"iter::Rev>"* %0, i32 0, i32 0 %7 = bitcast %"slice::Iter"* %_3 to i8* %8 = bitcast %"slice::Iter"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3rev17h46ac273cb8c2b4b1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: %_3 = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Iter"* %1 to i8* %3 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::Iter"* %self to i8* %5 = bitcast %"slice::Iter"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"iter::Rev>", %"iter::Rev>"* %0, i32 0, i32 0 %7 = bitcast %"slice::Iter"* %_3 to i8* %8 = bitcast %"slice::Iter"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3rev17h7b990dcf00842e93E(%"iter::Rev>>"* noalias nocapture sret dereferenceable(4), %"iter::Cloned>"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: %_3 = alloca %"iter::Cloned>" %self = alloca %"iter::Cloned>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Cloned>"* %1 to i8* %3 = bitcast %"iter::Cloned>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Cloned>"* %self to i8* %5 = bitcast %"iter::Cloned>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"iter::Rev>>", %"iter::Rev>>"* %0, i32 0, i32 0 %7 = bitcast %"iter::Cloned>"* %_3 to i8* %8 = bitcast %"iter::Cloned>"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3rev17hb9f594bea3752bf4E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4), %"ops::Range"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 0 %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 1 %4 = load i16, i16* %2 %5 = load i16, i16* %3 %6 = getelementptr inbounds %"iter::Rev>", %"iter::Rev>"* %0, i32 0, i32 0 %7 = getelementptr inbounds %"ops::Range", %"ops::Range"* %6, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds %"ops::Range", %"ops::Range"* %6, i32 0, i32 1 store i16 %5, i16* %8 ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3rev17hdc692c83758a50d7E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4), %"slice::IterMut"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: %_3 = alloca %"slice::IterMut" %self = alloca %"slice::IterMut" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::IterMut"* %1 to i8* %3 = bitcast %"slice::IterMut"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::IterMut"* %self to i8* %5 = bitcast %"slice::IterMut"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"iter::Rev>", %"iter::Rev>"* %0, i32 0, i32 0 %7 = bitcast %"slice::IterMut"* %_3 to i8* %8 = bitcast %"slice::IterMut"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core4iter8iterator8Iterator3rev17hf6606ce211b64032E(%"iter::Rev>>"* noalias nocapture sret dereferenceable(4), %"iter::Cloned>"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: %_3 = alloca %"iter::Cloned>" %self = alloca %"iter::Cloned>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Cloned>"* %1 to i8* %3 = bitcast %"iter::Cloned>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Cloned>"* %self to i8* %5 = bitcast %"iter::Cloned>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"iter::Rev>>", %"iter::Rev>>"* %0, i32 0, i32 0 %7 = bitcast %"iter::Cloned>"* %_3 to i8* %8 = bitcast %"iter::Cloned>"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @_ZN4core4iter8iterator8Iterator6cloned17h33b9030e05db2528E(%"iter::Cloned>"* noalias nocapture sret dereferenceable(4), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Iter"* %1 to i8* %3 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::Iter"* %self to i8* %5 = bitcast %"slice::Iter"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"iter::Cloned>", %"iter::Cloned>"* %0, i32 0, i32 0 %7 = bitcast %"slice::Iter"* %_3 to i8* %8 = bitcast %"slice::Iter"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @_ZN4core4iter8iterator8Iterator6cloned17hbfcfb70ddf60e5fcE(%"iter::Cloned>"* noalias nocapture sret dereferenceable(4), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Iter"* %1 to i8* %3 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::Iter"* %self to i8* %5 = bitcast %"slice::Iter"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"iter::Cloned>", %"iter::Cloned>"* %0, i32 0, i32 0 %7 = bitcast %"slice::Iter"* %_3 to i8* %8 = bitcast %"slice::Iter"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal i16 @_ZN4core4iter8iterator8Iterator3sum17h52916ecc7fb8375eE(%"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_3 = alloca %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>" %self = alloca %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>" br label %start start: ; preds = %entry-block %1 = bitcast %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* %0 to i8* %2 = bitcast %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 4, i32 2, i1 false) %3 = bitcast %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* %self to i8* %4 = bitcast %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) %5 = invoke i16 @"_ZN49_$LT$usize$u20$as$u20$core..iter..traits..Sum$GT$3sum17h01f0682a63b4d6fbE"(%"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* noalias nocapture dereferenceable(4) %_3) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %start ret i16 %5 cleanup: ; preds = %start %7 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %7, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: uwtable define internal i8 @_ZN4core4iter8iterator8Iterator3cmp17h646a3677af8da76cE(%"iter::Rev>>"* noalias nocapture dereferenceable(4), %"iter::Rev>>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast4 = alloca i16 %abi_cast = alloca i16 %personalityslot = alloca { i8*, i32 } %_29 = alloca i8 %_28 = alloca i8 %_27 = alloca i8 %_26 = alloca i8 %_25 = alloca i8 %non_eq = alloca i8 %_19 = alloca i8 %y = alloca i8 %x = alloca i8 %_11 = alloca %"option::Option" %_9 = alloca %"option::Option" %_8 = alloca { %"option::Option", %"option::Option" } %_7 = alloca {} %_6 = alloca %"iter::Rev>>" %other1 = alloca %"iter::Rev>>" %other = alloca %"iter::Rev>>" %self = alloca %"iter::Rev>>" %_0 = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %_26 store i8 0, i8* %_27 store i8 0, i8* %_28 store i8 0, i8* %_29 %2 = bitcast %"iter::Rev>>"* %0 to i8* %3 = bitcast %"iter::Rev>>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Rev>>"* %1 to i8* %5 = bitcast %"iter::Rev>>"* %other to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"iter::Rev>>"* %other to i8* %7 = bitcast %"iter::Rev>>"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h49930ff14b1349a0E"(%"iter::Rev>>"* noalias nocapture sret dereferenceable(4) %other1, %"iter::Rev>>"* noalias nocapture dereferenceable(4) %_6) to label %bb3 unwind label %cleanup bb1: ; preds = %bb2 %8 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %8 bb2: ; preds = %bb4, %cleanup br label %bb1 bb3: ; preds = %start br label %bb5 bb4: ; preds = %bb43, %bb42, %bb41, %bb32, %bb31, %bb30, %bb53, %bb52, %bb7, %cleanup2 br label %bb2 bb5: ; preds = %bb54, %bb3 %9 = invoke i16 @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha600adbf15f639afE"(%"iter::Rev>>"* dereferenceable(4) %self) to label %bb6 unwind label %cleanup2 bb6: ; preds = %bb5 store i16 %9, i16* %abi_cast %10 = bitcast %"option::Option"* %_9 to i8* %11 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %11, i16 2, i32 1, i1 false) %12 = invoke i16 @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha600adbf15f639afE"(%"iter::Rev>>"* dereferenceable(4) %other1) to label %bb8 unwind label %cleanup3 bb7: ; preds = %cleanup3 br label %bb4 bb8: ; preds = %bb6 store i16 %12, i16* %abi_cast4 %13 = bitcast %"option::Option"* %_11 to i8* %14 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %13, i8* %14, i16 2, i32 1, i1 false) store i8 1, i8* %_26 store i8 1, i8* %_27 %15 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %16 = bitcast %"option::Option"* %_9 to i8* %17 = bitcast %"option::Option"* %15 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %17, i8* %16, i16 2, i32 1, i1 false) %18 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %19 = bitcast %"option::Option"* %_11 to i8* %20 = bitcast %"option::Option"* %18 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %20, i8* %19, i16 2, i32 1, i1 false) %21 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %22 = getelementptr inbounds %"option::Option", %"option::Option"* %21, i32 0, i32 0 %23 = load i8, i8* %22, !range !2 %24 = zext i8 %23 to i16 switch i16 %24, label %bb14 [ i16 0, label %bb13 ] bb9: ; preds = %bb36, %bb18 %25 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %26 = getelementptr inbounds %"option::Option", %"option::Option"* %25, i32 0, i32 0 %27 = load i8, i8* %26, !range !2 %28 = zext i8 %27 to i16 switch i16 %28, label %bb33 [ i16 1, label %bb34 ] bb10: ; preds = %bb13 store i8 0, i8* %_0 br label %bb38 bb11: ; preds = %bb13 store i8 -1, i8* %_0 br label %bb38 bb12: ; preds = %bb14 store i8 1, i8* %_0 br label %bb38 bb13: ; preds = %bb8 %29 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %30 = getelementptr inbounds %"option::Option", %"option::Option"* %29, i32 0, i32 0 %31 = load i8, i8* %30, !range !2 %32 = zext i8 %31 to i16 switch i16 %32, label %bb11 [ i16 0, label %bb10 ] bb14: ; preds = %bb8 %33 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %34 = getelementptr inbounds %"option::Option", %"option::Option"* %33, i32 0, i32 0 %35 = load i8, i8* %34, !range !2 %36 = zext i8 %35 to i16 switch i16 %36, label %bb15 [ i16 0, label %bb12 ] bb15: ; preds = %bb14 %37 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %38 = getelementptr inbounds %"option::Option", %"option::Option"* %37, i32 0, i32 0 %39 = load i8, i8* %38, !range !2 %40 = zext i8 %39 to i16 switch i16 %40, label %bb16 [ i16 1, label %bb17 ] bb16: ; preds = %bb15 unreachable bb17: ; preds = %bb15 store i8 0, i8* %_27 store i8 1, i8* %_28 %41 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %42 = bitcast %"option::Option"* %41 to { i8, i8 }* %43 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %42, i32 0, i32 1 %44 = load i8, i8* %43 store i8 %44, i8* %y store i8 0, i8* %_26 store i8 1, i8* %_29 %45 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %46 = bitcast %"option::Option"* %45 to { i8, i8 }* %47 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %46, i32 0, i32 1 %48 = load i8, i8* %47 store i8 %48, i8* %x %49 = invoke i8 @"_ZN4core3cmp5impls47_$LT$impl$u20$core..cmp..Ord$u20$for$u20$u8$GT$3cmp17h8f4b6d22109de3f6E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %y) to label %bb24 unwind label %cleanup5 bb18: ; preds = %bb19 %50 = load i8, i8* %_28, !range !2 %51 = trunc i8 %50 to i1 br i1 %51, label %bb36, label %bb9 bb19: ; preds = %cleanup5 store i8 0, i8* %_29 br label %bb18 bb20: ; preds = %bb37, %bb38 %52 = load i8, i8* %_28, !range !2 %53 = trunc i8 %52 to i1 br i1 %53, label %bb39, label %bb21 bb21: ; preds = %bb39, %bb20 %54 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %55 = getelementptr inbounds %"option::Option", %"option::Option"* %54, i32 0, i32 0 %56 = load i8, i8* %55, !range !2 %57 = zext i8 %56 to i16 switch i16 %57, label %bb49 [ i16 1, label %bb50 ] bb22: ; preds = %bb44 br label %bb23 bb23: ; preds = %bb22 %58 = load i8, i8* %_0 ret i8 %58 bb24: ; preds = %bb17 store i8 %49, i8* %_19 %59 = load i8, i8* %_19, !range !7 %60 = sext i8 %59 to i16 switch i16 %60, label %bb26 [ i16 0, label %bb25 ] bb25: ; preds = %bb24 store i8 0, i8* %_29 br label %bb27 bb26: ; preds = %bb24 %61 = load i8, i8* %_19 store i8 %61, i8* %non_eq %62 = load i8, i8* %non_eq store i8 %62, i8* %_25 %63 = load i8, i8* %_25 store i8 %63, i8* %_0 br label %bb38 bb27: ; preds = %bb25 store i8 0, i8* %_28 br label %bb28 bb28: ; preds = %bb27 %64 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %65 = getelementptr inbounds %"option::Option", %"option::Option"* %64, i32 0, i32 0 %66 = load i8, i8* %65, !range !2 %67 = zext i8 %66 to i16 switch i16 %67, label %bb57 [ i16 1, label %bb55 ] bb29: ; preds = %bb35, %bb34, %bb33 %68 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %69 = getelementptr inbounds %"option::Option", %"option::Option"* %68, i32 0, i32 0 %70 = load i8, i8* %69, !range !2 %71 = zext i8 %70 to i16 switch i16 %71, label %bb30 [ i16 1, label %bb31 ] bb30: ; preds = %bb29 br label %bb4 bb31: ; preds = %bb29 %72 = load i8, i8* %_27, !range !2 %73 = trunc i8 %72 to i1 br i1 %73, label %bb32, label %bb4 bb32: ; preds = %bb31 store i8 0, i8* %_27 br label %bb4 bb33: ; preds = %bb9 br label %bb29 bb34: ; preds = %bb9 %74 = load i8, i8* %_26, !range !2 %75 = trunc i8 %74 to i1 br i1 %75, label %bb35, label %bb29 bb35: ; preds = %bb34 store i8 0, i8* %_26 br label %bb29 bb36: ; preds = %bb18 store i8 0, i8* %_28 br label %bb9 bb37: ; preds = %bb38 store i8 0, i8* %_29 br label %bb20 bb38: ; preds = %bb10, %bb11, %bb12, %bb26 %76 = load i8, i8* %_29, !range !2 %77 = trunc i8 %76 to i1 br i1 %77, label %bb37, label %bb20 bb39: ; preds = %bb20 store i8 0, i8* %_28 br label %bb21 bb40: ; No predecessors! %78 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %79 = getelementptr inbounds %"option::Option", %"option::Option"* %78, i32 0, i32 0 %80 = load i8, i8* %79, !range !2 %81 = zext i8 %80 to i16 switch i16 %81, label %bb41 [ i16 1, label %bb42 ] bb41: ; preds = %bb40 br label %bb4 bb42: ; preds = %bb40 %82 = load i8, i8* %_27, !range !2 %83 = trunc i8 %82 to i1 br i1 %83, label %bb43, label %bb4 bb43: ; preds = %bb42 store i8 0, i8* %_27 br label %bb4 bb44: ; preds = %bb48, %bb47, %bb46 br label %bb22 bb45: ; preds = %bb51, %bb50, %bb49 %84 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %85 = getelementptr inbounds %"option::Option", %"option::Option"* %84, i32 0, i32 0 %86 = load i8, i8* %85, !range !2 %87 = zext i8 %86 to i16 switch i16 %87, label %bb46 [ i16 1, label %bb47 ] bb46: ; preds = %bb45 br label %bb44 bb47: ; preds = %bb45 %88 = load i8, i8* %_27, !range !2 %89 = trunc i8 %88 to i1 br i1 %89, label %bb48, label %bb44 bb48: ; preds = %bb47 store i8 0, i8* %_27 br label %bb44 bb49: ; preds = %bb21 br label %bb45 bb50: ; preds = %bb21 %90 = load i8, i8* %_26, !range !2 %91 = trunc i8 %90 to i1 br i1 %91, label %bb51, label %bb45 bb51: ; preds = %bb50 store i8 0, i8* %_26 br label %bb45 bb52: ; No predecessors! %92 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %93 = getelementptr inbounds %"option::Option", %"option::Option"* %92, i32 0, i32 0 %94 = load i8, i8* %93, !range !2 %95 = zext i8 %94 to i16 switch i16 %95, label %bb53 [ i16 1, label %bb4 ] bb53: ; preds = %bb52 br label %bb4 bb54: ; preds = %bb56, %bb55 br label %bb5 bb55: ; preds = %bb57, %bb28 %96 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %97 = getelementptr inbounds %"option::Option", %"option::Option"* %96, i32 0, i32 0 %98 = load i8, i8* %97, !range !2 %99 = zext i8 %98 to i16 switch i16 %99, label %bb56 [ i16 1, label %bb54 ] bb56: ; preds = %bb55 br label %bb54 bb57: ; preds = %bb28 br label %bb55 cleanup: ; preds = %start %100 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %100, { i8*, i32 }* %personalityslot br label %bb2 cleanup2: ; preds = %bb5 %101 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %101, { i8*, i32 }* %personalityslot br label %bb4 cleanup3: ; preds = %bb6 %102 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %102, { i8*, i32 }* %personalityslot br label %bb7 cleanup5: ; preds = %bb17 %103 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %103, { i8*, i32 }* %personalityslot br label %bb19 } ; Function Attrs: uwtable define internal i8 @_ZN4core4iter8iterator8Iterator3cmp17he79ad2a37ca006faE(%"iter::Rev>>"* noalias nocapture dereferenceable(4), %"iter::Rev>>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_29 = alloca i8 %_28 = alloca i8 %_27 = alloca i8 %_26 = alloca i8 %_25 = alloca i8 %non_eq = alloca i8 %_19 = alloca i8 %y = alloca i32 %x = alloca i32 %_11 = alloca %"option::Option" %_9 = alloca %"option::Option" %_8 = alloca { %"option::Option", %"option::Option" } %_7 = alloca {} %_6 = alloca %"iter::Rev>>" %other1 = alloca %"iter::Rev>>" %other = alloca %"iter::Rev>>" %self = alloca %"iter::Rev>>" %_0 = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %_26 store i8 0, i8* %_27 store i8 0, i8* %_28 store i8 0, i8* %_29 %2 = bitcast %"iter::Rev>>"* %0 to i8* %3 = bitcast %"iter::Rev>>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Rev>>"* %1 to i8* %5 = bitcast %"iter::Rev>>"* %other to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"iter::Rev>>"* %other to i8* %7 = bitcast %"iter::Rev>>"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h27c9bbf57f6459aeE"(%"iter::Rev>>"* noalias nocapture sret dereferenceable(4) %other1, %"iter::Rev>>"* noalias nocapture dereferenceable(4) %_6) to label %bb3 unwind label %cleanup bb1: ; preds = %bb2 %8 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %8 bb2: ; preds = %bb4, %cleanup br label %bb1 bb3: ; preds = %start br label %bb5 bb4: ; preds = %bb43, %bb42, %bb41, %bb32, %bb31, %bb30, %bb53, %bb52, %bb7, %cleanup2 br label %bb2 bb5: ; preds = %bb54, %bb3 invoke void @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17haeac6c001c5a350aE"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_9, %"iter::Rev>>"* dereferenceable(4) %self) to label %bb6 unwind label %cleanup2 bb6: ; preds = %bb5 invoke void @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17haeac6c001c5a350aE"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_11, %"iter::Rev>>"* dereferenceable(4) %other1) to label %bb8 unwind label %cleanup3 bb7: ; preds = %cleanup3 br label %bb4 bb8: ; preds = %bb6 store i8 1, i8* %_26 store i8 1, i8* %_27 %9 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %10 = bitcast %"option::Option"* %_9 to i8* %11 = bitcast %"option::Option"* %9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 8, i32 4, i1 false) %12 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %13 = bitcast %"option::Option"* %_11 to i8* %14 = bitcast %"option::Option"* %12 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %13, i16 8, i32 4, i1 false) %15 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %16 = getelementptr inbounds %"option::Option", %"option::Option"* %15, i32 0, i32 0 %17 = load i32, i32* %16, !range !9 %18 = trunc i32 %17 to i16 switch i16 %18, label %bb14 [ i16 0, label %bb13 ] bb9: ; preds = %bb36, %bb18 %19 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %20 = getelementptr inbounds %"option::Option", %"option::Option"* %19, i32 0, i32 0 %21 = load i32, i32* %20, !range !9 %22 = trunc i32 %21 to i16 switch i16 %22, label %bb33 [ i16 1, label %bb34 ] bb10: ; preds = %bb13 store i8 0, i8* %_0 br label %bb38 bb11: ; preds = %bb13 store i8 -1, i8* %_0 br label %bb38 bb12: ; preds = %bb14 store i8 1, i8* %_0 br label %bb38 bb13: ; preds = %bb8 %23 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %24 = getelementptr inbounds %"option::Option", %"option::Option"* %23, i32 0, i32 0 %25 = load i32, i32* %24, !range !9 %26 = trunc i32 %25 to i16 switch i16 %26, label %bb11 [ i16 0, label %bb10 ] bb14: ; preds = %bb8 %27 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %28 = getelementptr inbounds %"option::Option", %"option::Option"* %27, i32 0, i32 0 %29 = load i32, i32* %28, !range !9 %30 = trunc i32 %29 to i16 switch i16 %30, label %bb15 [ i16 0, label %bb12 ] bb15: ; preds = %bb14 %31 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %32 = getelementptr inbounds %"option::Option", %"option::Option"* %31, i32 0, i32 0 %33 = load i32, i32* %32, !range !9 %34 = trunc i32 %33 to i16 switch i16 %34, label %bb16 [ i16 1, label %bb17 ] bb16: ; preds = %bb15 unreachable bb17: ; preds = %bb15 store i8 0, i8* %_27 store i8 1, i8* %_28 %35 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %36 = bitcast %"option::Option"* %35 to { i32, i32 }* %37 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %36, i32 0, i32 1 %38 = load i32, i32* %37 store i32 %38, i32* %y store i8 0, i8* %_26 store i8 1, i8* %_29 %39 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %40 = bitcast %"option::Option"* %39 to { i32, i32 }* %41 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %40, i32 0, i32 1 %42 = load i32, i32* %41 store i32 %42, i32* %x %43 = invoke i8 @"_ZN4core3cmp5impls48_$LT$impl$u20$core..cmp..Ord$u20$for$u20$u32$GT$3cmp17hb9e6effb65543f5cE"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %y) to label %bb24 unwind label %cleanup4 bb18: ; preds = %bb19 %44 = load i8, i8* %_28, !range !2 %45 = trunc i8 %44 to i1 br i1 %45, label %bb36, label %bb9 bb19: ; preds = %cleanup4 store i8 0, i8* %_29 br label %bb18 bb20: ; preds = %bb37, %bb38 %46 = load i8, i8* %_28, !range !2 %47 = trunc i8 %46 to i1 br i1 %47, label %bb39, label %bb21 bb21: ; preds = %bb39, %bb20 %48 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %49 = getelementptr inbounds %"option::Option", %"option::Option"* %48, i32 0, i32 0 %50 = load i32, i32* %49, !range !9 %51 = trunc i32 %50 to i16 switch i16 %51, label %bb49 [ i16 1, label %bb50 ] bb22: ; preds = %bb44 br label %bb23 bb23: ; preds = %bb22 %52 = load i8, i8* %_0 ret i8 %52 bb24: ; preds = %bb17 store i8 %43, i8* %_19 %53 = load i8, i8* %_19, !range !7 %54 = sext i8 %53 to i16 switch i16 %54, label %bb26 [ i16 0, label %bb25 ] bb25: ; preds = %bb24 store i8 0, i8* %_29 br label %bb27 bb26: ; preds = %bb24 %55 = load i8, i8* %_19 store i8 %55, i8* %non_eq %56 = load i8, i8* %non_eq store i8 %56, i8* %_25 %57 = load i8, i8* %_25 store i8 %57, i8* %_0 br label %bb38 bb27: ; preds = %bb25 store i8 0, i8* %_28 br label %bb28 bb28: ; preds = %bb27 %58 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 0 %59 = getelementptr inbounds %"option::Option", %"option::Option"* %58, i32 0, i32 0 %60 = load i32, i32* %59, !range !9 %61 = trunc i32 %60 to i16 switch i16 %61, label %bb57 [ i16 1, label %bb55 ] bb29: ; preds = %bb35, %bb34, %bb33 %62 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %63 = getelementptr inbounds %"option::Option", %"option::Option"* %62, i32 0, i32 0 %64 = load i32, i32* %63, !range !9 %65 = trunc i32 %64 to i16 switch i16 %65, label %bb30 [ i16 1, label %bb31 ] bb30: ; preds = %bb29 br label %bb4 bb31: ; preds = %bb29 %66 = load i8, i8* %_27, !range !2 %67 = trunc i8 %66 to i1 br i1 %67, label %bb32, label %bb4 bb32: ; preds = %bb31 store i8 0, i8* %_27 br label %bb4 bb33: ; preds = %bb9 br label %bb29 bb34: ; preds = %bb9 %68 = load i8, i8* %_26, !range !2 %69 = trunc i8 %68 to i1 br i1 %69, label %bb35, label %bb29 bb35: ; preds = %bb34 store i8 0, i8* %_26 br label %bb29 bb36: ; preds = %bb18 store i8 0, i8* %_28 br label %bb9 bb37: ; preds = %bb38 store i8 0, i8* %_29 br label %bb20 bb38: ; preds = %bb10, %bb11, %bb12, %bb26 %70 = load i8, i8* %_29, !range !2 %71 = trunc i8 %70 to i1 br i1 %71, label %bb37, label %bb20 bb39: ; preds = %bb20 store i8 0, i8* %_28 br label %bb21 bb40: ; No predecessors! %72 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %73 = getelementptr inbounds %"option::Option", %"option::Option"* %72, i32 0, i32 0 %74 = load i32, i32* %73, !range !9 %75 = trunc i32 %74 to i16 switch i16 %75, label %bb41 [ i16 1, label %bb42 ] bb41: ; preds = %bb40 br label %bb4 bb42: ; preds = %bb40 %76 = load i8, i8* %_27, !range !2 %77 = trunc i8 %76 to i1 br i1 %77, label %bb43, label %bb4 bb43: ; preds = %bb42 store i8 0, i8* %_27 br label %bb4 bb44: ; preds = %bb48, %bb47, %bb46 br label %bb22 bb45: ; preds = %bb51, %bb50, %bb49 %78 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %79 = getelementptr inbounds %"option::Option", %"option::Option"* %78, i32 0, i32 0 %80 = load i32, i32* %79, !range !9 %81 = trunc i32 %80 to i16 switch i16 %81, label %bb46 [ i16 1, label %bb47 ] bb46: ; preds = %bb45 br label %bb44 bb47: ; preds = %bb45 %82 = load i8, i8* %_27, !range !2 %83 = trunc i8 %82 to i1 br i1 %83, label %bb48, label %bb44 bb48: ; preds = %bb47 store i8 0, i8* %_27 br label %bb44 bb49: ; preds = %bb21 br label %bb45 bb50: ; preds = %bb21 %84 = load i8, i8* %_26, !range !2 %85 = trunc i8 %84 to i1 br i1 %85, label %bb51, label %bb45 bb51: ; preds = %bb50 store i8 0, i8* %_26 br label %bb45 bb52: ; No predecessors! %86 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %87 = getelementptr inbounds %"option::Option", %"option::Option"* %86, i32 0, i32 0 %88 = load i32, i32* %87, !range !9 %89 = trunc i32 %88 to i16 switch i16 %89, label %bb53 [ i16 1, label %bb4 ] bb53: ; preds = %bb52 br label %bb4 bb54: ; preds = %bb56, %bb55 br label %bb5 bb55: ; preds = %bb57, %bb28 %90 = getelementptr inbounds { %"option::Option", %"option::Option" }, { %"option::Option", %"option::Option" }* %_8, i32 0, i32 1 %91 = getelementptr inbounds %"option::Option", %"option::Option"* %90, i32 0, i32 0 %92 = load i32, i32* %91, !range !9 %93 = trunc i32 %92 to i16 switch i16 %93, label %bb56 [ i16 1, label %bb54 ] bb56: ; preds = %bb55 br label %bb54 bb57: ; preds = %bb28 br label %bb55 cleanup: ; preds = %start %94 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %94, { i8*, i32 }* %personalityslot br label %bb2 cleanup2: ; preds = %bb5 %95 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %95, { i8*, i32 }* %personalityslot br label %bb4 cleanup3: ; preds = %bb6 %96 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %96, { i8*, i32 }* %personalityslot br label %bb7 cleanup4: ; preds = %bb17 %97 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %97, { i8*, i32 }* %personalityslot br label %bb19 } ; Function Attrs: uwtable define internal i16 @"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h0b2b8b739fcb9c17E"(%"iter::Cloned>"** dereferenceable(2)) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %1 = load %"iter::Cloned>"*, %"iter::Cloned>"** %0, !nonnull !1 %2 = call i16 @"_ZN78_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17heda5e279999beb4cE"(%"iter::Cloned>"* dereferenceable(4) %1) store i16 %2, i16* %abi_cast %3 = bitcast %"option::Option"* %_0 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"option::Option"* %_0 to i16* %6 = load i16, i16* %5, align 1 ret i16 %6 } ; Function Attrs: uwtable define internal i8* @"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h0f485c7c6af33723E"(%"slice::Iter<&str>"** dereferenceable(2)) unnamed_addr #1 { entry-block: %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = load %"slice::Iter<&str>"*, %"slice::Iter<&str>"** %0, !nonnull !1 %2 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd30b4fbc2b8c8f5cE"(%"slice::Iter<&str>"* dereferenceable(4) %1) store i8* %2, i8** %_0 br label %bb1 bb1: ; preds = %start %3 = load i8*, i8** %_0 ret i8* %3 } ; Function Attrs: uwtable define internal void @"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3b780272ee1234abE"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(12), %"str::CharIndices"** dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load %"str::CharIndices"*, %"str::CharIndices"** %1, !nonnull !1 call void @"_ZN87_$LT$core..str..CharIndices$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf91c97e87b0f9834E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(12) %0, %"str::CharIndices"* dereferenceable(6) %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal void @"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h5199981ea69e7f71E"(%"option::Option"* noalias nocapture sret dereferenceable(8), %"char::EscapeUnicode"** dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load %"char::EscapeUnicode"*, %"char::EscapeUnicode"** %1, !nonnull !1 call void @"_ZN76_$LT$core..char..EscapeUnicode$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h2edb543b3e709a8dE"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, %"char::EscapeUnicode"* dereferenceable(8) %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4), %"ops::Range"* dereferenceable(4)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_14 = alloca i8 %n = alloca i16 br label %start start: ; preds = %entry-block store i8 0, i8* %_14 %2 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 0 %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 1 %4 = call zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2lt17h9dc1bda6c02da1a8E"(i16* noalias readonly dereferenceable(2) %2, i16* noalias readonly dereferenceable(2) %3) br label %bb1 bb1: ; preds = %start br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 0 store i8 1, i8* %_14 %6 = call i16 @"_ZN49_$LT$usize$u20$as$u20$core..iter..range..Step$GT$7add_one17h71cb0ab5fb63bde9E"(i16* noalias readonly dereferenceable(2) %5) store i16 %6, i16* %n br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %7 br label %bb7 bb4: ; preds = %bb2 %8 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 0 invoke void @_ZN4core3mem4swap17h8b9fed9b1bbe1028E(i16* dereferenceable(2) %n, i16* dereferenceable(2) %8) to label %bb6 unwind label %cleanup bb5: ; preds = %bb8, %bb9 %9 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %9 bb6: ; preds = %bb4 store i8 0, i8* %_14 %10 = load i16, i16* %n %11 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %11 %12 = bitcast %"option::Option"* %0 to { i16, i16 }* %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %12, i32 0, i32 1 store i16 %10, i16* %13 br label %bb7 bb7: ; preds = %bb3, %bb6 ret void bb8: ; preds = %bb9 store i8 0, i8* %_14 br label %bb5 bb9: ; preds = %cleanup %14 = load i8, i8* %_14, !range !2 %15 = trunc i8 %14 to i1 br i1 %15, label %bb8, label %bb5 cleanup: ; preds = %bb4 %16 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %16, { i8*, i32 }* %personalityslot br label %bb9 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core4iter5range95_$LT$impl$u20$core..iter..traits..DoubleEndedIterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$9next_back17h045cbe232ed73548E"(%"option::Option"* noalias nocapture sret dereferenceable(4), %"ops::Range"* dereferenceable(4)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 0 %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 1 %4 = call zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2lt17h9dc1bda6c02da1a8E"(i16* noalias readonly dereferenceable(2) %2, i16* noalias readonly dereferenceable(2) %3) br label %bb1 bb1: ; preds = %start br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 1 %6 = call i16 @"_ZN49_$LT$usize$u20$as$u20$core..iter..range..Step$GT$7sub_one17hf1124236a59235a0E"(i16* noalias readonly dereferenceable(2) %5) br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %7 br label %bb6 bb4: ; preds = %bb2 br label %bb8 bb5: ; preds = %bb8 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %8 %9 = bitcast %"option::Option"* %0 to { i16, i16 }* %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %9, i32 0, i32 1 store i16 %15, i16* %10 br label %bb6 bb6: ; preds = %bb3, %bb5 ret void bb7: ; No predecessors! %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 1 store i16 %6, i16* %11 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb8: ; preds = %bb4 %13 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 1 store i16 %6, i16* %13 %14 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 1 %15 = call i16 @"_ZN44_$LT$usize$u20$as$u20$core..clone..Clone$GT$5clone17h3ef31ba81d0b2e31E"(i16* noalias readonly dereferenceable(2) %14) br label %bb5 } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h0b9fdaee5e7bd994E"(%"char::EscapeDebug"* noalias nocapture sret dereferenceable(12), %"char::EscapeDebug"* noalias nocapture dereferenceable(12)) unnamed_addr #1 { entry-block: %_3 = alloca %"char::EscapeDebug" %self = alloca %"char::EscapeDebug" br label %start start: ; preds = %entry-block %2 = bitcast %"char::EscapeDebug"* %1 to i8* %3 = bitcast %"char::EscapeDebug"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 12, i32 4, i1 false) %4 = bitcast %"char::EscapeDebug"* %self to i8* %5 = bitcast %"char::EscapeDebug"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 12, i32 4, i1 false) %6 = bitcast %"char::EscapeDebug"* %_3 to i8* %7 = bitcast %"char::EscapeDebug"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 12, i32 4, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h123c927df60a6f81E"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4), %"iter::Rev>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Rev>" %self = alloca %"iter::Rev>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Rev>"* %1 to i8* %3 = bitcast %"iter::Rev>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Rev>"* %self to i8* %5 = bitcast %"iter::Rev>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"iter::Rev>"* %_3 to i8* %7 = bitcast %"iter::Rev>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h27c9bbf57f6459aeE"(%"iter::Rev>>"* noalias nocapture sret dereferenceable(4), %"iter::Rev>>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Rev>>" %self = alloca %"iter::Rev>>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Rev>>"* %1 to i8* %3 = bitcast %"iter::Rev>>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Rev>>"* %self to i8* %5 = bitcast %"iter::Rev>>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"iter::Rev>>"* %_3 to i8* %7 = bitcast %"iter::Rev>>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h2e0b419eb1a6ab5bE"(%"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* noalias nocapture sret dereferenceable(6), %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* noalias nocapture dereferenceable(6)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>" %self = alloca %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %1 to i8* %3 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 6, i32 2, i1 false) %4 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %self to i8* %5 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 6, i32 2, i1 false) %6 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %_3 to i8* %7 = bitcast %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 6, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal dereferenceable(8) %"char::EscapeUnicode"* @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h386c76e4c3be530cE"(%"char::EscapeUnicode"* dereferenceable(8)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret %"char::EscapeUnicode"* %0 } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h3b5556df37bb4d37E"(%"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture sret dereferenceable(10), %"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture dereferenceable(10)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Zip, &mut slice::Iter<&str>>" %self = alloca %"iter::Zip, &mut slice::Iter<&str>>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %1 to i8* %3 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 10, i32 2, i1 false) %4 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %self to i8* %5 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 10, i32 2, i1 false) %6 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %_3 to i8* %7 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 10, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h49930ff14b1349a0E"(%"iter::Rev>>"* noalias nocapture sret dereferenceable(4), %"iter::Rev>>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Rev>>" %self = alloca %"iter::Rev>>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Rev>>"* %1 to i8* %3 = bitcast %"iter::Rev>>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Rev>>"* %self to i8* %5 = bitcast %"iter::Rev>>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"iter::Rev>>"* %_3 to i8* %7 = bitcast %"iter::Rev>>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4), %"ops::Range"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 0 %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 1 %4 = load i16, i16* %2 %5 = load i16, i16* %3 %6 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 store i16 %4, i16* %6 %7 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 store i16 %5, i16* %7 ret void } ; Function Attrs: uwtable define internal dereferenceable(6) %"str::CharIndices"* @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5f98dd39a8017100E"(%"str::CharIndices"* dereferenceable(6)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret %"str::CharIndices"* %0 } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5fb024110cf24306E"(%"iter::Cloned>"* noalias nocapture sret dereferenceable(4), %"iter::Cloned>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Cloned>" %self = alloca %"iter::Cloned>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Cloned>"* %1 to i8* %3 = bitcast %"iter::Cloned>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Cloned>"* %self to i8* %5 = bitcast %"iter::Cloned>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"iter::Cloned>"* %_3 to i8* %7 = bitcast %"iter::Cloned>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal dereferenceable(4) %"iter::Cloned>"* @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h653738f2678bb2a9E"(%"iter::Cloned>"* dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret %"iter::Cloned>"* %0 } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h79a5e47a35987ac8E"(%"char::EscapeDefault"* noalias nocapture sret dereferenceable(12), %"char::EscapeDefault"* noalias nocapture dereferenceable(12)) unnamed_addr #1 { entry-block: %_3 = alloca %"char::EscapeDefault" %self = alloca %"char::EscapeDefault" br label %start start: ; preds = %entry-block %2 = bitcast %"char::EscapeDefault"* %1 to i8* %3 = bitcast %"char::EscapeDefault"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 12, i32 4, i1 false) %4 = bitcast %"char::EscapeDefault"* %self to i8* %5 = bitcast %"char::EscapeDefault"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 12, i32 4, i1 false) %6 = bitcast %"char::EscapeDefault"* %_3 to i8* %7 = bitcast %"char::EscapeDefault"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 12, i32 4, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h7da68fe5f5e8c742E"(%"iter::Enumerate>"* noalias nocapture sret dereferenceable(6), %"iter::Enumerate>"* noalias nocapture dereferenceable(6)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Enumerate>" %self = alloca %"iter::Enumerate>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Enumerate>"* %1 to i8* %3 = bitcast %"iter::Enumerate>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 6, i32 2, i1 false) %4 = bitcast %"iter::Enumerate>"* %self to i8* %5 = bitcast %"iter::Enumerate>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 6, i32 2, i1 false) %6 = bitcast %"iter::Enumerate>"* %_3 to i8* %7 = bitcast %"iter::Enumerate>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 6, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h879e5f8c08485f35E"(%"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture sret dereferenceable(8), %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>" %self = alloca %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %1 to i8* %3 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 8, i32 2, i1 false) %4 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %self to i8* %5 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 8, i32 2, i1 false) %6 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %_3 to i8* %7 = bitcast %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 8, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4), %"iter::Rev>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Rev>" %self = alloca %"iter::Rev>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Rev>"* %1 to i8* %3 = bitcast %"iter::Rev>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Rev>"* %self to i8* %5 = bitcast %"iter::Rev>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"iter::Rev>"* %_3 to i8* %7 = bitcast %"iter::Rev>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha39cd41f4ad0701fE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Iter"* %1 to i8* %3 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::Iter"* %self to i8* %5 = bitcast %"slice::Iter"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"slice::Iter"* %_3 to i8* %7 = bitcast %"slice::Iter"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha5f1e23b4e5fe1daE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4), %"iter::Rev>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Rev>" %self = alloca %"iter::Rev>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Rev>"* %1 to i8* %3 = bitcast %"iter::Rev>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Rev>"* %self to i8* %5 = bitcast %"iter::Rev>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"iter::Rev>"* %_3 to i8* %7 = bitcast %"iter::Rev>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hb2bd457a2c3680d8E"(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12), %"iter::Zip, slice::Iter>"* noalias nocapture dereferenceable(12)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Zip, slice::Iter>" %self = alloca %"iter::Zip, slice::Iter>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Zip, slice::Iter>"* %1 to i8* %3 = bitcast %"iter::Zip, slice::Iter>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 12, i32 2, i1 false) %4 = bitcast %"iter::Zip, slice::Iter>"* %self to i8* %5 = bitcast %"iter::Zip, slice::Iter>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 12, i32 2, i1 false) %6 = bitcast %"iter::Zip, slice::Iter>"* %_3 to i8* %7 = bitcast %"iter::Zip, slice::Iter>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 12, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hb581867d4bdf773bE"(%"str::CharIndices"* noalias nocapture sret dereferenceable(6), %"str::CharIndices"* noalias nocapture dereferenceable(6)) unnamed_addr #1 { entry-block: %_3 = alloca %"str::CharIndices" %self = alloca %"str::CharIndices" br label %start start: ; preds = %entry-block %2 = bitcast %"str::CharIndices"* %1 to i8* %3 = bitcast %"str::CharIndices"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 6, i32 2, i1 false) %4 = bitcast %"str::CharIndices"* %self to i8* %5 = bitcast %"str::CharIndices"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 6, i32 2, i1 false) %6 = bitcast %"str::CharIndices"* %_3 to i8* %7 = bitcast %"str::CharIndices"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 6, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hc1f899f63e904053E"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4), %"iter::Rev>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Rev>" %self = alloca %"iter::Rev>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Rev>"* %1 to i8* %3 = bitcast %"iter::Rev>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Rev>"* %self to i8* %5 = bitcast %"iter::Rev>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"iter::Rev>"* %_3 to i8* %7 = bitcast %"iter::Rev>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hc6ac39f311eb0485E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"slice::Iter" %self = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Iter"* %1 to i8* %3 = bitcast %"slice::Iter"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::Iter"* %self to i8* %5 = bitcast %"slice::Iter"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"slice::Iter"* %_3 to i8* %7 = bitcast %"slice::Iter"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hd7afb0c8af163c65E"(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12), %"iter::Zip, slice::Iter>"* noalias nocapture dereferenceable(12)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Zip, slice::Iter>" %self = alloca %"iter::Zip, slice::Iter>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Zip, slice::Iter>"* %1 to i8* %3 = bitcast %"iter::Zip, slice::Iter>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 12, i32 2, i1 false) %4 = bitcast %"iter::Zip, slice::Iter>"* %self to i8* %5 = bitcast %"iter::Zip, slice::Iter>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 12, i32 2, i1 false) %6 = bitcast %"iter::Zip, slice::Iter>"* %_3 to i8* %7 = bitcast %"iter::Zip, slice::Iter>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 12, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hdf6de63fb754e904E"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4), %"iter::Rev>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Rev>" %self = alloca %"iter::Rev>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Rev>"* %1 to i8* %3 = bitcast %"iter::Rev>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"iter::Rev>"* %self to i8* %5 = bitcast %"iter::Rev>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"iter::Rev>"* %_3 to i8* %7 = bitcast %"iter::Rev>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17he06e5a00ce3db442E"(%"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture sret dereferenceable(8), %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* noalias nocapture dereferenceable(8)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>" %self = alloca %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %1 to i8* %3 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 8, i32 2, i1 false) %4 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %self to i8* %5 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 8, i32 2, i1 false) %6 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %_3 to i8* %7 = bitcast %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 8, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal dereferenceable(4) %"slice::Iter<&str>"* @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17he56cee856ca8d06eE"(%"slice::Iter<&str>"* dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret %"slice::Iter<&str>"* %0 } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17he6a4e5f4a09448bfE"(%"iter::Enumerate>"* noalias nocapture sret dereferenceable(6), %"iter::Enumerate>"* noalias nocapture dereferenceable(6)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Enumerate>" %self = alloca %"iter::Enumerate>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Enumerate>"* %1 to i8* %3 = bitcast %"iter::Enumerate>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 6, i32 2, i1 false) %4 = bitcast %"iter::Enumerate>"* %self to i8* %5 = bitcast %"iter::Enumerate>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 6, i32 2, i1 false) %6 = bitcast %"iter::Enumerate>"* %_3 to i8* %7 = bitcast %"iter::Enumerate>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 6, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17he7be49b61f96723aE"(%"slice::Iter<&str>"* noalias nocapture sret dereferenceable(4), %"slice::Iter<&str>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca %"slice::Iter<&str>" %self = alloca %"slice::Iter<&str>" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Iter<&str>"* %1 to i8* %3 = bitcast %"slice::Iter<&str>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::Iter<&str>"* %self to i8* %5 = bitcast %"slice::Iter<&str>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = bitcast %"slice::Iter<&str>"* %_3 to i8* %7 = bitcast %"slice::Iter<&str>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17heefe3209f647c4d3E"(%"char::EscapeUnicode"* noalias nocapture sret dereferenceable(8), %"char::EscapeUnicode"* noalias nocapture dereferenceable(8)) unnamed_addr #1 { entry-block: %_3 = alloca %"char::EscapeUnicode" %self = alloca %"char::EscapeUnicode" br label %start start: ; preds = %entry-block %2 = bitcast %"char::EscapeUnicode"* %1 to i8* %3 = bitcast %"char::EscapeUnicode"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 8, i32 4, i1 false) %4 = bitcast %"char::EscapeUnicode"* %self to i8* %5 = bitcast %"char::EscapeUnicode"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 8, i32 4, i1 false) %6 = bitcast %"char::EscapeUnicode"* %_3 to i8* %7 = bitcast %"char::EscapeUnicode"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 8, i32 4, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hf35311762713071bE"(%"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture sret dereferenceable(10), %"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture dereferenceable(10)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Zip, &mut slice::Iter<&str>>" %self = alloca %"iter::Zip, &mut slice::Iter<&str>>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %1 to i8* %3 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 10, i32 2, i1 false) %4 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %self to i8* %5 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 10, i32 2, i1 false) %6 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %_3 to i8* %7 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 10, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hf93499028e3539f3E"(%"iter::Chain, slice::Iter>"* noalias nocapture sret dereferenceable(10), %"iter::Chain, slice::Iter>"* noalias nocapture dereferenceable(10)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::Chain, slice::Iter>" %self = alloca %"iter::Chain, slice::Iter>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::Chain, slice::Iter>"* %1 to i8* %3 = bitcast %"iter::Chain, slice::Iter>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 10, i32 2, i1 false) %4 = bitcast %"iter::Chain, slice::Iter>"* %self to i8* %5 = bitcast %"iter::Chain, slice::Iter>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 10, i32 2, i1 false) %6 = bitcast %"iter::Chain, slice::Iter>"* %_3 to i8* %7 = bitcast %"iter::Chain, slice::Iter>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 10, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hfce863b82d79c27bE"(%"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* noalias nocapture sret dereferenceable(6), %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* noalias nocapture dereferenceable(6)) unnamed_addr #1 { entry-block: %_3 = alloca %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>" %self = alloca %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>" br label %start start: ; preds = %entry-block %2 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %1 to i8* %3 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 6, i32 2, i1 false) %4 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %self to i8* %5 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 6, i32 2, i1 false) %6 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %_3 to i8* %7 = bitcast %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 6, i32 2, i1 false) ret void } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter6traits17ExactSizeIterator3len17h1e640f1d1eba79f0E(%"slice::IterMut"* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_25 = alloca { %"option::Option"**, %"option::Option"** } %_24 = alloca [2 x %"fmt::ArgumentV1"] %_19 = alloca %"fmt::Arguments" %right_val = alloca %"option::Option"* %left_val = alloca %"option::Option"* %_11 = alloca %"option::Option" %_8 = alloca { %"option::Option"*, %"option::Option"* } %_7 = alloca {} %_5 = alloca { i16, %"option::Option" } %upper = alloca %"option::Option" br label %start start: ; preds = %entry-block call void @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h8c48ad3bfb93c5b4E"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6) %_5, %"slice::IterMut"* noalias readonly dereferenceable(4) %0) br label %bb1 bb1: ; preds = %start %1 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %_5, i32 0, i32 0 %2 = load i16, i16* %1 %3 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %_5, i32 0, i32 1 %4 = bitcast %"option::Option"* %3 to i8* %5 = bitcast %"option::Option"* %upper to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_11, i32 0, i32 0 store i16 1, i16* %6 %7 = bitcast %"option::Option"* %_11 to { i16, i16 }* %8 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %7, i32 0, i32 1 store i16 %2, i16* %8 %9 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 0 store %"option::Option"* %upper, %"option::Option"** %9 %10 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 1 store %"option::Option"* %_11, %"option::Option"** %10 %11 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 0 %12 = load %"option::Option"*, %"option::Option"** %11, !nonnull !1 store %"option::Option"* %12, %"option::Option"** %left_val %13 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 1 %14 = load %"option::Option"*, %"option::Option"** %13, !nonnull !1 store %"option::Option"* %14, %"option::Option"** %right_val %15 = load %"option::Option"*, %"option::Option"** %left_val, !nonnull !1 %16 = load %"option::Option"*, %"option::Option"** %right_val, !nonnull !1 %17 = call zeroext i1 @"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h13d25a2c9398245fE"(%"option::Option"* noalias readonly dereferenceable(4) %15, %"option::Option"* noalias readonly dereferenceable(4) %16) br label %bb2 bb2: ; preds = %bb1 %18 = xor i1 %17, true br i1 %18, label %bb3, label %bb4 bb3: ; preds = %bb2 %19 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core4iter6traits17ExactSizeIterator3len15__STATIC_FMTSTR17h651f22776ee8ce6aE, i32 0, i32 0), !nonnull !1 %20 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core4iter6traits17ExactSizeIterator3len15__STATIC_FMTSTR17h651f22776ee8ce6aE, i32 0, i32 1) %21 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 0 store %"option::Option"** %left_val, %"option::Option"*** %21 %22 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 1 store %"option::Option"** %right_val, %"option::Option"*** %22 %23 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 0 %24 = load %"option::Option"**, %"option::Option"*** %23, !nonnull !1 %25 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 1 %26 = load %"option::Option"**, %"option::Option"*** %25, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h60769ffe2ddda844E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"option::Option"** noalias readonly dereferenceable(2) %24, i8 (%"option::Option"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h746d1571f426d371E") %27 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %28 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %29 = load %"fmt::Void"*, %"fmt::Void"** %27, !nonnull !1 %30 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %28, !nonnull !1 br label %bb5 bb4: ; preds = %bb2 ret i16 %2 bb5: ; preds = %bb3 call void @_ZN4core3fmt10ArgumentV13new17h60769ffe2ddda844E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, %"option::Option"** noalias readonly dereferenceable(2) %26, i8 (%"option::Option"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h746d1571f426d371E") %31 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %32 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %33 = load %"fmt::Void"*, %"fmt::Void"** %31, !nonnull !1 %34 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %32, !nonnull !1 br label %bb6 bb6: ; preds = %bb5 %35 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_24, i32 0, i32 0 %36 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %35, i32 0, i32 0 store %"fmt::Void"* %29, %"fmt::Void"** %36 %37 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %35, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %30, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %37 %38 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_24, i32 0, i32 1 %39 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %38, i32 0, i32 0 store %"fmt::Void"* %33, %"fmt::Void"** %39 %40 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %38, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %34, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %40 %41 = bitcast [2 x %"fmt::ArgumentV1"]* %_24 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_19, %str_slice* noalias nonnull readonly %19, i16 %20, %"fmt::ArgumentV1"* noalias nonnull readonly %41, i16 2) br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_19, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core4iter6traits17ExactSizeIterator3len10_FILE_LINE17h79ec571ea672a4fdE) unreachable } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hc43afeb47b4aed9aE(%"slice::Iter"* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_25 = alloca { %"option::Option"**, %"option::Option"** } %_24 = alloca [2 x %"fmt::ArgumentV1"] %_19 = alloca %"fmt::Arguments" %right_val = alloca %"option::Option"* %left_val = alloca %"option::Option"* %_11 = alloca %"option::Option" %_8 = alloca { %"option::Option"*, %"option::Option"* } %_7 = alloca {} %_5 = alloca { i16, %"option::Option" } %upper = alloca %"option::Option" br label %start start: ; preds = %entry-block call void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h6fb8fe91f0e258fdE"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6) %_5, %"slice::Iter"* noalias readonly dereferenceable(4) %0) br label %bb1 bb1: ; preds = %start %1 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %_5, i32 0, i32 0 %2 = load i16, i16* %1 %3 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %_5, i32 0, i32 1 %4 = bitcast %"option::Option"* %3 to i8* %5 = bitcast %"option::Option"* %upper to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_11, i32 0, i32 0 store i16 1, i16* %6 %7 = bitcast %"option::Option"* %_11 to { i16, i16 }* %8 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %7, i32 0, i32 1 store i16 %2, i16* %8 %9 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 0 store %"option::Option"* %upper, %"option::Option"** %9 %10 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 1 store %"option::Option"* %_11, %"option::Option"** %10 %11 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 0 %12 = load %"option::Option"*, %"option::Option"** %11, !nonnull !1 store %"option::Option"* %12, %"option::Option"** %left_val %13 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 1 %14 = load %"option::Option"*, %"option::Option"** %13, !nonnull !1 store %"option::Option"* %14, %"option::Option"** %right_val %15 = load %"option::Option"*, %"option::Option"** %left_val, !nonnull !1 %16 = load %"option::Option"*, %"option::Option"** %right_val, !nonnull !1 %17 = call zeroext i1 @"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h13d25a2c9398245fE"(%"option::Option"* noalias readonly dereferenceable(4) %15, %"option::Option"* noalias readonly dereferenceable(4) %16) br label %bb2 bb2: ; preds = %bb1 %18 = xor i1 %17, true br i1 %18, label %bb3, label %bb4 bb3: ; preds = %bb2 %19 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core4iter6traits17ExactSizeIterator3len15__STATIC_FMTSTR17h651f22776ee8ce6aE, i32 0, i32 0), !nonnull !1 %20 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core4iter6traits17ExactSizeIterator3len15__STATIC_FMTSTR17h651f22776ee8ce6aE, i32 0, i32 1) %21 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 0 store %"option::Option"** %left_val, %"option::Option"*** %21 %22 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 1 store %"option::Option"** %right_val, %"option::Option"*** %22 %23 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 0 %24 = load %"option::Option"**, %"option::Option"*** %23, !nonnull !1 %25 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 1 %26 = load %"option::Option"**, %"option::Option"*** %25, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h60769ffe2ddda844E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"option::Option"** noalias readonly dereferenceable(2) %24, i8 (%"option::Option"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h746d1571f426d371E") %27 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %28 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %29 = load %"fmt::Void"*, %"fmt::Void"** %27, !nonnull !1 %30 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %28, !nonnull !1 br label %bb5 bb4: ; preds = %bb2 ret i16 %2 bb5: ; preds = %bb3 call void @_ZN4core3fmt10ArgumentV13new17h60769ffe2ddda844E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, %"option::Option"** noalias readonly dereferenceable(2) %26, i8 (%"option::Option"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h746d1571f426d371E") %31 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %32 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %33 = load %"fmt::Void"*, %"fmt::Void"** %31, !nonnull !1 %34 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %32, !nonnull !1 br label %bb6 bb6: ; preds = %bb5 %35 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_24, i32 0, i32 0 %36 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %35, i32 0, i32 0 store %"fmt::Void"* %29, %"fmt::Void"** %36 %37 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %35, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %30, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %37 %38 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_24, i32 0, i32 1 %39 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %38, i32 0, i32 0 store %"fmt::Void"* %33, %"fmt::Void"** %39 %40 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %38, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %34, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %40 %41 = bitcast [2 x %"fmt::ArgumentV1"]* %_24 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_19, %str_slice* noalias nonnull readonly %19, i16 %20, %"fmt::ArgumentV1"* noalias nonnull readonly %41, i16 2) br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_19, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core4iter6traits17ExactSizeIterator3len10_FILE_LINE17h79ec571ea672a4fdE) unreachable } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hcab9b60dd0a777faE(%"slice::Iter"* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_25 = alloca { %"option::Option"**, %"option::Option"** } %_24 = alloca [2 x %"fmt::ArgumentV1"] %_19 = alloca %"fmt::Arguments" %right_val = alloca %"option::Option"* %left_val = alloca %"option::Option"* %_11 = alloca %"option::Option" %_8 = alloca { %"option::Option"*, %"option::Option"* } %_7 = alloca {} %_5 = alloca { i16, %"option::Option" } %upper = alloca %"option::Option" br label %start start: ; preds = %entry-block call void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17hde50e38c0d8ed228E"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6) %_5, %"slice::Iter"* noalias readonly dereferenceable(4) %0) br label %bb1 bb1: ; preds = %start %1 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %_5, i32 0, i32 0 %2 = load i16, i16* %1 %3 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %_5, i32 0, i32 1 %4 = bitcast %"option::Option"* %3 to i8* %5 = bitcast %"option::Option"* %upper to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_11, i32 0, i32 0 store i16 1, i16* %6 %7 = bitcast %"option::Option"* %_11 to { i16, i16 }* %8 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %7, i32 0, i32 1 store i16 %2, i16* %8 %9 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 0 store %"option::Option"* %upper, %"option::Option"** %9 %10 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 1 store %"option::Option"* %_11, %"option::Option"** %10 %11 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 0 %12 = load %"option::Option"*, %"option::Option"** %11, !nonnull !1 store %"option::Option"* %12, %"option::Option"** %left_val %13 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 1 %14 = load %"option::Option"*, %"option::Option"** %13, !nonnull !1 store %"option::Option"* %14, %"option::Option"** %right_val %15 = load %"option::Option"*, %"option::Option"** %left_val, !nonnull !1 %16 = load %"option::Option"*, %"option::Option"** %right_val, !nonnull !1 %17 = call zeroext i1 @"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h13d25a2c9398245fE"(%"option::Option"* noalias readonly dereferenceable(4) %15, %"option::Option"* noalias readonly dereferenceable(4) %16) br label %bb2 bb2: ; preds = %bb1 %18 = xor i1 %17, true br i1 %18, label %bb3, label %bb4 bb3: ; preds = %bb2 %19 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core4iter6traits17ExactSizeIterator3len15__STATIC_FMTSTR17h651f22776ee8ce6aE, i32 0, i32 0), !nonnull !1 %20 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core4iter6traits17ExactSizeIterator3len15__STATIC_FMTSTR17h651f22776ee8ce6aE, i32 0, i32 1) %21 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 0 store %"option::Option"** %left_val, %"option::Option"*** %21 %22 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 1 store %"option::Option"** %right_val, %"option::Option"*** %22 %23 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 0 %24 = load %"option::Option"**, %"option::Option"*** %23, !nonnull !1 %25 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 1 %26 = load %"option::Option"**, %"option::Option"*** %25, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h60769ffe2ddda844E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"option::Option"** noalias readonly dereferenceable(2) %24, i8 (%"option::Option"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h746d1571f426d371E") %27 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %28 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %29 = load %"fmt::Void"*, %"fmt::Void"** %27, !nonnull !1 %30 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %28, !nonnull !1 br label %bb5 bb4: ; preds = %bb2 ret i16 %2 bb5: ; preds = %bb3 call void @_ZN4core3fmt10ArgumentV13new17h60769ffe2ddda844E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, %"option::Option"** noalias readonly dereferenceable(2) %26, i8 (%"option::Option"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h746d1571f426d371E") %31 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %32 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %33 = load %"fmt::Void"*, %"fmt::Void"** %31, !nonnull !1 %34 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %32, !nonnull !1 br label %bb6 bb6: ; preds = %bb5 %35 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_24, i32 0, i32 0 %36 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %35, i32 0, i32 0 store %"fmt::Void"* %29, %"fmt::Void"** %36 %37 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %35, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %30, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %37 %38 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_24, i32 0, i32 1 %39 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %38, i32 0, i32 0 store %"fmt::Void"* %33, %"fmt::Void"** %39 %40 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %38, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %34, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %40 %41 = bitcast [2 x %"fmt::ArgumentV1"]* %_24 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_19, %str_slice* noalias nonnull readonly %19, i16 %20, %"fmt::ArgumentV1"* noalias nonnull readonly %41, i16 2) br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_19, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core4iter6traits17ExactSizeIterator3len10_FILE_LINE17h79ec571ea672a4fdE) unreachable } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hcdfa0075a37dd1fcE(%"char::EscapeDebug"* noalias readonly dereferenceable(12)) unnamed_addr #0 { entry-block: %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_25 = alloca { %"option::Option"**, %"option::Option"** } %_24 = alloca [2 x %"fmt::ArgumentV1"] %_19 = alloca %"fmt::Arguments" %right_val = alloca %"option::Option"* %left_val = alloca %"option::Option"* %_11 = alloca %"option::Option" %_8 = alloca { %"option::Option"*, %"option::Option"* } %_7 = alloca {} %_5 = alloca { i16, %"option::Option" } %upper = alloca %"option::Option" br label %start start: ; preds = %entry-block call void @"_ZN74_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h7799bc1d9710df79E"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6) %_5, %"char::EscapeDebug"* noalias readonly dereferenceable(12) %0) br label %bb1 bb1: ; preds = %start %1 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %_5, i32 0, i32 0 %2 = load i16, i16* %1 %3 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %_5, i32 0, i32 1 %4 = bitcast %"option::Option"* %3 to i8* %5 = bitcast %"option::Option"* %upper to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_11, i32 0, i32 0 store i16 1, i16* %6 %7 = bitcast %"option::Option"* %_11 to { i16, i16 }* %8 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %7, i32 0, i32 1 store i16 %2, i16* %8 %9 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 0 store %"option::Option"* %upper, %"option::Option"** %9 %10 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 1 store %"option::Option"* %_11, %"option::Option"** %10 %11 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 0 %12 = load %"option::Option"*, %"option::Option"** %11, !nonnull !1 store %"option::Option"* %12, %"option::Option"** %left_val %13 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 1 %14 = load %"option::Option"*, %"option::Option"** %13, !nonnull !1 store %"option::Option"* %14, %"option::Option"** %right_val %15 = load %"option::Option"*, %"option::Option"** %left_val, !nonnull !1 %16 = load %"option::Option"*, %"option::Option"** %right_val, !nonnull !1 %17 = call zeroext i1 @"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h13d25a2c9398245fE"(%"option::Option"* noalias readonly dereferenceable(4) %15, %"option::Option"* noalias readonly dereferenceable(4) %16) br label %bb2 bb2: ; preds = %bb1 %18 = xor i1 %17, true br i1 %18, label %bb3, label %bb4 bb3: ; preds = %bb2 %19 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core4iter6traits17ExactSizeIterator3len15__STATIC_FMTSTR17h651f22776ee8ce6aE, i32 0, i32 0), !nonnull !1 %20 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core4iter6traits17ExactSizeIterator3len15__STATIC_FMTSTR17h651f22776ee8ce6aE, i32 0, i32 1) %21 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 0 store %"option::Option"** %left_val, %"option::Option"*** %21 %22 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 1 store %"option::Option"** %right_val, %"option::Option"*** %22 %23 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 0 %24 = load %"option::Option"**, %"option::Option"*** %23, !nonnull !1 %25 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 1 %26 = load %"option::Option"**, %"option::Option"*** %25, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h60769ffe2ddda844E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"option::Option"** noalias readonly dereferenceable(2) %24, i8 (%"option::Option"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h746d1571f426d371E") %27 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %28 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %29 = load %"fmt::Void"*, %"fmt::Void"** %27, !nonnull !1 %30 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %28, !nonnull !1 br label %bb5 bb4: ; preds = %bb2 ret i16 %2 bb5: ; preds = %bb3 call void @_ZN4core3fmt10ArgumentV13new17h60769ffe2ddda844E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, %"option::Option"** noalias readonly dereferenceable(2) %26, i8 (%"option::Option"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h746d1571f426d371E") %31 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %32 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %33 = load %"fmt::Void"*, %"fmt::Void"** %31, !nonnull !1 %34 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %32, !nonnull !1 br label %bb6 bb6: ; preds = %bb5 %35 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_24, i32 0, i32 0 %36 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %35, i32 0, i32 0 store %"fmt::Void"* %29, %"fmt::Void"** %36 %37 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %35, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %30, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %37 %38 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_24, i32 0, i32 1 %39 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %38, i32 0, i32 0 store %"fmt::Void"* %33, %"fmt::Void"** %39 %40 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %38, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %34, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %40 %41 = bitcast [2 x %"fmt::ArgumentV1"]* %_24 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_19, %str_slice* noalias nonnull readonly %19, i16 %20, %"fmt::ArgumentV1"* noalias nonnull readonly %41, i16 2) br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_19, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core4iter6traits17ExactSizeIterator3len10_FILE_LINE17h79ec571ea672a4fdE) unreachable } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hdd2f43723353424dE(%"slice::IterMut"* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_25 = alloca { %"option::Option"**, %"option::Option"** } %_24 = alloca [2 x %"fmt::ArgumentV1"] %_19 = alloca %"fmt::Arguments" %right_val = alloca %"option::Option"* %left_val = alloca %"option::Option"* %_11 = alloca %"option::Option" %_8 = alloca { %"option::Option"*, %"option::Option"* } %_7 = alloca {} %_5 = alloca { i16, %"option::Option" } %upper = alloca %"option::Option" br label %start start: ; preds = %entry-block call void @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17hadaf217ab5d2dd1eE"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6) %_5, %"slice::IterMut"* noalias readonly dereferenceable(4) %0) br label %bb1 bb1: ; preds = %start %1 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %_5, i32 0, i32 0 %2 = load i16, i16* %1 %3 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %_5, i32 0, i32 1 %4 = bitcast %"option::Option"* %3 to i8* %5 = bitcast %"option::Option"* %upper to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_11, i32 0, i32 0 store i16 1, i16* %6 %7 = bitcast %"option::Option"* %_11 to { i16, i16 }* %8 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %7, i32 0, i32 1 store i16 %2, i16* %8 %9 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 0 store %"option::Option"* %upper, %"option::Option"** %9 %10 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 1 store %"option::Option"* %_11, %"option::Option"** %10 %11 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 0 %12 = load %"option::Option"*, %"option::Option"** %11, !nonnull !1 store %"option::Option"* %12, %"option::Option"** %left_val %13 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_8, i32 0, i32 1 %14 = load %"option::Option"*, %"option::Option"** %13, !nonnull !1 store %"option::Option"* %14, %"option::Option"** %right_val %15 = load %"option::Option"*, %"option::Option"** %left_val, !nonnull !1 %16 = load %"option::Option"*, %"option::Option"** %right_val, !nonnull !1 %17 = call zeroext i1 @"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h13d25a2c9398245fE"(%"option::Option"* noalias readonly dereferenceable(4) %15, %"option::Option"* noalias readonly dereferenceable(4) %16) br label %bb2 bb2: ; preds = %bb1 %18 = xor i1 %17, true br i1 %18, label %bb3, label %bb4 bb3: ; preds = %bb2 %19 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core4iter6traits17ExactSizeIterator3len15__STATIC_FMTSTR17h651f22776ee8ce6aE, i32 0, i32 0), !nonnull !1 %20 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core4iter6traits17ExactSizeIterator3len15__STATIC_FMTSTR17h651f22776ee8ce6aE, i32 0, i32 1) %21 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 0 store %"option::Option"** %left_val, %"option::Option"*** %21 %22 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 1 store %"option::Option"** %right_val, %"option::Option"*** %22 %23 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 0 %24 = load %"option::Option"**, %"option::Option"*** %23, !nonnull !1 %25 = getelementptr inbounds { %"option::Option"**, %"option::Option"** }, { %"option::Option"**, %"option::Option"** }* %_25, i32 0, i32 1 %26 = load %"option::Option"**, %"option::Option"*** %25, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h60769ffe2ddda844E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"option::Option"** noalias readonly dereferenceable(2) %24, i8 (%"option::Option"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h746d1571f426d371E") %27 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %28 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %29 = load %"fmt::Void"*, %"fmt::Void"** %27, !nonnull !1 %30 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %28, !nonnull !1 br label %bb5 bb4: ; preds = %bb2 ret i16 %2 bb5: ; preds = %bb3 call void @_ZN4core3fmt10ArgumentV13new17h60769ffe2ddda844E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, %"option::Option"** noalias readonly dereferenceable(2) %26, i8 (%"option::Option"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h746d1571f426d371E") %31 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %32 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %33 = load %"fmt::Void"*, %"fmt::Void"** %31, !nonnull !1 %34 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %32, !nonnull !1 br label %bb6 bb6: ; preds = %bb5 %35 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_24, i32 0, i32 0 %36 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %35, i32 0, i32 0 store %"fmt::Void"* %29, %"fmt::Void"** %36 %37 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %35, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %30, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %37 %38 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_24, i32 0, i32 1 %39 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %38, i32 0, i32 0 store %"fmt::Void"* %33, %"fmt::Void"** %39 %40 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %38, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %34, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %40 %41 = bitcast [2 x %"fmt::ArgumentV1"]* %_24 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_19, %str_slice* noalias nonnull readonly %19, i16 %20, %"fmt::ArgumentV1"* noalias nonnull readonly %41, i16 2) br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_19, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core4iter6traits17ExactSizeIterator3len10_FILE_LINE17h79ec571ea672a4fdE) unreachable } ; Function Attrs: uwtable define internal i16 @"_ZN82_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..traits..ExactSizeIterator$GT$3len17he758f464c70b2c85E"(%"slice::Iter"** noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load %"slice::Iter"*, %"slice::Iter"** %0, !nonnull !1 %2 = call i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hcab9b60dd0a777faE(%"slice::Iter"* noalias readonly dereferenceable(4) %1) br label %bb1 bb1: ; preds = %start ret i16 %2 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha600adbf15f639afE"(%"iter::Rev>>"* dereferenceable(4)) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"iter::Rev>>", %"iter::Rev>>"* %0, i32 0, i32 0 %2 = call i16 @"_ZN87_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hce6bfa82587f67dfE"(%"iter::Cloned>"* dereferenceable(4) %1) store i16 %2, i16* %abi_cast %3 = bitcast %"option::Option"* %_0 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"option::Option"* %_0 to i16* %6 = load i16, i16* %5, align 1 ret i16 %6 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17haa7d29673b77b8aeE"(%"iter::Rev>"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"iter::Rev>", %"iter::Rev>"* %0, i32 0, i32 0 %2 = call i8* @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17h551b305463ff3feaE"(%"slice::IterMut"* dereferenceable(4) %1) store i8* %2, i8** %_0 br label %bb1 bb1: ; preds = %start %3 = load i8*, i8** %_0 ret i8* %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17haeac6c001c5a350aE"(%"option::Option"* noalias nocapture sret dereferenceable(8), %"iter::Rev>>"* dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"iter::Rev>>", %"iter::Rev>>"* %1, i32 0, i32 0 call void @"_ZN87_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17h9ddb57ef6b498f63E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, %"iter::Cloned>"* dereferenceable(4) %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb51c237952e7bfd0E"(%"iter::Rev>"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"iter::Rev>", %"iter::Rev>"* %0, i32 0, i32 0 %2 = call i8* @"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc313ae25f96c851cE"(%"slice::Iter"* dereferenceable(4) %1) store i8* %2, i8** %_0 br label %bb1 bb1: ; preds = %start %3 = load i8*, i8** %_0 ret i8* %3 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd30c2d451b3657a3E"(%"iter::Rev>"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"iter::Rev>", %"iter::Rev>"* %0, i32 0, i32 0 %2 = call i8* @"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hf0e04bed97ba5f83E"(%"slice::Iter"* dereferenceable(4) %1) store i8* %2, i8** %_0 br label %bb1 bb1: ; preds = %start %3 = load i8*, i8** %_0 ret i8* %3 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"iter::Rev>", %"iter::Rev>"* %0, i32 0, i32 0 %2 = call i8* @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17h6f376137354938d6E"(%"slice::IterMut"* dereferenceable(4) %1) store i8* %2, i8** %_0 br label %bb1 bb1: ; preds = %start %3 = load i8*, i8** %_0 ret i8* %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf4e559224378bdcdE"(%"option::Option"* noalias nocapture sret dereferenceable(4), %"iter::Rev>"* dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"iter::Rev>", %"iter::Rev>"* %1, i32 0, i32 0 call void @"_ZN4core4iter5range95_$LT$impl$u20$core..iter..traits..DoubleEndedIterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$9next_back17h045cbe232ed73548E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, %"ops::Range"* dereferenceable(4) %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal i16 @"_ZN78_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17heda5e279999beb4cE"(%"iter::Cloned>"* dereferenceable(4)) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_3 = alloca i8* %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"iter::Cloned>", %"iter::Cloned>"* %0, i32 0, i32 0 %2 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %1) store i8* %2, i8** %_3 br label %bb1 bb1: ; preds = %start %3 = load i8*, i8** %_3 %4 = call i16 @"_ZN53_$LT$core..option..Option$LT$$RF$$u27$a$u20$T$GT$$GT$6cloned17h5b78e49445dae733E"(i8* %3) store i16 %4, i16* %abi_cast %5 = bitcast %"option::Option"* %_0 to i8* %6 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %6, i16 2, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %7 = bitcast %"option::Option"* %_0 to i16* %8 = load i16, i16* %7, align 1 ret i16 %8 } ; Function Attrs: uwtable define internal void @"_ZN78_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h74208347ea441fcaE"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6), %"iter::Cloned>"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"iter::Cloned>", %"iter::Cloned>"* %1, i32 0, i32 0 call void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17hde50e38c0d8ed228E"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6) %0, %"slice::Iter"* noalias readonly dereferenceable(4) %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal i16 @"_ZN78_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4fold17hb9ee87073339c008E"(%"iter::Cloned>"* noalias nocapture dereferenceable(4), i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_13 = alloca i8 %_12 = alloca i8 %_11 = alloca i8 %_9 = alloca %closure.8 %_7 = alloca %"slice::Iter" %self = alloca %"iter::Cloned>" br label %start start: ; preds = %entry-block store i8 0, i8* %_13 store i8 0, i8* %_11 store i8 0, i8* %_12 %2 = bitcast %"iter::Cloned>"* %0 to i8* %3 = bitcast %"iter::Cloned>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) store i8 1, i8* %_11 %4 = getelementptr inbounds %"iter::Cloned>", %"iter::Cloned>"* %self, i32 0, i32 0 %5 = bitcast %"slice::Iter"* %4 to i8* %6 = bitcast %"slice::Iter"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) store i8 1, i8* %_12 store i8 1, i8* %_13 store i8 0, i8* %_11 store i8 0, i8* %_12 store i8 0, i8* %_13 %7 = invoke i16 @_ZN4core4iter8iterator8Iterator4fold17h6cdb0e28d780b1c5E(%"slice::Iter"* noalias nocapture dereferenceable(4) %_7, i16 %1) to label %bb5 unwind label %cleanup bb1: ; preds = %bb6, %bb2 %8 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %8 bb2: ; preds = %bb7, %bb3 %9 = load i8, i8* %_11, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb6, label %bb1 bb3: ; preds = %bb8, %bb4 %11 = load i8, i8* %_12, !range !2 %12 = trunc i8 %11 to i1 br i1 %12, label %bb7, label %bb2 bb4: ; preds = %cleanup %13 = load i8, i8* %_13, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb8, label %bb3 bb5: ; preds = %start ret i16 %7 bb6: ; preds = %bb2 store i8 0, i8* %_11 br label %bb1 bb7: ; preds = %bb3 store i8 0, i8* %_12 br label %bb2 bb8: ; preds = %bb4 store i8 0, i8* %_13 br label %bb3 cleanup: ; preds = %start %15 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %15, { i8*, i32 }* %personalityslot br label %bb4 } ; Function Attrs: uwtable define internal i16 @"_ZN78_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4fold28_$u7b$$u7b$closure$u7d$$u7d$17h601db8178c5cb063E"(%closure.8*, i16, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_7 = alloca { i16, i8 } br label %start start: ; preds = %entry-block store i8 0, i8* %_11 %3 = getelementptr inbounds %closure.8, %closure.8* %0, i32 0, i32 0 store i8 1, i8* %_11 %4 = invoke i8 @"_ZN41_$LT$u8$u20$as$u20$core..clone..Clone$GT$5clone17ha5f1cd751b9700c0E"(i8* noalias readonly dereferenceable(1) %2) to label %bb2 unwind label %cleanup bb1: ; preds = %bb4, %bb5 %5 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %5 bb2: ; preds = %start store i8 0, i8* %_11 %6 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %_7, i32 0, i32 0 store i16 %1, i16* %6 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %_7, i32 0, i32 1 store i8 %4, i8* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %_7, i32 0, i32 0 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %_7, i32 0, i32 1 %10 = load i16, i16* %8 %11 = load i8, i8* %9 %12 = invoke i16 @"_ZN4core4iter8iterator8Iterator5count28_$u7b$$u7b$closure$u7d$$u7d$17h156d1b21c9ce022fE"(%closure.4* %3, i16 %10, i8 %11) to label %bb3 unwind label %cleanup bb3: ; preds = %bb2 ret i16 %12 bb4: ; preds = %bb5 store i8 0, i8* %_11 br label %bb1 bb5: ; preds = %cleanup %13 = load i8, i8* %_11, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb4, label %bb1 cleanup: ; preds = %bb2, %start %15 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %15, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: uwtable define internal void @"_ZN87_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17h9ddb57ef6b498f63E"(%"option::Option"* noalias nocapture sret dereferenceable(8), %"iter::Cloned>"* dereferenceable(4)) unnamed_addr #1 { entry-block: %_3 = alloca i8* br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"iter::Cloned>", %"iter::Cloned>"* %1, i32 0, i32 0 %3 = call i8* @"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc313ae25f96c851cE"(%"slice::Iter"* dereferenceable(4) %2) store i8* %3, i8** %_3 br label %bb1 bb1: ; preds = %start %4 = load i8*, i8** %_3 call void @"_ZN53_$LT$core..option..Option$LT$$RF$$u27$a$u20$T$GT$$GT$6cloned17he6ffac72b6be41b8E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, i8* %4) br label %bb2 bb2: ; preds = %bb1 ret void } ; Function Attrs: uwtable define internal i16 @"_ZN87_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hce6bfa82587f67dfE"(%"iter::Cloned>"* dereferenceable(4)) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_3 = alloca i8* %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"iter::Cloned>", %"iter::Cloned>"* %0, i32 0, i32 0 %2 = call i8* @"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hf0e04bed97ba5f83E"(%"slice::Iter"* dereferenceable(4) %1) store i8* %2, i8** %_3 br label %bb1 bb1: ; preds = %start %3 = load i8*, i8** %_3 %4 = call i16 @"_ZN53_$LT$core..option..Option$LT$$RF$$u27$a$u20$T$GT$$GT$6cloned17h5b78e49445dae733E"(i8* %3) store i16 %4, i16* %abi_cast %5 = bitcast %"option::Option"* %_0 to i8* %6 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %6, i16 2, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %7 = bitcast %"option::Option"* %_0 to i16* %8 = load i16, i16* %7, align 1 ret i16 %8 } ; Function Attrs: uwtable define internal i16 @"_ZN85_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..ExactSizeIterator$GT$3len17h97a5201c1f4f02a6E"(%"iter::Cloned>"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"iter::Cloned>", %"iter::Cloned>"* %0, i32 0, i32 0 %2 = call i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hcab9b60dd0a777faE(%"slice::Iter"* noalias readonly dereferenceable(4) %1) br label %bb1 bb1: ; preds = %start ret i16 %2 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN85_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..ExactSizeIterator$GT$8is_empty17he9f1edaeab43caefE"(%"iter::Cloned>"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"iter::Cloned>", %"iter::Cloned>"* %0, i32 0, i32 0 %2 = call zeroext i1 @"_ZN98_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..ExactSizeIterator$GT$8is_empty17h57f7673de385b485E"(%"slice::Iter"* noalias readonly dereferenceable(4) %1) br label %bb1 bb1: ; preds = %start ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN86_$LT$core..iter..Chain$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3649302e8eee8d78E"(%"iter::Chain, slice::Iter>"* dereferenceable(10)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_12 = alloca i8 %_8 = alloca i8* %elt = alloca i8* %_4 = alloca i8* %_0 = alloca i8* br label %start start: ; preds = %entry-block store i8 0, i8* %_12 %1 = getelementptr inbounds %"iter::Chain, slice::Iter>", %"iter::Chain, slice::Iter>"* %0, i32 0, i32 2 %2 = load i8, i8* %1, !range !13 %3 = zext i8 %2 to i16 switch i16 %3, label %bb3 [ i16 0, label %bb1 i16 1, label %bb2 ] bb1: ; preds = %start %4 = getelementptr inbounds %"iter::Chain, slice::Iter>", %"iter::Chain, slice::Iter>"* %0, i32 0, i32 0 store i8 1, i8* %_12 %5 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %4) store i8* %5, i8** %_4 br label %bb5 bb2: ; preds = %start %6 = getelementptr inbounds %"iter::Chain, slice::Iter>", %"iter::Chain, slice::Iter>"* %0, i32 0, i32 0 %7 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %6) store i8* %7, i8** %_0 br label %bb13 bb3: ; preds = %start %8 = getelementptr inbounds %"iter::Chain, slice::Iter>", %"iter::Chain, slice::Iter>"* %0, i32 0, i32 1 %9 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %8) store i8* %9, i8** %_0 br label %bb14 bb4: ; preds = %bb12, %bb13, %bb14 %10 = load i8*, i8** %_0 ret i8* %10 bb5: ; preds = %bb1 %11 = load i8*, i8** %_4 %12 = icmp ne i8* %11, null %13 = zext i1 %12 to i16 switch i16 %13, label %bb9 [ i16 0, label %bb8 ] bb6: ; preds = %bb15, %bb7 %14 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %14 bb7: ; preds = %cleanup %15 = load i8, i8* %_12, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb15, label %bb6 bb8: ; preds = %bb5 %17 = getelementptr inbounds %"iter::Chain, slice::Iter>", %"iter::Chain, slice::Iter>"* %0, i32 0, i32 2 store i8 2, i8* %17 %18 = getelementptr inbounds %"iter::Chain, slice::Iter>", %"iter::Chain, slice::Iter>"* %0, i32 0, i32 1 %19 = invoke i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %18) to label %bb11 unwind label %cleanup bb9: ; preds = %bb5 store i8 0, i8* %_12 %20 = bitcast i8** %_4 to i8* %21 = bitcast i8** %elt to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 2, i32 2, i1 false) %22 = bitcast i8** %elt to i8* %23 = bitcast i8** %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %23, i8* %22, i16 2, i32 2, i1 false) %24 = bitcast i8** %_8 to i8* %25 = bitcast i8** %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %25, i8* %24, i16 2, i32 2, i1 false) br label %bb10 bb10: ; preds = %bb11, %bb9 %26 = load i8, i8* %_12, !range !2 %27 = trunc i8 %26 to i1 br i1 %27, label %bb16, label %bb12 bb11: ; preds = %bb8 store i8* %19, i8** %_0 br label %bb10 bb12: ; preds = %bb16, %bb10 br label %bb4 bb13: ; preds = %bb2 br label %bb4 bb14: ; preds = %bb3 br label %bb4 bb15: ; preds = %bb7 store i8 0, i8* %_12 br label %bb6 bb16: ; preds = %bb10 store i8 0, i8* %_12 br label %bb12 cleanup: ; preds = %bb8 %28 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %28, { i8*, i32 }* %personalityslot br label %bb7 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6101362dce605e94E"(%"option::Option<(&fmt::rt::v1::Argument, &&str)>"* noalias nocapture sret dereferenceable(4), %"iter::Zip, &mut slice::Iter<&str>>"* dereferenceable(10)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block call void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next17hdade9fc1c8ded18cE"(%"option::Option<(&fmt::rt::v1::Argument, &&str)>"* noalias nocapture sret dereferenceable(4) %0, %"iter::Zip, &mut slice::Iter<&str>>"* dereferenceable(10) %1) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h94222b8c4e5581cfE"(%"option::Option<(&mut u8, &u8)>"* noalias nocapture sret dereferenceable(4), %"iter::Zip, slice::Iter>"* dereferenceable(12)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block call void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next17ha6dce3f9c6d832e1E"(%"option::Option<(&mut u8, &u8)>"* noalias nocapture sret dereferenceable(4) %0, %"iter::Zip, slice::Iter>"* dereferenceable(12) %1) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hc8ee995e1910051bE"(%"option::Option<(&fmt::ArgumentV1, &&str)>"* noalias nocapture sret dereferenceable(4), %"iter::Zip, &mut slice::Iter<&str>>"* dereferenceable(10)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block call void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next17h92f8adaccb62e26eE"(%"option::Option<(&fmt::ArgumentV1, &&str)>"* noalias nocapture sret dereferenceable(4) %0, %"iter::Zip, &mut slice::Iter<&str>>"* dereferenceable(10) %1) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hcb0555e772e9e288E"(%"option::Option<(&mut u32, &u32)>"* noalias nocapture sret dereferenceable(4), %"iter::Zip, slice::Iter>"* dereferenceable(12)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block call void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next17h6a132a4ac1469ff6E"(%"option::Option<(&mut u32, &u32)>"* noalias nocapture sret dereferenceable(4) %0, %"iter::Zip, slice::Iter>"* dereferenceable(12) %1) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$3new17h56b71dd8d4e0561dE"(%"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture sret dereferenceable(10), %"slice::Iter"* noalias nocapture dereferenceable(4), %"slice::Iter<&str>"* dereferenceable(4)) unnamed_addr #1 { entry-block: %_5 = alloca %"slice::Iter" %a = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %3 = bitcast %"slice::Iter"* %1 to i8* %4 = bitcast %"slice::Iter"* %a to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) %5 = bitcast %"slice::Iter"* %a to i8* %6 = bitcast %"slice::Iter"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) %7 = getelementptr inbounds %"iter::Zip, &mut slice::Iter<&str>>", %"iter::Zip, &mut slice::Iter<&str>>"* %0, i32 0, i32 0 %8 = bitcast %"slice::Iter"* %_5 to i8* %9 = bitcast %"slice::Iter"* %7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 4, i32 2, i1 false) %10 = getelementptr inbounds %"iter::Zip, &mut slice::Iter<&str>>", %"iter::Zip, &mut slice::Iter<&str>>"* %0, i32 0, i32 1 store %"slice::Iter<&str>"* %2, %"slice::Iter<&str>"** %10 %11 = getelementptr inbounds %"iter::Zip, &mut slice::Iter<&str>>", %"iter::Zip, &mut slice::Iter<&str>>"* %0, i32 0, i32 2 store i16 0, i16* %11 %12 = getelementptr inbounds %"iter::Zip, &mut slice::Iter<&str>>", %"iter::Zip, &mut slice::Iter<&str>>"* %0, i32 0, i32 3 store i16 0, i16* %12 ret void } ; Function Attrs: uwtable define internal void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$3new17had0e409452b2304cE"(%"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture sret dereferenceable(10), %"slice::Iter"* noalias nocapture dereferenceable(4), %"slice::Iter<&str>"* dereferenceable(4)) unnamed_addr #1 { entry-block: %_5 = alloca %"slice::Iter" %a = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %3 = bitcast %"slice::Iter"* %1 to i8* %4 = bitcast %"slice::Iter"* %a to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) %5 = bitcast %"slice::Iter"* %a to i8* %6 = bitcast %"slice::Iter"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) %7 = getelementptr inbounds %"iter::Zip, &mut slice::Iter<&str>>", %"iter::Zip, &mut slice::Iter<&str>>"* %0, i32 0, i32 0 %8 = bitcast %"slice::Iter"* %_5 to i8* %9 = bitcast %"slice::Iter"* %7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 4, i32 2, i1 false) %10 = getelementptr inbounds %"iter::Zip, &mut slice::Iter<&str>>", %"iter::Zip, &mut slice::Iter<&str>>"* %0, i32 0, i32 1 store %"slice::Iter<&str>"* %2, %"slice::Iter<&str>"** %10 %11 = getelementptr inbounds %"iter::Zip, &mut slice::Iter<&str>>", %"iter::Zip, &mut slice::Iter<&str>>"* %0, i32 0, i32 2 store i16 0, i16* %11 %12 = getelementptr inbounds %"iter::Zip, &mut slice::Iter<&str>>", %"iter::Zip, &mut slice::Iter<&str>>"* %0, i32 0, i32 3 store i16 0, i16* %12 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next17h92f8adaccb62e26eE"(%"option::Option<(&fmt::ArgumentV1, &&str)>"* noalias nocapture sret dereferenceable(4), %"iter::Zip, &mut slice::Iter<&str>>"* dereferenceable(10)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_5 = alloca %closure.15 %_3 = alloca i8* %self = alloca %"iter::Zip, &mut slice::Iter<&str>>"* br label %start start: ; preds = %entry-block store %"iter::Zip, &mut slice::Iter<&str>>"* %1, %"iter::Zip, &mut slice::Iter<&str>>"** %self %2 = load %"iter::Zip, &mut slice::Iter<&str>>"*, %"iter::Zip, &mut slice::Iter<&str>>"** %self, !nonnull !1 %3 = getelementptr inbounds %"iter::Zip, &mut slice::Iter<&str>>", %"iter::Zip, &mut slice::Iter<&str>>"* %2, i32 0, i32 0 %4 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h042eea4aa13cb73cE"(%"slice::Iter"* dereferenceable(4) %3) store i8* %4, i8** %_3 br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %closure.15, %closure.15* %_5, i32 0, i32 0 store %"iter::Zip, &mut slice::Iter<&str>>"** %self, %"iter::Zip, &mut slice::Iter<&str>>"*** %5 %6 = load i8*, i8** %_3 %7 = bitcast %closure.15* %_5 to i8** %8 = load i8*, i8** %7, align 2 invoke void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h3501ddabd56ec3dfE"(%"option::Option<(&fmt::ArgumentV1, &&str)>"* noalias nocapture sret dereferenceable(4) %0, i8* %6, i8* %8) to label %bb3 unwind label %cleanup bb2: ; preds = %cleanup %9 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %9 bb3: ; preds = %bb1 ret void cleanup: ; preds = %bb1 %10 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %10, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next17hdade9fc1c8ded18cE"(%"option::Option<(&fmt::rt::v1::Argument, &&str)>"* noalias nocapture sret dereferenceable(4), %"iter::Zip, &mut slice::Iter<&str>>"* dereferenceable(10)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_5 = alloca %closure.14 %_3 = alloca i8* %self = alloca %"iter::Zip, &mut slice::Iter<&str>>"* br label %start start: ; preds = %entry-block store %"iter::Zip, &mut slice::Iter<&str>>"* %1, %"iter::Zip, &mut slice::Iter<&str>>"** %self %2 = load %"iter::Zip, &mut slice::Iter<&str>>"*, %"iter::Zip, &mut slice::Iter<&str>>"** %self, !nonnull !1 %3 = getelementptr inbounds %"iter::Zip, &mut slice::Iter<&str>>", %"iter::Zip, &mut slice::Iter<&str>>"* %2, i32 0, i32 0 %4 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hcef1a24bbc98966fE"(%"slice::Iter"* dereferenceable(4) %3) store i8* %4, i8** %_3 br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %closure.14, %closure.14* %_5, i32 0, i32 0 store %"iter::Zip, &mut slice::Iter<&str>>"** %self, %"iter::Zip, &mut slice::Iter<&str>>"*** %5 %6 = load i8*, i8** %_3 %7 = bitcast %closure.14* %_5 to i8** %8 = load i8*, i8** %7, align 2 invoke void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h6a07db0671807768E"(%"option::Option<(&fmt::rt::v1::Argument, &&str)>"* noalias nocapture sret dereferenceable(4) %0, i8* %6, i8* %8) to label %bb3 unwind label %cleanup bb2: ; preds = %cleanup %9 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %9 bb3: ; preds = %bb1 ret void cleanup: ; preds = %bb1 %10 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %10, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h1891766c3913f423E"(%"option::Option<(&fmt::ArgumentV1, &&str)>"* noalias nocapture sret dereferenceable(4), i8*, %str_slice* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_4 = alloca { %"fmt::ArgumentV1"*, %str_slice* } %abi_cast = alloca i8* %arg0 = alloca %closure.12 store i8* %1, i8** %abi_cast %3 = bitcast %closure.12* %arg0 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = getelementptr inbounds %closure.12, %closure.12* %arg0, i32 0, i32 0 %6 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %5, !nonnull !1 %7 = getelementptr inbounds { %"fmt::ArgumentV1"*, %str_slice* }, { %"fmt::ArgumentV1"*, %str_slice* }* %_4, i32 0, i32 0 store %"fmt::ArgumentV1"* %6, %"fmt::ArgumentV1"** %7 %8 = getelementptr inbounds { %"fmt::ArgumentV1"*, %str_slice* }, { %"fmt::ArgumentV1"*, %str_slice* }* %_4, i32 0, i32 1 store %str_slice* %2, %str_slice** %8 %9 = getelementptr inbounds { %"fmt::ArgumentV1"*, %str_slice* }, { %"fmt::ArgumentV1"*, %str_slice* }* %_4, i32 0, i32 0 %10 = getelementptr inbounds { %"fmt::ArgumentV1"*, %str_slice* }, { %"fmt::ArgumentV1"*, %str_slice* }* %_4, i32 0, i32 1 %11 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %9, !nonnull !1 %12 = load %str_slice*, %str_slice** %10, !nonnull !1 %13 = getelementptr inbounds %"option::Option<(&fmt::ArgumentV1, &&str)>", %"option::Option<(&fmt::ArgumentV1, &&str)>"* %0, i32 0, i32 0 %14 = getelementptr inbounds { %"fmt::ArgumentV1"*, %str_slice* }, { %"fmt::ArgumentV1"*, %str_slice* }* %13, i32 0, i32 0 store %"fmt::ArgumentV1"* %11, %"fmt::ArgumentV1"** %14 %15 = getelementptr inbounds { %"fmt::ArgumentV1"*, %str_slice* }, { %"fmt::ArgumentV1"*, %str_slice* }* %13, i32 0, i32 1 store %str_slice* %12, %str_slice** %15 ret void } ; Function Attrs: uwtable define internal void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17hb1fa3a77af2d6204E"(%"option::Option<(&fmt::rt::v1::Argument, &&str)>"* noalias nocapture sret dereferenceable(4), i8*, %str_slice* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_4 = alloca { %"fmt::rt::v1::Argument"*, %str_slice* } %abi_cast = alloca i8* %arg0 = alloca %closure.13 store i8* %1, i8** %abi_cast %3 = bitcast %closure.13* %arg0 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = getelementptr inbounds %closure.13, %closure.13* %arg0, i32 0, i32 0 %6 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %5, !nonnull !1 %7 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, %str_slice* }, { %"fmt::rt::v1::Argument"*, %str_slice* }* %_4, i32 0, i32 0 store %"fmt::rt::v1::Argument"* %6, %"fmt::rt::v1::Argument"** %7 %8 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, %str_slice* }, { %"fmt::rt::v1::Argument"*, %str_slice* }* %_4, i32 0, i32 1 store %str_slice* %2, %str_slice** %8 %9 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, %str_slice* }, { %"fmt::rt::v1::Argument"*, %str_slice* }* %_4, i32 0, i32 0 %10 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, %str_slice* }, { %"fmt::rt::v1::Argument"*, %str_slice* }* %_4, i32 0, i32 1 %11 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %9, !nonnull !1 %12 = load %str_slice*, %str_slice** %10, !nonnull !1 %13 = getelementptr inbounds %"option::Option<(&fmt::rt::v1::Argument, &&str)>", %"option::Option<(&fmt::rt::v1::Argument, &&str)>"* %0, i32 0, i32 0 %14 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, %str_slice* }, { %"fmt::rt::v1::Argument"*, %str_slice* }* %13, i32 0, i32 0 store %"fmt::rt::v1::Argument"* %11, %"fmt::rt::v1::Argument"** %14 %15 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, %str_slice* }, { %"fmt::rt::v1::Argument"*, %str_slice* }* %13, i32 0, i32 1 store %str_slice* %12, %str_slice** %15 ret void } ; Function Attrs: uwtable define internal void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h588ed721accd5cf0E"(%"option::Option<(&fmt::rt::v1::Argument, &&str)>"* noalias nocapture sret dereferenceable(4), i8*, %"fmt::rt::v1::Argument"* noalias readonly dereferenceable(24)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_10 = alloca i8 %_9 = alloca i8 %_8 = alloca i8 %_6 = alloca %closure.13 %_4 = alloca i8* %abi_cast = alloca i8* %arg0 = alloca %closure.14 store i8* %1, i8** %abi_cast %3 = bitcast %closure.14* %arg0 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_10 store i8 0, i8* %_9 store i8 0, i8* %_8 store i8 1, i8* %_8 %5 = getelementptr inbounds %closure.14, %closure.14* %arg0, i32 0, i32 0 %6 = load %"iter::Zip, &mut slice::Iter<&str>>"**, %"iter::Zip, &mut slice::Iter<&str>>"*** %5, !nonnull !1 %7 = load %"iter::Zip, &mut slice::Iter<&str>>"*, %"iter::Zip, &mut slice::Iter<&str>>"** %6, !nonnull !1 %8 = getelementptr inbounds %"iter::Zip, &mut slice::Iter<&str>>", %"iter::Zip, &mut slice::Iter<&str>>"* %7, i32 0, i32 1 %9 = invoke i8* @"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h0f485c7c6af33723E"(%"slice::Iter<&str>"** dereferenceable(2) %8) to label %bb2 unwind label %cleanup bb1: ; preds = %bb6, %bb7 %10 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %10 bb2: ; preds = %start store i8* %9, i8** %_4 store i8 1, i8* %_9 store i8 0, i8* %_8 store i8 1, i8* %_10 %11 = getelementptr inbounds %closure.13, %closure.13* %_6, i32 0, i32 0 store %"fmt::rt::v1::Argument"* %2, %"fmt::rt::v1::Argument"** %11 store i8 0, i8* %_9 store i8 0, i8* %_10 %12 = load i8*, i8** %_4 %13 = bitcast %closure.13* %_6 to i8** %14 = load i8*, i8** %13, align 2 invoke void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h61082c39df9fdfb1E"(%"option::Option<(&fmt::rt::v1::Argument, &&str)>"* noalias nocapture sret dereferenceable(4) %0, i8* %12, i8* %14) to label %bb5 unwind label %cleanup1 bb3: ; preds = %bb9, %bb4 %15 = load i8, i8* %_9, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb8, label %bb7 bb4: ; preds = %cleanup1 %17 = load i8, i8* %_10, !range !2 %18 = trunc i8 %17 to i1 br i1 %18, label %bb9, label %bb3 bb5: ; preds = %bb2 ret void bb6: ; preds = %bb7 store i8 0, i8* %_8 br label %bb1 bb7: ; preds = %bb8, %bb3, %cleanup %19 = load i8, i8* %_8, !range !2 %20 = trunc i8 %19 to i1 br i1 %20, label %bb6, label %bb1 bb8: ; preds = %bb3 store i8 0, i8* %_9 br label %bb7 bb9: ; preds = %bb4 store i8 0, i8* %_10 br label %bb3 cleanup: ; preds = %start %21 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %21, { i8*, i32 }* %personalityslot br label %bb7 cleanup1: ; preds = %bb2 %22 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %22, { i8*, i32 }* %personalityslot br label %bb4 } ; Function Attrs: uwtable define internal void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h91e7be43e19386fbE"(%"option::Option<(&fmt::ArgumentV1, &&str)>"* noalias nocapture sret dereferenceable(4), i8*, %"fmt::ArgumentV1"* noalias readonly dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_10 = alloca i8 %_9 = alloca i8 %_8 = alloca i8 %_6 = alloca %closure.12 %_4 = alloca i8* %abi_cast = alloca i8* %arg0 = alloca %closure.15 store i8* %1, i8** %abi_cast %3 = bitcast %closure.15* %arg0 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_10 store i8 0, i8* %_9 store i8 0, i8* %_8 store i8 1, i8* %_8 %5 = getelementptr inbounds %closure.15, %closure.15* %arg0, i32 0, i32 0 %6 = load %"iter::Zip, &mut slice::Iter<&str>>"**, %"iter::Zip, &mut slice::Iter<&str>>"*** %5, !nonnull !1 %7 = load %"iter::Zip, &mut slice::Iter<&str>>"*, %"iter::Zip, &mut slice::Iter<&str>>"** %6, !nonnull !1 %8 = getelementptr inbounds %"iter::Zip, &mut slice::Iter<&str>>", %"iter::Zip, &mut slice::Iter<&str>>"* %7, i32 0, i32 1 %9 = invoke i8* @"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h0f485c7c6af33723E"(%"slice::Iter<&str>"** dereferenceable(2) %8) to label %bb2 unwind label %cleanup bb1: ; preds = %bb6, %bb7 %10 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %10 bb2: ; preds = %start store i8* %9, i8** %_4 store i8 1, i8* %_9 store i8 0, i8* %_8 store i8 1, i8* %_10 %11 = getelementptr inbounds %closure.12, %closure.12* %_6, i32 0, i32 0 store %"fmt::ArgumentV1"* %2, %"fmt::ArgumentV1"** %11 store i8 0, i8* %_9 store i8 0, i8* %_10 %12 = load i8*, i8** %_4 %13 = bitcast %closure.12* %_6 to i8** %14 = load i8*, i8** %13, align 2 invoke void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17ha1e7176d6469b314E"(%"option::Option<(&fmt::ArgumentV1, &&str)>"* noalias nocapture sret dereferenceable(4) %0, i8* %12, i8* %14) to label %bb5 unwind label %cleanup1 bb3: ; preds = %bb9, %bb4 %15 = load i8, i8* %_9, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb8, label %bb7 bb4: ; preds = %cleanup1 %17 = load i8, i8* %_10, !range !2 %18 = trunc i8 %17 to i1 br i1 %18, label %bb9, label %bb3 bb5: ; preds = %bb2 ret void bb6: ; preds = %bb7 store i8 0, i8* %_8 br label %bb1 bb7: ; preds = %bb8, %bb3, %cleanup %19 = load i8, i8* %_8, !range !2 %20 = trunc i8 %19 to i1 br i1 %20, label %bb6, label %bb1 bb8: ; preds = %bb3 store i8 0, i8* %_9 br label %bb7 bb9: ; preds = %bb4 store i8 0, i8* %_10 br label %bb3 cleanup: ; preds = %start %21 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %21, { i8*, i32 }* %personalityslot br label %bb7 cleanup1: ; preds = %bb2 %22 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %22, { i8*, i32 }* %personalityslot br label %bb4 } ; Function Attrs: uwtable define internal void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$3new17h4fbf7438289792c9E"(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12), %"slice::IterMut"* noalias nocapture dereferenceable(4), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_14 = alloca i8 %_13 = alloca i8 %_11 = alloca %"slice::Iter" %_10 = alloca %"slice::IterMut" %b = alloca %"slice::Iter" %a = alloca %"slice::IterMut" br label %start start: ; preds = %entry-block store i8 0, i8* %_14 store i8 0, i8* %_13 store i8 1, i8* %_13 %3 = bitcast %"slice::IterMut"* %1 to i8* %4 = bitcast %"slice::IterMut"* %a to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) store i8 1, i8* %_14 %5 = bitcast %"slice::Iter"* %2 to i8* %6 = bitcast %"slice::Iter"* %b to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) %7 = invoke i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hdd2f43723353424dE(%"slice::IterMut"* noalias readonly dereferenceable(4) %a) to label %bb3 unwind label %cleanup bb1: ; preds = %bb6, %bb2 %8 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %8 bb2: ; preds = %bb7, %bb8 %9 = load i8, i8* %_13, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb6, label %bb1 bb3: ; preds = %start %11 = invoke i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hcab9b60dd0a777faE(%"slice::Iter"* noalias readonly dereferenceable(4) %b) to label %bb4 unwind label %cleanup bb4: ; preds = %bb3 %12 = invoke i16 @_ZN4core3cmp3min17h1e7efd6f790a1e21E(i16 %7, i16 %11) to label %bb5 unwind label %cleanup bb5: ; preds = %bb4 store i8 0, i8* %_13 %13 = bitcast %"slice::IterMut"* %a to i8* %14 = bitcast %"slice::IterMut"* %_10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %13, i16 4, i32 2, i1 false) store i8 0, i8* %_14 %15 = bitcast %"slice::Iter"* %b to i8* %16 = bitcast %"slice::Iter"* %_11 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %15, i16 4, i32 2, i1 false) %17 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %0, i32 0, i32 0 %18 = bitcast %"slice::IterMut"* %_10 to i8* %19 = bitcast %"slice::IterMut"* %17 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 4, i32 2, i1 false) %20 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %0, i32 0, i32 1 %21 = bitcast %"slice::Iter"* %_11 to i8* %22 = bitcast %"slice::Iter"* %20 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 4, i32 2, i1 false) %23 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %0, i32 0, i32 2 store i16 0, i16* %23 %24 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %0, i32 0, i32 3 store i16 %12, i16* %24 ret void bb6: ; preds = %bb2 store i8 0, i8* %_13 br label %bb1 bb7: ; preds = %bb8 store i8 0, i8* %_14 br label %bb2 bb8: ; preds = %cleanup %25 = load i8, i8* %_14, !range !2 %26 = trunc i8 %25 to i1 br i1 %26, label %bb7, label %bb2 cleanup: ; preds = %bb4, %bb3, %start %27 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %27, { i8*, i32 }* %personalityslot br label %bb8 } ; Function Attrs: uwtable define internal void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$3new17hf7bed47d702f50cbE"(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12), %"slice::IterMut"* noalias nocapture dereferenceable(4), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_14 = alloca i8 %_13 = alloca i8 %_11 = alloca %"slice::Iter" %_10 = alloca %"slice::IterMut" %b = alloca %"slice::Iter" %a = alloca %"slice::IterMut" br label %start start: ; preds = %entry-block store i8 0, i8* %_14 store i8 0, i8* %_13 store i8 1, i8* %_13 %3 = bitcast %"slice::IterMut"* %1 to i8* %4 = bitcast %"slice::IterMut"* %a to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) store i8 1, i8* %_14 %5 = bitcast %"slice::Iter"* %2 to i8* %6 = bitcast %"slice::Iter"* %b to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) %7 = invoke i16 @_ZN4core4iter6traits17ExactSizeIterator3len17h1e640f1d1eba79f0E(%"slice::IterMut"* noalias readonly dereferenceable(4) %a) to label %bb3 unwind label %cleanup bb1: ; preds = %bb6, %bb2 %8 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %8 bb2: ; preds = %bb7, %bb8 %9 = load i8, i8* %_13, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb6, label %bb1 bb3: ; preds = %start %11 = invoke i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hc43afeb47b4aed9aE(%"slice::Iter"* noalias readonly dereferenceable(4) %b) to label %bb4 unwind label %cleanup bb4: ; preds = %bb3 %12 = invoke i16 @_ZN4core3cmp3min17h1e7efd6f790a1e21E(i16 %7, i16 %11) to label %bb5 unwind label %cleanup bb5: ; preds = %bb4 store i8 0, i8* %_13 %13 = bitcast %"slice::IterMut"* %a to i8* %14 = bitcast %"slice::IterMut"* %_10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %13, i16 4, i32 2, i1 false) store i8 0, i8* %_14 %15 = bitcast %"slice::Iter"* %b to i8* %16 = bitcast %"slice::Iter"* %_11 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %15, i16 4, i32 2, i1 false) %17 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %0, i32 0, i32 0 %18 = bitcast %"slice::IterMut"* %_10 to i8* %19 = bitcast %"slice::IterMut"* %17 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 4, i32 2, i1 false) %20 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %0, i32 0, i32 1 %21 = bitcast %"slice::Iter"* %_11 to i8* %22 = bitcast %"slice::Iter"* %20 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 4, i32 2, i1 false) %23 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %0, i32 0, i32 2 store i16 0, i16* %23 %24 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %0, i32 0, i32 3 store i16 %12, i16* %24 ret void bb6: ; preds = %bb2 store i8 0, i8* %_13 br label %bb1 bb7: ; preds = %bb8 store i8 0, i8* %_14 br label %bb2 bb8: ; preds = %cleanup %25 = load i8, i8* %_14, !range !2 %26 = trunc i8 %25 to i1 br i1 %26, label %bb7, label %bb2 cleanup: ; preds = %bb4, %bb3, %start %27 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %27, { i8*, i32 }* %personalityslot br label %bb8 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next17h6a132a4ac1469ff6E"(%"option::Option<(&mut u32, &u32)>"* noalias nocapture sret dereferenceable(4), %"iter::Zip, slice::Iter>"* dereferenceable(12)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_22 = alloca {} %_16 = alloca i8 %_9 = alloca { i32*, i32* } br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 %3 = load i16, i16* %2 %4 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 3 %5 = load i16, i16* %4 %6 = icmp ult i16 %3, %5 br i1 %6, label %bb1, label %bb2 bb1: ; preds = %start %7 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 %8 = load i16, i16* %7 %9 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 %10 = load i16, i16* %9 %11 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %10, i16 1) %12 = extractvalue { i16, i1 } %11, 0 %13 = extractvalue { i16, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic, label %bb3 bb2: ; preds = %start %15 = call zeroext i1 @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$20may_have_side_effect17h3bd66f571facdc7fE"() br label %bb12 bb3: ; preds = %bb1 %16 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 store i16 %12, i16* %16 %17 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 0 %18 = call dereferenceable(4) i32* @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$13get_unchecked17h6fa43a2bdf03213bE"(%"slice::IterMut"* dereferenceable(4) %17, i16 %8) br label %bb4 bb4: ; preds = %bb3 %19 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 1 %20 = invoke dereferenceable(4) i32* @"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$13get_unchecked17h280b283245cb14caE"(%"slice::Iter"* dereferenceable(4) %19, i16 %8) to label %bb7 unwind label %cleanup bb5: ; preds = %bb6 %21 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %21 bb6: ; preds = %cleanup br label %bb5 bb7: ; preds = %bb4 %22 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %_9, i32 0, i32 0 store i32* %18, i32** %22 %23 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %_9, i32 0, i32 1 store i32* %20, i32** %23 %24 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %_9, i32 0, i32 0 %25 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %_9, i32 0, i32 1 %26 = load i32*, i32** %24, !nonnull !1 %27 = load i32*, i32** %25, !nonnull !1 %28 = getelementptr inbounds %"option::Option<(&mut u32, &u32)>", %"option::Option<(&mut u32, &u32)>"* %0, i32 0, i32 0 %29 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %28, i32 0, i32 0 store i32* %26, i32** %29 %30 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %28, i32 0, i32 1 store i32* %27, i32** %30 br label %bb20 bb8: ; preds = %bb13 store i8 1, i8* %_16 br label %bb11 bb9: ; preds = %bb13, %bb12 store i8 0, i8* %_16 br label %bb11 bb10: ; preds = %bb12 %31 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 %32 = load i16, i16* %31 %33 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 0 %34 = call i16 @_ZN4core4iter6traits17ExactSizeIterator3len17h1e640f1d1eba79f0E(%"slice::IterMut"* noalias readonly dereferenceable(4) %33) br label %bb13 bb11: ; preds = %bb9, %bb8 %35 = load i8, i8* %_16, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb14, label %bb15 bb12: ; preds = %bb2 br i1 %15, label %bb10, label %bb9 bb13: ; preds = %bb10 %37 = icmp ult i16 %32, %34 br i1 %37, label %bb8, label %bb9 bb14: ; preds = %bb11 %38 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 0 %39 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 %40 = load i16, i16* %39 %41 = call dereferenceable(4) i32* @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$13get_unchecked17h6fa43a2bdf03213bE"(%"slice::IterMut"* dereferenceable(4) %38, i16 %40) br label %bb16 bb15: ; preds = %bb11 %42 = getelementptr inbounds %"option::Option<(&mut u32, &u32)>", %"option::Option<(&mut u32, &u32)>"* %0, i32 0, i32 0, i32 0 store i32* null, i32** %42 br label %bb19 bb16: ; preds = %bb14 br label %bb17 bb17: ; preds = %bb16 %43 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 %44 = load i16, i16* %43 %45 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %44, i16 1) %46 = extractvalue { i16, i1 } %45, 0 %47 = extractvalue { i16, i1 } %45, 1 %48 = call i1 @llvm.expect.i1(i1 %47, i1 false) br i1 %48, label %panic1, label %bb18 bb18: ; preds = %bb17 %49 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 store i16 %46, i16* %49 %50 = getelementptr inbounds %"option::Option<(&mut u32, &u32)>", %"option::Option<(&mut u32, &u32)>"* %0, i32 0, i32 0, i32 0 store i32* null, i32** %50 br label %bb19 bb19: ; preds = %bb15, %bb18 br label %bb20 bb20: ; preds = %bb19, %bb7 ret void panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6o) unreachable cleanup: ; preds = %bb4 %51 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %51, { i8*, i32 }* %personalityslot br label %bb6 panic1: ; preds = %bb17 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6p) unreachable } ; Function Attrs: inlinehint uwtable define internal void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next17ha6dce3f9c6d832e1E"(%"option::Option<(&mut u8, &u8)>"* noalias nocapture sret dereferenceable(4), %"iter::Zip, slice::Iter>"* dereferenceable(12)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_22 = alloca {} %_16 = alloca i8 %_9 = alloca { i8*, i8* } br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 %3 = load i16, i16* %2 %4 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 3 %5 = load i16, i16* %4 %6 = icmp ult i16 %3, %5 br i1 %6, label %bb1, label %bb2 bb1: ; preds = %start %7 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 %8 = load i16, i16* %7 %9 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 %10 = load i16, i16* %9 %11 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %10, i16 1) %12 = extractvalue { i16, i1 } %11, 0 %13 = extractvalue { i16, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic, label %bb3 bb2: ; preds = %start %15 = call zeroext i1 @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$20may_have_side_effect17h6ed72514fd24e8f3E"() br label %bb12 bb3: ; preds = %bb1 %16 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 store i16 %12, i16* %16 %17 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 0 %18 = call dereferenceable(1) i8* @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$13get_unchecked17h93658ca26a4ced3eE"(%"slice::IterMut"* dereferenceable(4) %17, i16 %8) br label %bb4 bb4: ; preds = %bb3 %19 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 1 %20 = invoke dereferenceable(1) i8* @"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$13get_unchecked17h671c8501e35a428aE"(%"slice::Iter"* dereferenceable(4) %19, i16 %8) to label %bb7 unwind label %cleanup bb5: ; preds = %bb6 %21 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %21 bb6: ; preds = %cleanup br label %bb5 bb7: ; preds = %bb4 %22 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_9, i32 0, i32 0 store i8* %18, i8** %22 %23 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_9, i32 0, i32 1 store i8* %20, i8** %23 %24 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_9, i32 0, i32 0 %25 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_9, i32 0, i32 1 %26 = load i8*, i8** %24, !nonnull !1 %27 = load i8*, i8** %25, !nonnull !1 %28 = getelementptr inbounds %"option::Option<(&mut u8, &u8)>", %"option::Option<(&mut u8, &u8)>"* %0, i32 0, i32 0 %29 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %28, i32 0, i32 0 store i8* %26, i8** %29 %30 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %28, i32 0, i32 1 store i8* %27, i8** %30 br label %bb20 bb8: ; preds = %bb13 store i8 1, i8* %_16 br label %bb11 bb9: ; preds = %bb13, %bb12 store i8 0, i8* %_16 br label %bb11 bb10: ; preds = %bb12 %31 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 %32 = load i16, i16* %31 %33 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 0 %34 = call i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hdd2f43723353424dE(%"slice::IterMut"* noalias readonly dereferenceable(4) %33) br label %bb13 bb11: ; preds = %bb9, %bb8 %35 = load i8, i8* %_16, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb14, label %bb15 bb12: ; preds = %bb2 br i1 %15, label %bb10, label %bb9 bb13: ; preds = %bb10 %37 = icmp ult i16 %32, %34 br i1 %37, label %bb8, label %bb9 bb14: ; preds = %bb11 %38 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 0 %39 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 %40 = load i16, i16* %39 %41 = call dereferenceable(1) i8* @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$13get_unchecked17h93658ca26a4ced3eE"(%"slice::IterMut"* dereferenceable(4) %38, i16 %40) br label %bb16 bb15: ; preds = %bb11 %42 = getelementptr inbounds %"option::Option<(&mut u8, &u8)>", %"option::Option<(&mut u8, &u8)>"* %0, i32 0, i32 0, i32 0 store i8* null, i8** %42 br label %bb19 bb16: ; preds = %bb14 br label %bb17 bb17: ; preds = %bb16 %43 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 %44 = load i16, i16* %43 %45 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %44, i16 1) %46 = extractvalue { i16, i1 } %45, 0 %47 = extractvalue { i16, i1 } %45, 1 %48 = call i1 @llvm.expect.i1(i1 %47, i1 false) br i1 %48, label %panic1, label %bb18 bb18: ; preds = %bb17 %49 = getelementptr inbounds %"iter::Zip, slice::Iter>", %"iter::Zip, slice::Iter>"* %1, i32 0, i32 2 store i16 %46, i16* %49 %50 = getelementptr inbounds %"option::Option<(&mut u8, &u8)>", %"option::Option<(&mut u8, &u8)>"* %0, i32 0, i32 0, i32 0 store i8* null, i8** %50 br label %bb19 bb19: ; preds = %bb15, %bb18 br label %bb20 bb20: ; preds = %bb19, %bb7 ret void panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6o) unreachable cleanup: ; preds = %bb4 %51 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %51, { i8*, i32 }* %personalityslot br label %bb6 panic1: ; preds = %bb17 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6p) unreachable } ; Function Attrs: uwtable define internal i8 @"_ZN70_$LT$core..iter..Map$LT$I$C$$u20$F$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h3bf3e326d931bcfeE"(%"iter::Map, str::LinesAnyMap>"* dereferenceable(24), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_8 = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %_8, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.6q, i32 0, i32 0), i16 3) br label %bb1 bb1: ; preds = %start %2 = getelementptr inbounds %"iter::Map, str::LinesAnyMap>", %"iter::Map, str::LinesAnyMap>"* %0, i32 0, i32 0 %3 = bitcast %"str::SplitTerminator"* %2 to i8* %4 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %_8, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.6r, i32 0, i32 0), i16 4, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"str::SplitTerminator"*)*, i16, i16, i8 (%"str::SplitTerminator"*, %"fmt::Formatter"*)* }* @vtable.6s to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %4) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define internal i16 @"_ZN84_$LT$core..iter..Map$LT$I$C$$u20$F$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4fold17h51a904ece9053850E"(%"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* noalias nocapture dereferenceable(4), i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_19 = alloca i8 %_18 = alloca i8 %_17 = alloca i8 %_16 = alloca i8 %_15 = alloca i8 %_14 = alloca i8 %_11 = alloca %closure.9 %_9 = alloca %"slice::Iter<&str>" %self = alloca %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>" br label %start start: ; preds = %entry-block store i8 0, i8* %_14 store i8 0, i8* %_17 store i8 0, i8* %_19 store i8 0, i8* %_16 store i8 0, i8* %_18 store i8 0, i8* %_15 store i8 1, i8* %_14 %2 = bitcast %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* %0 to i8* %3 = bitcast %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) store i8 1, i8* %_15 store i8 1, i8* %_16 %4 = getelementptr inbounds %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>", %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* %self, i32 0, i32 1 store i8 0, i8* %_14 store i8 1, i8* %_17 %5 = getelementptr inbounds %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>", %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* %self, i32 0, i32 0 %6 = bitcast %"slice::Iter<&str>"* %5 to i8* %7 = bitcast %"slice::Iter<&str>"* %_9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) store i8 0, i8* %_15 store i8 1, i8* %_18 store i8 0, i8* %_16 store i8 1, i8* %_19 store i8 0, i8* %_17 store i8 0, i8* %_18 store i8 0, i8* %_19 %8 = getelementptr inbounds %closure.9, %closure.9* %_11, i32 0, i32 0 %9 = getelementptr inbounds %closure.9, %closure.9* %_11, i32 0, i32 1 %10 = invoke i16 @_ZN4core4iter8iterator8Iterator4fold17hb6a31629f2c94ad9E(%"slice::Iter<&str>"* noalias nocapture dereferenceable(4) %_9, i16 %1) to label %bb7 unwind label %cleanup bb1: ; preds = %bb10, %bb2 %11 = load i8, i8* %_14, !range !2 %12 = trunc i8 %11 to i1 br i1 %12, label %bb9, label %bb8 bb2: ; preds = %bb11, %bb3 %13 = load i8, i8* %_15, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb10, label %bb1 bb3: ; preds = %bb12, %bb4 %15 = load i8, i8* %_16, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb11, label %bb2 bb4: ; preds = %bb13, %bb5 %17 = load i8, i8* %_17, !range !2 %18 = trunc i8 %17 to i1 br i1 %18, label %bb12, label %bb3 bb5: ; preds = %bb14, %bb6 %19 = load i8, i8* %_18, !range !2 %20 = trunc i8 %19 to i1 br i1 %20, label %bb13, label %bb4 bb6: ; preds = %cleanup %21 = load i8, i8* %_19, !range !2 %22 = trunc i8 %21 to i1 br i1 %22, label %bb14, label %bb5 bb7: ; preds = %start ret i16 %10 bb8: ; preds = %bb9, %bb1 %23 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %23 bb9: ; preds = %bb1 store i8 0, i8* %_14 br label %bb8 bb10: ; preds = %bb2 store i8 0, i8* %_15 br label %bb1 bb11: ; preds = %bb3 store i8 0, i8* %_16 br label %bb2 bb12: ; preds = %bb4 store i8 0, i8* %_17 br label %bb3 bb13: ; preds = %bb5 store i8 0, i8* %_18 br label %bb4 bb14: ; preds = %bb6 store i8 0, i8* %_19 br label %bb5 cleanup: ; preds = %start %24 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %24, { i8*, i32 }* %personalityslot br label %bb6 } ; Function Attrs: uwtable define internal i16 @"_ZN84_$LT$core..iter..Map$LT$I$C$$u20$F$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4fold28_$u7b$$u7b$closure$u7d$$u7d$17h403c2c18e2235242E"(%closure.9*, i16, %str_slice* noalias readonly dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_14 = alloca i8 %_13 = alloca i8 %_11 = alloca { %str_slice* } %_7 = alloca { i16, i16 } br label %start start: ; preds = %entry-block store i8 0, i8* %_14 store i8 0, i8* %_13 %3 = getelementptr inbounds %closure.9, %closure.9* %0, i32 0, i32 0 store i8 1, i8* %_13 %4 = getelementptr inbounds %closure.9, %closure.9* %0, i32 0, i32 1 %5 = getelementptr inbounds { %str_slice* }, { %str_slice* }* %_11, i32 0, i32 0 store %str_slice* %2, %str_slice** %5 %6 = getelementptr inbounds { %str_slice* }, { %str_slice* }* %_11, i32 0, i32 0 %7 = load %str_slice*, %str_slice** %6 %8 = invoke i16 @"_ZN4core3fmt9Arguments18estimated_capacity28_$u7b$$u7b$closure$u7d$$u7d$17ha784cc9d52a4e012E"(%closure.10* %4, %str_slice* noalias readonly dereferenceable(4) %7) to label %bb2 unwind label %cleanup bb1: ; preds = %bb5, %bb6 %9 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %9 bb2: ; preds = %start store i8 1, i8* %_14 store i8 0, i8* %_13 store i8 0, i8* %_14 %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_7, i32 0, i32 0 store i16 %1, i16* %10 %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_7, i32 0, i32 1 store i16 %8, i16* %11 %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_7, i32 0, i32 0 %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_7, i32 0, i32 1 %14 = load i16, i16* %12 %15 = load i16, i16* %13 %16 = invoke i16 @_ZN4core3ops5FnMut8call_mut17h71274dda050b61ebE({}* %3, i16 %14, i16 %15) to label %bb3 unwind label %cleanup1 bb3: ; preds = %bb2 ret i16 %16 bb4: ; preds = %cleanup1 %17 = load i8, i8* %_14, !range !2 %18 = trunc i8 %17 to i1 br i1 %18, label %bb7, label %bb6 bb5: ; preds = %bb6 store i8 0, i8* %_13 br label %bb1 bb6: ; preds = %bb7, %bb4, %cleanup %19 = load i8, i8* %_13, !range !2 %20 = trunc i8 %19 to i1 br i1 %20, label %bb5, label %bb1 bb7: ; preds = %bb4 store i8 0, i8* %_14 br label %bb6 cleanup: ; preds = %start %21 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %21, { i8*, i32 }* %personalityslot br label %bb6 cleanup1: ; preds = %bb2 %22 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %22, { i8*, i32 }* %personalityslot br label %bb4 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN81_$LT$core..iter..Enumerate$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h575afe8093a9dd38E"(%"option::Option<(usize, &u32)>"* noalias nocapture sret dereferenceable(4), %"iter::Enumerate>"* dereferenceable(6)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_5 = alloca %closure.16 %_3 = alloca i8* %self = alloca %"iter::Enumerate>"* br label %start start: ; preds = %entry-block store %"iter::Enumerate>"* %1, %"iter::Enumerate>"** %self %2 = load %"iter::Enumerate>"*, %"iter::Enumerate>"** %self, !nonnull !1 %3 = getelementptr inbounds %"iter::Enumerate>", %"iter::Enumerate>"* %2, i32 0, i32 0 %4 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hfd2871eaf71eec16E"(%"slice::Iter"* dereferenceable(4) %3) store i8* %4, i8** %_3 br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %closure.16, %closure.16* %_5, i32 0, i32 0 store %"iter::Enumerate>"** %self, %"iter::Enumerate>"*** %5 %6 = load i8*, i8** %_3 %7 = bitcast %closure.16* %_5 to i8** %8 = load i8*, i8** %7, align 2 invoke void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17h53e405fb21799629E"(%"option::Option<(usize, &u32)>"* noalias nocapture sret dereferenceable(4) %0, i8* %6, i8* %8) to label %bb3 unwind label %cleanup bb2: ; preds = %cleanup %9 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %9 bb3: ; preds = %bb1 ret void cleanup: ; preds = %bb1 %10 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %10, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN81_$LT$core..iter..Enumerate$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hde67f93aa32e4a27E"(%"option::Option<(usize, &u8)>"* noalias nocapture sret dereferenceable(4), %"iter::Enumerate>"* dereferenceable(6)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_5 = alloca %closure.17 %_3 = alloca i8* %self = alloca %"iter::Enumerate>"* br label %start start: ; preds = %entry-block store %"iter::Enumerate>"* %1, %"iter::Enumerate>"** %self %2 = load %"iter::Enumerate>"*, %"iter::Enumerate>"** %self, !nonnull !1 %3 = getelementptr inbounds %"iter::Enumerate>", %"iter::Enumerate>"* %2, i32 0, i32 0 %4 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %3) store i8* %4, i8** %_3 br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %closure.17, %closure.17* %_5, i32 0, i32 0 store %"iter::Enumerate>"** %self, %"iter::Enumerate>"*** %5 %6 = load i8*, i8** %_3 %7 = bitcast %closure.17* %_5 to i8** %8 = load i8*, i8** %7, align 2 invoke void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17hbd515c9e4f97c968E"(%"option::Option<(usize, &u8)>"* noalias nocapture sret dereferenceable(4) %0, i8* %6, i8* %8) to label %bb3 unwind label %cleanup bb2: ; preds = %cleanup %9 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %9 bb3: ; preds = %bb1 ret void cleanup: ; preds = %bb1 %10 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %10, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal void @"_ZN81_$LT$core..iter..Enumerate$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h9e4d543bd0007545E"({ i16, i32* }* noalias nocapture sret dereferenceable(4), i8*, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %ret = alloca { i16, i32* } %abi_cast = alloca i8* %arg0 = alloca %closure.16 store i8* %1, i8** %abi_cast %3 = bitcast %closure.16* %arg0 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_9 %5 = getelementptr inbounds %closure.16, %closure.16* %arg0, i32 0, i32 0 %6 = load %"iter::Enumerate>"**, %"iter::Enumerate>"*** %5, !nonnull !1 %7 = load %"iter::Enumerate>"*, %"iter::Enumerate>"** %6, !nonnull !1 %8 = getelementptr inbounds %"iter::Enumerate>", %"iter::Enumerate>"* %7, i32 0, i32 1 %9 = load i16, i16* %8 store i8 1, i8* %_9 %10 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %ret, i32 0, i32 0 store i16 %9, i16* %10 %11 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %ret, i32 0, i32 1 store i32* %2, i32** %11 %12 = getelementptr inbounds %closure.16, %closure.16* %arg0, i32 0, i32 0 %13 = load %"iter::Enumerate>"**, %"iter::Enumerate>"*** %12, !nonnull !1 %14 = load %"iter::Enumerate>"*, %"iter::Enumerate>"** %13, !nonnull !1 %15 = getelementptr inbounds %"iter::Enumerate>", %"iter::Enumerate>"* %14, i32 0, i32 1 %16 = load i16, i16* %15 %17 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %16, i16 1) %18 = extractvalue { i16, i1 } %17, 0 %19 = extractvalue { i16, i1 } %17, 1 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic, label %bb3 bb1: ; preds = %bb4, %bb2 %21 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %21 bb2: ; preds = %cleanup %22 = load i8, i8* %_9, !range !2 %23 = trunc i8 %22 to i1 br i1 %23, label %bb4, label %bb1 bb3: ; preds = %start %24 = getelementptr inbounds %closure.16, %closure.16* %arg0, i32 0, i32 0 %25 = load %"iter::Enumerate>"**, %"iter::Enumerate>"*** %24, !nonnull !1 %26 = load %"iter::Enumerate>"*, %"iter::Enumerate>"** %25, !nonnull !1 %27 = getelementptr inbounds %"iter::Enumerate>", %"iter::Enumerate>"* %26, i32 0, i32 1 store i16 %18, i16* %27 store i8 0, i8* %_9 %28 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %ret, i32 0, i32 0 %29 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %ret, i32 0, i32 1 %30 = load i16, i16* %28 %31 = load i32*, i32** %29, !nonnull !1 %32 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %0, i32 0, i32 0 store i16 %30, i16* %32 %33 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %0, i32 0, i32 1 store i32* %31, i32** %33 ret void bb4: ; preds = %bb2 store i8 0, i8* %_9 br label %bb1 panic: ; preds = %start invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6t) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %panic %34 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %34, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal void @"_ZN81_$LT$core..iter..Enumerate$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17hb717edf402c4f007E"({ i16, i8* }* noalias nocapture sret dereferenceable(4), i8*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %ret = alloca { i16, i8* } %abi_cast = alloca i8* %arg0 = alloca %closure.17 store i8* %1, i8** %abi_cast %3 = bitcast %closure.17* %arg0 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_9 %5 = getelementptr inbounds %closure.17, %closure.17* %arg0, i32 0, i32 0 %6 = load %"iter::Enumerate>"**, %"iter::Enumerate>"*** %5, !nonnull !1 %7 = load %"iter::Enumerate>"*, %"iter::Enumerate>"** %6, !nonnull !1 %8 = getelementptr inbounds %"iter::Enumerate>", %"iter::Enumerate>"* %7, i32 0, i32 1 %9 = load i16, i16* %8 store i8 1, i8* %_9 %10 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %ret, i32 0, i32 0 store i16 %9, i16* %10 %11 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %ret, i32 0, i32 1 store i8* %2, i8** %11 %12 = getelementptr inbounds %closure.17, %closure.17* %arg0, i32 0, i32 0 %13 = load %"iter::Enumerate>"**, %"iter::Enumerate>"*** %12, !nonnull !1 %14 = load %"iter::Enumerate>"*, %"iter::Enumerate>"** %13, !nonnull !1 %15 = getelementptr inbounds %"iter::Enumerate>", %"iter::Enumerate>"* %14, i32 0, i32 1 %16 = load i16, i16* %15 %17 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %16, i16 1) %18 = extractvalue { i16, i1 } %17, 0 %19 = extractvalue { i16, i1 } %17, 1 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic, label %bb3 bb1: ; preds = %bb4, %bb2 %21 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %21 bb2: ; preds = %cleanup %22 = load i8, i8* %_9, !range !2 %23 = trunc i8 %22 to i1 br i1 %23, label %bb4, label %bb1 bb3: ; preds = %start %24 = getelementptr inbounds %closure.17, %closure.17* %arg0, i32 0, i32 0 %25 = load %"iter::Enumerate>"**, %"iter::Enumerate>"*** %24, !nonnull !1 %26 = load %"iter::Enumerate>"*, %"iter::Enumerate>"** %25, !nonnull !1 %27 = getelementptr inbounds %"iter::Enumerate>", %"iter::Enumerate>"* %26, i32 0, i32 1 store i16 %18, i16* %27 store i8 0, i8* %_9 %28 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %ret, i32 0, i32 0 %29 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %ret, i32 0, i32 1 %30 = load i16, i16* %28 %31 = load i8*, i8** %29, !nonnull !1 %32 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %0, i32 0, i32 0 store i16 %30, i16* %32 %33 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %0, i32 0, i32 1 store i8* %31, i8** %33 ret void bb4: ; preds = %bb2 store i8 0, i8* %_9 br label %bb1 panic: ; preds = %start invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6t) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %panic %34 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %34, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h072bbb4d1842cd03E"(%"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* dereferenceable(8)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_6 = alloca %closure.18 %_4 = alloca i8* %self = alloca %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %_0 = alloca i8* br label %start start: ; preds = %entry-block store %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %0, %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"** %self %1 = load %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"*, %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"** %self, !nonnull !1 %2 = getelementptr inbounds %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %1, i32 0, i32 1 %3 = load i8, i8* %2, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start store i8* null, i8** %_0 br label %bb6 bb2: ; preds = %start %5 = load %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"*, %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"** %self, !nonnull !1 %6 = getelementptr inbounds %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %5, i32 0, i32 0 %7 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd30c2d451b3657a3E"(%"iter::Rev>"* dereferenceable(4) %6) store i8* %7, i8** %_4 br label %bb3 bb3: ; preds = %bb2 %8 = getelementptr inbounds %closure.18, %closure.18* %_6, i32 0, i32 0 store %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"** %self, %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"*** %8 %9 = load i8*, i8** %_4 %10 = bitcast %closure.18* %_6 to i8** %11 = load i8*, i8** %10, align 2 %12 = invoke i8* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h648116b1853d5a63E"(i8* %9, i8* %11) to label %bb5 unwind label %cleanup bb4: ; preds = %cleanup %13 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %13 bb5: ; preds = %bb3 store i8* %12, i8** %_0 br label %bb6 bb6: ; preds = %bb5, %bb1 %14 = load i8*, i8** %_0 ret i8* %14 cleanup: ; preds = %bb3 %15 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %15, { i8*, i32 }* %personalityslot br label %bb4 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h34c43249a893f689E"(%"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* dereferenceable(8)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_6 = alloca %closure.20 %_4 = alloca i8* %self = alloca %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %_0 = alloca i8* br label %start start: ; preds = %entry-block store %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %0, %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"** %self %1 = load %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"*, %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"** %self, !nonnull !1 %2 = getelementptr inbounds %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %1, i32 0, i32 1 %3 = load i8, i8* %2, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start store i8* null, i8** %_0 br label %bb6 bb2: ; preds = %start %5 = load %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"*, %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"** %self, !nonnull !1 %6 = getelementptr inbounds %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %5, i32 0, i32 0 %7 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %6) store i8* %7, i8** %_4 br label %bb3 bb3: ; preds = %bb2 %8 = getelementptr inbounds %closure.20, %closure.20* %_6, i32 0, i32 0 store %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"** %self, %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"*** %8 %9 = load i8*, i8** %_4 %10 = bitcast %closure.20* %_6 to i8** %11 = load i8*, i8** %10, align 2 %12 = invoke i8* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17he7999756211e692fE"(i8* %9, i8* %11) to label %bb5 unwind label %cleanup bb4: ; preds = %cleanup %13 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %13 bb5: ; preds = %bb3 store i8* %12, i8** %_0 br label %bb6 bb6: ; preds = %bb5, %bb1 %14 = load i8*, i8** %_0 ret i8* %14 cleanup: ; preds = %bb3 %15 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %15, { i8*, i32 }* %personalityslot br label %bb4 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h83a0dfc7254977f6E"(%"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* dereferenceable(6)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_6 = alloca %closure.21 %_4 = alloca i8* %self = alloca %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %_0 = alloca i8* br label %start start: ; preds = %entry-block store %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %0, %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"** %self %1 = load %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"*, %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"** %self, !nonnull !1 %2 = getelementptr inbounds %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>", %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %1, i32 0, i32 1 %3 = load i8, i8* %2, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start store i8* null, i8** %_0 br label %bb6 bb2: ; preds = %start %5 = load %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"*, %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"** %self, !nonnull !1 %6 = getelementptr inbounds %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>", %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %5, i32 0, i32 0 %7 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd30c2d451b3657a3E"(%"iter::Rev>"* dereferenceable(4) %6) store i8* %7, i8** %_4 br label %bb3 bb3: ; preds = %bb2 %8 = getelementptr inbounds %closure.21, %closure.21* %_6, i32 0, i32 0 store %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"** %self, %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"*** %8 %9 = load i8*, i8** %_4 %10 = bitcast %closure.21* %_6 to i8** %11 = load i8*, i8** %10, align 2 %12 = invoke i8* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17hf6f08d2d05b9129eE"(i8* %9, i8* %11) to label %bb5 unwind label %cleanup bb4: ; preds = %cleanup %13 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %13 bb5: ; preds = %bb3 store i8* %12, i8** %_0 br label %bb6 bb6: ; preds = %bb5, %bb1 %14 = load i8*, i8** %_0 ret i8* %14 cleanup: ; preds = %bb3 %15 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %15, { i8*, i32 }* %personalityslot br label %bb4 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hab56c9e2c62d8ccfE"(%"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* dereferenceable(6)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_6 = alloca %closure.19 %_4 = alloca i8* %self = alloca %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %_0 = alloca i8* br label %start start: ; preds = %entry-block store %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %0, %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"** %self %1 = load %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"*, %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"** %self, !nonnull !1 %2 = getelementptr inbounds %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>", %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %1, i32 0, i32 1 %3 = load i8, i8* %2, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start store i8* null, i8** %_0 br label %bb6 bb2: ; preds = %start %5 = load %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"*, %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"** %self, !nonnull !1 %6 = getelementptr inbounds %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>", %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %5, i32 0, i32 0 %7 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb51c237952e7bfd0E"(%"iter::Rev>"* dereferenceable(4) %6) store i8* %7, i8** %_4 br label %bb3 bb3: ; preds = %bb2 %8 = getelementptr inbounds %closure.19, %closure.19* %_6, i32 0, i32 0 store %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"** %self, %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"*** %8 %9 = load i8*, i8** %_4 %10 = bitcast %closure.19* %_6 to i8** %11 = load i8*, i8** %10, align 2 %12 = invoke i8* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h29526071cb2e4a18E"(i8* %9, i8* %11) to label %bb5 unwind label %cleanup bb4: ; preds = %cleanup %13 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %13 bb5: ; preds = %bb3 store i8* %12, i8** %_0 br label %bb6 bb6: ; preds = %bb5, %bb1 %14 = load i8*, i8** %_0 ret i8* %14 cleanup: ; preds = %bb3 %15 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %15, { i8*, i32 }* %personalityslot br label %bb4 } ; Function Attrs: uwtable define internal i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h86a23d98885caac9E"(i8*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_10 = alloca i8 %_6 = alloca { i8** } %x = alloca i8* %_0 = alloca i8* %abi_cast = alloca i8* %arg0 = alloca %closure.18 store i8* %0, i8** %abi_cast %2 = bitcast %closure.18* %arg0 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_10 store i8 1, i8* %_10 store i8* %1, i8** %x %4 = getelementptr inbounds %closure.18, %closure.18* %arg0, i32 0, i32 0 %5 = load %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"**, %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"*** %4, !nonnull !1 %6 = load %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"*, %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"** %5, !nonnull !1 %7 = getelementptr inbounds %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %6, i32 0, i32 2 %8 = getelementptr inbounds { i8** }, { i8** }* %_6, i32 0, i32 0 store i8** %x, i8*** %8 %9 = getelementptr inbounds { i8** }, { i8** }* %_6, i32 0, i32 0 %10 = load i8**, i8*** %9 %11 = invoke zeroext i1 @"_ZN4core3ops5impls72_$LT$impl$u20$core..ops..FnMut$LT$A$GT$$u20$for$u20$$RF$$u27$a$u20$F$GT$8call_mut17h8babba06bf03b1caE"(%closure.0** dereferenceable(2) %7, i8** noalias readonly dereferenceable(2) %10) to label %bb2 unwind label %cleanup bb1: ; preds = %bb7, %bb8 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %start br i1 %11, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 0, i8* %_10 %13 = load i8*, i8** %x, !nonnull !1 store i8* %13, i8** %_0 br label %bb5 bb4: ; preds = %bb2 %14 = getelementptr inbounds %closure.18, %closure.18* %arg0, i32 0, i32 0 %15 = load %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"**, %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"*** %14, !nonnull !1 %16 = load %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"*, %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"** %15, !nonnull !1 %17 = getelementptr inbounds %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile>, &num::dec2flt::simplify::{{closure}}>"* %16, i32 0, i32 1 store i8 1, i8* %17 store i8* null, i8** %_0 br label %bb5 bb5: ; preds = %bb4, %bb3 %18 = load i8, i8* %_10, !range !2 %19 = trunc i8 %18 to i1 br i1 %19, label %bb9, label %bb6 bb6: ; preds = %bb9, %bb5 %20 = load i8*, i8** %_0 ret i8* %20 bb7: ; preds = %bb8 store i8 0, i8* %_10 br label %bb1 bb8: ; preds = %cleanup %21 = load i8, i8* %_10, !range !2 %22 = trunc i8 %21 to i1 br i1 %22, label %bb7, label %bb1 bb9: ; preds = %bb5 store i8 0, i8* %_10 br label %bb6 cleanup: ; preds = %start %23 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %23, { i8*, i32 }* %personalityslot br label %bb8 } ; Function Attrs: uwtable define internal i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17ha1be240abd0a4f1bE"(i8*, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_10 = alloca i8 %_6 = alloca { i32** } %x = alloca i32* %_0 = alloca i8* %abi_cast = alloca i8* %arg0 = alloca %closure.19 store i8* %0, i8** %abi_cast %2 = bitcast %closure.19* %arg0 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_10 store i8 1, i8* %_10 store i32* %1, i32** %x %4 = getelementptr inbounds %closure.19, %closure.19* %arg0, i32 0, i32 0 %5 = load %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"**, %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"*** %4, !nonnull !1 %6 = load %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"*, %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"** %5, !nonnull !1 %7 = getelementptr inbounds %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>", %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %6, i32 0, i32 2 %8 = getelementptr inbounds { i32** }, { i32** }* %_6, i32 0, i32 0 store i32** %x, i32*** %8 %9 = getelementptr inbounds { i32** }, { i32** }* %_6, i32 0, i32 0 %10 = load i32**, i32*** %9 %11 = invoke zeroext i1 @"_ZN4core3num6bignum8Big32x4010bit_length28_$u7b$$u7b$closure$u7d$$u7d$17hccfe50337547575fE"(%closure.2* %7, i32** noalias readonly dereferenceable(2) %10) to label %bb2 unwind label %cleanup bb1: ; preds = %bb7, %bb8 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %start br i1 %11, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 0, i8* %_10 %13 = load i32*, i32** %x, !nonnull !1 %14 = bitcast i8** %_0 to i32** store i32* %13, i32** %14 br label %bb5 bb4: ; preds = %bb2 %15 = getelementptr inbounds %closure.19, %closure.19* %arg0, i32 0, i32 0 %16 = load %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"**, %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"*** %15, !nonnull !1 %17 = load %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"*, %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"** %16, !nonnull !1 %18 = getelementptr inbounds %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>", %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* %17, i32 0, i32 1 store i8 1, i8* %18 store i8* null, i8** %_0 br label %bb5 bb5: ; preds = %bb4, %bb3 %19 = load i8, i8* %_10, !range !2 %20 = trunc i8 %19 to i1 br i1 %20, label %bb9, label %bb6 bb6: ; preds = %bb9, %bb5 %21 = load i8*, i8** %_0 ret i8* %21 bb7: ; preds = %bb8 store i8 0, i8* %_10 br label %bb1 bb8: ; preds = %cleanup %22 = load i8, i8* %_10, !range !2 %23 = trunc i8 %22 to i1 br i1 %23, label %bb7, label %bb1 bb9: ; preds = %bb5 store i8 0, i8* %_10 br label %bb6 cleanup: ; preds = %start %24 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %24, { i8*, i32 }* %personalityslot br label %bb8 } ; Function Attrs: uwtable define internal i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17hb28e532cb0b2b7efE"(i8*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_10 = alloca i8 %_6 = alloca { i8** } %x = alloca i8* %_0 = alloca i8* %abi_cast = alloca i8* %arg0 = alloca %closure.20 store i8* %0, i8** %abi_cast %2 = bitcast %closure.20* %arg0 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_10 store i8 1, i8* %_10 store i8* %1, i8** %x %4 = getelementptr inbounds %closure.20, %closure.20* %arg0, i32 0, i32 0 %5 = load %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"**, %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"*** %4, !nonnull !1 %6 = load %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"*, %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"** %5, !nonnull !1 %7 = getelementptr inbounds %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %6, i32 0, i32 2 %8 = getelementptr inbounds { i8** }, { i8** }* %_6, i32 0, i32 0 store i8** %x, i8*** %8 %9 = getelementptr inbounds { i8** }, { i8** }* %_6, i32 0, i32 0 %10 = load i8**, i8*** %9 %11 = invoke zeroext i1 @"_ZN4core3ops5impls72_$LT$impl$u20$core..ops..FnMut$LT$A$GT$$u20$for$u20$$RF$$u27$a$u20$F$GT$8call_mut17h8babba06bf03b1caE"(%closure.0** dereferenceable(2) %7, i8** noalias readonly dereferenceable(2) %10) to label %bb2 unwind label %cleanup bb1: ; preds = %bb7, %bb8 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %start br i1 %11, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 0, i8* %_10 %13 = load i8*, i8** %x, !nonnull !1 store i8* %13, i8** %_0 br label %bb5 bb4: ; preds = %bb2 %14 = getelementptr inbounds %closure.20, %closure.20* %arg0, i32 0, i32 0 %15 = load %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"**, %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"*** %14, !nonnull !1 %16 = load %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"*, %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"** %15, !nonnull !1 %17 = getelementptr inbounds %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>", %"iter::TakeWhile, &num::dec2flt::simplify::{{closure}}>"* %16, i32 0, i32 1 store i8 1, i8* %17 store i8* null, i8** %_0 br label %bb5 bb5: ; preds = %bb4, %bb3 %18 = load i8, i8* %_10, !range !2 %19 = trunc i8 %18 to i1 br i1 %19, label %bb9, label %bb6 bb6: ; preds = %bb9, %bb5 %20 = load i8*, i8** %_0 ret i8* %20 bb7: ; preds = %bb8 store i8 0, i8* %_10 br label %bb1 bb8: ; preds = %cleanup %21 = load i8, i8* %_10, !range !2 %22 = trunc i8 %21 to i1 br i1 %22, label %bb7, label %bb1 bb9: ; preds = %bb5 store i8 0, i8* %_10 br label %bb6 cleanup: ; preds = %start %23 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %23, { i8*, i32 }* %personalityslot br label %bb8 } ; Function Attrs: uwtable define internal i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17hbd14f168657374acE"(i8*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_10 = alloca i8 %_6 = alloca { i8** } %x = alloca i8* %_0 = alloca i8* %abi_cast = alloca i8* %arg0 = alloca %closure.21 store i8* %0, i8** %abi_cast %2 = bitcast %closure.21* %arg0 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_10 store i8 1, i8* %_10 store i8* %1, i8** %x %4 = getelementptr inbounds %closure.21, %closure.21* %arg0, i32 0, i32 0 %5 = load %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"**, %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"*** %4, !nonnull !1 %6 = load %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"*, %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"** %5, !nonnull !1 %7 = getelementptr inbounds %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>", %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %6, i32 0, i32 2 %8 = getelementptr inbounds { i8** }, { i8** }* %_6, i32 0, i32 0 store i8** %x, i8*** %8 %9 = getelementptr inbounds { i8** }, { i8** }* %_6, i32 0, i32 0 %10 = load i8**, i8*** %9 %11 = invoke zeroext i1 @"_ZN4core3num6bignum5tests6Big8x310bit_length28_$u7b$$u7b$closure$u7d$$u7d$17h493e04441a812138E"(%closure.1* %7, i8** noalias readonly dereferenceable(2) %10) to label %bb2 unwind label %cleanup bb1: ; preds = %bb7, %bb8 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %start br i1 %11, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 0, i8* %_10 %13 = load i8*, i8** %x, !nonnull !1 store i8* %13, i8** %_0 br label %bb5 bb4: ; preds = %bb2 %14 = getelementptr inbounds %closure.21, %closure.21* %arg0, i32 0, i32 0 %15 = load %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"**, %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"*** %14, !nonnull !1 %16 = load %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"*, %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"** %15, !nonnull !1 %17 = getelementptr inbounds %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>", %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* %16, i32 0, i32 1 store i8 1, i8* %17 store i8* null, i8** %_0 br label %bb5 bb5: ; preds = %bb4, %bb3 %18 = load i8, i8* %_10, !range !2 %19 = trunc i8 %18 to i1 br i1 %19, label %bb9, label %bb6 bb6: ; preds = %bb9, %bb5 %20 = load i8*, i8** %_0 ret i8* %20 bb7: ; preds = %bb8 store i8 0, i8* %_10 br label %bb1 bb8: ; preds = %cleanup %21 = load i8, i8* %_10, !range !2 %22 = trunc i8 %21 to i1 br i1 %22, label %bb7, label %bb1 bb9: ; preds = %bb5 store i8 0, i8* %_10 br label %bb6 cleanup: ; preds = %start %23 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %23, { i8*, i32 }* %personalityslot br label %bb8 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN76_$LT$core..iter..Skip$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hfa9df69a1af16685E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(12), %"iter::Skip"* dereferenceable(8)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"iter::Skip", %"iter::Skip"* %1, i32 0, i32 1 %3 = load i16, i16* %2 %4 = icmp eq i16 %3, 0 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start %5 = getelementptr inbounds %"iter::Skip", %"iter::Skip"* %1, i32 0, i32 0 call void @"_ZN87_$LT$core..str..CharIndices$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf91c97e87b0f9834E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(12) %0, %"str::CharIndices"* dereferenceable(6) %5) br label %bb3 bb2: ; preds = %start %6 = getelementptr inbounds %"iter::Skip", %"iter::Skip"* %1, i32 0, i32 1 %7 = load i16, i16* %6 %8 = getelementptr inbounds %"iter::Skip", %"iter::Skip"* %1, i32 0, i32 1 store i16 0, i16* %8 %9 = getelementptr inbounds %"iter::Skip", %"iter::Skip"* %1, i32 0, i32 0 call void @_ZN4core4iter8iterator8Iterator3nth17ha775551373706b57E(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(12) %0, %"str::CharIndices"* dereferenceable(6) %9, i16 %7) br label %bb4 bb3: ; preds = %bb1 br label %bb5 bb4: ; preds = %bb2 br label %bb5 bb5: ; preds = %bb4, %bb3 ret void } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_some17ha1044380a67bd471E"(%"option::Option"* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %_0 = alloca i8 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 %2 = load i16, i16* %1, !range !3 switch i16 %2, label %bb1 [ i16 0, label %bb2 ] bb1: ; preds = %start store i8 1, i8* %_0 br label %bb3 bb2: ; preds = %start store i8 0, i8* %_0 br label %bb3 bb3: ; preds = %bb2, %bb1 %3 = load i8, i8* %_0, !range !2 %4 = trunc i8 %3 to i1 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_some17he122cfca64bbac8eE"(%"option::Option"* noalias readonly dereferenceable(16)) unnamed_addr #0 { entry-block: %_0 = alloca i8 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 %2 = load i64, i64* %1, !range !8 %3 = trunc i64 %2 to i16 switch i16 %3, label %bb1 [ i16 0, label %bb2 ] bb1: ; preds = %start store i8 1, i8* %_0 br label %bb3 bb2: ; preds = %start store i8 0, i8* %_0 br label %bb3 bb3: ; preds = %bb2, %bb1 %4 = load i8, i8* %_0, !range !2 %5 = trunc i8 %4 to i1 ret i1 %5 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_none17hc5036bfa626c155eE"(%"option::Option"* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_some17ha1044380a67bd471E"(%"option::Option"* noalias readonly dereferenceable(4) %0) br label %bb1 bb1: ; preds = %start %2 = xor i1 %1, true ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal dereferenceable(4) %"fmt::ArgumentV1"* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h16374f64002b28d9E"(i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %self = alloca i8* %arg0 = alloca i8* store i8* %0, i8** %arg0 br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 %1 = bitcast i8** %arg0 to i8* %2 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 2, i32 2, i1 false) %3 = load i8*, i8** %self %4 = icmp ne i8* %3, null %5 = zext i1 %4 to i16 switch i16 %5, label %bb4 [ i16 0, label %bb3 ] bb1: ; preds = %bb8, %bb7, %bb6 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %cleanup %7 = load i8*, i8** %self %8 = icmp ne i8* %7, null %9 = zext i1 %8 to i16 switch i16 %9, label %bb6 [ i16 1, label %bb7 ] bb3: ; preds = %start invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap14_MSG_FILE_LINE17he486b23078a63573E") to label %unreachable unwind label %cleanup bb4: ; preds = %start store i8 0, i8* %_8 %10 = bitcast i8** %self to %"fmt::ArgumentV1"** %11 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %10, !nonnull !1 %12 = load i8*, i8** %self %13 = icmp ne i8* %12, null %14 = zext i1 %13 to i16 switch i16 %14, label %bb9 [ i16 1, label %bb5 ] bb5: ; preds = %bb9, %bb4 ret %"fmt::ArgumentV1"* %11 bb6: ; preds = %bb2 br label %bb1 bb7: ; preds = %bb2 %15 = load i8, i8* %_8, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb8, label %bb1 bb8: ; preds = %bb7 store i8 0, i8* %_8 br label %bb1 bb9: ; preds = %bb4 br label %bb5 unreachable: ; preds = %bb3 unreachable cleanup: ; preds = %bb3 %17 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %17, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: inlinehint uwtable define internal dereferenceable(1) i8* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h1adfe9c72fa4b2a3E"(i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %self = alloca i8* %arg0 = alloca i8* store i8* %0, i8** %arg0 br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 %1 = bitcast i8** %arg0 to i8* %2 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 2, i32 2, i1 false) %3 = load i8*, i8** %self %4 = icmp ne i8* %3, null %5 = zext i1 %4 to i16 switch i16 %5, label %bb4 [ i16 0, label %bb3 ] bb1: ; preds = %bb8, %bb7, %bb6 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %cleanup %7 = load i8*, i8** %self %8 = icmp ne i8* %7, null %9 = zext i1 %8 to i16 switch i16 %9, label %bb6 [ i16 1, label %bb7 ] bb3: ; preds = %start invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap14_MSG_FILE_LINE17he486b23078a63573E") to label %unreachable unwind label %cleanup bb4: ; preds = %start store i8 0, i8* %_8 %10 = load i8*, i8** %self, !nonnull !1 %11 = load i8*, i8** %self %12 = icmp ne i8* %11, null %13 = zext i1 %12 to i16 switch i16 %13, label %bb9 [ i16 1, label %bb5 ] bb5: ; preds = %bb9, %bb4 ret i8* %10 bb6: ; preds = %bb2 br label %bb1 bb7: ; preds = %bb2 %14 = load i8, i8* %_8, !range !2 %15 = trunc i8 %14 to i1 br i1 %15, label %bb8, label %bb1 bb8: ; preds = %bb7 store i8 0, i8* %_8 br label %bb1 bb9: ; preds = %bb4 br label %bb5 unreachable: ; preds = %bb3 unreachable cleanup: ; preds = %bb3 %16 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %16, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h1cd12ffb1f324429E"(%"option::Option"* noalias nocapture dereferenceable(8)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %self = alloca %"option::Option" br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 %1 = bitcast %"option::Option"* %0 to i8* %2 = bitcast %"option::Option"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 8, i32 4, i1 false) %3 = getelementptr inbounds %"option::Option", %"option::Option"* %self, i32 0, i32 0 %4 = load i32, i32* %3, !range !9 %5 = trunc i32 %4 to i16 switch i16 %5, label %bb4 [ i16 0, label %bb3 ] bb1: ; preds = %bb8, %bb7, %bb6 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %cleanup %7 = getelementptr inbounds %"option::Option", %"option::Option"* %self, i32 0, i32 0 %8 = load i32, i32* %7, !range !9 %9 = trunc i32 %8 to i16 switch i16 %9, label %bb6 [ i16 1, label %bb7 ] bb3: ; preds = %start invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap14_MSG_FILE_LINE17he486b23078a63573E") to label %unreachable unwind label %cleanup bb4: ; preds = %start store i8 0, i8* %_8 %10 = bitcast %"option::Option"* %self to { i32, i32 }* %11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 %12 = load i32, i32* %11, !range !11 %13 = getelementptr inbounds %"option::Option", %"option::Option"* %self, i32 0, i32 0 %14 = load i32, i32* %13, !range !9 %15 = trunc i32 %14 to i16 switch i16 %15, label %bb9 [ i16 1, label %bb5 ] bb5: ; preds = %bb9, %bb4 ret i32 %12 bb6: ; preds = %bb2 br label %bb1 bb7: ; preds = %bb2 %16 = load i8, i8* %_8, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb8, label %bb1 bb8: ; preds = %bb7 store i8 0, i8* %_8 br label %bb1 bb9: ; preds = %bb4 br label %bb5 unreachable: ; preds = %bb3 unreachable cleanup: ; preds = %bb3 %18 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %18, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h7d09dd2549701e51E"(i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %self = alloca %"option::Option" %abi_cast = alloca i16 %arg0 = alloca %"option::Option" store i16 %0, i16* %abi_cast %1 = bitcast %"option::Option"* %arg0 to i8* %2 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %1, i8* %2, i16 2, i32 1, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 %3 = bitcast %"option::Option"* %arg0 to i8* %4 = bitcast %"option::Option"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 2, i32 1, i1 false) %5 = getelementptr inbounds %"option::Option", %"option::Option"* %self, i32 0, i32 0 %6 = load i8, i8* %5, !range !2 %7 = zext i8 %6 to i16 switch i16 %7, label %bb4 [ i16 0, label %bb3 ] bb1: ; preds = %bb8, %bb7, %bb6 %8 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %8 bb2: ; preds = %cleanup %9 = getelementptr inbounds %"option::Option", %"option::Option"* %self, i32 0, i32 0 %10 = load i8, i8* %9, !range !2 %11 = zext i8 %10 to i16 switch i16 %11, label %bb6 [ i16 1, label %bb7 ] bb3: ; preds = %start invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap14_MSG_FILE_LINE17he486b23078a63573E") to label %unreachable unwind label %cleanup bb4: ; preds = %start store i8 0, i8* %_8 %12 = bitcast %"option::Option"* %self to { i8, i8 }* %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %12, i32 0, i32 1 %14 = load i8, i8* %13 %15 = getelementptr inbounds %"option::Option", %"option::Option"* %self, i32 0, i32 0 %16 = load i8, i8* %15, !range !2 %17 = zext i8 %16 to i16 switch i16 %17, label %bb9 [ i16 1, label %bb5 ] bb5: ; preds = %bb9, %bb4 ret i8 %14 bb6: ; preds = %bb2 br label %bb1 bb7: ; preds = %bb2 %18 = load i8, i8* %_8, !range !2 %19 = trunc i8 %18 to i1 br i1 %19, label %bb8, label %bb1 bb8: ; preds = %bb7 store i8 0, i8* %_8 br label %bb1 bb9: ; preds = %bb4 br label %bb5 unreachable: ; preds = %bb3 unreachable cleanup: ; preds = %bb3 %20 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %20, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: inlinehint uwtable define internal %str_slice @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$14unwrap_or_else17haee789aa400378daE"(%"option::Option<&str>"* noalias nocapture dereferenceable(4), %closure.22* noalias nocapture dereferenceable(6)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_10 = alloca i8 %_9 = alloca {} %_8 = alloca %closure.22 %f = alloca %closure.22 %self = alloca %"option::Option<&str>" %_0 = alloca %str_slice br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_10 store i8 1, i8* %_10 %2 = bitcast %"option::Option<&str>"* %0 to i8* %3 = bitcast %"option::Option<&str>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) store i8 1, i8* %_11 %4 = bitcast %closure.22* %1 to i8* %5 = bitcast %closure.22* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 6, i32 2, i1 false) %6 = getelementptr inbounds %"option::Option<&str>", %"option::Option<&str>"* %self, i32 0, i32 0, i32 0 %7 = load i8*, i8** %6 %8 = icmp ne i8* %7, null %9 = zext i1 %8 to i16 switch i16 %9, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %10 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %10 bb2: ; preds = %bb13, %bb3 %11 = getelementptr inbounds %"option::Option<&str>", %"option::Option<&str>"* %self, i32 0, i32 0, i32 0 %12 = load i8*, i8** %11 %13 = icmp ne i8* %12, null %14 = zext i1 %13 to i16 switch i16 %14, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %15 = load i8, i8* %_11, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb13, label %bb2 bb4: ; preds = %start store i8 0, i8* %_11 %17 = bitcast %closure.22* %f to i8* %18 = bitcast %closure.22* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %17, i16 6, i32 2, i1 false) %19 = invoke %str_slice @"_ZN4core3str6traits94_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..Range$LT$usize$GT$$GT$5index28_$u7b$$u7b$closure$u7d$$u7d$17h96c198f83a2dda87E"(%closure.22* noalias nocapture dereferenceable(6) %_8) to label %bb7 unwind label %cleanup bb5: ; preds = %start store i8 0, i8* %_10 %20 = getelementptr inbounds %"option::Option<&str>", %"option::Option<&str>"* %self, i32 0, i32 0 %21 = getelementptr inbounds %str_slice, %str_slice* %20, i32 0, i32 0 %22 = load i8*, i8** %21, !nonnull !1 %23 = getelementptr inbounds %str_slice, %str_slice* %20, i32 0, i32 1 %24 = load i16, i16* %23 %25 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 store i8* %22, i8** %25 %26 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 store i16 %24, i16* %26 br label %bb6 bb6: ; preds = %bb7, %bb5 %27 = load i8, i8* %_11, !range !2 %28 = trunc i8 %27 to i1 br i1 %28, label %bb14, label %bb8 bb7: ; preds = %bb4 store %str_slice %19, %str_slice* %_0 br label %bb6 bb8: ; preds = %bb14, %bb6 %29 = getelementptr inbounds %"option::Option<&str>", %"option::Option<&str>"* %self, i32 0, i32 0, i32 0 %30 = load i8*, i8** %29 %31 = icmp ne i8* %30, null %32 = zext i1 %31 to i16 switch i16 %32, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 %33 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 %34 = load i8*, i8** %33, !nonnull !1 %35 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 %36 = load i16, i16* %35 %37 = insertvalue %str_slice undef, i8* %34, 0 %38 = insertvalue %str_slice %37, i16 %36, 1 ret %str_slice %38 bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %39 = load i8, i8* %_10, !range !2 %40 = trunc i8 %39 to i1 br i1 %40, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_10 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_11 br label %bb2 bb14: ; preds = %bb6 store i8 0, i8* %_11 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %41 = load i8, i8* %_10, !range !2 %42 = trunc i8 %41 to i1 br i1 %42, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_10 br label %bb9 cleanup: ; preds = %bb4 %43 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %43, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17h161dbd57218d2167E"(i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_12 = alloca i8 %_11 = alloca i8 %_9 = alloca { i8* } %self = alloca i8* %_0 = alloca %"option::Option" %arg0 = alloca i8* store i8* %0, i8** %arg0 br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_12 store i8 1, i8* %_11 %1 = bitcast i8** %arg0 to i8* %2 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 2, i32 2, i1 false) store i8 1, i8* %_12 %3 = load i8*, i8** %self %4 = icmp ne i8* %3, null %5 = zext i1 %4 to i16 switch i16 %5, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %bb13, %bb3 %7 = load i8*, i8** %self %8 = icmp ne i8* %7, null %9 = zext i1 %8 to i16 switch i16 %9, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %10 = load i8, i8* %_12, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb13, label %bb2 bb4: ; preds = %start %12 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 0, i8* %12 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_11 %13 = load i8*, i8** %self, !nonnull !1 store i8 0, i8* %_12 %14 = getelementptr inbounds { i8* }, { i8* }* %_9, i32 0, i32 0 store i8* %13, i8** %14 %15 = getelementptr inbounds { i8* }, { i8* }* %_9, i32 0, i32 0 %16 = load i8*, i8** %15 %17 = invoke i8 @"_ZN53_$LT$core..option..Option$LT$$RF$$u27$a$u20$T$GT$$GT$6cloned28_$u7b$$u7b$closure$u7d$$u7d$17h4799c9c74e24f30eE"(i8* noalias readonly dereferenceable(1) %16) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %18 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %18 %19 = bitcast %"option::Option"* %_0 to { i8, i8 }* %20 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %19, i32 0, i32 1 store i8 %17, i8* %20 br label %bb7 bb7: ; preds = %bb4, %bb6 %21 = load i8, i8* %_12, !range !2 %22 = trunc i8 %21 to i1 br i1 %22, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %23 = load i8*, i8** %self %24 = icmp ne i8* %23, null %25 = zext i1 %24 to i16 switch i16 %25, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 %26 = bitcast %"option::Option"* %_0 to i16* %27 = load i16, i16* %26, align 1 ret i16 %27 bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %28 = load i8, i8* %_11, !range !2 %29 = trunc i8 %28 to i1 br i1 %29, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_11 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_12 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_12 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %30 = load i8, i8* %_11, !range !2 %31 = trunc i8 %30 to i1 br i1 %31, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_11 br label %bb9 cleanup: ; preds = %bb5 %32 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %32, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17h4362863e36c96912E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_12 = alloca i8 %_11 = alloca i8 %_9 = alloca { i8 } %self = alloca %"option::Option" %abi_cast = alloca i16 %arg0 = alloca %"option::Option" store i16 %1, i16* %abi_cast %2 = bitcast %"option::Option"* %arg0 to i8* %3 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 1, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_12 store i8 1, i8* %_11 %4 = bitcast %"option::Option"* %arg0 to i8* %5 = bitcast %"option::Option"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 2, i32 1, i1 false) store i8 1, i8* %_12 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %self, i32 0, i32 0 %7 = load i8, i8* %6, !range !2 %8 = zext i8 %7 to i16 switch i16 %8, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %9 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %9 bb2: ; preds = %bb13, %bb3 %10 = getelementptr inbounds %"option::Option", %"option::Option"* %self, i32 0, i32 0 %11 = load i8, i8* %10, !range !2 %12 = zext i8 %11 to i16 switch i16 %12, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %13 = load i8, i8* %_12, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb13, label %bb2 bb4: ; preds = %start %15 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %15 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_11 %16 = bitcast %"option::Option"* %self to { i8, i8 }* %17 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %16, i32 0, i32 1 %18 = load i8, i8* %17 store i8 0, i8* %_12 %19 = getelementptr inbounds { i8 }, { i8 }* %_9, i32 0, i32 0 store i8 %18, i8* %19 %20 = getelementptr inbounds { i8 }, { i8 }* %_9, i32 0, i32 0 %21 = load i8, i8* %20 %22 = invoke i16 @"_ZN4core3str9Utf8Error9error_len28_$u7b$$u7b$closure$u7d$$u7d$17h8018fbe021769a6eE"(i8 %21) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %23 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %23 %24 = bitcast %"option::Option"* %0 to { i16, i16 }* %25 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %24, i32 0, i32 1 store i16 %22, i16* %25 br label %bb7 bb7: ; preds = %bb4, %bb6 %26 = load i8, i8* %_12, !range !2 %27 = trunc i8 %26 to i1 br i1 %27, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %28 = getelementptr inbounds %"option::Option", %"option::Option"* %self, i32 0, i32 0 %29 = load i8, i8* %28, !range !2 %30 = zext i8 %29 to i16 switch i16 %30, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 ret void bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %31 = load i8, i8* %_11, !range !2 %32 = trunc i8 %31 to i1 br i1 %32, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_11 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_12 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_12 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %33 = load i8, i8* %_11, !range !2 %34 = trunc i8 %33 to i1 br i1 %34, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_11 br label %bb9 cleanup: ; preds = %bb5 %35 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %35, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17h53e405fb21799629E"(%"option::Option<(usize, &u32)>"* noalias nocapture sret dereferenceable(4), i8*, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %tmp_ret = alloca { i16, i32* } %_12 = alloca i8 %_11 = alloca i8 %_9 = alloca { i32* } %_8 = alloca %closure.16 %f = alloca %closure.16 %self = alloca i8* %abi_cast = alloca i8* %arg1 = alloca %closure.16 %arg0 = alloca i8* store i8* %1, i8** %arg0 store i8* %2, i8** %abi_cast %3 = bitcast %closure.16* %arg1 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_12 store i8 1, i8* %_11 %5 = bitcast i8** %arg0 to i8* %6 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) store i8 1, i8* %_12 %7 = bitcast %closure.16* %arg1 to i8* %8 = bitcast %closure.16* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = load i8*, i8** %self %10 = icmp ne i8* %9, null %11 = zext i1 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb13, %bb3 %13 = load i8*, i8** %self %14 = icmp ne i8* %13, null %15 = zext i1 %14 to i16 switch i16 %15, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_12, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb13, label %bb2 bb4: ; preds = %start %18 = getelementptr inbounds %"option::Option<(usize, &u32)>", %"option::Option<(usize, &u32)>"* %0, i32 0, i32 0, i32 1 store i32* null, i32** %18 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_11 %19 = bitcast i8** %self to i32** %20 = load i32*, i32** %19, !nonnull !1 store i8 0, i8* %_12 %21 = bitcast %closure.16* %f to i8* %22 = bitcast %closure.16* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 2, i32 2, i1 false) %23 = getelementptr inbounds { i32* }, { i32* }* %_9, i32 0, i32 0 store i32* %20, i32** %23 %24 = bitcast %closure.16* %_8 to i8** %25 = load i8*, i8** %24, align 2 %26 = getelementptr inbounds { i32* }, { i32* }* %_9, i32 0, i32 0 %27 = load i32*, i32** %26 invoke void @"_ZN81_$LT$core..iter..Enumerate$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h9e4d543bd0007545E"({ i16, i32* }* noalias nocapture sret dereferenceable(4) %tmp_ret, i8* %25, i32* noalias readonly dereferenceable(4) %27) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %28 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %tmp_ret, i32 0, i32 0 %29 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %tmp_ret, i32 0, i32 1 %30 = load i16, i16* %28 %31 = load i32*, i32** %29, !nonnull !1 %32 = getelementptr inbounds %"option::Option<(usize, &u32)>", %"option::Option<(usize, &u32)>"* %0, i32 0, i32 0 %33 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %32, i32 0, i32 0 store i16 %30, i16* %33 %34 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %32, i32 0, i32 1 store i32* %31, i32** %34 br label %bb7 bb7: ; preds = %bb4, %bb6 %35 = load i8, i8* %_12, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %37 = load i8*, i8** %self %38 = icmp ne i8* %37, null %39 = zext i1 %38 to i16 switch i16 %39, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 ret void bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %40 = load i8, i8* %_11, !range !2 %41 = trunc i8 %40 to i1 br i1 %41, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_11 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_12 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_12 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %42 = load i8, i8* %_11, !range !2 %43 = trunc i8 %42 to i1 br i1 %43, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_11 br label %bb9 cleanup: ; preds = %bb5 %44 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %44, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17h6df67f00490b1c4aE"(%"option::Option"* noalias nocapture sret dereferenceable(4), %"option::Option<(usize, usize)>"* noalias nocapture dereferenceable(6)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_12 = alloca i8 %_11 = alloca i8 %_9 = alloca { { i16, i16 } } %self = alloca %"option::Option<(usize, usize)>" br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_12 store i8 1, i8* %_11 %2 = bitcast %"option::Option<(usize, usize)>"* %1 to i8* %3 = bitcast %"option::Option<(usize, usize)>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 6, i32 2, i1 false) store i8 1, i8* %_12 %4 = getelementptr inbounds %"option::Option<(usize, usize)>", %"option::Option<(usize, usize)>"* %self, i32 0, i32 0 %5 = load i16, i16* %4, !range !3 switch i16 %5, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %bb13, %bb3 %7 = getelementptr inbounds %"option::Option<(usize, usize)>", %"option::Option<(usize, usize)>"* %self, i32 0, i32 0 %8 = load i16, i16* %7, !range !3 switch i16 %8, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %9 = load i8, i8* %_12, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb13, label %bb2 bb4: ; preds = %start %11 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %11 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_11 %12 = bitcast %"option::Option<(usize, usize)>"* %self to { i16, { i16, i16 } }* %13 = getelementptr inbounds { i16, { i16, i16 } }, { i16, { i16, i16 } }* %12, i32 0, i32 1 %14 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %13, i32 0, i32 0 %15 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %13, i32 0, i32 1 %16 = load i16, i16* %14 %17 = load i16, i16* %15 store i8 0, i8* %_12 %18 = getelementptr inbounds { { i16, i16 } }, { { i16, i16 } }* %_9, i32 0, i32 0 %19 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %18, i32 0, i32 0 store i16 %16, i16* %19 %20 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %18, i32 0, i32 1 store i16 %17, i16* %20 %21 = getelementptr inbounds { { i16, i16 } }, { { i16, i16 } }* %_9, i32 0, i32 0 %22 = invoke i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17h288c5f13412ab3a6E"({ i16, i16 }* noalias nocapture dereferenceable(4) %21) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %23 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %23 %24 = bitcast %"option::Option"* %0 to { i16, i16 }* %25 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %24, i32 0, i32 1 store i16 %22, i16* %25 br label %bb7 bb7: ; preds = %bb4, %bb6 %26 = load i8, i8* %_12, !range !2 %27 = trunc i8 %26 to i1 br i1 %27, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %28 = getelementptr inbounds %"option::Option<(usize, usize)>", %"option::Option<(usize, usize)>"* %self, i32 0, i32 0 %29 = load i16, i16* %28, !range !3 switch i16 %29, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 ret void bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %30 = load i8, i8* %_11, !range !2 %31 = trunc i8 %30 to i1 br i1 %31, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_11 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_12 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_12 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %32 = load i8, i8* %_11, !range !2 %33 = trunc i8 %32 to i1 br i1 %33, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_11 br label %bb9 cleanup: ; preds = %bb5 %34 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %34, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17h72a7befb8b051beaE"(%"option::Option"* noalias nocapture sret dereferenceable(8), %"option::Option"* noalias nocapture dereferenceable(8)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_12 = alloca i8 %_11 = alloca i8 %_9 = alloca { i32 } %self = alloca %"option::Option" br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_12 store i8 1, i8* %_11 %2 = bitcast %"option::Option"* %1 to i8* %3 = bitcast %"option::Option"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 8, i32 4, i1 false) store i8 1, i8* %_12 %4 = getelementptr inbounds %"option::Option", %"option::Option"* %self, i32 0, i32 0 %5 = load i32, i32* %4, !range !9 %6 = trunc i32 %5 to i16 switch i16 %6, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb2: ; preds = %bb13, %bb3 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %self, i32 0, i32 0 %9 = load i32, i32* %8, !range !9 %10 = trunc i32 %9 to i16 switch i16 %10, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %11 = load i8, i8* %_12, !range !2 %12 = trunc i8 %11 to i1 br i1 %12, label %bb13, label %bb2 bb4: ; preds = %start %13 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %13 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_11 %14 = bitcast %"option::Option"* %self to { i32, i32 }* %15 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %14, i32 0, i32 1 %16 = load i32, i32* %15 store i8 0, i8* %_12 %17 = getelementptr inbounds { i32 }, { i32 }* %_9, i32 0, i32 0 store i32 %16, i32* %17 %18 = getelementptr inbounds { i32 }, { i32 }* %_9, i32 0, i32 0 %19 = load i32, i32* %18 %20 = invoke i32 @"_ZN81_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h9dad306b3beb0047E"(i32 %19) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %21 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %21 %22 = bitcast %"option::Option"* %0 to { i32, i32 }* %23 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %22, i32 0, i32 1 store i32 %20, i32* %23 br label %bb7 bb7: ; preds = %bb4, %bb6 %24 = load i8, i8* %_12, !range !2 %25 = trunc i8 %24 to i1 br i1 %25, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %26 = getelementptr inbounds %"option::Option", %"option::Option"* %self, i32 0, i32 0 %27 = load i32, i32* %26, !range !9 %28 = trunc i32 %27 to i16 switch i16 %28, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 ret void bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %29 = load i8, i8* %_11, !range !2 %30 = trunc i8 %29 to i1 br i1 %30, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_11 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_12 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_12 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %31 = load i8, i8* %_11, !range !2 %32 = trunc i8 %31 to i1 br i1 %32, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_11 br label %bb9 cleanup: ; preds = %bb5 %33 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %33, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17h750fe89459afc6e7E"(%"option::Option"* noalias nocapture sret dereferenceable(8), i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_12 = alloca i8 %_11 = alloca i8 %_9 = alloca { i32* } %self = alloca i8* %arg0 = alloca i8* store i8* %1, i8** %arg0 br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_12 store i8 1, i8* %_11 %2 = bitcast i8** %arg0 to i8* %3 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 2, i32 2, i1 false) store i8 1, i8* %_12 %4 = load i8*, i8** %self %5 = icmp ne i8* %4, null %6 = zext i1 %5 to i16 switch i16 %6, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb2: ; preds = %bb13, %bb3 %8 = load i8*, i8** %self %9 = icmp ne i8* %8, null %10 = zext i1 %9 to i16 switch i16 %10, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %11 = load i8, i8* %_12, !range !2 %12 = trunc i8 %11 to i1 br i1 %12, label %bb13, label %bb2 bb4: ; preds = %start %13 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %13 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_11 %14 = bitcast i8** %self to i32** %15 = load i32*, i32** %14, !nonnull !1 store i8 0, i8* %_12 %16 = getelementptr inbounds { i32* }, { i32* }* %_9, i32 0, i32 0 store i32* %15, i32** %16 %17 = getelementptr inbounds { i32* }, { i32* }* %_9, i32 0, i32 0 %18 = load i32*, i32** %17 %19 = invoke i32 @"_ZN53_$LT$core..option..Option$LT$$RF$$u27$a$u20$T$GT$$GT$6cloned28_$u7b$$u7b$closure$u7d$$u7d$17h115f06667a564d13E"(i32* noalias readonly dereferenceable(4) %18) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %20 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %20 %21 = bitcast %"option::Option"* %0 to { i32, i32 }* %22 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %21, i32 0, i32 1 store i32 %19, i32* %22 br label %bb7 bb7: ; preds = %bb4, %bb6 %23 = load i8, i8* %_12, !range !2 %24 = trunc i8 %23 to i1 br i1 %24, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %25 = load i8*, i8** %self %26 = icmp ne i8* %25, null %27 = zext i1 %26 to i16 switch i16 %27, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 ret void bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %28 = load i8, i8* %_11, !range !2 %29 = trunc i8 %28 to i1 br i1 %29, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_11 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_12 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_12 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %30 = load i8, i8* %_11, !range !2 %31 = trunc i8 %30 to i1 br i1 %31, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_11 br label %bb9 cleanup: ; preds = %bb5 %32 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %32, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17hbd515c9e4f97c968E"(%"option::Option<(usize, &u8)>"* noalias nocapture sret dereferenceable(4), i8*, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %tmp_ret = alloca { i16, i8* } %_12 = alloca i8 %_11 = alloca i8 %_9 = alloca { i8* } %_8 = alloca %closure.17 %f = alloca %closure.17 %self = alloca i8* %abi_cast = alloca i8* %arg1 = alloca %closure.17 %arg0 = alloca i8* store i8* %1, i8** %arg0 store i8* %2, i8** %abi_cast %3 = bitcast %closure.17* %arg1 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_12 store i8 1, i8* %_11 %5 = bitcast i8** %arg0 to i8* %6 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) store i8 1, i8* %_12 %7 = bitcast %closure.17* %arg1 to i8* %8 = bitcast %closure.17* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = load i8*, i8** %self %10 = icmp ne i8* %9, null %11 = zext i1 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb13, %bb3 %13 = load i8*, i8** %self %14 = icmp ne i8* %13, null %15 = zext i1 %14 to i16 switch i16 %15, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_12, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb13, label %bb2 bb4: ; preds = %start %18 = getelementptr inbounds %"option::Option<(usize, &u8)>", %"option::Option<(usize, &u8)>"* %0, i32 0, i32 0, i32 1 store i8* null, i8** %18 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_11 %19 = load i8*, i8** %self, !nonnull !1 store i8 0, i8* %_12 %20 = bitcast %closure.17* %f to i8* %21 = bitcast %closure.17* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 2, i32 2, i1 false) %22 = getelementptr inbounds { i8* }, { i8* }* %_9, i32 0, i32 0 store i8* %19, i8** %22 %23 = bitcast %closure.17* %_8 to i8** %24 = load i8*, i8** %23, align 2 %25 = getelementptr inbounds { i8* }, { i8* }* %_9, i32 0, i32 0 %26 = load i8*, i8** %25 invoke void @"_ZN81_$LT$core..iter..Enumerate$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17hb717edf402c4f007E"({ i16, i8* }* noalias nocapture sret dereferenceable(4) %tmp_ret, i8* %24, i8* noalias readonly dereferenceable(1) %26) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %27 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %tmp_ret, i32 0, i32 0 %28 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %tmp_ret, i32 0, i32 1 %29 = load i16, i16* %27 %30 = load i8*, i8** %28, !nonnull !1 %31 = getelementptr inbounds %"option::Option<(usize, &u8)>", %"option::Option<(usize, &u8)>"* %0, i32 0, i32 0 %32 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %31, i32 0, i32 0 store i16 %29, i16* %32 %33 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %31, i32 0, i32 1 store i8* %30, i8** %33 br label %bb7 bb7: ; preds = %bb4, %bb6 %34 = load i8, i8* %_12, !range !2 %35 = trunc i8 %34 to i1 br i1 %35, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %36 = load i8*, i8** %self %37 = icmp ne i8* %36, null %38 = zext i1 %37 to i16 switch i16 %38, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 ret void bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %39 = load i8, i8* %_11, !range !2 %40 = trunc i8 %39 to i1 br i1 %40, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_11 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_12 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_12 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %41 = load i8, i8* %_11, !range !2 %42 = trunc i8 %41 to i1 br i1 %42, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_11 br label %bb9 cleanup: ; preds = %bb5 %43 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %43, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h29526071cb2e4a18E"(i8*, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_10 = alloca i8 %_8 = alloca { i32* } %_7 = alloca %closure.19 %f = alloca %closure.19 %self = alloca i8* %_0 = alloca i8* %abi_cast = alloca i8* %arg1 = alloca %closure.19 %arg0 = alloca i8* store i8* %0, i8** %arg0 store i8* %1, i8** %abi_cast %2 = bitcast %closure.19* %arg1 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_10 store i8 1, i8* %_10 %4 = bitcast i8** %arg0 to i8* %5 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 2, i32 2, i1 false) store i8 1, i8* %_11 %6 = bitcast %closure.19* %arg1 to i8* %7 = bitcast %closure.19* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 2, i32 2, i1 false) %8 = load i8*, i8** %self %9 = icmp ne i8* %8, null %10 = zext i1 %9 to i16 switch i16 %10, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %11 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %11 bb2: ; preds = %bb13, %bb3 %12 = load i8*, i8** %self %13 = icmp ne i8* %12, null %14 = zext i1 %13 to i16 switch i16 %14, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %15 = load i8, i8* %_11, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb13, label %bb2 bb4: ; preds = %start store i8* null, i8** %_0 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_10 %17 = bitcast i8** %self to i32** %18 = load i32*, i32** %17, !nonnull !1 store i8 0, i8* %_11 %19 = bitcast %closure.19* %f to i8* %20 = bitcast %closure.19* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %20, i8* %19, i16 2, i32 2, i1 false) %21 = getelementptr inbounds { i32* }, { i32* }* %_8, i32 0, i32 0 store i32* %18, i32** %21 %22 = bitcast %closure.19* %_7 to i8** %23 = load i8*, i8** %22, align 2 %24 = getelementptr inbounds { i32* }, { i32* }* %_8, i32 0, i32 0 %25 = load i32*, i32** %24 %26 = invoke i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17ha1be240abd0a4f1bE"(i8* %23, i32* noalias readonly dereferenceable(4) %25) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 store i8* %26, i8** %_0 br label %bb7 bb7: ; preds = %bb4, %bb6 %27 = load i8, i8* %_11, !range !2 %28 = trunc i8 %27 to i1 br i1 %28, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %29 = load i8*, i8** %self %30 = icmp ne i8* %29, null %31 = zext i1 %30 to i16 switch i16 %31, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 %32 = load i8*, i8** %_0 ret i8* %32 bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %33 = load i8, i8* %_10, !range !2 %34 = trunc i8 %33 to i1 br i1 %34, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_10 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_11 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_11 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %35 = load i8, i8* %_10, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_10 br label %bb9 cleanup: ; preds = %bb5 %37 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %37, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h3501ddabd56ec3dfE"(%"option::Option<(&fmt::ArgumentV1, &&str)>"* noalias nocapture sret dereferenceable(4), i8*, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_10 = alloca i8 %_8 = alloca { %"fmt::ArgumentV1"* } %_7 = alloca %closure.15 %f = alloca %closure.15 %self = alloca i8* %abi_cast = alloca i8* %arg1 = alloca %closure.15 %arg0 = alloca i8* store i8* %1, i8** %arg0 store i8* %2, i8** %abi_cast %3 = bitcast %closure.15* %arg1 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_10 store i8 1, i8* %_10 %5 = bitcast i8** %arg0 to i8* %6 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) store i8 1, i8* %_11 %7 = bitcast %closure.15* %arg1 to i8* %8 = bitcast %closure.15* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = load i8*, i8** %self %10 = icmp ne i8* %9, null %11 = zext i1 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb13, %bb3 %13 = load i8*, i8** %self %14 = icmp ne i8* %13, null %15 = zext i1 %14 to i16 switch i16 %15, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_11, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb13, label %bb2 bb4: ; preds = %start %18 = getelementptr inbounds %"option::Option<(&fmt::ArgumentV1, &&str)>", %"option::Option<(&fmt::ArgumentV1, &&str)>"* %0, i32 0, i32 0, i32 0 store %"fmt::ArgumentV1"* null, %"fmt::ArgumentV1"** %18 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_10 %19 = bitcast i8** %self to %"fmt::ArgumentV1"** %20 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %19, !nonnull !1 store i8 0, i8* %_11 %21 = bitcast %closure.15* %f to i8* %22 = bitcast %closure.15* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 2, i32 2, i1 false) %23 = getelementptr inbounds { %"fmt::ArgumentV1"* }, { %"fmt::ArgumentV1"* }* %_8, i32 0, i32 0 store %"fmt::ArgumentV1"* %20, %"fmt::ArgumentV1"** %23 %24 = bitcast %closure.15* %_7 to i8** %25 = load i8*, i8** %24, align 2 %26 = getelementptr inbounds { %"fmt::ArgumentV1"* }, { %"fmt::ArgumentV1"* }* %_8, i32 0, i32 0 %27 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %26 invoke void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h91e7be43e19386fbE"(%"option::Option<(&fmt::ArgumentV1, &&str)>"* noalias nocapture sret dereferenceable(4) %0, i8* %25, %"fmt::ArgumentV1"* noalias readonly dereferenceable(4) %27) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 br label %bb7 bb7: ; preds = %bb4, %bb6 %28 = load i8, i8* %_11, !range !2 %29 = trunc i8 %28 to i1 br i1 %29, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %30 = load i8*, i8** %self %31 = icmp ne i8* %30, null %32 = zext i1 %31 to i16 switch i16 %32, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 ret void bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %33 = load i8, i8* %_10, !range !2 %34 = trunc i8 %33 to i1 br i1 %34, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_10 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_11 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_11 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %35 = load i8, i8* %_10, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_10 br label %bb9 cleanup: ; preds = %bb5 %37 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %37, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h61082c39df9fdfb1E"(%"option::Option<(&fmt::rt::v1::Argument, &&str)>"* noalias nocapture sret dereferenceable(4), i8*, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_10 = alloca i8 %_8 = alloca { %str_slice* } %_7 = alloca %closure.13 %f = alloca %closure.13 %self = alloca i8* %abi_cast = alloca i8* %arg1 = alloca %closure.13 %arg0 = alloca i8* store i8* %1, i8** %arg0 store i8* %2, i8** %abi_cast %3 = bitcast %closure.13* %arg1 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_10 store i8 1, i8* %_10 %5 = bitcast i8** %arg0 to i8* %6 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) store i8 1, i8* %_11 %7 = bitcast %closure.13* %arg1 to i8* %8 = bitcast %closure.13* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = load i8*, i8** %self %10 = icmp ne i8* %9, null %11 = zext i1 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb13, %bb3 %13 = load i8*, i8** %self %14 = icmp ne i8* %13, null %15 = zext i1 %14 to i16 switch i16 %15, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_11, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb13, label %bb2 bb4: ; preds = %start %18 = getelementptr inbounds %"option::Option<(&fmt::rt::v1::Argument, &&str)>", %"option::Option<(&fmt::rt::v1::Argument, &&str)>"* %0, i32 0, i32 0, i32 0 store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %18 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_10 %19 = bitcast i8** %self to %str_slice** %20 = load %str_slice*, %str_slice** %19, !nonnull !1 store i8 0, i8* %_11 %21 = bitcast %closure.13* %f to i8* %22 = bitcast %closure.13* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 2, i32 2, i1 false) %23 = getelementptr inbounds { %str_slice* }, { %str_slice* }* %_8, i32 0, i32 0 store %str_slice* %20, %str_slice** %23 %24 = bitcast %closure.13* %_7 to i8** %25 = load i8*, i8** %24, align 2 %26 = getelementptr inbounds { %str_slice* }, { %str_slice* }* %_8, i32 0, i32 0 %27 = load %str_slice*, %str_slice** %26 invoke void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17hb1fa3a77af2d6204E"(%"option::Option<(&fmt::rt::v1::Argument, &&str)>"* noalias nocapture sret dereferenceable(4) %0, i8* %25, %str_slice* noalias readonly dereferenceable(4) %27) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 br label %bb7 bb7: ; preds = %bb4, %bb6 %28 = load i8, i8* %_11, !range !2 %29 = trunc i8 %28 to i1 br i1 %29, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %30 = load i8*, i8** %self %31 = icmp ne i8* %30, null %32 = zext i1 %31 to i16 switch i16 %32, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 ret void bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %33 = load i8, i8* %_10, !range !2 %34 = trunc i8 %33 to i1 br i1 %34, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_10 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_11 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_11 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %35 = load i8, i8* %_10, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_10 br label %bb9 cleanup: ; preds = %bb5 %37 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %37, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h648116b1853d5a63E"(i8*, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_10 = alloca i8 %_8 = alloca { i8* } %_7 = alloca %closure.18 %f = alloca %closure.18 %self = alloca i8* %_0 = alloca i8* %abi_cast = alloca i8* %arg1 = alloca %closure.18 %arg0 = alloca i8* store i8* %0, i8** %arg0 store i8* %1, i8** %abi_cast %2 = bitcast %closure.18* %arg1 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_10 store i8 1, i8* %_10 %4 = bitcast i8** %arg0 to i8* %5 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 2, i32 2, i1 false) store i8 1, i8* %_11 %6 = bitcast %closure.18* %arg1 to i8* %7 = bitcast %closure.18* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 2, i32 2, i1 false) %8 = load i8*, i8** %self %9 = icmp ne i8* %8, null %10 = zext i1 %9 to i16 switch i16 %10, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %11 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %11 bb2: ; preds = %bb13, %bb3 %12 = load i8*, i8** %self %13 = icmp ne i8* %12, null %14 = zext i1 %13 to i16 switch i16 %14, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %15 = load i8, i8* %_11, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb13, label %bb2 bb4: ; preds = %start store i8* null, i8** %_0 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_10 %17 = load i8*, i8** %self, !nonnull !1 store i8 0, i8* %_11 %18 = bitcast %closure.18* %f to i8* %19 = bitcast %closure.18* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 2, i32 2, i1 false) %20 = getelementptr inbounds { i8* }, { i8* }* %_8, i32 0, i32 0 store i8* %17, i8** %20 %21 = bitcast %closure.18* %_7 to i8** %22 = load i8*, i8** %21, align 2 %23 = getelementptr inbounds { i8* }, { i8* }* %_8, i32 0, i32 0 %24 = load i8*, i8** %23 %25 = invoke i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h86a23d98885caac9E"(i8* %22, i8* noalias readonly dereferenceable(1) %24) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 store i8* %25, i8** %_0 br label %bb7 bb7: ; preds = %bb4, %bb6 %26 = load i8, i8* %_11, !range !2 %27 = trunc i8 %26 to i1 br i1 %27, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %28 = load i8*, i8** %self %29 = icmp ne i8* %28, null %30 = zext i1 %29 to i16 switch i16 %30, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 %31 = load i8*, i8** %_0 ret i8* %31 bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %32 = load i8, i8* %_10, !range !2 %33 = trunc i8 %32 to i1 br i1 %33, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_10 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_11 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_11 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %34 = load i8, i8* %_10, !range !2 %35 = trunc i8 %34 to i1 br i1 %35, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_10 br label %bb9 cleanup: ; preds = %bb5 %36 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %36, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h6a07db0671807768E"(%"option::Option<(&fmt::rt::v1::Argument, &&str)>"* noalias nocapture sret dereferenceable(4), i8*, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_10 = alloca i8 %_8 = alloca { %"fmt::rt::v1::Argument"* } %_7 = alloca %closure.14 %f = alloca %closure.14 %self = alloca i8* %abi_cast = alloca i8* %arg1 = alloca %closure.14 %arg0 = alloca i8* store i8* %1, i8** %arg0 store i8* %2, i8** %abi_cast %3 = bitcast %closure.14* %arg1 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_10 store i8 1, i8* %_10 %5 = bitcast i8** %arg0 to i8* %6 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) store i8 1, i8* %_11 %7 = bitcast %closure.14* %arg1 to i8* %8 = bitcast %closure.14* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = load i8*, i8** %self %10 = icmp ne i8* %9, null %11 = zext i1 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb13, %bb3 %13 = load i8*, i8** %self %14 = icmp ne i8* %13, null %15 = zext i1 %14 to i16 switch i16 %15, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_11, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb13, label %bb2 bb4: ; preds = %start %18 = getelementptr inbounds %"option::Option<(&fmt::rt::v1::Argument, &&str)>", %"option::Option<(&fmt::rt::v1::Argument, &&str)>"* %0, i32 0, i32 0, i32 0 store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %18 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_10 %19 = bitcast i8** %self to %"fmt::rt::v1::Argument"** %20 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %19, !nonnull !1 store i8 0, i8* %_11 %21 = bitcast %closure.14* %f to i8* %22 = bitcast %closure.14* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 2, i32 2, i1 false) %23 = getelementptr inbounds { %"fmt::rt::v1::Argument"* }, { %"fmt::rt::v1::Argument"* }* %_8, i32 0, i32 0 store %"fmt::rt::v1::Argument"* %20, %"fmt::rt::v1::Argument"** %23 %24 = bitcast %closure.14* %_7 to i8** %25 = load i8*, i8** %24, align 2 %26 = getelementptr inbounds { %"fmt::rt::v1::Argument"* }, { %"fmt::rt::v1::Argument"* }* %_8, i32 0, i32 0 %27 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %26 invoke void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h588ed721accd5cf0E"(%"option::Option<(&fmt::rt::v1::Argument, &&str)>"* noalias nocapture sret dereferenceable(4) %0, i8* %25, %"fmt::rt::v1::Argument"* noalias readonly dereferenceable(24) %27) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 br label %bb7 bb7: ; preds = %bb4, %bb6 %28 = load i8, i8* %_11, !range !2 %29 = trunc i8 %28 to i1 br i1 %29, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %30 = load i8*, i8** %self %31 = icmp ne i8* %30, null %32 = zext i1 %31 to i16 switch i16 %32, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 ret void bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %33 = load i8, i8* %_10, !range !2 %34 = trunc i8 %33 to i1 br i1 %34, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_10 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_11 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_11 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %35 = load i8, i8* %_10, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_10 br label %bb9 cleanup: ; preds = %bb5 %37 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %37, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h801a6688c04da4e1E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_10 = alloca i8 %_8 = alloca { %"fmt::ArgumentV1"* } %self = alloca i8* %arg0 = alloca i8* store i8* %1, i8** %arg0 br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_10 store i8 1, i8* %_10 %2 = bitcast i8** %arg0 to i8* %3 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 2, i32 2, i1 false) store i8 1, i8* %_11 %4 = load i8*, i8** %self %5 = icmp ne i8* %4, null %6 = zext i1 %5 to i16 switch i16 %6, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb2: ; preds = %bb13, %bb3 %8 = load i8*, i8** %self %9 = icmp ne i8* %8, null %10 = zext i1 %9 to i16 switch i16 %10, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %11 = load i8, i8* %_11, !range !2 %12 = trunc i8 %11 to i1 br i1 %12, label %bb13, label %bb2 bb4: ; preds = %start %13 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %13 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_10 %14 = bitcast i8** %self to %"fmt::ArgumentV1"** %15 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %14, !nonnull !1 store i8 0, i8* %_11 %16 = getelementptr inbounds { %"fmt::ArgumentV1"* }, { %"fmt::ArgumentV1"* }* %_8, i32 0, i32 0 store %"fmt::ArgumentV1"* %15, %"fmt::ArgumentV1"** %16 %17 = getelementptr inbounds { %"fmt::ArgumentV1"* }, { %"fmt::ArgumentV1"* }* %_8, i32 0, i32 0 %18 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %17 invoke void @"_ZN4core3fmt9Formatter8getcount28_$u7b$$u7b$closure$u7d$$u7d$17h0ae55ac5ff3e7d57E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, %"fmt::ArgumentV1"* noalias readonly dereferenceable(4) %18) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 br label %bb7 bb7: ; preds = %bb4, %bb6 %19 = load i8, i8* %_11, !range !2 %20 = trunc i8 %19 to i1 br i1 %20, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %21 = load i8*, i8** %self %22 = icmp ne i8* %21, null %23 = zext i1 %22 to i16 switch i16 %23, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 ret void bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %24 = load i8, i8* %_10, !range !2 %25 = trunc i8 %24 to i1 br i1 %25, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_10 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_11 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_11 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %26 = load i8, i8* %_10, !range !2 %27 = trunc i8 %26 to i1 br i1 %27, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_10 br label %bb9 cleanup: ; preds = %bb5 %28 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %28, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17ha1e7176d6469b314E"(%"option::Option<(&fmt::ArgumentV1, &&str)>"* noalias nocapture sret dereferenceable(4), i8*, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_10 = alloca i8 %_8 = alloca { %str_slice* } %_7 = alloca %closure.12 %f = alloca %closure.12 %self = alloca i8* %abi_cast = alloca i8* %arg1 = alloca %closure.12 %arg0 = alloca i8* store i8* %1, i8** %arg0 store i8* %2, i8** %abi_cast %3 = bitcast %closure.12* %arg1 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_10 store i8 1, i8* %_10 %5 = bitcast i8** %arg0 to i8* %6 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) store i8 1, i8* %_11 %7 = bitcast %closure.12* %arg1 to i8* %8 = bitcast %closure.12* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = load i8*, i8** %self %10 = icmp ne i8* %9, null %11 = zext i1 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb13, %bb3 %13 = load i8*, i8** %self %14 = icmp ne i8* %13, null %15 = zext i1 %14 to i16 switch i16 %15, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_11, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb13, label %bb2 bb4: ; preds = %start %18 = getelementptr inbounds %"option::Option<(&fmt::ArgumentV1, &&str)>", %"option::Option<(&fmt::ArgumentV1, &&str)>"* %0, i32 0, i32 0, i32 0 store %"fmt::ArgumentV1"* null, %"fmt::ArgumentV1"** %18 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_10 %19 = bitcast i8** %self to %str_slice** %20 = load %str_slice*, %str_slice** %19, !nonnull !1 store i8 0, i8* %_11 %21 = bitcast %closure.12* %f to i8* %22 = bitcast %closure.12* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 2, i32 2, i1 false) %23 = getelementptr inbounds { %str_slice* }, { %str_slice* }* %_8, i32 0, i32 0 store %str_slice* %20, %str_slice** %23 %24 = bitcast %closure.12* %_7 to i8** %25 = load i8*, i8** %24, align 2 %26 = getelementptr inbounds { %str_slice* }, { %str_slice* }* %_8, i32 0, i32 0 %27 = load %str_slice*, %str_slice** %26 invoke void @"_ZN91_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..ZipImpl$LT$A$C$$u20$B$GT$$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h1891766c3913f423E"(%"option::Option<(&fmt::ArgumentV1, &&str)>"* noalias nocapture sret dereferenceable(4) %0, i8* %25, %str_slice* noalias readonly dereferenceable(4) %27) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 br label %bb7 bb7: ; preds = %bb4, %bb6 %28 = load i8, i8* %_11, !range !2 %29 = trunc i8 %28 to i1 br i1 %29, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %30 = load i8*, i8** %self %31 = icmp ne i8* %30, null %32 = zext i1 %31 to i16 switch i16 %32, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 ret void bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %33 = load i8, i8* %_10, !range !2 %34 = trunc i8 %33 to i1 br i1 %34, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_10 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_11 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_11 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %35 = load i8, i8* %_10, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_10 br label %bb9 cleanup: ; preds = %bb5 %37 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %37, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17he7999756211e692fE"(i8*, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_10 = alloca i8 %_8 = alloca { i8* } %_7 = alloca %closure.20 %f = alloca %closure.20 %self = alloca i8* %_0 = alloca i8* %abi_cast = alloca i8* %arg1 = alloca %closure.20 %arg0 = alloca i8* store i8* %0, i8** %arg0 store i8* %1, i8** %abi_cast %2 = bitcast %closure.20* %arg1 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_10 store i8 1, i8* %_10 %4 = bitcast i8** %arg0 to i8* %5 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 2, i32 2, i1 false) store i8 1, i8* %_11 %6 = bitcast %closure.20* %arg1 to i8* %7 = bitcast %closure.20* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 2, i32 2, i1 false) %8 = load i8*, i8** %self %9 = icmp ne i8* %8, null %10 = zext i1 %9 to i16 switch i16 %10, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %11 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %11 bb2: ; preds = %bb13, %bb3 %12 = load i8*, i8** %self %13 = icmp ne i8* %12, null %14 = zext i1 %13 to i16 switch i16 %14, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %15 = load i8, i8* %_11, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb13, label %bb2 bb4: ; preds = %start store i8* null, i8** %_0 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_10 %17 = load i8*, i8** %self, !nonnull !1 store i8 0, i8* %_11 %18 = bitcast %closure.20* %f to i8* %19 = bitcast %closure.20* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 2, i32 2, i1 false) %20 = getelementptr inbounds { i8* }, { i8* }* %_8, i32 0, i32 0 store i8* %17, i8** %20 %21 = bitcast %closure.20* %_7 to i8** %22 = load i8*, i8** %21, align 2 %23 = getelementptr inbounds { i8* }, { i8* }* %_8, i32 0, i32 0 %24 = load i8*, i8** %23 %25 = invoke i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17hb28e532cb0b2b7efE"(i8* %22, i8* noalias readonly dereferenceable(1) %24) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 store i8* %25, i8** %_0 br label %bb7 bb7: ; preds = %bb4, %bb6 %26 = load i8, i8* %_11, !range !2 %27 = trunc i8 %26 to i1 br i1 %27, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %28 = load i8*, i8** %self %29 = icmp ne i8* %28, null %30 = zext i1 %29 to i16 switch i16 %30, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 %31 = load i8*, i8** %_0 ret i8* %31 bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %32 = load i8, i8* %_10, !range !2 %33 = trunc i8 %32 to i1 br i1 %33, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_10 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_11 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_11 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %34 = load i8, i8* %_10, !range !2 %35 = trunc i8 %34 to i1 br i1 %35, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_10 br label %bb9 cleanup: ; preds = %bb5 %36 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %36, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17hf6f08d2d05b9129eE"(i8*, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_10 = alloca i8 %_8 = alloca { i8* } %_7 = alloca %closure.21 %f = alloca %closure.21 %self = alloca i8* %_0 = alloca i8* %abi_cast = alloca i8* %arg1 = alloca %closure.21 %arg0 = alloca i8* store i8* %0, i8** %arg0 store i8* %1, i8** %abi_cast %2 = bitcast %closure.21* %arg1 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 0, i8* %_10 store i8 1, i8* %_10 %4 = bitcast i8** %arg0 to i8* %5 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 2, i32 2, i1 false) store i8 1, i8* %_11 %6 = bitcast %closure.21* %arg1 to i8* %7 = bitcast %closure.21* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 2, i32 2, i1 false) %8 = load i8*, i8** %self %9 = icmp ne i8* %8, null %10 = zext i1 %9 to i16 switch i16 %10, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb12, %bb11, %bb10 %11 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %11 bb2: ; preds = %bb13, %bb3 %12 = load i8*, i8** %self %13 = icmp ne i8* %12, null %14 = zext i1 %13 to i16 switch i16 %14, label %bb10 [ i16 1, label %bb11 ] bb3: ; preds = %cleanup %15 = load i8, i8* %_11, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb13, label %bb2 bb4: ; preds = %start store i8* null, i8** %_0 br label %bb7 bb5: ; preds = %start store i8 0, i8* %_10 %17 = load i8*, i8** %self, !nonnull !1 store i8 0, i8* %_11 %18 = bitcast %closure.21* %f to i8* %19 = bitcast %closure.21* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 2, i32 2, i1 false) %20 = getelementptr inbounds { i8* }, { i8* }* %_8, i32 0, i32 0 store i8* %17, i8** %20 %21 = bitcast %closure.21* %_7 to i8** %22 = load i8*, i8** %21, align 2 %23 = getelementptr inbounds { i8* }, { i8* }* %_8, i32 0, i32 0 %24 = load i8*, i8** %23 %25 = invoke i8* @"_ZN90_$LT$core..iter..TakeWhile$LT$I$C$$u20$P$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17hbd14f168657374acE"(i8* %22, i8* noalias readonly dereferenceable(1) %24) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 store i8* %25, i8** %_0 br label %bb7 bb7: ; preds = %bb4, %bb6 %26 = load i8, i8* %_11, !range !2 %27 = trunc i8 %26 to i1 br i1 %27, label %bb14, label %bb8 bb8: ; preds = %bb14, %bb7 %28 = load i8*, i8** %self %29 = icmp ne i8* %28, null %30 = zext i1 %29 to i16 switch i16 %30, label %bb15 [ i16 1, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb15 %31 = load i8*, i8** %_0 ret i8* %31 bb10: ; preds = %bb2 br label %bb1 bb11: ; preds = %bb2 %32 = load i8, i8* %_10, !range !2 %33 = trunc i8 %32 to i1 br i1 %33, label %bb12, label %bb1 bb12: ; preds = %bb11 store i8 0, i8* %_10 br label %bb1 bb13: ; preds = %bb3 store i8 0, i8* %_11 br label %bb2 bb14: ; preds = %bb7 store i8 0, i8* %_11 br label %bb8 bb15: ; preds = %bb8 br label %bb9 bb16: ; preds = %bb8 %34 = load i8, i8* %_10, !range !2 %35 = trunc i8 %34 to i1 br i1 %35, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_10 br label %bb9 cleanup: ; preds = %bb5 %36 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %36, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: uwtable define internal i16 @"_ZN53_$LT$core..option..Option$LT$$RF$$u27$a$u20$T$GT$$GT$6cloned17h5b78e49445dae733E"(i8*) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_4 = alloca %closure.23 %_3 = alloca i8* %self = alloca i8* %_0 = alloca %"option::Option" %arg0 = alloca i8* store i8* %0, i8** %arg0 br label %start start: ; preds = %entry-block %1 = bitcast i8** %arg0 to i8* %2 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 2, i32 2, i1 false) %3 = bitcast i8** %self to i8* %4 = bitcast i8** %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 2, i32 2, i1 false) %5 = load i8*, i8** %_3 %6 = call i16 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17h161dbd57218d2167E"(i8* %5) store i16 %6, i16* %abi_cast %7 = bitcast %"option::Option"* %_0 to i8* %8 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %8, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %9 = bitcast %"option::Option"* %_0 to i16* %10 = load i16, i16* %9, align 1 ret i16 %10 } ; Function Attrs: uwtable define internal void @"_ZN53_$LT$core..option..Option$LT$$RF$$u27$a$u20$T$GT$$GT$6cloned17he6ffac72b6be41b8E"(%"option::Option"* noalias nocapture sret dereferenceable(8), i8*) unnamed_addr #1 { entry-block: %_4 = alloca %closure.27 %_3 = alloca i8* %self = alloca i8* %arg0 = alloca i8* store i8* %1, i8** %arg0 br label %start start: ; preds = %entry-block %2 = bitcast i8** %arg0 to i8* %3 = bitcast i8** %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 2, i32 2, i1 false) %4 = bitcast i8** %self to i8* %5 = bitcast i8** %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 2, i32 2, i1 false) %6 = load i8*, i8** %_3 call void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17h750fe89459afc6e7E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, i8* %6) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal i32 @"_ZN53_$LT$core..option..Option$LT$$RF$$u27$a$u20$T$GT$$GT$6cloned28_$u7b$$u7b$closure$u7d$$u7d$17h115f06667a564d13E"(i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = call i32 @"_ZN42_$LT$u32$u20$as$u20$core..clone..Clone$GT$5clone17h8a48e59479907985E"(i32* noalias readonly dereferenceable(4) %0) br label %bb1 bb1: ; preds = %start ret i32 %1 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$core..option..Option$LT$$RF$$u27$a$u20$T$GT$$GT$6cloned28_$u7b$$u7b$closure$u7d$$u7d$17h4799c9c74e24f30eE"(i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN41_$LT$u8$u20$as$u20$core..clone..Clone$GT$5clone17ha5f1cd751b9700c0E"(i8* noalias readonly dereferenceable(1) %0) br label %bb1 bb1: ; preds = %start ret i8 %1 } ; Function Attrs: cold noinline noreturn uwtable define void @_ZN4core6option13expect_failed17h6a24ce08bea38004E(i8* noalias nonnull readonly, i16) unnamed_addr #3 { entry-block: %tmp_ret = alloca %"fmt::ArgumentV1" %_9 = alloca { %str_slice* } %_8 = alloca [1 x %"fmt::ArgumentV1"] %_3 = alloca %"fmt::Arguments" %msg = alloca %str_slice br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %str_slice, %str_slice* %msg, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds %str_slice, %str_slice* %msg, i32 0, i32 1 store i16 %1, i16* %3 %4 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core6option13expect_failed15__STATIC_FMTSTR17h46cfa024b3f67623E, i32 0, i32 0), !nonnull !1 %5 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core6option13expect_failed15__STATIC_FMTSTR17h46cfa024b3f67623E, i32 0, i32 1) %6 = getelementptr inbounds { %str_slice* }, { %str_slice* }* %_9, i32 0, i32 0 store %str_slice* %msg, %str_slice** %6 %7 = getelementptr inbounds { %str_slice* }, { %str_slice* }* %_9, i32 0, i32 0 %8 = load %str_slice*, %str_slice** %7, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, %str_slice* noalias readonly dereferenceable(4) %8, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %9 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %11 = load %"fmt::Void"*, %"fmt::Void"** %9, !nonnull !1 %12 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %10, !nonnull !1 br label %bb1 bb1: ; preds = %start %13 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_8, i32 0, i32 0 %14 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %13, i32 0, i32 0 store %"fmt::Void"* %11, %"fmt::Void"** %14 %15 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %13, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %12, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %15 %16 = bitcast [1 x %"fmt::ArgumentV1"]* %_8 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_3, %str_slice* noalias nonnull readonly %4, i16 %5, %"fmt::ArgumentV1"* noalias nonnull readonly %16, i16 1) br label %bb2 bb2: ; preds = %bb1 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_3, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core6option13expect_failed10_FILE_LINE17h2d314696688a8b39E) unreachable } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h475ebb16d6ff9c3eE"(i8, %closure.29* noalias nocapture dereferenceable(4)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast1 = alloca i8 %personalityslot = alloca { i8*, i32 } %arg = alloca %closure.29 %_14 = alloca i8 %_13 = alloca i8 %_12 = alloca i8 %_9 = alloca { {} } %self = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8 %arg0 = alloca %"result::Result<(), fmt::Error>" store i8 %0, i8* %abi_cast %2 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_12 store i8 0, i8* %_14 store i8 0, i8* %_13 store i8 1, i8* %_12 store i8 1, i8* %_13 %3 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* %4 = bitcast %"result::Result<(), fmt::Error>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 1, i32 1, i1 false) store i8 1, i8* %_14 %5 = getelementptr inbounds %closure.29, %closure.29* %1, i32 0, i32 0 %6 = getelementptr inbounds %closure.29, %closure.29* %1, i32 0, i32 1 %7 = load %"fmt::builders::DebugTuple"**, %"fmt::builders::DebugTuple"*** %5, !nonnull !1 %8 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %6, !nonnull !1 %9 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %10 = load i8, i8* %9, !range !2 %11 = zext i8 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb11, %bb10, %bb13, %bb12 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb14, %bb3 %13 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %14 = load i8, i8* %13, !range !2 %15 = zext i8 %14 to i16 switch i16 %15, label %bb12 [ i16 0, label %bb10 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_14, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb14, label %bb2 bb4: ; preds = %start store i8 0, i8* %_13 %18 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, {} }* %19 = getelementptr inbounds { i8, {} }, { i8, {} }* %18, i32 0, i32 1 store i8 0, i8* %_14 %20 = getelementptr inbounds %closure.29, %closure.29* %arg, i32 0, i32 0 store %"fmt::builders::DebugTuple"** %7, %"fmt::builders::DebugTuple"*** %20 %21 = getelementptr inbounds %closure.29, %closure.29* %arg, i32 0, i32 1 store { i8*, void (i8*)** }* %8, { i8*, void (i8*)** }** %21 %22 = invoke i8 @"_ZN4core3fmt8builders10DebugTuple5field28_$u7b$$u7b$closure$u7d$$u7d$17hce2071c1a09115eaE"(%closure.29* noalias nocapture dereferenceable(4) %arg) to label %bb7 unwind label %cleanup bb5: ; preds = %start store i8 0, i8* %_12 %23 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, %"fmt::Error" }* %24 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %23, i32 0, i32 1 %25 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 1, i8* %25 br label %bb6 bb6: ; preds = %bb7, %bb5 %26 = load i8, i8* %_14, !range !2 %27 = trunc i8 %26 to i1 br i1 %27, label %bb15, label %bb8 bb7: ; preds = %bb4 store i8 %22, i8* %abi_cast1 %28 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb6 bb8: ; preds = %bb15, %bb6 %29 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %30 = load i8, i8* %29, !range !2 %31 = zext i8 %30 to i16 switch i16 %31, label %bb18 [ i16 0, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb19, %bb18 %32 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %33 = load i8, i8* %32, align 1 ret i8 %33 bb10: ; preds = %bb2 %34 = load i8, i8* %_13, !range !2 %35 = trunc i8 %34 to i1 br i1 %35, label %bb11, label %bb1 bb11: ; preds = %bb10 store i8 0, i8* %_13 br label %bb1 bb12: ; preds = %bb2 %36 = load i8, i8* %_12, !range !2 %37 = trunc i8 %36 to i1 br i1 %37, label %bb13, label %bb1 bb13: ; preds = %bb12 store i8 0, i8* %_12 br label %bb1 bb14: ; preds = %bb3 store i8 0, i8* %_14 br label %bb2 bb15: ; preds = %bb6 store i8 0, i8* %_14 br label %bb8 bb16: ; preds = %bb8 %38 = load i8, i8* %_13, !range !2 %39 = trunc i8 %38 to i1 br i1 %39, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_13 br label %bb9 bb18: ; preds = %bb8 %40 = load i8, i8* %_12, !range !2 %41 = trunc i8 %40 to i1 br i1 %41, label %bb19, label %bb9 bb19: ; preds = %bb18 store i8 0, i8* %_12 br label %bb9 cleanup: ; preds = %bb4 %42 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %42, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h4981d0ddc6be30b1E"(i8, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast2 = alloca i8 %personalityslot = alloca { i8*, i32 } %_14 = alloca i8 %_13 = alloca i8 %_12 = alloca i8 %_9 = alloca { {} } %_8 = alloca %closure.30 %op = alloca %closure.30 %self = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast1 = alloca i8* %arg1 = alloca %closure.30 %abi_cast = alloca i8 %arg0 = alloca %"result::Result<(), fmt::Error>" store i8 %0, i8* %abi_cast %2 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) store i8* %1, i8** %abi_cast1 %3 = bitcast %closure.30* %arg1 to i8* %4 = bitcast i8** %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_12 store i8 0, i8* %_14 store i8 0, i8* %_13 store i8 1, i8* %_12 store i8 1, i8* %_13 %5 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* %6 = bitcast %"result::Result<(), fmt::Error>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 1, i32 1, i1 false) store i8 1, i8* %_14 %7 = bitcast %closure.30* %arg1 to i8* %8 = bitcast %closure.30* %op to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %10 = load i8, i8* %9, !range !2 %11 = zext i8 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb11, %bb10, %bb13, %bb12 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb14, %bb3 %13 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %14 = load i8, i8* %13, !range !2 %15 = zext i8 %14 to i16 switch i16 %15, label %bb12 [ i16 0, label %bb10 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_14, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb14, label %bb2 bb4: ; preds = %start store i8 0, i8* %_13 %18 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, {} }* %19 = getelementptr inbounds { i8, {} }, { i8, {} }* %18, i32 0, i32 1 store i8 0, i8* %_14 %20 = bitcast %closure.30* %op to i8* %21 = bitcast %closure.30* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 2, i32 2, i1 false) %22 = bitcast %closure.30* %_8 to i8** %23 = load i8*, i8** %22, align 2 %24 = invoke i8 @"_ZN4core3fmt8builders10DebugTuple6finish28_$u7b$$u7b$closure$u7d$$u7d$17h7d172518371ddc4dE"(i8* %23) to label %bb7 unwind label %cleanup bb5: ; preds = %start store i8 0, i8* %_12 %25 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, %"fmt::Error" }* %26 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %25, i32 0, i32 1 %27 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 1, i8* %27 br label %bb6 bb6: ; preds = %bb7, %bb5 %28 = load i8, i8* %_14, !range !2 %29 = trunc i8 %28 to i1 br i1 %29, label %bb15, label %bb8 bb7: ; preds = %bb4 store i8 %24, i8* %abi_cast2 %30 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb6 bb8: ; preds = %bb15, %bb6 %31 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %32 = load i8, i8* %31, !range !2 %33 = zext i8 %32 to i16 switch i16 %33, label %bb18 [ i16 0, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb19, %bb18 %34 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %35 = load i8, i8* %34, align 1 ret i8 %35 bb10: ; preds = %bb2 %36 = load i8, i8* %_13, !range !2 %37 = trunc i8 %36 to i1 br i1 %37, label %bb11, label %bb1 bb11: ; preds = %bb10 store i8 0, i8* %_13 br label %bb1 bb12: ; preds = %bb2 %38 = load i8, i8* %_12, !range !2 %39 = trunc i8 %38 to i1 br i1 %39, label %bb13, label %bb1 bb13: ; preds = %bb12 store i8 0, i8* %_12 br label %bb1 bb14: ; preds = %bb3 store i8 0, i8* %_14 br label %bb2 bb15: ; preds = %bb6 store i8 0, i8* %_14 br label %bb8 bb16: ; preds = %bb8 %40 = load i8, i8* %_13, !range !2 %41 = trunc i8 %40 to i1 br i1 %41, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_13 br label %bb9 bb18: ; preds = %bb8 %42 = load i8, i8* %_12, !range !2 %43 = trunc i8 %42 to i1 br i1 %43, label %bb19, label %bb9 bb19: ; preds = %bb18 store i8 0, i8* %_12 br label %bb9 cleanup: ; preds = %bb4 %44 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %44, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h52a6528c323e8e92E"(i8, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast2 = alloca i8 %personalityslot = alloca { i8*, i32 } %_14 = alloca i8 %_13 = alloca i8 %_12 = alloca i8 %_9 = alloca { {} } %_8 = alloca %closure.31 %op = alloca %closure.31 %self = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast1 = alloca i8* %arg1 = alloca %closure.31 %abi_cast = alloca i8 %arg0 = alloca %"result::Result<(), fmt::Error>" store i8 %0, i8* %abi_cast %2 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) store i8* %1, i8** %abi_cast1 %3 = bitcast %closure.31* %arg1 to i8* %4 = bitcast i8** %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_12 store i8 0, i8* %_14 store i8 0, i8* %_13 store i8 1, i8* %_12 store i8 1, i8* %_13 %5 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* %6 = bitcast %"result::Result<(), fmt::Error>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 1, i32 1, i1 false) store i8 1, i8* %_14 %7 = bitcast %closure.31* %arg1 to i8* %8 = bitcast %closure.31* %op to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %10 = load i8, i8* %9, !range !2 %11 = zext i8 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb11, %bb10, %bb13, %bb12 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb14, %bb3 %13 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %14 = load i8, i8* %13, !range !2 %15 = zext i8 %14 to i16 switch i16 %15, label %bb12 [ i16 0, label %bb10 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_14, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb14, label %bb2 bb4: ; preds = %start store i8 0, i8* %_13 %18 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, {} }* %19 = getelementptr inbounds { i8, {} }, { i8, {} }* %18, i32 0, i32 1 store i8 0, i8* %_14 %20 = bitcast %closure.31* %op to i8* %21 = bitcast %closure.31* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 2, i32 2, i1 false) %22 = bitcast %closure.31* %_8 to i8** %23 = load i8*, i8** %22, align 2 %24 = invoke i8 @"_ZN4core3fmt8builders11DebugStruct6finish28_$u7b$$u7b$closure$u7d$$u7d$17hd001e5185c778061E"(i8* %23) to label %bb7 unwind label %cleanup bb5: ; preds = %start store i8 0, i8* %_12 %25 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, %"fmt::Error" }* %26 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %25, i32 0, i32 1 %27 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 1, i8* %27 br label %bb6 bb6: ; preds = %bb7, %bb5 %28 = load i8, i8* %_14, !range !2 %29 = trunc i8 %28 to i1 br i1 %29, label %bb15, label %bb8 bb7: ; preds = %bb4 store i8 %24, i8* %abi_cast2 %30 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb6 bb8: ; preds = %bb15, %bb6 %31 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %32 = load i8, i8* %31, !range !2 %33 = zext i8 %32 to i16 switch i16 %33, label %bb18 [ i16 0, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb19, %bb18 %34 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %35 = load i8, i8* %34, align 1 ret i8 %35 bb10: ; preds = %bb2 %36 = load i8, i8* %_13, !range !2 %37 = trunc i8 %36 to i1 br i1 %37, label %bb11, label %bb1 bb11: ; preds = %bb10 store i8 0, i8* %_13 br label %bb1 bb12: ; preds = %bb2 %38 = load i8, i8* %_12, !range !2 %39 = trunc i8 %38 to i1 br i1 %39, label %bb13, label %bb1 bb13: ; preds = %bb12 store i8 0, i8* %_12 br label %bb1 bb14: ; preds = %bb3 store i8 0, i8* %_14 br label %bb2 bb15: ; preds = %bb6 store i8 0, i8* %_14 br label %bb8 bb16: ; preds = %bb8 %40 = load i8, i8* %_13, !range !2 %41 = trunc i8 %40 to i1 br i1 %41, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_13 br label %bb9 bb18: ; preds = %bb8 %42 = load i8, i8* %_12, !range !2 %43 = trunc i8 %42 to i1 br i1 %43, label %bb19, label %bb9 bb19: ; preds = %bb18 store i8 0, i8* %_12 br label %bb9 cleanup: ; preds = %bb4 %44 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %44, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h599665accfd2debfE"(i8, %closure.32* noalias nocapture dereferenceable(6)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast1 = alloca i8 %personalityslot = alloca { i8*, i32 } %_14 = alloca i8 %_13 = alloca i8 %_12 = alloca i8 %_9 = alloca { {} } %_8 = alloca %closure.32 %op = alloca %closure.32 %self = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8 %arg0 = alloca %"result::Result<(), fmt::Error>" store i8 %0, i8* %abi_cast %2 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_12 store i8 0, i8* %_14 store i8 0, i8* %_13 store i8 1, i8* %_12 store i8 1, i8* %_13 %3 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* %4 = bitcast %"result::Result<(), fmt::Error>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 1, i32 1, i1 false) store i8 1, i8* %_14 %5 = bitcast %closure.32* %1 to i8* %6 = bitcast %closure.32* %op to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 6, i32 2, i1 false) %7 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %8 = load i8, i8* %7, !range !2 %9 = zext i8 %8 to i16 switch i16 %9, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb11, %bb10, %bb13, %bb12 %10 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %10 bb2: ; preds = %bb14, %bb3 %11 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %12 = load i8, i8* %11, !range !2 %13 = zext i8 %12 to i16 switch i16 %13, label %bb12 [ i16 0, label %bb10 ] bb3: ; preds = %cleanup %14 = load i8, i8* %_14, !range !2 %15 = trunc i8 %14 to i1 br i1 %15, label %bb14, label %bb2 bb4: ; preds = %start store i8 0, i8* %_13 %16 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, {} }* %17 = getelementptr inbounds { i8, {} }, { i8, {} }* %16, i32 0, i32 1 store i8 0, i8* %_14 %18 = bitcast %closure.32* %op to i8* %19 = bitcast %closure.32* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 6, i32 2, i1 false) %20 = invoke i8 @"_ZN4core3fmt8builders11DebugStruct5field28_$u7b$$u7b$closure$u7d$$u7d$17h4f9ccf025a070effE"(%closure.32* noalias nocapture dereferenceable(6) %_8) to label %bb7 unwind label %cleanup bb5: ; preds = %start store i8 0, i8* %_12 %21 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, %"fmt::Error" }* %22 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %21, i32 0, i32 1 %23 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 1, i8* %23 br label %bb6 bb6: ; preds = %bb7, %bb5 %24 = load i8, i8* %_14, !range !2 %25 = trunc i8 %24 to i1 br i1 %25, label %bb15, label %bb8 bb7: ; preds = %bb4 store i8 %20, i8* %abi_cast1 %26 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb6 bb8: ; preds = %bb15, %bb6 %27 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %28 = load i8, i8* %27, !range !2 %29 = zext i8 %28 to i16 switch i16 %29, label %bb18 [ i16 0, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb19, %bb18 %30 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %31 = load i8, i8* %30, align 1 ret i8 %31 bb10: ; preds = %bb2 %32 = load i8, i8* %_13, !range !2 %33 = trunc i8 %32 to i1 br i1 %33, label %bb11, label %bb1 bb11: ; preds = %bb10 store i8 0, i8* %_13 br label %bb1 bb12: ; preds = %bb2 %34 = load i8, i8* %_12, !range !2 %35 = trunc i8 %34 to i1 br i1 %35, label %bb13, label %bb1 bb13: ; preds = %bb12 store i8 0, i8* %_12 br label %bb1 bb14: ; preds = %bb3 store i8 0, i8* %_14 br label %bb2 bb15: ; preds = %bb6 store i8 0, i8* %_14 br label %bb8 bb16: ; preds = %bb8 %36 = load i8, i8* %_13, !range !2 %37 = trunc i8 %36 to i1 br i1 %37, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_13 br label %bb9 bb18: ; preds = %bb8 %38 = load i8, i8* %_12, !range !2 %39 = trunc i8 %38 to i1 br i1 %39, label %bb19, label %bb9 bb19: ; preds = %bb18 store i8 0, i8* %_12 br label %bb9 cleanup: ; preds = %bb4 %40 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %40, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h74a6d0c38ec95dcdE"(i8, %closure.33* noalias nocapture dereferenceable(6)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast1 = alloca i8 %personalityslot = alloca { i8*, i32 } %_14 = alloca i8 %_13 = alloca i8 %_12 = alloca i8 %_9 = alloca { {} } %_8 = alloca %closure.33 %op = alloca %closure.33 %self = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8 %arg0 = alloca %"result::Result<(), fmt::Error>" store i8 %0, i8* %abi_cast %2 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_12 store i8 0, i8* %_14 store i8 0, i8* %_13 store i8 1, i8* %_12 store i8 1, i8* %_13 %3 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* %4 = bitcast %"result::Result<(), fmt::Error>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 1, i32 1, i1 false) store i8 1, i8* %_14 %5 = bitcast %closure.33* %1 to i8* %6 = bitcast %closure.33* %op to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 6, i32 2, i1 false) %7 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %8 = load i8, i8* %7, !range !2 %9 = zext i8 %8 to i16 switch i16 %9, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb11, %bb10, %bb13, %bb12 %10 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %10 bb2: ; preds = %bb14, %bb3 %11 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %12 = load i8, i8* %11, !range !2 %13 = zext i8 %12 to i16 switch i16 %13, label %bb12 [ i16 0, label %bb10 ] bb3: ; preds = %cleanup %14 = load i8, i8* %_14, !range !2 %15 = trunc i8 %14 to i1 br i1 %15, label %bb14, label %bb2 bb4: ; preds = %start store i8 0, i8* %_13 %16 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, {} }* %17 = getelementptr inbounds { i8, {} }, { i8, {} }* %16, i32 0, i32 1 store i8 0, i8* %_14 %18 = bitcast %closure.33* %op to i8* %19 = bitcast %closure.33* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 6, i32 2, i1 false) %20 = invoke i8 @"_ZN4core3fmt8builders8DebugMap5entry28_$u7b$$u7b$closure$u7d$$u7d$17h81e525fdafaa82bfE"(%closure.33* noalias nocapture dereferenceable(6) %_8) to label %bb7 unwind label %cleanup bb5: ; preds = %start store i8 0, i8* %_12 %21 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, %"fmt::Error" }* %22 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %21, i32 0, i32 1 %23 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 1, i8* %23 br label %bb6 bb6: ; preds = %bb7, %bb5 %24 = load i8, i8* %_14, !range !2 %25 = trunc i8 %24 to i1 br i1 %25, label %bb15, label %bb8 bb7: ; preds = %bb4 store i8 %20, i8* %abi_cast1 %26 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb6 bb8: ; preds = %bb15, %bb6 %27 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %28 = load i8, i8* %27, !range !2 %29 = zext i8 %28 to i16 switch i16 %29, label %bb18 [ i16 0, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb19, %bb18 %30 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %31 = load i8, i8* %30, align 1 ret i8 %31 bb10: ; preds = %bb2 %32 = load i8, i8* %_13, !range !2 %33 = trunc i8 %32 to i1 br i1 %33, label %bb11, label %bb1 bb11: ; preds = %bb10 store i8 0, i8* %_13 br label %bb1 bb12: ; preds = %bb2 %34 = load i8, i8* %_12, !range !2 %35 = trunc i8 %34 to i1 br i1 %35, label %bb13, label %bb1 bb13: ; preds = %bb12 store i8 0, i8* %_12 br label %bb1 bb14: ; preds = %bb3 store i8 0, i8* %_14 br label %bb2 bb15: ; preds = %bb6 store i8 0, i8* %_14 br label %bb8 bb16: ; preds = %bb8 %36 = load i8, i8* %_13, !range !2 %37 = trunc i8 %36 to i1 br i1 %37, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_13 br label %bb9 bb18: ; preds = %bb8 %38 = load i8, i8* %_12, !range !2 %39 = trunc i8 %38 to i1 br i1 %39, label %bb19, label %bb9 bb19: ; preds = %bb18 store i8 0, i8* %_12 br label %bb9 cleanup: ; preds = %bb4 %40 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %40, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h997a5dc0d9686cc4E"(i8, %closure.34* noalias nocapture dereferenceable(4)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast1 = alloca i8 %personalityslot = alloca { i8*, i32 } %arg = alloca %closure.34 %_14 = alloca i8 %_13 = alloca i8 %_12 = alloca i8 %_9 = alloca { {} } %self = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8 %arg0 = alloca %"result::Result<(), fmt::Error>" store i8 %0, i8* %abi_cast %2 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_12 store i8 0, i8* %_14 store i8 0, i8* %_13 store i8 1, i8* %_12 store i8 1, i8* %_13 %3 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* %4 = bitcast %"result::Result<(), fmt::Error>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 1, i32 1, i1 false) store i8 1, i8* %_14 %5 = getelementptr inbounds %closure.34, %closure.34* %1, i32 0, i32 0 %6 = getelementptr inbounds %closure.34, %closure.34* %1, i32 0, i32 1 %7 = load %"fmt::builders::DebugInner"**, %"fmt::builders::DebugInner"*** %5, !nonnull !1 %8 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %6, !nonnull !1 %9 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %10 = load i8, i8* %9, !range !2 %11 = zext i8 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb11, %bb10, %bb13, %bb12 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb14, %bb3 %13 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %14 = load i8, i8* %13, !range !2 %15 = zext i8 %14 to i16 switch i16 %15, label %bb12 [ i16 0, label %bb10 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_14, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb14, label %bb2 bb4: ; preds = %start store i8 0, i8* %_13 %18 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, {} }* %19 = getelementptr inbounds { i8, {} }, { i8, {} }* %18, i32 0, i32 1 store i8 0, i8* %_14 %20 = getelementptr inbounds %closure.34, %closure.34* %arg, i32 0, i32 0 store %"fmt::builders::DebugInner"** %7, %"fmt::builders::DebugInner"*** %20 %21 = getelementptr inbounds %closure.34, %closure.34* %arg, i32 0, i32 1 store { i8*, void (i8*)** }* %8, { i8*, void (i8*)** }** %21 %22 = invoke i8 @"_ZN4core3fmt8builders10DebugInner5entry28_$u7b$$u7b$closure$u7d$$u7d$17h9b8353c0c26bfdb3E"(%closure.34* noalias nocapture dereferenceable(4) %arg) to label %bb7 unwind label %cleanup bb5: ; preds = %start store i8 0, i8* %_12 %23 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, %"fmt::Error" }* %24 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %23, i32 0, i32 1 %25 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 1, i8* %25 br label %bb6 bb6: ; preds = %bb7, %bb5 %26 = load i8, i8* %_14, !range !2 %27 = trunc i8 %26 to i1 br i1 %27, label %bb15, label %bb8 bb7: ; preds = %bb4 store i8 %22, i8* %abi_cast1 %28 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb6 bb8: ; preds = %bb15, %bb6 %29 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %30 = load i8, i8* %29, !range !2 %31 = zext i8 %30 to i16 switch i16 %31, label %bb18 [ i16 0, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb19, %bb18 %32 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %33 = load i8, i8* %32, align 1 ret i8 %33 bb10: ; preds = %bb2 %34 = load i8, i8* %_13, !range !2 %35 = trunc i8 %34 to i1 br i1 %35, label %bb11, label %bb1 bb11: ; preds = %bb10 store i8 0, i8* %_13 br label %bb1 bb12: ; preds = %bb2 %36 = load i8, i8* %_12, !range !2 %37 = trunc i8 %36 to i1 br i1 %37, label %bb13, label %bb1 bb13: ; preds = %bb12 store i8 0, i8* %_12 br label %bb1 bb14: ; preds = %bb3 store i8 0, i8* %_14 br label %bb2 bb15: ; preds = %bb6 store i8 0, i8* %_14 br label %bb8 bb16: ; preds = %bb8 %38 = load i8, i8* %_13, !range !2 %39 = trunc i8 %38 to i1 br i1 %39, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_13 br label %bb9 bb18: ; preds = %bb8 %40 = load i8, i8* %_12, !range !2 %41 = trunc i8 %40 to i1 br i1 %41, label %bb19, label %bb9 bb19: ; preds = %bb18 store i8 0, i8* %_12 br label %bb9 cleanup: ; preds = %bb4 %42 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %42, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17hb058ea6d26260ef4E"(i8, %closure.35* noalias nocapture dereferenceable(4)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast1 = alloca i8 %personalityslot = alloca { i8*, i32 } %arg = alloca %closure.35 %_14 = alloca i8 %_13 = alloca i8 %_12 = alloca i8 %_9 = alloca { {} } %self = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8 %arg0 = alloca %"result::Result<(), fmt::Error>" store i8 %0, i8* %abi_cast %2 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_12 store i8 0, i8* %_14 store i8 0, i8* %_13 store i8 1, i8* %_12 store i8 1, i8* %_13 %3 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* %4 = bitcast %"result::Result<(), fmt::Error>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 1, i32 1, i1 false) store i8 1, i8* %_14 %5 = getelementptr inbounds %closure.35, %closure.35* %1, i32 0, i32 0 %6 = getelementptr inbounds %closure.35, %closure.35* %1, i32 0, i32 1 %7 = load %"fmt::builders::DebugMap"**, %"fmt::builders::DebugMap"*** %5, !nonnull !1 %8 = load %str_slice*, %str_slice** %6, !nonnull !1 %9 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %10 = load i8, i8* %9, !range !2 %11 = zext i8 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb11, %bb10, %bb13, %bb12 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb14, %bb3 %13 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %14 = load i8, i8* %13, !range !2 %15 = zext i8 %14 to i16 switch i16 %15, label %bb12 [ i16 0, label %bb10 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_14, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb14, label %bb2 bb4: ; preds = %start store i8 0, i8* %_13 %18 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, {} }* %19 = getelementptr inbounds { i8, {} }, { i8, {} }* %18, i32 0, i32 1 store i8 0, i8* %_14 %20 = getelementptr inbounds %closure.35, %closure.35* %arg, i32 0, i32 0 store %"fmt::builders::DebugMap"** %7, %"fmt::builders::DebugMap"*** %20 %21 = getelementptr inbounds %closure.35, %closure.35* %arg, i32 0, i32 1 store %str_slice* %8, %str_slice** %21 %22 = invoke i8 @"_ZN4core3fmt8builders8DebugMap6finish28_$u7b$$u7b$closure$u7d$$u7d$17h35f91d5e1b44d043E"(%closure.35* noalias nocapture dereferenceable(4) %arg) to label %bb7 unwind label %cleanup bb5: ; preds = %start store i8 0, i8* %_12 %23 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, %"fmt::Error" }* %24 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %23, i32 0, i32 1 %25 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 1, i8* %25 br label %bb6 bb6: ; preds = %bb7, %bb5 %26 = load i8, i8* %_14, !range !2 %27 = trunc i8 %26 to i1 br i1 %27, label %bb15, label %bb8 bb7: ; preds = %bb4 store i8 %22, i8* %abi_cast1 %28 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb6 bb8: ; preds = %bb15, %bb6 %29 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %30 = load i8, i8* %29, !range !2 %31 = zext i8 %30 to i16 switch i16 %31, label %bb18 [ i16 0, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb19, %bb18 %32 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %33 = load i8, i8* %32, align 1 ret i8 %33 bb10: ; preds = %bb2 %34 = load i8, i8* %_13, !range !2 %35 = trunc i8 %34 to i1 br i1 %35, label %bb11, label %bb1 bb11: ; preds = %bb10 store i8 0, i8* %_13 br label %bb1 bb12: ; preds = %bb2 %36 = load i8, i8* %_12, !range !2 %37 = trunc i8 %36 to i1 br i1 %37, label %bb13, label %bb1 bb13: ; preds = %bb12 store i8 0, i8* %_12 br label %bb1 bb14: ; preds = %bb3 store i8 0, i8* %_14 br label %bb2 bb15: ; preds = %bb6 store i8 0, i8* %_14 br label %bb8 bb16: ; preds = %bb8 %38 = load i8, i8* %_13, !range !2 %39 = trunc i8 %38 to i1 br i1 %39, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_13 br label %bb9 bb18: ; preds = %bb8 %40 = load i8, i8* %_12, !range !2 %41 = trunc i8 %40 to i1 br i1 %41, label %bb19, label %bb9 bb19: ; preds = %bb18 store i8 0, i8* %_12 br label %bb9 cleanup: ; preds = %bb4 %42 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %42, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17hb4c820d24c493fc4E"(i8, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast2 = alloca i8 %personalityslot = alloca { i8*, i32 } %_14 = alloca i8 %_13 = alloca i8 %_12 = alloca i8 %_9 = alloca { {} } %_8 = alloca %closure.36 %op = alloca %closure.36 %self = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast1 = alloca i8* %arg1 = alloca %closure.36 %abi_cast = alloca i8 %arg0 = alloca %"result::Result<(), fmt::Error>" store i8 %0, i8* %abi_cast %2 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) store i8* %1, i8** %abi_cast1 %3 = bitcast %closure.36* %arg1 to i8* %4 = bitcast i8** %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_12 store i8 0, i8* %_14 store i8 0, i8* %_13 store i8 1, i8* %_12 store i8 1, i8* %_13 %5 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* %6 = bitcast %"result::Result<(), fmt::Error>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 1, i32 1, i1 false) store i8 1, i8* %_14 %7 = bitcast %closure.36* %arg1 to i8* %8 = bitcast %closure.36* %op to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %10 = load i8, i8* %9, !range !2 %11 = zext i8 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb11, %bb10, %bb13, %bb12 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb14, %bb3 %13 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %14 = load i8, i8* %13, !range !2 %15 = zext i8 %14 to i16 switch i16 %15, label %bb12 [ i16 0, label %bb10 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_14, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb14, label %bb2 bb4: ; preds = %start store i8 0, i8* %_13 %18 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, {} }* %19 = getelementptr inbounds { i8, {} }, { i8, {} }* %18, i32 0, i32 1 store i8 0, i8* %_14 %20 = bitcast %closure.36* %op to i8* %21 = bitcast %closure.36* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 2, i32 2, i1 false) %22 = bitcast %closure.36* %_8 to i8** %23 = load i8*, i8** %22, align 2 %24 = invoke i8 @"_ZN4core3fmt8builders9DebugList6finish28_$u7b$$u7b$closure$u7d$$u7d$17h8f11e3006ae4dcdeE"(i8* %23) to label %bb7 unwind label %cleanup bb5: ; preds = %start store i8 0, i8* %_12 %25 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, %"fmt::Error" }* %26 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %25, i32 0, i32 1 %27 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 1, i8* %27 br label %bb6 bb6: ; preds = %bb7, %bb5 %28 = load i8, i8* %_14, !range !2 %29 = trunc i8 %28 to i1 br i1 %29, label %bb15, label %bb8 bb7: ; preds = %bb4 store i8 %24, i8* %abi_cast2 %30 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb6 bb8: ; preds = %bb15, %bb6 %31 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %32 = load i8, i8* %31, !range !2 %33 = zext i8 %32 to i16 switch i16 %33, label %bb18 [ i16 0, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb19, %bb18 %34 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %35 = load i8, i8* %34, align 1 ret i8 %35 bb10: ; preds = %bb2 %36 = load i8, i8* %_13, !range !2 %37 = trunc i8 %36 to i1 br i1 %37, label %bb11, label %bb1 bb11: ; preds = %bb10 store i8 0, i8* %_13 br label %bb1 bb12: ; preds = %bb2 %38 = load i8, i8* %_12, !range !2 %39 = trunc i8 %38 to i1 br i1 %39, label %bb13, label %bb1 bb13: ; preds = %bb12 store i8 0, i8* %_12 br label %bb1 bb14: ; preds = %bb3 store i8 0, i8* %_14 br label %bb2 bb15: ; preds = %bb6 store i8 0, i8* %_14 br label %bb8 bb16: ; preds = %bb8 %40 = load i8, i8* %_13, !range !2 %41 = trunc i8 %40 to i1 br i1 %41, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_13 br label %bb9 bb18: ; preds = %bb8 %42 = load i8, i8* %_12, !range !2 %43 = trunc i8 %42 to i1 br i1 %43, label %bb19, label %bb9 bb19: ; preds = %bb18 store i8 0, i8* %_12 br label %bb9 cleanup: ; preds = %bb4 %44 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %44, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17hbddab032c326f35eE"(i8, i8*) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast2 = alloca i8 %personalityslot = alloca { i8*, i32 } %_14 = alloca i8 %_13 = alloca i8 %_12 = alloca i8 %_9 = alloca { {} } %_8 = alloca %closure.37 %op = alloca %closure.37 %self = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast1 = alloca i8* %arg1 = alloca %closure.37 %abi_cast = alloca i8 %arg0 = alloca %"result::Result<(), fmt::Error>" store i8 %0, i8* %abi_cast %2 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) store i8* %1, i8** %abi_cast1 %3 = bitcast %closure.37* %arg1 to i8* %4 = bitcast i8** %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_12 store i8 0, i8* %_14 store i8 0, i8* %_13 store i8 1, i8* %_12 store i8 1, i8* %_13 %5 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* %6 = bitcast %"result::Result<(), fmt::Error>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 1, i32 1, i1 false) store i8 1, i8* %_14 %7 = bitcast %closure.37* %arg1 to i8* %8 = bitcast %closure.37* %op to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %10 = load i8, i8* %9, !range !2 %11 = zext i8 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb11, %bb10, %bb13, %bb12 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb14, %bb3 %13 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %14 = load i8, i8* %13, !range !2 %15 = zext i8 %14 to i16 switch i16 %15, label %bb12 [ i16 0, label %bb10 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_14, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb14, label %bb2 bb4: ; preds = %start store i8 0, i8* %_13 %18 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, {} }* %19 = getelementptr inbounds { i8, {} }, { i8, {} }* %18, i32 0, i32 1 store i8 0, i8* %_14 %20 = bitcast %closure.37* %op to i8* %21 = bitcast %closure.37* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 2, i32 2, i1 false) %22 = bitcast %closure.37* %_8 to i8** %23 = load i8*, i8** %22, align 2 %24 = invoke i8 @"_ZN4core3fmt8builders8DebugSet6finish28_$u7b$$u7b$closure$u7d$$u7d$17hc4408c524dfd64efE"(i8* %23) to label %bb7 unwind label %cleanup bb5: ; preds = %start store i8 0, i8* %_12 %25 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, %"fmt::Error" }* %26 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %25, i32 0, i32 1 %27 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 1, i8* %27 br label %bb6 bb6: ; preds = %bb7, %bb5 %28 = load i8, i8* %_14, !range !2 %29 = trunc i8 %28 to i1 br i1 %29, label %bb15, label %bb8 bb7: ; preds = %bb4 store i8 %24, i8* %abi_cast2 %30 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb6 bb8: ; preds = %bb15, %bb6 %31 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %32 = load i8, i8* %31, !range !2 %33 = zext i8 %32 to i16 switch i16 %33, label %bb18 [ i16 0, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb19, %bb18 %34 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %35 = load i8, i8* %34, align 1 ret i8 %35 bb10: ; preds = %bb2 %36 = load i8, i8* %_13, !range !2 %37 = trunc i8 %36 to i1 br i1 %37, label %bb11, label %bb1 bb11: ; preds = %bb10 store i8 0, i8* %_13 br label %bb1 bb12: ; preds = %bb2 %38 = load i8, i8* %_12, !range !2 %39 = trunc i8 %38 to i1 br i1 %39, label %bb13, label %bb1 bb13: ; preds = %bb12 store i8 0, i8* %_12 br label %bb1 bb14: ; preds = %bb3 store i8 0, i8* %_14 br label %bb2 bb15: ; preds = %bb6 store i8 0, i8* %_14 br label %bb8 bb16: ; preds = %bb8 %40 = load i8, i8* %_13, !range !2 %41 = trunc i8 %40 to i1 br i1 %41, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_13 br label %bb9 bb18: ; preds = %bb8 %42 = load i8, i8* %_12, !range !2 %43 = trunc i8 %42 to i1 br i1 %43, label %bb19, label %bb9 bb19: ; preds = %bb18 store i8 0, i8* %_12 br label %bb9 cleanup: ; preds = %bb4 %44 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %44, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17hf5b1c9d65ff2d317E"(i8, %closure.38* noalias nocapture dereferenceable(4)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast1 = alloca i8 %personalityslot = alloca { i8*, i32 } %arg = alloca %closure.38 %_14 = alloca i8 %_13 = alloca i8 %_12 = alloca i8 %_9 = alloca { {} } %self = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8 %arg0 = alloca %"result::Result<(), fmt::Error>" store i8 %0, i8* %abi_cast %2 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_12 store i8 0, i8* %_14 store i8 0, i8* %_13 store i8 1, i8* %_12 store i8 1, i8* %_13 %3 = bitcast %"result::Result<(), fmt::Error>"* %arg0 to i8* %4 = bitcast %"result::Result<(), fmt::Error>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 1, i32 1, i1 false) store i8 1, i8* %_14 %5 = getelementptr inbounds %closure.38, %closure.38* %1, i32 0, i32 0 %6 = getelementptr inbounds %closure.38, %closure.38* %1, i32 0, i32 1 %7 = load %"fmt::builders::DebugInner"**, %"fmt::builders::DebugInner"*** %5, !nonnull !1 %8 = load %str_slice*, %str_slice** %6, !nonnull !1 %9 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %10 = load i8, i8* %9, !range !2 %11 = zext i8 %10 to i16 switch i16 %11, label %bb5 [ i16 0, label %bb4 ] bb1: ; preds = %bb11, %bb10, %bb13, %bb12 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %bb14, %bb3 %13 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %14 = load i8, i8* %13, !range !2 %15 = zext i8 %14 to i16 switch i16 %15, label %bb12 [ i16 0, label %bb10 ] bb3: ; preds = %cleanup %16 = load i8, i8* %_14, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb14, label %bb2 bb4: ; preds = %start store i8 0, i8* %_13 %18 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, {} }* %19 = getelementptr inbounds { i8, {} }, { i8, {} }* %18, i32 0, i32 1 store i8 0, i8* %_14 %20 = getelementptr inbounds %closure.38, %closure.38* %arg, i32 0, i32 0 store %"fmt::builders::DebugInner"** %7, %"fmt::builders::DebugInner"*** %20 %21 = getelementptr inbounds %closure.38, %closure.38* %arg, i32 0, i32 1 store %str_slice* %8, %str_slice** %21 %22 = invoke i8 @"_ZN4core3fmt8builders10DebugInner6finish28_$u7b$$u7b$closure$u7d$$u7d$17h5af537c454c96b3cE"(%closure.38* noalias nocapture dereferenceable(4) %arg) to label %bb7 unwind label %cleanup bb5: ; preds = %start store i8 0, i8* %_12 %23 = bitcast %"result::Result<(), fmt::Error>"* %self to { i8, %"fmt::Error" }* %24 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %23, i32 0, i32 1 %25 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 1, i8* %25 br label %bb6 bb6: ; preds = %bb7, %bb5 %26 = load i8, i8* %_14, !range !2 %27 = trunc i8 %26 to i1 br i1 %27, label %bb15, label %bb8 bb7: ; preds = %bb4 store i8 %22, i8* %abi_cast1 %28 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb6 bb8: ; preds = %bb15, %bb6 %29 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %self, i32 0, i32 0 %30 = load i8, i8* %29, !range !2 %31 = zext i8 %30 to i16 switch i16 %31, label %bb18 [ i16 0, label %bb16 ] bb9: ; preds = %bb17, %bb16, %bb19, %bb18 %32 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %33 = load i8, i8* %32, align 1 ret i8 %33 bb10: ; preds = %bb2 %34 = load i8, i8* %_13, !range !2 %35 = trunc i8 %34 to i1 br i1 %35, label %bb11, label %bb1 bb11: ; preds = %bb10 store i8 0, i8* %_13 br label %bb1 bb12: ; preds = %bb2 %36 = load i8, i8* %_12, !range !2 %37 = trunc i8 %36 to i1 br i1 %37, label %bb13, label %bb1 bb13: ; preds = %bb12 store i8 0, i8* %_12 br label %bb1 bb14: ; preds = %bb3 store i8 0, i8* %_14 br label %bb2 bb15: ; preds = %bb6 store i8 0, i8* %_14 br label %bb8 bb16: ; preds = %bb8 %38 = load i8, i8* %_13, !range !2 %39 = trunc i8 %38 to i1 br i1 %39, label %bb17, label %bb9 bb17: ; preds = %bb16 store i8 0, i8* %_13 br label %bb9 bb18: ; preds = %bb8 %40 = load i8, i8* %_12, !range !2 %41 = trunc i8 %40 to i1 br i1 %41, label %bb19, label %bb9 bb19: ; preds = %bb18 store i8 0, i8* %_12 br label %bb9 cleanup: ; preds = %bb4 %42 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %42, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: uwtable define internal zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h0a6a13ddc84b938dE(i16* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4793e85db16bca86E"(i16* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %3 = icmp eq i16 %2, 0 ret i1 %3 } ; Function Attrs: uwtable define internal zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h15e48f1f49712c9dE(%"fmt::ArgumentV1"* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h0547e3b3bacabdf7E"(%"fmt::ArgumentV1"* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %3 = icmp eq i16 %2, 0 ret i1 %3 } ; Function Attrs: uwtable define internal zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %3 = icmp eq i16 %2, 0 ret i1 %3 } ; Function Attrs: uwtable define internal zeroext i1 @_ZN4core5slice8SliceExt8is_empty17hfcd4c7e547b82cd8E(i32* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %3 = icmp eq i16 %2, 0 ret i1 %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h2aa32e151efb9711E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4), %"fmt::rt::v1::Argument"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_30 = alloca %"marker::PhantomData<&fmt::rt::v1::Argument>" %_14 = alloca %"fmt::rt::v1::Argument"* %p = alloca %"fmt::rt::v1::Argument"* br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17ha9d8ae27bc8815a5E() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 store %"fmt::rt::v1::Argument"* inttoptr (i16 1 to %"fmt::rt::v1::Argument"*), %"fmt::rt::v1::Argument"** %p br label %bb7 bb3: ; preds = %bb1 %5 = call %"fmt::rt::v1::Argument"* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h7d865ebd03d2327dE"(%"fmt::rt::v1::Argument"* noalias nonnull readonly %1, i16 %2) br label %bb4 bb4: ; preds = %bb3 %6 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h707422bda7debb80E"(%"fmt::rt::v1::Argument"* %5) br label %bb5 bb5: ; preds = %bb4 %7 = xor i1 %6, true call void @llvm.assume(i1 %7) br label %bb6 bb6: ; preds = %bb5 store %"fmt::rt::v1::Argument"* %5, %"fmt::rt::v1::Argument"** %p br label %bb7 bb7: ; preds = %bb6, %bb2 %8 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %p %9 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %p %10 = call i16 @_ZN4core3mem7size_of17ha9d8ae27bc8815a5E() br label %bb8 bb8: ; preds = %bb7 %11 = icmp eq i16 %10, 0 br i1 %11, label %bb9, label %bb10 bb9: ; preds = %bb8 %12 = bitcast %"fmt::rt::v1::Argument"* %9 to i8* %13 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h58b07a87c270645fE"(%"fmt::rt::v1::Argument"* noalias nonnull readonly %1, i16 %2) br label %bb11 bb10: ; preds = %bb8 %14 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h58b07a87c270645fE"(%"fmt::rt::v1::Argument"* noalias nonnull readonly %1, i16 %2) br label %bb13 bb11: ; preds = %bb9 %15 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %12, i16 %13) br label %bb12 bb12: ; preds = %bb11 %16 = bitcast i8* %15 to %"fmt::rt::v1::Argument"* store %"fmt::rt::v1::Argument"* %16, %"fmt::rt::v1::Argument"** %_14 br label %bb15 bb13: ; preds = %bb10 %17 = call %"fmt::rt::v1::Argument"* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17hdc114130aac1ef30E"(%"fmt::rt::v1::Argument"* %9, i16 %14) store %"fmt::rt::v1::Argument"* %17, %"fmt::rt::v1::Argument"** %_14 br label %bb14 bb14: ; preds = %bb13 br label %bb15 bb15: ; preds = %bb14, %bb12 %18 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 store %"fmt::rt::v1::Argument"* %8, %"fmt::rt::v1::Argument"** %18 %19 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %_14 %20 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 store %"fmt::rt::v1::Argument"* %19, %"fmt::rt::v1::Argument"** %20 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h339a5ca69547581eE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4), i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_30 = alloca %"marker::PhantomData<&u32>" %_14 = alloca i32* %p = alloca i32* br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 store i32* inttoptr (i16 1 to i32*), i32** %p br label %bb7 bb3: ; preds = %bb1 %5 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h1292721ede28a496E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb4 bb4: ; preds = %bb3 %6 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h120af63052ada8bcE"(i32* %5) br label %bb5 bb5: ; preds = %bb4 %7 = xor i1 %6, true call void @llvm.assume(i1 %7) br label %bb6 bb6: ; preds = %bb5 store i32* %5, i32** %p br label %bb7 bb7: ; preds = %bb6, %bb2 %8 = load i32*, i32** %p %9 = load i32*, i32** %p %10 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb8 bb8: ; preds = %bb7 %11 = icmp eq i16 %10, 0 br i1 %11, label %bb9, label %bb10 bb9: ; preds = %bb8 %12 = bitcast i32* %9 to i8* %13 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb11 bb10: ; preds = %bb8 %14 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb13 bb11: ; preds = %bb9 %15 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %12, i16 %13) br label %bb12 bb12: ; preds = %bb11 %16 = bitcast i8* %15 to i32* store i32* %16, i32** %_14 br label %bb15 bb13: ; preds = %bb10 %17 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %9, i16 %14) store i32* %17, i32** %_14 br label %bb14 bb14: ; preds = %bb13 br label %bb15 bb15: ; preds = %bb14, %bb12 %18 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 store i32* %8, i32** %18 %19 = load i32*, i32** %_14 %20 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 store i32* %19, i32** %20 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h3820afee8f9d16ceE"(%"slice::Iter<&str>"* noalias nocapture sret dereferenceable(4), %str_slice* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_30 = alloca %"marker::PhantomData<&&str>" %_14 = alloca %str_slice* %p = alloca %str_slice* br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17h0ac890a8161c5786E() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 store %str_slice* inttoptr (i16 1 to %str_slice*), %str_slice** %p br label %bb7 bb3: ; preds = %bb1 %5 = call %str_slice* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h0f8e3e0204e8dec7E"(%str_slice* noalias nonnull readonly %1, i16 %2) br label %bb4 bb4: ; preds = %bb3 %6 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h03e606deb25b5e10E"(%str_slice* %5) br label %bb5 bb5: ; preds = %bb4 %7 = xor i1 %6, true call void @llvm.assume(i1 %7) br label %bb6 bb6: ; preds = %bb5 store %str_slice* %5, %str_slice** %p br label %bb7 bb7: ; preds = %bb6, %bb2 %8 = load %str_slice*, %str_slice** %p %9 = load %str_slice*, %str_slice** %p %10 = call i16 @_ZN4core3mem7size_of17h0ac890a8161c5786E() br label %bb8 bb8: ; preds = %bb7 %11 = icmp eq i16 %10, 0 br i1 %11, label %bb9, label %bb10 bb9: ; preds = %bb8 %12 = bitcast %str_slice* %9 to i8* %13 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h90b3f99fd8c4973eE"(%str_slice* noalias nonnull readonly %1, i16 %2) br label %bb11 bb10: ; preds = %bb8 %14 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h90b3f99fd8c4973eE"(%str_slice* noalias nonnull readonly %1, i16 %2) br label %bb13 bb11: ; preds = %bb9 %15 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %12, i16 %13) br label %bb12 bb12: ; preds = %bb11 %16 = bitcast i8* %15 to %str_slice* store %str_slice* %16, %str_slice** %_14 br label %bb15 bb13: ; preds = %bb10 %17 = call %str_slice* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h7689fe68e66ad088E"(%str_slice* %9, i16 %14) store %str_slice* %17, %str_slice** %_14 br label %bb14 bb14: ; preds = %bb13 br label %bb15 bb15: ; preds = %bb14, %bb12 %18 = getelementptr inbounds %"slice::Iter<&str>", %"slice::Iter<&str>"* %0, i32 0, i32 0 store %str_slice* %8, %str_slice** %18 %19 = load %str_slice*, %str_slice** %_14 %20 = getelementptr inbounds %"slice::Iter<&str>", %"slice::Iter<&str>"* %0, i32 0, i32 1 store %str_slice* %19, %str_slice** %20 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h7a6646df3f0b1ee6E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4), %"num::flt2dec::Part"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_30 = alloca %"marker::PhantomData<&num::flt2dec::Part>" %_14 = alloca %"num::flt2dec::Part"* %p = alloca %"num::flt2dec::Part"* br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17h0b6fe43aba1ff0a7E() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 store %"num::flt2dec::Part"* inttoptr (i16 1 to %"num::flt2dec::Part"*), %"num::flt2dec::Part"** %p br label %bb7 bb3: ; preds = %bb1 %5 = call %"num::flt2dec::Part"* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17heef123162b609151E"(%"num::flt2dec::Part"* noalias nonnull readonly %1, i16 %2) br label %bb4 bb4: ; preds = %bb3 %6 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h98cbd775bcc6c0cdE"(%"num::flt2dec::Part"* %5) br label %bb5 bb5: ; preds = %bb4 %7 = xor i1 %6, true call void @llvm.assume(i1 %7) br label %bb6 bb6: ; preds = %bb5 store %"num::flt2dec::Part"* %5, %"num::flt2dec::Part"** %p br label %bb7 bb7: ; preds = %bb6, %bb2 %8 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %p %9 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %p %10 = call i16 @_ZN4core3mem7size_of17h0b6fe43aba1ff0a7E() br label %bb8 bb8: ; preds = %bb7 %11 = icmp eq i16 %10, 0 br i1 %11, label %bb9, label %bb10 bb9: ; preds = %bb8 %12 = bitcast %"num::flt2dec::Part"* %9 to i8* %13 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %1, i16 %2) br label %bb11 bb10: ; preds = %bb8 %14 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %1, i16 %2) br label %bb13 bb11: ; preds = %bb9 %15 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %12, i16 %13) br label %bb12 bb12: ; preds = %bb11 %16 = bitcast i8* %15 to %"num::flt2dec::Part"* store %"num::flt2dec::Part"* %16, %"num::flt2dec::Part"** %_14 br label %bb15 bb13: ; preds = %bb10 %17 = call %"num::flt2dec::Part"* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17hc6783221b028e272E"(%"num::flt2dec::Part"* %9, i16 %14) store %"num::flt2dec::Part"* %17, %"num::flt2dec::Part"** %_14 br label %bb14 bb14: ; preds = %bb13 br label %bb15 bb15: ; preds = %bb14, %bb12 %18 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 store %"num::flt2dec::Part"* %8, %"num::flt2dec::Part"** %18 %19 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %_14 %20 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 store %"num::flt2dec::Part"* %19, %"num::flt2dec::Part"** %20 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hbcc5d75534aa94bdE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4), i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_30 = alloca %"marker::PhantomData<&char>" %_14 = alloca i32* %p = alloca i32* br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17h71b326904f99a0adE() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 store i32* inttoptr (i16 1 to i32*), i32** %p br label %bb7 bb3: ; preds = %bb1 %5 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h8e6391b69a02c69aE"(i32* noalias nonnull readonly %1, i16 %2) br label %bb4 bb4: ; preds = %bb3 %6 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h9493170a785858c4E"(i32* %5) br label %bb5 bb5: ; preds = %bb4 %7 = xor i1 %6, true call void @llvm.assume(i1 %7) br label %bb6 bb6: ; preds = %bb5 store i32* %5, i32** %p br label %bb7 bb7: ; preds = %bb6, %bb2 %8 = load i32*, i32** %p %9 = load i32*, i32** %p %10 = call i16 @_ZN4core3mem7size_of17h71b326904f99a0adE() br label %bb8 bb8: ; preds = %bb7 %11 = icmp eq i16 %10, 0 br i1 %11, label %bb9, label %bb10 bb9: ; preds = %bb8 %12 = bitcast i32* %9 to i8* %13 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ae820b0e6739032E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb11 bb10: ; preds = %bb8 %14 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ae820b0e6739032E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb13 bb11: ; preds = %bb9 %15 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %12, i16 %13) br label %bb12 bb12: ; preds = %bb11 %16 = bitcast i8* %15 to i32* store i32* %16, i32** %_14 br label %bb15 bb13: ; preds = %bb10 %17 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h360b324363152bdfE"(i32* %9, i16 %14) store i32* %17, i32** %_14 br label %bb14 bb14: ; preds = %bb13 br label %bb15 bb15: ; preds = %bb14, %bb12 %18 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 store i32* %8, i32** %18 %19 = load i32*, i32** %_14 %20 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 store i32* %19, i32** %20 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hc163ef56fec2fcafE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4), %"fmt::ArgumentV1"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_30 = alloca %"marker::PhantomData<&fmt::ArgumentV1>" %_14 = alloca %"fmt::ArgumentV1"* %p = alloca %"fmt::ArgumentV1"* br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17hc1b9ae5696c2eb4dE() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 store %"fmt::ArgumentV1"* inttoptr (i16 1 to %"fmt::ArgumentV1"*), %"fmt::ArgumentV1"** %p br label %bb7 bb3: ; preds = %bb1 %5 = call %"fmt::ArgumentV1"* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h3295476eb5ed85f6E"(%"fmt::ArgumentV1"* noalias nonnull readonly %1, i16 %2) br label %bb4 bb4: ; preds = %bb3 %6 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h7af5f3ff29a6c847E"(%"fmt::ArgumentV1"* %5) br label %bb5 bb5: ; preds = %bb4 %7 = xor i1 %6, true call void @llvm.assume(i1 %7) br label %bb6 bb6: ; preds = %bb5 store %"fmt::ArgumentV1"* %5, %"fmt::ArgumentV1"** %p br label %bb7 bb7: ; preds = %bb6, %bb2 %8 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %p %9 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %p %10 = call i16 @_ZN4core3mem7size_of17hc1b9ae5696c2eb4dE() br label %bb8 bb8: ; preds = %bb7 %11 = icmp eq i16 %10, 0 br i1 %11, label %bb9, label %bb10 bb9: ; preds = %bb8 %12 = bitcast %"fmt::ArgumentV1"* %9 to i8* %13 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h0547e3b3bacabdf7E"(%"fmt::ArgumentV1"* noalias nonnull readonly %1, i16 %2) br label %bb11 bb10: ; preds = %bb8 %14 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h0547e3b3bacabdf7E"(%"fmt::ArgumentV1"* noalias nonnull readonly %1, i16 %2) br label %bb13 bb11: ; preds = %bb9 %15 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %12, i16 %13) br label %bb12 bb12: ; preds = %bb11 %16 = bitcast i8* %15 to %"fmt::ArgumentV1"* store %"fmt::ArgumentV1"* %16, %"fmt::ArgumentV1"** %_14 br label %bb15 bb13: ; preds = %bb10 %17 = call %"fmt::ArgumentV1"* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h4c05f99b7bf1470fE"(%"fmt::ArgumentV1"* %9, i16 %14) store %"fmt::ArgumentV1"* %17, %"fmt::ArgumentV1"** %_14 br label %bb14 bb14: ; preds = %bb13 br label %bb15 bb15: ; preds = %bb14, %bb12 %18 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 store %"fmt::ArgumentV1"* %8, %"fmt::ArgumentV1"** %18 %19 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %_14 %20 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 store %"fmt::ArgumentV1"* %19, %"fmt::ArgumentV1"** %20 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hcf4e8a889baff06eE"(%"slice::Iter<(u8, u8)>"* noalias nocapture sret dereferenceable(4), { i8, i8 }* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_30 = alloca %"marker::PhantomData<&(u8, u8)>" %_14 = alloca { i8, i8 }* %p = alloca { i8, i8 }* br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17hd469b45475411e2eE() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 store { i8, i8 }* inttoptr (i16 1 to { i8, i8 }*), { i8, i8 }** %p br label %bb7 bb3: ; preds = %bb1 %5 = call { i8, i8 }* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17hfa21851abe66fa52E"({ i8, i8 }* noalias nonnull readonly %1, i16 %2) br label %bb4 bb4: ; preds = %bb3 %6 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h730dd8153a9c1223E"({ i8, i8 }* %5) br label %bb5 bb5: ; preds = %bb4 %7 = xor i1 %6, true call void @llvm.assume(i1 %7) br label %bb6 bb6: ; preds = %bb5 store { i8, i8 }* %5, { i8, i8 }** %p br label %bb7 bb7: ; preds = %bb6, %bb2 %8 = load { i8, i8 }*, { i8, i8 }** %p %9 = load { i8, i8 }*, { i8, i8 }** %p %10 = call i16 @_ZN4core3mem7size_of17hd469b45475411e2eE() br label %bb8 bb8: ; preds = %bb7 %11 = icmp eq i16 %10, 0 br i1 %11, label %bb9, label %bb10 bb9: ; preds = %bb8 %12 = bitcast { i8, i8 }* %9 to i8* %13 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h42bedadb4f75e08dE"({ i8, i8 }* noalias nonnull readonly %1, i16 %2) br label %bb11 bb10: ; preds = %bb8 %14 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h42bedadb4f75e08dE"({ i8, i8 }* noalias nonnull readonly %1, i16 %2) br label %bb13 bb11: ; preds = %bb9 %15 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %12, i16 %13) br label %bb12 bb12: ; preds = %bb11 %16 = bitcast i8* %15 to { i8, i8 }* store { i8, i8 }* %16, { i8, i8 }** %_14 br label %bb15 bb13: ; preds = %bb10 %17 = call { i8, i8 }* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17hdee3ae921d7f2cceE"({ i8, i8 }* %9, i16 %14) store { i8, i8 }* %17, { i8, i8 }** %_14 br label %bb14 bb14: ; preds = %bb13 br label %bb15 bb15: ; preds = %bb14, %bb12 %18 = getelementptr inbounds %"slice::Iter<(u8, u8)>", %"slice::Iter<(u8, u8)>"* %0, i32 0, i32 0 store { i8, i8 }* %8, { i8, i8 }** %18 %19 = load { i8, i8 }*, { i8, i8 }** %_14 %20 = getelementptr inbounds %"slice::Iter<(u8, u8)>", %"slice::Iter<(u8, u8)>"* %0, i32 0, i32 1 store { i8, i8 }* %19, { i8, i8 }** %20 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_30 = alloca %"marker::PhantomData<&u8>" %_14 = alloca i8* %p = alloca i8* br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 store i8* inttoptr (i16 1 to i8*), i8** %p br label %bb7 bb3: ; preds = %bb1 %5 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb4 bb4: ; preds = %bb3 %6 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h906caa45cc6dd689E"(i8* %5) br label %bb5 bb5: ; preds = %bb4 %7 = xor i1 %6, true call void @llvm.assume(i1 %7) br label %bb6 bb6: ; preds = %bb5 store i8* %5, i8** %p br label %bb7 bb7: ; preds = %bb6, %bb2 %8 = load i8*, i8** %p %9 = load i8*, i8** %p %10 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb8 bb8: ; preds = %bb7 %11 = icmp eq i16 %10, 0 br i1 %11, label %bb9, label %bb10 bb9: ; preds = %bb8 %12 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb11 bb10: ; preds = %bb8 %13 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb13 bb11: ; preds = %bb9 %14 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %9, i16 %12) br label %bb12 bb12: ; preds = %bb11 store i8* %14, i8** %_14 br label %bb15 bb13: ; preds = %bb10 %15 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %9, i16 %13) store i8* %15, i8** %_14 br label %bb14 bb14: ; preds = %bb13 br label %bb15 bb15: ; preds = %bb14, %bb12 %16 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 store i8* %8, i8** %16 %17 = load i8*, i8** %_14 %18 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 store i8* %17, i8** %18 ret void } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3get17hebddaae803fd58a9E"(i8* noalias nonnull readonly, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_0 = alloca i8* br label %start start: ; preds = %entry-block %3 = invoke i8* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$3get17he7e6ad9cca099e4eE"(i16 %2, i8* noalias nonnull readonly %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %4 bb2: ; preds = %start store i8* %3, i8** %_0 %5 = load i8*, i8** %_0 ret i8* %5 cleanup: ; preds = %start %6 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %6, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$5first17haab01cb1f820b6f3E"(i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_0 = alloca i8* br label %start start: ; preds = %entry-block %2 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 store i8* null, i8** %_0 br label %bb5 bb3: ; preds = %bb1 %3 = icmp ult i16 0, %1 %4 = call i1 @llvm.expect.i1(i1 %3, i1 true) br i1 %4, label %bb4, label %panic bb4: ; preds = %bb3 %5 = getelementptr inbounds i8, i8* %0, i16 0 store i8* %5, i8** %_0 br label %bb5 bb5: ; preds = %bb4, %bb2 %6 = load i8*, i8** %_0 ret i8* %6 panic: ; preds = %bb3 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.6v, i16 0, i16 %1) unreachable } ; Function Attrs: inlinehint uwtable define internal %str_slice* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h0f8e3e0204e8dec7E"(%str_slice* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret %str_slice* %0 } ; Function Attrs: inlinehint uwtable define internal i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h1292721ede28a496E"(i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i32* %0 } ; Function Attrs: inlinehint uwtable define internal %"fmt::ArgumentV1"* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h3295476eb5ed85f6E"(%"fmt::ArgumentV1"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret %"fmt::ArgumentV1"* %0 } ; Function Attrs: inlinehint uwtable define internal %"fmt::rt::v1::Argument"* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h7d865ebd03d2327dE"(%"fmt::rt::v1::Argument"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret %"fmt::rt::v1::Argument"* %0 } ; Function Attrs: inlinehint uwtable define internal i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h8e6391b69a02c69aE"(i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i32* %0 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i8* %0 } ; Function Attrs: inlinehint uwtable define internal %"num::flt2dec::Part"* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17heef123162b609151E"(%"num::flt2dec::Part"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret %"num::flt2dec::Part"* %0 } ; Function Attrs: inlinehint uwtable define internal { i8, i8 }* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17hfa21851abe66fa52E"({ i8, i8 }* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret { i8, i8 }* %0 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h0547e3b3bacabdf7E"(%"fmt::ArgumentV1"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca %"slice::Repr" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Repr"* %transmute_temp to { %"fmt::ArgumentV1"*, i16 }* %3 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %2, i32 0, i32 0 store %"fmt::ArgumentV1"* %0, %"fmt::ArgumentV1"** %3, align 2 %4 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %2, i32 0, i32 1 store i16 %1, i16* %4, align 2 %5 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 0 %6 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 1 %7 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %5 %8 = load i16, i16* %6 br label %bb1 bb1: ; preds = %start ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h42bedadb4f75e08dE"({ i8, i8 }* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca %"slice::Repr<(u8, u8)>" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Repr<(u8, u8)>"* %transmute_temp to { { i8, i8 }*, i16 }* %3 = getelementptr inbounds { { i8, i8 }*, i16 }, { { i8, i8 }*, i16 }* %2, i32 0, i32 0 store { i8, i8 }* %0, { i8, i8 }** %3, align 2 %4 = getelementptr inbounds { { i8, i8 }*, i16 }, { { i8, i8 }*, i16 }* %2, i32 0, i32 1 store i16 %1, i16* %4, align 2 %5 = getelementptr inbounds %"slice::Repr<(u8, u8)>", %"slice::Repr<(u8, u8)>"* %transmute_temp, i32 0, i32 0 %6 = getelementptr inbounds %"slice::Repr<(u8, u8)>", %"slice::Repr<(u8, u8)>"* %transmute_temp, i32 0, i32 1 %7 = load { i8, i8 }*, { i8, i8 }** %5 %8 = load i16, i16* %6 br label %bb1 bb1: ; preds = %start ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4793e85db16bca86E"(i16* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca %"slice::Repr" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Repr"* %transmute_temp to { i16*, i16 }* %3 = getelementptr inbounds { i16*, i16 }, { i16*, i16 }* %2, i32 0, i32 0 store i16* %0, i16** %3, align 2 %4 = getelementptr inbounds { i16*, i16 }, { i16*, i16 }* %2, i32 0, i32 1 store i16 %1, i16* %4, align 2 %5 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 0 %6 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 1 %7 = load i16*, i16** %5 %8 = load i16, i16* %6 br label %bb1 bb1: ; preds = %start ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca %"slice::Repr" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Repr"* %transmute_temp to { i32*, i16 }* %3 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %2, i32 0, i32 0 store i32* %0, i32** %3, align 2 %4 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %2, i32 0, i32 1 store i16 %1, i16* %4, align 2 %5 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 0 %6 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 1 %7 = load i32*, i32** %5 %8 = load i16, i16* %6 br label %bb1 bb1: ; preds = %start ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ae820b0e6739032E"(i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca %"slice::Repr" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Repr"* %transmute_temp to { i32*, i16 }* %3 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %2, i32 0, i32 0 store i32* %0, i32** %3, align 2 %4 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %2, i32 0, i32 1 store i16 %1, i16* %4, align 2 %5 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 0 %6 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 1 %7 = load i32*, i32** %5 %8 = load i16, i16* %6 br label %bb1 bb1: ; preds = %start ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h58b07a87c270645fE"(%"fmt::rt::v1::Argument"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca %"slice::Repr" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Repr"* %transmute_temp to { %"fmt::rt::v1::Argument"*, i16 }* %3 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* %2, i32 0, i32 0 store %"fmt::rt::v1::Argument"* %0, %"fmt::rt::v1::Argument"** %3, align 2 %4 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* %2, i32 0, i32 1 store i16 %1, i16* %4, align 2 %5 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 0 %6 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 1 %7 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %5 %8 = load i16, i16* %6 br label %bb1 bb1: ; preds = %start ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca %"slice::Repr" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Repr"* %transmute_temp to { i8*, i16 }* %3 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %2, i32 0, i32 0 store i8* %0, i8** %3, align 2 %4 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %2, i32 0, i32 1 store i16 %1, i16* %4, align 2 %5 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 0 %6 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 1 %7 = load i8*, i8** %5 %8 = load i16, i16* %6 br label %bb1 bb1: ; preds = %start ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h90b3f99fd8c4973eE"(%str_slice* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca %"slice::Repr<&str>" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Repr<&str>"* %transmute_temp to { %str_slice*, i16 }* %3 = getelementptr inbounds { %str_slice*, i16 }, { %str_slice*, i16 }* %2, i32 0, i32 0 store %str_slice* %0, %str_slice** %3, align 2 %4 = getelementptr inbounds { %str_slice*, i16 }, { %str_slice*, i16 }* %2, i32 0, i32 1 store i16 %1, i16* %4, align 2 %5 = getelementptr inbounds %"slice::Repr<&str>", %"slice::Repr<&str>"* %transmute_temp, i32 0, i32 0 %6 = getelementptr inbounds %"slice::Repr<&str>", %"slice::Repr<&str>"* %transmute_temp, i32 0, i32 1 %7 = load %str_slice*, %str_slice** %5 %8 = load i16, i16* %6 br label %bb1 bb1: ; preds = %start ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hb31f3d514cc01906E"({ i64, i16, i16 }* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca %"slice::Repr<(u64, i16, i16)>" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Repr<(u64, i16, i16)>"* %transmute_temp to { { i64, i16, i16 }*, i16 }* %3 = getelementptr inbounds { { i64, i16, i16 }*, i16 }, { { i64, i16, i16 }*, i16 }* %2, i32 0, i32 0 store { i64, i16, i16 }* %0, { i64, i16, i16 }** %3, align 2 %4 = getelementptr inbounds { { i64, i16, i16 }*, i16 }, { { i64, i16, i16 }*, i16 }* %2, i32 0, i32 1 store i16 %1, i16* %4, align 2 %5 = getelementptr inbounds %"slice::Repr<(u64, i16, i16)>", %"slice::Repr<(u64, i16, i16)>"* %transmute_temp, i32 0, i32 0 %6 = getelementptr inbounds %"slice::Repr<(u64, i16, i16)>", %"slice::Repr<(u64, i16, i16)>"* %transmute_temp, i32 0, i32 1 %7 = load { i64, i16, i16 }*, { i64, i16, i16 }** %5 %8 = load i16, i16* %6 br label %bb1 bb1: ; preds = %start ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca %"slice::Repr" br label %start start: ; preds = %entry-block %2 = bitcast %"slice::Repr"* %transmute_temp to { %"num::flt2dec::Part"*, i16 }* %3 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %2, i32 0, i32 0 store %"num::flt2dec::Part"* %0, %"num::flt2dec::Part"** %3, align 2 %4 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %2, i32 0, i32 1 store i16 %1, i16* %4, align 2 %5 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 0 %6 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %transmute_temp, i32 0, i32 1 %7 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %5 %8 = load i16, i16* %6 br label %bb1 bb1: ; preds = %start ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4), i8* nonnull, i16) unnamed_addr #0 { entry-block: %_31 = alloca %"marker::PhantomData<&mut u8>" %_14 = alloca i8* %p = alloca i8* br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 store i8* inttoptr (i16 1 to i8*), i8** %p br label %bb7 bb3: ; preds = %bb1 %5 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %1, i16 %2) br label %bb4 bb4: ; preds = %bb3 %6 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17ha242a11802a91753E"(i8* %5) br label %bb5 bb5: ; preds = %bb4 %7 = xor i1 %6, true call void @llvm.assume(i1 %7) br label %bb6 bb6: ; preds = %bb5 store i8* %5, i8** %p br label %bb7 bb7: ; preds = %bb6, %bb2 %8 = load i8*, i8** %p %9 = load i8*, i8** %p %10 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb8 bb8: ; preds = %bb7 %11 = icmp eq i16 %10, 0 br i1 %11, label %bb9, label %bb10 bb9: ; preds = %bb8 %12 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb11 bb10: ; preds = %bb8 %13 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb13 bb11: ; preds = %bb9 %14 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %9, i16 %12) br label %bb12 bb12: ; preds = %bb11 store i8* %14, i8** %_14 br label %bb15 bb13: ; preds = %bb10 %15 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %9, i16 %13) store i8* %15, i8** %_14 br label %bb14 bb14: ; preds = %bb13 br label %bb15 bb15: ; preds = %bb14, %bb12 %16 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 store i8* %8, i8** %16 %17 = load i8*, i8** %_14 %18 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 1 store i8* %17, i8** %18 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h8a1cf42bf0ae4fdcE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4), i32* nonnull, i16) unnamed_addr #0 { entry-block: %_31 = alloca %"marker::PhantomData<&mut u32>" %_14 = alloca i32* %p = alloca i32* br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 store i32* inttoptr (i16 1 to i32*), i32** %p br label %bb7 bb3: ; preds = %bb1 %5 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h723dfa826dfd8cf3E"(i32* nonnull %1, i16 %2) br label %bb4 bb4: ; preds = %bb3 %6 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h34bb43728f1fbdcfE"(i32* %5) br label %bb5 bb5: ; preds = %bb4 %7 = xor i1 %6, true call void @llvm.assume(i1 %7) br label %bb6 bb6: ; preds = %bb5 store i32* %5, i32** %p br label %bb7 bb7: ; preds = %bb6, %bb2 %8 = load i32*, i32** %p %9 = load i32*, i32** %p %10 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb8 bb8: ; preds = %bb7 %11 = icmp eq i16 %10, 0 br i1 %11, label %bb9, label %bb10 bb9: ; preds = %bb8 %12 = bitcast i32* %9 to i8* %13 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb11 bb10: ; preds = %bb8 %14 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb13 bb11: ; preds = %bb9 %15 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %12, i16 %13) br label %bb12 bb12: ; preds = %bb11 %16 = bitcast i8* %15 to i32* store i32* %16, i32** %_14 br label %bb15 bb13: ; preds = %bb10 %17 = call i32* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hc806dda48d9cf3c3E"(i32* %9, i16 %14) store i32* %17, i32** %_14 br label %bb14 bb14: ; preds = %bb13 br label %bb15 bb15: ; preds = %bb14, %bb12 %18 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 store i32* %8, i32** %18 %19 = load i32*, i32** %_14 %20 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 1 store i32* %19, i32** %20 ret void } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8last_mut17h2d18f1f808e149c5E"(i8* nonnull, i16) unnamed_addr #0 { entry-block: %_5 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %3 = icmp eq i16 %2, 0 br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 store i8* null, i8** %_0 br label %bb4 bb3: ; preds = %bb1 %4 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %2, i16 1) %5 = extractvalue { i16, i1 } %4, 0 %6 = extractvalue { i16, i1 } %4, 1 %7 = call i1 @llvm.expect.i1(i1 %6, i1 false) br i1 %7, label %panic, label %bb5 bb4: ; preds = %bb6, %bb2 %8 = load i8*, i8** %_0 ret i8* %8 bb5: ; preds = %bb3 %9 = call dereferenceable(1) i8* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h39fe72663b4cbbaeE"(i8* nonnull %0, i16 %1, i16 %5) br label %bb6 bb6: ; preds = %bb5 store i8* %9, i8** %_0 br label %bb4 panic: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6w) unreachable } ; Function Attrs: inlinehint uwtable define internal dereferenceable(1) i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h44c56d862564d483E"(i8* nonnull, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %3 = invoke dereferenceable(1) i8* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$17get_unchecked_mut17hf81f39dad1d33fb4E"(i16 %2, i8* nonnull %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %4 bb2: ; preds = %start ret i8* %3 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h723dfa826dfd8cf3E"(i32* nonnull, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i32* %0 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i8* %0 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice17hb56e22fde6a45f08E"(i8* nonnull, i16, i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_5 = alloca {} %_0 = alloca {} br label %start start: ; preds = %entry-block %4 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %5 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb2 bb2: ; preds = %bb1 %6 = icmp eq i16 %4, %5 %7 = xor i1 %6, true br i1 %7, label %bb3, label %bb4 bb3: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice14_MSG_FILE_LINE17h2eda22cabc8a5119E") unreachable bb4: ; preds = %bb2 %8 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb5 bb5: ; preds = %bb4 %9 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %0, i16 %1) br label %bb6 bb6: ; preds = %bb5 %10 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb7 bb7: ; preds = %bb6 %11 = mul i16 1, %10 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 %11, i32 1, i1 false) br label %bb8 bb8: ; preds = %bb7 ret void } ; Function Attrs: inlinehint uwtable define internal dereferenceable(1) i8* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h08f0dba53d9565f6E"(i8* noalias nonnull readonly, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %3 = invoke dereferenceable(1) i8* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h7ab2cf5bad4a6ac0E"(i16 %2, i8* noalias nonnull readonly %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %4 bb2: ; preds = %start ret i8* %3 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_6 = alloca %"ops::RangeFrom" %index = alloca %"ops::RangeFrom" %abi_cast = alloca i16 %arg1 = alloca %"ops::RangeFrom" store i16 %2, i16* %abi_cast %3 = bitcast %"ops::RangeFrom"* %arg1 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeFrom"* %arg1 to i8* %6 = bitcast %"ops::RangeFrom"* %index to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = bitcast %"ops::RangeFrom"* %index to i8* %8 = bitcast %"ops::RangeFrom"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = bitcast %"ops::RangeFrom"* %_6 to i16* %10 = load i16, i16* %9, align 2 %11 = invoke { i8*, i16 } @"_ZN96_$LT$core..ops..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h0c029b75193aa21fE"(i16 %10, i8* noalias nonnull readonly %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %start %13 = extractvalue { i8*, i16 } %11, 0 %14 = extractvalue { i8*, i16 } %11, 1 %15 = insertvalue { i8*, i16 } undef, i8* %13, 0 %16 = insertvalue { i8*, i16 } %15, i16 %14, 1 ret { i8*, i16 } %16 cleanup: ; preds = %start %17 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %17, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h37794ea25cf39a04E"(i8* noalias nonnull readonly, i16, %"ops::Range"* noalias nocapture dereferenceable(4)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %arg = alloca %"ops::Range" br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %2, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %2, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %5, i16* %7 %8 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %6, i16* %8 %9 = invoke { i8*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h4bda25edfd81b5f8E"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i8* noalias nonnull readonly %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %10 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %10 bb2: ; preds = %start %11 = extractvalue { i8*, i16 } %9, 0 %12 = extractvalue { i8*, i16 } %9, 1 %13 = insertvalue { i8*, i16 } undef, i8* %11, 0 %14 = insertvalue { i8*, i16 } %13, i16 %12, 1 ret { i8*, i16 } %14 cleanup: ; preds = %start %15 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %15, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { %"num::flt2dec::Part"*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h3a0f3c1cb6bf361fE"(%"num::flt2dec::Part"* noalias nonnull readonly, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_6 = alloca %"ops::RangeTo" %index = alloca %"ops::RangeTo" %abi_cast = alloca i16 %arg1 = alloca %"ops::RangeTo" store i16 %2, i16* %abi_cast %3 = bitcast %"ops::RangeTo"* %arg1 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeTo"* %arg1 to i8* %6 = bitcast %"ops::RangeTo"* %index to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = bitcast %"ops::RangeTo"* %index to i8* %8 = bitcast %"ops::RangeTo"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = bitcast %"ops::RangeTo"* %_6 to i16* %10 = load i16, i16* %9, align 2 %11 = invoke { %"num::flt2dec::Part"*, i16 } @"_ZN94_$LT$core..ops..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h24b26b8220219742E"(i16 %10, %"num::flt2dec::Part"* noalias nonnull readonly %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %start %13 = extractvalue { %"num::flt2dec::Part"*, i16 } %11, 0 %14 = extractvalue { %"num::flt2dec::Part"*, i16 } %11, 1 %15 = insertvalue { %"num::flt2dec::Part"*, i16 } undef, %"num::flt2dec::Part"* %13, 0 %16 = insertvalue { %"num::flt2dec::Part"*, i16 } %15, i16 %14, 1 ret { %"num::flt2dec::Part"*, i16 } %16 cleanup: ; preds = %start %17 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %17, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_6 = alloca %"ops::RangeTo" %index = alloca %"ops::RangeTo" %abi_cast = alloca i16 %arg1 = alloca %"ops::RangeTo" store i16 %2, i16* %abi_cast %3 = bitcast %"ops::RangeTo"* %arg1 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeTo"* %arg1 to i8* %6 = bitcast %"ops::RangeTo"* %index to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = bitcast %"ops::RangeTo"* %index to i8* %8 = bitcast %"ops::RangeTo"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = bitcast %"ops::RangeTo"* %_6 to i16* %10 = load i16, i16* %9, align 2 %11 = invoke { i8*, i16 } @"_ZN94_$LT$core..ops..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heba9e0d55ad1f310E"(i16 %10, i8* noalias nonnull readonly %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %start %13 = extractvalue { i8*, i16 } %11, 0 %14 = extractvalue { i8*, i16 } %11, 1 %15 = insertvalue { i8*, i16 } undef, i8* %13, 0 %16 = insertvalue { i8*, i16 } %15, i16 %14, 1 ret { i8*, i16 } %16 cleanup: ; preds = %start %17 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %17, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal dereferenceable(4) i32* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h56e0198429dc7869E"(i32* noalias nonnull readonly, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %3 = invoke dereferenceable(4) i32* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17he457787fe4a9b3f4E"(i16 %2, i32* noalias nonnull readonly %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %4 bb2: ; preds = %start ret i32* %3 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h68e060feb8668f51E"(i32* noalias nonnull readonly, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %2 = invoke { i32*, i16 } @"_ZN83_$LT$core..ops..RangeFull$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17he772e35240b45515E"(i32* noalias nonnull readonly %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %3 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %3 bb2: ; preds = %start %4 = extractvalue { i32*, i16 } %2, 0 %5 = extractvalue { i32*, i16 } %2, 1 %6 = insertvalue { i32*, i16 } undef, i32* %4, 0 %7 = insertvalue { i32*, i16 } %6, i16 %5, 1 ret { i32*, i16 } %7 cleanup: ; preds = %start %8 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %8, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7c873adbd1b3ac30E"(i32* noalias nonnull readonly, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_6 = alloca %"ops::RangeTo" %index = alloca %"ops::RangeTo" %abi_cast = alloca i16 %arg1 = alloca %"ops::RangeTo" store i16 %2, i16* %abi_cast %3 = bitcast %"ops::RangeTo"* %arg1 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeTo"* %arg1 to i8* %6 = bitcast %"ops::RangeTo"* %index to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = bitcast %"ops::RangeTo"* %index to i8* %8 = bitcast %"ops::RangeTo"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = bitcast %"ops::RangeTo"* %_6 to i16* %10 = load i16, i16* %9, align 2 %11 = invoke { i32*, i16 } @"_ZN94_$LT$core..ops..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h433ec21cd53c6e32E"(i16 %10, i32* noalias nonnull readonly %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %start %13 = extractvalue { i32*, i16 } %11, 0 %14 = extractvalue { i32*, i16 } %11, 1 %15 = insertvalue { i32*, i16 } undef, i32* %13, 0 %16 = insertvalue { i32*, i16 } %15, i16 %14, 1 ret { i32*, i16 } %16 cleanup: ; preds = %start %17 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %17, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hcfd8b38f74e404a2E"(i32* noalias nonnull readonly, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_6 = alloca %"ops::RangeFrom" %index = alloca %"ops::RangeFrom" %abi_cast = alloca i16 %arg1 = alloca %"ops::RangeFrom" store i16 %2, i16* %abi_cast %3 = bitcast %"ops::RangeFrom"* %arg1 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeFrom"* %arg1 to i8* %6 = bitcast %"ops::RangeFrom"* %index to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = bitcast %"ops::RangeFrom"* %index to i8* %8 = bitcast %"ops::RangeFrom"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = bitcast %"ops::RangeFrom"* %_6 to i16* %10 = load i16, i16* %9, align 2 %11 = invoke { i32*, i16 } @"_ZN96_$LT$core..ops..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h8fdcd0551d60c077E"(i16 %10, i32* noalias nonnull readonly %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %start %13 = extractvalue { i32*, i16 } %11, 0 %14 = extractvalue { i32*, i16 } %11, 1 %15 = insertvalue { i32*, i16 } undef, i32* %13, 0 %16 = insertvalue { i32*, i16 } %15, i16 %14, 1 ret { i32*, i16 } %16 cleanup: ; preds = %start %17 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %17, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17he70eb16d5e72245eE"(i8* noalias nonnull readonly, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %2 = invoke { i8*, i16 } @"_ZN83_$LT$core..ops..RangeFull$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h1666ec6f5f184636E"(i8* noalias nonnull readonly %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %3 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %3 bb2: ; preds = %start %4 = extractvalue { i8*, i16 } %2, 0 %5 = extractvalue { i8*, i16 } %2, 1 %6 = insertvalue { i8*, i16 } undef, i8* %4, 0 %7 = insertvalue { i8*, i16 } %6, i16 %5, 1 ret { i8*, i16 } %7 cleanup: ; preds = %start %8 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %8, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h035026324c6b2126E"(i8* nonnull, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %2 = invoke { i8*, i16 } @"_ZN83_$LT$core..ops..RangeFull$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17haca7a03d07dda289E"(i8* nonnull %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %3 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %3 bb2: ; preds = %start %4 = extractvalue { i8*, i16 } %2, 0 %5 = extractvalue { i8*, i16 } %2, 1 %6 = insertvalue { i8*, i16 } undef, i8* %4, 0 %7 = insertvalue { i8*, i16 } %6, i16 %5, 1 ret { i8*, i16 } %7 cleanup: ; preds = %start %8 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %8, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_7 = alloca %"ops::RangeTo" %index = alloca %"ops::RangeTo" %abi_cast = alloca i16 %arg1 = alloca %"ops::RangeTo" store i16 %2, i16* %abi_cast %3 = bitcast %"ops::RangeTo"* %arg1 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeTo"* %arg1 to i8* %6 = bitcast %"ops::RangeTo"* %index to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = bitcast %"ops::RangeTo"* %index to i8* %8 = bitcast %"ops::RangeTo"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = bitcast %"ops::RangeTo"* %_7 to i16* %10 = load i16, i16* %9, align 2 %11 = invoke { i8*, i16 } @"_ZN94_$LT$core..ops..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h7c6d04fa2376c796E"(i16 %10, i8* nonnull %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %start %13 = extractvalue { i8*, i16 } %11, 0 %14 = extractvalue { i8*, i16 } %11, 1 %15 = insertvalue { i8*, i16 } undef, i8* %13, 0 %16 = insertvalue { i8*, i16 } %15, i16 %14, 1 ret { i8*, i16 } %16 cleanup: ; preds = %start %17 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %17, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal dereferenceable(1) i8* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h39fe72663b4cbbaeE"(i8* nonnull, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %3 = invoke dereferenceable(1) i8* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hcb4233887afe0415E"(i16 %2, i8* nonnull %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %4 bb2: ; preds = %start ret i8* %3 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal dereferenceable(4) i32* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h5ee4318facc3f224E"(i32* nonnull, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %3 = invoke dereferenceable(4) i32* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h8122e9f2f257c504E"(i16 %2, i32* nonnull %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %4 bb2: ; preds = %start ret i32* %3 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h6258d8a600cd7fc5E"(i32* nonnull, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_7 = alloca %"ops::RangeTo" %index = alloca %"ops::RangeTo" %abi_cast = alloca i16 %arg1 = alloca %"ops::RangeTo" store i16 %2, i16* %abi_cast %3 = bitcast %"ops::RangeTo"* %arg1 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeTo"* %arg1 to i8* %6 = bitcast %"ops::RangeTo"* %index to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = bitcast %"ops::RangeTo"* %index to i8* %8 = bitcast %"ops::RangeTo"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = bitcast %"ops::RangeTo"* %_7 to i16* %10 = load i16, i16* %9, align 2 %11 = invoke { i32*, i16 } @"_ZN94_$LT$core..ops..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h399c739232a61c92E"(i16 %10, i32* nonnull %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %start %13 = extractvalue { i32*, i16 } %11, 0 %14 = extractvalue { i32*, i16 } %11, 1 %15 = insertvalue { i32*, i16 } undef, i32* %13, 0 %16 = insertvalue { i32*, i16 } %15, i16 %14, 1 ret { i32*, i16 } %16 cleanup: ; preds = %start %17 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %17, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h94b5857d5e0d1379E"(i8* nonnull, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_7 = alloca %"ops::RangeFrom" %index = alloca %"ops::RangeFrom" %abi_cast = alloca i16 %arg1 = alloca %"ops::RangeFrom" store i16 %2, i16* %abi_cast %3 = bitcast %"ops::RangeFrom"* %arg1 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeFrom"* %arg1 to i8* %6 = bitcast %"ops::RangeFrom"* %index to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = bitcast %"ops::RangeFrom"* %index to i8* %8 = bitcast %"ops::RangeFrom"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = bitcast %"ops::RangeFrom"* %_7 to i16* %10 = load i16, i16* %9, align 2 %11 = invoke { i8*, i16 } @"_ZN96_$LT$core..ops..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hef4fa3bbdff5062fE"(i16 %10, i8* nonnull %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %start %13 = extractvalue { i8*, i16 } %11, 0 %14 = extractvalue { i8*, i16 } %11, 1 %15 = insertvalue { i8*, i16 } undef, i8* %13, 0 %16 = insertvalue { i8*, i16 } %15, i16 %14, 1 ret { i8*, i16 } %16 cleanup: ; preds = %start %17 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %17, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17ha5597fcfab4163b7E"(i32* nonnull, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %2 = invoke { i32*, i16 } @"_ZN83_$LT$core..ops..RangeFull$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h33df6f012fed2d2bE"(i32* nonnull %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %3 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %3 bb2: ; preds = %start %4 = extractvalue { i32*, i16 } %2, 0 %5 = extractvalue { i32*, i16 } %2, 1 %6 = insertvalue { i32*, i16 } undef, i32* %4, 0 %7 = insertvalue { i32*, i16 } %6, i16 %5, 1 ret { i32*, i16 } %7 cleanup: ; preds = %start %8 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %8, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hcdd3129a0e4a9186E"(i8* nonnull, i16, %"ops::Range"* noalias nocapture dereferenceable(4)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %arg = alloca %"ops::Range" br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %2, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %2, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %5, i16* %7 %8 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %6, i16* %8 %9 = invoke { i8*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hf718d13f8a92654eE"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i8* nonnull %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %10 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %10 bb2: ; preds = %start %11 = extractvalue { i8*, i16 } %9, 0 %12 = extractvalue { i8*, i16 } %9, 1 %13 = insertvalue { i8*, i16 } undef, i8* %11, 0 %14 = insertvalue { i8*, i16 } %13, i16 %12, 1 ret { i8*, i16 } %14 cleanup: ; preds = %start %15 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %15, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: inlinehint uwtable define internal dereferenceable(6) %"num::flt2dec::Part"* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hd0f2e324723fcfabE"(%"num::flt2dec::Part"* nonnull, i16, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } br label %start start: ; preds = %entry-block %3 = invoke dereferenceable(6) %"num::flt2dec::Part"* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hb43302f3a9775a6aE"(i16 %2, %"num::flt2dec::Part"* nonnull %0, i16 %1) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %4 bb2: ; preds = %start ret %"num::flt2dec::Part"* %3 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: cold noinline noreturn uwtable define void @_ZN4core5slice20slice_index_len_fail17hfb8d26bd7f15ca39E(i16, i16) unnamed_addr #3 { entry-block: %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_11 = alloca { i16*, i16* } %_10 = alloca [2 x %"fmt::ArgumentV1"] %_5 = alloca %"fmt::Arguments" %len = alloca i16 %index = alloca i16 br label %start start: ; preds = %entry-block store i16 %0, i16* %index store i16 %1, i16* %len %2 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core5slice20slice_index_len_fail15__STATIC_FMTSTR17h3c61f769e1794c16E, i32 0, i32 0), !nonnull !1 %3 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core5slice20slice_index_len_fail15__STATIC_FMTSTR17h3c61f769e1794c16E, i32 0, i32 1) %4 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_11, i32 0, i32 0 store i16* %index, i16** %4 %5 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_11, i32 0, i32 1 store i16* %len, i16** %5 %6 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_11, i32 0, i32 0 %7 = load i16*, i16** %6, !nonnull !1 %8 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_11, i32 0, i32 1 %9 = load i16*, i16** %8, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i16* noalias readonly dereferenceable(2) %7, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %10 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %11 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %12 = load %"fmt::Void"*, %"fmt::Void"** %10, !nonnull !1 %13 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %11, !nonnull !1 br label %bb1 bb1: ; preds = %start call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, i16* noalias readonly dereferenceable(2) %9, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %14 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %15 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %16 = load %"fmt::Void"*, %"fmt::Void"** %14, !nonnull !1 %17 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %15, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %18 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_10, i32 0, i32 0 %19 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %18, i32 0, i32 0 store %"fmt::Void"* %12, %"fmt::Void"** %19 %20 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %18, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %13, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %20 %21 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_10, i32 0, i32 1 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 0 store %"fmt::Void"* %16, %"fmt::Void"** %22 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %17, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %23 %24 = bitcast [2 x %"fmt::ArgumentV1"]* %_10 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_5, %str_slice* noalias nonnull readonly %2, i16 %3, %"fmt::ArgumentV1"* noalias nonnull readonly %24, i16 2) br label %bb3 bb3: ; preds = %bb2 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_5, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core5slice20slice_index_len_fail10_FILE_LINE17hb608fd23f09b4d9fE) unreachable } ; Function Attrs: cold noinline noreturn uwtable define void @_ZN4core5slice22slice_index_order_fail17h0ca17652167a64b1E(i16, i16) unnamed_addr #3 { entry-block: %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_11 = alloca { i16*, i16* } %_10 = alloca [2 x %"fmt::ArgumentV1"] %_5 = alloca %"fmt::Arguments" %end = alloca i16 %index = alloca i16 br label %start start: ; preds = %entry-block store i16 %0, i16* %index store i16 %1, i16* %end %2 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core5slice22slice_index_order_fail15__STATIC_FMTSTR17h9b202a02791c331dE, i32 0, i32 0), !nonnull !1 %3 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core5slice22slice_index_order_fail15__STATIC_FMTSTR17h9b202a02791c331dE, i32 0, i32 1) %4 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_11, i32 0, i32 0 store i16* %index, i16** %4 %5 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_11, i32 0, i32 1 store i16* %end, i16** %5 %6 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_11, i32 0, i32 0 %7 = load i16*, i16** %6, !nonnull !1 %8 = getelementptr inbounds { i16*, i16* }, { i16*, i16* }* %_11, i32 0, i32 1 %9 = load i16*, i16** %8, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i16* noalias readonly dereferenceable(2) %7, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %10 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %11 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %12 = load %"fmt::Void"*, %"fmt::Void"** %10, !nonnull !1 %13 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %11, !nonnull !1 br label %bb1 bb1: ; preds = %start call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, i16* noalias readonly dereferenceable(2) %9, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %14 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %15 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %16 = load %"fmt::Void"*, %"fmt::Void"** %14, !nonnull !1 %17 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %15, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %18 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_10, i32 0, i32 0 %19 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %18, i32 0, i32 0 store %"fmt::Void"* %12, %"fmt::Void"** %19 %20 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %18, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %13, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %20 %21 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_10, i32 0, i32 1 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 0 store %"fmt::Void"* %16, %"fmt::Void"** %22 %23 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %21, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %17, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %23 %24 = bitcast [2 x %"fmt::ArgumentV1"]* %_10 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_5, %str_slice* noalias nonnull readonly %2, i16 %3, %"fmt::ArgumentV1"* noalias nonnull readonly %24, i16 2) br label %bb3 bb3: ; preds = %bb2 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_5, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core5slice22slice_index_order_fail10_FILE_LINE17h6fe4814a706e47b7E) unreachable } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$3get17he7e6ad9cca099e4eE"(i16, i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_0 = alloca i8* br label %start start: ; preds = %entry-block %3 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %4 = icmp ult i16 %0, %3 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = call dereferenceable(1) i8* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17hc02ae5114e5a0dceE"(i16 %0, i8* noalias nonnull readonly %1, i16 %2) br label %bb4 bb3: ; preds = %bb1 store i8* null, i8** %_0 br label %bb5 bb4: ; preds = %bb2 store i8* %5, i8** %_0 br label %bb5 bb5: ; preds = %bb3, %bb4 %6 = load i8*, i8** %_0 ret i8* %6 } ; Function Attrs: inlinehint uwtable define internal dereferenceable(1) i8* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17hc02ae5114e5a0dceE"(i16, i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %4 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %3, i16 %0) br label %bb2 bb2: ; preds = %bb1 ret i8* %4 } ; Function Attrs: inlinehint uwtable define internal dereferenceable(1) i8* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$17get_unchecked_mut17hf81f39dad1d33fb4E"(i16, i8* nonnull, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %1, i16 %2) br label %bb1 bb1: ; preds = %start %4 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %3, i16 %0) br label %bb2 bb2: ; preds = %bb1 ret i8* %4 } ; Function Attrs: inlinehint uwtable define internal dereferenceable(1) i8* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h7ab2cf5bad4a6ac0E"(i16, i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = icmp ult i16 %0, %2 %4 = call i1 @llvm.expect.i1(i1 %3, i1 true) br i1 %4, label %bb1, label %panic bb1: ; preds = %start %5 = getelementptr inbounds i8, i8* %1, i16 %0 ret i8* %5 panic: ; preds = %start call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.6x, i16 %0, i16 %2) unreachable } ; Function Attrs: inlinehint uwtable define internal dereferenceable(4) i32* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17he457787fe4a9b3f4E"(i16, i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = icmp ult i16 %0, %2 %4 = call i1 @llvm.expect.i1(i1 %3, i1 true) br i1 %4, label %bb1, label %panic bb1: ; preds = %start %5 = getelementptr inbounds i32, i32* %1, i16 %0 ret i32* %5 panic: ; preds = %start call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.6x, i16 %0, i16 %2) unreachable } ; Function Attrs: inlinehint uwtable define internal dereferenceable(4) i32* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h8122e9f2f257c504E"(i16, i32* nonnull, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = icmp ult i16 %0, %2 %4 = call i1 @llvm.expect.i1(i1 %3, i1 true) br i1 %4, label %bb1, label %panic bb1: ; preds = %start %5 = getelementptr inbounds i32, i32* %1, i16 %0 ret i32* %5 panic: ; preds = %start call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.6y, i16 %0, i16 %2) unreachable } ; Function Attrs: inlinehint uwtable define internal dereferenceable(6) %"num::flt2dec::Part"* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hb43302f3a9775a6aE"(i16, %"num::flt2dec::Part"* nonnull, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = icmp ult i16 %0, %2 %4 = call i1 @llvm.expect.i1(i1 %3, i1 true) br i1 %4, label %bb1, label %panic bb1: ; preds = %start %5 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %1, i16 %0 ret %"num::flt2dec::Part"* %5 panic: ; preds = %start call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.6y, i16 %0, i16 %2) unreachable } ; Function Attrs: inlinehint uwtable define internal dereferenceable(1) i8* @"_ZN68_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hcb4233887afe0415E"(i16, i8* nonnull, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = icmp ult i16 %0, %2 %4 = call i1 @llvm.expect.i1(i1 %3, i1 true) br i1 %4, label %bb1, label %panic bb1: ; preds = %start %5 = getelementptr inbounds i8, i8* %1, i16 %0 ret i8* %5 panic: ; preds = %start call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.6y, i16 %0, i16 %2) unreachable } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17h40bd131852a56ed0E"(%"ops::Range"* noalias nocapture dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %8 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %7, i16 %5) br label %bb2 bb2: ; preds = %bb1 %9 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %6, i16 %5) %10 = extractvalue { i16, i1 } %9, 0 %11 = extractvalue { i16, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic, label %bb3 bb3: ; preds = %bb2 %13 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %8, i16 %10) %14 = extractvalue { i8*, i16 } %13, 0 %15 = extractvalue { i8*, i16 } %13, 1 br label %bb4 bb4: ; preds = %bb3 %16 = insertvalue { i8*, i16 } undef, i8* %14, 0 %17 = insertvalue { i8*, i16 } %16, i16 %15, 1 ret { i8*, i16 } %17 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6z) unreachable } ; Function Attrs: inlinehint uwtable define internal { %"num::flt2dec::Part"*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17h98e385e7fdbd31fcE"(%"ops::Range"* noalias nocapture dereferenceable(4), %"num::flt2dec::Part"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = call %"num::flt2dec::Part"* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17heef123162b609151E"(%"num::flt2dec::Part"* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %8 = call %"num::flt2dec::Part"* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17hc6783221b028e272E"(%"num::flt2dec::Part"* %7, i16 %5) br label %bb2 bb2: ; preds = %bb1 %9 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %6, i16 %5) %10 = extractvalue { i16, i1 } %9, 0 %11 = extractvalue { i16, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic, label %bb3 bb3: ; preds = %bb2 %13 = call { %"num::flt2dec::Part"*, i16 } @_ZN4core5slice14from_raw_parts17h7539a942eb3ca5a7E(%"num::flt2dec::Part"* %8, i16 %10) %14 = extractvalue { %"num::flt2dec::Part"*, i16 } %13, 0 %15 = extractvalue { %"num::flt2dec::Part"*, i16 } %13, 1 br label %bb4 bb4: ; preds = %bb3 %16 = insertvalue { %"num::flt2dec::Part"*, i16 } undef, %"num::flt2dec::Part"* %14, 0 %17 = insertvalue { %"num::flt2dec::Part"*, i16 } %16, i16 %15, 1 ret { %"num::flt2dec::Part"*, i16 } %17 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6z) unreachable } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17he3001d517b2c6624E"(%"ops::Range"* noalias nocapture dereferenceable(4), i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h1292721ede28a496E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %8 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %7, i16 %5) br label %bb2 bb2: ; preds = %bb1 %9 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %6, i16 %5) %10 = extractvalue { i16, i1 } %9, 0 %11 = extractvalue { i16, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic, label %bb3 bb3: ; preds = %bb2 %13 = call { i32*, i16 } @_ZN4core5slice14from_raw_parts17h6c6136b5e5dafd85E(i32* %8, i16 %10) %14 = extractvalue { i32*, i16 } %13, 0 %15 = extractvalue { i32*, i16 } %13, 1 br label %bb4 bb4: ; preds = %bb3 %16 = insertvalue { i32*, i16 } undef, i32* %14, 0 %17 = insertvalue { i32*, i16 } %16, i16 %15, 1 ret { i32*, i16 } %17 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6z) unreachable } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$17get_unchecked_mut17h3176c133b7b020ebE"(%"ops::Range"* noalias nocapture dereferenceable(4), i8* nonnull, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %1, i16 %2) br label %bb1 bb1: ; preds = %start %8 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %7, i16 %5) br label %bb2 bb2: ; preds = %bb1 %9 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %6, i16 %5) %10 = extractvalue { i16, i1 } %9, 0 %11 = extractvalue { i16, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic, label %bb3 bb3: ; preds = %bb2 %13 = call { i8*, i16 } @_ZN4core5slice18from_raw_parts_mut17hcad6a1b102abd3d7E(i8* %8, i16 %10) %14 = extractvalue { i8*, i16 } %13, 0 %15 = extractvalue { i8*, i16 } %13, 1 br label %bb4 bb4: ; preds = %bb3 %16 = insertvalue { i8*, i16 } undef, i8* %14, 0 %17 = insertvalue { i8*, i16 } %16, i16 %15, 1 ret { i8*, i16 } %17 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6A) unreachable } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$17get_unchecked_mut17h4a44a7f667d8fc44E"(%"ops::Range"* noalias nocapture dereferenceable(4), i32* nonnull, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h723dfa826dfd8cf3E"(i32* nonnull %1, i16 %2) br label %bb1 bb1: ; preds = %start %8 = call i32* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hc806dda48d9cf3c3E"(i32* %7, i16 %5) br label %bb2 bb2: ; preds = %bb1 %9 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %6, i16 %5) %10 = extractvalue { i16, i1 } %9, 0 %11 = extractvalue { i16, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic, label %bb3 bb3: ; preds = %bb2 %13 = call { i32*, i16 } @_ZN4core5slice18from_raw_parts_mut17hd1f1ef4d80fa6090E(i32* %8, i16 %10) %14 = extractvalue { i32*, i16 } %13, 0 %15 = extractvalue { i32*, i16 } %13, 1 br label %bb4 bb4: ; preds = %bb3 %16 = insertvalue { i32*, i16 } undef, i32* %14, 0 %17 = insertvalue { i32*, i16 } %16, i16 %15, 1 ret { i32*, i16 } %17 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6A) unreachable } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h32981c991e3a9a5dE"(%"ops::Range"* noalias nocapture dereferenceable(4), i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_5 = alloca {} br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = icmp ugt i16 %5, %6 br i1 %7, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core5slice22slice_index_order_fail17h0ca17652167a64b1E(i16 %5, i16 %6) unreachable bb2: ; preds = %start %8 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb3 bb3: ; preds = %bb2 %9 = icmp ugt i16 %6, %8 br i1 %9, label %bb4, label %bb5 bb4: ; preds = %bb3 %10 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb6 bb5: ; preds = %bb3 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %5, i16* %11 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %6, i16* %12 %13 = call { i32*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17he3001d517b2c6624E"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i32* noalias nonnull readonly %1, i16 %2) %14 = extractvalue { i32*, i16 } %13, 0 %15 = extractvalue { i32*, i16 } %13, 1 br label %bb7 bb6: ; preds = %bb4 call void @_ZN4core5slice20slice_index_len_fail17hfb8d26bd7f15ca39E(i16 %6, i16 %10) unreachable bb7: ; preds = %bb5 %16 = insertvalue { i32*, i16 } undef, i32* %14, 0 %17 = insertvalue { i32*, i16 } %16, i16 %15, 1 ret { i32*, i16 } %17 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h4bda25edfd81b5f8E"(%"ops::Range"* noalias nocapture dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_5 = alloca {} br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = icmp ugt i16 %5, %6 br i1 %7, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core5slice22slice_index_order_fail17h0ca17652167a64b1E(i16 %5, i16 %6) unreachable bb2: ; preds = %start %8 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb3 bb3: ; preds = %bb2 %9 = icmp ugt i16 %6, %8 br i1 %9, label %bb4, label %bb5 bb4: ; preds = %bb3 %10 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb6 bb5: ; preds = %bb3 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %5, i16* %11 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %6, i16* %12 %13 = call { i8*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17h40bd131852a56ed0E"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i8* noalias nonnull readonly %1, i16 %2) %14 = extractvalue { i8*, i16 } %13, 0 %15 = extractvalue { i8*, i16 } %13, 1 br label %bb7 bb6: ; preds = %bb4 call void @_ZN4core5slice20slice_index_len_fail17hfb8d26bd7f15ca39E(i16 %6, i16 %10) unreachable bb7: ; preds = %bb5 %16 = insertvalue { i8*, i16 } undef, i8* %14, 0 %17 = insertvalue { i8*, i16 } %16, i16 %15, 1 ret { i8*, i16 } %17 } ; Function Attrs: inlinehint uwtable define internal { %"num::flt2dec::Part"*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h720849c4aebd8a46E"(%"ops::Range"* noalias nocapture dereferenceable(4), %"num::flt2dec::Part"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_5 = alloca {} br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = icmp ugt i16 %5, %6 br i1 %7, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core5slice22slice_index_order_fail17h0ca17652167a64b1E(i16 %5, i16 %6) unreachable bb2: ; preds = %start %8 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %1, i16 %2) br label %bb3 bb3: ; preds = %bb2 %9 = icmp ugt i16 %6, %8 br i1 %9, label %bb4, label %bb5 bb4: ; preds = %bb3 %10 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf1b63c3fb505a0fbE"(%"num::flt2dec::Part"* noalias nonnull readonly %1, i16 %2) br label %bb6 bb5: ; preds = %bb3 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %5, i16* %11 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %6, i16* %12 %13 = call { %"num::flt2dec::Part"*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17h98e385e7fdbd31fcE"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, %"num::flt2dec::Part"* noalias nonnull readonly %1, i16 %2) %14 = extractvalue { %"num::flt2dec::Part"*, i16 } %13, 0 %15 = extractvalue { %"num::flt2dec::Part"*, i16 } %13, 1 br label %bb7 bb6: ; preds = %bb4 call void @_ZN4core5slice20slice_index_len_fail17hfb8d26bd7f15ca39E(i16 %6, i16 %10) unreachable bb7: ; preds = %bb5 %16 = insertvalue { %"num::flt2dec::Part"*, i16 } undef, %"num::flt2dec::Part"* %14, 0 %17 = insertvalue { %"num::flt2dec::Part"*, i16 } %16, i16 %15, 1 ret { %"num::flt2dec::Part"*, i16 } %17 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hd0135d247e0c9a51E"(%"ops::Range"* noalias nocapture dereferenceable(4), i32* nonnull, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_6 = alloca {} br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = icmp ugt i16 %5, %6 br i1 %7, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core5slice22slice_index_order_fail17h0ca17652167a64b1E(i16 %5, i16 %6) unreachable bb2: ; preds = %start %8 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb3 bb3: ; preds = %bb2 %9 = icmp ugt i16 %6, %8 br i1 %9, label %bb4, label %bb5 bb4: ; preds = %bb3 %10 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb6 bb5: ; preds = %bb3 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %5, i16* %11 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %6, i16* %12 %13 = call { i32*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$17get_unchecked_mut17h4a44a7f667d8fc44E"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i32* nonnull %1, i16 %2) %14 = extractvalue { i32*, i16 } %13, 0 %15 = extractvalue { i32*, i16 } %13, 1 br label %bb7 bb6: ; preds = %bb4 call void @_ZN4core5slice20slice_index_len_fail17hfb8d26bd7f15ca39E(i16 %6, i16 %10) unreachable bb7: ; preds = %bb5 %16 = insertvalue { i32*, i16 } undef, i32* %14, 0 %17 = insertvalue { i32*, i16 } %16, i16 %15, 1 ret { i32*, i16 } %17 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hf718d13f8a92654eE"(%"ops::Range"* noalias nocapture dereferenceable(4), i8* nonnull, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_6 = alloca {} br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = icmp ugt i16 %5, %6 br i1 %7, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core5slice22slice_index_order_fail17h0ca17652167a64b1E(i16 %5, i16 %6) unreachable bb2: ; preds = %start %8 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb3 bb3: ; preds = %bb2 %9 = icmp ugt i16 %6, %8 br i1 %9, label %bb4, label %bb5 bb4: ; preds = %bb3 %10 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb6 bb5: ; preds = %bb3 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %5, i16* %11 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %6, i16* %12 %13 = call { i8*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$17get_unchecked_mut17h3176c133b7b020ebE"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i8* nonnull %1, i16 %2) %14 = extractvalue { i8*, i16 } %13, 0 %15 = extractvalue { i8*, i16 } %13, 1 br label %bb7 bb6: ; preds = %bb4 call void @_ZN4core5slice20slice_index_len_fail17hfb8d26bd7f15ca39E(i16 %6, i16 %10) unreachable bb7: ; preds = %bb5 %16 = insertvalue { i8*, i16 } undef, i8* %14, 0 %17 = insertvalue { i8*, i16 } %16, i16 %15, 1 ret { i8*, i16 } %17 } ; Function Attrs: inlinehint uwtable define internal { %"num::flt2dec::Part"*, i16 } @"_ZN94_$LT$core..ops..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h24b26b8220219742E"(i16, %"num::flt2dec::Part"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_6 = alloca %"ops::Range" %self = alloca %"ops::RangeTo" %abi_cast = alloca i16 %arg0 = alloca %"ops::RangeTo" store i16 %0, i16* %abi_cast %3 = bitcast %"ops::RangeTo"* %arg0 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeTo"* %arg0 to i8* %6 = bitcast %"ops::RangeTo"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %self, i32 0, i32 0 %8 = load i16, i16* %7 %9 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 0 store i16 0, i16* %9 %10 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 1 store i16 %8, i16* %10 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 0 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 1 %13 = load i16, i16* %11 %14 = load i16, i16* %12 %15 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %13, i16* %15 %16 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %14, i16* %16 %17 = call { %"num::flt2dec::Part"*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h720849c4aebd8a46E"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, %"num::flt2dec::Part"* noalias nonnull readonly %1, i16 %2) %18 = extractvalue { %"num::flt2dec::Part"*, i16 } %17, 0 %19 = extractvalue { %"num::flt2dec::Part"*, i16 } %17, 1 br label %bb1 bb1: ; preds = %start %20 = insertvalue { %"num::flt2dec::Part"*, i16 } undef, %"num::flt2dec::Part"* %18, 0 %21 = insertvalue { %"num::flt2dec::Part"*, i16 } %20, i16 %19, 1 ret { %"num::flt2dec::Part"*, i16 } %21 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN94_$LT$core..ops..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h433ec21cd53c6e32E"(i16, i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_6 = alloca %"ops::Range" %self = alloca %"ops::RangeTo" %abi_cast = alloca i16 %arg0 = alloca %"ops::RangeTo" store i16 %0, i16* %abi_cast %3 = bitcast %"ops::RangeTo"* %arg0 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeTo"* %arg0 to i8* %6 = bitcast %"ops::RangeTo"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %self, i32 0, i32 0 %8 = load i16, i16* %7 %9 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 0 store i16 0, i16* %9 %10 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 1 store i16 %8, i16* %10 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 0 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 1 %13 = load i16, i16* %11 %14 = load i16, i16* %12 %15 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %13, i16* %15 %16 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %14, i16* %16 %17 = call { i32*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h32981c991e3a9a5dE"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i32* noalias nonnull readonly %1, i16 %2) %18 = extractvalue { i32*, i16 } %17, 0 %19 = extractvalue { i32*, i16 } %17, 1 br label %bb1 bb1: ; preds = %start %20 = insertvalue { i32*, i16 } undef, i32* %18, 0 %21 = insertvalue { i32*, i16 } %20, i16 %19, 1 ret { i32*, i16 } %21 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN94_$LT$core..ops..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17heba9e0d55ad1f310E"(i16, i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_6 = alloca %"ops::Range" %self = alloca %"ops::RangeTo" %abi_cast = alloca i16 %arg0 = alloca %"ops::RangeTo" store i16 %0, i16* %abi_cast %3 = bitcast %"ops::RangeTo"* %arg0 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeTo"* %arg0 to i8* %6 = bitcast %"ops::RangeTo"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %self, i32 0, i32 0 %8 = load i16, i16* %7 %9 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 0 store i16 0, i16* %9 %10 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 1 store i16 %8, i16* %10 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 0 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 1 %13 = load i16, i16* %11 %14 = load i16, i16* %12 %15 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %13, i16* %15 %16 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %14, i16* %16 %17 = call { i8*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h4bda25edfd81b5f8E"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i8* noalias nonnull readonly %1, i16 %2) %18 = extractvalue { i8*, i16 } %17, 0 %19 = extractvalue { i8*, i16 } %17, 1 br label %bb1 bb1: ; preds = %start %20 = insertvalue { i8*, i16 } undef, i8* %18, 0 %21 = insertvalue { i8*, i16 } %20, i16 %19, 1 ret { i8*, i16 } %21 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN94_$LT$core..ops..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h399c739232a61c92E"(i16, i32* nonnull, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_7 = alloca %"ops::Range" %self = alloca %"ops::RangeTo" %abi_cast = alloca i16 %arg0 = alloca %"ops::RangeTo" store i16 %0, i16* %abi_cast %3 = bitcast %"ops::RangeTo"* %arg0 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeTo"* %arg0 to i8* %6 = bitcast %"ops::RangeTo"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %self, i32 0, i32 0 %8 = load i16, i16* %7 %9 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_7, i32 0, i32 0 store i16 0, i16* %9 %10 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_7, i32 0, i32 1 store i16 %8, i16* %10 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_7, i32 0, i32 0 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_7, i32 0, i32 1 %13 = load i16, i16* %11 %14 = load i16, i16* %12 %15 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %13, i16* %15 %16 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %14, i16* %16 %17 = call { i32*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hd0135d247e0c9a51E"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i32* nonnull %1, i16 %2) %18 = extractvalue { i32*, i16 } %17, 0 %19 = extractvalue { i32*, i16 } %17, 1 br label %bb1 bb1: ; preds = %start %20 = insertvalue { i32*, i16 } undef, i32* %18, 0 %21 = insertvalue { i32*, i16 } %20, i16 %19, 1 ret { i32*, i16 } %21 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN94_$LT$core..ops..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h7c6d04fa2376c796E"(i16, i8* nonnull, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_7 = alloca %"ops::Range" %self = alloca %"ops::RangeTo" %abi_cast = alloca i16 %arg0 = alloca %"ops::RangeTo" store i16 %0, i16* %abi_cast %3 = bitcast %"ops::RangeTo"* %arg0 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeTo"* %arg0 to i8* %6 = bitcast %"ops::RangeTo"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %self, i32 0, i32 0 %8 = load i16, i16* %7 %9 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_7, i32 0, i32 0 store i16 0, i16* %9 %10 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_7, i32 0, i32 1 store i16 %8, i16* %10 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_7, i32 0, i32 0 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_7, i32 0, i32 1 %13 = load i16, i16* %11 %14 = load i16, i16* %12 %15 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %13, i16* %15 %16 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %14, i16* %16 %17 = call { i8*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hf718d13f8a92654eE"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i8* nonnull %1, i16 %2) %18 = extractvalue { i8*, i16 } %17, 0 %19 = extractvalue { i8*, i16 } %17, 1 br label %bb1 bb1: ; preds = %start %20 = insertvalue { i8*, i16 } undef, i8* %18, 0 %21 = insertvalue { i8*, i16 } %20, i16 %19, 1 ret { i8*, i16 } %21 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN96_$LT$core..ops..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h0c029b75193aa21fE"(i16, i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_6 = alloca %"ops::Range" %self = alloca %"ops::RangeFrom" %abi_cast = alloca i16 %arg0 = alloca %"ops::RangeFrom" store i16 %0, i16* %abi_cast %3 = bitcast %"ops::RangeFrom"* %arg0 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeFrom"* %arg0 to i8* %6 = bitcast %"ops::RangeFrom"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %self, i32 0, i32 0 %8 = load i16, i16* %7 %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %10 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 0 store i16 %8, i16* %10 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 1 store i16 %9, i16* %11 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 0 %13 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 1 %14 = load i16, i16* %12 %15 = load i16, i16* %13 %16 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %14, i16* %16 %17 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %15, i16* %17 %18 = call { i8*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h4bda25edfd81b5f8E"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i8* noalias nonnull readonly %1, i16 %2) %19 = extractvalue { i8*, i16 } %18, 0 %20 = extractvalue { i8*, i16 } %18, 1 br label %bb2 bb2: ; preds = %bb1 %21 = insertvalue { i8*, i16 } undef, i8* %19, 0 %22 = insertvalue { i8*, i16 } %21, i16 %20, 1 ret { i8*, i16 } %22 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN96_$LT$core..ops..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h8fdcd0551d60c077E"(i16, i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_6 = alloca %"ops::Range" %self = alloca %"ops::RangeFrom" %abi_cast = alloca i16 %arg0 = alloca %"ops::RangeFrom" store i16 %0, i16* %abi_cast %3 = bitcast %"ops::RangeFrom"* %arg0 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeFrom"* %arg0 to i8* %6 = bitcast %"ops::RangeFrom"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %self, i32 0, i32 0 %8 = load i16, i16* %7 %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %10 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 0 store i16 %8, i16* %10 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 1 store i16 %9, i16* %11 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 0 %13 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_6, i32 0, i32 1 %14 = load i16, i16* %12 %15 = load i16, i16* %13 %16 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %14, i16* %16 %17 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %15, i16* %17 %18 = call { i32*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h32981c991e3a9a5dE"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i32* noalias nonnull readonly %1, i16 %2) %19 = extractvalue { i32*, i16 } %18, 0 %20 = extractvalue { i32*, i16 } %18, 1 br label %bb2 bb2: ; preds = %bb1 %21 = insertvalue { i32*, i16 } undef, i32* %19, 0 %22 = insertvalue { i32*, i16 } %21, i16 %20, 1 ret { i32*, i16 } %22 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN96_$LT$core..ops..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hef4fa3bbdff5062fE"(i16, i8* nonnull, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_7 = alloca %"ops::Range" %self = alloca %"ops::RangeFrom" %abi_cast = alloca i16 %arg0 = alloca %"ops::RangeFrom" store i16 %0, i16* %abi_cast %3 = bitcast %"ops::RangeFrom"* %arg0 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeFrom"* %arg0 to i8* %6 = bitcast %"ops::RangeFrom"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %self, i32 0, i32 0 %8 = load i16, i16* %7 %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %10 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_7, i32 0, i32 0 store i16 %8, i16* %10 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_7, i32 0, i32 1 store i16 %9, i16* %11 %12 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_7, i32 0, i32 0 %13 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_7, i32 0, i32 1 %14 = load i16, i16* %12 %15 = load i16, i16* %13 %16 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %14, i16* %16 %17 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %15, i16* %17 %18 = call { i8*, i16 } @"_ZN92_$LT$core..ops..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hf718d13f8a92654eE"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i8* nonnull %1, i16 %2) %19 = extractvalue { i8*, i16 } %18, 0 %20 = extractvalue { i8*, i16 } %18, 1 br label %bb2 bb2: ; preds = %bb1 %21 = insertvalue { i8*, i16 } undef, i8* %19, 0 %22 = insertvalue { i8*, i16 } %21, i16 %20, 1 ret { i8*, i16 } %22 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN83_$LT$core..ops..RangeFull$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h1666ec6f5f184636E"(i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = insertvalue { i8*, i16 } undef, i8* %0, 0 %3 = insertvalue { i8*, i16 } %2, i16 %1, 1 ret { i8*, i16 } %3 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN83_$LT$core..ops..RangeFull$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17he772e35240b45515E"(i32* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = insertvalue { i32*, i16 } undef, i32* %0, 0 %3 = insertvalue { i32*, i16 } %2, i16 %1, 1 ret { i32*, i16 } %3 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @"_ZN83_$LT$core..ops..RangeFull$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h33df6f012fed2d2bE"(i32* nonnull, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = insertvalue { i32*, i16 } undef, i32* %0, 0 %3 = insertvalue { i32*, i16 } %2, i16 %1, 1 ret { i32*, i16 } %3 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN83_$LT$core..ops..RangeFull$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17haca7a03d07dda289E"(i8* nonnull, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = insertvalue { i8*, i16 } undef, i8* %0, 0 %3 = insertvalue { i8*, i16 } %2, i16 %1, 1 ret { i8*, i16 } %3 } ; Function Attrs: uwtable define internal void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h3a95e5cda716e111E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4), %"num::flt2dec::Part"* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h7a6646df3f0b1ee6E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %0, %"num::flt2dec::Part"* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h80782c742e5a4cb4E"(%"slice::Iter<(u8, u8)>"* noalias nocapture sret dereferenceable(4), { i8, i8 }* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hcf4e8a889baff06eE"(%"slice::Iter<(u8, u8)>"* noalias nocapture sret dereferenceable(4) %0, { i8, i8 }* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %0, i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17hb70e4489485d2168E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4), i32* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h339a5ca69547581eE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %0, i32* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal void @"_ZN4core5slice97_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$mut$u20$$u5b$T$u5d$$GT$9into_iter17h437626629bb0957aE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4), i32* nonnull, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h8a1cf42bf0ae4fdcE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %0, i32* nonnull %1, i16 %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal void @"_ZN4core5slice97_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$mut$u20$$u5b$T$u5d$$GT$9into_iter17hb54fc44aaf7ce3efE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4), i8* nonnull, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %0, i8* nonnull %1, i16 %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: alwaysinline uwtable define internal i16 @_ZN4core5slice13size_from_ptr17h5b91925189f404d3E(i32*) unnamed_addr #2 { entry-block: br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h71b326904f99a0adE() br label %bb1 bb1: ; preds = %start ret i16 %1 } ; Function Attrs: uwtable define internal i8 @"_ZN77_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hbaae357819f88a29E"(%"slice::Iter"* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_15 = alloca { i8*, i16 } %_8 = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %_8, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.6B, i32 0, i32 0), i16 4) br label %bb1 bb1: ; preds = %start %2 = call { i8*, i16 } @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$8as_slice17h0bf00181a63e5c8cE"(%"slice::Iter"* noalias readonly dereferenceable(4) %0) store { i8*, i16 } %2, { i8*, i16 }* %_15 br label %bb2 bb2: ; preds = %bb1 %3 = bitcast { i8*, i16 }* %_15 to i8* %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %_8, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void ({ i8*, i16 }*)*, i16, i16, i8 ({ i8*, i16 }*, %"fmt::Formatter"*)* }* @vtable.6C to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %4) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define internal { i8*, i16 } @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$8as_slice17h0bf00181a63e5c8cE"(%"slice::Iter"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_0 = alloca { i8*, i16 } br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %2 = load i8*, i8** %1 %3 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %4 = load i8*, i8** %3 %5 = ptrtoint i8* %4 to i16 %6 = ptrtoint i8* %2 to i16 %7 = call i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %5, i16 %6) br label %bb1 bb1: ; preds = %start %8 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb2 bb2: ; preds = %bb1 %9 = icmp eq i16 %8, 0 br i1 %9, label %bb3, label %bb4 bb3: ; preds = %bb2 %10 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* inttoptr (i16 1 to i8*), i16 %7) %11 = extractvalue { i8*, i16 } %10, 0 %12 = extractvalue { i8*, i16 } %10, 1 br label %bb5 bb4: ; preds = %bb2 %13 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb6 bb5: ; preds = %bb3 %14 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_0, i32 0, i32 0 store i8* %11, i8** %14 %15 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_0, i32 0, i32 1 store i16 %12, i16* %15 br label %bb9 bb6: ; preds = %bb4 %16 = icmp eq i16 %13, 0 %17 = call i1 @llvm.expect.i1(i1 %16, i1 false) br i1 %17, label %panic, label %bb7 bb7: ; preds = %bb6 %18 = udiv i16 %7, %13 %19 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %2, i16 %18) %20 = extractvalue { i8*, i16 } %19, 0 %21 = extractvalue { i8*, i16 } %19, 1 br label %bb8 bb8: ; preds = %bb7 %22 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_0, i32 0, i32 0 store i8* %20, i8** %22 %23 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_0, i32 0, i32 1 store i16 %21, i16* %23 br label %bb9 bb9: ; preds = %bb8, %bb5 %24 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_0, i32 0, i32 0 %25 = load i8*, i8** %24, !nonnull !1 %26 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_0, i32 0, i32 1 %27 = load i16, i16* %26 %28 = insertvalue { i8*, i16 } undef, i8* %25, 0 %29 = insertvalue { i8*, i16 } %28, i16 %27, 1 ret { i8*, i16 } %29 panic: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6D) unreachable } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN98_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..ExactSizeIterator$GT$8is_empty17h57f7673de385b485E"(%"slice::Iter"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %2 = load i8*, i8** %1 %3 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %4 = load i8*, i8** %3 %5 = icmp eq i8* %2, %4 ret i1 %5 } ; Function Attrs: uwtable define internal void @"_ZN79_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h70dac1d7c0e3b8e4E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4), %"slice::Iter"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 0 %3 = load i8*, i8** %2 %4 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 1 %5 = load i8*, i8** %4 %6 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 2 %7 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 store i8* %3, i8** %7 %8 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 store i8* %5, i8** %8 ret void } ; Function Attrs: alwaysinline uwtable define internal i16 @_ZN4core5slice11ptrdistance17h42e4f1abab57ca8fE(i32*, i32*) unnamed_addr #2 { entry-block: %_5 = alloca %"option::Option" %_0 = alloca i16 br label %start start: ; preds = %entry-block call void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h3200908cfabe06dbE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5, i32* %0, i32* %1) br label %bb1 bb1: ; preds = %start %2 = getelementptr inbounds %"option::Option", %"option::Option"* %_5, i32 0, i32 0 %3 = load i16, i16* %2, !range !3 switch i16 %3, label %bb3 [ i16 0, label %bb2 ] bb2: ; preds = %bb1 %4 = ptrtoint i32* %1 to i16 %5 = ptrtoint i32* %0 to i16 %6 = call i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %4, i16 %5) store i16 %6, i16* %_0 br label %bb5 bb3: ; preds = %bb1 %7 = bitcast %"option::Option"* %_5 to { i16, i16 }* %8 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %7, i32 0, i32 1 %9 = load i16, i16* %8 store i16 %9, i16* %_0 br label %bb4 bb4: ; preds = %bb5, %bb3 %10 = load i16, i16* %_0 ret i16 %10 bb5: ; preds = %bb2 br label %bb4 } ; Function Attrs: alwaysinline uwtable define internal i32* @_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE(i32** dereferenceable(2)) unnamed_addr #2 { entry-block: %_0.i = alloca i32* br label %start start: ; preds = %entry-block %1 = load i32*, i32** %0 %2 = load i32*, i32** %0 %3 = call i16 @_ZN4core3mem7size_of17h71b326904f99a0adE() %4 = icmp eq i16 %3, 0 br i1 %4, label %bb2.i, label %bb3.i bb2.i: ; preds = %start %5 = bitcast i32* %2 to i8* %6 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %5, i16 1) %7 = bitcast i8* %6 to i32* store i32* %7, i32** %_0.i br label %"_ZN59_$LT$$BP$const$u20$T$u20$as$u20$core..slice..PointerExt$GT$12slice_offset17hbae31991a039f742E.exit" bb3.i: ; preds = %start %8 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h360b324363152bdfE"(i32* %2, i16 1) store i32* %8, i32** %_0.i br label %"_ZN59_$LT$$BP$const$u20$T$u20$as$u20$core..slice..PointerExt$GT$12slice_offset17hbae31991a039f742E.exit" "_ZN59_$LT$$BP$const$u20$T$u20$as$u20$core..slice..PointerExt$GT$12slice_offset17hbae31991a039f742E.exit": ; preds = %bb2.i, %bb3.i %9 = load i32*, i32** %_0.i br label %bb1 bb1: ; preds = %"_ZN59_$LT$$BP$const$u20$T$u20$as$u20$core..slice..PointerExt$GT$12slice_offset17hbae31991a039f742E.exit" store i32* %9, i32** %0 ret i32* %1 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @_ZN4core5slice14from_raw_parts17h6c6136b5e5dafd85E(i32*, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca { i32*, i16 } %_5 = alloca %"slice::Repr" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_5, i32 0, i32 0 store i32* %0, i32** %2 %3 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_5, i32 0, i32 1 store i16 %1, i16* %3 %4 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_5, i32 0, i32 0 %5 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_5, i32 0, i32 1 %6 = load i32*, i32** %4 %7 = load i16, i16* %5 %8 = bitcast { i32*, i16 }* %transmute_temp to %"slice::Repr"* %9 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %8, i32 0, i32 0 store i32* %6, i32** %9, align 2 %10 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %8, i32 0, i32 1 store i16 %7, i16* %10, align 2 %11 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %transmute_temp, i32 0, i32 0 %12 = load i32*, i32** %11, !nonnull !1 %13 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %transmute_temp, i32 0, i32 1 %14 = load i16, i16* %13 br label %bb1 bb1: ; preds = %start %15 = insertvalue { i32*, i16 } undef, i32* %12, 0 %16 = insertvalue { i32*, i16 } %15, i16 %14, 1 ret { i32*, i16 } %16 } ; Function Attrs: inlinehint uwtable define internal { %"num::flt2dec::Part"*, i16 } @_ZN4core5slice14from_raw_parts17h7539a942eb3ca5a7E(%"num::flt2dec::Part"*, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca { %"num::flt2dec::Part"*, i16 } %_5 = alloca %"slice::Repr" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_5, i32 0, i32 0 store %"num::flt2dec::Part"* %0, %"num::flt2dec::Part"** %2 %3 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_5, i32 0, i32 1 store i16 %1, i16* %3 %4 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_5, i32 0, i32 0 %5 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_5, i32 0, i32 1 %6 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %4 %7 = load i16, i16* %5 %8 = bitcast { %"num::flt2dec::Part"*, i16 }* %transmute_temp to %"slice::Repr"* %9 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %8, i32 0, i32 0 store %"num::flt2dec::Part"* %6, %"num::flt2dec::Part"** %9, align 2 %10 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %8, i32 0, i32 1 store i16 %7, i16* %10, align 2 %11 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %transmute_temp, i32 0, i32 0 %12 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %11, !nonnull !1 %13 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %transmute_temp, i32 0, i32 1 %14 = load i16, i16* %13 br label %bb1 bb1: ; preds = %start %15 = insertvalue { %"num::flt2dec::Part"*, i16 } undef, %"num::flt2dec::Part"* %12, 0 %16 = insertvalue { %"num::flt2dec::Part"*, i16 } %15, i16 %14, 1 ret { %"num::flt2dec::Part"*, i16 } %16 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8*, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca { i8*, i16 } %_5 = alloca %"slice::Repr" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_5, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_5, i32 0, i32 1 store i16 %1, i16* %3 %4 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_5, i32 0, i32 0 %5 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_5, i32 0, i32 1 %6 = load i8*, i8** %4 %7 = load i16, i16* %5 %8 = bitcast { i8*, i16 }* %transmute_temp to %"slice::Repr"* %9 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %8, i32 0, i32 0 store i8* %6, i8** %9, align 2 %10 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %8, i32 0, i32 1 store i16 %7, i16* %10, align 2 %11 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %transmute_temp, i32 0, i32 0 %12 = load i8*, i8** %11, !nonnull !1 %13 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %transmute_temp, i32 0, i32 1 %14 = load i16, i16* %13 br label %bb1 bb1: ; preds = %start %15 = insertvalue { i8*, i16 } undef, i8* %12, 0 %16 = insertvalue { i8*, i16 } %15, i16 %14, 1 ret { i8*, i16 } %16 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @_ZN4core5slice18from_raw_parts_mut17hcad6a1b102abd3d7E(i8*, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca { i8*, i16 } %_6 = alloca %"slice::Repr" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_6, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_6, i32 0, i32 1 store i16 %1, i16* %3 %4 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_6, i32 0, i32 0 %5 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_6, i32 0, i32 1 %6 = load i8*, i8** %4 %7 = load i16, i16* %5 %8 = bitcast { i8*, i16 }* %transmute_temp to %"slice::Repr"* %9 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %8, i32 0, i32 0 store i8* %6, i8** %9, align 2 %10 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %8, i32 0, i32 1 store i16 %7, i16* %10, align 2 %11 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %transmute_temp, i32 0, i32 0 %12 = load i8*, i8** %11, !nonnull !1 %13 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %transmute_temp, i32 0, i32 1 %14 = load i16, i16* %13 br label %bb1 bb1: ; preds = %start %15 = insertvalue { i8*, i16 } undef, i8* %12, 0 %16 = insertvalue { i8*, i16 } %15, i16 %14, 1 ret { i8*, i16 } %16 } ; Function Attrs: inlinehint uwtable define internal { i32*, i16 } @_ZN4core5slice18from_raw_parts_mut17hd1f1ef4d80fa6090E(i32*, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca { i32*, i16 } %_6 = alloca %"slice::Repr" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_6, i32 0, i32 0 store i32* %0, i32** %2 %3 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_6, i32 0, i32 1 store i16 %1, i16* %3 %4 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_6, i32 0, i32 0 %5 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %_6, i32 0, i32 1 %6 = load i32*, i32** %4 %7 = load i16, i16* %5 %8 = bitcast { i32*, i16 }* %transmute_temp to %"slice::Repr"* %9 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %8, i32 0, i32 0 store i32* %6, i32** %9, align 2 %10 = getelementptr inbounds %"slice::Repr", %"slice::Repr"* %8, i32 0, i32 1 store i16 %7, i16* %10, align 2 %11 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %transmute_temp, i32 0, i32 0 %12 = load i32*, i32** %11, !nonnull !1 %13 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %transmute_temp, i32 0, i32 1 %14 = load i16, i16* %13 br label %bb1 bb1: ; preds = %start %15 = insertvalue { i32*, i16 } undef, i32* %12, 0 %16 = insertvalue { i32*, i16 } %15, i16 %14, 1 ret { i32*, i16 } %16 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core5slice81_$LT$impl$u20$core..cmp..PartialEq$LT$$u5b$B$u5d$$GT$$u20$for$u20$$u5b$A$u5d$$GT$2eq17h420934823be0c250E"(i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %4 = call zeroext i1 @"_ZN68_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..SlicePartialEq$LT$A$GT$$GT$5equal17hf9343137edddf813E"(i8* noalias nonnull readonly %0, i16 %1, i8* noalias nonnull readonly %2, i16 %3) br label %bb1 bb1: ; preds = %start ret i1 %4 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core5slice81_$LT$impl$u20$core..cmp..PartialEq$LT$$u5b$B$u5d$$GT$$u20$for$u20$$u5b$A$u5d$$GT$2eq17ha6c4e2e04316e846E"(i32* noalias nonnull readonly, i16, i32* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %4 = call zeroext i1 @"_ZN68_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..SlicePartialEq$LT$A$GT$$GT$5equal17h23770b5dc7badd7aE"(i32* noalias nonnull readonly %0, i16 %1, i32* noalias nonnull readonly %2, i16 %3) br label %bb1 bb1: ; preds = %start ret i1 %4 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core5slice81_$LT$impl$u20$core..cmp..PartialEq$LT$$u5b$B$u5d$$GT$$u20$for$u20$$u5b$A$u5d$$GT$2ne17hcce72d6bc4b35730E"(i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %4 = call zeroext i1 @_ZN4core5slice14SlicePartialEq9not_equal17hb3db8224d9ea55c4E(i8* noalias nonnull readonly %0, i16 %1, i8* noalias nonnull readonly %2, i16 %3) br label %bb1 bb1: ; preds = %start ret i1 %4 } ; Function Attrs: uwtable define internal i8 @"_ZN4core5slice56_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$u5b$T$u5d$$GT$3cmp17hd353e28420a6ce73E"(i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %_0 = alloca i8 br label %start start: ; preds = %entry-block %4 = call i8 @"_ZN64_$LT$$u5b$u8$u5d$$u20$as$u20$core..slice..SliceOrd$LT$u8$GT$$GT$7compare17h1a1a956b405ef0e1E"(i8* noalias nonnull readonly %0, i16 %1, i8* noalias nonnull readonly %2, i16 %3) store i8 %4, i8* %_0 br label %bb1 bb1: ; preds = %start %5 = load i8, i8* %_0 ret i8 %5 } ; Function Attrs: uwtable define internal zeroext i1 @_ZN4core5slice14SlicePartialEq9not_equal17hb3db8224d9ea55c4E(i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %4 = call zeroext i1 @"_ZN68_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..SlicePartialEq$LT$A$GT$$GT$5equal17hf9343137edddf813E"(i8* noalias nonnull readonly %0, i16 %1, i8* noalias nonnull readonly %2, i16 %3) br label %bb1 bb1: ; preds = %start %5 = xor i1 %4, true ret i1 %5 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN68_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..SlicePartialEq$LT$A$GT$$GT$5equal17h23770b5dc7badd7aE"(i32* noalias nonnull readonly, i16, i32* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %_11 = alloca {} %_5 = alloca {} %_0 = alloca i8 br label %start start: ; preds = %entry-block %4 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %5 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %2, i16 %3) br label %bb2 bb2: ; preds = %bb1 %6 = icmp ne i16 %4, %5 br i1 %6, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 0, i8* %_0 br label %bb6 bb4: ; preds = %bb2 %7 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h1292721ede28a496E"(i32* noalias nonnull readonly %0, i16 %1) br label %bb7 bb5: ; preds = %bb14, %bb6 %8 = load i8, i8* %_0, !range !2 %9 = trunc i8 %8 to i1 ret i1 %9 bb6: ; preds = %bb9, %bb3 br label %bb5 bb7: ; preds = %bb4 %10 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h1292721ede28a496E"(i32* noalias nonnull readonly %2, i16 %3) br label %bb8 bb8: ; preds = %bb7 %11 = icmp eq i32* %7, %10 br i1 %11, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8 1, i8* %_0 br label %bb6 bb10: ; preds = %bb8 %12 = call i16 @_ZN4core3mem11size_of_val17h7fcfd6c3e836869cE(i32* noalias nonnull readonly %0, i16 %1) br label %bb11 bb11: ; preds = %bb10 %13 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h1292721ede28a496E"(i32* noalias nonnull readonly %0, i16 %1) br label %bb12 bb12: ; preds = %bb11 %14 = bitcast i32* %13 to i8* %15 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h1292721ede28a496E"(i32* noalias nonnull readonly %2, i16 %3) br label %bb13 bb13: ; preds = %bb12 %16 = bitcast i32* %15 to i8* %17 = call i32 @memcmp(i8* %14, i8* %16, i16 %12) br label %bb14 bb14: ; preds = %bb13 %18 = icmp eq i32 %17, 0 %19 = zext i1 %18 to i8 store i8 %19, i8* %_0 br label %bb5 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN68_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..SlicePartialEq$LT$A$GT$$GT$5equal17hf9343137edddf813E"(i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %_11 = alloca {} %_5 = alloca {} %_0 = alloca i8 br label %start start: ; preds = %entry-block %4 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %5 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb2 bb2: ; preds = %bb1 %6 = icmp ne i16 %4, %5 br i1 %6, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 0, i8* %_0 br label %bb6 bb4: ; preds = %bb2 %7 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb7 bb5: ; preds = %bb14, %bb6 %8 = load i8, i8* %_0, !range !2 %9 = trunc i8 %8 to i1 ret i1 %9 bb6: ; preds = %bb9, %bb3 br label %bb5 bb7: ; preds = %bb4 %10 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb8 bb8: ; preds = %bb7 %11 = icmp eq i8* %7, %10 br i1 %11, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8 1, i8* %_0 br label %bb6 bb10: ; preds = %bb8 %12 = call i16 @_ZN4core3mem11size_of_val17h485e1b89de3cb548E(i8* noalias nonnull readonly %0, i16 %1) br label %bb11 bb11: ; preds = %bb10 %13 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb12 bb12: ; preds = %bb11 %14 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb13 bb13: ; preds = %bb12 %15 = call i32 @memcmp(i8* %13, i8* %14, i16 %12) br label %bb14 bb14: ; preds = %bb13 %16 = icmp eq i32 %15, 0 %17 = zext i1 %16 to i8 store i8 %17, i8* %_0 br label %bb5 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN64_$LT$$u5b$u8$u5d$$u20$as$u20$core..slice..SliceOrd$LT$u8$GT$$GT$7compare17h1a1a956b405ef0e1E"(i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_22 = alloca i16 %_18 = alloca i16 %_0 = alloca i8 br label %start start: ; preds = %entry-block %4 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %5 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb2 bb2: ; preds = %bb1 %6 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb3 bb3: ; preds = %bb2 %7 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb4 bb4: ; preds = %bb3 %8 = call i16 @_ZN4core3cmp3min17h1e7efd6f790a1e21E(i16 %6, i16 %7) br label %bb5 bb5: ; preds = %bb4 %9 = call i32 @memcmp(i8* %4, i8* %5, i16 %8) br label %bb6 bb6: ; preds = %bb5 %10 = icmp eq i32 %9, 0 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) store i16 %11, i16* %_18 br label %bb9 bb8: ; preds = %bb6 %12 = icmp slt i32 %9, 0 br i1 %12, label %bb12, label %bb13 bb9: ; preds = %bb7 %13 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) store i16 %13, i16* %_22 br label %bb10 bb10: ; preds = %bb9 %14 = call i8 @"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17h3b3546618eee99bcE"(i16* noalias readonly dereferenceable(2) %_18, i16* noalias readonly dereferenceable(2) %_22) store i8 %14, i8* %_0 br label %bb11 bb11: ; preds = %bb10 br label %bb15 bb12: ; preds = %bb8 store i8 -1, i8* %_0 br label %bb14 bb13: ; preds = %bb8 store i8 1, i8* %_0 br label %bb14 bb14: ; preds = %bb13, %bb12 br label %bb15 bb15: ; preds = %bb14, %bb11 %15 = load i8, i8* %_0 ret i8 %15 } ; Function Attrs: uwtable define internal dereferenceable(4) i32* @"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$13get_unchecked17h280b283245cb14caE"(%"slice::Iter"* dereferenceable(4), i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %3 = load i32*, i32** %2 %4 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %3, i16 %1) br label %bb1 bb1: ; preds = %start ret i32* %4 } ; Function Attrs: uwtable define internal dereferenceable(1) i8* @"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$13get_unchecked17h671c8501e35a428aE"(%"slice::Iter"* dereferenceable(4), i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %3 = load i8*, i8** %2 %4 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %3, i16 %1) br label %bb1 bb1: ; preds = %start ret i8* %4 } ; Function Attrs: uwtable define internal dereferenceable(4) i32* @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$13get_unchecked17h6fa43a2bdf03213bE"(%"slice::IterMut"* dereferenceable(4), i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 %3 = load i32*, i32** %2 %4 = call i32* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hc806dda48d9cf3c3E"(i32* %3, i16 %1) br label %bb1 bb1: ; preds = %start ret i32* %4 } ; Function Attrs: uwtable define internal dereferenceable(1) i8* @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$13get_unchecked17h93658ca26a4ced3eE"(%"slice::IterMut"* dereferenceable(4), i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 %3 = load i8*, i8** %2 %4 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %3, i16 %1) br label %bb1 bb1: ; preds = %start ret i8* %4 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$20may_have_side_effect17h3bd66f571facdc7fE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i1 false } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter_private..TrustedRandomAccess$GT$20may_have_side_effect17h6ed72514fd24e8f3E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i1 false } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3str7pattern8Searcher10next_match17h5b9bd066b5b8f096E(%"option::Option<(usize, usize)>"* noalias nocapture sret dereferenceable(6), %"str::pattern::CharEqSearcher"* dereferenceable(16)) unnamed_addr #0 { entry-block: %_8 = alloca { i16, i16 } %_3 = alloca %"str::pattern::SearchStep" br label %start start: ; preds = %entry-block br label %bb1 bb1: ; preds = %bb6, %start call void @"_ZN120_$LT$core..str..pattern..CharEqSearcher$LT$$u27$a$C$$u20$C$GT$$u20$as$u20$core..str..pattern..Searcher$LT$$u27$a$GT$$GT$4next17h9ad5034d7b3c9f96E"(%"str::pattern::SearchStep"* noalias nocapture sret dereferenceable(6) %_3, %"str::pattern::CharEqSearcher"* dereferenceable(16) %1) br label %bb2 bb2: ; preds = %bb1 %2 = getelementptr inbounds %"str::pattern::SearchStep", %"str::pattern::SearchStep"* %_3, i32 0, i32 0 %3 = load i16, i16* %2, !range !4 switch i16 %3, label %bb6 [ i16 0, label %bb4 i16 2, label %bb3 ] bb3: ; preds = %bb2 %4 = getelementptr inbounds %"option::Option<(usize, usize)>", %"option::Option<(usize, usize)>"* %0, i32 0, i32 0 store i16 0, i16* %4 br label %bb5 bb4: ; preds = %bb2 %5 = bitcast %"str::pattern::SearchStep"* %_3 to { i16, i16, i16 }* %6 = getelementptr inbounds { i16, i16, i16 }, { i16, i16, i16 }* %5, i32 0, i32 1 %7 = load i16, i16* %6 %8 = bitcast %"str::pattern::SearchStep"* %_3 to { i16, i16, i16 }* %9 = getelementptr inbounds { i16, i16, i16 }, { i16, i16, i16 }* %8, i32 0, i32 2 %10 = load i16, i16* %9 %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_8, i32 0, i32 0 store i16 %7, i16* %11 %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_8, i32 0, i32 1 store i16 %10, i16* %12 %13 = getelementptr inbounds %"option::Option<(usize, usize)>", %"option::Option<(usize, usize)>"* %0, i32 0, i32 0 store i16 1, i16* %13 %14 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_8, i32 0, i32 0 %15 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_8, i32 0, i32 1 %16 = load i16, i16* %14 %17 = load i16, i16* %15 %18 = bitcast %"option::Option<(usize, usize)>"* %0 to { i16, { i16, i16 } }* %19 = getelementptr inbounds { i16, { i16, i16 } }, { i16, { i16, i16 } }* %18, i32 0, i32 1 %20 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %19, i32 0, i32 0 store i16 %16, i16* %20 %21 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %19, i32 0, i32 1 store i16 %17, i16* %21 br label %bb5 bb5: ; preds = %bb4, %bb3 ret void bb6: ; preds = %bb2 br label %bb1 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN51_$LT$char$u20$as$u20$core..str..pattern..CharEq$GT$7matches17ha2d739a166ccf049E"(i32* dereferenceable(4), i32) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i32, i32* %0, !range !11 %3 = icmp eq i32 %2, %1 ret i1 %3 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN51_$LT$char$u20$as$u20$core..str..pattern..CharEq$GT$10only_ascii17ha5e2091effada22fE"(i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0, !range !11 %2 = icmp ult i32 %1, 128 ret i1 %2 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN76_$LT$$RF$$u27$a$u20$$u5b$char$u5d$$u20$as$u20$core..str..pattern..CharEq$GT$7matches28_$u7b$$u7b$closure$u7d$$u7d$17h14751ce9772c8823E"(%closure.39* dereferenceable(2), i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %m = alloca i32 br label %start start: ; preds = %entry-block %2 = load i32, i32* %1, !range !11 store i32 %2, i32* %m %3 = getelementptr inbounds %closure.39, %closure.39* %0, i32 0, i32 0 %4 = load i32*, i32** %3, !nonnull !1 %5 = load i32, i32* %4, !range !11 %6 = call zeroext i1 @"_ZN51_$LT$char$u20$as$u20$core..str..pattern..CharEq$GT$7matches17ha2d739a166ccf049E"(i32* dereferenceable(4) %m, i32 %5) br label %bb1 bb1: ; preds = %start ret i1 %6 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN76_$LT$$RF$$u27$a$u20$$u5b$char$u5d$$u20$as$u20$core..str..pattern..CharEq$GT$10only_ascii28_$u7b$$u7b$closure$u7d$$u7d$17h4fbf25044587cd53E"(%closure.40*, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call zeroext i1 @"_ZN51_$LT$char$u20$as$u20$core..str..pattern..CharEq$GT$10only_ascii17ha5e2091effada22fE"(i32* noalias readonly dereferenceable(4) %1) br label %bb1 bb1: ; preds = %start ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN104_$LT$core..str..pattern..CharEqPattern$LT$C$GT$$u20$as$u20$core..str..pattern..Pattern$LT$$u27$a$GT$$GT$13into_searcher17hbba0899849f0ac3bE"(%"str::pattern::CharEqSearcher"* noalias nocapture sret dereferenceable(16), i32, i8* noalias nonnull readonly, i16) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_11 = alloca i8 %_9 = alloca %"str::CharIndices" %self = alloca %"str::pattern::CharEqPattern" %abi_cast = alloca i32 %arg0 = alloca %"str::pattern::CharEqPattern" store i32 %1, i32* %abi_cast %4 = bitcast %"str::pattern::CharEqPattern"* %arg0 to i8* %5 = bitcast i32* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %5, i16 4, i32 4, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_11 store i8 1, i8* %_11 %6 = bitcast %"str::pattern::CharEqPattern"* %arg0 to i8* %7 = bitcast %"str::pattern::CharEqPattern"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 4, i1 false) %8 = getelementptr inbounds %"str::pattern::CharEqPattern", %"str::pattern::CharEqPattern"* %self, i32 0, i32 0 %9 = invoke zeroext i1 @"_ZN51_$LT$char$u20$as$u20$core..str..pattern..CharEq$GT$10only_ascii17ha5e2091effada22fE"(i32* noalias readonly dereferenceable(4) %8) to label %bb1 unwind label %cleanup bb1: ; preds = %start store i8 0, i8* %_11 %10 = getelementptr inbounds %"str::pattern::CharEqPattern", %"str::pattern::CharEqPattern"* %self, i32 0, i32 0 %11 = load i32, i32* %10, !range !11 invoke void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$12char_indices17h9ca5ebface074dd3E"(%"str::CharIndices"* noalias nocapture sret dereferenceable(6) %_9, i8* noalias nonnull readonly %2, i16 %3) to label %bb3 unwind label %cleanup1 bb2: ; preds = %cleanup1 br label %bb6 bb3: ; preds = %bb1 %12 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %0, i32 0, i32 0 store i32 %11, i32* %12 %13 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %0, i32 0, i32 1 %14 = getelementptr inbounds %str_slice, %str_slice* %13, i32 0, i32 0 store i8* %2, i8** %14 %15 = getelementptr inbounds %str_slice, %str_slice* %13, i32 0, i32 1 store i16 %3, i16* %15 %16 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %0, i32 0, i32 2 %17 = bitcast %"str::CharIndices"* %_9 to i8* %18 = bitcast %"str::CharIndices"* %16 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %17, i16 6, i32 2, i1 false) %19 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %0, i32 0, i32 3 %20 = zext i1 %9 to i8 store i8 %20, i8* %19 ret void bb4: ; preds = %bb5, %bb6 %21 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %21 bb5: ; preds = %bb6 store i8 0, i8* %_11 br label %bb4 bb6: ; preds = %bb2, %cleanup %22 = load i8, i8* %_11, !range !2 %23 = trunc i8 %22 to i1 br i1 %23, label %bb5, label %bb4 cleanup: ; preds = %start %24 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %24, { i8*, i32 }* %personalityslot br label %bb6 cleanup1: ; preds = %bb1 %25 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %25, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN120_$LT$core..str..pattern..CharEqSearcher$LT$$u27$a$C$$u20$C$GT$$u20$as$u20$core..str..pattern..Searcher$LT$$u27$a$GT$$GT$4next17h9ad5034d7b3c9f96E"(%"str::pattern::SearchStep"* noalias nocapture sret dereferenceable(6), %"str::pattern::CharEqSearcher"* dereferenceable(16)) unnamed_addr #0 { entry-block: %_7 = alloca %"option::Option<(usize, char)>" %_6 = alloca {} br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %1, i32 0, i32 2 %3 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %2, i32 0, i32 1 %4 = getelementptr inbounds %"str::Chars", %"str::Chars"* %3, i32 0, i32 0 %5 = call i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hcab9b60dd0a777faE(%"slice::Iter"* noalias readonly dereferenceable(4) %4) br label %bb1 bb1: ; preds = %start call void @"_ZN87_$LT$core..str..CharIndices$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf91c97e87b0f9834E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(12) %_7, %"str::CharIndices"* dereferenceable(6) %2) br label %bb2 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %_7, i32 0, i32 0 %7 = load i32, i32* %6, !range !9 %8 = trunc i32 %7 to i16 switch i16 %8, label %bb3 [ i16 1, label %bb4 ] bb3: ; preds = %bb2 %9 = getelementptr inbounds %"str::pattern::SearchStep", %"str::pattern::SearchStep"* %0, i32 0, i32 0 store i16 2, i16* %9 br label %bb11 bb4: ; preds = %bb2 %10 = bitcast %"option::Option<(usize, char)>"* %_7 to { i32, { i16, i32 } }* %11 = getelementptr inbounds { i32, { i16, i32 } }, { i32, { i16, i32 } }* %10, i32 0, i32 1 %12 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %11, i32 0, i32 0 %13 = load i16, i16* %12 %14 = bitcast %"option::Option<(usize, char)>"* %_7 to { i32, { i16, i32 } }* %15 = getelementptr inbounds { i32, { i16, i32 } }, { i32, { i16, i32 } }* %14, i32 0, i32 1 %16 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %15, i32 0, i32 1 %17 = load i32, i32* %16, !range !11 %18 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %2, i32 0, i32 1 %19 = getelementptr inbounds %"str::Chars", %"str::Chars"* %18, i32 0, i32 0 %20 = call i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hcab9b60dd0a777faE(%"slice::Iter"* noalias readonly dereferenceable(4) %19) br label %bb5 bb5: ; preds = %bb4 %21 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %5, i16 %20) %22 = extractvalue { i16, i1 } %21, 0 %23 = extractvalue { i16, i1 } %21, 1 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb6 bb6: ; preds = %bb5 %25 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %1, i32 0, i32 0 %26 = call zeroext i1 @"_ZN51_$LT$char$u20$as$u20$core..str..pattern..CharEq$GT$7matches17ha2d739a166ccf049E"(i32* dereferenceable(4) %25, i32 %17) br label %bb7 bb7: ; preds = %bb6 br i1 %26, label %bb8, label %bb9 bb8: ; preds = %bb7 %27 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %13, i16 %22) %28 = extractvalue { i16, i1 } %27, 0 %29 = extractvalue { i16, i1 } %27, 1 %30 = call i1 @llvm.expect.i1(i1 %29, i1 false) br i1 %30, label %panic1, label %bb10 bb9: ; preds = %bb7 %31 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %13, i16 %22) %32 = extractvalue { i16, i1 } %31, 0 %33 = extractvalue { i16, i1 } %31, 1 %34 = call i1 @llvm.expect.i1(i1 %33, i1 false) br i1 %34, label %panic2, label %bb13 bb10: ; preds = %bb8 %35 = getelementptr inbounds %"str::pattern::SearchStep", %"str::pattern::SearchStep"* %0, i32 0, i32 0 store i16 0, i16* %35 %36 = bitcast %"str::pattern::SearchStep"* %0 to { i16, i16, i16 }* %37 = getelementptr inbounds { i16, i16, i16 }, { i16, i16, i16 }* %36, i32 0, i32 1 store i16 %13, i16* %37 %38 = bitcast %"str::pattern::SearchStep"* %0 to { i16, i16, i16 }* %39 = getelementptr inbounds { i16, i16, i16 }, { i16, i16, i16 }* %38, i32 0, i32 2 store i16 %28, i16* %39 br label %bb12 bb11: ; preds = %bb12, %bb3 ret void bb12: ; preds = %bb13, %bb10 br label %bb11 bb13: ; preds = %bb9 %40 = getelementptr inbounds %"str::pattern::SearchStep", %"str::pattern::SearchStep"* %0, i32 0, i32 0 store i16 1, i16* %40 %41 = bitcast %"str::pattern::SearchStep"* %0 to { i16, i16, i16 }* %42 = getelementptr inbounds { i16, i16, i16 }, { i16, i16, i16 }* %41, i32 0, i32 1 store i16 %13, i16* %42 %43 = bitcast %"str::pattern::SearchStep"* %0 to { i16, i16, i16 }* %44 = getelementptr inbounds { i16, i16, i16 }, { i16, i16, i16 }* %43, i32 0, i32 2 store i16 %32, i16* %44 br label %bb12 panic: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6F) unreachable panic1: ; preds = %bb8 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6G) unreachable panic2: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6H) unreachable } ; Function Attrs: uwtable define void @_ZN4core3str7pattern11StrSearcher3new17h1f1d651b2a6b0dfbE(%"str::pattern::StrSearcher"* noalias nocapture sret dereferenceable(40), i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %_16 = alloca %"str::pattern::TwoWaySearcher" %_15 = alloca %"str::pattern::StrSearcherImpl" %_10 = alloca %"str::pattern::EmptyNeedle" %_9 = alloca %"str::pattern::StrSearcherImpl" br label %start start: ; preds = %entry-block %5 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %3, i16 %4) br label %bb1 bb1: ; preds = %start br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %1, i16 %2) br label %bb4 bb3: ; preds = %bb1 %7 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %3, i16 %4) %8 = extractvalue { i8*, i16 } %7, 0 %9 = extractvalue { i8*, i16 } %7, 1 br label %bb5 bb4: ; preds = %bb2 %10 = getelementptr inbounds %"str::pattern::EmptyNeedle", %"str::pattern::EmptyNeedle"* %_10, i32 0, i32 0 store i16 0, i16* %10 %11 = getelementptr inbounds %"str::pattern::EmptyNeedle", %"str::pattern::EmptyNeedle"* %_10, i32 0, i32 1 store i16 %6, i16* %11 %12 = getelementptr inbounds %"str::pattern::EmptyNeedle", %"str::pattern::EmptyNeedle"* %_10, i32 0, i32 2 store i8 1, i8* %12 %13 = getelementptr inbounds %"str::pattern::EmptyNeedle", %"str::pattern::EmptyNeedle"* %_10, i32 0, i32 3 store i8 1, i8* %13 %14 = getelementptr inbounds %"str::pattern::StrSearcherImpl", %"str::pattern::StrSearcherImpl"* %_9, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"str::pattern::StrSearcherImpl"* %_9 to { i16, %"str::pattern::EmptyNeedle" }* %16 = getelementptr inbounds { i16, %"str::pattern::EmptyNeedle" }, { i16, %"str::pattern::EmptyNeedle" }* %15, i32 0, i32 1 %17 = bitcast %"str::pattern::EmptyNeedle"* %_10 to i8* %18 = bitcast %"str::pattern::EmptyNeedle"* %16 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %17, i16 6, i32 2, i1 false) %19 = getelementptr inbounds %"str::pattern::StrSearcher", %"str::pattern::StrSearcher"* %0, i32 0, i32 0 %20 = getelementptr inbounds %str_slice, %str_slice* %19, i32 0, i32 0 store i8* %1, i8** %20 %21 = getelementptr inbounds %str_slice, %str_slice* %19, i32 0, i32 1 store i16 %2, i16* %21 %22 = getelementptr inbounds %"str::pattern::StrSearcher", %"str::pattern::StrSearcher"* %0, i32 0, i32 1 %23 = getelementptr inbounds %str_slice, %str_slice* %22, i32 0, i32 0 store i8* %3, i8** %23 %24 = getelementptr inbounds %str_slice, %str_slice* %22, i32 0, i32 1 store i16 %4, i16* %24 %25 = getelementptr inbounds %"str::pattern::StrSearcher", %"str::pattern::StrSearcher"* %0, i32 0, i32 2 %26 = bitcast %"str::pattern::StrSearcherImpl"* %_9 to i8* %27 = bitcast %"str::pattern::StrSearcherImpl"* %25 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %27, i8* %26, i16 32, i32 8, i1 false) br label %bb8 bb5: ; preds = %bb3 %28 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %1, i16 %2) br label %bb6 bb6: ; preds = %bb5 call void @_ZN4core3str7pattern14TwoWaySearcher3new17h9252fd22e6c23913E(%"str::pattern::TwoWaySearcher"* noalias nocapture sret dereferenceable(24) %_16, i8* noalias nonnull readonly %8, i16 %9, i16 %28) br label %bb7 bb7: ; preds = %bb6 %29 = getelementptr inbounds %"str::pattern::StrSearcherImpl", %"str::pattern::StrSearcherImpl"* %_15, i32 0, i32 0 store i16 1, i16* %29 %30 = bitcast %"str::pattern::StrSearcherImpl"* %_15 to { i16, %"str::pattern::TwoWaySearcher" }* %31 = getelementptr inbounds { i16, %"str::pattern::TwoWaySearcher" }, { i16, %"str::pattern::TwoWaySearcher" }* %30, i32 0, i32 1 %32 = bitcast %"str::pattern::TwoWaySearcher"* %_16 to i8* %33 = bitcast %"str::pattern::TwoWaySearcher"* %31 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %33, i8* %32, i16 24, i32 8, i1 false) %34 = getelementptr inbounds %"str::pattern::StrSearcher", %"str::pattern::StrSearcher"* %0, i32 0, i32 0 %35 = getelementptr inbounds %str_slice, %str_slice* %34, i32 0, i32 0 store i8* %1, i8** %35 %36 = getelementptr inbounds %str_slice, %str_slice* %34, i32 0, i32 1 store i16 %2, i16* %36 %37 = getelementptr inbounds %"str::pattern::StrSearcher", %"str::pattern::StrSearcher"* %0, i32 0, i32 1 %38 = getelementptr inbounds %str_slice, %str_slice* %37, i32 0, i32 0 store i8* %3, i8** %38 %39 = getelementptr inbounds %str_slice, %str_slice* %37, i32 0, i32 1 store i16 %4, i16* %39 %40 = getelementptr inbounds %"str::pattern::StrSearcher", %"str::pattern::StrSearcher"* %0, i32 0, i32 2 %41 = bitcast %"str::pattern::StrSearcherImpl"* %_15 to i8* %42 = bitcast %"str::pattern::StrSearcherImpl"* %40 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %42, i8* %41, i16 32, i32 8, i1 false) br label %bb8 bb8: ; preds = %bb7, %bb4 ret void } ; Function Attrs: uwtable define %str_slice @"_ZN122_$LT$core..str..pattern..StrSearcher$LT$$u27$a$C$$u20$$u27$b$GT$$u20$as$u20$core..str..pattern..Searcher$LT$$u27$a$GT$$GT$8haystack17h74260b9ff374902aE"(%"str::pattern::StrSearcher"* noalias readonly dereferenceable(40)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"str::pattern::StrSearcher", %"str::pattern::StrSearcher"* %0, i32 0, i32 0 %2 = getelementptr inbounds %str_slice, %str_slice* %1, i32 0, i32 0 %3 = load i8*, i8** %2, !nonnull !1 %4 = getelementptr inbounds %str_slice, %str_slice* %1, i32 0, i32 1 %5 = load i16, i16* %4 %6 = insertvalue %str_slice undef, i8* %3, 0 %7 = insertvalue %str_slice %6, i16 %5, 1 ret %str_slice %7 } ; Function Attrs: uwtable define internal void @_ZN4core3str7pattern14TwoWaySearcher3new17h9252fd22e6c23913E(%"str::pattern::TwoWaySearcher"* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i16, i16) unnamed_addr #1 { entry-block: %arg = alloca %"ops::Range" %tmp_ret1 = alloca { i16, i16 } %tmp_ret = alloca { i16, i16 } %_59 = alloca %"ops::RangeTo" %_34 = alloca %"ops::Range" %_31 = alloca { i8*, i16 } %_28 = alloca %"ops::RangeTo" %_25 = alloca { i8*, i16 } %_15 = alloca { i16, i16 } br label %start start: ; preds = %entry-block call void @_ZN4core3str7pattern14TwoWaySearcher14maximal_suffix17he2332c2eef41b1daE({ i16, i16 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i8* noalias nonnull readonly %1, i16 %2, i1 zeroext false) %4 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 0 %5 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret, i32 0, i32 1 %6 = load i16, i16* %4 %7 = load i16, i16* %5 br label %bb1 bb1: ; preds = %start call void @_ZN4core3str7pattern14TwoWaySearcher14maximal_suffix17he2332c2eef41b1daE({ i16, i16 }* noalias nocapture sret dereferenceable(4) %tmp_ret1, i8* noalias nonnull readonly %1, i16 %2, i1 zeroext true) %8 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret1, i32 0, i32 0 %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %tmp_ret1, i32 0, i32 1 %10 = load i16, i16* %8 %11 = load i16, i16* %9 br label %bb2 bb2: ; preds = %bb1 %12 = icmp ugt i16 %6, %10 br i1 %12, label %bb3, label %bb4 bb3: ; preds = %bb2 %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_15, i32 0, i32 0 store i16 %6, i16* %13 %14 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_15, i32 0, i32 1 store i16 %7, i16* %14 br label %bb5 bb4: ; preds = %bb2 %15 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_15, i32 0, i32 0 store i16 %10, i16* %15 %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_15, i32 0, i32 1 store i16 %11, i16* %16 br label %bb5 bb5: ; preds = %bb4, %bb3 %17 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_15, i32 0, i32 0 %18 = load i16, i16* %17 %19 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_15, i32 0, i32 1 %20 = load i16, i16* %19 %21 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_28, i32 0, i32 0 store i16 %18, i16* %21 %22 = bitcast %"ops::RangeTo"* %_28 to i16* %23 = load i16, i16* %22, align 2 %24 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %1, i16 %2, i16 %23) %25 = extractvalue { i8*, i16 } %24, 0 %26 = extractvalue { i8*, i16 } %24, 1 br label %bb6 bb6: ; preds = %bb5 %27 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_25, i32 0, i32 0 store i8* %25, i8** %27 %28 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_25, i32 0, i32 1 store i16 %26, i16* %28 %29 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %20, i16 %18) %30 = extractvalue { i16, i1 } %29, 0 %31 = extractvalue { i16, i1 } %29, 1 %32 = call i1 @llvm.expect.i1(i1 %31, i1 false) br i1 %32, label %panic, label %bb7 bb7: ; preds = %bb6 %33 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_34, i32 0, i32 0 store i16 %20, i16* %33 %34 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_34, i32 0, i32 1 store i16 %30, i16* %34 %35 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_34, i32 0, i32 0 %36 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_34, i32 0, i32 1 %37 = load i16, i16* %35 %38 = load i16, i16* %36 %39 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %37, i16* %39 %40 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %38, i16* %40 %41 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h37794ea25cf39a04E"(i8* noalias nonnull readonly %1, i16 %2, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) %42 = extractvalue { i8*, i16 } %41, 0 %43 = extractvalue { i8*, i16 } %41, 1 br label %bb8 bb8: ; preds = %bb7 %44 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_31, i32 0, i32 0 store i8* %42, i8** %44 %45 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_31, i32 0, i32 1 store i16 %43, i16* %45 %46 = call zeroext i1 @"_ZN4core3cmp5impls91_$LT$impl$u20$core..cmp..PartialEq$LT$$RF$$u27$b$u20$B$GT$$u20$for$u20$$RF$$u27$a$u20$A$GT$2eq17h0b0532908da2580dE"({ i8*, i16 }* noalias readonly dereferenceable(4) %_25, { i8*, i16 }* noalias readonly dereferenceable(4) %_31) br label %bb9 bb9: ; preds = %bb8 br i1 %46, label %bb10, label %bb11 bb10: ; preds = %bb9 %47 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb12 bb11: ; preds = %bb9 %48 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb20 bb12: ; preds = %bb10 %49 = call i16 @_ZN4core3str7pattern14TwoWaySearcher22reverse_maximal_suffix17hf977dc6489d9a57fE(i8* noalias nonnull readonly %1, i16 %2, i16 %20, i1 zeroext false) br label %bb13 bb13: ; preds = %bb12 %50 = call i16 @_ZN4core3str7pattern14TwoWaySearcher22reverse_maximal_suffix17hf977dc6489d9a57fE(i8* noalias nonnull readonly %1, i16 %2, i16 %20, i1 zeroext true) br label %bb14 bb14: ; preds = %bb13 %51 = call i16 @_ZN4core3cmp3max17h87d192de69373d4eE(i16 %49, i16 %50) br label %bb15 bb15: ; preds = %bb14 %52 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %47, i16 %51) %53 = extractvalue { i16, i1 } %52, 0 %54 = extractvalue { i16, i1 } %52, 1 %55 = call i1 @llvm.expect.i1(i1 %54, i1 false) br i1 %55, label %panic2, label %bb16 bb16: ; preds = %bb15 %56 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_59, i32 0, i32 0 store i16 %20, i16* %56 %57 = bitcast %"ops::RangeTo"* %_59 to i16* %58 = load i16, i16* %57, align 2 %59 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %1, i16 %2, i16 %58) %60 = extractvalue { i8*, i16 } %59, 0 %61 = extractvalue { i8*, i16 } %59, 1 br label %bb17 bb17: ; preds = %bb16 %62 = call i64 @_ZN4core3str7pattern14TwoWaySearcher14byteset_create17ha9e16207675b2e9dE(i8* noalias nonnull readonly %60, i16 %61) br label %bb18 bb18: ; preds = %bb17 %63 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb19 bb19: ; preds = %bb18 %64 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 0 store i16 %18, i16* %64 %65 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 1 store i16 %53, i16* %65 %66 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 2 store i16 %20, i16* %66 %67 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 3 store i64 %62, i64* %67 %68 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 4 store i16 0, i16* %68 %69 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 5 store i16 %3, i16* %69 %70 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 6 store i16 0, i16* %70 %71 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 7 store i16 %63, i16* %71 br label %bb25 bb20: ; preds = %bb11 %72 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %48, i16 %18) %73 = extractvalue { i16, i1 } %72, 0 %74 = extractvalue { i16, i1 } %72, 1 %75 = call i1 @llvm.expect.i1(i1 %74, i1 false) br i1 %75, label %panic3, label %bb21 bb21: ; preds = %bb20 %76 = call i16 @_ZN4core3cmp3max17h87d192de69373d4eE(i16 %18, i16 %73) br label %bb22 bb22: ; preds = %bb21 %77 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %76, i16 1) %78 = extractvalue { i16, i1 } %77, 0 %79 = extractvalue { i16, i1 } %77, 1 %80 = call i1 @llvm.expect.i1(i1 %79, i1 false) br i1 %80, label %panic4, label %bb23 bb23: ; preds = %bb22 %81 = call i64 @_ZN4core3str7pattern14TwoWaySearcher14byteset_create17ha9e16207675b2e9dE(i8* noalias nonnull readonly %1, i16 %2) br label %bb24 bb24: ; preds = %bb23 %82 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 0 store i16 %18, i16* %82 %83 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 1 store i16 %18, i16* %83 %84 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 2 store i16 %78, i16* %84 %85 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 3 store i64 %81, i64* %85 %86 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 4 store i16 0, i16* %86 %87 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 5 store i16 %3, i16* %87 %88 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 6 store i16 -1, i16* %88 %89 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 7 store i16 -1, i16* %89 br label %bb25 bb25: ; preds = %bb24, %bb19 ret void panic: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6I) unreachable panic2: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6J) unreachable panic3: ; preds = %bb20 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6K) unreachable panic4: ; preds = %bb22 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6L) unreachable } ; Function Attrs: inlinehint uwtable define internal i64 @_ZN4core3str7pattern14TwoWaySearcher14byteset_create17ha9e16207675b2e9dE(i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_5 = alloca %closure.11 %_3 = alloca %"slice::Iter" br label %start start: ; preds = %entry-block call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_3, i8* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %2 = call i64 @_ZN4core4iter8iterator8Iterator4fold17hd3e93056346a0636E(%"slice::Iter"* noalias nocapture dereferenceable(4) %_3, i64 0) br label %bb2 bb2: ; preds = %bb1 ret i64 %2 } ; Function Attrs: uwtable define internal i64 @"_ZN4core3str7pattern14TwoWaySearcher14byteset_create28_$u7b$$u7b$closure$u7d$$u7d$17hd81a162c3661c1f8E"(%closure.11*, i64, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i8, i8* %2 %4 = and i8 %3, 63 %5 = and i8 %4, -64 %6 = icmp ne i8 %5, 0 %7 = zext i8 %4 to i64 %8 = and i64 %7, 63 %9 = shl i64 1, %8 %10 = call i1 @llvm.expect.i1(i1 %6, i1 false) br i1 %10, label %panic, label %bb1 bb1: ; preds = %start %11 = or i64 %9, %1 ret i64 %11 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6M) unreachable } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3str7pattern14TwoWaySearcher14maximal_suffix17he2332c2eef41b1daE({ i16, i16 }* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16, i1 zeroext) unnamed_addr #0 { entry-block: %_34 = alloca i8 %_28 = alloca i8 %_27 = alloca i8 %_11 = alloca i8* %_10 = alloca {} %_9 = alloca {} %period = alloca i16 %offset = alloca i16 %right = alloca i16 %left = alloca i16 br label %start start: ; preds = %entry-block store i16 0, i16* %left store i16 1, i16* %right store i16 0, i16* %offset store i16 1, i16* %period br label %bb1 bb1: ; preds = %bb36, %start %4 = load i16, i16* %right %5 = load i16, i16* %offset %6 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %4, i16 %5) %7 = extractvalue { i16, i1 } %6, 0 %8 = extractvalue { i16, i1 } %6, 1 %9 = call i1 @llvm.expect.i1(i1 %8, i1 false) br i1 %9, label %panic, label %bb2 bb2: ; preds = %bb1 %10 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3get17hebddaae803fd58a9E"(i8* noalias nonnull readonly %1, i16 %2, i16 %7) store i8* %10, i8** %_11 br label %bb3 bb3: ; preds = %bb2 %11 = load i8*, i8** %_11 %12 = icmp ne i8* %11, null %13 = zext i1 %12 to i16 switch i16 %13, label %bb4 [ i16 1, label %bb5 ] bb4: ; preds = %bb3 %14 = load i16, i16* %left %15 = load i16, i16* %period %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 0 store i16 %14, i16* %16 %17 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 1 store i16 %15, i16* %17 ret void bb5: ; preds = %bb3 %18 = load i8*, i8** %_11, !nonnull !1 %19 = load i8, i8* %18 %20 = load i16, i16* %left %21 = load i16, i16* %offset %22 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %20, i16 %21) %23 = extractvalue { i16, i1 } %22, 0 %24 = extractvalue { i16, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic1, label %bb6 bb6: ; preds = %bb5 %26 = call dereferenceable(1) i8* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h08f0dba53d9565f6E"(i8* noalias nonnull readonly %1, i16 %2, i16 %23) br label %bb7 bb7: ; preds = %bb6 %27 = load i8, i8* %26 %28 = icmp ult i8 %19, %27 br i1 %28, label %bb14, label %bb13 bb8: ; preds = %bb19, %bb15 store i8 1, i8* %_27 br label %bb11 bb9: ; preds = %bb19 store i8 0, i8* %_27 br label %bb11 bb10: ; preds = %bb15 %29 = icmp ugt i8 %19, %27 br i1 %29, label %bb18, label %bb17 bb11: ; preds = %bb9, %bb8 %30 = load i8, i8* %_27, !range !2 %31 = trunc i8 %30 to i1 br i1 %31, label %bb20, label %bb21 bb12: ; preds = %bb14 store i8 1, i8* %_28 br label %bb15 bb13: ; preds = %bb14, %bb7 store i8 0, i8* %_28 br label %bb15 bb14: ; preds = %bb7 %32 = xor i1 %3, true br i1 %32, label %bb12, label %bb13 bb15: ; preds = %bb13, %bb12 %33 = load i8, i8* %_28, !range !2 %34 = trunc i8 %33 to i1 br i1 %34, label %bb8, label %bb10 bb16: ; preds = %bb18 store i8 1, i8* %_34 br label %bb19 bb17: ; preds = %bb18, %bb10 store i8 0, i8* %_34 br label %bb19 bb18: ; preds = %bb10 br i1 %3, label %bb16, label %bb17 bb19: ; preds = %bb17, %bb16 %35 = load i8, i8* %_34, !range !2 %36 = trunc i8 %35 to i1 br i1 %36, label %bb8, label %bb9 bb20: ; preds = %bb11 %37 = load i16, i16* %offset %38 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %37, i16 1) %39 = extractvalue { i16, i1 } %38, 0 %40 = extractvalue { i16, i1 } %38, 1 %41 = call i1 @llvm.expect.i1(i1 %40, i1 false) br i1 %41, label %panic2, label %bb22 bb21: ; preds = %bb11 %42 = icmp eq i8 %19, %27 br i1 %42, label %bb25, label %bb26 bb22: ; preds = %bb20 %43 = load i16, i16* %right %44 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %43, i16 %39) %45 = extractvalue { i16, i1 } %44, 0 %46 = extractvalue { i16, i1 } %44, 1 %47 = call i1 @llvm.expect.i1(i1 %46, i1 false) br i1 %47, label %panic3, label %bb23 bb23: ; preds = %bb22 store i16 %45, i16* %right store i16 0, i16* %offset %48 = load i16, i16* %right %49 = load i16, i16* %left %50 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %48, i16 %49) %51 = extractvalue { i16, i1 } %50, 0 %52 = extractvalue { i16, i1 } %50, 1 %53 = call i1 @llvm.expect.i1(i1 %52, i1 false) br i1 %53, label %panic4, label %bb24 bb24: ; preds = %bb23 store i16 %51, i16* %period br label %bb36 bb25: ; preds = %bb21 %54 = load i16, i16* %offset %55 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %54, i16 1) %56 = extractvalue { i16, i1 } %55, 0 %57 = extractvalue { i16, i1 } %55, 1 %58 = call i1 @llvm.expect.i1(i1 %57, i1 false) br i1 %58, label %panic5, label %bb27 bb26: ; preds = %bb21 %59 = load i16, i16* %right store i16 %59, i16* %left %60 = load i16, i16* %right %61 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %60, i16 1) %62 = extractvalue { i16, i1 } %61, 0 %63 = extractvalue { i16, i1 } %61, 1 %64 = call i1 @llvm.expect.i1(i1 %63, i1 false) br i1 %64, label %panic9, label %bb34 bb27: ; preds = %bb25 %65 = load i16, i16* %period %66 = icmp eq i16 %56, %65 br i1 %66, label %bb28, label %bb29 bb28: ; preds = %bb27 %67 = load i16, i16* %offset %68 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %67, i16 1) %69 = extractvalue { i16, i1 } %68, 0 %70 = extractvalue { i16, i1 } %68, 1 %71 = call i1 @llvm.expect.i1(i1 %70, i1 false) br i1 %71, label %panic6, label %bb30 bb29: ; preds = %bb27 %72 = load i16, i16* %offset %73 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %72, i16 1) %74 = extractvalue { i16, i1 } %73, 0 %75 = extractvalue { i16, i1 } %73, 1 %76 = call i1 @llvm.expect.i1(i1 %75, i1 false) br i1 %76, label %panic8, label %bb32 bb30: ; preds = %bb28 %77 = load i16, i16* %right %78 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %77, i16 %69) %79 = extractvalue { i16, i1 } %78, 0 %80 = extractvalue { i16, i1 } %78, 1 %81 = call i1 @llvm.expect.i1(i1 %80, i1 false) br i1 %81, label %panic7, label %bb31 bb31: ; preds = %bb30 store i16 %79, i16* %right store i16 0, i16* %offset br label %bb33 bb32: ; preds = %bb29 store i16 %74, i16* %offset br label %bb33 bb33: ; preds = %bb32, %bb31 br label %bb35 bb34: ; preds = %bb26 store i16 %62, i16* %right store i16 0, i16* %offset store i16 1, i16* %period br label %bb35 bb35: ; preds = %bb34, %bb33 br label %bb36 bb36: ; preds = %bb35, %bb24 br label %bb1 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6N) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6O) unreachable panic2: ; preds = %bb20 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6P) unreachable panic3: ; preds = %bb22 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6P) unreachable panic4: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6Q) unreachable panic5: ; preds = %bb25 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6R) unreachable panic6: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6S) unreachable panic7: ; preds = %bb30 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6S) unreachable panic8: ; preds = %bb29 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6T) unreachable panic9: ; preds = %bb26 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6U) unreachable } ; Function Attrs: uwtable define internal i16 @_ZN4core3str7pattern14TwoWaySearcher22reverse_maximal_suffix17hf977dc6489d9a57fE(i8* noalias nonnull readonly, i16, i16, i1 zeroext) unnamed_addr #1 { entry-block: %_86 = alloca {} %_85 = alloca {} %_55 = alloca i8 %_49 = alloca i8 %_48 = alloca i8 %_47 = alloca {} %_20 = alloca {} %_13 = alloca {} %period = alloca i16 %offset = alloca i16 %right = alloca i16 %left = alloca i16 br label %start start: ; preds = %entry-block store i16 0, i16* %left store i16 1, i16* %right store i16 0, i16* %offset store i16 1, i16* %period %4 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start br label %bb2 bb2: ; preds = %bb44, %bb1 %5 = load i16, i16* %right %6 = load i16, i16* %offset %7 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %5, i16 %6) %8 = extractvalue { i16, i1 } %7, 0 %9 = extractvalue { i16, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic, label %bb4 bb3: ; preds = %bb43, %bb4 %11 = load i16, i16* %period %12 = icmp ule i16 %11, %2 %13 = xor i1 %12, true br i1 %13, label %bb45, label %bb46 bb4: ; preds = %bb2 %14 = icmp ult i16 %8, %4 br i1 %14, label %bb5, label %bb3 bb5: ; preds = %bb4 %15 = load i16, i16* %right %16 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 1, i16 %15) %17 = extractvalue { i16, i1 } %16, 0 %18 = extractvalue { i16, i1 } %16, 1 %19 = call i1 @llvm.expect.i1(i1 %18, i1 false) br i1 %19, label %panic1, label %bb6 bb6: ; preds = %bb5 %20 = load i16, i16* %offset %21 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %17, i16 %20) %22 = extractvalue { i16, i1 } %21, 0 %23 = extractvalue { i16, i1 } %21, 1 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic2, label %bb7 bb7: ; preds = %bb6 %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 %22) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic3, label %bb8 bb8: ; preds = %bb7 %29 = call dereferenceable(1) i8* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h08f0dba53d9565f6E"(i8* noalias nonnull readonly %0, i16 %1, i16 %26) br label %bb9 bb9: ; preds = %bb8 %30 = load i8, i8* %29 %31 = load i16, i16* %left %32 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 1, i16 %31) %33 = extractvalue { i16, i1 } %32, 0 %34 = extractvalue { i16, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic4, label %bb10 bb10: ; preds = %bb9 %36 = load i16, i16* %offset %37 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %33, i16 %36) %38 = extractvalue { i16, i1 } %37, 0 %39 = extractvalue { i16, i1 } %37, 1 %40 = call i1 @llvm.expect.i1(i1 %39, i1 false) br i1 %40, label %panic5, label %bb11 bb11: ; preds = %bb10 %41 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 %38) %42 = extractvalue { i16, i1 } %41, 0 %43 = extractvalue { i16, i1 } %41, 1 %44 = call i1 @llvm.expect.i1(i1 %43, i1 false) br i1 %44, label %panic6, label %bb12 bb12: ; preds = %bb11 %45 = call dereferenceable(1) i8* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h08f0dba53d9565f6E"(i8* noalias nonnull readonly %0, i16 %1, i16 %42) br label %bb13 bb13: ; preds = %bb12 %46 = load i8, i8* %45 %47 = icmp ult i8 %30, %46 br i1 %47, label %bb20, label %bb19 bb14: ; preds = %bb25, %bb21 store i8 1, i8* %_48 br label %bb17 bb15: ; preds = %bb25 store i8 0, i8* %_48 br label %bb17 bb16: ; preds = %bb21 %48 = icmp ugt i8 %30, %46 br i1 %48, label %bb24, label %bb23 bb17: ; preds = %bb15, %bb14 %49 = load i8, i8* %_48, !range !2 %50 = trunc i8 %49 to i1 br i1 %50, label %bb26, label %bb27 bb18: ; preds = %bb20 store i8 1, i8* %_49 br label %bb21 bb19: ; preds = %bb20, %bb13 store i8 0, i8* %_49 br label %bb21 bb20: ; preds = %bb13 %51 = xor i1 %3, true br i1 %51, label %bb18, label %bb19 bb21: ; preds = %bb19, %bb18 %52 = load i8, i8* %_49, !range !2 %53 = trunc i8 %52 to i1 br i1 %53, label %bb14, label %bb16 bb22: ; preds = %bb24 store i8 1, i8* %_55 br label %bb25 bb23: ; preds = %bb24, %bb16 store i8 0, i8* %_55 br label %bb25 bb24: ; preds = %bb16 br i1 %3, label %bb22, label %bb23 bb25: ; preds = %bb23, %bb22 %54 = load i8, i8* %_55, !range !2 %55 = trunc i8 %54 to i1 br i1 %55, label %bb14, label %bb15 bb26: ; preds = %bb17 %56 = load i16, i16* %offset %57 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %56, i16 1) %58 = extractvalue { i16, i1 } %57, 0 %59 = extractvalue { i16, i1 } %57, 1 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic7, label %bb28 bb27: ; preds = %bb17 %61 = icmp eq i8 %30, %46 br i1 %61, label %bb31, label %bb32 bb28: ; preds = %bb26 %62 = load i16, i16* %right %63 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %62, i16 %58) %64 = extractvalue { i16, i1 } %63, 0 %65 = extractvalue { i16, i1 } %63, 1 %66 = call i1 @llvm.expect.i1(i1 %65, i1 false) br i1 %66, label %panic8, label %bb29 bb29: ; preds = %bb28 store i16 %64, i16* %right store i16 0, i16* %offset %67 = load i16, i16* %right %68 = load i16, i16* %left %69 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %67, i16 %68) %70 = extractvalue { i16, i1 } %69, 0 %71 = extractvalue { i16, i1 } %69, 1 %72 = call i1 @llvm.expect.i1(i1 %71, i1 false) br i1 %72, label %panic9, label %bb30 bb30: ; preds = %bb29 store i16 %70, i16* %period br label %bb42 bb31: ; preds = %bb27 %73 = load i16, i16* %offset %74 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %73, i16 1) %75 = extractvalue { i16, i1 } %74, 0 %76 = extractvalue { i16, i1 } %74, 1 %77 = call i1 @llvm.expect.i1(i1 %76, i1 false) br i1 %77, label %panic10, label %bb33 bb32: ; preds = %bb27 %78 = load i16, i16* %right store i16 %78, i16* %left %79 = load i16, i16* %right %80 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %79, i16 1) %81 = extractvalue { i16, i1 } %80, 0 %82 = extractvalue { i16, i1 } %80, 1 %83 = call i1 @llvm.expect.i1(i1 %82, i1 false) br i1 %83, label %panic14, label %bb40 bb33: ; preds = %bb31 %84 = load i16, i16* %period %85 = icmp eq i16 %75, %84 br i1 %85, label %bb34, label %bb35 bb34: ; preds = %bb33 %86 = load i16, i16* %offset %87 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %86, i16 1) %88 = extractvalue { i16, i1 } %87, 0 %89 = extractvalue { i16, i1 } %87, 1 %90 = call i1 @llvm.expect.i1(i1 %89, i1 false) br i1 %90, label %panic11, label %bb36 bb35: ; preds = %bb33 %91 = load i16, i16* %offset %92 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %91, i16 1) %93 = extractvalue { i16, i1 } %92, 0 %94 = extractvalue { i16, i1 } %92, 1 %95 = call i1 @llvm.expect.i1(i1 %94, i1 false) br i1 %95, label %panic13, label %bb38 bb36: ; preds = %bb34 %96 = load i16, i16* %right %97 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %96, i16 %88) %98 = extractvalue { i16, i1 } %97, 0 %99 = extractvalue { i16, i1 } %97, 1 %100 = call i1 @llvm.expect.i1(i1 %99, i1 false) br i1 %100, label %panic12, label %bb37 bb37: ; preds = %bb36 store i16 %98, i16* %right store i16 0, i16* %offset br label %bb39 bb38: ; preds = %bb35 store i16 %93, i16* %offset br label %bb39 bb39: ; preds = %bb38, %bb37 br label %bb41 bb40: ; preds = %bb32 store i16 %81, i16* %right store i16 0, i16* %offset store i16 1, i16* %period br label %bb41 bb41: ; preds = %bb40, %bb39 br label %bb42 bb42: ; preds = %bb41, %bb30 %101 = load i16, i16* %period %102 = icmp eq i16 %101, %2 br i1 %102, label %bb43, label %bb44 bb43: ; preds = %bb42 br label %bb3 bb44: ; preds = %bb42 br label %bb2 bb45: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3str7pattern14TwoWaySearcher22reverse_maximal_suffix14_MSG_FILE_LINE17h357cddbcd4ffa880E) unreachable bb46: ; preds = %bb3 %103 = load i16, i16* %left ret i16 %103 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6V) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6W) unreachable panic2: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6W) unreachable panic3: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6X) unreachable panic4: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6Y) unreachable panic5: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6Y) unreachable panic6: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.6Z) unreachable panic7: ; preds = %bb26 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.70) unreachable panic8: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.70) unreachable panic9: ; preds = %bb29 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.71) unreachable panic10: ; preds = %bb31 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.72) unreachable panic11: ; preds = %bb34 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.73) unreachable panic12: ; preds = %bb36 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.73) unreachable panic13: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.74) unreachable panic14: ; preds = %bb32 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.75) unreachable } ; Function Attrs: uwtable define i8 @"_ZN64_$LT$core..str..ParseBoolError$u20$as$u20$core..fmt..Display$GT$3fmt17h0778fbdb26a196b4E"(%"str::ParseBoolError"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h885a7c667bb6b275E"(i8* noalias nonnull readonly getelementptr inbounds ([41 x i8], [41 x i8]* @str.76, i32 0, i32 0), i16 41, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i16 @_ZN4core3str9Utf8Error11valid_up_to17ha5bd13ee7d757fcaE(%"str::Utf8Error"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %0, i32 0, i32 0 %2 = load i16, i16* %1 ret i16 %2 } ; Function Attrs: uwtable define void @_ZN4core3str9Utf8Error9error_len17h5b97bf998d24a102E(%"option::Option"* noalias nocapture sret dereferenceable(4), %"str::Utf8Error"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_4 = alloca %closure.24 %_3 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %1, i32 0, i32 1 %3 = bitcast %"option::Option"* %2 to i8* %4 = bitcast %"option::Option"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 2, i32 1, i1 false) %5 = bitcast %"option::Option"* %_3 to i16* %6 = load i16, i16* %5, align 1 call void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17h4362863e36c96912E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %6) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal i16 @"_ZN4core3str9Utf8Error9error_len28_$u7b$$u7b$closure$u7d$$u7d$17h8018fbe021769a6eE"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i8 %0 to i16 ret i16 %1 } ; Function Attrs: uwtable define void @_ZN4core3str9from_utf817h4588af55018a4673E(%"result::Result<&str, str::Utf8Error>"* noalias nocapture sret dereferenceable(6), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %_213.i = alloca i8 %_196.i = alloca {} %_192.i = alloca {} %_177.i = alloca %"option::Option" %_175.i = alloca %"str::Utf8Error" %_174.i = alloca %"option::Option" %_172.i = alloca %"str::Utf8Error" %_166.i = alloca %"option::Option" %_164.i = alloca %"str::Utf8Error" %_160.i = alloca {} %_155.i = alloca %"option::Option" %_153.i = alloca %"str::Utf8Error" %_147.i = alloca %"option::Option" %_145.i = alloca %"str::Utf8Error" %_141.i = alloca {} %_136.i = alloca {} %_135.i = alloca %"option::Option" %_133.i = alloca %"str::Utf8Error" %_120.i = alloca %"option::Option" %_118.i = alloca %"str::Utf8Error" %_114.i = alloca {} %_110.i = alloca { i8, i8 } %_109.i = alloca {} %_108.i = alloca %"option::Option" %_106.i = alloca %"str::Utf8Error" %_100.i = alloca %"option::Option" %_98.i = alloca %"str::Utf8Error" %_94.i = alloca {} %_89.i = alloca %"option::Option" %_87.i = alloca %"str::Utf8Error" %_70.i = alloca %"option::Option" %_68.i = alloca %"str::Utf8Error" %_64.i = alloca {} %_60.i = alloca { i8, i8 } %_59.i = alloca {} %_58.i = alloca %"option::Option" %_56.i = alloca %"str::Utf8Error" %_50.i = alloca %"option::Option" %_48.i = alloca %"str::Utf8Error" %_44.i = alloca {} %_39.i = alloca {} %_23.i = alloca {} %_19.i = alloca {} %blocks_end.i = alloca i16 %index.i = alloca i16 %_11 = alloca %"str::Utf8Error" %_10 = alloca %"str::Utf8Error" %err = alloca %"str::Utf8Error" %_5 = alloca %"result::Result<(), str::Utf8Error>" %_4 = alloca %"result::Result<(), str::Utf8Error>" br label %start start: ; preds = %entry-block store i16 0, i16* %index.i, !noalias !14 %3 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) %4 = call i16 @_ZN4core3mem7size_of17hc3fafdf0ad8d8c43E() %5 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 2, i16 %4) %6 = extractvalue { i16, i1 } %5, 0 %7 = extractvalue { i16, i1 } %5, 1 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic.i, label %bb3.i bb3.i: ; preds = %start %9 = icmp uge i16 %3, %6 br i1 %9, label %bb4.i, label %bb5.i bb4.i: ; preds = %bb3.i %10 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 %6) %11 = extractvalue { i16, i1 } %10, 0 %12 = extractvalue { i16, i1 } %10, 1 %13 = call i1 @llvm.expect.i1(i1 %12, i1 false) br i1 %13, label %panic1.i, label %bb6.i bb5.i: ; preds = %bb3.i store i16 0, i16* %blocks_end.i, !noalias !14 br label %bb8.i bb6.i: ; preds = %bb4.i %14 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %11, i16 1) %15 = extractvalue { i16, i1 } %14, 0 %16 = extractvalue { i16, i1 } %14, 1 %17 = call i1 @llvm.expect.i1(i1 %16, i1 false) br i1 %17, label %panic2.i, label %bb7.i bb7.i: ; preds = %bb6.i store i16 %15, i16* %blocks_end.i, !noalias !14 br label %bb8.i bb8.i: ; preds = %bb7.i, %bb5.i br label %bb9.i bb9.i: ; preds = %bb107.i, %bb8.i %18 = load i16, i16* %index.i, !noalias !14 %19 = icmp ult i16 %18, %3 br i1 %19, label %bb11.i, label %bb10.i bb10.i: ; preds = %bb9.i %20 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 0, i16* %20, !alias.scope !18, !noalias !19 br label %_ZN4core3str19run_utf8_validation17hef3ba2e86b6e673cE.exit bb11.i: ; preds = %bb9.i %21 = load i16, i16* %index.i, !noalias !14 %22 = load i16, i16* %index.i, !noalias !14 %23 = icmp ult i16 %22, %2 %24 = call i1 @llvm.expect.i1(i1 %23, i1 true) br i1 %24, label %bb12.i, label %panic3.i bb12.i: ; preds = %bb11.i %25 = getelementptr inbounds i8, i8* %1, i16 %22 %26 = load i8, i8* %25, !alias.scope !19, !noalias !18 %27 = icmp uge i8 %26, -128 br i1 %27, label %bb13.i, label %bb14.i bb13.i: ; preds = %bb12.i %28 = zext i8 %26 to i16 %29 = call i1 @llvm.expect.i1(i1 true, i1 true) br i1 %29, label %bb15.i, label %panic4.i bb14.i: ; preds = %bb12.i %30 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly %1, i16 %2) %31 = ptrtoint i8* %30 to i16 %32 = load i16, i16* %index.i, !noalias !14 %33 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %31, i16 %32) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic18.i, label %bb83.i bb15.i: ; preds = %bb13.i %37 = getelementptr inbounds [256 x i8], [256 x i8]* @_ZN4core3str15UTF8_CHAR_WIDTH17hf4cf59840b72a0ddE, i16 0, i16 %28 %38 = load i8, i8* %37 switch i8 %38, label %bb19.i [ i8 2, label %bb16.i i8 3, label %bb17.i i8 4, label %bb18.i ] bb16.i: ; preds = %bb15.i %39 = load i16, i16* %index.i, !noalias !14 %40 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %39, i16 1) %41 = extractvalue { i16, i1 } %40, 0 %42 = extractvalue { i16, i1 } %40, 1 %43 = call i1 @llvm.expect.i1(i1 %42, i1 false) br i1 %43, label %panic15.i, label %bb21.i bb17.i: ; preds = %bb15.i %44 = load i16, i16* %index.i, !noalias !14 %45 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %44, i16 1) %46 = extractvalue { i16, i1 } %45, 0 %47 = extractvalue { i16, i1 } %45, 1 %48 = call i1 @llvm.expect.i1(i1 %47, i1 false) br i1 %48, label %panic11.i, label %bb29.i bb18.i: ; preds = %bb15.i %49 = load i16, i16* %index.i, !noalias !14 %50 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %49, i16 1) %51 = extractvalue { i16, i1 } %50, 0 %52 = extractvalue { i16, i1 } %50, 1 %53 = call i1 @llvm.expect.i1(i1 %52, i1 false) br i1 %53, label %panic5.i, label %bb54.i bb19.i: ; preds = %bb15.i %54 = getelementptr inbounds %"option::Option", %"option::Option"* %_177.i, i32 0, i32 0 store i8 1, i8* %54, !noalias !14 %55 = bitcast %"option::Option"* %_177.i to { i8, i8 }* %56 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %55, i32 0, i32 1 store i8 1, i8* %56, !noalias !14 %57 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_175.i, i32 0, i32 0 store i16 %21, i16* %57, !noalias !14 %58 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_175.i, i32 0, i32 1 %59 = bitcast %"option::Option"* %_177.i to i8* %60 = bitcast %"option::Option"* %58 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %60, i8* %59, i16 2, i32 1, i1 false), !noalias !14 %61 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %61, !alias.scope !18, !noalias !19 %62 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %63 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %62, i32 0, i32 1 %64 = bitcast %"str::Utf8Error"* %_175.i to i8* %65 = bitcast %"str::Utf8Error"* %63 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %65, i8* %64, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb20.i: ; preds = %bb80.i, %bb53.i, %bb28.i %66 = load i16, i16* %index.i, !noalias !14 %67 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %66, i16 1) %68 = extractvalue { i16, i1 } %67, 0 %69 = extractvalue { i16, i1 } %67, 1 %70 = call i1 @llvm.expect.i1(i1 %69, i1 false) br i1 %70, label %panic17.i, label %bb81.i bb21.i: ; preds = %bb16.i store i16 %41, i16* %index.i, !noalias !14 %71 = load i16, i16* %index.i, !noalias !14 %72 = icmp uge i16 %71, %3 br i1 %72, label %bb22.i, label %bb23.i bb22.i: ; preds = %bb21.i %73 = getelementptr inbounds %"option::Option", %"option::Option"* %_50.i, i32 0, i32 0 store i8 0, i8* %73, !noalias !14 %74 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_48.i, i32 0, i32 0 store i16 %21, i16* %74, !noalias !14 %75 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_48.i, i32 0, i32 1 %76 = bitcast %"option::Option"* %_50.i to i8* %77 = bitcast %"option::Option"* %75 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %77, i8* %76, i16 2, i32 1, i1 false), !noalias !14 %78 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %78, !alias.scope !18, !noalias !19 %79 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %80 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %79, i32 0, i32 1 %81 = bitcast %"str::Utf8Error"* %_48.i to i8* %82 = bitcast %"str::Utf8Error"* %80 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %82, i8* %81, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb23.i: ; preds = %bb21.i %83 = load i16, i16* %index.i, !noalias !14 %84 = icmp ult i16 %83, %2 %85 = call i1 @llvm.expect.i1(i1 %84, i1 true) br i1 %85, label %bb26.i, label %panic16.i bb25.i: ; preds = %bb79.i, %bb76.i, %bb73.i, %bb70.i, %bb59.i, %bb55.i, %bb52.i, %bb49.i, %bb34.i, %bb30.i, %bb27.i, %bb22.i, %bb19.i br label %_ZN4core3str19run_utf8_validation17hef3ba2e86b6e673cE.exit bb26.i: ; preds = %bb23.i %86 = getelementptr inbounds i8, i8* %1, i16 %83 %87 = load i8, i8* %86, !alias.scope !19, !noalias !18 %88 = and i8 %87, -64 %89 = icmp ne i8 %88, -128 br i1 %89, label %bb27.i, label %bb28.i bb27.i: ; preds = %bb26.i %90 = getelementptr inbounds %"option::Option", %"option::Option"* %_58.i, i32 0, i32 0 store i8 1, i8* %90, !noalias !14 %91 = bitcast %"option::Option"* %_58.i to { i8, i8 }* %92 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %91, i32 0, i32 1 store i8 1, i8* %92, !noalias !14 %93 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_56.i, i32 0, i32 0 store i16 %21, i16* %93, !noalias !14 %94 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_56.i, i32 0, i32 1 %95 = bitcast %"option::Option"* %_58.i to i8* %96 = bitcast %"option::Option"* %94 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %96, i8* %95, i16 2, i32 1, i1 false), !noalias !14 %97 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %97, !alias.scope !18, !noalias !19 %98 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %99 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %98, i32 0, i32 1 %100 = bitcast %"str::Utf8Error"* %_56.i to i8* %101 = bitcast %"str::Utf8Error"* %99 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %101, i8* %100, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb28.i: ; preds = %bb26.i br label %bb20.i bb29.i: ; preds = %bb17.i store i16 %46, i16* %index.i, !noalias !14 %102 = load i16, i16* %index.i, !noalias !14 %103 = icmp uge i16 %102, %3 br i1 %103, label %bb30.i, label %bb31.i bb30.i: ; preds = %bb29.i %104 = getelementptr inbounds %"option::Option", %"option::Option"* %_70.i, i32 0, i32 0 store i8 0, i8* %104, !noalias !14 %105 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_68.i, i32 0, i32 0 store i16 %21, i16* %105, !noalias !14 %106 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_68.i, i32 0, i32 1 %107 = bitcast %"option::Option"* %_70.i to i8* %108 = bitcast %"option::Option"* %106 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %108, i8* %107, i16 2, i32 1, i1 false), !noalias !14 %109 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %109, !alias.scope !18, !noalias !19 %110 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %111 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %110, i32 0, i32 1 %112 = bitcast %"str::Utf8Error"* %_68.i to i8* %113 = bitcast %"str::Utf8Error"* %111 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %113, i8* %112, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb31.i: ; preds = %bb29.i %114 = load i16, i16* %index.i, !noalias !14 %115 = icmp ult i16 %114, %2 %116 = call i1 @llvm.expect.i1(i1 %115, i1 true) br i1 %116, label %bb32.i, label %panic12.i bb32.i: ; preds = %bb31.i %117 = getelementptr inbounds i8, i8* %1, i16 %114 %118 = load i8, i8* %117, !alias.scope !19, !noalias !18 %119 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 0 store i8 %26, i8* %119, !noalias !14 %120 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 1 store i8 %118, i8* %120, !noalias !14 %121 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 0 %122 = load i8, i8* %121, !noalias !14 %cond = icmp eq i8 %122, -32 br i1 %cond, label %bb35.i, label %bb37.i bb33.i: ; preds = %bb47.i, %bb43.i, %bb40.i, %bb36.i %123 = load i16, i16* %index.i, !noalias !14 %124 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %123, i16 1) %125 = extractvalue { i16, i1 } %124, 0 %126 = extractvalue { i16, i1 } %124, 1 %127 = call i1 @llvm.expect.i1(i1 %126, i1 false) br i1 %127, label %panic13.i, label %bb48.i bb34.i: ; preds = %bb47.i, %bb46.i, %bb45.i, %bb44.i %128 = getelementptr inbounds %"option::Option", %"option::Option"* %_89.i, i32 0, i32 0 store i8 1, i8* %128, !noalias !14 %129 = bitcast %"option::Option"* %_89.i to { i8, i8 }* %130 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %129, i32 0, i32 1 store i8 1, i8* %130, !noalias !14 %131 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_87.i, i32 0, i32 0 store i16 %21, i16* %131, !noalias !14 %132 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_87.i, i32 0, i32 1 %133 = bitcast %"option::Option"* %_89.i to i8* %134 = bitcast %"option::Option"* %132 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %134, i8* %133, i16 2, i32 1, i1 false), !noalias !14 %135 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %135, !alias.scope !18, !noalias !19 %136 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %137 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %136, i32 0, i32 1 %138 = bitcast %"str::Utf8Error"* %_87.i to i8* %139 = bitcast %"str::Utf8Error"* %137 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %139, i8* %138, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb35.i: ; preds = %bb32.i %140 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 1 %141 = load i8, i8* %140, !noalias !14 %142 = icmp ule i8 -96, %141 br i1 %142, label %bb36.i, label %bb37.i bb36.i: ; preds = %bb35.i %143 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 1 %144 = load i8, i8* %143, !noalias !14 %145 = icmp ule i8 %144, -65 br i1 %145, label %bb33.i, label %bb37.i bb37.i: ; preds = %bb32.i, %bb36.i, %bb35.i %146 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 0 %147 = load i8, i8* %146, !noalias !14 %148 = icmp ule i8 -31, %147 br i1 %148, label %bb38.i, label %bb41.i bb38.i: ; preds = %bb37.i %149 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 0 %150 = load i8, i8* %149, !noalias !14 %151 = icmp ule i8 %150, -20 br i1 %151, label %bb39.i, label %bb41.i bb39.i: ; preds = %bb38.i %152 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 1 %153 = load i8, i8* %152, !noalias !14 %154 = icmp ule i8 -128, %153 br i1 %154, label %bb40.i, label %bb41.i bb40.i: ; preds = %bb39.i %155 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 1 %156 = load i8, i8* %155, !noalias !14 %157 = icmp ule i8 %156, -65 br i1 %157, label %bb33.i, label %bb41.i bb41.i: ; preds = %bb40.i, %bb39.i, %bb38.i, %bb37.i %158 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 0 %159 = load i8, i8* %158, !noalias !14 %cond1 = icmp eq i8 %159, -19 br i1 %cond1, label %bb42.i, label %bb44.i bb42.i: ; preds = %bb41.i %160 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 1 %161 = load i8, i8* %160, !noalias !14 %162 = icmp ule i8 -128, %161 br i1 %162, label %bb43.i, label %bb44.i bb43.i: ; preds = %bb42.i %163 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 1 %164 = load i8, i8* %163, !noalias !14 %165 = icmp ule i8 %164, -97 br i1 %165, label %bb33.i, label %bb44.i bb44.i: ; preds = %bb41.i, %bb43.i, %bb42.i %166 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 0 %167 = load i8, i8* %166, !noalias !14 %168 = icmp ule i8 -18, %167 br i1 %168, label %bb45.i, label %bb34.i bb45.i: ; preds = %bb44.i %169 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 0 %170 = load i8, i8* %169, !noalias !14 %171 = icmp ule i8 %170, -17 br i1 %171, label %bb46.i, label %bb34.i bb46.i: ; preds = %bb45.i %172 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 1 %173 = load i8, i8* %172, !noalias !14 %174 = icmp ule i8 -128, %173 br i1 %174, label %bb47.i, label %bb34.i bb47.i: ; preds = %bb46.i %175 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_60.i, i32 0, i32 1 %176 = load i8, i8* %175, !noalias !14 %177 = icmp ule i8 %176, -65 br i1 %177, label %bb33.i, label %bb34.i bb48.i: ; preds = %bb33.i store i16 %125, i16* %index.i, !noalias !14 %178 = load i16, i16* %index.i, !noalias !14 %179 = icmp uge i16 %178, %3 br i1 %179, label %bb49.i, label %bb50.i bb49.i: ; preds = %bb48.i %180 = getelementptr inbounds %"option::Option", %"option::Option"* %_100.i, i32 0, i32 0 store i8 0, i8* %180, !noalias !14 %181 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_98.i, i32 0, i32 0 store i16 %21, i16* %181, !noalias !14 %182 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_98.i, i32 0, i32 1 %183 = bitcast %"option::Option"* %_100.i to i8* %184 = bitcast %"option::Option"* %182 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %184, i8* %183, i16 2, i32 1, i1 false), !noalias !14 %185 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %185, !alias.scope !18, !noalias !19 %186 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %187 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %186, i32 0, i32 1 %188 = bitcast %"str::Utf8Error"* %_98.i to i8* %189 = bitcast %"str::Utf8Error"* %187 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %189, i8* %188, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb50.i: ; preds = %bb48.i %190 = load i16, i16* %index.i, !noalias !14 %191 = icmp ult i16 %190, %2 %192 = call i1 @llvm.expect.i1(i1 %191, i1 true) br i1 %192, label %bb51.i, label %panic14.i bb51.i: ; preds = %bb50.i %193 = getelementptr inbounds i8, i8* %1, i16 %190 %194 = load i8, i8* %193, !alias.scope !19, !noalias !18 %195 = and i8 %194, -64 %196 = icmp ne i8 %195, -128 br i1 %196, label %bb52.i, label %bb53.i bb52.i: ; preds = %bb51.i %197 = getelementptr inbounds %"option::Option", %"option::Option"* %_108.i, i32 0, i32 0 store i8 1, i8* %197, !noalias !14 %198 = bitcast %"option::Option"* %_108.i to { i8, i8 }* %199 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %198, i32 0, i32 1 store i8 2, i8* %199, !noalias !14 %200 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_106.i, i32 0, i32 0 store i16 %21, i16* %200, !noalias !14 %201 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_106.i, i32 0, i32 1 %202 = bitcast %"option::Option"* %_108.i to i8* %203 = bitcast %"option::Option"* %201 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %203, i8* %202, i16 2, i32 1, i1 false), !noalias !14 %204 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %204, !alias.scope !18, !noalias !19 %205 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %206 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %205, i32 0, i32 1 %207 = bitcast %"str::Utf8Error"* %_106.i to i8* %208 = bitcast %"str::Utf8Error"* %206 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %208, i8* %207, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb53.i: ; preds = %bb51.i br label %bb20.i bb54.i: ; preds = %bb18.i store i16 %51, i16* %index.i, !noalias !14 %209 = load i16, i16* %index.i, !noalias !14 %210 = icmp uge i16 %209, %3 br i1 %210, label %bb55.i, label %bb56.i bb55.i: ; preds = %bb54.i %211 = getelementptr inbounds %"option::Option", %"option::Option"* %_120.i, i32 0, i32 0 store i8 0, i8* %211, !noalias !14 %212 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_118.i, i32 0, i32 0 store i16 %21, i16* %212, !noalias !14 %213 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_118.i, i32 0, i32 1 %214 = bitcast %"option::Option"* %_120.i to i8* %215 = bitcast %"option::Option"* %213 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %215, i8* %214, i16 2, i32 1, i1 false), !noalias !14 %216 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %216, !alias.scope !18, !noalias !19 %217 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %218 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %217, i32 0, i32 1 %219 = bitcast %"str::Utf8Error"* %_118.i to i8* %220 = bitcast %"str::Utf8Error"* %218 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %220, i8* %219, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb56.i: ; preds = %bb54.i %221 = load i16, i16* %index.i, !noalias !14 %222 = icmp ult i16 %221, %2 %223 = call i1 @llvm.expect.i1(i1 %222, i1 true) br i1 %223, label %bb57.i, label %panic6.i bb57.i: ; preds = %bb56.i %224 = getelementptr inbounds i8, i8* %1, i16 %221 %225 = load i8, i8* %224, !alias.scope !19, !noalias !18 %226 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_110.i, i32 0, i32 0 store i8 %26, i8* %226, !noalias !14 %227 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_110.i, i32 0, i32 1 store i8 %225, i8* %227, !noalias !14 %228 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_110.i, i32 0, i32 0 %229 = load i8, i8* %228, !noalias !14 %cond2 = icmp eq i8 %229, -16 br i1 %cond2, label %bb60.i, label %bb62.i bb58.i: ; preds = %bb68.i, %bb65.i, %bb61.i %230 = load i16, i16* %index.i, !noalias !14 %231 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %230, i16 1) %232 = extractvalue { i16, i1 } %231, 0 %233 = extractvalue { i16, i1 } %231, 1 %234 = call i1 @llvm.expect.i1(i1 %233, i1 false) br i1 %234, label %panic7.i, label %bb69.i bb59.i: ; preds = %bb66.i, %bb68.i, %bb67.i %235 = getelementptr inbounds %"option::Option", %"option::Option"* %_135.i, i32 0, i32 0 store i8 1, i8* %235, !noalias !14 %236 = bitcast %"option::Option"* %_135.i to { i8, i8 }* %237 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %236, i32 0, i32 1 store i8 1, i8* %237, !noalias !14 %238 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_133.i, i32 0, i32 0 store i16 %21, i16* %238, !noalias !14 %239 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_133.i, i32 0, i32 1 %240 = bitcast %"option::Option"* %_135.i to i8* %241 = bitcast %"option::Option"* %239 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %241, i8* %240, i16 2, i32 1, i1 false), !noalias !14 %242 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %242, !alias.scope !18, !noalias !19 %243 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %244 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %243, i32 0, i32 1 %245 = bitcast %"str::Utf8Error"* %_133.i to i8* %246 = bitcast %"str::Utf8Error"* %244 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %246, i8* %245, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb60.i: ; preds = %bb57.i %247 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_110.i, i32 0, i32 1 %248 = load i8, i8* %247, !noalias !14 %249 = icmp ule i8 -112, %248 br i1 %249, label %bb61.i, label %bb62.i bb61.i: ; preds = %bb60.i %250 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_110.i, i32 0, i32 1 %251 = load i8, i8* %250, !noalias !14 %252 = icmp ule i8 %251, -65 br i1 %252, label %bb58.i, label %bb62.i bb62.i: ; preds = %bb57.i, %bb61.i, %bb60.i %253 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_110.i, i32 0, i32 0 %254 = load i8, i8* %253, !noalias !14 %255 = icmp ule i8 -15, %254 br i1 %255, label %bb63.i, label %bb66.i bb63.i: ; preds = %bb62.i %256 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_110.i, i32 0, i32 0 %257 = load i8, i8* %256, !noalias !14 %258 = icmp ule i8 %257, -13 br i1 %258, label %bb64.i, label %bb66.i bb64.i: ; preds = %bb63.i %259 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_110.i, i32 0, i32 1 %260 = load i8, i8* %259, !noalias !14 %261 = icmp ule i8 -128, %260 br i1 %261, label %bb65.i, label %bb66.i bb65.i: ; preds = %bb64.i %262 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_110.i, i32 0, i32 1 %263 = load i8, i8* %262, !noalias !14 %264 = icmp ule i8 %263, -65 br i1 %264, label %bb58.i, label %bb66.i bb66.i: ; preds = %bb65.i, %bb64.i, %bb63.i, %bb62.i %265 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_110.i, i32 0, i32 0 %266 = load i8, i8* %265, !noalias !14 %cond3 = icmp eq i8 %266, -12 br i1 %cond3, label %bb67.i, label %bb59.i bb67.i: ; preds = %bb66.i %267 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_110.i, i32 0, i32 1 %268 = load i8, i8* %267, !noalias !14 %269 = icmp ule i8 -128, %268 br i1 %269, label %bb68.i, label %bb59.i bb68.i: ; preds = %bb67.i %270 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_110.i, i32 0, i32 1 %271 = load i8, i8* %270, !noalias !14 %272 = icmp ule i8 %271, -113 br i1 %272, label %bb58.i, label %bb59.i bb69.i: ; preds = %bb58.i store i16 %232, i16* %index.i, !noalias !14 %273 = load i16, i16* %index.i, !noalias !14 %274 = icmp uge i16 %273, %3 br i1 %274, label %bb70.i, label %bb71.i bb70.i: ; preds = %bb69.i %275 = getelementptr inbounds %"option::Option", %"option::Option"* %_147.i, i32 0, i32 0 store i8 0, i8* %275, !noalias !14 %276 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_145.i, i32 0, i32 0 store i16 %21, i16* %276, !noalias !14 %277 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_145.i, i32 0, i32 1 %278 = bitcast %"option::Option"* %_147.i to i8* %279 = bitcast %"option::Option"* %277 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %279, i8* %278, i16 2, i32 1, i1 false), !noalias !14 %280 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %280, !alias.scope !18, !noalias !19 %281 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %282 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %281, i32 0, i32 1 %283 = bitcast %"str::Utf8Error"* %_145.i to i8* %284 = bitcast %"str::Utf8Error"* %282 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %284, i8* %283, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb71.i: ; preds = %bb69.i %285 = load i16, i16* %index.i, !noalias !14 %286 = icmp ult i16 %285, %2 %287 = call i1 @llvm.expect.i1(i1 %286, i1 true) br i1 %287, label %bb72.i, label %panic8.i bb72.i: ; preds = %bb71.i %288 = getelementptr inbounds i8, i8* %1, i16 %285 %289 = load i8, i8* %288, !alias.scope !19, !noalias !18 %290 = and i8 %289, -64 %291 = icmp ne i8 %290, -128 br i1 %291, label %bb73.i, label %bb74.i bb73.i: ; preds = %bb72.i %292 = getelementptr inbounds %"option::Option", %"option::Option"* %_155.i, i32 0, i32 0 store i8 1, i8* %292, !noalias !14 %293 = bitcast %"option::Option"* %_155.i to { i8, i8 }* %294 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %293, i32 0, i32 1 store i8 2, i8* %294, !noalias !14 %295 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_153.i, i32 0, i32 0 store i16 %21, i16* %295, !noalias !14 %296 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_153.i, i32 0, i32 1 %297 = bitcast %"option::Option"* %_155.i to i8* %298 = bitcast %"option::Option"* %296 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %298, i8* %297, i16 2, i32 1, i1 false), !noalias !14 %299 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %299, !alias.scope !18, !noalias !19 %300 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %301 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %300, i32 0, i32 1 %302 = bitcast %"str::Utf8Error"* %_153.i to i8* %303 = bitcast %"str::Utf8Error"* %301 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %303, i8* %302, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb74.i: ; preds = %bb72.i %304 = load i16, i16* %index.i, !noalias !14 %305 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %304, i16 1) %306 = extractvalue { i16, i1 } %305, 0 %307 = extractvalue { i16, i1 } %305, 1 %308 = call i1 @llvm.expect.i1(i1 %307, i1 false) br i1 %308, label %panic9.i, label %bb75.i bb75.i: ; preds = %bb74.i store i16 %306, i16* %index.i, !noalias !14 %309 = load i16, i16* %index.i, !noalias !14 %310 = icmp uge i16 %309, %3 br i1 %310, label %bb76.i, label %bb77.i bb76.i: ; preds = %bb75.i %311 = getelementptr inbounds %"option::Option", %"option::Option"* %_166.i, i32 0, i32 0 store i8 0, i8* %311, !noalias !14 %312 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_164.i, i32 0, i32 0 store i16 %21, i16* %312, !noalias !14 %313 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_164.i, i32 0, i32 1 %314 = bitcast %"option::Option"* %_166.i to i8* %315 = bitcast %"option::Option"* %313 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %315, i8* %314, i16 2, i32 1, i1 false), !noalias !14 %316 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %316, !alias.scope !18, !noalias !19 %317 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %318 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %317, i32 0, i32 1 %319 = bitcast %"str::Utf8Error"* %_164.i to i8* %320 = bitcast %"str::Utf8Error"* %318 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %320, i8* %319, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb77.i: ; preds = %bb75.i %321 = load i16, i16* %index.i, !noalias !14 %322 = icmp ult i16 %321, %2 %323 = call i1 @llvm.expect.i1(i1 %322, i1 true) br i1 %323, label %bb78.i, label %panic10.i bb78.i: ; preds = %bb77.i %324 = getelementptr inbounds i8, i8* %1, i16 %321 %325 = load i8, i8* %324, !alias.scope !19, !noalias !18 %326 = and i8 %325, -64 %327 = icmp ne i8 %326, -128 br i1 %327, label %bb79.i, label %bb80.i bb79.i: ; preds = %bb78.i %328 = getelementptr inbounds %"option::Option", %"option::Option"* %_174.i, i32 0, i32 0 store i8 1, i8* %328, !noalias !14 %329 = bitcast %"option::Option"* %_174.i to { i8, i8 }* %330 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %329, i32 0, i32 1 store i8 3, i8* %330, !noalias !14 %331 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_172.i, i32 0, i32 0 store i16 %21, i16* %331, !noalias !14 %332 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %_172.i, i32 0, i32 1 %333 = bitcast %"option::Option"* %_174.i to i8* %334 = bitcast %"option::Option"* %332 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %334, i8* %333, i16 2, i32 1, i1 false), !noalias !14 %335 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_5, i32 0, i32 0 store i16 1, i16* %335, !alias.scope !18, !noalias !19 %336 = bitcast %"result::Result<(), str::Utf8Error>"* %_5 to { i16, %"str::Utf8Error" }* %337 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %336, i32 0, i32 1 %338 = bitcast %"str::Utf8Error"* %_172.i to i8* %339 = bitcast %"str::Utf8Error"* %337 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %339, i8* %338, i16 4, i32 2, i1 false), !noalias !19 br label %bb25.i bb80.i: ; preds = %bb78.i br label %bb20.i bb81.i: ; preds = %bb20.i store i16 %68, i16* %index.i, !noalias !14 br label %bb107.i bb83.i: ; preds = %bb14.i %340 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 1) %341 = extractvalue { i16, i1 } %340, 0 %342 = extractvalue { i16, i1 } %340, 1 %343 = call i1 @llvm.expect.i1(i1 %342, i1 false) br i1 %343, label %panic19.i, label %bb84.i bb84.i: ; preds = %bb83.i %344 = and i16 %34, %341 %345 = icmp eq i16 %344, 0 br i1 %345, label %bb86.i, label %bb85.i bb85.i: ; preds = %bb84.i %346 = load i16, i16* %index.i, !noalias !14 %347 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %346, i16 1) %348 = extractvalue { i16, i1 } %347, 0 %349 = extractvalue { i16, i1 } %347, 1 %350 = call i1 @llvm.expect.i1(i1 %349, i1 false) br i1 %350, label %panic23.i, label %bb105.i bb86.i: ; preds = %bb95.i, %bb84.i %351 = load i16, i16* %index.i, !noalias !14 %352 = load i16, i16* %blocks_end.i, !noalias !14 %353 = icmp ult i16 %351, %352 br i1 %353, label %bb88.i, label %bb87.i bb87.i: ; preds = %bb93.i, %bb86.i br label %bb96.i bb88.i: ; preds = %bb86.i %354 = load i16, i16* %index.i, !noalias !14 %355 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %30, i16 %354) %356 = bitcast i8* %355 to i16* %357 = load i16, i16* %356 %358 = call zeroext i1 @_ZN4core3str17contains_nonascii17hcbdd42238cc9ea62E(i16 %357) %359 = call i16* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h5bdf17a78d0d848dE"(i16* %356, i16 1) %360 = load i16, i16* %359 %361 = call zeroext i1 @_ZN4core3str17contains_nonascii17hcbdd42238cc9ea62E(i16 %360) %362 = or i1 %358, %361 br i1 %362, label %bb93.i, label %bb94.i bb93.i: ; preds = %bb88.i br label %bb87.i bb94.i: ; preds = %bb88.i %363 = load i16, i16* %index.i, !noalias !14 %364 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %363, i16 %6) %365 = extractvalue { i16, i1 } %364, 0 %366 = extractvalue { i16, i1 } %364, 1 %367 = call i1 @llvm.expect.i1(i1 %366, i1 false) br i1 %367, label %panic20.i, label %bb95.i bb95.i: ; preds = %bb94.i store i16 %365, i16* %index.i, !noalias !14 br label %bb86.i bb96.i: ; preds = %bb104.i, %bb87.i %368 = load i16, i16* %index.i, !noalias !14 %369 = icmp ult i16 %368, %3 br i1 %369, label %bb100.i, label %bb99.i bb97.i: ; preds = %bb101.i br label %bb106.i bb98.i: ; preds = %bb102.i store i8 1, i8* %_213.i, !noalias !14 br label %bb101.i bb99.i: ; preds = %bb102.i, %bb96.i store i8 0, i8* %_213.i, !noalias !14 br label %bb101.i bb100.i: ; preds = %bb96.i %370 = load i16, i16* %index.i, !noalias !14 %371 = icmp ult i16 %370, %2 %372 = call i1 @llvm.expect.i1(i1 %371, i1 true) br i1 %372, label %bb102.i, label %panic21.i bb101.i: ; preds = %bb99.i, %bb98.i %373 = load i8, i8* %_213.i, !range !2, !noalias !14 %374 = trunc i8 %373 to i1 br i1 %374, label %bb103.i, label %bb97.i bb102.i: ; preds = %bb100.i %375 = getelementptr inbounds i8, i8* %1, i16 %370 %376 = load i8, i8* %375, !alias.scope !19, !noalias !18 %377 = icmp ult i8 %376, -128 br i1 %377, label %bb98.i, label %bb99.i bb103.i: ; preds = %bb101.i %378 = load i16, i16* %index.i, !noalias !14 %379 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %378, i16 1) %380 = extractvalue { i16, i1 } %379, 0 %381 = extractvalue { i16, i1 } %379, 1 %382 = call i1 @llvm.expect.i1(i1 %381, i1 false) br i1 %382, label %panic22.i, label %bb104.i bb104.i: ; preds = %bb103.i store i16 %380, i16* %index.i, !noalias !14 br label %bb96.i bb105.i: ; preds = %bb85.i store i16 %348, i16* %index.i, !noalias !14 br label %bb106.i bb106.i: ; preds = %bb105.i, %bb97.i br label %bb107.i bb107.i: ; preds = %bb106.i, %bb81.i br label %bb9.i panic.i: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7m) unreachable panic1.i: ; preds = %bb4.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7n) unreachable panic2.i: ; preds = %bb6.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7o) unreachable panic3.i: ; preds = %bb11.i call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.7p, i16 %22, i16 %2) unreachable panic4.i: ; preds = %bb13.i call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.7q, i16 %28, i16 256) unreachable panic5.i: ; preds = %bb18.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7r) unreachable panic6.i: ; preds = %bb56.i call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.7s, i16 %221, i16 %2) unreachable panic7.i: ; preds = %bb58.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7r) unreachable panic8.i: ; preds = %bb71.i call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.7s, i16 %285, i16 %2) unreachable panic9.i: ; preds = %bb74.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7r) unreachable panic10.i: ; preds = %bb77.i call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.7s, i16 %321, i16 %2) unreachable panic11.i: ; preds = %bb17.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7r) unreachable panic12.i: ; preds = %bb31.i call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.7s, i16 %114, i16 %2) unreachable panic13.i: ; preds = %bb33.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7r) unreachable panic14.i: ; preds = %bb50.i call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.7s, i16 %190, i16 %2) unreachable panic15.i: ; preds = %bb16.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7r) unreachable panic16.i: ; preds = %bb23.i call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.7s, i16 %83, i16 %2) unreachable panic17.i: ; preds = %bb20.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7t) unreachable panic18.i: ; preds = %bb14.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7u) unreachable panic19.i: ; preds = %bb83.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7v) unreachable panic20.i: ; preds = %bb94.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7w) unreachable panic21.i: ; preds = %bb100.i call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.7x, i16 %370, i16 %2) unreachable panic22.i: ; preds = %bb103.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7y) unreachable panic23.i: ; preds = %bb85.i call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7z) unreachable _ZN4core3str19run_utf8_validation17hef3ba2e86b6e673cE.exit: ; preds = %bb10.i, %bb25.i br label %bb1 bb1: ; preds = %_ZN4core3str19run_utf8_validation17hef3ba2e86b6e673cE.exit call void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17hfc66bcbe8629a602E"(%"result::Result<(), str::Utf8Error>"* noalias nocapture sret dereferenceable(6) %_4, %"result::Result<(), str::Utf8Error>"* noalias nocapture dereferenceable(6) %_5) br label %bb2 bb2: ; preds = %bb1 %383 = getelementptr inbounds %"result::Result<(), str::Utf8Error>", %"result::Result<(), str::Utf8Error>"* %_4, i32 0, i32 0 %384 = load i16, i16* %383, !range !3 switch i16 %384, label %bb4 [ i16 0, label %bb3 ] bb3: ; preds = %bb2 %385 = bitcast %"result::Result<(), str::Utf8Error>"* %_4 to { i16, {} }* %386 = getelementptr inbounds { i16, {} }, { i16, {} }* %385, i32 0, i32 1 %387 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %388 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %387, i32 0, i32 0 store i8* %1, i8** %388, align 2, !noalias !20 %389 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %387, i32 0, i32 1 store i16 %2, i16* %389, align 2, !noalias !20 %390 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %391 = load i8*, i8** %390, !noalias !20, !nonnull !1 %392 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %393 = load i16, i16* %392, !noalias !20 %394 = insertvalue %str_slice undef, i8* %391, 0 %395 = insertvalue %str_slice %394, i16 %393, 1 %396 = extractvalue %str_slice %395, 0 %397 = extractvalue %str_slice %395, 1 br label %bb8 bb4: ; preds = %bb2 %398 = bitcast %"result::Result<(), str::Utf8Error>"* %_4 to { i16, %"str::Utf8Error" }* %399 = getelementptr inbounds { i16, %"str::Utf8Error" }, { i16, %"str::Utf8Error" }* %398, i32 0, i32 1 %400 = bitcast %"str::Utf8Error"* %399 to i8* %401 = bitcast %"str::Utf8Error"* %err to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %401, i8* %400, i16 4, i32 2, i1 false) %402 = bitcast %"str::Utf8Error"* %err to i8* %403 = bitcast %"str::Utf8Error"* %_11 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %403, i8* %402, i16 4, i32 2, i1 false) call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h9956ac79bc4430c3E"(%"str::Utf8Error"* noalias nocapture sret dereferenceable(4) %_10, %"str::Utf8Error"* noalias nocapture dereferenceable(4) %_11) br label %bb5 bb5: ; preds = %bb4 call void @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17h17171d381e486fb8E"(%"result::Result<&str, str::Utf8Error>"* noalias nocapture sret dereferenceable(6) %0, %"str::Utf8Error"* noalias nocapture dereferenceable(4) %_10) br label %bb6 bb6: ; preds = %bb5 br label %bb7 bb7: ; preds = %bb8, %bb6 ret void bb8: ; preds = %bb3 %404 = getelementptr inbounds %"result::Result<&str, str::Utf8Error>", %"result::Result<&str, str::Utf8Error>"* %0, i32 0, i32 0 store i16 0, i16* %404 %405 = bitcast %"result::Result<&str, str::Utf8Error>"* %0 to { i16, %str_slice }* %406 = getelementptr inbounds { i16, %str_slice }, { i16, %str_slice }* %405, i32 0, i32 1 %407 = getelementptr inbounds %str_slice, %str_slice* %406, i32 0, i32 0 store i8* %396, i8** %407 %408 = getelementptr inbounds %str_slice, %str_slice* %406, i32 0, i32 1 store i16 %397, i16* %408 br label %bb7 } ; Function Attrs: uwtable define internal %str_slice @_ZN4core3str18from_raw_parts_mut17h297d115a5427e0ebE(i8*, i16) unnamed_addr #1 { entry-block: %transmute_temp = alloca %str_slice br label %start start: ; preds = %entry-block %2 = call { i8*, i16 } @_ZN4core5slice18from_raw_parts_mut17hcad6a1b102abd3d7E(i8* %0, i16 %1) %3 = extractvalue { i8*, i16 } %2, 0 %4 = extractvalue { i8*, i16 } %2, 1 br label %bb1 bb1: ; preds = %start %5 = bitcast %str_slice* %transmute_temp to { i8*, i16 }* %6 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %5, i32 0, i32 0 store i8* %3, i8** %6, align 2 %7 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %5, i32 0, i32 1 store i16 %4, i16* %7, align 2 %8 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp, i32 0, i32 0 %9 = load i8*, i8** %8, !nonnull !1 %10 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp, i32 0, i32 1 %11 = load i16, i16* %10 br label %bb2 bb2: ; preds = %bb1 %12 = insertvalue %str_slice undef, i8* %9, 0 %13 = insertvalue %str_slice %12, i16 %11, 1 ret %str_slice %13 } ; Function Attrs: uwtable define i8 @"_ZN59_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Display$GT$3fmt17h233fe464f6822a61E"(%"str::Utf8Error"* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast3 = alloca i8 %tmp_ret2 = alloca %"fmt::ArgumentV1" %tmp_ret1 = alloca %"fmt::ArgumentV1" %abi_cast = alloca i8 %tmp_ret = alloca %"fmt::ArgumentV1" %_32 = alloca { i16* } %_31 = alloca [1 x %"fmt::ArgumentV1"] %_26 = alloca %"fmt::Arguments" %_14 = alloca { i8*, i16* } %_13 = alloca [2 x %"fmt::ArgumentV1"] %_8 = alloca %"fmt::Arguments" %error_len = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %0, i32 0, i32 1 %3 = getelementptr inbounds %"option::Option", %"option::Option"* %2, i32 0, i32 0 %4 = load i8, i8* %3, !range !2 %5 = zext i8 %4 to i16 switch i16 %5, label %bb1 [ i16 1, label %bb2 ] bb1: ; preds = %start %6 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN59_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Display$GT$3fmt15__STATIC_FMTSTR17ha8bc9fd42bee0c72E", i32 0, i32 0), !nonnull !1 %7 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN59_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Display$GT$3fmt15__STATIC_FMTSTR17ha8bc9fd42bee0c72E", i32 0, i32 1) %8 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %0, i32 0, i32 0 %9 = getelementptr inbounds { i16* }, { i16* }* %_32, i32 0, i32 0 store i16* %8, i16** %9 %10 = getelementptr inbounds { i16* }, { i16* }* %_32, i32 0, i32 0 %11 = load i16*, i16** %10, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i16* noalias readonly dereferenceable(2) %11, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %12 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %13 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %14 = load %"fmt::Void"*, %"fmt::Void"** %12, !nonnull !1 %15 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %13, !nonnull !1 br label %bb8 bb2: ; preds = %start %16 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %0, i32 0, i32 1 %17 = bitcast %"option::Option"* %16 to { i8, i8 }* %18 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %17, i32 0, i32 1 %19 = load i8, i8* %18 store i8 %19, i8* %error_len %20 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN59_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Display$GT$3fmt15__STATIC_FMTSTR17h61a63291c0f29c60E", i32 0, i32 0), !nonnull !1 %21 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN59_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Display$GT$3fmt15__STATIC_FMTSTR17h61a63291c0f29c60E", i32 0, i32 1) %22 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %0, i32 0, i32 0 %23 = getelementptr inbounds { i8*, i16* }, { i8*, i16* }* %_14, i32 0, i32 0 store i8* %error_len, i8** %23 %24 = getelementptr inbounds { i8*, i16* }, { i8*, i16* }* %_14, i32 0, i32 1 store i16* %22, i16** %24 %25 = getelementptr inbounds { i8*, i16* }, { i8*, i16* }* %_14, i32 0, i32 0 %26 = load i8*, i8** %25, !nonnull !1 %27 = getelementptr inbounds { i8*, i16* }, { i8*, i16* }* %_14, i32 0, i32 1 %28 = load i16*, i16** %27, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, i8* noalias readonly dereferenceable(1) %26, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE") %29 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %30 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %31 = load %"fmt::Void"*, %"fmt::Void"** %29, !nonnull !1 %32 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %30, !nonnull !1 br label %bb4 bb3: ; preds = %bb7, %bb10 %33 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %34 = load i8, i8* %33, align 1 ret i8 %34 bb4: ; preds = %bb2 call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret2, i16* noalias readonly dereferenceable(2) %28, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %35 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 0 %36 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 1 %37 = load %"fmt::Void"*, %"fmt::Void"** %35, !nonnull !1 %38 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %36, !nonnull !1 br label %bb5 bb5: ; preds = %bb4 %39 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_13, i32 0, i32 0 %40 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %39, i32 0, i32 0 store %"fmt::Void"* %31, %"fmt::Void"** %40 %41 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %39, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %32, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %41 %42 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_13, i32 0, i32 1 %43 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %42, i32 0, i32 0 store %"fmt::Void"* %37, %"fmt::Void"** %43 %44 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %42, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %38, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %44 %45 = bitcast [2 x %"fmt::ArgumentV1"]* %_13 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_8, %str_slice* noalias nonnull readonly %20, i16 %21, %"fmt::ArgumentV1"* noalias nonnull readonly %45, i16 2) br label %bb6 bb6: ; preds = %bb5 %46 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %1, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_8) store i8 %46, i8* %abi_cast3 %47 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %47, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 br label %bb3 bb8: ; preds = %bb1 %48 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_31, i32 0, i32 0 %49 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %48, i32 0, i32 0 store %"fmt::Void"* %14, %"fmt::Void"** %49 %50 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %48, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %15, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %50 %51 = bitcast [1 x %"fmt::ArgumentV1"]* %_31 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_26, %str_slice* noalias nonnull readonly %6, i16 %7, %"fmt::ArgumentV1"* noalias nonnull readonly %51, i16 1) br label %bb9 bb9: ; preds = %bb8 %52 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %1, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_26) store i8 %52, i8* %abi_cast %53 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %53, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 br label %bb3 } ; Function Attrs: inlinehint uwtable define internal i32 @_ZN4core3str15utf8_first_byte17h3b11e398d31a0032E(i8, i32) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = and i32 %1, -8 %3 = icmp ne i32 %2, 0 %4 = trunc i32 %1 to i8 %5 = and i8 %4, 7 %6 = lshr i8 127, %5 %7 = call i1 @llvm.expect.i1(i1 %3, i1 false) br i1 %7, label %panic, label %bb1 bb1: ; preds = %start %8 = and i8 %0, %6 %9 = zext i8 %8 to i32 ret i32 %9 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.78) unreachable } ; Function Attrs: inlinehint uwtable define internal i32 @_ZN4core3str18utf8_acc_cont_byte17h264d2e8b4f2e98e4E(i32, i8) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = shl i32 %0, 6 br label %bb1 bb1: ; preds = %start %3 = and i8 %1, 63 %4 = zext i8 %3 to i32 %5 = or i32 %2, %4 ret i32 %5 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @_ZN4core3str17utf8_is_cont_byte17hf9d8908a04b6661bE(i8) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = and i8 %0, -64 %2 = icmp eq i8 %1, -128 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal i8 @_ZN4core3str11unwrap_or_017h8b07513ddc554493E(i8*) unnamed_addr #0 { entry-block: %opt = alloca i8* %_0 = alloca i8 %arg0 = alloca i8* store i8* %0, i8** %arg0 br label %start start: ; preds = %entry-block %1 = bitcast i8** %arg0 to i8* %2 = bitcast i8** %opt to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 2, i32 2, i1 false) %3 = load i8*, i8** %opt %4 = icmp ne i8* %3, null %5 = zext i1 %4 to i16 switch i16 %5, label %bb2 [ i16 0, label %bb1 ] bb1: ; preds = %start store i8 0, i8* %_0 br label %bb3 bb2: ; preds = %start %6 = load i8*, i8** %opt, !nonnull !1 %7 = load i8, i8* %6 store i8 %7, i8* %_0 br label %bb3 bb3: ; preds = %bb1, %bb2 %8 = load i8, i8* %_0 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3str15next_code_point17h3eae86d96ed3961eE(%"option::Option"* noalias nocapture sret dereferenceable(8), %"slice::Iter"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_40 = alloca i8* %_26 = alloca i8* %_22 = alloca {} %ch = alloca i32 %_17 = alloca i8* %_4 = alloca i8* br label %start start: ; preds = %entry-block %2 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %1) store i8* %2, i8** %_4 br label %bb1 bb1: ; preds = %start %3 = load i8*, i8** %_4 %4 = icmp ne i8* %3, null %5 = zext i1 %4 to i16 switch i16 %5, label %bb4 [ i16 0, label %bb2 ] bb2: ; preds = %bb1 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %6 br label %bb7 bb3: ; preds = %bb4 %7 = zext i8 %12 to i32 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %8 %9 = bitcast %"option::Option"* %0 to { i32, i32 }* %10 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %9, i32 0, i32 1 store i32 %7, i32* %10 br label %bb7 bb4: ; preds = %bb1 %11 = load i8*, i8** %_4, !nonnull !1 %12 = load i8, i8* %11 %13 = icmp ult i8 %12, -128 br i1 %13, label %bb3, label %bb5 bb5: ; preds = %bb4 %14 = load i8*, i8** %_4, !nonnull !1 %15 = load i8, i8* %14 %16 = call i32 @_ZN4core3str15utf8_first_byte17h3b11e398d31a0032E(i8 %15, i32 2) br label %bb8 bb6: ; preds = %bb7, %bb25 ret void bb7: ; preds = %bb2, %bb3 br label %bb6 bb8: ; preds = %bb5 %17 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %1) store i8* %17, i8** %_17 br label %bb9 bb9: ; preds = %bb8 %18 = load i8*, i8** %_17 %19 = call i8 @_ZN4core3str11unwrap_or_017h8b07513ddc554493E(i8* %18) br label %bb10 bb10: ; preds = %bb9 %20 = call i32 @_ZN4core3str18utf8_acc_cont_byte17h264d2e8b4f2e98e4E(i32 %16, i8 %19) store i32 %20, i32* %ch br label %bb11 bb11: ; preds = %bb10 %21 = icmp uge i8 %15, -32 br i1 %21, label %bb12, label %bb13 bb12: ; preds = %bb11 %22 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %1) store i8* %22, i8** %_26 br label %bb14 bb13: ; preds = %bb11 br label %bb25 bb14: ; preds = %bb12 %23 = load i8*, i8** %_26 %24 = call i8 @_ZN4core3str11unwrap_or_017h8b07513ddc554493E(i8* %23) br label %bb15 bb15: ; preds = %bb14 %25 = and i8 %19, 63 %26 = zext i8 %25 to i32 %27 = call i32 @_ZN4core3str18utf8_acc_cont_byte17h264d2e8b4f2e98e4E(i32 %26, i8 %24) br label %bb16 bb16: ; preds = %bb15 %28 = shl i32 %16, 12 br label %bb17 bb17: ; preds = %bb16 %29 = or i32 %28, %27 store i32 %29, i32* %ch %30 = icmp uge i8 %15, -16 br i1 %30, label %bb18, label %bb19 bb18: ; preds = %bb17 %31 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %1) store i8* %31, i8** %_40 br label %bb20 bb19: ; preds = %bb17 br label %bb24 bb20: ; preds = %bb18 %32 = load i8*, i8** %_40 %33 = call i8 @_ZN4core3str11unwrap_or_017h8b07513ddc554493E(i8* %32) br label %bb21 bb21: ; preds = %bb20 %34 = and i32 %16, 7 %35 = shl i32 %34, 18 br label %bb22 bb22: ; preds = %bb21 %36 = call i32 @_ZN4core3str18utf8_acc_cont_byte17h264d2e8b4f2e98e4E(i32 %27, i8 %33) br label %bb23 bb23: ; preds = %bb22 %37 = or i32 %35, %36 store i32 %37, i32* %ch br label %bb24 bb24: ; preds = %bb19, %bb23 br label %bb25 bb25: ; preds = %bb13, %bb24 %38 = load i32, i32* %ch %39 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %39 %40 = bitcast %"option::Option"* %0 to { i32, i32 }* %41 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %40, i32 0, i32 1 store i32 %38, i32* %41 br label %bb6 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN81_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3e15f45a2c4e243fE"(%"option::Option"* noalias nocapture sret dereferenceable(8), %"str::Chars"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_6 = alloca %closure.26 %_3 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::Chars", %"str::Chars"* %1, i32 0, i32 0 call void @_ZN4core3str15next_code_point17h3eae86d96ed3961eE(%"option::Option"* noalias nocapture sret dereferenceable(8) %_3, %"slice::Iter"* dereferenceable(4) %2) br label %bb1 bb1: ; preds = %start call void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17h72a7befb8b051beaE"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, %"option::Option"* noalias nocapture dereferenceable(8) %_3) br label %bb2 bb2: ; preds = %bb1 ret void } ; Function Attrs: uwtable define internal i32 @"_ZN81_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h9dad306b3beb0047E"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = call i32 @_ZN4core4char18from_u32_unchecked17haf92f749e2ff02abE(i32 %0) br label %bb1 bb1: ; preds = %start ret i32 %1 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN81_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$5count17h53b4b63af1f4c1ebE"(%"str::Chars"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: %_12 = alloca i8* %_11 = alloca {} %iter = alloca %"slice::Iter" %_9 = alloca %"slice::Iter" %_8 = alloca %"slice::Iter" %_result = alloca {} %cont_bytes = alloca i16 %self = alloca %"str::Chars" br label %start start: ; preds = %entry-block %1 = bitcast %"str::Chars"* %0 to i8* %2 = bitcast %"str::Chars"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 4, i32 2, i1 false) %3 = getelementptr inbounds %"str::Chars", %"str::Chars"* %self, i32 0, i32 0 %4 = call i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hcab9b60dd0a777faE(%"slice::Iter"* noalias readonly dereferenceable(4) %3) br label %bb1 bb1: ; preds = %start store i16 0, i16* %cont_bytes %5 = getelementptr inbounds %"str::Chars", %"str::Chars"* %self, i32 0, i32 0 %6 = bitcast %"slice::Iter"* %5 to i8* %7 = bitcast %"slice::Iter"* %_9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha39cd41f4ad0701fE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_8, %"slice::Iter"* noalias nocapture dereferenceable(4) %_9) br label %bb2 bb2: ; preds = %bb1 %8 = bitcast %"slice::Iter"* %_8 to i8* %9 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 4, i32 2, i1 false) br label %bb3 bb3: ; preds = %bb8, %bb2 %10 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %10, i8** %_12 br label %bb4 bb4: ; preds = %bb3 %11 = load i8*, i8** %_12 %12 = icmp ne i8* %11, null %13 = zext i1 %12 to i16 switch i16 %13, label %bb6 [ i16 0, label %bb5 ] bb5: ; preds = %bb4 %14 = load i16, i16* %cont_bytes %15 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 %14) %16 = extractvalue { i16, i1 } %15, 0 %17 = extractvalue { i16, i1 } %15, 1 %18 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %18, label %panic1, label %bb9 bb6: ; preds = %bb4 %19 = load i8*, i8** %_12, !nonnull !1 %20 = load i8, i8* %19 %21 = call zeroext i1 @_ZN4core3str17utf8_is_cont_byte17hf9d8908a04b6661bE(i8 %20) br label %bb7 bb7: ; preds = %bb6 %22 = zext i1 %21 to i16 %23 = load i16, i16* %cont_bytes %24 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %23, i16 %22) %25 = extractvalue { i16, i1 } %24, 0 %26 = extractvalue { i16, i1 } %24, 1 %27 = call i1 @llvm.expect.i1(i1 %26, i1 false) br i1 %27, label %panic, label %bb8 bb8: ; preds = %bb7 store i16 %25, i16* %cont_bytes br label %bb3 bb9: ; preds = %bb5 ret i16 %16 panic: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.79) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7a) unreachable } ; Function Attrs: inlinehint uwtable define internal void @"_ZN87_$LT$core..str..CharIndices$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf91c97e87b0f9834E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(12), %"str::CharIndices"* dereferenceable(6)) unnamed_addr #0 { entry-block: %_18 = alloca { i16, i32 } %_5 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %1, i32 0, i32 1 %3 = getelementptr inbounds %"str::Chars", %"str::Chars"* %2, i32 0, i32 0 %4 = call i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hcab9b60dd0a777faE(%"slice::Iter"* noalias readonly dereferenceable(4) %3) br label %bb1 bb1: ; preds = %start %5 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %1, i32 0, i32 1 call void @"_ZN81_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3e15f45a2c4e243fE"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_5, %"str::Chars"* dereferenceable(4) %5) br label %bb2 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5, i32 0, i32 0 %7 = load i32, i32* %6, !range !9 %8 = trunc i32 %7 to i16 switch i16 %8, label %bb4 [ i16 0, label %bb3 ] bb3: ; preds = %bb2 %9 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %0, i32 0, i32 0 store i32 0, i32* %9 br label %bb5 bb4: ; preds = %bb2 %10 = bitcast %"option::Option"* %_5 to { i32, i32 }* %11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 %12 = load i32, i32* %11, !range !11 %13 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %1, i32 0, i32 0 %14 = load i16, i16* %13 %15 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %1, i32 0, i32 1 %16 = getelementptr inbounds %"str::Chars", %"str::Chars"* %15, i32 0, i32 0 %17 = call i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hcab9b60dd0a777faE(%"slice::Iter"* noalias readonly dereferenceable(4) %16) br label %bb6 bb5: ; preds = %bb3, %bb8 ret void bb6: ; preds = %bb4 %18 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 %17) %19 = extractvalue { i16, i1 } %18, 0 %20 = extractvalue { i16, i1 } %18, 1 %21 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %21, label %panic, label %bb7 bb7: ; preds = %bb6 %22 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %1, i32 0, i32 0 %23 = load i16, i16* %22 %24 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %23, i16 %19) %25 = extractvalue { i16, i1 } %24, 0 %26 = extractvalue { i16, i1 } %24, 1 %27 = call i1 @llvm.expect.i1(i1 %26, i1 false) br i1 %27, label %panic1, label %bb8 bb8: ; preds = %bb7 %28 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %1, i32 0, i32 0 store i16 %25, i16* %28 %29 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %_18, i32 0, i32 0 store i16 %14, i16* %29 %30 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %_18, i32 0, i32 1 store i32 %12, i32* %30 %31 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %0, i32 0, i32 0 store i32 1, i32* %31 %32 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %_18, i32 0, i32 0 %33 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %_18, i32 0, i32 1 %34 = load i16, i16* %32 %35 = load i32, i32* %33, !range !11 %36 = bitcast %"option::Option<(usize, char)>"* %0 to { i32, { i16, i32 } }* %37 = getelementptr inbounds { i32, { i16, i32 } }, { i32, { i16, i32 } }* %36, i32 0, i32 1 %38 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %37, i32 0, i32 0 store i16 %34, i16* %38 %39 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %37, i32 0, i32 1 store i32 %35, i32* %39 br label %bb5 panic: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7b) unreachable panic1: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7c) unreachable } ; Function Attrs: uwtable define internal i8 @"_ZN84_$LT$core..str..SplitInternal$LT$$u27$a$C$$u20$P$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h49def0b14b0d8c25E"(%"str::SplitInternal"* dereferenceable(24), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_16 = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %_16, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([13 x i8], [13 x i8]* @str.7d, i32 0, i32 0), i16 13) br label %bb1 bb1: ; preds = %start %2 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %0, i32 0, i32 0 %3 = bitcast i16* %2 to i8* %4 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %_16, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.7e, i32 0, i32 0), i16 5, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (i16*)*, i16, i16, i8 (i16*, %"fmt::Formatter"*)* }* @vtable.7f to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %0, i32 0, i32 1 %6 = bitcast i16* %5 to i8* %7 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %4, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.7g, i32 0, i32 0), i16 3, i8* nonnull %6, void (i8*)** noalias nonnull readonly bitcast ({ void (i16*)*, i16, i16, i8 (i16*, %"fmt::Formatter"*)* }* @vtable.7f to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 %8 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %0, i32 0, i32 2 %9 = bitcast %"str::pattern::CharSearcher"* %8 to i8* %10 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %7, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.7h, i32 0, i32 0), i16 7, i8* nonnull %9, void (i8*)** noalias nonnull readonly bitcast ({ void (%"str::pattern::CharSearcher"*)*, i16, i16, i8 (%"str::pattern::CharSearcher"*, %"fmt::Formatter"*)* }* @vtable.7i to void (i8*)**)) br label %bb4 bb4: ; preds = %bb3 %11 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %0, i32 0, i32 3 %12 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %10, i8* noalias nonnull readonly getelementptr inbounds ([20 x i8], [20 x i8]* @str.7j, i32 0, i32 0), i16 20, i8* nonnull %11, void (i8*)** noalias nonnull readonly getelementptr inbounds ({ void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* }, { void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* }* @vtable.5Z, i32 0, i32 0)) br label %bb5 bb5: ; preds = %bb4 %13 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %0, i32 0, i32 4 %14 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %12, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.7k, i32 0, i32 0), i16 8, i8* nonnull %13, void (i8*)** noalias nonnull readonly getelementptr inbounds ({ void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* }, { void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* }* @vtable.5Z, i32 0, i32 0)) br label %bb6 bb6: ; preds = %bb5 %15 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %14) store i8 %15, i8* %abi_cast %16 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 %17 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %18 = load i8, i8* %17, align 1 ret i8 %18 } ; Function Attrs: inlinehint uwtable define internal %str_slice @"_ZN93_$LT$core..str..LinesAnyMap$u20$as$u20$core..ops..Fn$LT$$LP$$RF$$u27$a$u20$str$C$$RP$$GT$$GT$4call17h6661f7d1fe75cefcE"(%"str::LinesAnyMap"* noalias readonly, i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_22 = alloca %"ops::Range" %_7 = alloca i8 %_0 = alloca %str_slice %arg1 = alloca { %str_slice } %3 = getelementptr inbounds { %str_slice }, { %str_slice }* %arg1, i32 0, i32 0 %4 = getelementptr inbounds %str_slice, %str_slice* %3, i32 0, i32 0 store i8* %1, i8** %4 %5 = getelementptr inbounds %str_slice, %str_slice* %3, i32 0, i32 1 store i16 %2, i16* %5 br label %start start: ; preds = %entry-block %6 = getelementptr inbounds { %str_slice }, { %str_slice }* %arg1, i32 0, i32 0 %7 = getelementptr inbounds %str_slice, %str_slice* %6, i32 0, i32 0 %8 = load i8*, i8** %7, !nonnull !1 %9 = getelementptr inbounds %str_slice, %str_slice* %6, i32 0, i32 1 %10 = load i16, i16* %9 %11 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %8, i16 %10) br label %bb1 bb1: ; preds = %start %12 = icmp ugt i16 %11, 0 br i1 %12, label %bb4, label %bb3 bb2: ; preds = %bb8 store i8 1, i8* %_7 br label %bb5 bb3: ; preds = %bb8, %bb1 store i8 0, i8* %_7 br label %bb5 bb4: ; preds = %bb1 %13 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %8, i16 %10) %14 = extractvalue { i8*, i16 } %13, 0 %15 = extractvalue { i8*, i16 } %13, 1 br label %bb6 bb5: ; preds = %bb3, %bb2 %16 = load i8, i8* %_7, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb9, label %bb10 bb6: ; preds = %bb4 %18 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %11, i16 1) %19 = extractvalue { i16, i1 } %18, 0 %20 = extractvalue { i16, i1 } %18, 1 %21 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %21, label %panic, label %bb7 bb7: ; preds = %bb6 %22 = call dereferenceable(1) i8* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h08f0dba53d9565f6E"(i8* noalias nonnull readonly %14, i16 %15, i16 %19) br label %bb8 bb8: ; preds = %bb7 %23 = load i8, i8* %22 %24 = icmp eq i8 %23, 13 br i1 %24, label %bb2, label %bb3 bb9: ; preds = %bb5 %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %11, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic1, label %bb11 bb10: ; preds = %bb5 %29 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 store i8* %8, i8** %29 %30 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 store i16 %10, i16* %30 br label %bb13 bb11: ; preds = %bb9 %31 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_22, i32 0, i32 0 store i16 0, i16* %31 %32 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_22, i32 0, i32 1 store i16 %26, i16* %32 %33 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_22, i32 0, i32 0 %34 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_22, i32 0, i32 1 %35 = load i16, i16* %33 %36 = load i16, i16* %34 %37 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %35, i16* %37 %38 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %36, i16* %38 %39 = call %str_slice @"_ZN4core3str6traits87_$LT$impl$u20$core..ops..Index$LT$core..ops..Range$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17h52b1bc72fe000f46E"(i8* noalias nonnull readonly %8, i16 %10, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) %40 = extractvalue %str_slice %39, 0 %41 = extractvalue %str_slice %39, 1 br label %bb12 bb12: ; preds = %bb11 %42 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 store i8* %40, i8** %42 %43 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 store i16 %41, i16* %43 br label %bb13 bb13: ; preds = %bb10, %bb12 %44 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 0 %45 = load i8*, i8** %44, !nonnull !1 %46 = getelementptr inbounds %str_slice, %str_slice* %_0, i32 0, i32 1 %47 = load i16, i16* %46 %48 = insertvalue %str_slice undef, i8* %45, 0 %49 = insertvalue %str_slice %48, i16 %47, 1 ret %str_slice %49 panic: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7l) unreachable panic1: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7l) unreachable } ; Function Attrs: inlinehint uwtable define internal %str_slice @"_ZN96_$LT$core..str..LinesAnyMap$u20$as$u20$core..ops..FnMut$LT$$LP$$RF$$u27$a$u20$str$C$$RP$$GT$$GT$8call_mut17h4c1788186214076eE"(%"str::LinesAnyMap"*, i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_8 = alloca { %str_slice } %arg1 = alloca { %str_slice } %3 = getelementptr inbounds { %str_slice }, { %str_slice }* %arg1, i32 0, i32 0 %4 = getelementptr inbounds %str_slice, %str_slice* %3, i32 0, i32 0 store i8* %1, i8** %4 %5 = getelementptr inbounds %str_slice, %str_slice* %3, i32 0, i32 1 store i16 %2, i16* %5 br label %start start: ; preds = %entry-block %6 = getelementptr inbounds { %str_slice }, { %str_slice }* %arg1, i32 0, i32 0 %7 = getelementptr inbounds %str_slice, %str_slice* %6, i32 0, i32 0 %8 = load i8*, i8** %7, !nonnull !1 %9 = getelementptr inbounds %str_slice, %str_slice* %6, i32 0, i32 1 %10 = load i16, i16* %9 %11 = getelementptr inbounds { %str_slice }, { %str_slice }* %_8, i32 0, i32 0 %12 = getelementptr inbounds %str_slice, %str_slice* %11, i32 0, i32 0 store i8* %8, i8** %12 %13 = getelementptr inbounds %str_slice, %str_slice* %11, i32 0, i32 1 store i16 %10, i16* %13 %14 = getelementptr inbounds { %str_slice }, { %str_slice }* %_8, i32 0, i32 0 %15 = getelementptr inbounds %str_slice, %str_slice* %14, i32 0, i32 0 %16 = load i8*, i8** %15, !nonnull !1 %17 = getelementptr inbounds %str_slice, %str_slice* %14, i32 0, i32 1 %18 = load i16, i16* %17 %19 = call %str_slice @"_ZN93_$LT$core..str..LinesAnyMap$u20$as$u20$core..ops..Fn$LT$$LP$$RF$$u27$a$u20$str$C$$RP$$GT$$GT$4call17h6661f7d1fe75cefcE"(%"str::LinesAnyMap"* noalias readonly %0, i8* noalias nonnull readonly %16, i16 %18) %20 = extractvalue %str_slice %19, 0 %21 = extractvalue %str_slice %19, 1 br label %bb1 bb1: ; preds = %start %22 = insertvalue %str_slice undef, i8* %20, 0 %23 = insertvalue %str_slice %22, i16 %21, 1 ret %str_slice %23 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @_ZN4core3str8eq_slice17he05ac6c1e57d16b8E(i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_9 = alloca { i8*, i16 } %_6 = alloca { i8*, i16 } br label %start start: ; preds = %entry-block %4 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %0, i16 %1) store { i8*, i16 } %4, { i8*, i16 }* %_6 br label %bb1 bb1: ; preds = %start %5 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %2, i16 %3) store { i8*, i16 } %5, { i8*, i16 }* %_9 br label %bb2 bb2: ; preds = %bb1 %6 = call zeroext i1 @"_ZN4core3cmp5impls91_$LT$impl$u20$core..cmp..PartialEq$LT$$RF$$u27$b$u20$B$GT$$u20$for$u20$$RF$$u27$a$u20$A$GT$2eq17h0b0532908da2580dE"({ i8*, i16 }* noalias readonly dereferenceable(4) %_6, { i8*, i16 }* noalias readonly dereferenceable(4) %_9) br label %bb3 bb3: ; preds = %bb2 ret i1 %6 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @_ZN4core3str17contains_nonascii17hcbdd42238cc9ea62E(i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = and i16 %0, -32640 %2 = icmp ne i16 %1, 0 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3str6traits54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$str$GT$2eq17hc56af60b00b8e79aE"(i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %4 = call zeroext i1 @_ZN4core3str8eq_slice17he05ac6c1e57d16b8E(i8* noalias nonnull readonly %0, i16 %1, i8* noalias nonnull readonly %2, i16 %3) br label %bb1 bb1: ; preds = %start ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal %str_slice @"_ZN4core3str6traits87_$LT$impl$u20$core..ops..Index$LT$core..ops..Range$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17h52b1bc72fe000f46E"(i8* noalias nonnull readonly, i16, %"ops::Range"* noalias nocapture dereferenceable(4)) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %2, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %2, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %5, i16* %7 %8 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %6, i16* %8 %9 = call %str_slice @"_ZN4core3str6traits94_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..Range$LT$usize$GT$$GT$5index17h912c87e1042f7134E"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i8* noalias nonnull readonly %0, i16 %1) %10 = extractvalue %str_slice %9, 0 %11 = extractvalue %str_slice %9, 1 br label %bb1 bb1: ; preds = %start %12 = insertvalue %str_slice undef, i8* %10, 0 %13 = insertvalue %str_slice %12, i16 %11, 1 ret %str_slice %13 } ; Function Attrs: inlinehint uwtable define internal %str_slice @"_ZN4core3str6traits89_$LT$impl$u20$core..ops..Index$LT$core..ops..RangeTo$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17h3af521c91fee7b5fE"(i8* noalias nonnull readonly, i16, i16) unnamed_addr #0 { entry-block: %index = alloca %"ops::RangeTo" %abi_cast = alloca i16 %arg1 = alloca %"ops::RangeTo" store i16 %2, i16* %abi_cast %3 = bitcast %"ops::RangeTo"* %arg1 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeTo"* %arg1 to i8* %6 = bitcast %"ops::RangeTo"* %index to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %index, i32 0, i32 0 %8 = load i16, i16* %7 %9 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h816a3ebd6447eb09E"(i8* noalias nonnull readonly %0, i16 %1, i16 %8) br label %bb1 bb1: ; preds = %start br i1 %9, label %bb2, label %bb3 bb2: ; preds = %bb1 %10 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %index, i32 0, i32 0 %11 = load i16, i16* %10 %12 = call %str_slice @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$15slice_unchecked17h5f232d72dc3f0d03E"(i8* noalias nonnull readonly %0, i16 %1, i16 0, i16 %11) %13 = extractvalue %str_slice %12, 0 %14 = extractvalue %str_slice %12, 1 br label %bb4 bb3: ; preds = %bb1 %15 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %index, i32 0, i32 0 %16 = load i16, i16* %15 call void @_ZN4core3str16slice_error_fail17h7b0fc4ca36e5d6d6E(i8* noalias nonnull readonly %0, i16 %1, i16 0, i16 %16) unreachable bb4: ; preds = %bb2 %17 = insertvalue %str_slice undef, i8* %13, 0 %18 = insertvalue %str_slice %17, i16 %14, 1 ret %str_slice %18 } ; Function Attrs: inlinehint uwtable define internal %str_slice @"_ZN4core3str6traits91_$LT$impl$u20$core..ops..Index$LT$core..ops..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17he53d0ed7bcb77167E"(i8* noalias nonnull readonly, i16, i16) unnamed_addr #0 { entry-block: %index = alloca %"ops::RangeFrom" %abi_cast = alloca i16 %arg1 = alloca %"ops::RangeFrom" store i16 %2, i16* %abi_cast %3 = bitcast %"ops::RangeFrom"* %arg1 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %5 = bitcast %"ops::RangeFrom"* %arg1 to i8* %6 = bitcast %"ops::RangeFrom"* %index to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %index, i32 0, i32 0 %8 = load i16, i16* %7 %9 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h816a3ebd6447eb09E"(i8* noalias nonnull readonly %0, i16 %1, i16 %8) br label %bb1 bb1: ; preds = %start br i1 %9, label %bb2, label %bb3 bb2: ; preds = %bb1 %10 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %index, i32 0, i32 0 %11 = load i16, i16* %10 %12 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %0, i16 %1) br label %bb4 bb3: ; preds = %bb1 %13 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %index, i32 0, i32 0 %14 = load i16, i16* %13 %15 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %0, i16 %1) br label %bb6 bb4: ; preds = %bb2 %16 = call %str_slice @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$15slice_unchecked17h5f232d72dc3f0d03E"(i8* noalias nonnull readonly %0, i16 %1, i16 %11, i16 %12) %17 = extractvalue %str_slice %16, 0 %18 = extractvalue %str_slice %16, 1 br label %bb5 bb5: ; preds = %bb4 %19 = insertvalue %str_slice undef, i8* %17, 0 %20 = insertvalue %str_slice %19, i16 %18, 1 ret %str_slice %20 bb6: ; preds = %bb3 call void @_ZN4core3str16slice_error_fail17h7b0fc4ca36e5d6d6E(i8* noalias nonnull readonly %0, i16 %1, i16 %14, i16 %15) unreachable } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3str6traits94_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..Range$LT$usize$GT$$GT$3get17h89be3f53ef34ca37E"(%"option::Option<&str>"* noalias nocapture sret dereferenceable(4), %"ops::Range"* noalias nocapture dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_6 = alloca i8 %_5 = alloca i8 br label %start start: ; preds = %entry-block %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 0 %5 = getelementptr inbounds %"ops::Range", %"ops::Range"* %1, i32 0, i32 1 %6 = load i16, i16* %4 %7 = load i16, i16* %5 %8 = icmp ule i16 %6, %7 br i1 %8, label %bb7, label %bb6 bb1: ; preds = %bb10 store i8 1, i8* %_5 br label %bb4 bb2: ; preds = %bb10, %bb8 store i8 0, i8* %_5 br label %bb4 bb3: ; preds = %bb8 %9 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h816a3ebd6447eb09E"(i8* noalias nonnull readonly %2, i16 %3, i16 %7) br label %bb10 bb4: ; preds = %bb2, %bb1 %10 = load i8, i8* %_5, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb11, label %bb12 bb5: ; preds = %bb9 store i8 1, i8* %_6 br label %bb8 bb6: ; preds = %bb9, %start store i8 0, i8* %_6 br label %bb8 bb7: ; preds = %start %12 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h816a3ebd6447eb09E"(i8* noalias nonnull readonly %2, i16 %3, i16 %6) br label %bb9 bb8: ; preds = %bb6, %bb5 %13 = load i8, i8* %_6, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb3, label %bb2 bb9: ; preds = %bb7 br i1 %12, label %bb5, label %bb6 bb10: ; preds = %bb3 br i1 %9, label %bb1, label %bb2 bb11: ; preds = %bb4 %15 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %6, i16* %15 %16 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %7, i16* %16 %17 = call %str_slice @"_ZN4core3str6traits94_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..Range$LT$usize$GT$$GT$13get_unchecked17h4d8eb64ff3501e3aE"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i8* noalias nonnull readonly %2, i16 %3) %18 = extractvalue %str_slice %17, 0 %19 = extractvalue %str_slice %17, 1 br label %bb13 bb12: ; preds = %bb4 %20 = getelementptr inbounds %"option::Option<&str>", %"option::Option<&str>"* %0, i32 0, i32 0, i32 0 store i8* null, i8** %20 br label %bb14 bb13: ; preds = %bb11 %21 = getelementptr inbounds %"option::Option<&str>", %"option::Option<&str>"* %0, i32 0, i32 0 %22 = getelementptr inbounds %str_slice, %str_slice* %21, i32 0, i32 0 store i8* %18, i8** %22 %23 = getelementptr inbounds %str_slice, %str_slice* %21, i32 0, i32 1 store i16 %19, i16* %23 br label %bb14 bb14: ; preds = %bb12, %bb13 ret void } ; Function Attrs: inlinehint uwtable define internal %str_slice @"_ZN4core3str6traits94_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..Range$LT$usize$GT$$GT$13get_unchecked17h4d8eb64ff3501e3aE"(%"ops::Range"* noalias nocapture dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %transmute_temp.i = alloca %str_slice br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = call i8* @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$6as_ptr17h732d71fbf333b19bE"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %8 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %7, i16 %5) br label %bb2 bb2: ; preds = %bb1 %9 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %6, i16 %5) %10 = extractvalue { i16, i1 } %9, 0 %11 = extractvalue { i16, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic, label %bb3 bb3: ; preds = %bb2 %13 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %8, i16 %10) %14 = extractvalue { i8*, i16 } %13, 0 %15 = extractvalue { i8*, i16 } %13, 1 br label %bb4 bb4: ; preds = %bb3 %16 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %17 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %16, i32 0, i32 0 store i8* %14, i8** %17, align 2, !noalias !23 %18 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %16, i32 0, i32 1 store i16 %15, i16* %18, align 2, !noalias !23 %19 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %20 = load i8*, i8** %19, !noalias !23, !nonnull !1 %21 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %22 = load i16, i16* %21, !noalias !23 %23 = insertvalue %str_slice undef, i8* %20, 0 %24 = insertvalue %str_slice %23, i16 %22, 1 %25 = extractvalue %str_slice %24, 0 %26 = extractvalue %str_slice %24, 1 br label %bb5 bb5: ; preds = %bb4 %27 = insertvalue %str_slice undef, i8* %25, 0 %28 = insertvalue %str_slice %27, i16 %26, 1 ret %str_slice %28 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7A) unreachable } ; Function Attrs: inlinehint uwtable define internal %str_slice @"_ZN4core3str6traits94_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..Range$LT$usize$GT$$GT$5index17h912c87e1042f7134E"(%"ops::Range"* noalias nocapture dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_14 = alloca %closure.22 %_11 = alloca %"option::Option<&str>" %_7 = alloca { i16, i16 } %end = alloca i16 %start1 = alloca i16 %slice = alloca %str_slice br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 0 %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %0, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i16, i16* %4 %7 = getelementptr inbounds %str_slice, %str_slice* %slice, i32 0, i32 0 store i8* %1, i8** %7 %8 = getelementptr inbounds %str_slice, %str_slice* %slice, i32 0, i32 1 store i16 %2, i16* %8 %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_7, i32 0, i32 0 store i16 %5, i16* %9 %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_7, i32 0, i32 1 store i16 %6, i16* %10 %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_7, i32 0, i32 0 %12 = load i16, i16* %11 store i16 %12, i16* %start1 %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_7, i32 0, i32 1 %14 = load i16, i16* %13 store i16 %14, i16* %end %15 = getelementptr inbounds %str_slice, %str_slice* %slice, i32 0, i32 0 %16 = load i8*, i8** %15, !nonnull !1 %17 = getelementptr inbounds %str_slice, %str_slice* %slice, i32 0, i32 1 %18 = load i16, i16* %17 %19 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %5, i16* %19 %20 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %6, i16* %20 call void @"_ZN4core3str6traits94_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..Range$LT$usize$GT$$GT$3get17h89be3f53ef34ca37E"(%"option::Option<&str>"* noalias nocapture sret dereferenceable(4) %_11, %"ops::Range"* noalias nocapture dereferenceable(4) %arg, i8* noalias nonnull readonly %16, i16 %18) br label %bb1 bb1: ; preds = %start %21 = getelementptr inbounds %closure.22, %closure.22* %_14, i32 0, i32 0 store %str_slice* %slice, %str_slice** %21 %22 = getelementptr inbounds %closure.22, %closure.22* %_14, i32 0, i32 1 store i16* %start1, i16** %22 %23 = getelementptr inbounds %closure.22, %closure.22* %_14, i32 0, i32 2 store i16* %end, i16** %23 %24 = call %str_slice @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$14unwrap_or_else17haee789aa400378daE"(%"option::Option<&str>"* noalias nocapture dereferenceable(4) %_11, %closure.22* noalias nocapture dereferenceable(6) %_14) %25 = extractvalue %str_slice %24, 0 %26 = extractvalue %str_slice %24, 1 br label %bb2 bb2: ; preds = %bb1 %27 = insertvalue %str_slice undef, i8* %25, 0 %28 = insertvalue %str_slice %27, i16 %26, 1 ret %str_slice %28 } ; Function Attrs: uwtable define internal %str_slice @"_ZN4core3str6traits94_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..Range$LT$usize$GT$$GT$5index28_$u7b$$u7b$closure$u7d$$u7d$17h96c198f83a2dda87E"(%closure.22* noalias nocapture dereferenceable(6)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %closure.22, %closure.22* %0, i32 0, i32 0 %2 = load %str_slice*, %str_slice** %1, !nonnull !1 %3 = getelementptr inbounds %str_slice, %str_slice* %2, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = getelementptr inbounds %str_slice, %str_slice* %2, i32 0, i32 1 %6 = load i16, i16* %5 %7 = getelementptr inbounds %closure.22, %closure.22* %0, i32 0, i32 1 %8 = load i16*, i16** %7, !nonnull !1 %9 = load i16, i16* %8 %10 = getelementptr inbounds %closure.22, %closure.22* %0, i32 0, i32 2 %11 = load i16*, i16** %10, !nonnull !1 %12 = load i16, i16* %11 call void @_ZN4core3str16slice_error_fail17h7b0fc4ca36e5d6d6E(i8* noalias nonnull readonly %4, i16 %6, i16 %9, i16 %12) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3str25truncate_to_char_boundary17h2137a6d94ae34008E({ i8, %str_slice }* noalias nocapture sret dereferenceable(6), i8* noalias nonnull readonly, i16, i16) unnamed_addr #1 { entry-block: %_21 = alloca %"ops::RangeTo" %_15 = alloca {} %_10 = alloca {} %max = alloca i16 br label %start start: ; preds = %entry-block store i16 %3, i16* %max %4 = load i16, i16* %max %5 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %6 = icmp uge i16 %4, %5 br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %0, i32 0, i32 0 store i8 0, i8* %7 %8 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %0, i32 0, i32 1 %9 = getelementptr inbounds %str_slice, %str_slice* %8, i32 0, i32 0 store i8* %1, i8** %9 %10 = getelementptr inbounds %str_slice, %str_slice* %8, i32 0, i32 1 store i16 %2, i16* %10 br label %bb9 bb3: ; preds = %bb7, %bb1 %11 = load i16, i16* %max %12 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h816a3ebd6447eb09E"(i8* noalias nonnull readonly %1, i16 %2, i16 %11) br label %bb5 bb4: ; preds = %bb5 %13 = load i16, i16* %max %14 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_21, i32 0, i32 0 store i16 %13, i16* %14 %15 = bitcast %"ops::RangeTo"* %_21 to i16* %16 = load i16, i16* %15, align 2 %17 = call %str_slice @"_ZN4core3str6traits89_$LT$impl$u20$core..ops..Index$LT$core..ops..RangeTo$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17h3af521c91fee7b5fE"(i8* noalias nonnull readonly %1, i16 %2, i16 %16) %18 = extractvalue %str_slice %17, 0 %19 = extractvalue %str_slice %17, 1 br label %bb8 bb5: ; preds = %bb3 %20 = xor i1 %12, true br i1 %20, label %bb6, label %bb4 bb6: ; preds = %bb5 %21 = load i16, i16* %max %22 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %21, i16 1) %23 = extractvalue { i16, i1 } %22, 0 %24 = extractvalue { i16, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic, label %bb7 bb7: ; preds = %bb6 store i16 %23, i16* %max br label %bb3 bb8: ; preds = %bb4 %26 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %0, i32 0, i32 0 store i8 1, i8* %26 %27 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %0, i32 0, i32 1 %28 = getelementptr inbounds %str_slice, %str_slice* %27, i32 0, i32 0 store i8* %18, i8** %28 %29 = getelementptr inbounds %str_slice, %str_slice* %27, i32 0, i32 1 store i16 %19, i16* %29 br label %bb9 bb9: ; preds = %bb8, %bb2 ret void panic: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7B) unreachable } ; Function Attrs: cold noinline noreturn uwtable define void @_ZN4core3str16slice_error_fail17h7b0fc4ca36e5d6d6E(i8* noalias nonnull readonly, i16, i16, i16) unnamed_addr #3 { entry-block: %tmp_ret12 = alloca %"fmt::ArgumentV1" %tmp_ret11 = alloca %"fmt::ArgumentV1" %tmp_ret10 = alloca %"fmt::ArgumentV1" %tmp_ret9 = alloca %"fmt::ArgumentV1" %tmp_ret8 = alloca %"fmt::ArgumentV1" %tmp_ret6 = alloca %"fmt::ArgumentV1" %tmp_ret5 = alloca %"fmt::ArgumentV1" %tmp_ret4 = alloca %"fmt::ArgumentV1" %tmp_ret3 = alloca %"fmt::ArgumentV1" %tmp_ret2 = alloca %"fmt::ArgumentV1" %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_127 = alloca { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* } %_126 = alloca [5 x %"fmt::ArgumentV1"] %_121 = alloca %"fmt::Arguments" %char_range = alloca %"ops::Range" %_112 = alloca %"ops::RangeFrom" %_108 = alloca %"str::Chars" %_106 = alloca %"option::Option" %ch = alloca i32 %_103 = alloca {} %_98 = alloca {} %char_start = alloca i16 %index = alloca i16 %_66 = alloca { i16*, i16*, %str_slice*, %str_slice* } %_65 = alloca [4 x %"fmt::ArgumentV1"] %_60 = alloca %"fmt::Arguments" %_55 = alloca {} %_37 = alloca { i16*, %str_slice*, %str_slice* } %_36 = alloca [3 x %"fmt::ArgumentV1"] %_31 = alloca %"fmt::Arguments" %oob_index = alloca i16 %_15 = alloca i8 %_14 = alloca {} %ellipsis = alloca %str_slice %_9 = alloca { i8, %str_slice } %s_trunc = alloca %str_slice %end = alloca i16 %begin = alloca i16 br label %start start: ; preds = %entry-block store i16 %2, i16* %begin store i16 %3, i16* %end call void @_ZN4core3str25truncate_to_char_boundary17h2137a6d94ae34008E({ i8, %str_slice }* noalias nocapture sret dereferenceable(6) %_9, i8* noalias nonnull readonly %0, i16 %1, i16 256) br label %bb1 bb1: ; preds = %start %4 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %_9, i32 0, i32 0 %5 = load i8, i8* %4, !range !2 %6 = trunc i8 %5 to i1 %7 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %_9, i32 0, i32 1 %8 = getelementptr inbounds %str_slice, %str_slice* %7, i32 0, i32 0 %9 = load i8*, i8** %8, !nonnull !1 %10 = getelementptr inbounds %str_slice, %str_slice* %7, i32 0, i32 1 %11 = load i16, i16* %10 %12 = getelementptr inbounds %str_slice, %str_slice* %s_trunc, i32 0, i32 0 store i8* %9, i8** %12 %13 = getelementptr inbounds %str_slice, %str_slice* %s_trunc, i32 0, i32 1 store i16 %11, i16* %13 br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %14 = getelementptr inbounds %str_slice, %str_slice* %ellipsis, i32 0, i32 0 store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str.7C, i32 0, i32 0), i8** %14 %15 = getelementptr inbounds %str_slice, %str_slice* %ellipsis, i32 0, i32 1 store i16 5, i16* %15 br label %bb4 bb3: ; preds = %bb1 %16 = getelementptr inbounds %str_slice, %str_slice* %ellipsis, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i8** %16 %17 = getelementptr inbounds %str_slice, %str_slice* %ellipsis, i32 0, i32 1 store i16 0, i16* %17 br label %bb4 bb4: ; preds = %bb3, %bb2 %18 = load i16, i16* %begin %19 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %0, i16 %1) br label %bb9 bb5: ; preds = %bb10, %bb9 store i8 1, i8* %_15 br label %bb8 bb6: ; preds = %bb10 store i8 0, i8* %_15 br label %bb8 bb7: ; preds = %bb9 %20 = load i16, i16* %end %21 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %0, i16 %1) br label %bb10 bb8: ; preds = %bb6, %bb5 %22 = load i8, i8* %_15, !range !2 %23 = trunc i8 %22 to i1 br i1 %23, label %bb11, label %bb12 bb9: ; preds = %bb4 %24 = icmp ugt i16 %18, %19 br i1 %24, label %bb5, label %bb7 bb10: ; preds = %bb7 %25 = icmp ugt i16 %20, %21 br i1 %25, label %bb5, label %bb6 bb11: ; preds = %bb8 %26 = load i16, i16* %begin %27 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %0, i16 %1) br label %bb13 bb12: ; preds = %bb8 %28 = load i16, i16* %begin %29 = load i16, i16* %end %30 = icmp ule i16 %28, %29 %31 = xor i1 %30, true br i1 %31, label %bb21, label %bb22 bb13: ; preds = %bb11 %32 = icmp ugt i16 %26, %27 br i1 %32, label %bb14, label %bb15 bb14: ; preds = %bb13 %33 = load i16, i16* %begin store i16 %33, i16* %oob_index br label %bb16 bb15: ; preds = %bb13 %34 = load i16, i16* %end store i16 %34, i16* %oob_index br label %bb16 bb16: ; preds = %bb15, %bb14 %35 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3str16slice_error_fail15__STATIC_FMTSTR17hc45edc02364ee629E, i32 0, i32 0), !nonnull !1 %36 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3str16slice_error_fail15__STATIC_FMTSTR17hc45edc02364ee629E, i32 0, i32 1) %37 = getelementptr inbounds { i16*, %str_slice*, %str_slice* }, { i16*, %str_slice*, %str_slice* }* %_37, i32 0, i32 0 store i16* %oob_index, i16** %37 %38 = getelementptr inbounds { i16*, %str_slice*, %str_slice* }, { i16*, %str_slice*, %str_slice* }* %_37, i32 0, i32 1 store %str_slice* %s_trunc, %str_slice** %38 %39 = getelementptr inbounds { i16*, %str_slice*, %str_slice* }, { i16*, %str_slice*, %str_slice* }* %_37, i32 0, i32 2 store %str_slice* %ellipsis, %str_slice** %39 %40 = getelementptr inbounds { i16*, %str_slice*, %str_slice* }, { i16*, %str_slice*, %str_slice* }* %_37, i32 0, i32 0 %41 = load i16*, i16** %40, !nonnull !1 %42 = getelementptr inbounds { i16*, %str_slice*, %str_slice* }, { i16*, %str_slice*, %str_slice* }* %_37, i32 0, i32 1 %43 = load %str_slice*, %str_slice** %42, !nonnull !1 %44 = getelementptr inbounds { i16*, %str_slice*, %str_slice* }, { i16*, %str_slice*, %str_slice* }* %_37, i32 0, i32 2 %45 = load %str_slice*, %str_slice** %44, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i16* noalias readonly dereferenceable(2) %41, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %46 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %47 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %48 = load %"fmt::Void"*, %"fmt::Void"** %46, !nonnull !1 %49 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %47, !nonnull !1 br label %bb17 bb17: ; preds = %bb16 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, %str_slice* noalias readonly dereferenceable(4) %43, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %50 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %51 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %52 = load %"fmt::Void"*, %"fmt::Void"** %50, !nonnull !1 %53 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %51, !nonnull !1 br label %bb18 bb18: ; preds = %bb17 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret2, %str_slice* noalias readonly dereferenceable(4) %45, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %54 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 0 %55 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 1 %56 = load %"fmt::Void"*, %"fmt::Void"** %54, !nonnull !1 %57 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %55, !nonnull !1 br label %bb19 bb19: ; preds = %bb18 %58 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_36, i32 0, i32 0 %59 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %58, i32 0, i32 0 store %"fmt::Void"* %48, %"fmt::Void"** %59 %60 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %58, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %49, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %60 %61 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_36, i32 0, i32 1 %62 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %61, i32 0, i32 0 store %"fmt::Void"* %52, %"fmt::Void"** %62 %63 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %61, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %53, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %63 %64 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_36, i32 0, i32 2 %65 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %64, i32 0, i32 0 store %"fmt::Void"* %56, %"fmt::Void"** %65 %66 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %64, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %57, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %66 %67 = bitcast [3 x %"fmt::ArgumentV1"]* %_36 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_31, %str_slice* noalias nonnull readonly %35, i16 %36, %"fmt::ArgumentV1"* noalias nonnull readonly %67, i16 3) br label %bb20 bb20: ; preds = %bb19 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_31, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3str16slice_error_fail10_FILE_LINE17h7ce3e95b7263c963E) unreachable bb21: ; preds = %bb12 %68 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3str16slice_error_fail15__STATIC_FMTSTR17hf858fd73f60d061fE, i32 0, i32 0), !nonnull !1 %69 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3str16slice_error_fail15__STATIC_FMTSTR17hf858fd73f60d061fE, i32 0, i32 1) %70 = getelementptr inbounds { i16*, i16*, %str_slice*, %str_slice* }, { i16*, i16*, %str_slice*, %str_slice* }* %_66, i32 0, i32 0 store i16* %begin, i16** %70 %71 = getelementptr inbounds { i16*, i16*, %str_slice*, %str_slice* }, { i16*, i16*, %str_slice*, %str_slice* }* %_66, i32 0, i32 1 store i16* %end, i16** %71 %72 = getelementptr inbounds { i16*, i16*, %str_slice*, %str_slice* }, { i16*, i16*, %str_slice*, %str_slice* }* %_66, i32 0, i32 2 store %str_slice* %s_trunc, %str_slice** %72 %73 = getelementptr inbounds { i16*, i16*, %str_slice*, %str_slice* }, { i16*, i16*, %str_slice*, %str_slice* }* %_66, i32 0, i32 3 store %str_slice* %ellipsis, %str_slice** %73 %74 = getelementptr inbounds { i16*, i16*, %str_slice*, %str_slice* }, { i16*, i16*, %str_slice*, %str_slice* }* %_66, i32 0, i32 0 %75 = load i16*, i16** %74, !nonnull !1 %76 = getelementptr inbounds { i16*, i16*, %str_slice*, %str_slice* }, { i16*, i16*, %str_slice*, %str_slice* }* %_66, i32 0, i32 1 %77 = load i16*, i16** %76, !nonnull !1 %78 = getelementptr inbounds { i16*, i16*, %str_slice*, %str_slice* }, { i16*, i16*, %str_slice*, %str_slice* }* %_66, i32 0, i32 2 %79 = load %str_slice*, %str_slice** %78, !nonnull !1 %80 = getelementptr inbounds { i16*, i16*, %str_slice*, %str_slice* }, { i16*, i16*, %str_slice*, %str_slice* }* %_66, i32 0, i32 3 %81 = load %str_slice*, %str_slice** %80, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret3, i16* noalias readonly dereferenceable(2) %75, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %82 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 0 %83 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 1 %84 = load %"fmt::Void"*, %"fmt::Void"** %82, !nonnull !1 %85 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %83, !nonnull !1 br label %bb23 bb22: ; preds = %bb12 %86 = load i16, i16* %begin %87 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h816a3ebd6447eb09E"(i8* noalias nonnull readonly %0, i16 %1, i16 %86) br label %bb28 bb23: ; preds = %bb21 call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret4, i16* noalias readonly dereferenceable(2) %77, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %88 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 0 %89 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 1 %90 = load %"fmt::Void"*, %"fmt::Void"** %88, !nonnull !1 %91 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %89, !nonnull !1 br label %bb24 bb24: ; preds = %bb23 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret5, %str_slice* noalias readonly dereferenceable(4) %79, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %92 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret5, i32 0, i32 0 %93 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret5, i32 0, i32 1 %94 = load %"fmt::Void"*, %"fmt::Void"** %92, !nonnull !1 %95 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %93, !nonnull !1 br label %bb25 bb25: ; preds = %bb24 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret6, %str_slice* noalias readonly dereferenceable(4) %81, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %96 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret6, i32 0, i32 0 %97 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret6, i32 0, i32 1 %98 = load %"fmt::Void"*, %"fmt::Void"** %96, !nonnull !1 %99 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %97, !nonnull !1 br label %bb26 bb26: ; preds = %bb25 %100 = getelementptr inbounds [4 x %"fmt::ArgumentV1"], [4 x %"fmt::ArgumentV1"]* %_65, i32 0, i32 0 %101 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %100, i32 0, i32 0 store %"fmt::Void"* %84, %"fmt::Void"** %101 %102 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %100, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %85, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %102 %103 = getelementptr inbounds [4 x %"fmt::ArgumentV1"], [4 x %"fmt::ArgumentV1"]* %_65, i32 0, i32 1 %104 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %103, i32 0, i32 0 store %"fmt::Void"* %90, %"fmt::Void"** %104 %105 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %103, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %91, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %105 %106 = getelementptr inbounds [4 x %"fmt::ArgumentV1"], [4 x %"fmt::ArgumentV1"]* %_65, i32 0, i32 2 %107 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %106, i32 0, i32 0 store %"fmt::Void"* %94, %"fmt::Void"** %107 %108 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %106, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %95, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %108 %109 = getelementptr inbounds [4 x %"fmt::ArgumentV1"], [4 x %"fmt::ArgumentV1"]* %_65, i32 0, i32 3 %110 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %109, i32 0, i32 0 store %"fmt::Void"* %98, %"fmt::Void"** %110 %111 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %109, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %99, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %111 %112 = bitcast [4 x %"fmt::ArgumentV1"]* %_65 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_60, %str_slice* noalias nonnull readonly %68, i16 %69, %"fmt::ArgumentV1"* noalias nonnull readonly %112, i16 4) br label %bb27 bb27: ; preds = %bb26 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_60, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3str16slice_error_fail10_FILE_LINE17h7b48146fd7c1875cE) unreachable bb28: ; preds = %bb22 %113 = xor i1 %87, true br i1 %113, label %bb29, label %bb30 bb29: ; preds = %bb28 %114 = load i16, i16* %begin store i16 %114, i16* %index br label %bb31 bb30: ; preds = %bb28 %115 = load i16, i16* %end store i16 %115, i16* %index br label %bb31 bb31: ; preds = %bb30, %bb29 %116 = load i16, i16* %index store i16 %116, i16* %char_start br label %bb32 bb32: ; preds = %bb36, %bb31 %117 = load i16, i16* %char_start %118 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h816a3ebd6447eb09E"(i8* noalias nonnull readonly %0, i16 %1, i16 %117) br label %bb34 bb33: ; preds = %bb34 %119 = load i16, i16* %char_start %120 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_112, i32 0, i32 0 store i16 %119, i16* %120 %121 = bitcast %"ops::RangeFrom"* %_112 to i16* %122 = load i16, i16* %121, align 2 %123 = call %str_slice @"_ZN4core3str6traits91_$LT$impl$u20$core..ops..Index$LT$core..ops..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17he53d0ed7bcb77167E"(i8* noalias nonnull readonly %0, i16 %1, i16 %122) %124 = extractvalue %str_slice %123, 0 %125 = extractvalue %str_slice %123, 1 br label %bb37 bb34: ; preds = %bb32 %126 = xor i1 %118, true br i1 %126, label %bb35, label %bb33 bb35: ; preds = %bb34 %127 = load i16, i16* %char_start %128 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %127, i16 1) %129 = extractvalue { i16, i1 } %128, 0 %130 = extractvalue { i16, i1 } %128, 1 %131 = call i1 @llvm.expect.i1(i1 %130, i1 false) br i1 %131, label %panic, label %bb36 bb36: ; preds = %bb35 store i16 %129, i16* %char_start br label %bb32 bb37: ; preds = %bb33 call void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$5chars17hb453204c10970c2bE"(%"str::Chars"* noalias nocapture sret dereferenceable(4) %_108, i8* noalias nonnull readonly %124, i16 %125) br label %bb38 bb38: ; preds = %bb37 call void @"_ZN81_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3e15f45a2c4e243fE"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_106, %"str::Chars"* dereferenceable(4) %_108) br label %bb39 bb39: ; preds = %bb38 %132 = call i32 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h1cd12ffb1f324429E"(%"option::Option"* noalias nocapture dereferenceable(8) %_106) store i32 %132, i32* %ch br label %bb40 bb40: ; preds = %bb39 %133 = load i16, i16* %char_start %134 = load i16, i16* %char_start %135 = load i32, i32* %ch, !range !11 %136 = call i16 @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8len_utf817h35300f67a1fb64b4E"(i32 %135) br label %bb41 bb41: ; preds = %bb40 %137 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %134, i16 %136) %138 = extractvalue { i16, i1 } %137, 0 %139 = extractvalue { i16, i1 } %137, 1 %140 = call i1 @llvm.expect.i1(i1 %139, i1 false) br i1 %140, label %panic7, label %bb42 bb42: ; preds = %bb41 %141 = getelementptr inbounds %"ops::Range", %"ops::Range"* %char_range, i32 0, i32 0 store i16 %133, i16* %141 %142 = getelementptr inbounds %"ops::Range", %"ops::Range"* %char_range, i32 0, i32 1 store i16 %138, i16* %142 %143 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3str16slice_error_fail15__STATIC_FMTSTR17h4222a9e955da873fE, i32 0, i32 0), !nonnull !1 %144 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3str16slice_error_fail15__STATIC_FMTSTR17h4222a9e955da873fE, i32 0, i32 1) %145 = getelementptr inbounds { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }, { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }* %_127, i32 0, i32 0 store i16* %index, i16** %145 %146 = getelementptr inbounds { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }, { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }* %_127, i32 0, i32 1 store i32* %ch, i32** %146 %147 = getelementptr inbounds { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }, { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }* %_127, i32 0, i32 2 store %"ops::Range"* %char_range, %"ops::Range"** %147 %148 = getelementptr inbounds { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }, { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }* %_127, i32 0, i32 3 store %str_slice* %s_trunc, %str_slice** %148 %149 = getelementptr inbounds { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }, { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }* %_127, i32 0, i32 4 store %str_slice* %ellipsis, %str_slice** %149 %150 = getelementptr inbounds { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }, { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }* %_127, i32 0, i32 0 %151 = load i16*, i16** %150, !nonnull !1 %152 = getelementptr inbounds { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }, { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }* %_127, i32 0, i32 1 %153 = load i32*, i32** %152, !nonnull !1 %154 = getelementptr inbounds { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }, { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }* %_127, i32 0, i32 2 %155 = load %"ops::Range"*, %"ops::Range"** %154, !nonnull !1 %156 = getelementptr inbounds { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }, { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }* %_127, i32 0, i32 3 %157 = load %str_slice*, %str_slice** %156, !nonnull !1 %158 = getelementptr inbounds { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }, { i16*, i32*, %"ops::Range"*, %str_slice*, %str_slice* }* %_127, i32 0, i32 4 %159 = load %str_slice*, %str_slice** %158, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret8, i16* noalias readonly dereferenceable(2) %151, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE") %160 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret8, i32 0, i32 0 %161 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret8, i32 0, i32 1 %162 = load %"fmt::Void"*, %"fmt::Void"** %160, !nonnull !1 %163 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %161, !nonnull !1 br label %bb43 bb43: ; preds = %bb42 call void @_ZN4core3fmt10ArgumentV13new17h7fa8ac83009275f0E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret9, i32* noalias readonly dereferenceable(4) %153, i8 (i32*, %"fmt::Formatter"*)* @"_ZN41_$LT$char$u20$as$u20$core..fmt..Debug$GT$3fmt17h231506979b24d292E") %164 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret9, i32 0, i32 0 %165 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret9, i32 0, i32 1 %166 = load %"fmt::Void"*, %"fmt::Void"** %164, !nonnull !1 %167 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %165, !nonnull !1 br label %bb44 bb44: ; preds = %bb43 call void @_ZN4core3fmt10ArgumentV13new17h6dd73e0773053cf4E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret10, %"ops::Range"* noalias readonly dereferenceable(4) %155, i8 (%"ops::Range"*, %"fmt::Formatter"*)* @"_ZN64_$LT$core..ops..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hbd8c60b3c9ebb1b4E") %168 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret10, i32 0, i32 0 %169 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret10, i32 0, i32 1 %170 = load %"fmt::Void"*, %"fmt::Void"** %168, !nonnull !1 %171 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %169, !nonnull !1 br label %bb45 bb45: ; preds = %bb44 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret11, %str_slice* noalias readonly dereferenceable(4) %157, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %172 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret11, i32 0, i32 0 %173 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret11, i32 0, i32 1 %174 = load %"fmt::Void"*, %"fmt::Void"** %172, !nonnull !1 %175 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %173, !nonnull !1 br label %bb46 bb46: ; preds = %bb45 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret12, %str_slice* noalias readonly dereferenceable(4) %159, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %176 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret12, i32 0, i32 0 %177 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret12, i32 0, i32 1 %178 = load %"fmt::Void"*, %"fmt::Void"** %176, !nonnull !1 %179 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %177, !nonnull !1 br label %bb47 bb47: ; preds = %bb46 %180 = getelementptr inbounds [5 x %"fmt::ArgumentV1"], [5 x %"fmt::ArgumentV1"]* %_126, i32 0, i32 0 %181 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %180, i32 0, i32 0 store %"fmt::Void"* %162, %"fmt::Void"** %181 %182 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %180, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %163, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %182 %183 = getelementptr inbounds [5 x %"fmt::ArgumentV1"], [5 x %"fmt::ArgumentV1"]* %_126, i32 0, i32 1 %184 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %183, i32 0, i32 0 store %"fmt::Void"* %166, %"fmt::Void"** %184 %185 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %183, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %167, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %185 %186 = getelementptr inbounds [5 x %"fmt::ArgumentV1"], [5 x %"fmt::ArgumentV1"]* %_126, i32 0, i32 2 %187 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %186, i32 0, i32 0 store %"fmt::Void"* %170, %"fmt::Void"** %187 %188 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %186, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %171, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %188 %189 = getelementptr inbounds [5 x %"fmt::ArgumentV1"], [5 x %"fmt::ArgumentV1"]* %_126, i32 0, i32 3 %190 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %189, i32 0, i32 0 store %"fmt::Void"* %174, %"fmt::Void"** %190 %191 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %189, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %175, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %191 %192 = getelementptr inbounds [5 x %"fmt::ArgumentV1"], [5 x %"fmt::ArgumentV1"]* %_126, i32 0, i32 4 %193 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %192, i32 0, i32 0 store %"fmt::Void"* %178, %"fmt::Void"** %193 %194 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %192, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %179, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %194 %195 = bitcast [5 x %"fmt::ArgumentV1"]* %_126 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_121, %str_slice* noalias nonnull readonly %143, i16 %144, %"fmt::ArgumentV1"* noalias nonnull readonly %195, i16 5) br label %bb48 bb48: ; preds = %bb47 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_121, { %str_slice, i32 }* noalias readonly dereferenceable(8) @_ZN4core3str16slice_error_fail10_FILE_LINE17h719f79f88811a315E) unreachable panic: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7E) unreachable panic7: ; preds = %bb41 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7F) unreachable } ; Function Attrs: inlinehint uwtable define internal void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$5chars17hb453204c10970c2bE"(%"str::Chars"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_3 = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %3 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %1, i16 %2) %4 = extractvalue { i8*, i16 } %3, 0 %5 = extractvalue { i8*, i16 } %3, 1 br label %bb1 bb1: ; preds = %start call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_3, i8* noalias nonnull readonly %4, i16 %5) br label %bb2 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"str::Chars", %"str::Chars"* %0, i32 0, i32 0 %7 = bitcast %"slice::Iter"* %_3 to i8* %8 = bitcast %"slice::Iter"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$12char_indices17h9ca5ebface074dd3E"(%"str::CharIndices"* noalias nocapture sret dereferenceable(6), i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_3 = alloca %"str::Chars" br label %start start: ; preds = %entry-block call void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$5chars17hb453204c10970c2bE"(%"str::Chars"* noalias nocapture sret dereferenceable(4) %_3, i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %0, i32 0, i32 0 store i16 0, i16* %3 %4 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %0, i32 0, i32 1 %5 = bitcast %"str::Chars"* %_3 to i8* %6 = bitcast %"str::Chars"* %4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) ret void } ; Function Attrs: inlinehint uwtable define internal %str_slice @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$15slice_unchecked17h5f232d72dc3f0d03E"(i8* noalias nonnull readonly, i16, i16, i16) unnamed_addr #0 { entry-block: %arg = alloca %"ops::Range" %_8 = alloca %"ops::Range" br label %start start: ; preds = %entry-block %4 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_8, i32 0, i32 0 store i16 %2, i16* %4 %5 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_8, i32 0, i32 1 store i16 %3, i16* %5 %6 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_8, i32 0, i32 0 %7 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_8, i32 0, i32 1 %8 = load i16, i16* %6 %9 = load i16, i16* %7 %10 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %8, i16* %10 %11 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %9, i16* %11 %12 = call %str_slice @"_ZN4core3str6traits94_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..Range$LT$usize$GT$$GT$13get_unchecked17h4d8eb64ff3501e3aE"(%"ops::Range"* noalias nocapture dereferenceable(4) %arg, i8* noalias nonnull readonly %0, i16 %1) %13 = extractvalue %str_slice %12, 0 %14 = extractvalue %str_slice %12, 1 br label %bb1 bb1: ; preds = %start %15 = insertvalue %str_slice undef, i8* %13, 0 %16 = insertvalue %str_slice %15, i16 %14, 1 ret %str_slice %16 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h816a3ebd6447eb09E"(i8* noalias nonnull readonly, i16, i16) unnamed_addr #0 { entry-block: %_13 = alloca i8* %_6 = alloca i8 %_5 = alloca {} %_0 = alloca i8 br label %start start: ; preds = %entry-block %3 = icmp eq i16 %2, 0 br i1 %3, label %bb1, label %bb3 bb1: ; preds = %bb5, %start store i8 1, i8* %_6 br label %bb4 bb2: ; preds = %bb5 store i8 0, i8* %_6 br label %bb4 bb3: ; preds = %start %4 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %0, i16 %1) br label %bb5 bb4: ; preds = %bb2, %bb1 %5 = load i8, i8* %_6, !range !2 %6 = trunc i8 %5 to i1 br i1 %6, label %bb6, label %bb7 bb5: ; preds = %bb3 %7 = icmp eq i16 %2, %4 br i1 %7, label %bb1, label %bb2 bb6: ; preds = %bb4 store i8 1, i8* %_0 br label %bb8 bb7: ; preds = %bb4 %8 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %0, i16 %1) %9 = extractvalue { i8*, i16 } %8, 0 %10 = extractvalue { i8*, i16 } %8, 1 br label %bb9 bb8: ; preds = %bb13, %bb6 %11 = load i8, i8* %_0, !range !2 %12 = trunc i8 %11 to i1 ret i1 %12 bb9: ; preds = %bb7 %13 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3get17hebddaae803fd58a9E"(i8* noalias nonnull readonly %9, i16 %10, i16 %2) store i8* %13, i8** %_13 br label %bb10 bb10: ; preds = %bb9 %14 = load i8*, i8** %_13 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb12 [ i16 0, label %bb11 ] bb11: ; preds = %bb10 store i8 0, i8* %_0 br label %bb13 bb12: ; preds = %bb10 %17 = load i8*, i8** %_13, !nonnull !1 %18 = load i8, i8* %17 %19 = icmp sge i8 %18, -64 %20 = zext i1 %19 to i8 store i8 %20, i8* %_0 br label %bb13 bb13: ; preds = %bb11, %bb12 br label %bb8 } ; Function Attrs: inlinehint uwtable define internal { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %transmute_temp = alloca { i8*, i16 } br label %start start: ; preds = %entry-block %2 = bitcast { i8*, i16 }* %transmute_temp to %str_slice* %3 = getelementptr inbounds %str_slice, %str_slice* %2, i32 0, i32 0 store i8* %0, i8** %3, align 2 %4 = getelementptr inbounds %str_slice, %str_slice* %2, i32 0, i32 1 store i16 %1, i16* %4, align 2 %5 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %transmute_temp, i32 0, i32 0 %6 = load i8*, i8** %5, !nonnull !1 %7 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %transmute_temp, i32 0, i32 1 %8 = load i16, i16* %7 br label %bb1 bb1: ; preds = %start %9 = insertvalue { i8*, i16 } undef, i8* %6, 0 %10 = insertvalue { i8*, i16 } %9, i16 %8, 1 ret { i8*, i16 } %10 } ; Function Attrs: uwtable define internal void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$4find17h74ecb12df08bb790E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_10 = alloca %closure.25 %_7 = alloca %"str::pattern::CharSearcher" %_5 = alloca %"option::Option<(usize, usize)>" br label %start start: ; preds = %entry-block invoke void @"_ZN66_$LT$char$u20$as$u20$core..str..pattern..Pattern$LT$$u27$a$GT$$GT$13into_searcher17hc3c7d8d4e7ef0cc5E"(%"str::pattern::CharSearcher"* noalias nocapture sret dereferenceable(16) %_7, i32 %3, i8* noalias nonnull readonly %1, i16 %2) to label %bb2 unwind label %cleanup bb1: ; preds = %bb3, %cleanup %4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %4 bb2: ; preds = %start invoke void @"_ZN109_$LT$core..str..pattern..CharSearcher$LT$$u27$a$GT$$u20$as$u20$core..str..pattern..Searcher$LT$$u27$a$GT$$GT$10next_match17h1504213c4b3b6ac4E"(%"option::Option<(usize, usize)>"* noalias nocapture sret dereferenceable(6) %_5, %"str::pattern::CharSearcher"* dereferenceable(16) %_7) to label %bb4 unwind label %cleanup1 bb3: ; preds = %cleanup1 call void @_ZN4core3ptr13drop_in_place17he2ca2dc0833adcebE(%"str::pattern::CharSearcher"* %_7) br label %bb1 bb4: ; preds = %bb2 invoke void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17h6df67f00490b1c4aE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, %"option::Option<(usize, usize)>"* noalias nocapture dereferenceable(6) %_5) to label %bb5 unwind label %cleanup1 bb5: ; preds = %bb4 invoke void @_ZN4core3ptr13drop_in_place17he2ca2dc0833adcebE(%"str::pattern::CharSearcher"* %_7) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 ret void cleanup: ; preds = %bb5, %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb1 cleanup1: ; preds = %bb4, %bb2 %6 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %6, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: uwtable define internal i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17h288c5f13412ab3a6E"({ i16, i16 }* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 0 %2 = load i16, i16* %1 ret i16 %2 } ; Function Attrs: uwtable define void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$12split_at_mut17h6d2021dc7e5286d1E"({ %str_slice, %str_slice }* noalias nocapture sret dereferenceable(8), i8* nonnull, i16, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %4 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h816a3ebd6447eb09E"(i8* noalias nonnull readonly %1, i16 %2, i16 %3) br label %bb1 bb1: ; preds = %start br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %1, i16 %2) br label %bb4 bb3: ; preds = %bb1 call void @_ZN4core3str16slice_error_fail17h7b0fc4ca36e5d6d6E(i8* noalias nonnull readonly %1, i16 %2, i16 0, i16 %3) unreachable bb4: ; preds = %bb2 %6 = call i8* @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$6as_ptr17h732d71fbf333b19bE"(i8* noalias nonnull readonly %1, i16 %2) br label %bb5 bb5: ; preds = %bb4 %7 = call %str_slice @_ZN4core3str18from_raw_parts_mut17h297d115a5427e0ebE(i8* %6, i16 %3) %8 = extractvalue %str_slice %7, 0 %9 = extractvalue %str_slice %7, 1 br label %bb6 bb6: ; preds = %bb5 %10 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %6, i16 %3) br label %bb7 bb7: ; preds = %bb6 %11 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %5, i16 %3) %12 = extractvalue { i16, i1 } %11, 0 %13 = extractvalue { i16, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic, label %bb8 bb8: ; preds = %bb7 %15 = call %str_slice @_ZN4core3str18from_raw_parts_mut17h297d115a5427e0ebE(i8* %10, i16 %12) %16 = extractvalue %str_slice %15, 0 %17 = extractvalue %str_slice %15, 1 br label %bb9 bb9: ; preds = %bb8 %18 = getelementptr inbounds { %str_slice, %str_slice }, { %str_slice, %str_slice }* %0, i32 0, i32 0 %19 = getelementptr inbounds %str_slice, %str_slice* %18, i32 0, i32 0 store i8* %8, i8** %19 %20 = getelementptr inbounds %str_slice, %str_slice* %18, i32 0, i32 1 store i16 %9, i16* %20 %21 = getelementptr inbounds { %str_slice, %str_slice }, { %str_slice, %str_slice }* %0, i32 0, i32 1 %22 = getelementptr inbounds %str_slice, %str_slice* %21, i32 0, i32 0 store i8* %16, i8** %22 %23 = getelementptr inbounds %str_slice, %str_slice* %21, i32 0, i32 1 store i16 %17, i16* %23 ret void panic: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7G) unreachable } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$6as_ptr17h732d71fbf333b19bE"(i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i8* %0 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = call { i8*, i16 } @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8as_bytes17ha037a8c4a22a4282E"(i8* noalias nonnull readonly %0, i16 %1) %3 = extractvalue { i8*, i16 } %2, 0 %4 = extractvalue { i8*, i16 } %2, 1 br label %bb1 bb1: ; preds = %start %5 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %3, i16 %4) br label %bb2 bb2: ; preds = %bb1 ret i16 %5 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %0, i16 %1) br label %bb1 bb1: ; preds = %start %3 = icmp eq i16 %2, 0 ret i1 %3 } ; Function Attrs: uwtable define %str_slice @"_ZN4core3str71_$LT$impl$u20$core..default..Default$u20$for$u20$$RF$$u27$a$u20$str$GT$7default17hcf1802425fdc3577E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 } } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt5float23float_to_decimal_common17h83fda1f1bf728726E(%"fmt::Formatter"* dereferenceable(32), double* noalias readonly dereferenceable(8), i1 zeroext) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_29 = alloca i8 %_20 = alloca i8 %formatted = alloca %"num::flt2dec::Formatted" %_15 = alloca %"num::flt2dec::Part" %parts = alloca [16 x %"num::flt2dec::Part"] %buf = alloca [1024 x i8] %_10 = alloca { i8, i8 } %sign = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = call zeroext i1 @_ZN4core3fmt9Formatter9sign_plus17hd78549731cea10cdE(%"fmt::Formatter"* noalias readonly dereferenceable(32) %0) br label %bb1 bb1: ; preds = %start %4 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_10, i32 0, i32 0 %5 = zext i1 %3 to i8 store i8 %5, i8* %4 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_10, i32 0, i32 1 %7 = zext i1 %2 to i8 store i8 %7, i8* %6 %8 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_10, i32 0, i32 0 %9 = load i8, i8* %8, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb6, label %bb7 bb2: ; preds = %bb7 store i8 0, i8* %sign br label %bb8 bb3: ; preds = %bb7 store i8 1, i8* %sign br label %bb8 bb4: ; preds = %bb6 store i8 2, i8* %sign br label %bb8 bb5: ; preds = %bb6 store i8 3, i8* %sign br label %bb8 bb6: ; preds = %bb1 %11 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_10, i32 0, i32 1 %12 = load i8, i8* %11, !range !2 %13 = trunc i8 %12 to i1 br i1 %13, label %bb5, label %bb4 bb7: ; preds = %bb1 %14 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_10, i32 0, i32 1 %15 = load i8, i8* %14, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb3, label %bb2 bb8: ; preds = %bb2, %bb3, %bb4, %bb5 %17 = getelementptr inbounds [1024 x i8], [1024 x i8]* %buf, i32 0, i32 0 %18 = getelementptr inbounds i8, i8* %17, i16 1024 br label %slice_loop_header bb9: ; preds = %slice_loop_next2 %19 = load double, double* %1 %20 = load i8, i8* %sign store i8 %20, i8* %_29 %21 = bitcast [1024 x i8]* %buf to i8* %22 = bitcast [16 x %"num::flt2dec::Part"]* %parts to %"num::flt2dec::Part"* %23 = load i8, i8* %_29 call void @_ZN4core3num7flt2dec15to_shortest_str17h9e1b2fba31acf44bE(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8) %formatted, double %19, i8 %23, i16 0, i1 zeroext false, i8* nonnull %21, i16 1024, %"num::flt2dec::Part"* nonnull %22, i16 16) br label %bb13 bb10: ; preds = %slice_loop_next2 %24 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 4 %25 = bitcast %"option::Option"* %24 to { i16, i16 }* %26 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %25, i32 0, i32 1 %27 = load i16, i16* %26 %28 = load double, double* %1 %29 = load i8, i8* %sign store i8 %29, i8* %_20 %30 = bitcast [1024 x i8]* %buf to i8* %31 = bitcast [16 x %"num::flt2dec::Part"]* %parts to %"num::flt2dec::Part"* %32 = load i8, i8* %_20 call void @_ZN4core3num7flt2dec18to_exact_fixed_str17h59bd9bfead84c84bE(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8) %formatted, double %28, i8 %32, i16 %27, i1 zeroext false, i8* nonnull %30, i16 1024, %"num::flt2dec::Part"* nonnull %31, i16 16) br label %bb12 bb11: ; preds = %bb12, %bb13 %33 = call i8 @_ZN4core3fmt9Formatter19pad_formatted_parts17h7146b3b478abe0e2E(%"fmt::Formatter"* dereferenceable(32) %0, %"num::flt2dec::Formatted"* noalias readonly dereferenceable(8) %formatted) store i8 %33, i8* %abi_cast %34 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %34, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb14 bb12: ; preds = %bb10 br label %bb11 bb13: ; preds = %bb9 br label %bb11 bb14: ; preds = %bb11 %35 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %36 = load i8, i8* %35, align 1 ret i8 %36 slice_loop_body: ; preds = %slice_loop_header %37 = getelementptr inbounds i8, i8* %43, i16 1 store i8 0, i8* %43 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %38 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %_15, i32 0, i32 0 store i16 0, i16* %38 %39 = bitcast %"num::flt2dec::Part"* %_15 to { i16, i16 }* %40 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %39, i32 0, i32 1 store i16 0, i16* %40 %41 = getelementptr inbounds [16 x %"num::flt2dec::Part"], [16 x %"num::flt2dec::Part"]* %parts, i32 0, i32 0 %42 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %41, i16 16 br label %slice_loop_header3 slice_loop_header: ; preds = %slice_loop_body, %bb8 %43 = phi i8* [ %17, %bb8 ], [ %37, %slice_loop_body ] %44 = icmp ne i8* %43, %18 br i1 %44, label %slice_loop_body, label %slice_loop_next slice_loop_body1: ; preds = %slice_loop_header3 %45 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %51, i16 1 %46 = bitcast %"num::flt2dec::Part"* %_15 to i8* %47 = bitcast %"num::flt2dec::Part"* %51 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %47, i8* %46, i16 6, i32 2, i1 false) br label %slice_loop_header3 slice_loop_next2: ; preds = %slice_loop_header3 %48 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 4 %49 = getelementptr inbounds %"option::Option", %"option::Option"* %48, i32 0, i32 0 %50 = load i16, i16* %49, !range !3 switch i16 %50, label %bb9 [ i16 1, label %bb10 ] slice_loop_header3: ; preds = %slice_loop_body1, %slice_loop_next %51 = phi %"num::flt2dec::Part"* [ %41, %slice_loop_next ], [ %45, %slice_loop_body1 ] %52 = icmp ne %"num::flt2dec::Part"* %51, %42 br i1 %52, label %slice_loop_body1, label %slice_loop_next2 } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt5float23float_to_decimal_common17hd539a824d57bfb87E(%"fmt::Formatter"* dereferenceable(32), float* noalias readonly dereferenceable(4), i1 zeroext) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_29 = alloca i8 %_20 = alloca i8 %formatted = alloca %"num::flt2dec::Formatted" %_15 = alloca %"num::flt2dec::Part" %parts = alloca [16 x %"num::flt2dec::Part"] %buf = alloca [1024 x i8] %_10 = alloca { i8, i8 } %sign = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = call zeroext i1 @_ZN4core3fmt9Formatter9sign_plus17hd78549731cea10cdE(%"fmt::Formatter"* noalias readonly dereferenceable(32) %0) br label %bb1 bb1: ; preds = %start %4 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_10, i32 0, i32 0 %5 = zext i1 %3 to i8 store i8 %5, i8* %4 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_10, i32 0, i32 1 %7 = zext i1 %2 to i8 store i8 %7, i8* %6 %8 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_10, i32 0, i32 0 %9 = load i8, i8* %8, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb6, label %bb7 bb2: ; preds = %bb7 store i8 0, i8* %sign br label %bb8 bb3: ; preds = %bb7 store i8 1, i8* %sign br label %bb8 bb4: ; preds = %bb6 store i8 2, i8* %sign br label %bb8 bb5: ; preds = %bb6 store i8 3, i8* %sign br label %bb8 bb6: ; preds = %bb1 %11 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_10, i32 0, i32 1 %12 = load i8, i8* %11, !range !2 %13 = trunc i8 %12 to i1 br i1 %13, label %bb5, label %bb4 bb7: ; preds = %bb1 %14 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_10, i32 0, i32 1 %15 = load i8, i8* %14, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb3, label %bb2 bb8: ; preds = %bb2, %bb3, %bb4, %bb5 %17 = getelementptr inbounds [1024 x i8], [1024 x i8]* %buf, i32 0, i32 0 %18 = getelementptr inbounds i8, i8* %17, i16 1024 br label %slice_loop_header bb9: ; preds = %slice_loop_next2 %19 = load float, float* %1 %20 = load i8, i8* %sign store i8 %20, i8* %_29 %21 = bitcast [1024 x i8]* %buf to i8* %22 = bitcast [16 x %"num::flt2dec::Part"]* %parts to %"num::flt2dec::Part"* %23 = load i8, i8* %_29 call void @_ZN4core3num7flt2dec15to_shortest_str17h7a9e688f401034c7E(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8) %formatted, float %19, i8 %23, i16 0, i1 zeroext false, i8* nonnull %21, i16 1024, %"num::flt2dec::Part"* nonnull %22, i16 16) br label %bb13 bb10: ; preds = %slice_loop_next2 %24 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 4 %25 = bitcast %"option::Option"* %24 to { i16, i16 }* %26 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %25, i32 0, i32 1 %27 = load i16, i16* %26 %28 = load float, float* %1 %29 = load i8, i8* %sign store i8 %29, i8* %_20 %30 = bitcast [1024 x i8]* %buf to i8* %31 = bitcast [16 x %"num::flt2dec::Part"]* %parts to %"num::flt2dec::Part"* %32 = load i8, i8* %_20 call void @_ZN4core3num7flt2dec18to_exact_fixed_str17h3891f02850b8065aE(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8) %formatted, float %28, i8 %32, i16 %27, i1 zeroext false, i8* nonnull %30, i16 1024, %"num::flt2dec::Part"* nonnull %31, i16 16) br label %bb12 bb11: ; preds = %bb12, %bb13 %33 = call i8 @_ZN4core3fmt9Formatter19pad_formatted_parts17h7146b3b478abe0e2E(%"fmt::Formatter"* dereferenceable(32) %0, %"num::flt2dec::Formatted"* noalias readonly dereferenceable(8) %formatted) store i8 %33, i8* %abi_cast %34 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %34, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb14 bb12: ; preds = %bb10 br label %bb11 bb13: ; preds = %bb9 br label %bb11 bb14: ; preds = %bb11 %35 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %36 = load i8, i8* %35, align 1 ret i8 %36 slice_loop_body: ; preds = %slice_loop_header %37 = getelementptr inbounds i8, i8* %43, i16 1 store i8 0, i8* %43 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %38 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %_15, i32 0, i32 0 store i16 0, i16* %38 %39 = bitcast %"num::flt2dec::Part"* %_15 to { i16, i16 }* %40 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %39, i32 0, i32 1 store i16 0, i16* %40 %41 = getelementptr inbounds [16 x %"num::flt2dec::Part"], [16 x %"num::flt2dec::Part"]* %parts, i32 0, i32 0 %42 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %41, i16 16 br label %slice_loop_header3 slice_loop_header: ; preds = %slice_loop_body, %bb8 %43 = phi i8* [ %17, %bb8 ], [ %37, %slice_loop_body ] %44 = icmp ne i8* %43, %18 br i1 %44, label %slice_loop_body, label %slice_loop_next slice_loop_body1: ; preds = %slice_loop_header3 %45 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %51, i16 1 %46 = bitcast %"num::flt2dec::Part"* %_15 to i8* %47 = bitcast %"num::flt2dec::Part"* %51 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %47, i8* %46, i16 6, i32 2, i1 false) br label %slice_loop_header3 slice_loop_next2: ; preds = %slice_loop_header3 %48 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 4 %49 = getelementptr inbounds %"option::Option", %"option::Option"* %48, i32 0, i32 0 %50 = load i16, i16* %49, !range !3 switch i16 %50, label %bb9 [ i16 1, label %bb10 ] slice_loop_header3: ; preds = %slice_loop_body1, %slice_loop_next %51 = phi %"num::flt2dec::Part"* [ %41, %slice_loop_next ], [ %45, %slice_loop_body1 ] %52 = icmp ne %"num::flt2dec::Part"* %51, %42 br i1 %52, label %slice_loop_body1, label %slice_loop_next2 } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt5float27float_to_exponential_common17h233797d69151cdb8E(%"fmt::Formatter"* dereferenceable(32), double* noalias readonly dereferenceable(8), i1 zeroext) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %arg = alloca { i16, i16 } %_30 = alloca { i16, i16 } %_29 = alloca i8 %_17 = alloca i8 %formatted = alloca %"num::flt2dec::Formatted" %_12 = alloca %"num::flt2dec::Part" %parts = alloca [16 x %"num::flt2dec::Part"] %buf = alloca [1024 x i8] %sign = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = call zeroext i1 @_ZN4core3fmt9Formatter9sign_plus17hd78549731cea10cdE(%"fmt::Formatter"* noalias readonly dereferenceable(32) %0) br label %bb1 bb1: ; preds = %start br i1 %3, label %bb3, label %bb2 bb2: ; preds = %bb1 store i8 0, i8* %sign br label %bb4 bb3: ; preds = %bb1 store i8 2, i8* %sign br label %bb4 bb4: ; preds = %bb2, %bb3 %4 = getelementptr inbounds [1024 x i8], [1024 x i8]* %buf, i32 0, i32 0 %5 = getelementptr inbounds i8, i8* %4, i16 1024 br label %slice_loop_header bb5: ; preds = %slice_loop_next2 %6 = load double, double* %1 %7 = load i8, i8* %sign store i8 %7, i8* %_29 %8 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_30, i32 0, i32 0 store i16 0, i16* %8 %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_30, i32 0, i32 1 store i16 0, i16* %9 %10 = bitcast [1024 x i8]* %buf to i8* %11 = bitcast [16 x %"num::flt2dec::Part"]* %parts to %"num::flt2dec::Part"* %12 = load i8, i8* %_29 %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_30, i32 0, i32 0 %14 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_30, i32 0, i32 1 %15 = load i16, i16* %13 %16 = load i16, i16* %14 %17 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %arg, i32 0, i32 0 store i16 %15, i16* %17 %18 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %arg, i32 0, i32 1 store i16 %16, i16* %18 call void @_ZN4core3num7flt2dec19to_shortest_exp_str17he8ff02dfc4cb6ccbE(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8) %formatted, double %6, i8 %12, { i16, i16 }* noalias nocapture dereferenceable(4) %arg, i1 zeroext %2, i8* nonnull %10, i16 1024, %"num::flt2dec::Part"* nonnull %11, i16 16) br label %bb10 bb6: ; preds = %slice_loop_next2 %19 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 4 %20 = bitcast %"option::Option"* %19 to { i16, i16 }* %21 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %20, i32 0, i32 1 %22 = load i16, i16* %21 %23 = load double, double* %1 %24 = load i8, i8* %sign store i8 %24, i8* %_17 %25 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %22, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb8 bb7: ; preds = %bb9, %bb10 %29 = call i8 @_ZN4core3fmt9Formatter19pad_formatted_parts17h7146b3b478abe0e2E(%"fmt::Formatter"* dereferenceable(32) %0, %"num::flt2dec::Formatted"* noalias readonly dereferenceable(8) %formatted) store i8 %29, i8* %abi_cast %30 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb11 bb8: ; preds = %bb6 %31 = bitcast [1024 x i8]* %buf to i8* %32 = bitcast [16 x %"num::flt2dec::Part"]* %parts to %"num::flt2dec::Part"* %33 = load i8, i8* %_17 call void @_ZN4core3num7flt2dec16to_exact_exp_str17hf611fb8935e3876aE(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8) %formatted, double %23, i8 %33, i16 %26, i1 zeroext %2, i8* nonnull %31, i16 1024, %"num::flt2dec::Part"* nonnull %32, i16 16) br label %bb9 bb9: ; preds = %bb8 br label %bb7 bb10: ; preds = %bb5 br label %bb7 bb11: ; preds = %bb7 %34 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %35 = load i8, i8* %34, align 1 ret i8 %35 slice_loop_body: ; preds = %slice_loop_header %36 = getelementptr inbounds i8, i8* %42, i16 1 store i8 0, i8* %42 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %37 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %_12, i32 0, i32 0 store i16 0, i16* %37 %38 = bitcast %"num::flt2dec::Part"* %_12 to { i16, i16 }* %39 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %38, i32 0, i32 1 store i16 0, i16* %39 %40 = getelementptr inbounds [16 x %"num::flt2dec::Part"], [16 x %"num::flt2dec::Part"]* %parts, i32 0, i32 0 %41 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %40, i16 16 br label %slice_loop_header3 slice_loop_header: ; preds = %slice_loop_body, %bb4 %42 = phi i8* [ %4, %bb4 ], [ %36, %slice_loop_body ] %43 = icmp ne i8* %42, %5 br i1 %43, label %slice_loop_body, label %slice_loop_next slice_loop_body1: ; preds = %slice_loop_header3 %44 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %50, i16 1 %45 = bitcast %"num::flt2dec::Part"* %_12 to i8* %46 = bitcast %"num::flt2dec::Part"* %50 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %45, i16 6, i32 2, i1 false) br label %slice_loop_header3 slice_loop_next2: ; preds = %slice_loop_header3 %47 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 4 %48 = getelementptr inbounds %"option::Option", %"option::Option"* %47, i32 0, i32 0 %49 = load i16, i16* %48, !range !3 switch i16 %49, label %bb5 [ i16 1, label %bb6 ] slice_loop_header3: ; preds = %slice_loop_body1, %slice_loop_next %50 = phi %"num::flt2dec::Part"* [ %40, %slice_loop_next ], [ %44, %slice_loop_body1 ] %51 = icmp ne %"num::flt2dec::Part"* %50, %41 br i1 %51, label %slice_loop_body1, label %slice_loop_next2 panic: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7I) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt5float27float_to_exponential_common17h9aa69cf3212d1f30E(%"fmt::Formatter"* dereferenceable(32), float* noalias readonly dereferenceable(4), i1 zeroext) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %arg = alloca { i16, i16 } %_30 = alloca { i16, i16 } %_29 = alloca i8 %_17 = alloca i8 %formatted = alloca %"num::flt2dec::Formatted" %_12 = alloca %"num::flt2dec::Part" %parts = alloca [16 x %"num::flt2dec::Part"] %buf = alloca [1024 x i8] %sign = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = call zeroext i1 @_ZN4core3fmt9Formatter9sign_plus17hd78549731cea10cdE(%"fmt::Formatter"* noalias readonly dereferenceable(32) %0) br label %bb1 bb1: ; preds = %start br i1 %3, label %bb3, label %bb2 bb2: ; preds = %bb1 store i8 0, i8* %sign br label %bb4 bb3: ; preds = %bb1 store i8 2, i8* %sign br label %bb4 bb4: ; preds = %bb2, %bb3 %4 = getelementptr inbounds [1024 x i8], [1024 x i8]* %buf, i32 0, i32 0 %5 = getelementptr inbounds i8, i8* %4, i16 1024 br label %slice_loop_header bb5: ; preds = %slice_loop_next2 %6 = load float, float* %1 %7 = load i8, i8* %sign store i8 %7, i8* %_29 %8 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_30, i32 0, i32 0 store i16 0, i16* %8 %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_30, i32 0, i32 1 store i16 0, i16* %9 %10 = bitcast [1024 x i8]* %buf to i8* %11 = bitcast [16 x %"num::flt2dec::Part"]* %parts to %"num::flt2dec::Part"* %12 = load i8, i8* %_29 %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_30, i32 0, i32 0 %14 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_30, i32 0, i32 1 %15 = load i16, i16* %13 %16 = load i16, i16* %14 %17 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %arg, i32 0, i32 0 store i16 %15, i16* %17 %18 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %arg, i32 0, i32 1 store i16 %16, i16* %18 call void @_ZN4core3num7flt2dec19to_shortest_exp_str17h27bf09279dcd44aaE(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8) %formatted, float %6, i8 %12, { i16, i16 }* noalias nocapture dereferenceable(4) %arg, i1 zeroext %2, i8* nonnull %10, i16 1024, %"num::flt2dec::Part"* nonnull %11, i16 16) br label %bb10 bb6: ; preds = %slice_loop_next2 %19 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 4 %20 = bitcast %"option::Option"* %19 to { i16, i16 }* %21 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %20, i32 0, i32 1 %22 = load i16, i16* %21 %23 = load float, float* %1 %24 = load i8, i8* %sign store i8 %24, i8* %_17 %25 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %22, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb8 bb7: ; preds = %bb9, %bb10 %29 = call i8 @_ZN4core3fmt9Formatter19pad_formatted_parts17h7146b3b478abe0e2E(%"fmt::Formatter"* dereferenceable(32) %0, %"num::flt2dec::Formatted"* noalias readonly dereferenceable(8) %formatted) store i8 %29, i8* %abi_cast %30 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb11 bb8: ; preds = %bb6 %31 = bitcast [1024 x i8]* %buf to i8* %32 = bitcast [16 x %"num::flt2dec::Part"]* %parts to %"num::flt2dec::Part"* %33 = load i8, i8* %_17 call void @_ZN4core3num7flt2dec16to_exact_exp_str17h76804da677405710E(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8) %formatted, float %23, i8 %33, i16 %26, i1 zeroext %2, i8* nonnull %31, i16 1024, %"num::flt2dec::Part"* nonnull %32, i16 16) br label %bb9 bb9: ; preds = %bb8 br label %bb7 bb10: ; preds = %bb5 br label %bb7 bb11: ; preds = %bb7 %34 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %35 = load i8, i8* %34, align 1 ret i8 %35 slice_loop_body: ; preds = %slice_loop_header %36 = getelementptr inbounds i8, i8* %42, i16 1 store i8 0, i8* %42 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %37 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %_12, i32 0, i32 0 store i16 0, i16* %37 %38 = bitcast %"num::flt2dec::Part"* %_12 to { i16, i16 }* %39 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %38, i32 0, i32 1 store i16 0, i16* %39 %40 = getelementptr inbounds [16 x %"num::flt2dec::Part"], [16 x %"num::flt2dec::Part"]* %parts, i32 0, i32 0 %41 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %40, i16 16 br label %slice_loop_header3 slice_loop_header: ; preds = %slice_loop_body, %bb4 %42 = phi i8* [ %4, %bb4 ], [ %36, %slice_loop_body ] %43 = icmp ne i8* %42, %5 br i1 %43, label %slice_loop_body, label %slice_loop_next slice_loop_body1: ; preds = %slice_loop_header3 %44 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %50, i16 1 %45 = bitcast %"num::flt2dec::Part"* %_12 to i8* %46 = bitcast %"num::flt2dec::Part"* %50 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %45, i16 6, i32 2, i1 false) br label %slice_loop_header3 slice_loop_next2: ; preds = %slice_loop_header3 %47 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 4 %48 = getelementptr inbounds %"option::Option", %"option::Option"* %47, i32 0, i32 0 %49 = load i16, i16* %48, !range !3 switch i16 %49, label %bb5 [ i16 1, label %bb6 ] slice_loop_header3: ; preds = %slice_loop_body1, %slice_loop_next %50 = phi %"num::flt2dec::Part"* [ %40, %slice_loop_next ], [ %44, %slice_loop_body1 ] %51 = icmp ne %"num::flt2dec::Part"* %50, %41 br i1 %51, label %slice_loop_body1, label %slice_loop_next2 panic: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7I) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h020ea1d0a95e10caE(%"fmt::num::LowerHex"* noalias readonly, i64, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i64 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i64 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i64 %x = alloca i64 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i64 %1, i64* %x %3 = call i64 @"_ZN39_$LT$u64$u20$as$u20$core..num..Zero$GT$4zero17hd2369241092766c4E"() store i64 %3, i64* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u64$GT$2ge17h6952dd9c539e0c9dE"(i64* noalias readonly dereferenceable(8) %x, i64* noalias readonly dereferenceable(8) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h08e7d6f8960cdd12E"(%"fmt::num::LowerHex"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i64 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$7from_u817hff5f14816808e3a1E"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i64, i64* %x %19 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Rem$GT$3rem17h2e93e541fef81ed6E"(i64 %18, i64 %8) store i64 %19, i64* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i64, i64* %x %21 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Div$GT$3div17hce5752a9520aa12fE"(i64 %20, i64 %8) br label %bb16 bb16: ; preds = %bb15 store i64 %21, i64* %x %22 = call i8 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$5to_u817h0cd4fc1bc8d71258E"(i64* noalias readonly dereferenceable(8) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u64$GT$2eq17h19735d3982c9edf8E"(i64* noalias readonly dereferenceable(8) %x, i64* noalias readonly dereferenceable(8) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i64, i64* %zero %38 = load i64, i64* %x %39 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Rem$GT$3rem17h2e93e541fef81ed6E"(i64 %38, i64 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Sub$GT$3sub17h9902ae712370c3b1E"(i64 %37, i64 %39) store i64 %40, i64* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i64, i64* %x %42 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Div$GT$3div17hce5752a9520aa12fE"(i64 %41, i64 %8) br label %bb33 bb33: ; preds = %bb32 store i64 %42, i64* %x %43 = call i8 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$5to_u817h0cd4fc1bc8d71258E"(i64* noalias readonly dereferenceable(8) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u64$GT$2eq17h19735d3982c9edf8E"(i64* noalias readonly dereferenceable(8) %x, i64* noalias readonly dereferenceable(8) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !26 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !26 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !26, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !26 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h81ec4c74a76915ceE"(%"fmt::num::LowerHex"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h0a66d6185d2c4347E(%"fmt::num::Binary"* noalias readonly, i16, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i16 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i16 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i16 %x = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i16 %1, i16* %x %3 = call i16 @"_ZN41_$LT$usize$u20$as$u20$core..num..Zero$GT$4zero17h8c4e5f357104b3c5E"() store i16 %3, i16* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2ge17h1919a634d337a09cE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h2c1af011f092a7c0E"(%"fmt::num::Binary"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i16 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$7from_u817heb92f4c51988edfbE"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i16, i16* %x %19 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Rem$GT$3rem17h5a07684d2e83c4d0E"(i16 %18, i16 %8) store i16 %19, i16* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i16, i16* %x %21 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Div$GT$3div17habfce3df91277bceE"(i16 %20, i16 %8) br label %bb16 bb16: ; preds = %bb15 store i16 %21, i16* %x %22 = call i8 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$5to_u817hb28ce15011623ff1E"(i16* noalias readonly dereferenceable(2) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$usize$GT$2eq17hdb10e390a5ae9eaaE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i16, i16* %zero %38 = load i16, i16* %x %39 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Rem$GT$3rem17h5a07684d2e83c4d0E"(i16 %38, i16 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Sub$GT$3sub17h43d509d548839514E"(i16 %37, i16 %39) store i16 %40, i16* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i16, i16* %x %42 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Div$GT$3div17habfce3df91277bceE"(i16 %41, i16 %8) br label %bb33 bb33: ; preds = %bb32 store i16 %42, i16* %x %43 = call i8 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$5to_u817hb28ce15011623ff1E"(i16* noalias readonly dereferenceable(2) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$usize$GT$2eq17hdb10e390a5ae9eaaE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !29 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !29 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !29, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !29 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17hc5f3e10559b4ab93E"(%"fmt::num::Binary"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h0c643e05d2ec33ffE(%"fmt::num::Binary"* noalias readonly, i32, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i32 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i32 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i32 %x = alloca i32 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i32 %1, i32* %x %3 = call i32 @"_ZN39_$LT$u32$u20$as$u20$core..num..Zero$GT$4zero17hb641e2898172fb22E"() store i32 %3, i32* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u32$GT$2ge17h0c1004ac534ca3d8E"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h2c1af011f092a7c0E"(%"fmt::num::Binary"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i32 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$7from_u817he619e7a5eae46b8bE"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i32, i32* %x %19 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Rem$GT$3rem17h49dc57b4ac35dd26E"(i32 %18, i32 %8) store i32 %19, i32* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i32, i32* %x %21 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Div$GT$3div17hd1d6152e54de1063E"(i32 %20, i32 %8) br label %bb16 bb16: ; preds = %bb15 store i32 %21, i32* %x %22 = call i8 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1bfd26ec9e470dc6E"(i32* noalias readonly dereferenceable(4) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u32$GT$2eq17h5d9dbcb74c1de000E"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i32, i32* %zero %38 = load i32, i32* %x %39 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Rem$GT$3rem17h49dc57b4ac35dd26E"(i32 %38, i32 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Sub$GT$3sub17h19e612f23716211fE"(i32 %37, i32 %39) store i32 %40, i32* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i32, i32* %x %42 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Div$GT$3div17hd1d6152e54de1063E"(i32 %41, i32 %8) br label %bb33 bb33: ; preds = %bb32 store i32 %42, i32* %x %43 = call i8 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1bfd26ec9e470dc6E"(i32* noalias readonly dereferenceable(4) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u32$GT$2eq17h5d9dbcb74c1de000E"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !32 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !32 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !32, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !32 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17hc5f3e10559b4ab93E"(%"fmt::num::Binary"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h11a3ca130e0e3b19E(%"fmt::num::LowerHex"* noalias readonly, i8, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i8 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i8 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i8 %x = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i8 %1, i8* %x %3 = call i8 @"_ZN38_$LT$u8$u20$as$u20$core..num..Zero$GT$4zero17hab8b175dac034a29E"() store i8 %3, i8* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u8$GT$2ge17hbfacc662a8346080E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h08e7d6f8960cdd12E"(%"fmt::num::LowerHex"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$7from_u817hf46cdeeb7c29d2b4E"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i8, i8* %x %19 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Rem$GT$3rem17h56d8a8bb8b574e94E"(i8 %18, i8 %8) store i8 %19, i8* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i8, i8* %x %21 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Div$GT$3div17h949c3c610020dec7E"(i8 %20, i8 %8) br label %bb16 bb16: ; preds = %bb15 store i8 %21, i8* %x %22 = call i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$5to_u817h77f4259bfa39adaeE"(i8* noalias readonly dereferenceable(1) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls53_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u8$GT$2eq17h777a920c4bcd4964E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i8, i8* %zero %38 = load i8, i8* %x %39 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Rem$GT$3rem17h56d8a8bb8b574e94E"(i8 %38, i8 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Sub$GT$3sub17h831c7e6d28cea6d3E"(i8 %37, i8 %39) store i8 %40, i8* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i8, i8* %x %42 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Div$GT$3div17h949c3c610020dec7E"(i8 %41, i8 %8) br label %bb33 bb33: ; preds = %bb32 store i8 %42, i8* %x %43 = call i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$5to_u817h77f4259bfa39adaeE"(i8* noalias readonly dereferenceable(1) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls53_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u8$GT$2eq17h777a920c4bcd4964E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !35 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !35 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !35, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !35 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h81ec4c74a76915ceE"(%"fmt::num::LowerHex"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h18c0a12335e61ae3E(%"fmt::num::UpperHex"* noalias readonly, i8, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i8 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i8 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i8 %x = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i8 %1, i8* %x %3 = call i8 @"_ZN38_$LT$u8$u20$as$u20$core..num..Zero$GT$4zero17hab8b175dac034a29E"() store i8 %3, i8* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u8$GT$2ge17hbfacc662a8346080E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17he638a23c8f24d79dE"(%"fmt::num::UpperHex"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$7from_u817hf46cdeeb7c29d2b4E"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i8, i8* %x %19 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Rem$GT$3rem17h56d8a8bb8b574e94E"(i8 %18, i8 %8) store i8 %19, i8* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i8, i8* %x %21 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Div$GT$3div17h949c3c610020dec7E"(i8 %20, i8 %8) br label %bb16 bb16: ; preds = %bb15 store i8 %21, i8* %x %22 = call i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$5to_u817h77f4259bfa39adaeE"(i8* noalias readonly dereferenceable(1) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls53_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u8$GT$2eq17h777a920c4bcd4964E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i8, i8* %zero %38 = load i8, i8* %x %39 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Rem$GT$3rem17h56d8a8bb8b574e94E"(i8 %38, i8 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Sub$GT$3sub17h831c7e6d28cea6d3E"(i8 %37, i8 %39) store i8 %40, i8* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i8, i8* %x %42 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Div$GT$3div17h949c3c610020dec7E"(i8 %41, i8 %8) br label %bb33 bb33: ; preds = %bb32 store i8 %42, i8* %x %43 = call i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$5to_u817h77f4259bfa39adaeE"(i8* noalias readonly dereferenceable(1) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls53_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u8$GT$2eq17h777a920c4bcd4964E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !38 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !38 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !38, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !38 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h3bf396af34e53fc9E"(%"fmt::num::UpperHex"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h228dad88d55822b1E(%"fmt::num::UpperHex"* noalias readonly, i16, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i16 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i16 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i16 %x = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i16 %1, i16* %x %3 = call i16 @"_ZN41_$LT$usize$u20$as$u20$core..num..Zero$GT$4zero17h8c4e5f357104b3c5E"() store i16 %3, i16* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2ge17h1919a634d337a09cE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17he638a23c8f24d79dE"(%"fmt::num::UpperHex"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i16 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$7from_u817heb92f4c51988edfbE"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i16, i16* %x %19 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Rem$GT$3rem17h5a07684d2e83c4d0E"(i16 %18, i16 %8) store i16 %19, i16* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i16, i16* %x %21 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Div$GT$3div17habfce3df91277bceE"(i16 %20, i16 %8) br label %bb16 bb16: ; preds = %bb15 store i16 %21, i16* %x %22 = call i8 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$5to_u817hb28ce15011623ff1E"(i16* noalias readonly dereferenceable(2) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$usize$GT$2eq17hdb10e390a5ae9eaaE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i16, i16* %zero %38 = load i16, i16* %x %39 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Rem$GT$3rem17h5a07684d2e83c4d0E"(i16 %38, i16 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Sub$GT$3sub17h43d509d548839514E"(i16 %37, i16 %39) store i16 %40, i16* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i16, i16* %x %42 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Div$GT$3div17habfce3df91277bceE"(i16 %41, i16 %8) br label %bb33 bb33: ; preds = %bb32 store i16 %42, i16* %x %43 = call i8 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$5to_u817hb28ce15011623ff1E"(i16* noalias readonly dereferenceable(2) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$usize$GT$2eq17hdb10e390a5ae9eaaE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !41 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !41 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !41, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !41 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h3bf396af34e53fc9E"(%"fmt::num::UpperHex"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h2690e315d7543e66E(%"fmt::num::Binary"* noalias readonly, i128, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i128 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i128 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i128 %x = alloca i128 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i128 %1, i128* %x %3 = call i128 @"_ZN40_$LT$u128$u20$as$u20$core..num..Zero$GT$4zero17hea846d9fb7aa688eE"() store i128 %3, i128* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u128$GT$2ge17h6d6d87da3e410381E"(i128* noalias readonly dereferenceable(16) %x, i128* noalias readonly dereferenceable(16) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h2c1af011f092a7c0E"(%"fmt::num::Binary"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i128 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$7from_u817hfd7b29934aaa8c04E"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i128, i128* %x %19 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Rem$GT$3rem17he95cf93211332866E"(i128 %18, i128 %8) store i128 %19, i128* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i128, i128* %x %21 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Div$GT$3div17h945314c04653e2e7E"(i128 %20, i128 %8) br label %bb16 bb16: ; preds = %bb15 store i128 %21, i128* %x %22 = call i8 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$5to_u817h93e73f8ceccc467aE"(i128* noalias readonly dereferenceable(16) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u128$GT$2eq17hab5a70f21a07c882E"(i128* noalias readonly dereferenceable(16) %x, i128* noalias readonly dereferenceable(16) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i128, i128* %zero %38 = load i128, i128* %x %39 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Rem$GT$3rem17he95cf93211332866E"(i128 %38, i128 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Sub$GT$3sub17haee5ad2dab4b105eE"(i128 %37, i128 %39) store i128 %40, i128* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i128, i128* %x %42 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Div$GT$3div17h945314c04653e2e7E"(i128 %41, i128 %8) br label %bb33 bb33: ; preds = %bb32 store i128 %42, i128* %x %43 = call i8 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$5to_u817h93e73f8ceccc467aE"(i128* noalias readonly dereferenceable(16) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u128$GT$2eq17hab5a70f21a07c882E"(i128* noalias readonly dereferenceable(16) %x, i128* noalias readonly dereferenceable(16) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !44 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !44 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !44, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !44 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17hc5f3e10559b4ab93E"(%"fmt::num::Binary"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h2d63e13421eceb94E(%"fmt::num::UpperHex"* noalias readonly, i16, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i16 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i16 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i16 %x = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i16 %1, i16* %x %3 = call i16 @"_ZN39_$LT$u16$u20$as$u20$core..num..Zero$GT$4zero17hfce24679f5940e48E"() store i16 %3, i16* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u16$GT$2ge17h71bb978bd3eacb72E"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17he638a23c8f24d79dE"(%"fmt::num::UpperHex"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i16 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$7from_u817h6f155ef69c48922cE"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i16, i16* %x %19 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Rem$GT$3rem17h0cf181779aaf3dc1E"(i16 %18, i16 %8) store i16 %19, i16* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i16, i16* %x %21 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Div$GT$3div17hf85907d4a5ecd3b4E"(i16 %20, i16 %8) br label %bb16 bb16: ; preds = %bb15 store i16 %21, i16* %x %22 = call i8 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1e6d4b1cb4a13872E"(i16* noalias readonly dereferenceable(2) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u16$GT$2eq17hec8b861347a2d87bE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i16, i16* %zero %38 = load i16, i16* %x %39 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Rem$GT$3rem17h0cf181779aaf3dc1E"(i16 %38, i16 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Sub$GT$3sub17h599701945e7948f1E"(i16 %37, i16 %39) store i16 %40, i16* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i16, i16* %x %42 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Div$GT$3div17hf85907d4a5ecd3b4E"(i16 %41, i16 %8) br label %bb33 bb33: ; preds = %bb32 store i16 %42, i16* %x %43 = call i8 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1e6d4b1cb4a13872E"(i16* noalias readonly dereferenceable(2) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u16$GT$2eq17hec8b861347a2d87bE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !47 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !47 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !47, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !47 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h3bf396af34e53fc9E"(%"fmt::num::UpperHex"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h43ad2f90f249e318E(%"fmt::num::Octal"* noalias readonly, i16, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i16 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i16 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i16 %x = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i16 %1, i16* %x %3 = call i16 @"_ZN39_$LT$u16$u20$as$u20$core..num..Zero$GT$4zero17hfce24679f5940e48E"() store i16 %3, i16* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u16$GT$2ge17h71bb978bd3eacb72E"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17ha4927511710c5a06E"(%"fmt::num::Octal"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i16 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$7from_u817h6f155ef69c48922cE"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i16, i16* %x %19 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Rem$GT$3rem17h0cf181779aaf3dc1E"(i16 %18, i16 %8) store i16 %19, i16* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i16, i16* %x %21 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Div$GT$3div17hf85907d4a5ecd3b4E"(i16 %20, i16 %8) br label %bb16 bb16: ; preds = %bb15 store i16 %21, i16* %x %22 = call i8 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1e6d4b1cb4a13872E"(i16* noalias readonly dereferenceable(2) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u16$GT$2eq17hec8b861347a2d87bE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i16, i16* %zero %38 = load i16, i16* %x %39 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Rem$GT$3rem17h0cf181779aaf3dc1E"(i16 %38, i16 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Sub$GT$3sub17h599701945e7948f1E"(i16 %37, i16 %39) store i16 %40, i16* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i16, i16* %x %42 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Div$GT$3div17hf85907d4a5ecd3b4E"(i16 %41, i16 %8) br label %bb33 bb33: ; preds = %bb32 store i16 %42, i16* %x %43 = call i8 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1e6d4b1cb4a13872E"(i16* noalias readonly dereferenceable(2) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u16$GT$2eq17hec8b861347a2d87bE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !50 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !50 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !50, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !50 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17ha24730c64d8c8e34E"(%"fmt::num::Octal"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h4f3755466cc25816E(%"fmt::num::UpperHex"* noalias readonly, i64, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i64 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i64 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i64 %x = alloca i64 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i64 %1, i64* %x %3 = call i64 @"_ZN39_$LT$u64$u20$as$u20$core..num..Zero$GT$4zero17hd2369241092766c4E"() store i64 %3, i64* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u64$GT$2ge17h6952dd9c539e0c9dE"(i64* noalias readonly dereferenceable(8) %x, i64* noalias readonly dereferenceable(8) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17he638a23c8f24d79dE"(%"fmt::num::UpperHex"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i64 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$7from_u817hff5f14816808e3a1E"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i64, i64* %x %19 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Rem$GT$3rem17h2e93e541fef81ed6E"(i64 %18, i64 %8) store i64 %19, i64* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i64, i64* %x %21 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Div$GT$3div17hce5752a9520aa12fE"(i64 %20, i64 %8) br label %bb16 bb16: ; preds = %bb15 store i64 %21, i64* %x %22 = call i8 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$5to_u817h0cd4fc1bc8d71258E"(i64* noalias readonly dereferenceable(8) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u64$GT$2eq17h19735d3982c9edf8E"(i64* noalias readonly dereferenceable(8) %x, i64* noalias readonly dereferenceable(8) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i64, i64* %zero %38 = load i64, i64* %x %39 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Rem$GT$3rem17h2e93e541fef81ed6E"(i64 %38, i64 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Sub$GT$3sub17h9902ae712370c3b1E"(i64 %37, i64 %39) store i64 %40, i64* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i64, i64* %x %42 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Div$GT$3div17hce5752a9520aa12fE"(i64 %41, i64 %8) br label %bb33 bb33: ; preds = %bb32 store i64 %42, i64* %x %43 = call i8 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$5to_u817h0cd4fc1bc8d71258E"(i64* noalias readonly dereferenceable(8) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u64$GT$2eq17h19735d3982c9edf8E"(i64* noalias readonly dereferenceable(8) %x, i64* noalias readonly dereferenceable(8) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !53 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !53 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !53, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !53 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h3bf396af34e53fc9E"(%"fmt::num::UpperHex"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h51e8adb7da56dd64E(%"fmt::num::Octal"* noalias readonly, i16, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i16 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i16 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i16 %x = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i16 %1, i16* %x %3 = call i16 @"_ZN41_$LT$usize$u20$as$u20$core..num..Zero$GT$4zero17h8c4e5f357104b3c5E"() store i16 %3, i16* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2ge17h1919a634d337a09cE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17ha4927511710c5a06E"(%"fmt::num::Octal"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i16 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$7from_u817heb92f4c51988edfbE"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i16, i16* %x %19 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Rem$GT$3rem17h5a07684d2e83c4d0E"(i16 %18, i16 %8) store i16 %19, i16* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i16, i16* %x %21 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Div$GT$3div17habfce3df91277bceE"(i16 %20, i16 %8) br label %bb16 bb16: ; preds = %bb15 store i16 %21, i16* %x %22 = call i8 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$5to_u817hb28ce15011623ff1E"(i16* noalias readonly dereferenceable(2) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$usize$GT$2eq17hdb10e390a5ae9eaaE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i16, i16* %zero %38 = load i16, i16* %x %39 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Rem$GT$3rem17h5a07684d2e83c4d0E"(i16 %38, i16 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Sub$GT$3sub17h43d509d548839514E"(i16 %37, i16 %39) store i16 %40, i16* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i16, i16* %x %42 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Div$GT$3div17habfce3df91277bceE"(i16 %41, i16 %8) br label %bb33 bb33: ; preds = %bb32 store i16 %42, i16* %x %43 = call i8 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$5to_u817hb28ce15011623ff1E"(i16* noalias readonly dereferenceable(2) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$usize$GT$2eq17hdb10e390a5ae9eaaE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !56 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !56 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !56, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !56 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17ha24730c64d8c8e34E"(%"fmt::num::Octal"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h605da95b8b61cc84E(%"fmt::num::LowerHex"* noalias readonly, i32, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i32 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i32 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i32 %x = alloca i32 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i32 %1, i32* %x %3 = call i32 @"_ZN39_$LT$u32$u20$as$u20$core..num..Zero$GT$4zero17hb641e2898172fb22E"() store i32 %3, i32* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u32$GT$2ge17h0c1004ac534ca3d8E"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h08e7d6f8960cdd12E"(%"fmt::num::LowerHex"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i32 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$7from_u817he619e7a5eae46b8bE"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i32, i32* %x %19 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Rem$GT$3rem17h49dc57b4ac35dd26E"(i32 %18, i32 %8) store i32 %19, i32* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i32, i32* %x %21 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Div$GT$3div17hd1d6152e54de1063E"(i32 %20, i32 %8) br label %bb16 bb16: ; preds = %bb15 store i32 %21, i32* %x %22 = call i8 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1bfd26ec9e470dc6E"(i32* noalias readonly dereferenceable(4) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u32$GT$2eq17h5d9dbcb74c1de000E"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i32, i32* %zero %38 = load i32, i32* %x %39 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Rem$GT$3rem17h49dc57b4ac35dd26E"(i32 %38, i32 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Sub$GT$3sub17h19e612f23716211fE"(i32 %37, i32 %39) store i32 %40, i32* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i32, i32* %x %42 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Div$GT$3div17hd1d6152e54de1063E"(i32 %41, i32 %8) br label %bb33 bb33: ; preds = %bb32 store i32 %42, i32* %x %43 = call i8 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1bfd26ec9e470dc6E"(i32* noalias readonly dereferenceable(4) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u32$GT$2eq17h5d9dbcb74c1de000E"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !59 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !59 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !59, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !59 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h81ec4c74a76915ceE"(%"fmt::num::LowerHex"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h72779453b92e7cddE(%"fmt::num::LowerHex"* noalias readonly, i128, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i128 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i128 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i128 %x = alloca i128 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i128 %1, i128* %x %3 = call i128 @"_ZN40_$LT$u128$u20$as$u20$core..num..Zero$GT$4zero17hea846d9fb7aa688eE"() store i128 %3, i128* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u128$GT$2ge17h6d6d87da3e410381E"(i128* noalias readonly dereferenceable(16) %x, i128* noalias readonly dereferenceable(16) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h08e7d6f8960cdd12E"(%"fmt::num::LowerHex"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i128 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$7from_u817hfd7b29934aaa8c04E"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i128, i128* %x %19 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Rem$GT$3rem17he95cf93211332866E"(i128 %18, i128 %8) store i128 %19, i128* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i128, i128* %x %21 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Div$GT$3div17h945314c04653e2e7E"(i128 %20, i128 %8) br label %bb16 bb16: ; preds = %bb15 store i128 %21, i128* %x %22 = call i8 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$5to_u817h93e73f8ceccc467aE"(i128* noalias readonly dereferenceable(16) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u128$GT$2eq17hab5a70f21a07c882E"(i128* noalias readonly dereferenceable(16) %x, i128* noalias readonly dereferenceable(16) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i128, i128* %zero %38 = load i128, i128* %x %39 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Rem$GT$3rem17he95cf93211332866E"(i128 %38, i128 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Sub$GT$3sub17haee5ad2dab4b105eE"(i128 %37, i128 %39) store i128 %40, i128* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i128, i128* %x %42 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Div$GT$3div17h945314c04653e2e7E"(i128 %41, i128 %8) br label %bb33 bb33: ; preds = %bb32 store i128 %42, i128* %x %43 = call i8 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$5to_u817h93e73f8ceccc467aE"(i128* noalias readonly dereferenceable(16) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u128$GT$2eq17hab5a70f21a07c882E"(i128* noalias readonly dereferenceable(16) %x, i128* noalias readonly dereferenceable(16) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !62 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !62 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !62, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !62 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h81ec4c74a76915ceE"(%"fmt::num::LowerHex"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h738f4c70b60353aaE(%"fmt::num::Binary"* noalias readonly, i8, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i8 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i8 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i8 %x = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i8 %1, i8* %x %3 = call i8 @"_ZN38_$LT$u8$u20$as$u20$core..num..Zero$GT$4zero17hab8b175dac034a29E"() store i8 %3, i8* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u8$GT$2ge17hbfacc662a8346080E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h2c1af011f092a7c0E"(%"fmt::num::Binary"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$7from_u817hf46cdeeb7c29d2b4E"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i8, i8* %x %19 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Rem$GT$3rem17h56d8a8bb8b574e94E"(i8 %18, i8 %8) store i8 %19, i8* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i8, i8* %x %21 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Div$GT$3div17h949c3c610020dec7E"(i8 %20, i8 %8) br label %bb16 bb16: ; preds = %bb15 store i8 %21, i8* %x %22 = call i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$5to_u817h77f4259bfa39adaeE"(i8* noalias readonly dereferenceable(1) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls53_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u8$GT$2eq17h777a920c4bcd4964E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i8, i8* %zero %38 = load i8, i8* %x %39 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Rem$GT$3rem17h56d8a8bb8b574e94E"(i8 %38, i8 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Sub$GT$3sub17h831c7e6d28cea6d3E"(i8 %37, i8 %39) store i8 %40, i8* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i8, i8* %x %42 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Div$GT$3div17h949c3c610020dec7E"(i8 %41, i8 %8) br label %bb33 bb33: ; preds = %bb32 store i8 %42, i8* %x %43 = call i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$5to_u817h77f4259bfa39adaeE"(i8* noalias readonly dereferenceable(1) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls53_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u8$GT$2eq17h777a920c4bcd4964E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !65 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !65 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !65, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !65 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17hc5f3e10559b4ab93E"(%"fmt::num::Binary"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h75d8177c6dc50222E(%"fmt::num::Binary"* noalias readonly, i64, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i64 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i64 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i64 %x = alloca i64 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i64 %1, i64* %x %3 = call i64 @"_ZN39_$LT$u64$u20$as$u20$core..num..Zero$GT$4zero17hd2369241092766c4E"() store i64 %3, i64* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u64$GT$2ge17h6952dd9c539e0c9dE"(i64* noalias readonly dereferenceable(8) %x, i64* noalias readonly dereferenceable(8) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h2c1af011f092a7c0E"(%"fmt::num::Binary"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i64 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$7from_u817hff5f14816808e3a1E"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i64, i64* %x %19 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Rem$GT$3rem17h2e93e541fef81ed6E"(i64 %18, i64 %8) store i64 %19, i64* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i64, i64* %x %21 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Div$GT$3div17hce5752a9520aa12fE"(i64 %20, i64 %8) br label %bb16 bb16: ; preds = %bb15 store i64 %21, i64* %x %22 = call i8 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$5to_u817h0cd4fc1bc8d71258E"(i64* noalias readonly dereferenceable(8) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u64$GT$2eq17h19735d3982c9edf8E"(i64* noalias readonly dereferenceable(8) %x, i64* noalias readonly dereferenceable(8) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i64, i64* %zero %38 = load i64, i64* %x %39 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Rem$GT$3rem17h2e93e541fef81ed6E"(i64 %38, i64 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Sub$GT$3sub17h9902ae712370c3b1E"(i64 %37, i64 %39) store i64 %40, i64* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i64, i64* %x %42 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Div$GT$3div17hce5752a9520aa12fE"(i64 %41, i64 %8) br label %bb33 bb33: ; preds = %bb32 store i64 %42, i64* %x %43 = call i8 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$5to_u817h0cd4fc1bc8d71258E"(i64* noalias readonly dereferenceable(8) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u64$GT$2eq17h19735d3982c9edf8E"(i64* noalias readonly dereferenceable(8) %x, i64* noalias readonly dereferenceable(8) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !68 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !68 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !68, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !68 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17hc5f3e10559b4ab93E"(%"fmt::num::Binary"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h83f6376d6175de44E(%"fmt::num::UpperHex"* noalias readonly, i32, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i32 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i32 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i32 %x = alloca i32 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i32 %1, i32* %x %3 = call i32 @"_ZN39_$LT$u32$u20$as$u20$core..num..Zero$GT$4zero17hb641e2898172fb22E"() store i32 %3, i32* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u32$GT$2ge17h0c1004ac534ca3d8E"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17he638a23c8f24d79dE"(%"fmt::num::UpperHex"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i32 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$7from_u817he619e7a5eae46b8bE"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i32, i32* %x %19 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Rem$GT$3rem17h49dc57b4ac35dd26E"(i32 %18, i32 %8) store i32 %19, i32* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i32, i32* %x %21 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Div$GT$3div17hd1d6152e54de1063E"(i32 %20, i32 %8) br label %bb16 bb16: ; preds = %bb15 store i32 %21, i32* %x %22 = call i8 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1bfd26ec9e470dc6E"(i32* noalias readonly dereferenceable(4) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u32$GT$2eq17h5d9dbcb74c1de000E"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i32, i32* %zero %38 = load i32, i32* %x %39 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Rem$GT$3rem17h49dc57b4ac35dd26E"(i32 %38, i32 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Sub$GT$3sub17h19e612f23716211fE"(i32 %37, i32 %39) store i32 %40, i32* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i32, i32* %x %42 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Div$GT$3div17hd1d6152e54de1063E"(i32 %41, i32 %8) br label %bb33 bb33: ; preds = %bb32 store i32 %42, i32* %x %43 = call i8 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1bfd26ec9e470dc6E"(i32* noalias readonly dereferenceable(4) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u32$GT$2eq17h5d9dbcb74c1de000E"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !71 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !71 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !71, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !71 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h3bf396af34e53fc9E"(%"fmt::num::UpperHex"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h93a3593f6ae88eb9E(%"fmt::num::LowerHex"* noalias readonly, i16, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i16 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i16 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i16 %x = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i16 %1, i16* %x %3 = call i16 @"_ZN39_$LT$u16$u20$as$u20$core..num..Zero$GT$4zero17hfce24679f5940e48E"() store i16 %3, i16* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u16$GT$2ge17h71bb978bd3eacb72E"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h08e7d6f8960cdd12E"(%"fmt::num::LowerHex"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i16 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$7from_u817h6f155ef69c48922cE"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i16, i16* %x %19 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Rem$GT$3rem17h0cf181779aaf3dc1E"(i16 %18, i16 %8) store i16 %19, i16* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i16, i16* %x %21 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Div$GT$3div17hf85907d4a5ecd3b4E"(i16 %20, i16 %8) br label %bb16 bb16: ; preds = %bb15 store i16 %21, i16* %x %22 = call i8 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1e6d4b1cb4a13872E"(i16* noalias readonly dereferenceable(2) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u16$GT$2eq17hec8b861347a2d87bE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i16, i16* %zero %38 = load i16, i16* %x %39 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Rem$GT$3rem17h0cf181779aaf3dc1E"(i16 %38, i16 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Sub$GT$3sub17h599701945e7948f1E"(i16 %37, i16 %39) store i16 %40, i16* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i16, i16* %x %42 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Div$GT$3div17hf85907d4a5ecd3b4E"(i16 %41, i16 %8) br label %bb33 bb33: ; preds = %bb32 store i16 %42, i16* %x %43 = call i8 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1e6d4b1cb4a13872E"(i16* noalias readonly dereferenceable(2) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u16$GT$2eq17hec8b861347a2d87bE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !74 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !74 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !74, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !74 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h81ec4c74a76915ceE"(%"fmt::num::LowerHex"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h95c7d65ed9ecc9feE(%"fmt::num::Octal"* noalias readonly, i8, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i8 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i8 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i8 %x = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i8 %1, i8* %x %3 = call i8 @"_ZN38_$LT$u8$u20$as$u20$core..num..Zero$GT$4zero17hab8b175dac034a29E"() store i8 %3, i8* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u8$GT$2ge17hbfacc662a8346080E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17ha4927511710c5a06E"(%"fmt::num::Octal"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$7from_u817hf46cdeeb7c29d2b4E"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i8, i8* %x %19 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Rem$GT$3rem17h56d8a8bb8b574e94E"(i8 %18, i8 %8) store i8 %19, i8* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i8, i8* %x %21 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Div$GT$3div17h949c3c610020dec7E"(i8 %20, i8 %8) br label %bb16 bb16: ; preds = %bb15 store i8 %21, i8* %x %22 = call i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$5to_u817h77f4259bfa39adaeE"(i8* noalias readonly dereferenceable(1) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls53_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u8$GT$2eq17h777a920c4bcd4964E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i8, i8* %zero %38 = load i8, i8* %x %39 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Rem$GT$3rem17h56d8a8bb8b574e94E"(i8 %38, i8 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Sub$GT$3sub17h831c7e6d28cea6d3E"(i8 %37, i8 %39) store i8 %40, i8* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i8, i8* %x %42 = call i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Div$GT$3div17h949c3c610020dec7E"(i8 %41, i8 %8) br label %bb33 bb33: ; preds = %bb32 store i8 %42, i8* %x %43 = call i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$5to_u817h77f4259bfa39adaeE"(i8* noalias readonly dereferenceable(1) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls53_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u8$GT$2eq17h777a920c4bcd4964E"(i8* noalias readonly dereferenceable(1) %x, i8* noalias readonly dereferenceable(1) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !77 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !77 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !77, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !77 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17ha24730c64d8c8e34E"(%"fmt::num::Octal"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17ha2a337fec0722cc9E(%"fmt::num::Binary"* noalias readonly, i16, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i16 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i16 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i16 %x = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i16 %1, i16* %x %3 = call i16 @"_ZN39_$LT$u16$u20$as$u20$core..num..Zero$GT$4zero17hfce24679f5940e48E"() store i16 %3, i16* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u16$GT$2ge17h71bb978bd3eacb72E"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h2c1af011f092a7c0E"(%"fmt::num::Binary"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i16 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$7from_u817h6f155ef69c48922cE"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i16, i16* %x %19 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Rem$GT$3rem17h0cf181779aaf3dc1E"(i16 %18, i16 %8) store i16 %19, i16* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i16, i16* %x %21 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Div$GT$3div17hf85907d4a5ecd3b4E"(i16 %20, i16 %8) br label %bb16 bb16: ; preds = %bb15 store i16 %21, i16* %x %22 = call i8 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1e6d4b1cb4a13872E"(i16* noalias readonly dereferenceable(2) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u16$GT$2eq17hec8b861347a2d87bE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i16, i16* %zero %38 = load i16, i16* %x %39 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Rem$GT$3rem17h0cf181779aaf3dc1E"(i16 %38, i16 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Sub$GT$3sub17h599701945e7948f1E"(i16 %37, i16 %39) store i16 %40, i16* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i16, i16* %x %42 = call i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Div$GT$3div17hf85907d4a5ecd3b4E"(i16 %41, i16 %8) br label %bb33 bb33: ; preds = %bb32 store i16 %42, i16* %x %43 = call i8 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1e6d4b1cb4a13872E"(i16* noalias readonly dereferenceable(2) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u16$GT$2eq17hec8b861347a2d87bE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !80 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !80 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !80, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !80 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17hc5f3e10559b4ab93E"(%"fmt::num::Binary"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17haa6ee160d92b0fc9E(%"fmt::num::LowerHex"* noalias readonly, i16, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i16 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i16 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i16 %x = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i16 %1, i16* %x %3 = call i16 @"_ZN41_$LT$usize$u20$as$u20$core..num..Zero$GT$4zero17h8c4e5f357104b3c5E"() store i16 %3, i16* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2ge17h1919a634d337a09cE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h08e7d6f8960cdd12E"(%"fmt::num::LowerHex"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i16 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$7from_u817heb92f4c51988edfbE"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i16, i16* %x %19 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Rem$GT$3rem17h5a07684d2e83c4d0E"(i16 %18, i16 %8) store i16 %19, i16* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i16, i16* %x %21 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Div$GT$3div17habfce3df91277bceE"(i16 %20, i16 %8) br label %bb16 bb16: ; preds = %bb15 store i16 %21, i16* %x %22 = call i8 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$5to_u817hb28ce15011623ff1E"(i16* noalias readonly dereferenceable(2) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$usize$GT$2eq17hdb10e390a5ae9eaaE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i16, i16* %zero %38 = load i16, i16* %x %39 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Rem$GT$3rem17h5a07684d2e83c4d0E"(i16 %38, i16 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Sub$GT$3sub17h43d509d548839514E"(i16 %37, i16 %39) store i16 %40, i16* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i16, i16* %x %42 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Div$GT$3div17habfce3df91277bceE"(i16 %41, i16 %8) br label %bb33 bb33: ; preds = %bb32 store i16 %42, i16* %x %43 = call i8 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$5to_u817hb28ce15011623ff1E"(i16* noalias readonly dereferenceable(2) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$usize$GT$2eq17hdb10e390a5ae9eaaE"(i16* noalias readonly dereferenceable(2) %x, i16* noalias readonly dereferenceable(2) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !83 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !83 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !83, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !83 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h81ec4c74a76915ceE"(%"fmt::num::LowerHex"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17hb9a2bc22a65dba42E(%"fmt::num::Octal"* noalias readonly, i64, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i64 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i64 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i64 %x = alloca i64 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i64 %1, i64* %x %3 = call i64 @"_ZN39_$LT$u64$u20$as$u20$core..num..Zero$GT$4zero17hd2369241092766c4E"() store i64 %3, i64* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u64$GT$2ge17h6952dd9c539e0c9dE"(i64* noalias readonly dereferenceable(8) %x, i64* noalias readonly dereferenceable(8) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17ha4927511710c5a06E"(%"fmt::num::Octal"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i64 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$7from_u817hff5f14816808e3a1E"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i64, i64* %x %19 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Rem$GT$3rem17h2e93e541fef81ed6E"(i64 %18, i64 %8) store i64 %19, i64* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i64, i64* %x %21 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Div$GT$3div17hce5752a9520aa12fE"(i64 %20, i64 %8) br label %bb16 bb16: ; preds = %bb15 store i64 %21, i64* %x %22 = call i8 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$5to_u817h0cd4fc1bc8d71258E"(i64* noalias readonly dereferenceable(8) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u64$GT$2eq17h19735d3982c9edf8E"(i64* noalias readonly dereferenceable(8) %x, i64* noalias readonly dereferenceable(8) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i64, i64* %zero %38 = load i64, i64* %x %39 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Rem$GT$3rem17h2e93e541fef81ed6E"(i64 %38, i64 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Sub$GT$3sub17h9902ae712370c3b1E"(i64 %37, i64 %39) store i64 %40, i64* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i64, i64* %x %42 = call i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Div$GT$3div17hce5752a9520aa12fE"(i64 %41, i64 %8) br label %bb33 bb33: ; preds = %bb32 store i64 %42, i64* %x %43 = call i8 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$5to_u817h0cd4fc1bc8d71258E"(i64* noalias readonly dereferenceable(8) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u64$GT$2eq17h19735d3982c9edf8E"(i64* noalias readonly dereferenceable(8) %x, i64* noalias readonly dereferenceable(8) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !86 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !86 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !86, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !86 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17ha24730c64d8c8e34E"(%"fmt::num::Octal"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17hd692c2bfac14a3b8E(%"fmt::num::Octal"* noalias readonly, i128, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i128 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i128 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i128 %x = alloca i128 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i128 %1, i128* %x %3 = call i128 @"_ZN40_$LT$u128$u20$as$u20$core..num..Zero$GT$4zero17hea846d9fb7aa688eE"() store i128 %3, i128* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u128$GT$2ge17h6d6d87da3e410381E"(i128* noalias readonly dereferenceable(16) %x, i128* noalias readonly dereferenceable(16) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17ha4927511710c5a06E"(%"fmt::num::Octal"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i128 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$7from_u817hfd7b29934aaa8c04E"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i128, i128* %x %19 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Rem$GT$3rem17he95cf93211332866E"(i128 %18, i128 %8) store i128 %19, i128* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i128, i128* %x %21 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Div$GT$3div17h945314c04653e2e7E"(i128 %20, i128 %8) br label %bb16 bb16: ; preds = %bb15 store i128 %21, i128* %x %22 = call i8 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$5to_u817h93e73f8ceccc467aE"(i128* noalias readonly dereferenceable(16) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u128$GT$2eq17hab5a70f21a07c882E"(i128* noalias readonly dereferenceable(16) %x, i128* noalias readonly dereferenceable(16) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i128, i128* %zero %38 = load i128, i128* %x %39 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Rem$GT$3rem17he95cf93211332866E"(i128 %38, i128 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Sub$GT$3sub17haee5ad2dab4b105eE"(i128 %37, i128 %39) store i128 %40, i128* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i128, i128* %x %42 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Div$GT$3div17h945314c04653e2e7E"(i128 %41, i128 %8) br label %bb33 bb33: ; preds = %bb32 store i128 %42, i128* %x %43 = call i8 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$5to_u817h93e73f8ceccc467aE"(i128* noalias readonly dereferenceable(16) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u128$GT$2eq17hab5a70f21a07c882E"(i128* noalias readonly dereferenceable(16) %x, i128* noalias readonly dereferenceable(16) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !89 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !89 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !89, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !89 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17ha24730c64d8c8e34E"(%"fmt::num::Octal"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17hde514d0233275031E(%"fmt::num::UpperHex"* noalias readonly, i128, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i128 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i128 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i128 %x = alloca i128 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i128 %1, i128* %x %3 = call i128 @"_ZN40_$LT$u128$u20$as$u20$core..num..Zero$GT$4zero17hea846d9fb7aa688eE"() store i128 %3, i128* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u128$GT$2ge17h6d6d87da3e410381E"(i128* noalias readonly dereferenceable(16) %x, i128* noalias readonly dereferenceable(16) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17he638a23c8f24d79dE"(%"fmt::num::UpperHex"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i128 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$7from_u817hfd7b29934aaa8c04E"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i128, i128* %x %19 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Rem$GT$3rem17he95cf93211332866E"(i128 %18, i128 %8) store i128 %19, i128* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i128, i128* %x %21 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Div$GT$3div17h945314c04653e2e7E"(i128 %20, i128 %8) br label %bb16 bb16: ; preds = %bb15 store i128 %21, i128* %x %22 = call i8 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$5to_u817h93e73f8ceccc467aE"(i128* noalias readonly dereferenceable(16) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u128$GT$2eq17hab5a70f21a07c882E"(i128* noalias readonly dereferenceable(16) %x, i128* noalias readonly dereferenceable(16) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i128, i128* %zero %38 = load i128, i128* %x %39 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Rem$GT$3rem17he95cf93211332866E"(i128 %38, i128 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Sub$GT$3sub17haee5ad2dab4b105eE"(i128 %37, i128 %39) store i128 %40, i128* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i128, i128* %x %42 = call i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Div$GT$3div17h945314c04653e2e7E"(i128 %41, i128 %8) br label %bb33 bb33: ; preds = %bb32 store i128 %42, i128* %x %43 = call i8 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$5to_u817h93e73f8ceccc467aE"(i128* noalias readonly dereferenceable(16) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u128$GT$2eq17hab5a70f21a07c882E"(i128* noalias readonly dereferenceable(16) %x, i128* noalias readonly dereferenceable(16) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !92 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !92 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !92, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !92 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h3bf396af34e53fc9E"(%"fmt::num::UpperHex"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17he41cdabe33f06db4E(%"fmt::num::Octal"* noalias readonly, i32, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_85 = alloca %"ops::RangeFrom" %_74 = alloca {} %n3 = alloca i32 %_56 = alloca i8* %iter2 = alloca %"iter::Rev>" %_52 = alloca %"slice::IterMut" %_51 = alloca %"iter::Rev>" %_50 = alloca %"iter::Rev>" %_result1 = alloca {} %_44 = alloca {} %n = alloca i32 %_28 = alloca i8* %_27 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"slice::IterMut" %_22 = alloca %"iter::Rev>" %_21 = alloca %"iter::Rev>" %_result = alloca {} %_18 = alloca {} %curr = alloca i16 %buf = alloca [128 x i8] %zero = alloca i32 %x = alloca i32 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store i32 %1, i32* %x %3 = call i32 @"_ZN39_$LT$u32$u20$as$u20$core..num..Zero$GT$4zero17hb641e2898172fb22E"() store i32 %3, i32* %zero br label %bb1 bb1: ; preds = %start %4 = call zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u32$GT$2ge17h0c1004ac534ca3d8E"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %zero) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i32 0, i32 0 %6 = getelementptr inbounds i8, i8* %5, i16 128 br label %slice_loop_header bb3: ; preds = %slice_loop_next %7 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17ha4927511710c5a06E"(%"fmt::num::Octal"* noalias readonly %0) br label %bb4 bb4: ; preds = %bb3 %8 = call i32 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$7from_u817he619e7a5eae46b8bE"(i8 %7) br label %bb5 bb5: ; preds = %bb4 br i1 %4, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_23, i8* nonnull %9, i16 128) br label %bb8 bb7: ; preds = %bb5 %10 = bitcast [128 x i8]* %buf to i8* call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_52, i8* nonnull %10, i16 128) br label %bb24 bb8: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_22, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_23) br label %bb9 bb9: ; preds = %bb8 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_21, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_22) br label %bb10 bb10: ; preds = %bb9 %11 = bitcast %"iter::Rev>"* %_21 to i8* %12 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 4, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb22, %bb10 %13 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %13, i8** %_28 br label %bb12 bb12: ; preds = %bb11 %14 = load i8*, i8** %_28 %15 = icmp ne i8* %14, null %16 = zext i1 %15 to i16 switch i16 %16, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 br label %bb23 bb14: ; preds = %bb12 %17 = load i8*, i8** %_28, !nonnull !1 %18 = load i32, i32* %x %19 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Rem$GT$3rem17h49dc57b4ac35dd26E"(i32 %18, i32 %8) store i32 %19, i32* %n br label %bb15 bb15: ; preds = %bb14 %20 = load i32, i32* %x %21 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Div$GT$3div17hd1d6152e54de1063E"(i32 %20, i32 %8) br label %bb16 bb16: ; preds = %bb15 store i32 %21, i32* %x %22 = call i8 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1bfd26ec9e470dc6E"(i32* noalias readonly dereferenceable(4) %n) br label %bb17 bb17: ; preds = %bb16 %23 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly %0, i8 %22) br label %bb18 bb18: ; preds = %bb17 store i8 %23, i8* %17 %24 = load i16, i16* %curr %25 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %24, i16 1) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb19 bb19: ; preds = %bb18 store i16 %26, i16* %curr %29 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u32$GT$2eq17h5d9dbcb74c1de000E"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %zero) br label %bb20 bb20: ; preds = %bb19 br i1 %29, label %bb21, label %bb22 bb21: ; preds = %bb20 br label %bb23 bb22: ; preds = %bb20 br label %bb11 bb23: ; preds = %bb13, %bb21 br label %bb41 bb24: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_51, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_52) br label %bb25 bb25: ; preds = %bb24 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_50, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_51) br label %bb26 bb26: ; preds = %bb25 %30 = bitcast %"iter::Rev>"* %_50 to i8* %31 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb27 bb27: ; preds = %bb39, %bb26 %32 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %32, i8** %_56 br label %bb28 bb28: ; preds = %bb27 %33 = load i8*, i8** %_56 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 br label %bb40 bb30: ; preds = %bb28 %36 = load i8*, i8** %_56, !nonnull !1 %37 = load i32, i32* %zero %38 = load i32, i32* %x %39 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Rem$GT$3rem17h49dc57b4ac35dd26E"(i32 %38, i32 %8) br label %bb31 bb31: ; preds = %bb30 %40 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Sub$GT$3sub17h19e612f23716211fE"(i32 %37, i32 %39) store i32 %40, i32* %n3 br label %bb32 bb32: ; preds = %bb31 %41 = load i32, i32* %x %42 = call i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Div$GT$3div17hd1d6152e54de1063E"(i32 %41, i32 %8) br label %bb33 bb33: ; preds = %bb32 store i32 %42, i32* %x %43 = call i8 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1bfd26ec9e470dc6E"(i32* noalias readonly dereferenceable(4) %n3) br label %bb34 bb34: ; preds = %bb33 %44 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly %0, i8 %43) br label %bb35 bb35: ; preds = %bb34 store i8 %44, i8* %36 %45 = load i16, i16* %curr %46 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %45, i16 1) %47 = extractvalue { i16, i1 } %46, 0 %48 = extractvalue { i16, i1 } %46, 1 %49 = call i1 @llvm.expect.i1(i1 %48, i1 false) br i1 %49, label %panic4, label %bb36 bb36: ; preds = %bb35 store i16 %47, i16* %curr %50 = call zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u32$GT$2eq17h5d9dbcb74c1de000E"(i32* noalias readonly dereferenceable(4) %x, i32* noalias readonly dereferenceable(4) %zero) br label %bb37 bb37: ; preds = %bb36 br i1 %50, label %bb38, label %bb39 bb38: ; preds = %bb37 br label %bb40 bb39: ; preds = %bb37 br label %bb27 bb40: ; preds = %bb29, %bb38 br label %bb41 bb41: ; preds = %bb40, %bb23 %51 = bitcast [128 x i8]* %buf to i8* %52 = load i16, i16* %curr %53 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_85, i32 0, i32 0 store i16 %52, i16* %53 %54 = bitcast %"ops::RangeFrom"* %_85 to i16* %55 = load i16, i16* %54, align 2 %56 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %51, i16 128, i16 %55) %57 = extractvalue { i8*, i16 } %56, 0 %58 = extractvalue { i8*, i16 } %56, 1 br label %bb42 bb42: ; preds = %bb41 %59 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %60 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 0 store i8* %57, i8** %60, align 2, !noalias !95 %61 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %59, i32 0, i32 1 store i16 %58, i16* %61, align 2, !noalias !95 %62 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %63 = load i8*, i8** %62, !noalias !95, !nonnull !1 %64 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %65 = load i16, i16* %64, !noalias !95 %66 = insertvalue %str_slice undef, i8* %63, 0 %67 = insertvalue %str_slice %66, i16 %65, 1 %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb43 bb43: ; preds = %bb42 %70 = call %str_slice @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17ha24730c64d8c8e34E"(%"fmt::num::Octal"* noalias readonly %0) %71 = extractvalue %str_slice %70, 0 %72 = extractvalue %str_slice %70, 1 br label %bb44 bb44: ; preds = %bb43 %73 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %2, i1 zeroext %4, i8* noalias nonnull readonly %71, i16 %72, i8* noalias nonnull readonly %68, i16 %69) store i8 %73, i8* %abi_cast %74 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %74, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb45 bb45: ; preds = %bb44 %75 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %76 = load i8, i8* %75, align 1 ret i8 %76 slice_loop_body: ; preds = %slice_loop_header %77 = getelementptr inbounds i8, i8* %80, i16 1 store i8 0, i8* %80 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %78 = bitcast [128 x i8]* %buf to i8* %79 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %78, i16 128) store i16 %79, i16* %curr br label %bb3 slice_loop_header: ; preds = %slice_loop_body, %bb2 %80 = phi i8* [ %5, %bb2 ], [ %77, %slice_loop_body ] %81 = icmp ne i8* %80, %6 br i1 %81, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7K) unreachable panic4: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7L) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3fmt8builders10PadAdapter3new17hc7a6a6d5078c8b70E(%"fmt::builders::PadAdapter"* noalias nocapture sret dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::builders::PadAdapter", %"fmt::builders::PadAdapter"* %0, i32 0, i32 0 store %"fmt::Formatter"* %1, %"fmt::Formatter"** %2 %3 = getelementptr inbounds %"fmt::builders::PadAdapter", %"fmt::builders::PadAdapter"* %0, i32 0, i32 1 store i8 0, i8* %3 ret void } ; Function Attrs: uwtable define i8 @"_ZN96_$LT$core..fmt..builders..PadAdapter$LT$$u27$a$C$$u20$$u27$b$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17h3ad6ffc1bc6bfdc1E"(%"fmt::builders::PadAdapter"* dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast2 = alloca i8 %abi_cast1 = alloca i8 %abi_cast = alloca i8 %_53 = alloca {} %_51 = alloca %"ops::RangeFrom" %_40 = alloca %"ops::RangeTo" %_34 = alloca %"result::Result<(), fmt::Error>" %_33 = alloca %"result::Result<(), fmt::Error>" %_25 = alloca %"option::Option" %split = alloca i16 %_14 = alloca %"result::Result<(), fmt::Error>" %_13 = alloca %"result::Result<(), fmt::Error>" %_10 = alloca {} %_9 = alloca {} %_5 = alloca {} %s = alloca %str_slice %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 store i8* %1, i8** %3 %4 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 store i16 %2, i16* %4 br label %bb1 bb1: ; preds = %bb29, %start %5 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 %6 = load i8*, i8** %5, !nonnull !1 %7 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 %8 = load i16, i16* %7 %9 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %6, i16 %8) br label %bb3 bb2: ; preds = %bb3 %10 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %10 br label %bb13 bb3: ; preds = %bb1 %11 = xor i1 %9, true br i1 %11, label %bb4, label %bb2 bb4: ; preds = %bb3 %12 = getelementptr inbounds %"fmt::builders::PadAdapter", %"fmt::builders::PadAdapter"* %0, i32 0, i32 1 %13 = load i8, i8* %12, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb5, label %bb6 bb5: ; preds = %bb4 %15 = getelementptr inbounds %"fmt::builders::PadAdapter", %"fmt::builders::PadAdapter"* %0, i32 0, i32 0 %16 = load %"fmt::Formatter"*, %"fmt::Formatter"** %15, !nonnull !1 %17 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %16, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.7M, i32 0, i32 0), i16 4) store i8 %17, i8* %abi_cast %18 = bitcast %"result::Result<(), fmt::Error>"* %_14 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb7 bb6: ; preds = %bb4 br label %bb15 bb7: ; preds = %bb5 %19 = bitcast %"result::Result<(), fmt::Error>"* %_14 to i8* %20 = load i8, i8* %19, align 1 %21 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %20) store i8 %21, i8* %abi_cast1 %22 = bitcast %"result::Result<(), fmt::Error>"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb8 bb8: ; preds = %bb7 %23 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_13, i32 0, i32 0 %24 = load i8, i8* %23, !range !2 %25 = zext i8 %24 to i16 switch i16 %25, label %bb10 [ i16 0, label %bb9 ] bb9: ; preds = %bb8 %26 = bitcast %"result::Result<(), fmt::Error>"* %_13 to { i8, {} }* %27 = getelementptr inbounds { i8, {} }, { i8, {} }* %26, i32 0, i32 1 br label %bb15 bb10: ; preds = %bb8 %28 = bitcast %"result::Result<(), fmt::Error>"* %_13 to { i8, %"fmt::Error" }* %29 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %28, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb11 bb11: ; preds = %bb10 %30 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %30, i8* %abi_cast2 %31 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb12 bb12: ; preds = %bb11 br label %bb14 bb13: ; preds = %bb2, %bb14 %32 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %33 = load i8, i8* %32, align 1 ret i8 %33 bb14: ; preds = %bb28, %bb12 br label %bb13 bb15: ; preds = %bb6, %bb9 %34 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 %35 = load i8*, i8** %34, !nonnull !1 %36 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 %37 = load i16, i16* %36 call void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$4find17h74ecb12df08bb790E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_25, i8* noalias nonnull readonly %35, i16 %37, i32 10) br label %bb16 bb16: ; preds = %bb15 %38 = getelementptr inbounds %"option::Option", %"option::Option"* %_25, i32 0, i32 0 %39 = load i16, i16* %38, !range !3 switch i16 %39, label %bb18 [ i16 0, label %bb17 ] bb17: ; preds = %bb16 %40 = getelementptr inbounds %"fmt::builders::PadAdapter", %"fmt::builders::PadAdapter"* %0, i32 0, i32 1 store i8 0, i8* %40 %41 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 %42 = load i8*, i8** %41, !nonnull !1 %43 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 %44 = load i16, i16* %43 %45 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %42, i16 %44) store i16 %45, i16* %split br label %bb21 bb18: ; preds = %bb16 %46 = bitcast %"option::Option"* %_25 to { i16, i16 }* %47 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %46, i32 0, i32 1 %48 = load i16, i16* %47 %49 = getelementptr inbounds %"fmt::builders::PadAdapter", %"fmt::builders::PadAdapter"* %0, i32 0, i32 1 store i8 1, i8* %49 %50 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %48, i16 1) %51 = extractvalue { i16, i1 } %50, 0 %52 = extractvalue { i16, i1 } %50, 1 %53 = call i1 @llvm.expect.i1(i1 %52, i1 false) br i1 %53, label %panic, label %bb20 bb19: ; preds = %bb21, %bb20 %54 = getelementptr inbounds %"fmt::builders::PadAdapter", %"fmt::builders::PadAdapter"* %0, i32 0, i32 0 %55 = load %"fmt::Formatter"*, %"fmt::Formatter"** %54, !nonnull !1 %56 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 %57 = load i8*, i8** %56, !nonnull !1 %58 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 %59 = load i16, i16* %58 %60 = load i16, i16* %split %61 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_40, i32 0, i32 0 store i16 %60, i16* %61 %62 = bitcast %"ops::RangeTo"* %_40 to i16* %63 = load i16, i16* %62, align 2 %64 = call %str_slice @"_ZN4core3str6traits89_$LT$impl$u20$core..ops..Index$LT$core..ops..RangeTo$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17h3af521c91fee7b5fE"(i8* noalias nonnull readonly %57, i16 %59, i16 %63) %65 = extractvalue %str_slice %64, 0 %66 = extractvalue %str_slice %64, 1 br label %bb22 bb20: ; preds = %bb18 store i16 %51, i16* %split br label %bb19 bb21: ; preds = %bb17 br label %bb19 bb22: ; preds = %bb19 %67 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %55, i8* noalias nonnull readonly %65, i16 %66) store i8 %67, i8* %abi_cast3 %68 = bitcast %"result::Result<(), fmt::Error>"* %_34 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %68, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb23 bb23: ; preds = %bb22 %69 = bitcast %"result::Result<(), fmt::Error>"* %_34 to i8* %70 = load i8, i8* %69, align 1 %71 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %70) store i8 %71, i8* %abi_cast4 %72 = bitcast %"result::Result<(), fmt::Error>"* %_33 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %72, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb24 bb24: ; preds = %bb23 %73 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_33, i32 0, i32 0 %74 = load i8, i8* %73, !range !2 %75 = zext i8 %74 to i16 switch i16 %75, label %bb26 [ i16 0, label %bb25 ] bb25: ; preds = %bb24 %76 = bitcast %"result::Result<(), fmt::Error>"* %_33 to { i8, {} }* %77 = getelementptr inbounds { i8, {} }, { i8, {} }* %76, i32 0, i32 1 %78 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 %79 = load i8*, i8** %78, !nonnull !1 %80 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 %81 = load i16, i16* %80 %82 = load i16, i16* %split %83 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_51, i32 0, i32 0 store i16 %82, i16* %83 %84 = bitcast %"ops::RangeFrom"* %_51 to i16* %85 = load i16, i16* %84, align 2 %86 = call %str_slice @"_ZN4core3str6traits91_$LT$impl$u20$core..ops..Index$LT$core..ops..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17he53d0ed7bcb77167E"(i8* noalias nonnull readonly %79, i16 %81, i16 %85) %87 = extractvalue %str_slice %86, 0 %88 = extractvalue %str_slice %86, 1 br label %bb29 bb26: ; preds = %bb24 %89 = bitcast %"result::Result<(), fmt::Error>"* %_33 to { i8, %"fmt::Error" }* %90 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %89, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb27 bb27: ; preds = %bb26 %91 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %91, i8* %abi_cast5 %92 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %92, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb28 bb28: ; preds = %bb27 br label %bb14 bb29: ; preds = %bb25 %93 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 store i8* %87, i8** %93 %94 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 store i16 %88, i16* %94 br label %bb1 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7O) unreachable } ; Function Attrs: uwtable define void @_ZN4core3fmt8builders16debug_struct_new17h10220dec28e033bcE(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4), %"fmt::Formatter"* dereferenceable(32), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_9 = alloca %"result::Result<(), fmt::Error>" %result = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %4 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly %2, i16 %3) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %result to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %result to i8* %7 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 1, i32 1, i1 false) %8 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %0, i32 0, i32 0 store %"fmt::Formatter"* %1, %"fmt::Formatter"** %8 %9 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %0, i32 0, i32 1 %10 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* %11 = bitcast %"result::Result<(), fmt::Error>"* %9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 1, i32 1, i1 false) %12 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %0, i32 0, i32 2 store i8 0, i8* %12 ret void } ; Function Attrs: uwtable define dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4), i8* noalias nonnull readonly, i16, i8* nonnull, void (i8*)** noalias nonnull readonly) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_10 = alloca %closure.32 %_9 = alloca %"result::Result<(), fmt::Error>" %_8 = alloca %"result::Result<(), fmt::Error>" %value = alloca { i8*, void (i8*)** } %name = alloca %str_slice %self = alloca %"fmt::builders::DebugStruct"* br label %start start: ; preds = %entry-block store %"fmt::builders::DebugStruct"* %0, %"fmt::builders::DebugStruct"** %self %5 = getelementptr inbounds %str_slice, %str_slice* %name, i32 0, i32 0 store i8* %1, i8** %5 %6 = getelementptr inbounds %str_slice, %str_slice* %name, i32 0, i32 1 store i16 %2, i16* %6 %7 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %value, i32 0, i32 0 store i8* %3, i8** %7 %8 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %value, i32 0, i32 1 store void (i8*)** %4, void (i8*)*** %8 %9 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %self, !nonnull !1 %10 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %9, i32 0, i32 1 %11 = bitcast %"result::Result<(), fmt::Error>"* %10 to i8* %12 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 1, i32 1, i1 false) %13 = getelementptr inbounds %closure.32, %closure.32* %_10, i32 0, i32 0 store %"fmt::builders::DebugStruct"** %self, %"fmt::builders::DebugStruct"*** %13 %14 = getelementptr inbounds %closure.32, %closure.32* %_10, i32 0, i32 1 store %str_slice* %name, %str_slice** %14 %15 = getelementptr inbounds %closure.32, %closure.32* %_10, i32 0, i32 2 store { i8*, void (i8*)** }* %value, { i8*, void (i8*)** }** %15 %16 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* %17 = load i8, i8* %16, align 1 %18 = call i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h599665accfd2debfE"(i8 %17, %closure.32* noalias nocapture dereferenceable(6) %_10) store i8 %18, i8* %abi_cast %19 = bitcast %"result::Result<(), fmt::Error>"* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %20 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %self, !nonnull !1 %21 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %20, i32 0, i32 1 %22 = bitcast %"result::Result<(), fmt::Error>"* %_8 to i8* %23 = bitcast %"result::Result<(), fmt::Error>"* %21 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %23, i8* %22, i16 1, i32 1, i1 false) %24 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %self, !nonnull !1 %25 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %24, i32 0, i32 2 store i8 1, i8* %25 %26 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %self, !nonnull !1 ret %"fmt::builders::DebugStruct"* %26 } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt8builders11DebugStruct5field28_$u7b$$u7b$closure$u7d$$u7d$17h4f9ccf025a070effE"(%closure.32* noalias nocapture dereferenceable(6)) unnamed_addr #1 { entry-block: %abi_cast6 = alloca i8 %tmp_ret5 = alloca %"fmt::ArgumentV1" %tmp_ret4 = alloca %"fmt::ArgumentV1" %tmp_ret3 = alloca %"fmt::ArgumentV1" %abi_cast = alloca i8 %tmp_ret2 = alloca %"fmt::ArgumentV1" %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_43 = alloca { %str_slice*, %str_slice*, { i8*, void (i8*)** }* } %_42 = alloca [3 x %"fmt::ArgumentV1"] %_37 = alloca %"fmt::Arguments" %_19 = alloca { %str_slice*, %str_slice*, { i8*, void (i8*)** }* } %_18 = alloca [3 x %"fmt::ArgumentV1"] %_13 = alloca %"fmt::Arguments" %writer = alloca %"fmt::builders::PadAdapter" %prefix = alloca %str_slice %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %closure.32, %closure.32* %0, i32 0, i32 0 %2 = load %"fmt::builders::DebugStruct"**, %"fmt::builders::DebugStruct"*** %1, !nonnull !1 %3 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %2, !nonnull !1 %4 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %3, i32 0, i32 2 %5 = load i8, i8* %4, !range !2 %6 = trunc i8 %5 to i1 br i1 %6, label %bb1, label %bb2 bb1: ; preds = %start %7 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.7P, i32 0, i32 0), i8** %7 %8 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 store i16 1, i16* %8 br label %bb3 bb2: ; preds = %start %9 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.7Q, i32 0, i32 0), i8** %9 %10 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 store i16 2, i16* %10 br label %bb3 bb3: ; preds = %bb2, %bb1 %11 = getelementptr inbounds %closure.32, %closure.32* %0, i32 0, i32 0 %12 = load %"fmt::builders::DebugStruct"**, %"fmt::builders::DebugStruct"*** %11, !nonnull !1 %13 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %12, !nonnull !1 %14 = call zeroext i1 @_ZN4core3fmt8builders11DebugStruct9is_pretty17ha5904302ffb76458E(%"fmt::builders::DebugStruct"* noalias readonly dereferenceable(4) %13) br label %bb4 bb4: ; preds = %bb3 br i1 %14, label %bb5, label %bb6 bb5: ; preds = %bb4 %15 = getelementptr inbounds %closure.32, %closure.32* %0, i32 0, i32 0 %16 = load %"fmt::builders::DebugStruct"**, %"fmt::builders::DebugStruct"*** %15, !nonnull !1 %17 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %16, !nonnull !1 %18 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %17, i32 0, i32 0 %19 = load %"fmt::Formatter"*, %"fmt::Formatter"** %18, !nonnull !1 call void @_ZN4core3fmt8builders10PadAdapter3new17hc7a6a6d5078c8b70E(%"fmt::builders::PadAdapter"* noalias nocapture sret dereferenceable(4) %writer, %"fmt::Formatter"* dereferenceable(32) %19) br label %bb7 bb6: ; preds = %bb4 %20 = getelementptr inbounds %closure.32, %closure.32* %0, i32 0, i32 0 %21 = load %"fmt::builders::DebugStruct"**, %"fmt::builders::DebugStruct"*** %20, !nonnull !1 %22 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %21, !nonnull !1 %23 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %22, i32 0, i32 0 %24 = load %"fmt::Formatter"*, %"fmt::Formatter"** %23, !nonnull !1 %25 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders11DebugStruct5field28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17ha02279b67cd32833E", i32 0, i32 0), !nonnull !1 %26 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders11DebugStruct5field28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17ha02279b67cd32833E", i32 0, i32 1) %27 = getelementptr inbounds %closure.32, %closure.32* %0, i32 0, i32 1 %28 = load %str_slice*, %str_slice** %27, !nonnull !1 %29 = getelementptr inbounds %closure.32, %closure.32* %0, i32 0, i32 2 %30 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %29, !nonnull !1 %31 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_43, i32 0, i32 0 store %str_slice* %prefix, %str_slice** %31 %32 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_43, i32 0, i32 1 store %str_slice* %28, %str_slice** %32 %33 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_43, i32 0, i32 2 store { i8*, void (i8*)** }* %30, { i8*, void (i8*)** }** %33 %34 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_43, i32 0, i32 0 %35 = load %str_slice*, %str_slice** %34, !nonnull !1 %36 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_43, i32 0, i32 1 %37 = load %str_slice*, %str_slice** %36, !nonnull !1 %38 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_43, i32 0, i32 2 %39 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %38, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret3, %str_slice* noalias readonly dereferenceable(4) %35, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %40 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 0 %41 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 1 %42 = load %"fmt::Void"*, %"fmt::Void"** %40, !nonnull !1 %43 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %41, !nonnull !1 br label %bb13 bb7: ; preds = %bb5 %44 = bitcast %"fmt::builders::PadAdapter"* %writer to i8* %45 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders11DebugStruct5field28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h4b6cf2704b99263eE", i32 0, i32 0), !nonnull !1 %46 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders11DebugStruct5field28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h4b6cf2704b99263eE", i32 0, i32 1) %47 = getelementptr inbounds %closure.32, %closure.32* %0, i32 0, i32 1 %48 = load %str_slice*, %str_slice** %47, !nonnull !1 %49 = getelementptr inbounds %closure.32, %closure.32* %0, i32 0, i32 2 %50 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %49, !nonnull !1 %51 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 0 store %str_slice* %prefix, %str_slice** %51 %52 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 1 store %str_slice* %48, %str_slice** %52 %53 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 2 store { i8*, void (i8*)** }* %50, { i8*, void (i8*)** }** %53 %54 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 0 %55 = load %str_slice*, %str_slice** %54, !nonnull !1 %56 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 1 %57 = load %str_slice*, %str_slice** %56, !nonnull !1 %58 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 2 %59 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %58, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, %str_slice* noalias readonly dereferenceable(4) %55, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %60 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %61 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %62 = load %"fmt::Void"*, %"fmt::Void"** %60, !nonnull !1 %63 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %61, !nonnull !1 br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, %str_slice* noalias readonly dereferenceable(4) %57, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %64 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %65 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %66 = load %"fmt::Void"*, %"fmt::Void"** %64, !nonnull !1 %67 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %65, !nonnull !1 br label %bb9 bb9: ; preds = %bb8 call void @_ZN4core3fmt10ArgumentV13new17hddc1268375e89831E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret2, { i8*, void (i8*)** }* noalias readonly dereferenceable(4) %59, i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f4bf9d3372efe6eE") %68 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 0 %69 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 1 %70 = load %"fmt::Void"*, %"fmt::Void"** %68, !nonnull !1 %71 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %69, !nonnull !1 br label %bb10 bb10: ; preds = %bb9 %72 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_18, i32 0, i32 0 %73 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %72, i32 0, i32 0 store %"fmt::Void"* %62, %"fmt::Void"** %73 %74 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %72, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %63, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %74 %75 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_18, i32 0, i32 1 %76 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %75, i32 0, i32 0 store %"fmt::Void"* %66, %"fmt::Void"** %76 %77 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %75, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %67, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %77 %78 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_18, i32 0, i32 2 %79 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %78, i32 0, i32 0 store %"fmt::Void"* %70, %"fmt::Void"** %79 %80 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %78, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %71, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %80 %81 = bitcast [3 x %"fmt::ArgumentV1"]* %_18 to %"fmt::ArgumentV1"* %82 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN4core3fmt8builders11DebugStruct5field28_$u7b$$u7b$closure$u7d$$u7d$16__STATIC_FMTARGS17h5635ac24068b12deE", i32 0, i32 0), !nonnull !1 %83 = load i16, i16* getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN4core3fmt8builders11DebugStruct5field28_$u7b$$u7b$closure$u7d$$u7d$16__STATIC_FMTARGS17h5635ac24068b12deE", i32 0, i32 1) call void @_ZN4core3fmt9Arguments16new_v1_formatted17h34bc06d81ce02e19E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_13, %str_slice* noalias nonnull readonly %45, i16 %46, %"fmt::ArgumentV1"* noalias nonnull readonly %81, i16 3, %"fmt::rt::v1::Argument"* noalias nonnull readonly %82, i16 %83) br label %bb11 bb11: ; preds = %bb10 %84 = call i8 @_ZN4core3fmt5write17h52a33c89b70ab6dcE(i8* nonnull %44, void (i8*)** noalias nonnull readonly bitcast ({ void (%"fmt::builders::PadAdapter"*)*, i16, i16, i8 (%"fmt::builders::PadAdapter"*, i8*, i16)*, i8 (%"fmt::builders::PadAdapter"*, i32)*, i8 (%"fmt::builders::PadAdapter"*, %"fmt::Arguments"*)* }* @vtable.7R to void (i8*)**), %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_13) store i8 %84, i8* %abi_cast %85 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %85, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb12 bb12: ; preds = %bb11 br label %bb18 bb13: ; preds = %bb6 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret4, %str_slice* noalias readonly dereferenceable(4) %37, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %86 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 0 %87 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 1 %88 = load %"fmt::Void"*, %"fmt::Void"** %86, !nonnull !1 %89 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %87, !nonnull !1 br label %bb14 bb14: ; preds = %bb13 call void @_ZN4core3fmt10ArgumentV13new17hddc1268375e89831E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret5, { i8*, void (i8*)** }* noalias readonly dereferenceable(4) %39, i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f4bf9d3372efe6eE") %90 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret5, i32 0, i32 0 %91 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret5, i32 0, i32 1 %92 = load %"fmt::Void"*, %"fmt::Void"** %90, !nonnull !1 %93 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %91, !nonnull !1 br label %bb15 bb15: ; preds = %bb14 %94 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_42, i32 0, i32 0 %95 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %94, i32 0, i32 0 store %"fmt::Void"* %42, %"fmt::Void"** %95 %96 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %94, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %43, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %96 %97 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_42, i32 0, i32 1 %98 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %97, i32 0, i32 0 store %"fmt::Void"* %88, %"fmt::Void"** %98 %99 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %97, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %89, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %99 %100 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_42, i32 0, i32 2 %101 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %100, i32 0, i32 0 store %"fmt::Void"* %92, %"fmt::Void"** %101 %102 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %100, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %93, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %102 %103 = bitcast [3 x %"fmt::ArgumentV1"]* %_42 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_37, %str_slice* noalias nonnull readonly %25, i16 %26, %"fmt::ArgumentV1"* noalias nonnull readonly %103, i16 3) br label %bb16 bb16: ; preds = %bb15 %104 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %24, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_37) store i8 %104, i8* %abi_cast6 %105 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %105, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb17 bb17: ; preds = %bb16 br label %bb18 bb18: ; preds = %bb17, %bb12 %106 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %107 = load i8, i8* %106, align 1 ret i8 %107 } ; Function Attrs: uwtable define i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_9 = alloca %"result::Result<(), fmt::Error>" %_7 = alloca %closure.31 %_6 = alloca %"result::Result<(), fmt::Error>" %_5 = alloca %"result::Result<(), fmt::Error>" %_3 = alloca {} %self = alloca %"fmt::builders::DebugStruct"* %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store %"fmt::builders::DebugStruct"* %0, %"fmt::builders::DebugStruct"** %self %1 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %self, !nonnull !1 %2 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %1, i32 0, i32 2 %3 = load i8, i8* %2, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start %5 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %self, !nonnull !1 %6 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %5, i32 0, i32 1 %7 = bitcast %"result::Result<(), fmt::Error>"* %6 to i8* %8 = bitcast %"result::Result<(), fmt::Error>"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 1, i32 1, i1 false) %9 = getelementptr inbounds %closure.31, %closure.31* %_7, i32 0, i32 0 store %"fmt::builders::DebugStruct"** %self, %"fmt::builders::DebugStruct"*** %9 %10 = bitcast %"result::Result<(), fmt::Error>"* %_6 to i8* %11 = load i8, i8* %10, align 1 %12 = bitcast %closure.31* %_7 to i8** %13 = load i8*, i8** %12, align 2 %14 = call i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h52a6528c323e8e92E"(i8 %11, i8* %13) store i8 %14, i8* %abi_cast %15 = bitcast %"result::Result<(), fmt::Error>"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb2: ; preds = %start br label %bb4 bb3: ; preds = %bb1 %16 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %self, !nonnull !1 %17 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %16, i32 0, i32 1 %18 = bitcast %"result::Result<(), fmt::Error>"* %_5 to i8* %19 = bitcast %"result::Result<(), fmt::Error>"* %17 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb2, %bb3 %20 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %self, !nonnull !1 %21 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %20, i32 0, i32 1 %22 = bitcast %"result::Result<(), fmt::Error>"* %21 to i8* %23 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %23, i8* %22, i16 1, i32 1, i1 false) %24 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* %25 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %25, i8* %24, i16 1, i32 1, i1 false) %26 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %27 = load i8, i8* %26, align 1 ret i8 %27 } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt8builders11DebugStruct6finish28_$u7b$$u7b$closure$u7d$$u7d$17hd001e5185c778061E"(i8*) unnamed_addr #1 { entry-block: %abi_cast2 = alloca i8 %abi_cast1 = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8* %arg0 = alloca %closure.31 store i8* %0, i8** %abi_cast %1 = bitcast %closure.31* %arg0 to i8* %2 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %1, i8* %2, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %closure.31, %closure.31* %arg0, i32 0, i32 0 %4 = load %"fmt::builders::DebugStruct"**, %"fmt::builders::DebugStruct"*** %3, !nonnull !1 %5 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %4, !nonnull !1 %6 = call zeroext i1 @_ZN4core3fmt8builders11DebugStruct9is_pretty17ha5904302ffb76458E(%"fmt::builders::DebugStruct"* noalias readonly dereferenceable(4) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds %closure.31, %closure.31* %arg0, i32 0, i32 0 %8 = load %"fmt::builders::DebugStruct"**, %"fmt::builders::DebugStruct"*** %7, !nonnull !1 %9 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %8, !nonnull !1 %10 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %9, i32 0, i32 0 %11 = load %"fmt::Formatter"*, %"fmt::Formatter"** %10, !nonnull !1 %12 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %11, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.7S, i32 0, i32 0), i16 2) store i8 %12, i8* %abi_cast1 %13 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %13, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb4 bb3: ; preds = %bb1 %14 = getelementptr inbounds %closure.31, %closure.31* %arg0, i32 0, i32 0 %15 = load %"fmt::builders::DebugStruct"**, %"fmt::builders::DebugStruct"*** %14, !nonnull !1 %16 = load %"fmt::builders::DebugStruct"*, %"fmt::builders::DebugStruct"** %15, !nonnull !1 %17 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %16, i32 0, i32 0 %18 = load %"fmt::Formatter"*, %"fmt::Formatter"** %17, !nonnull !1 %19 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %18, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.7T, i32 0, i32 0), i16 2) store i8 %19, i8* %abi_cast2 %20 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %20, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb5 bb4: ; preds = %bb2 br label %bb6 bb5: ; preds = %bb3 br label %bb6 bb6: ; preds = %bb5, %bb4 %21 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %22 = load i8, i8* %21, align 1 ret i8 %22 } ; Function Attrs: uwtable define internal zeroext i1 @_ZN4core3fmt8builders11DebugStruct9is_pretty17ha5904302ffb76458E(%"fmt::builders::DebugStruct"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_8 = alloca i8 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"fmt::builders::DebugStruct", %"fmt::builders::DebugStruct"* %0, i32 0, i32 0 %2 = load %"fmt::Formatter"*, %"fmt::Formatter"** %1, !nonnull !1 %3 = call i32 @_ZN4core3fmt9Formatter5flags17h725e086285a1be59E(%"fmt::Formatter"* noalias readonly dereferenceable(32) %2) br label %bb1 bb1: ; preds = %start store i8 2, i8* %_8 %4 = load i8, i8* %_8 %5 = icmp ule i8 %4, 3 call void @llvm.assume(i1 %5) %6 = zext i8 %4 to i16 %7 = and i16 %6, -32 %8 = icmp ne i16 %7, 0 %9 = zext i16 %6 to i32 %10 = and i32 %9, 31 %11 = shl i32 1, %10 %12 = call i1 @llvm.expect.i1(i1 %8, i1 false) br i1 %12, label %panic, label %bb2 bb2: ; preds = %bb1 %13 = and i32 %3, %11 %14 = icmp ne i32 %13, 0 ret i1 %14 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7U) unreachable } ; Function Attrs: uwtable define void @_ZN4core3fmt8builders15debug_tuple_new17h06b4ca5d3cb9f751E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8), %"fmt::Formatter"* dereferenceable(32), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_9 = alloca %"result::Result<(), fmt::Error>" %result = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %4 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly %2, i16 %3) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %result to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %result to i8* %7 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 1, i32 1, i1 false) %8 = call zeroext i1 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$8is_empty17h0ca8b817bdaa0d44E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb2 bb2: ; preds = %bb1 %9 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %0, i32 0, i32 0 store %"fmt::Formatter"* %1, %"fmt::Formatter"** %9 %10 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %0, i32 0, i32 1 %11 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* %12 = bitcast %"result::Result<(), fmt::Error>"* %10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 1, i32 1, i1 false) %13 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %0, i32 0, i32 2 store i16 0, i16* %13 %14 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %0, i32 0, i32 3 %15 = zext i1 %8 to i8 store i8 %15, i8* %14 ret void } ; Function Attrs: uwtable define dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8), i8* nonnull, void (i8*)** noalias nonnull readonly) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %arg = alloca %closure.29 %_8 = alloca %closure.29 %_7 = alloca %"result::Result<(), fmt::Error>" %_6 = alloca %"result::Result<(), fmt::Error>" %value = alloca { i8*, void (i8*)** } %self = alloca %"fmt::builders::DebugTuple"* br label %start start: ; preds = %entry-block store %"fmt::builders::DebugTuple"* %0, %"fmt::builders::DebugTuple"** %self %3 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %value, i32 0, i32 0 store i8* %1, i8** %3 %4 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %value, i32 0, i32 1 store void (i8*)** %2, void (i8*)*** %4 %5 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %self, !nonnull !1 %6 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %5, i32 0, i32 1 %7 = bitcast %"result::Result<(), fmt::Error>"* %6 to i8* %8 = bitcast %"result::Result<(), fmt::Error>"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 1, i32 1, i1 false) %9 = getelementptr inbounds %closure.29, %closure.29* %_8, i32 0, i32 0 store %"fmt::builders::DebugTuple"** %self, %"fmt::builders::DebugTuple"*** %9 %10 = getelementptr inbounds %closure.29, %closure.29* %_8, i32 0, i32 1 store { i8*, void (i8*)** }* %value, { i8*, void (i8*)** }** %10 %11 = bitcast %"result::Result<(), fmt::Error>"* %_7 to i8* %12 = load i8, i8* %11, align 1 %13 = getelementptr inbounds %closure.29, %closure.29* %_8, i32 0, i32 0 %14 = getelementptr inbounds %closure.29, %closure.29* %_8, i32 0, i32 1 %15 = load %"fmt::builders::DebugTuple"**, %"fmt::builders::DebugTuple"*** %13, !nonnull !1 %16 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %14, !nonnull !1 %17 = getelementptr inbounds %closure.29, %closure.29* %arg, i32 0, i32 0 store %"fmt::builders::DebugTuple"** %15, %"fmt::builders::DebugTuple"*** %17 %18 = getelementptr inbounds %closure.29, %closure.29* %arg, i32 0, i32 1 store { i8*, void (i8*)** }* %16, { i8*, void (i8*)** }** %18 %19 = call i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h475ebb16d6ff9c3eE"(i8 %12, %closure.29* noalias nocapture dereferenceable(4) %arg) store i8 %19, i8* %abi_cast %20 = bitcast %"result::Result<(), fmt::Error>"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %20, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %21 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %self, !nonnull !1 %22 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %21, i32 0, i32 1 %23 = bitcast %"result::Result<(), fmt::Error>"* %_6 to i8* %24 = bitcast %"result::Result<(), fmt::Error>"* %22 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %23, i16 1, i32 1, i1 false) %25 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %self, !nonnull !1 %26 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %25, i32 0, i32 2 %27 = load i16, i16* %26 %28 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %27, i16 1) %29 = extractvalue { i16, i1 } %28, 0 %30 = extractvalue { i16, i1 } %28, 1 %31 = call i1 @llvm.expect.i1(i1 %30, i1 false) br i1 %31, label %panic, label %bb2 bb2: ; preds = %bb1 %32 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %self, !nonnull !1 %33 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %32, i32 0, i32 2 store i16 %29, i16* %33 %34 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %self, !nonnull !1 ret %"fmt::builders::DebugTuple"* %34 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.7V) unreachable } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt8builders10DebugTuple5field28_$u7b$$u7b$closure$u7d$$u7d$17hce2071c1a09115eaE"(%closure.29* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %abi_cast5 = alloca i8 %tmp_ret4 = alloca %"fmt::ArgumentV1" %tmp_ret3 = alloca %"fmt::ArgumentV1" %tmp_ret2 = alloca %"fmt::ArgumentV1" %abi_cast = alloca i8 %tmp_ret1 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_40 = alloca { %str_slice*, %str_slice*, { i8*, void (i8*)** }* } %_39 = alloca [3 x %"fmt::ArgumentV1"] %_34 = alloca %"fmt::Arguments" %_21 = alloca { %str_slice*, { i8*, void (i8*)** }* } %_20 = alloca [2 x %"fmt::ArgumentV1"] %_15 = alloca %"fmt::Arguments" %writer = alloca %"fmt::builders::PadAdapter" %_5 = alloca { %str_slice, %str_slice } %space = alloca %str_slice %prefix = alloca %str_slice %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %closure.29, %closure.29* %0, i32 0, i32 0 %2 = load %"fmt::builders::DebugTuple"**, %"fmt::builders::DebugTuple"*** %1, !nonnull !1 %3 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %2, !nonnull !1 %4 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %3, i32 0, i32 2 %5 = load i16, i16* %4 %6 = icmp ugt i16 %5, 0 br i1 %6, label %bb1, label %bb2 bb1: ; preds = %start %7 = getelementptr inbounds { %str_slice, %str_slice }, { %str_slice, %str_slice }* %_5, i32 0, i32 0 %8 = getelementptr inbounds %str_slice, %str_slice* %7, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.7P, i32 0, i32 0), i8** %8 %9 = getelementptr inbounds %str_slice, %str_slice* %7, i32 0, i32 1 store i16 1, i16* %9 %10 = getelementptr inbounds { %str_slice, %str_slice }, { %str_slice, %str_slice }* %_5, i32 0, i32 1 %11 = getelementptr inbounds %str_slice, %str_slice* %10, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.7W, i32 0, i32 0), i8** %11 %12 = getelementptr inbounds %str_slice, %str_slice* %10, i32 0, i32 1 store i16 1, i16* %12 br label %bb3 bb2: ; preds = %start %13 = getelementptr inbounds { %str_slice, %str_slice }, { %str_slice, %str_slice }* %_5, i32 0, i32 0 %14 = getelementptr inbounds %str_slice, %str_slice* %13, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.7X, i32 0, i32 0), i8** %14 %15 = getelementptr inbounds %str_slice, %str_slice* %13, i32 0, i32 1 store i16 1, i16* %15 %16 = getelementptr inbounds { %str_slice, %str_slice }, { %str_slice, %str_slice }* %_5, i32 0, i32 1 %17 = getelementptr inbounds %str_slice, %str_slice* %16, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i8** %17 %18 = getelementptr inbounds %str_slice, %str_slice* %16, i32 0, i32 1 store i16 0, i16* %18 br label %bb3 bb3: ; preds = %bb2, %bb1 %19 = getelementptr inbounds { %str_slice, %str_slice }, { %str_slice, %str_slice }* %_5, i32 0, i32 0 %20 = getelementptr inbounds %str_slice, %str_slice* %19, i32 0, i32 0 %21 = load i8*, i8** %20, !nonnull !1 %22 = getelementptr inbounds %str_slice, %str_slice* %19, i32 0, i32 1 %23 = load i16, i16* %22 %24 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 store i8* %21, i8** %24 %25 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 store i16 %23, i16* %25 %26 = getelementptr inbounds { %str_slice, %str_slice }, { %str_slice, %str_slice }* %_5, i32 0, i32 1 %27 = getelementptr inbounds %str_slice, %str_slice* %26, i32 0, i32 0 %28 = load i8*, i8** %27, !nonnull !1 %29 = getelementptr inbounds %str_slice, %str_slice* %26, i32 0, i32 1 %30 = load i16, i16* %29 %31 = getelementptr inbounds %str_slice, %str_slice* %space, i32 0, i32 0 store i8* %28, i8** %31 %32 = getelementptr inbounds %str_slice, %str_slice* %space, i32 0, i32 1 store i16 %30, i16* %32 %33 = getelementptr inbounds %closure.29, %closure.29* %0, i32 0, i32 0 %34 = load %"fmt::builders::DebugTuple"**, %"fmt::builders::DebugTuple"*** %33, !nonnull !1 %35 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %34, !nonnull !1 %36 = call zeroext i1 @_ZN4core3fmt8builders10DebugTuple9is_pretty17h528eeede83a10da0E(%"fmt::builders::DebugTuple"* noalias readonly dereferenceable(8) %35) br label %bb4 bb4: ; preds = %bb3 br i1 %36, label %bb5, label %bb6 bb5: ; preds = %bb4 %37 = getelementptr inbounds %closure.29, %closure.29* %0, i32 0, i32 0 %38 = load %"fmt::builders::DebugTuple"**, %"fmt::builders::DebugTuple"*** %37, !nonnull !1 %39 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %38, !nonnull !1 %40 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %39, i32 0, i32 0 %41 = load %"fmt::Formatter"*, %"fmt::Formatter"** %40, !nonnull !1 call void @_ZN4core3fmt8builders10PadAdapter3new17hc7a6a6d5078c8b70E(%"fmt::builders::PadAdapter"* noalias nocapture sret dereferenceable(4) %writer, %"fmt::Formatter"* dereferenceable(32) %41) br label %bb7 bb6: ; preds = %bb4 %42 = getelementptr inbounds %closure.29, %closure.29* %0, i32 0, i32 0 %43 = load %"fmt::builders::DebugTuple"**, %"fmt::builders::DebugTuple"*** %42, !nonnull !1 %44 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %43, !nonnull !1 %45 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %44, i32 0, i32 0 %46 = load %"fmt::Formatter"*, %"fmt::Formatter"** %45, !nonnull !1 %47 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders10DebugTuple5field28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h60f461c0ba544eb8E", i32 0, i32 0), !nonnull !1 %48 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders10DebugTuple5field28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h60f461c0ba544eb8E", i32 0, i32 1) %49 = getelementptr inbounds %closure.29, %closure.29* %0, i32 0, i32 1 %50 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %49, !nonnull !1 %51 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_40, i32 0, i32 0 store %str_slice* %prefix, %str_slice** %51 %52 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_40, i32 0, i32 1 store %str_slice* %space, %str_slice** %52 %53 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_40, i32 0, i32 2 store { i8*, void (i8*)** }* %50, { i8*, void (i8*)** }** %53 %54 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_40, i32 0, i32 0 %55 = load %str_slice*, %str_slice** %54, !nonnull !1 %56 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_40, i32 0, i32 1 %57 = load %str_slice*, %str_slice** %56, !nonnull !1 %58 = getelementptr inbounds { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, %str_slice*, { i8*, void (i8*)** }* }* %_40, i32 0, i32 2 %59 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %58, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret2, %str_slice* noalias readonly dereferenceable(4) %55, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %60 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 0 %61 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 1 %62 = load %"fmt::Void"*, %"fmt::Void"** %60, !nonnull !1 %63 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %61, !nonnull !1 br label %bb12 bb7: ; preds = %bb5 %64 = bitcast %"fmt::builders::PadAdapter"* %writer to i8* %65 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders10DebugTuple5field28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17hff4f1aa961cba555E", i32 0, i32 0), !nonnull !1 %66 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders10DebugTuple5field28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17hff4f1aa961cba555E", i32 0, i32 1) %67 = getelementptr inbounds %closure.29, %closure.29* %0, i32 0, i32 1 %68 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %67, !nonnull !1 %69 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }* }* %_21, i32 0, i32 0 store %str_slice* %prefix, %str_slice** %69 %70 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }* }* %_21, i32 0, i32 1 store { i8*, void (i8*)** }* %68, { i8*, void (i8*)** }** %70 %71 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }* }* %_21, i32 0, i32 0 %72 = load %str_slice*, %str_slice** %71, !nonnull !1 %73 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }* }* %_21, i32 0, i32 1 %74 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %73, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, %str_slice* noalias readonly dereferenceable(4) %72, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %75 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %76 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %77 = load %"fmt::Void"*, %"fmt::Void"** %75, !nonnull !1 %78 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %76, !nonnull !1 br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core3fmt10ArgumentV13new17hddc1268375e89831E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret1, { i8*, void (i8*)** }* noalias readonly dereferenceable(4) %74, i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f4bf9d3372efe6eE") %79 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 0 %80 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret1, i32 0, i32 1 %81 = load %"fmt::Void"*, %"fmt::Void"** %79, !nonnull !1 %82 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %80, !nonnull !1 br label %bb9 bb9: ; preds = %bb8 %83 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_20, i32 0, i32 0 %84 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %83, i32 0, i32 0 store %"fmt::Void"* %77, %"fmt::Void"** %84 %85 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %83, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %78, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %85 %86 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_20, i32 0, i32 1 %87 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %86, i32 0, i32 0 store %"fmt::Void"* %81, %"fmt::Void"** %87 %88 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %86, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %82, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %88 %89 = bitcast [2 x %"fmt::ArgumentV1"]* %_20 to %"fmt::ArgumentV1"* %90 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN4core3fmt8builders10DebugTuple5field28_$u7b$$u7b$closure$u7d$$u7d$16__STATIC_FMTARGS17h2d74a3ca76119800E", i32 0, i32 0), !nonnull !1 %91 = load i16, i16* getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN4core3fmt8builders10DebugTuple5field28_$u7b$$u7b$closure$u7d$$u7d$16__STATIC_FMTARGS17h2d74a3ca76119800E", i32 0, i32 1) call void @_ZN4core3fmt9Arguments16new_v1_formatted17h34bc06d81ce02e19E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_15, %str_slice* noalias nonnull readonly %65, i16 %66, %"fmt::ArgumentV1"* noalias nonnull readonly %89, i16 2, %"fmt::rt::v1::Argument"* noalias nonnull readonly %90, i16 %91) br label %bb10 bb10: ; preds = %bb9 %92 = call i8 @_ZN4core3fmt5write17h52a33c89b70ab6dcE(i8* nonnull %64, void (i8*)** noalias nonnull readonly bitcast ({ void (%"fmt::builders::PadAdapter"*)*, i16, i16, i8 (%"fmt::builders::PadAdapter"*, i8*, i16)*, i8 (%"fmt::builders::PadAdapter"*, i32)*, i8 (%"fmt::builders::PadAdapter"*, %"fmt::Arguments"*)* }* @vtable.7R to void (i8*)**), %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_15) store i8 %92, i8* %abi_cast %93 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %93, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb11 bb11: ; preds = %bb10 br label %bb17 bb12: ; preds = %bb6 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret3, %str_slice* noalias readonly dereferenceable(4) %57, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %94 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 0 %95 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 1 %96 = load %"fmt::Void"*, %"fmt::Void"** %94, !nonnull !1 %97 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %95, !nonnull !1 br label %bb13 bb13: ; preds = %bb12 call void @_ZN4core3fmt10ArgumentV13new17hddc1268375e89831E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret4, { i8*, void (i8*)** }* noalias readonly dereferenceable(4) %59, i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f4bf9d3372efe6eE") %98 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 0 %99 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 1 %100 = load %"fmt::Void"*, %"fmt::Void"** %98, !nonnull !1 %101 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %99, !nonnull !1 br label %bb14 bb14: ; preds = %bb13 %102 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_39, i32 0, i32 0 %103 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %102, i32 0, i32 0 store %"fmt::Void"* %62, %"fmt::Void"** %103 %104 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %102, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %63, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %104 %105 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_39, i32 0, i32 1 %106 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %105, i32 0, i32 0 store %"fmt::Void"* %96, %"fmt::Void"** %106 %107 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %105, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %97, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %107 %108 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_39, i32 0, i32 2 %109 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %108, i32 0, i32 0 store %"fmt::Void"* %100, %"fmt::Void"** %109 %110 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %108, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %101, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %110 %111 = bitcast [3 x %"fmt::ArgumentV1"]* %_39 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_34, %str_slice* noalias nonnull readonly %47, i16 %48, %"fmt::ArgumentV1"* noalias nonnull readonly %111, i16 3) br label %bb15 bb15: ; preds = %bb14 %112 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %46, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_34) store i8 %112, i8* %abi_cast5 %113 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %113, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb16 bb16: ; preds = %bb15 br label %bb17 bb17: ; preds = %bb16, %bb11 %114 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %115 = load i8, i8* %114, align 1 ret i8 %115 } ; Function Attrs: uwtable define i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_10 = alloca %"result::Result<(), fmt::Error>" %_8 = alloca %closure.30 %_7 = alloca %"result::Result<(), fmt::Error>" %_6 = alloca %"result::Result<(), fmt::Error>" %_3 = alloca {} %self = alloca %"fmt::builders::DebugTuple"* %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store %"fmt::builders::DebugTuple"* %0, %"fmt::builders::DebugTuple"** %self %1 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %self, !nonnull !1 %2 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %1, i32 0, i32 2 %3 = load i16, i16* %2 %4 = icmp ugt i16 %3, 0 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start %5 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %self, !nonnull !1 %6 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %5, i32 0, i32 1 %7 = bitcast %"result::Result<(), fmt::Error>"* %6 to i8* %8 = bitcast %"result::Result<(), fmt::Error>"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 1, i32 1, i1 false) %9 = getelementptr inbounds %closure.30, %closure.30* %_8, i32 0, i32 0 store %"fmt::builders::DebugTuple"** %self, %"fmt::builders::DebugTuple"*** %9 %10 = bitcast %"result::Result<(), fmt::Error>"* %_7 to i8* %11 = load i8, i8* %10, align 1 %12 = bitcast %closure.30* %_8 to i8** %13 = load i8*, i8** %12, align 2 %14 = call i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h4981d0ddc6be30b1E"(i8 %11, i8* %13) store i8 %14, i8* %abi_cast %15 = bitcast %"result::Result<(), fmt::Error>"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb2: ; preds = %start br label %bb4 bb3: ; preds = %bb1 %16 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %self, !nonnull !1 %17 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %16, i32 0, i32 1 %18 = bitcast %"result::Result<(), fmt::Error>"* %_6 to i8* %19 = bitcast %"result::Result<(), fmt::Error>"* %17 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb2, %bb3 %20 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %self, !nonnull !1 %21 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %20, i32 0, i32 1 %22 = bitcast %"result::Result<(), fmt::Error>"* %21 to i8* %23 = bitcast %"result::Result<(), fmt::Error>"* %_10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %23, i8* %22, i16 1, i32 1, i1 false) %24 = bitcast %"result::Result<(), fmt::Error>"* %_10 to i8* %25 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %25, i8* %24, i16 1, i32 1, i1 false) %26 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %27 = load i8, i8* %26, align 1 ret i8 %27 } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt8builders10DebugTuple6finish28_$u7b$$u7b$closure$u7d$$u7d$17h7d172518371ddc4dE"(i8*) unnamed_addr #1 { entry-block: %abi_cast7 = alloca i8 %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast2 = alloca i8 %abi_cast1 = alloca i8 %_25 = alloca %"result::Result<(), fmt::Error>" %_24 = alloca %"result::Result<(), fmt::Error>" %_19 = alloca i8 %_18 = alloca {} %_8 = alloca %"result::Result<(), fmt::Error>" %_7 = alloca %"result::Result<(), fmt::Error>" %_3 = alloca {} %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8* %arg0 = alloca %closure.30 store i8* %0, i8** %abi_cast %1 = bitcast %closure.30* %arg0 to i8* %2 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %1, i8* %2, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %closure.30, %closure.30* %arg0, i32 0, i32 0 %4 = load %"fmt::builders::DebugTuple"**, %"fmt::builders::DebugTuple"*** %3, !nonnull !1 %5 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %4, !nonnull !1 %6 = call zeroext i1 @_ZN4core3fmt8builders10DebugTuple9is_pretty17h528eeede83a10da0E(%"fmt::builders::DebugTuple"* noalias readonly dereferenceable(8) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds %closure.30, %closure.30* %arg0, i32 0, i32 0 %8 = load %"fmt::builders::DebugTuple"**, %"fmt::builders::DebugTuple"*** %7, !nonnull !1 %9 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %8, !nonnull !1 %10 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %9, i32 0, i32 0 %11 = load %"fmt::Formatter"*, %"fmt::Formatter"** %10, !nonnull !1 %12 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %11, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.7Y, i32 0, i32 0), i16 1) store i8 %12, i8* %abi_cast1 %13 = bitcast %"result::Result<(), fmt::Error>"* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %13, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb4 bb3: ; preds = %bb1 br label %bb11 bb4: ; preds = %bb2 %14 = bitcast %"result::Result<(), fmt::Error>"* %_8 to i8* %15 = load i8, i8* %14, align 1 %16 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %15) store i8 %16, i8* %abi_cast2 %17 = bitcast %"result::Result<(), fmt::Error>"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %17, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb5 bb5: ; preds = %bb4 %18 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_7, i32 0, i32 0 %19 = load i8, i8* %18, !range !2 %20 = zext i8 %19 to i16 switch i16 %20, label %bb7 [ i16 0, label %bb6 ] bb6: ; preds = %bb5 %21 = bitcast %"result::Result<(), fmt::Error>"* %_7 to { i8, {} }* %22 = getelementptr inbounds { i8, {} }, { i8, {} }* %21, i32 0, i32 1 br label %bb11 bb7: ; preds = %bb5 %23 = bitcast %"result::Result<(), fmt::Error>"* %_7 to { i8, %"fmt::Error" }* %24 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %23, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb8 bb8: ; preds = %bb7 %25 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %25, i8* %abi_cast3 %26 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 br label %bb10 bb10: ; preds = %bb25, %bb23, %bb9 %27 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %28 = load i8, i8* %27, align 1 ret i8 %28 bb11: ; preds = %bb3, %bb6 %29 = getelementptr inbounds %closure.30, %closure.30* %arg0, i32 0, i32 0 %30 = load %"fmt::builders::DebugTuple"**, %"fmt::builders::DebugTuple"*** %29, !nonnull !1 %31 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %30, !nonnull !1 %32 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %31, i32 0, i32 2 %33 = load i16, i16* %32 %34 = icmp eq i16 %33, 1 br i1 %34, label %bb14, label %bb13 bb12: ; preds = %bb14 store i8 1, i8* %_19 br label %bb15 bb13: ; preds = %bb14, %bb11 store i8 0, i8* %_19 br label %bb15 bb14: ; preds = %bb11 %35 = getelementptr inbounds %closure.30, %closure.30* %arg0, i32 0, i32 0 %36 = load %"fmt::builders::DebugTuple"**, %"fmt::builders::DebugTuple"*** %35, !nonnull !1 %37 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %36, !nonnull !1 %38 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %37, i32 0, i32 3 %39 = load i8, i8* %38, !range !2 %40 = trunc i8 %39 to i1 br i1 %40, label %bb12, label %bb13 bb15: ; preds = %bb13, %bb12 %41 = load i8, i8* %_19, !range !2 %42 = trunc i8 %41 to i1 br i1 %42, label %bb16, label %bb17 bb16: ; preds = %bb15 %43 = getelementptr inbounds %closure.30, %closure.30* %arg0, i32 0, i32 0 %44 = load %"fmt::builders::DebugTuple"**, %"fmt::builders::DebugTuple"*** %43, !nonnull !1 %45 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %44, !nonnull !1 %46 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %45, i32 0, i32 0 %47 = load %"fmt::Formatter"*, %"fmt::Formatter"** %46, !nonnull !1 %48 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %47, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.7P, i32 0, i32 0), i16 1) store i8 %48, i8* %abi_cast4 %49 = bitcast %"result::Result<(), fmt::Error>"* %_25 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %49, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb18 bb17: ; preds = %bb15 br label %bb24 bb18: ; preds = %bb16 %50 = bitcast %"result::Result<(), fmt::Error>"* %_25 to i8* %51 = load i8, i8* %50, align 1 %52 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %51) store i8 %52, i8* %abi_cast5 %53 = bitcast %"result::Result<(), fmt::Error>"* %_24 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %53, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb19 bb19: ; preds = %bb18 %54 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_24, i32 0, i32 0 %55 = load i8, i8* %54, !range !2 %56 = zext i8 %55 to i16 switch i16 %56, label %bb21 [ i16 0, label %bb20 ] bb20: ; preds = %bb19 %57 = bitcast %"result::Result<(), fmt::Error>"* %_24 to { i8, {} }* %58 = getelementptr inbounds { i8, {} }, { i8, {} }* %57, i32 0, i32 1 br label %bb24 bb21: ; preds = %bb19 %59 = bitcast %"result::Result<(), fmt::Error>"* %_24 to { i8, %"fmt::Error" }* %60 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %59, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb22 bb22: ; preds = %bb21 %61 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %61, i8* %abi_cast6 %62 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %62, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb23 bb23: ; preds = %bb22 br label %bb10 bb24: ; preds = %bb17, %bb20 %63 = getelementptr inbounds %closure.30, %closure.30* %arg0, i32 0, i32 0 %64 = load %"fmt::builders::DebugTuple"**, %"fmt::builders::DebugTuple"*** %63, !nonnull !1 %65 = load %"fmt::builders::DebugTuple"*, %"fmt::builders::DebugTuple"** %64, !nonnull !1 %66 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %65, i32 0, i32 0 %67 = load %"fmt::Formatter"*, %"fmt::Formatter"** %66, !nonnull !1 %68 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %67, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.7Z, i32 0, i32 0), i16 1) store i8 %68, i8* %abi_cast7 %69 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %69, i8* %abi_cast7, i16 1, i32 1, i1 false) br label %bb25 bb25: ; preds = %bb24 br label %bb10 } ; Function Attrs: uwtable define internal zeroext i1 @_ZN4core3fmt8builders10DebugTuple9is_pretty17h528eeede83a10da0E(%"fmt::builders::DebugTuple"* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: %_8 = alloca i8 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %0, i32 0, i32 0 %2 = load %"fmt::Formatter"*, %"fmt::Formatter"** %1, !nonnull !1 %3 = call i32 @_ZN4core3fmt9Formatter5flags17h725e086285a1be59E(%"fmt::Formatter"* noalias readonly dereferenceable(32) %2) br label %bb1 bb1: ; preds = %start store i8 2, i8* %_8 %4 = load i8, i8* %_8 %5 = icmp ule i8 %4, 3 call void @llvm.assume(i1 %5) %6 = zext i8 %4 to i16 %7 = and i16 %6, -32 %8 = icmp ne i16 %7, 0 %9 = zext i16 %6 to i32 %10 = and i32 %9, 31 %11 = shl i32 1, %10 %12 = call i1 @llvm.expect.i1(i1 %8, i1 false) br i1 %12, label %panic, label %bb2 bb2: ; preds = %bb1 %13 = and i32 %3, %11 %14 = icmp ne i32 %13, 0 ret i1 %14 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.80) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3fmt8builders10DebugInner5entry17hef7a20d45650367fE(%"fmt::builders::DebugInner"* dereferenceable(4), i8* nonnull, void (i8*)** noalias nonnull readonly) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %arg = alloca %closure.34 %_7 = alloca %closure.34 %_6 = alloca %"result::Result<(), fmt::Error>" %_5 = alloca %"result::Result<(), fmt::Error>" %entry = alloca { i8*, void (i8*)** } %self = alloca %"fmt::builders::DebugInner"* %_0 = alloca {} br label %start start: ; preds = %entry-block store %"fmt::builders::DebugInner"* %0, %"fmt::builders::DebugInner"** %self %3 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %entry, i32 0, i32 0 store i8* %1, i8** %3 %4 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %entry, i32 0, i32 1 store void (i8*)** %2, void (i8*)*** %4 %5 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %self, !nonnull !1 %6 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %5, i32 0, i32 1 %7 = bitcast %"result::Result<(), fmt::Error>"* %6 to i8* %8 = bitcast %"result::Result<(), fmt::Error>"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 1, i32 1, i1 false) %9 = getelementptr inbounds %closure.34, %closure.34* %_7, i32 0, i32 0 store %"fmt::builders::DebugInner"** %self, %"fmt::builders::DebugInner"*** %9 %10 = getelementptr inbounds %closure.34, %closure.34* %_7, i32 0, i32 1 store { i8*, void (i8*)** }* %entry, { i8*, void (i8*)** }** %10 %11 = bitcast %"result::Result<(), fmt::Error>"* %_6 to i8* %12 = load i8, i8* %11, align 1 %13 = getelementptr inbounds %closure.34, %closure.34* %_7, i32 0, i32 0 %14 = getelementptr inbounds %closure.34, %closure.34* %_7, i32 0, i32 1 %15 = load %"fmt::builders::DebugInner"**, %"fmt::builders::DebugInner"*** %13, !nonnull !1 %16 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %14, !nonnull !1 %17 = getelementptr inbounds %closure.34, %closure.34* %arg, i32 0, i32 0 store %"fmt::builders::DebugInner"** %15, %"fmt::builders::DebugInner"*** %17 %18 = getelementptr inbounds %closure.34, %closure.34* %arg, i32 0, i32 1 store { i8*, void (i8*)** }* %16, { i8*, void (i8*)** }** %18 %19 = call i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h997a5dc0d9686cc4E"(i8 %12, %closure.34* noalias nocapture dereferenceable(4) %arg) store i8 %19, i8* %abi_cast %20 = bitcast %"result::Result<(), fmt::Error>"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %20, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %21 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %self, !nonnull !1 %22 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %21, i32 0, i32 1 %23 = bitcast %"result::Result<(), fmt::Error>"* %_5 to i8* %24 = bitcast %"result::Result<(), fmt::Error>"* %22 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %23, i16 1, i32 1, i1 false) %25 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %self, !nonnull !1 %26 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %25, i32 0, i32 2 store i8 1, i8* %26 ret void } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt8builders10DebugInner5entry28_$u7b$$u7b$closure$u7d$$u7d$17h9b8353c0c26bfdb3E"(%closure.34* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %abi_cast5 = alloca i8 %tmp_ret4 = alloca %"fmt::ArgumentV1" %tmp_ret3 = alloca %"fmt::ArgumentV1" %abi_cast = alloca i8 %tmp_ret2 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_41 = alloca { %str_slice*, { i8*, void (i8*)** }* } %_40 = alloca [2 x %"fmt::ArgumentV1"] %_35 = alloca %"fmt::Arguments" %prefix1 = alloca %str_slice %_19 = alloca { %str_slice*, { i8*, void (i8*)** }* } %_18 = alloca [2 x %"fmt::ArgumentV1"] %_13 = alloca %"fmt::Arguments" %prefix = alloca %str_slice %writer = alloca %"fmt::builders::PadAdapter" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %closure.34, %closure.34* %0, i32 0, i32 0 %2 = load %"fmt::builders::DebugInner"**, %"fmt::builders::DebugInner"*** %1, !nonnull !1 %3 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %2, !nonnull !1 %4 = call zeroext i1 @_ZN4core3fmt8builders10DebugInner9is_pretty17hc12bfdf3dae8b799E(%"fmt::builders::DebugInner"* noalias readonly dereferenceable(4) %3) br label %bb1 bb1: ; preds = %start br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %closure.34, %closure.34* %0, i32 0, i32 0 %6 = load %"fmt::builders::DebugInner"**, %"fmt::builders::DebugInner"*** %5, !nonnull !1 %7 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %6, !nonnull !1 %8 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %7, i32 0, i32 0 %9 = load %"fmt::Formatter"*, %"fmt::Formatter"** %8, !nonnull !1 call void @_ZN4core3fmt8builders10PadAdapter3new17hc7a6a6d5078c8b70E(%"fmt::builders::PadAdapter"* noalias nocapture sret dereferenceable(4) %writer, %"fmt::Formatter"* dereferenceable(32) %9) br label %bb4 bb3: ; preds = %bb1 %10 = getelementptr inbounds %closure.34, %closure.34* %0, i32 0, i32 0 %11 = load %"fmt::builders::DebugInner"**, %"fmt::builders::DebugInner"*** %10, !nonnull !1 %12 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %11, !nonnull !1 %13 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %12, i32 0, i32 2 %14 = load i8, i8* %13, !range !2 %15 = trunc i8 %14 to i1 br i1 %15, label %bb12, label %bb13 bb4: ; preds = %bb2 %16 = getelementptr inbounds %closure.34, %closure.34* %0, i32 0, i32 0 %17 = load %"fmt::builders::DebugInner"**, %"fmt::builders::DebugInner"*** %16, !nonnull !1 %18 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %17, !nonnull !1 %19 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %18, i32 0, i32 2 %20 = load i8, i8* %19, !range !2 %21 = trunc i8 %20 to i1 br i1 %21, label %bb5, label %bb6 bb5: ; preds = %bb4 %22 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.7P, i32 0, i32 0), i8** %22 %23 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 store i16 1, i16* %23 br label %bb7 bb6: ; preds = %bb4 %24 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i8** %24 %25 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 store i16 0, i16* %25 br label %bb7 bb7: ; preds = %bb6, %bb5 %26 = bitcast %"fmt::builders::PadAdapter"* %writer to i8* %27 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders10DebugInner5entry28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h15884e8f8d08fd04E", i32 0, i32 0), !nonnull !1 %28 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders10DebugInner5entry28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h15884e8f8d08fd04E", i32 0, i32 1) %29 = getelementptr inbounds %closure.34, %closure.34* %0, i32 0, i32 1 %30 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %29, !nonnull !1 %31 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 0 store %str_slice* %prefix, %str_slice** %31 %32 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 1 store { i8*, void (i8*)** }* %30, { i8*, void (i8*)** }** %32 %33 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 0 %34 = load %str_slice*, %str_slice** %33, !nonnull !1 %35 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 1 %36 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %35, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, %str_slice* noalias readonly dereferenceable(4) %34, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %37 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %38 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %39 = load %"fmt::Void"*, %"fmt::Void"** %37, !nonnull !1 %40 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %38, !nonnull !1 br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core3fmt10ArgumentV13new17hddc1268375e89831E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret2, { i8*, void (i8*)** }* noalias readonly dereferenceable(4) %36, i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f4bf9d3372efe6eE") %41 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 0 %42 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 1 %43 = load %"fmt::Void"*, %"fmt::Void"** %41, !nonnull !1 %44 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %42, !nonnull !1 br label %bb9 bb9: ; preds = %bb8 %45 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_18, i32 0, i32 0 %46 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %45, i32 0, i32 0 store %"fmt::Void"* %39, %"fmt::Void"** %46 %47 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %45, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %40, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %47 %48 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_18, i32 0, i32 1 %49 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %48, i32 0, i32 0 store %"fmt::Void"* %43, %"fmt::Void"** %49 %50 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %48, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %44, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %50 %51 = bitcast [2 x %"fmt::ArgumentV1"]* %_18 to %"fmt::ArgumentV1"* %52 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN4core3fmt8builders10DebugInner5entry28_$u7b$$u7b$closure$u7d$$u7d$16__STATIC_FMTARGS17h9ec4384f22ad700cE", i32 0, i32 0), !nonnull !1 %53 = load i16, i16* getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN4core3fmt8builders10DebugInner5entry28_$u7b$$u7b$closure$u7d$$u7d$16__STATIC_FMTARGS17h9ec4384f22ad700cE", i32 0, i32 1) call void @_ZN4core3fmt9Arguments16new_v1_formatted17h34bc06d81ce02e19E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_13, %str_slice* noalias nonnull readonly %27, i16 %28, %"fmt::ArgumentV1"* noalias nonnull readonly %51, i16 2, %"fmt::rt::v1::Argument"* noalias nonnull readonly %52, i16 %53) br label %bb10 bb10: ; preds = %bb9 %54 = call i8 @_ZN4core3fmt5write17h52a33c89b70ab6dcE(i8* nonnull %26, void (i8*)** noalias nonnull readonly bitcast ({ void (%"fmt::builders::PadAdapter"*)*, i16, i16, i8 (%"fmt::builders::PadAdapter"*, i8*, i16)*, i8 (%"fmt::builders::PadAdapter"*, i32)*, i8 (%"fmt::builders::PadAdapter"*, %"fmt::Arguments"*)* }* @vtable.7R to void (i8*)**), %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_13) store i8 %54, i8* %abi_cast %55 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %55, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb11 bb11: ; preds = %bb10 br label %bb19 bb12: ; preds = %bb3 %56 = getelementptr inbounds %str_slice, %str_slice* %prefix1, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.81, i32 0, i32 0), i8** %56 %57 = getelementptr inbounds %str_slice, %str_slice* %prefix1, i32 0, i32 1 store i16 2, i16* %57 br label %bb14 bb13: ; preds = %bb3 %58 = getelementptr inbounds %str_slice, %str_slice* %prefix1, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i8** %58 %59 = getelementptr inbounds %str_slice, %str_slice* %prefix1, i32 0, i32 1 store i16 0, i16* %59 br label %bb14 bb14: ; preds = %bb13, %bb12 %60 = getelementptr inbounds %closure.34, %closure.34* %0, i32 0, i32 0 %61 = load %"fmt::builders::DebugInner"**, %"fmt::builders::DebugInner"*** %60, !nonnull !1 %62 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %61, !nonnull !1 %63 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %62, i32 0, i32 0 %64 = load %"fmt::Formatter"*, %"fmt::Formatter"** %63, !nonnull !1 %65 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders10DebugInner5entry28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h8faa9dc00df7b8acE", i32 0, i32 0), !nonnull !1 %66 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders10DebugInner5entry28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h8faa9dc00df7b8acE", i32 0, i32 1) %67 = getelementptr inbounds %closure.34, %closure.34* %0, i32 0, i32 1 %68 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %67, !nonnull !1 %69 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }* }* %_41, i32 0, i32 0 store %str_slice* %prefix1, %str_slice** %69 %70 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }* }* %_41, i32 0, i32 1 store { i8*, void (i8*)** }* %68, { i8*, void (i8*)** }** %70 %71 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }* }* %_41, i32 0, i32 0 %72 = load %str_slice*, %str_slice** %71, !nonnull !1 %73 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }* }* %_41, i32 0, i32 1 %74 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %73, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret3, %str_slice* noalias readonly dereferenceable(4) %72, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %75 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 0 %76 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 1 %77 = load %"fmt::Void"*, %"fmt::Void"** %75, !nonnull !1 %78 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %76, !nonnull !1 br label %bb15 bb15: ; preds = %bb14 call void @_ZN4core3fmt10ArgumentV13new17hddc1268375e89831E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret4, { i8*, void (i8*)** }* noalias readonly dereferenceable(4) %74, i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f4bf9d3372efe6eE") %79 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 0 %80 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 1 %81 = load %"fmt::Void"*, %"fmt::Void"** %79, !nonnull !1 %82 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %80, !nonnull !1 br label %bb16 bb16: ; preds = %bb15 %83 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_40, i32 0, i32 0 %84 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %83, i32 0, i32 0 store %"fmt::Void"* %77, %"fmt::Void"** %84 %85 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %83, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %78, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %85 %86 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_40, i32 0, i32 1 %87 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %86, i32 0, i32 0 store %"fmt::Void"* %81, %"fmt::Void"** %87 %88 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %86, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %82, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %88 %89 = bitcast [2 x %"fmt::ArgumentV1"]* %_40 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_35, %str_slice* noalias nonnull readonly %65, i16 %66, %"fmt::ArgumentV1"* noalias nonnull readonly %89, i16 2) br label %bb17 bb17: ; preds = %bb16 %90 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %64, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_35) store i8 %90, i8* %abi_cast5 %91 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %91, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb18 bb18: ; preds = %bb17 br label %bb19 bb19: ; preds = %bb18, %bb11 %92 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %93 = load i8, i8* %92, align 1 ret i8 %93 } ; Function Attrs: uwtable define internal void @_ZN4core3fmt8builders10DebugInner6finish17h348e610d28aa7af5E(%"fmt::builders::DebugInner"* dereferenceable(4)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %arg = alloca %closure.38 %_11 = alloca %closure.38 %_10 = alloca %"result::Result<(), fmt::Error>" %_9 = alloca %"result::Result<(), fmt::Error>" %_4 = alloca i8 %prefix = alloca %str_slice %self = alloca %"fmt::builders::DebugInner"* %_0 = alloca {} br label %start start: ; preds = %entry-block store %"fmt::builders::DebugInner"* %0, %"fmt::builders::DebugInner"** %self %1 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %self, !nonnull !1 %2 = call zeroext i1 @_ZN4core3fmt8builders10DebugInner9is_pretty17hc12bfdf3dae8b799E(%"fmt::builders::DebugInner"* noalias readonly dereferenceable(4) %1) br label %bb5 bb1: ; preds = %bb3 store i8 1, i8* %_4 br label %bb4 bb2: ; preds = %bb3, %bb5 store i8 0, i8* %_4 br label %bb4 bb3: ; preds = %bb5 %3 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %self, !nonnull !1 %4 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %3, i32 0, i32 2 %5 = load i8, i8* %4, !range !2 %6 = trunc i8 %5 to i1 br i1 %6, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %7 = load i8, i8* %_4, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb5: ; preds = %start br i1 %2, label %bb3, label %bb2 bb6: ; preds = %bb4 %9 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.7Y, i32 0, i32 0), i8** %9 %10 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 store i16 1, i16* %10 br label %bb8 bb7: ; preds = %bb4 %11 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i8** %11 %12 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 store i16 0, i16* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 %13 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %self, !nonnull !1 %14 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %13, i32 0, i32 1 %15 = bitcast %"result::Result<(), fmt::Error>"* %14 to i8* %16 = bitcast %"result::Result<(), fmt::Error>"* %_10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %15, i16 1, i32 1, i1 false) %17 = getelementptr inbounds %closure.38, %closure.38* %_11, i32 0, i32 0 store %"fmt::builders::DebugInner"** %self, %"fmt::builders::DebugInner"*** %17 %18 = getelementptr inbounds %closure.38, %closure.38* %_11, i32 0, i32 1 store %str_slice* %prefix, %str_slice** %18 %19 = bitcast %"result::Result<(), fmt::Error>"* %_10 to i8* %20 = load i8, i8* %19, align 1 %21 = getelementptr inbounds %closure.38, %closure.38* %_11, i32 0, i32 0 %22 = getelementptr inbounds %closure.38, %closure.38* %_11, i32 0, i32 1 %23 = load %"fmt::builders::DebugInner"**, %"fmt::builders::DebugInner"*** %21, !nonnull !1 %24 = load %str_slice*, %str_slice** %22, !nonnull !1 %25 = getelementptr inbounds %closure.38, %closure.38* %arg, i32 0, i32 0 store %"fmt::builders::DebugInner"** %23, %"fmt::builders::DebugInner"*** %25 %26 = getelementptr inbounds %closure.38, %closure.38* %arg, i32 0, i32 1 store %str_slice* %24, %str_slice** %26 %27 = call i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17hf5b1c9d65ff2d317E"(i8 %20, %closure.38* noalias nocapture dereferenceable(4) %arg) store i8 %27, i8* %abi_cast %28 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 %29 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %self, !nonnull !1 %30 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %29, i32 0, i32 1 %31 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* %32 = bitcast %"result::Result<(), fmt::Error>"* %30 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %32, i8* %31, i16 1, i32 1, i1 false) ret void } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt8builders10DebugInner6finish28_$u7b$$u7b$closure$u7d$$u7d$17h5af537c454c96b3cE"(%closure.38* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %closure.38, %closure.38* %0, i32 0, i32 0 %2 = load %"fmt::builders::DebugInner"**, %"fmt::builders::DebugInner"*** %1, !nonnull !1 %3 = load %"fmt::builders::DebugInner"*, %"fmt::builders::DebugInner"** %2, !nonnull !1 %4 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %3, i32 0, i32 0 %5 = load %"fmt::Formatter"*, %"fmt::Formatter"** %4, !nonnull !1 %6 = getelementptr inbounds %closure.38, %closure.38* %0, i32 0, i32 1 %7 = load %str_slice*, %str_slice** %6, !nonnull !1 %8 = getelementptr inbounds %str_slice, %str_slice* %7, i32 0, i32 0 %9 = load i8*, i8** %8, !nonnull !1 %10 = getelementptr inbounds %str_slice, %str_slice* %7, i32 0, i32 1 %11 = load i16, i16* %10 %12 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %5, i8* noalias nonnull readonly %9, i16 %11) store i8 %12, i8* %abi_cast %13 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %13, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %15 = load i8, i8* %14, align 1 ret i8 %15 } ; Function Attrs: uwtable define internal zeroext i1 @_ZN4core3fmt8builders10DebugInner9is_pretty17hc12bfdf3dae8b799E(%"fmt::builders::DebugInner"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_8 = alloca i8 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %0, i32 0, i32 0 %2 = load %"fmt::Formatter"*, %"fmt::Formatter"** %1, !nonnull !1 %3 = call i32 @_ZN4core3fmt9Formatter5flags17h725e086285a1be59E(%"fmt::Formatter"* noalias readonly dereferenceable(32) %2) br label %bb1 bb1: ; preds = %start store i8 2, i8* %_8 %4 = load i8, i8* %_8 %5 = icmp ule i8 %4, 3 call void @llvm.assume(i1 %5) %6 = zext i8 %4 to i16 %7 = and i16 %6, -32 %8 = icmp ne i16 %7, 0 %9 = zext i16 %6 to i32 %10 = and i32 %9, 31 %11 = shl i32 1, %10 %12 = call i1 @llvm.expect.i1(i1 %8, i1 false) br i1 %12, label %panic, label %bb2 bb2: ; preds = %bb1 %13 = and i32 %3, %11 %14 = icmp ne i32 %13, 0 ret i1 %14 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.82) unreachable } ; Function Attrs: uwtable define void @_ZN4core3fmt8builders13debug_set_new17h7190ed74422fe28aE(%"fmt::builders::DebugSet"* noalias nocapture sret dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_13 = alloca %"result::Result<(), fmt::Error>" %_11 = alloca %"fmt::builders::DebugInner" %_10 = alloca {} %_5 = alloca %"fmt::Arguments" %result = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3fmt8builders13debug_set_new15__STATIC_FMTSTR17h7680b074c7ec2141E, i32 0, i32 0), !nonnull !1 %3 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3fmt8builders13debug_set_new15__STATIC_FMTSTR17h7680b074c7ec2141E, i32 0, i32 1) call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_5, %str_slice* noalias nonnull readonly %2, i16 %3, %"fmt::ArgumentV1"* noalias nonnull readonly getelementptr inbounds ([0 x %"fmt::ArgumentV1"], [0 x %"fmt::ArgumentV1"]* @ref.5W, i32 0, i32 0), i16 0) br label %bb1 bb1: ; preds = %start %4 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %1, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_5) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %result to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %6 = bitcast %"result::Result<(), fmt::Error>"* %result to i8* %7 = bitcast %"result::Result<(), fmt::Error>"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 1, i32 1, i1 false) %8 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %_11, i32 0, i32 0 store %"fmt::Formatter"* %1, %"fmt::Formatter"** %8 %9 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %_11, i32 0, i32 1 %10 = bitcast %"result::Result<(), fmt::Error>"* %_13 to i8* %11 = bitcast %"result::Result<(), fmt::Error>"* %9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 1, i32 1, i1 false) %12 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %_11, i32 0, i32 2 store i8 0, i8* %12 %13 = getelementptr inbounds %"fmt::builders::DebugSet", %"fmt::builders::DebugSet"* %0, i32 0, i32 0 %14 = bitcast %"fmt::builders::DebugInner"* %_11 to i8* %15 = bitcast %"fmt::builders::DebugInner"* %13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %14, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define dereferenceable(4) %"fmt::builders::DebugSet"* @_ZN4core3fmt8builders8DebugSet5entry17hc45ed9790661cec0E(%"fmt::builders::DebugSet"* dereferenceable(4), i8* nonnull, void (i8*)** noalias nonnull readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"fmt::builders::DebugSet", %"fmt::builders::DebugSet"* %0, i32 0, i32 0 call void @_ZN4core3fmt8builders10DebugInner5entry17hef7a20d45650367fE(%"fmt::builders::DebugInner"* dereferenceable(4) %3, i8* nonnull %1, void (i8*)** noalias nonnull readonly %2) br label %bb1 bb1: ; preds = %start ret %"fmt::builders::DebugSet"* %0 } ; Function Attrs: uwtable define i8 @_ZN4core3fmt8builders8DebugSet6finish17h6e11c65cec95e24fE(%"fmt::builders::DebugSet"* dereferenceable(4)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_6 = alloca %closure.37 %_5 = alloca %"result::Result<(), fmt::Error>" %self = alloca %"fmt::builders::DebugSet"* %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store %"fmt::builders::DebugSet"* %0, %"fmt::builders::DebugSet"** %self %1 = load %"fmt::builders::DebugSet"*, %"fmt::builders::DebugSet"** %self, !nonnull !1 %2 = getelementptr inbounds %"fmt::builders::DebugSet", %"fmt::builders::DebugSet"* %1, i32 0, i32 0 call void @_ZN4core3fmt8builders10DebugInner6finish17h348e610d28aa7af5E(%"fmt::builders::DebugInner"* dereferenceable(4) %2) br label %bb1 bb1: ; preds = %start %3 = load %"fmt::builders::DebugSet"*, %"fmt::builders::DebugSet"** %self, !nonnull !1 %4 = getelementptr inbounds %"fmt::builders::DebugSet", %"fmt::builders::DebugSet"* %3, i32 0, i32 0 %5 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %4, i32 0, i32 1 %6 = bitcast %"result::Result<(), fmt::Error>"* %5 to i8* %7 = bitcast %"result::Result<(), fmt::Error>"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 1, i32 1, i1 false) %8 = getelementptr inbounds %closure.37, %closure.37* %_6, i32 0, i32 0 store %"fmt::builders::DebugSet"** %self, %"fmt::builders::DebugSet"*** %8 %9 = bitcast %"result::Result<(), fmt::Error>"* %_5 to i8* %10 = load i8, i8* %9, align 1 %11 = bitcast %closure.37* %_6 to i8** %12 = load i8*, i8** %11, align 2 %13 = call i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17hbddab032c326f35eE"(i8 %10, i8* %12) store i8 %13, i8* %abi_cast %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %15 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %16 = load i8, i8* %15, align 1 ret i8 %16 } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt8builders8DebugSet6finish28_$u7b$$u7b$closure$u7d$$u7d$17hc4408c524dfd64efE"(i8*) unnamed_addr #1 { entry-block: %abi_cast1 = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8* %arg0 = alloca %closure.37 store i8* %0, i8** %abi_cast %1 = bitcast %closure.37* %arg0 to i8* %2 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %1, i8* %2, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %closure.37, %closure.37* %arg0, i32 0, i32 0 %4 = load %"fmt::builders::DebugSet"**, %"fmt::builders::DebugSet"*** %3, !nonnull !1 %5 = load %"fmt::builders::DebugSet"*, %"fmt::builders::DebugSet"** %4, !nonnull !1 %6 = getelementptr inbounds %"fmt::builders::DebugSet", %"fmt::builders::DebugSet"* %5, i32 0, i32 0 %7 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %6, i32 0, i32 0 %8 = load %"fmt::Formatter"*, %"fmt::Formatter"** %7, !nonnull !1 %9 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %8, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.83, i32 0, i32 0), i16 1) store i8 %9, i8* %abi_cast1 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %11 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %12 = load i8, i8* %11, align 1 ret i8 %12 } ; Function Attrs: uwtable define void @_ZN4core3fmt8builders14debug_list_new17hfe4c6fd5210c94f9E(%"fmt::builders::DebugList"* noalias nocapture sret dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_13 = alloca %"result::Result<(), fmt::Error>" %_11 = alloca %"fmt::builders::DebugInner" %_10 = alloca {} %_5 = alloca %"fmt::Arguments" %result = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3fmt8builders14debug_list_new15__STATIC_FMTSTR17hdca59cd55c3f5ab7E, i32 0, i32 0), !nonnull !1 %3 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3fmt8builders14debug_list_new15__STATIC_FMTSTR17hdca59cd55c3f5ab7E, i32 0, i32 1) call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_5, %str_slice* noalias nonnull readonly %2, i16 %3, %"fmt::ArgumentV1"* noalias nonnull readonly getelementptr inbounds ([0 x %"fmt::ArgumentV1"], [0 x %"fmt::ArgumentV1"]* @ref.5W, i32 0, i32 0), i16 0) br label %bb1 bb1: ; preds = %start %4 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %1, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_5) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %result to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %6 = bitcast %"result::Result<(), fmt::Error>"* %result to i8* %7 = bitcast %"result::Result<(), fmt::Error>"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 1, i32 1, i1 false) %8 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %_11, i32 0, i32 0 store %"fmt::Formatter"* %1, %"fmt::Formatter"** %8 %9 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %_11, i32 0, i32 1 %10 = bitcast %"result::Result<(), fmt::Error>"* %_13 to i8* %11 = bitcast %"result::Result<(), fmt::Error>"* %9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 1, i32 1, i1 false) %12 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %_11, i32 0, i32 2 store i8 0, i8* %12 %13 = getelementptr inbounds %"fmt::builders::DebugList", %"fmt::builders::DebugList"* %0, i32 0, i32 0 %14 = bitcast %"fmt::builders::DebugInner"* %_11 to i8* %15 = bitcast %"fmt::builders::DebugInner"* %13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %14, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define dereferenceable(4) %"fmt::builders::DebugList"* @_ZN4core3fmt8builders9DebugList5entry17ha607bbd13dc5eaf5E(%"fmt::builders::DebugList"* dereferenceable(4), i8* nonnull, void (i8*)** noalias nonnull readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"fmt::builders::DebugList", %"fmt::builders::DebugList"* %0, i32 0, i32 0 call void @_ZN4core3fmt8builders10DebugInner5entry17hef7a20d45650367fE(%"fmt::builders::DebugInner"* dereferenceable(4) %3, i8* nonnull %1, void (i8*)** noalias nonnull readonly %2) br label %bb1 bb1: ; preds = %start ret %"fmt::builders::DebugList"* %0 } ; Function Attrs: uwtable define internal dereferenceable(4) %"fmt::builders::DebugList"* @_ZN4core3fmt8builders9DebugList7entries17h50e1ffe4e12660b2E(%"fmt::builders::DebugList"* dereferenceable(4), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_24 = alloca i8 %_23 = alloca i8 %entry = alloca i8* %_12 = alloca i8* %iter = alloca %"slice::Iter" %_10 = alloca %"slice::Iter" %_9 = alloca {} %_8 = alloca %"slice::Iter" %_result = alloca {} %entries = alloca %"slice::Iter" br label %start start: ; preds = %entry-block store i8 0, i8* %_24 store i8 0, i8* %_23 %2 = bitcast %"slice::Iter"* %1 to i8* %3 = bitcast %"slice::Iter"* %entries to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::Iter"* %entries to i8* %5 = bitcast %"slice::Iter"* %_10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha39cd41f4ad0701fE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_8, %"slice::Iter"* noalias nocapture dereferenceable(4) %_10) to label %bb2 unwind label %cleanup bb1: ; preds = %bb16, %bb3, %cleanup %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %start store i8 1, i8* %_23 store i8 0, i8* %_23 %7 = bitcast %"slice::Iter"* %_8 to i8* %8 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) br label %bb4 bb3: ; preds = %bb5 %9 = load i8, i8* %_23, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb16, label %bb1 bb4: ; preds = %bb14, %bb2 %11 = invoke i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter) to label %bb6 unwind label %cleanup1 bb5: ; preds = %bb19, %bb18, %bb17, %cleanup1 br label %bb3 bb6: ; preds = %bb4 store i8* %11, i8** %_12 store i8 1, i8* %_24 %12 = load i8*, i8** %_12 %13 = icmp ne i8* %12, null %14 = zext i1 %13 to i16 switch i16 %14, label %bb9 [ i16 0, label %bb8 ] bb7: ; preds = %bb10 %15 = load i8*, i8** %_12 %16 = icmp ne i8* %15, null %17 = zext i1 %16 to i16 switch i16 %17, label %bb17 [ i16 1, label %bb18 ] bb8: ; preds = %bb6 store i8 0, i8* %_24 br label %bb12 bb9: ; preds = %bb6 store i8 0, i8* %_24 %18 = load i8*, i8** %_12, !nonnull !1 store i8* %18, i8** %entry %19 = bitcast i8** %entry to i8* %20 = invoke dereferenceable(4) %"fmt::builders::DebugList"* @_ZN4core3fmt8builders9DebugList5entry17ha607bbd13dc5eaf5E(%"fmt::builders::DebugList"* dereferenceable(4) %0, i8* nonnull %19, void (i8*)** noalias nonnull readonly bitcast ({ void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* }* @vtable.84 to void (i8*)**)) to label %bb11 unwind label %cleanup2 bb10: ; preds = %cleanup2 br label %bb7 bb11: ; preds = %bb9 br label %bb13 bb12: ; preds = %bb8 br label %bb15 bb13: ; preds = %bb11 %21 = load i8*, i8** %_12 %22 = icmp ne i8* %21, null %23 = zext i1 %22 to i16 switch i16 %23, label %bb20 [ i16 1, label %bb14 ] bb14: ; preds = %bb20, %bb13 br label %bb4 bb15: ; preds = %bb12 ret %"fmt::builders::DebugList"* %0 bb16: ; preds = %bb3 store i8 0, i8* %_23 br label %bb1 bb17: ; preds = %bb7 br label %bb5 bb18: ; preds = %bb7 %24 = load i8, i8* %_24, !range !2 %25 = trunc i8 %24 to i1 br i1 %25, label %bb19, label %bb5 bb19: ; preds = %bb18 store i8 0, i8* %_24 br label %bb5 bb20: ; preds = %bb13 br label %bb14 cleanup: ; preds = %start %26 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %26, { i8*, i32 }* %personalityslot br label %bb1 cleanup1: ; preds = %bb4 %27 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %27, { i8*, i32 }* %personalityslot br label %bb5 cleanup2: ; preds = %bb9 %28 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %28, { i8*, i32 }* %personalityslot br label %bb10 } ; Function Attrs: uwtable define internal dereferenceable(4) %"fmt::builders::DebugList"* @_ZN4core3fmt8builders9DebugList7entries17hdb783ab0e8b27d3fE(%"fmt::builders::DebugList"* dereferenceable(4), %"slice::Iter"* noalias nocapture dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_24 = alloca i8 %_23 = alloca i8 %entry = alloca i32* %_12 = alloca i8* %iter = alloca %"slice::Iter" %_10 = alloca %"slice::Iter" %_9 = alloca {} %_8 = alloca %"slice::Iter" %_result = alloca {} %entries = alloca %"slice::Iter" br label %start start: ; preds = %entry-block store i8 0, i8* %_24 store i8 0, i8* %_23 %2 = bitcast %"slice::Iter"* %1 to i8* %3 = bitcast %"slice::Iter"* %entries to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 4, i32 2, i1 false) %4 = bitcast %"slice::Iter"* %entries to i8* %5 = bitcast %"slice::Iter"* %_10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hc6ac39f311eb0485E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_8, %"slice::Iter"* noalias nocapture dereferenceable(4) %_10) to label %bb2 unwind label %cleanup bb1: ; preds = %bb16, %bb3, %cleanup %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %start store i8 1, i8* %_23 store i8 0, i8* %_23 %7 = bitcast %"slice::Iter"* %_8 to i8* %8 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) br label %bb4 bb3: ; preds = %bb5 %9 = load i8, i8* %_23, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb16, label %bb1 bb4: ; preds = %bb14, %bb2 %11 = invoke i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h8120470cd0974b63E"(%"slice::Iter"* dereferenceable(4) %iter) to label %bb6 unwind label %cleanup1 bb5: ; preds = %bb19, %bb18, %bb17, %cleanup1 br label %bb3 bb6: ; preds = %bb4 store i8* %11, i8** %_12 store i8 1, i8* %_24 %12 = load i8*, i8** %_12 %13 = icmp ne i8* %12, null %14 = zext i1 %13 to i16 switch i16 %14, label %bb9 [ i16 0, label %bb8 ] bb7: ; preds = %bb10 %15 = load i8*, i8** %_12 %16 = icmp ne i8* %15, null %17 = zext i1 %16 to i16 switch i16 %17, label %bb17 [ i16 1, label %bb18 ] bb8: ; preds = %bb6 store i8 0, i8* %_24 br label %bb12 bb9: ; preds = %bb6 store i8 0, i8* %_24 %18 = bitcast i8** %_12 to i32** %19 = load i32*, i32** %18, !nonnull !1 store i32* %19, i32** %entry %20 = bitcast i32** %entry to i8* %21 = invoke dereferenceable(4) %"fmt::builders::DebugList"* @_ZN4core3fmt8builders9DebugList5entry17ha607bbd13dc5eaf5E(%"fmt::builders::DebugList"* dereferenceable(4) %0, i8* nonnull %20, void (i8*)** noalias nonnull readonly bitcast ({ void (i32**)*, i16, i16, i8 (i32**, %"fmt::Formatter"*)* }* @vtable.85 to void (i8*)**)) to label %bb11 unwind label %cleanup2 bb10: ; preds = %cleanup2 br label %bb7 bb11: ; preds = %bb9 br label %bb13 bb12: ; preds = %bb8 br label %bb15 bb13: ; preds = %bb11 %22 = load i8*, i8** %_12 %23 = icmp ne i8* %22, null %24 = zext i1 %23 to i16 switch i16 %24, label %bb20 [ i16 1, label %bb14 ] bb14: ; preds = %bb20, %bb13 br label %bb4 bb15: ; preds = %bb12 ret %"fmt::builders::DebugList"* %0 bb16: ; preds = %bb3 store i8 0, i8* %_23 br label %bb1 bb17: ; preds = %bb7 br label %bb5 bb18: ; preds = %bb7 %25 = load i8, i8* %_24, !range !2 %26 = trunc i8 %25 to i1 br i1 %26, label %bb19, label %bb5 bb19: ; preds = %bb18 store i8 0, i8* %_24 br label %bb5 bb20: ; preds = %bb13 br label %bb14 cleanup: ; preds = %start %27 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %27, { i8*, i32 }* %personalityslot br label %bb1 cleanup1: ; preds = %bb4 %28 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %28, { i8*, i32 }* %personalityslot br label %bb5 cleanup2: ; preds = %bb9 %29 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %29, { i8*, i32 }* %personalityslot br label %bb10 } ; Function Attrs: uwtable define i8 @_ZN4core3fmt8builders9DebugList6finish17h82c2a89744b44748E(%"fmt::builders::DebugList"* dereferenceable(4)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_6 = alloca %closure.36 %_5 = alloca %"result::Result<(), fmt::Error>" %self = alloca %"fmt::builders::DebugList"* %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store %"fmt::builders::DebugList"* %0, %"fmt::builders::DebugList"** %self %1 = load %"fmt::builders::DebugList"*, %"fmt::builders::DebugList"** %self, !nonnull !1 %2 = getelementptr inbounds %"fmt::builders::DebugList", %"fmt::builders::DebugList"* %1, i32 0, i32 0 call void @_ZN4core3fmt8builders10DebugInner6finish17h348e610d28aa7af5E(%"fmt::builders::DebugInner"* dereferenceable(4) %2) br label %bb1 bb1: ; preds = %start %3 = load %"fmt::builders::DebugList"*, %"fmt::builders::DebugList"** %self, !nonnull !1 %4 = getelementptr inbounds %"fmt::builders::DebugList", %"fmt::builders::DebugList"* %3, i32 0, i32 0 %5 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %4, i32 0, i32 1 %6 = bitcast %"result::Result<(), fmt::Error>"* %5 to i8* %7 = bitcast %"result::Result<(), fmt::Error>"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 1, i32 1, i1 false) %8 = getelementptr inbounds %closure.36, %closure.36* %_6, i32 0, i32 0 store %"fmt::builders::DebugList"** %self, %"fmt::builders::DebugList"*** %8 %9 = bitcast %"result::Result<(), fmt::Error>"* %_5 to i8* %10 = load i8, i8* %9, align 1 %11 = bitcast %closure.36* %_6 to i8** %12 = load i8*, i8** %11, align 2 %13 = call i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17hb4c820d24c493fc4E"(i8 %10, i8* %12) store i8 %13, i8* %abi_cast %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %15 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %16 = load i8, i8* %15, align 1 ret i8 %16 } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt8builders9DebugList6finish28_$u7b$$u7b$closure$u7d$$u7d$17h8f11e3006ae4dcdeE"(i8*) unnamed_addr #1 { entry-block: %abi_cast1 = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8* %arg0 = alloca %closure.36 store i8* %0, i8** %abi_cast %1 = bitcast %closure.36* %arg0 to i8* %2 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %1, i8* %2, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %closure.36, %closure.36* %arg0, i32 0, i32 0 %4 = load %"fmt::builders::DebugList"**, %"fmt::builders::DebugList"*** %3, !nonnull !1 %5 = load %"fmt::builders::DebugList"*, %"fmt::builders::DebugList"** %4, !nonnull !1 %6 = getelementptr inbounds %"fmt::builders::DebugList", %"fmt::builders::DebugList"* %5, i32 0, i32 0 %7 = getelementptr inbounds %"fmt::builders::DebugInner", %"fmt::builders::DebugInner"* %6, i32 0, i32 0 %8 = load %"fmt::Formatter"*, %"fmt::Formatter"** %7, !nonnull !1 %9 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %8, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.86, i32 0, i32 0), i16 1) store i8 %9, i8* %abi_cast1 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %11 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %12 = load i8, i8* %11, align 1 ret i8 %12 } ; Function Attrs: uwtable define void @_ZN4core3fmt8builders13debug_map_new17h77a29cd9d14cabc1E(%"fmt::builders::DebugMap"* noalias nocapture sret dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_12 = alloca %"result::Result<(), fmt::Error>" %_10 = alloca {} %_5 = alloca %"fmt::Arguments" %result = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3fmt8builders13debug_map_new15__STATIC_FMTSTR17h7a78b19c92224f20E, i32 0, i32 0), !nonnull !1 %3 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @_ZN4core3fmt8builders13debug_map_new15__STATIC_FMTSTR17h7a78b19c92224f20E, i32 0, i32 1) call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_5, %str_slice* noalias nonnull readonly %2, i16 %3, %"fmt::ArgumentV1"* noalias nonnull readonly getelementptr inbounds ([0 x %"fmt::ArgumentV1"], [0 x %"fmt::ArgumentV1"]* @ref.5W, i32 0, i32 0), i16 0) br label %bb1 bb1: ; preds = %start %4 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %1, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_5) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %result to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %6 = bitcast %"result::Result<(), fmt::Error>"* %result to i8* %7 = bitcast %"result::Result<(), fmt::Error>"* %_12 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 1, i32 1, i1 false) %8 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %0, i32 0, i32 0 store %"fmt::Formatter"* %1, %"fmt::Formatter"** %8 %9 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %0, i32 0, i32 1 %10 = bitcast %"result::Result<(), fmt::Error>"* %_12 to i8* %11 = bitcast %"result::Result<(), fmt::Error>"* %9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 1, i32 1, i1 false) %12 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %0, i32 0, i32 2 store i8 0, i8* %12 ret void } ; Function Attrs: uwtable define dereferenceable(4) %"fmt::builders::DebugMap"* @_ZN4core3fmt8builders8DebugMap5entry17h41c40f5536d145acE(%"fmt::builders::DebugMap"* dereferenceable(4), i8* nonnull, void (i8*)** noalias nonnull readonly, i8* nonnull, void (i8*)** noalias nonnull readonly) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_10 = alloca %closure.33 %_9 = alloca %"result::Result<(), fmt::Error>" %_8 = alloca %"result::Result<(), fmt::Error>" %value = alloca { i8*, void (i8*)** } %key = alloca { i8*, void (i8*)** } %self = alloca %"fmt::builders::DebugMap"* br label %start start: ; preds = %entry-block store %"fmt::builders::DebugMap"* %0, %"fmt::builders::DebugMap"** %self %5 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %key, i32 0, i32 0 store i8* %1, i8** %5 %6 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %key, i32 0, i32 1 store void (i8*)** %2, void (i8*)*** %6 %7 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %value, i32 0, i32 0 store i8* %3, i8** %7 %8 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %value, i32 0, i32 1 store void (i8*)** %4, void (i8*)*** %8 %9 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %self, !nonnull !1 %10 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %9, i32 0, i32 1 %11 = bitcast %"result::Result<(), fmt::Error>"* %10 to i8* %12 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 1, i32 1, i1 false) %13 = getelementptr inbounds %closure.33, %closure.33* %_10, i32 0, i32 0 store %"fmt::builders::DebugMap"** %self, %"fmt::builders::DebugMap"*** %13 %14 = getelementptr inbounds %closure.33, %closure.33* %_10, i32 0, i32 1 store { i8*, void (i8*)** }* %key, { i8*, void (i8*)** }** %14 %15 = getelementptr inbounds %closure.33, %closure.33* %_10, i32 0, i32 2 store { i8*, void (i8*)** }* %value, { i8*, void (i8*)** }** %15 %16 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* %17 = load i8, i8* %16, align 1 %18 = call i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h74a6d0c38ec95dcdE"(i8 %17, %closure.33* noalias nocapture dereferenceable(6) %_10) store i8 %18, i8* %abi_cast %19 = bitcast %"result::Result<(), fmt::Error>"* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %20 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %self, !nonnull !1 %21 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %20, i32 0, i32 1 %22 = bitcast %"result::Result<(), fmt::Error>"* %_8 to i8* %23 = bitcast %"result::Result<(), fmt::Error>"* %21 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %23, i8* %22, i16 1, i32 1, i1 false) %24 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %self, !nonnull !1 %25 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %24, i32 0, i32 2 store i8 1, i8* %25 %26 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %self, !nonnull !1 ret %"fmt::builders::DebugMap"* %26 } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt8builders8DebugMap5entry28_$u7b$$u7b$closure$u7d$$u7d$17h81e525fdafaa82bfE"(%closure.33* noalias nocapture dereferenceable(6)) unnamed_addr #1 { entry-block: %abi_cast7 = alloca i8 %tmp_ret6 = alloca %"fmt::ArgumentV1" %tmp_ret5 = alloca %"fmt::ArgumentV1" %tmp_ret4 = alloca %"fmt::ArgumentV1" %abi_cast = alloca i8 %tmp_ret3 = alloca %"fmt::ArgumentV1" %tmp_ret2 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_46 = alloca { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* } %_45 = alloca [3 x %"fmt::ArgumentV1"] %_40 = alloca %"fmt::Arguments" %prefix1 = alloca %str_slice %_19 = alloca { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* } %_18 = alloca [3 x %"fmt::ArgumentV1"] %_13 = alloca %"fmt::Arguments" %prefix = alloca %str_slice %writer = alloca %"fmt::builders::PadAdapter" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %closure.33, %closure.33* %0, i32 0, i32 0 %2 = load %"fmt::builders::DebugMap"**, %"fmt::builders::DebugMap"*** %1, !nonnull !1 %3 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %2, !nonnull !1 %4 = call zeroext i1 @_ZN4core3fmt8builders8DebugMap9is_pretty17h3f892c195f635689E(%"fmt::builders::DebugMap"* noalias readonly dereferenceable(4) %3) br label %bb1 bb1: ; preds = %start br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %closure.33, %closure.33* %0, i32 0, i32 0 %6 = load %"fmt::builders::DebugMap"**, %"fmt::builders::DebugMap"*** %5, !nonnull !1 %7 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %6, !nonnull !1 %8 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %7, i32 0, i32 0 %9 = load %"fmt::Formatter"*, %"fmt::Formatter"** %8, !nonnull !1 call void @_ZN4core3fmt8builders10PadAdapter3new17hc7a6a6d5078c8b70E(%"fmt::builders::PadAdapter"* noalias nocapture sret dereferenceable(4) %writer, %"fmt::Formatter"* dereferenceable(32) %9) br label %bb4 bb3: ; preds = %bb1 %10 = getelementptr inbounds %closure.33, %closure.33* %0, i32 0, i32 0 %11 = load %"fmt::builders::DebugMap"**, %"fmt::builders::DebugMap"*** %10, !nonnull !1 %12 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %11, !nonnull !1 %13 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %12, i32 0, i32 2 %14 = load i8, i8* %13, !range !2 %15 = trunc i8 %14 to i1 br i1 %15, label %bb13, label %bb14 bb4: ; preds = %bb2 %16 = getelementptr inbounds %closure.33, %closure.33* %0, i32 0, i32 0 %17 = load %"fmt::builders::DebugMap"**, %"fmt::builders::DebugMap"*** %16, !nonnull !1 %18 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %17, !nonnull !1 %19 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %18, i32 0, i32 2 %20 = load i8, i8* %19, !range !2 %21 = trunc i8 %20 to i1 br i1 %21, label %bb5, label %bb6 bb5: ; preds = %bb4 %22 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.7P, i32 0, i32 0), i8** %22 %23 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 store i16 1, i16* %23 br label %bb7 bb6: ; preds = %bb4 %24 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i8** %24 %25 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 store i16 0, i16* %25 br label %bb7 bb7: ; preds = %bb6, %bb5 %26 = bitcast %"fmt::builders::PadAdapter"* %writer to i8* %27 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders8DebugMap5entry28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h0088e7c084deb552E", i32 0, i32 0), !nonnull !1 %28 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders8DebugMap5entry28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h0088e7c084deb552E", i32 0, i32 1) %29 = getelementptr inbounds %closure.33, %closure.33* %0, i32 0, i32 1 %30 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %29, !nonnull !1 %31 = getelementptr inbounds %closure.33, %closure.33* %0, i32 0, i32 2 %32 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %31, !nonnull !1 %33 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 0 store %str_slice* %prefix, %str_slice** %33 %34 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 1 store { i8*, void (i8*)** }* %30, { i8*, void (i8*)** }** %34 %35 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 2 store { i8*, void (i8*)** }* %32, { i8*, void (i8*)** }** %35 %36 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 0 %37 = load %str_slice*, %str_slice** %36, !nonnull !1 %38 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 1 %39 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %38, !nonnull !1 %40 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }* %_19, i32 0, i32 2 %41 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %40, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, %str_slice* noalias readonly dereferenceable(4) %37, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %42 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %43 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %44 = load %"fmt::Void"*, %"fmt::Void"** %42, !nonnull !1 %45 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %43, !nonnull !1 br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core3fmt10ArgumentV13new17hddc1268375e89831E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret2, { i8*, void (i8*)** }* noalias readonly dereferenceable(4) %39, i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f4bf9d3372efe6eE") %46 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 0 %47 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 1 %48 = load %"fmt::Void"*, %"fmt::Void"** %46, !nonnull !1 %49 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %47, !nonnull !1 br label %bb9 bb9: ; preds = %bb8 call void @_ZN4core3fmt10ArgumentV13new17hddc1268375e89831E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret3, { i8*, void (i8*)** }* noalias readonly dereferenceable(4) %41, i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f4bf9d3372efe6eE") %50 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 0 %51 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 1 %52 = load %"fmt::Void"*, %"fmt::Void"** %50, !nonnull !1 %53 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %51, !nonnull !1 br label %bb10 bb10: ; preds = %bb9 %54 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_18, i32 0, i32 0 %55 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %54, i32 0, i32 0 store %"fmt::Void"* %44, %"fmt::Void"** %55 %56 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %54, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %45, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %56 %57 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_18, i32 0, i32 1 %58 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %57, i32 0, i32 0 store %"fmt::Void"* %48, %"fmt::Void"** %58 %59 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %57, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %49, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %59 %60 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_18, i32 0, i32 2 %61 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %60, i32 0, i32 0 store %"fmt::Void"* %52, %"fmt::Void"** %61 %62 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %60, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %53, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %62 %63 = bitcast [3 x %"fmt::ArgumentV1"]* %_18 to %"fmt::ArgumentV1"* %64 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN4core3fmt8builders8DebugMap5entry28_$u7b$$u7b$closure$u7d$$u7d$16__STATIC_FMTARGS17hd3b6171c3ca88798E", i32 0, i32 0), !nonnull !1 %65 = load i16, i16* getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN4core3fmt8builders8DebugMap5entry28_$u7b$$u7b$closure$u7d$$u7d$16__STATIC_FMTARGS17hd3b6171c3ca88798E", i32 0, i32 1) call void @_ZN4core3fmt9Arguments16new_v1_formatted17h34bc06d81ce02e19E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_13, %str_slice* noalias nonnull readonly %27, i16 %28, %"fmt::ArgumentV1"* noalias nonnull readonly %63, i16 3, %"fmt::rt::v1::Argument"* noalias nonnull readonly %64, i16 %65) br label %bb11 bb11: ; preds = %bb10 %66 = call i8 @_ZN4core3fmt5write17h52a33c89b70ab6dcE(i8* nonnull %26, void (i8*)** noalias nonnull readonly bitcast ({ void (%"fmt::builders::PadAdapter"*)*, i16, i16, i8 (%"fmt::builders::PadAdapter"*, i8*, i16)*, i8 (%"fmt::builders::PadAdapter"*, i32)*, i8 (%"fmt::builders::PadAdapter"*, %"fmt::Arguments"*)* }* @vtable.7R to void (i8*)**), %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_13) store i8 %66, i8* %abi_cast %67 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %67, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb12 bb12: ; preds = %bb11 br label %bb21 bb13: ; preds = %bb3 %68 = getelementptr inbounds %str_slice, %str_slice* %prefix1, i32 0, i32 0 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.81, i32 0, i32 0), i8** %68 %69 = getelementptr inbounds %str_slice, %str_slice* %prefix1, i32 0, i32 1 store i16 2, i16* %69 br label %bb15 bb14: ; preds = %bb3 %70 = getelementptr inbounds %str_slice, %str_slice* %prefix1, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i8** %70 %71 = getelementptr inbounds %str_slice, %str_slice* %prefix1, i32 0, i32 1 store i16 0, i16* %71 br label %bb15 bb15: ; preds = %bb14, %bb13 %72 = getelementptr inbounds %closure.33, %closure.33* %0, i32 0, i32 0 %73 = load %"fmt::builders::DebugMap"**, %"fmt::builders::DebugMap"*** %72, !nonnull !1 %74 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %73, !nonnull !1 %75 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %74, i32 0, i32 0 %76 = load %"fmt::Formatter"*, %"fmt::Formatter"** %75, !nonnull !1 %77 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders8DebugMap5entry28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h73deb3efb7c6ab3aE", i32 0, i32 0), !nonnull !1 %78 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders8DebugMap5entry28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17h73deb3efb7c6ab3aE", i32 0, i32 1) %79 = getelementptr inbounds %closure.33, %closure.33* %0, i32 0, i32 1 %80 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %79, !nonnull !1 %81 = getelementptr inbounds %closure.33, %closure.33* %0, i32 0, i32 2 %82 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %81, !nonnull !1 %83 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }* %_46, i32 0, i32 0 store %str_slice* %prefix1, %str_slice** %83 %84 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }* %_46, i32 0, i32 1 store { i8*, void (i8*)** }* %80, { i8*, void (i8*)** }** %84 %85 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }* %_46, i32 0, i32 2 store { i8*, void (i8*)** }* %82, { i8*, void (i8*)** }** %85 %86 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }* %_46, i32 0, i32 0 %87 = load %str_slice*, %str_slice** %86, !nonnull !1 %88 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }* %_46, i32 0, i32 1 %89 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %88, !nonnull !1 %90 = getelementptr inbounds { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }, { %str_slice*, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* }* %_46, i32 0, i32 2 %91 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %90, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret4, %str_slice* noalias readonly dereferenceable(4) %87, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %92 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 0 %93 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 1 %94 = load %"fmt::Void"*, %"fmt::Void"** %92, !nonnull !1 %95 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %93, !nonnull !1 br label %bb16 bb16: ; preds = %bb15 call void @_ZN4core3fmt10ArgumentV13new17hddc1268375e89831E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret5, { i8*, void (i8*)** }* noalias readonly dereferenceable(4) %89, i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f4bf9d3372efe6eE") %96 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret5, i32 0, i32 0 %97 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret5, i32 0, i32 1 %98 = load %"fmt::Void"*, %"fmt::Void"** %96, !nonnull !1 %99 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %97, !nonnull !1 br label %bb17 bb17: ; preds = %bb16 call void @_ZN4core3fmt10ArgumentV13new17hddc1268375e89831E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret6, { i8*, void (i8*)** }* noalias readonly dereferenceable(4) %91, i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f4bf9d3372efe6eE") %100 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret6, i32 0, i32 0 %101 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret6, i32 0, i32 1 %102 = load %"fmt::Void"*, %"fmt::Void"** %100, !nonnull !1 %103 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %101, !nonnull !1 br label %bb18 bb18: ; preds = %bb17 %104 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_45, i32 0, i32 0 %105 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %104, i32 0, i32 0 store %"fmt::Void"* %94, %"fmt::Void"** %105 %106 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %104, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %95, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %106 %107 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_45, i32 0, i32 1 %108 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %107, i32 0, i32 0 store %"fmt::Void"* %98, %"fmt::Void"** %108 %109 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %107, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %99, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %109 %110 = getelementptr inbounds [3 x %"fmt::ArgumentV1"], [3 x %"fmt::ArgumentV1"]* %_45, i32 0, i32 2 %111 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %110, i32 0, i32 0 store %"fmt::Void"* %102, %"fmt::Void"** %111 %112 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %110, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %103, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %112 %113 = bitcast [3 x %"fmt::ArgumentV1"]* %_45 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_40, %str_slice* noalias nonnull readonly %77, i16 %78, %"fmt::ArgumentV1"* noalias nonnull readonly %113, i16 3) br label %bb19 bb19: ; preds = %bb18 %114 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %76, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_40) store i8 %114, i8* %abi_cast7 %115 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %115, i8* %abi_cast7, i16 1, i32 1, i1 false) br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20, %bb12 %116 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %117 = load i8, i8* %116, align 1 ret i8 %117 } ; Function Attrs: uwtable define i8 @_ZN4core3fmt8builders8DebugMap6finish17h8b45ad661e00e49eE(%"fmt::builders::DebugMap"* dereferenceable(4)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %arg = alloca %closure.35 %_10 = alloca %closure.35 %_9 = alloca %"result::Result<(), fmt::Error>" %_4 = alloca i8 %prefix = alloca %str_slice %self = alloca %"fmt::builders::DebugMap"* %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block store %"fmt::builders::DebugMap"* %0, %"fmt::builders::DebugMap"** %self %1 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %self, !nonnull !1 %2 = call zeroext i1 @_ZN4core3fmt8builders8DebugMap9is_pretty17h3f892c195f635689E(%"fmt::builders::DebugMap"* noalias readonly dereferenceable(4) %1) br label %bb5 bb1: ; preds = %bb3 store i8 1, i8* %_4 br label %bb4 bb2: ; preds = %bb3, %bb5 store i8 0, i8* %_4 br label %bb4 bb3: ; preds = %bb5 %3 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %self, !nonnull !1 %4 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %3, i32 0, i32 2 %5 = load i8, i8* %4, !range !2 %6 = trunc i8 %5 to i1 br i1 %6, label %bb1, label %bb2 bb4: ; preds = %bb2, %bb1 %7 = load i8, i8* %_4, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb5: ; preds = %start br i1 %2, label %bb3, label %bb2 bb6: ; preds = %bb4 %9 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.7Y, i32 0, i32 0), i8** %9 %10 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 store i16 1, i16* %10 br label %bb8 bb7: ; preds = %bb4 %11 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i8** %11 %12 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 store i16 0, i16* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 %13 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %self, !nonnull !1 %14 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %13, i32 0, i32 1 %15 = bitcast %"result::Result<(), fmt::Error>"* %14 to i8* %16 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %15, i16 1, i32 1, i1 false) %17 = getelementptr inbounds %closure.35, %closure.35* %_10, i32 0, i32 0 store %"fmt::builders::DebugMap"** %self, %"fmt::builders::DebugMap"*** %17 %18 = getelementptr inbounds %closure.35, %closure.35* %_10, i32 0, i32 1 store %str_slice* %prefix, %str_slice** %18 %19 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* %20 = load i8, i8* %19, align 1 %21 = getelementptr inbounds %closure.35, %closure.35* %_10, i32 0, i32 0 %22 = getelementptr inbounds %closure.35, %closure.35* %_10, i32 0, i32 1 %23 = load %"fmt::builders::DebugMap"**, %"fmt::builders::DebugMap"*** %21, !nonnull !1 %24 = load %str_slice*, %str_slice** %22, !nonnull !1 %25 = getelementptr inbounds %closure.35, %closure.35* %arg, i32 0, i32 0 store %"fmt::builders::DebugMap"** %23, %"fmt::builders::DebugMap"*** %25 %26 = getelementptr inbounds %closure.35, %closure.35* %arg, i32 0, i32 1 store %str_slice* %24, %str_slice** %26 %27 = call i8 @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17hb058ea6d26260ef4E"(i8 %20, %closure.35* noalias nocapture dereferenceable(4) %arg) store i8 %27, i8* %abi_cast %28 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 %29 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %30 = load i8, i8* %29, align 1 ret i8 %30 } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt8builders8DebugMap6finish28_$u7b$$u7b$closure$u7d$$u7d$17h35f91d5e1b44d043E"(%closure.35* noalias nocapture dereferenceable(4)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %tmp_ret = alloca %"fmt::ArgumentV1" %_10 = alloca { %str_slice* } %_9 = alloca [1 x %"fmt::ArgumentV1"] %_4 = alloca %"fmt::Arguments" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %closure.35, %closure.35* %0, i32 0, i32 0 %2 = load %"fmt::builders::DebugMap"**, %"fmt::builders::DebugMap"*** %1, !nonnull !1 %3 = load %"fmt::builders::DebugMap"*, %"fmt::builders::DebugMap"** %2, !nonnull !1 %4 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %3, i32 0, i32 0 %5 = load %"fmt::Formatter"*, %"fmt::Formatter"** %4, !nonnull !1 %6 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders8DebugMap6finish28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17hcccb4a0522d92d00E", i32 0, i32 0), !nonnull !1 %7 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN4core3fmt8builders8DebugMap6finish28_$u7b$$u7b$closure$u7d$$u7d$15__STATIC_FMTSTR17hcccb4a0522d92d00E", i32 0, i32 1) %8 = getelementptr inbounds %closure.35, %closure.35* %0, i32 0, i32 1 %9 = load %str_slice*, %str_slice** %8, !nonnull !1 %10 = getelementptr inbounds { %str_slice* }, { %str_slice* }* %_10, i32 0, i32 0 store %str_slice* %9, %str_slice** %10 %11 = getelementptr inbounds { %str_slice* }, { %str_slice* }* %_10, i32 0, i32 0 %12 = load %str_slice*, %str_slice** %11, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, %str_slice* noalias readonly dereferenceable(4) %12, i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E") %13 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %14 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %15 = load %"fmt::Void"*, %"fmt::Void"** %13, !nonnull !1 %16 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %14, !nonnull !1 br label %bb1 bb1: ; preds = %start %17 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_9, i32 0, i32 0 %18 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %17, i32 0, i32 0 store %"fmt::Void"* %15, %"fmt::Void"** %18 %19 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %17, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %16, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %19 %20 = bitcast [1 x %"fmt::ArgumentV1"]* %_9 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_4, %str_slice* noalias nonnull readonly %6, i16 %7, %"fmt::ArgumentV1"* noalias nonnull readonly %20, i16 1) br label %bb2 bb2: ; preds = %bb1 %21 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %5, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_4) store i8 %21, i8* %abi_cast %22 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %23 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %24 = load i8, i8* %23, align 1 ret i8 %24 } ; Function Attrs: uwtable define internal zeroext i1 @_ZN4core3fmt8builders8DebugMap9is_pretty17h3f892c195f635689E(%"fmt::builders::DebugMap"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_8 = alloca i8 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"fmt::builders::DebugMap", %"fmt::builders::DebugMap"* %0, i32 0, i32 0 %2 = load %"fmt::Formatter"*, %"fmt::Formatter"** %1, !nonnull !1 %3 = call i32 @_ZN4core3fmt9Formatter5flags17h725e086285a1be59E(%"fmt::Formatter"* noalias readonly dereferenceable(32) %2) br label %bb1 bb1: ; preds = %start store i8 2, i8* %_8 %4 = load i8, i8* %_8 %5 = icmp ule i8 %4, 3 call void @llvm.assume(i1 %5) %6 = zext i8 %4 to i16 %7 = and i16 %6, -32 %8 = icmp ne i16 %7, 0 %9 = zext i16 %6 to i32 %10 = and i32 %9, 31 %11 = shl i32 1, %10 %12 = call i1 @llvm.expect.i1(i1 %8, i1 false) br i1 %12, label %panic, label %bb2 bb2: ; preds = %bb1 %13 = and i32 %3, %11 %14 = icmp ne i32 %13, 0 ret i1 %14 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.87) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt5Write10write_char17hf90414f7abc72c5aE(%"fmt::builders::PadAdapter"* dereferenceable(4), i32) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_12 = alloca [4 x i8] %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds [4 x i8], [4 x i8]* %_12, i32 0, i32 0 %3 = getelementptr inbounds i8, i8* %2, i16 4 br label %slice_loop_header bb1: ; preds = %slice_loop_next %4 = call i8 @"_ZN96_$LT$core..fmt..builders..PadAdapter$LT$$u27$a$C$$u20$$u27$b$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17h3ad6ffc1bc6bfdc1E"(%"fmt::builders::PadAdapter"* dereferenceable(4) %0, i8* noalias nonnull readonly %11, i16 %12) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 slice_loop_body: ; preds = %slice_loop_header %8 = getelementptr inbounds i8, i8* %13, i16 1 store i8 0, i8* %13 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %9 = bitcast [4 x i8]* %_12 to i8* %10 = call %str_slice @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf817heb693f3d57942ff2E"(i32 %1, i8* nonnull %9, i16 4) %11 = extractvalue %str_slice %10, 0 %12 = extractvalue %str_slice %10, 1 br label %bb1 slice_loop_header: ; preds = %slice_loop_body, %start %13 = phi i8* [ %2, %start ], [ %8, %slice_loop_body ] %14 = icmp ne i8* %13, %3 br i1 %14, label %slice_loop_body, label %slice_loop_next } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt5Write9write_fmt17h4fd7a03ea1fb5c80E(%"fmt::builders::PadAdapter"* dereferenceable(4), %"fmt::Arguments"* noalias nocapture dereferenceable(12)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_10 = alloca %"fmt::Arguments" %_8 = alloca %"fmt::Write::write_fmt::Adapter" %args = alloca %"fmt::Arguments" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = bitcast %"fmt::Arguments"* %1 to i8* %3 = bitcast %"fmt::Arguments"* %args to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 12, i32 2, i1 false) %4 = getelementptr inbounds %"fmt::Write::write_fmt::Adapter", %"fmt::Write::write_fmt::Adapter"* %_8, i32 0, i32 0 store %"fmt::builders::PadAdapter"* %0, %"fmt::builders::PadAdapter"** %4 %5 = bitcast %"fmt::Write::write_fmt::Adapter"* %_8 to i8* %6 = bitcast %"fmt::Arguments"* %args to i8* %7 = bitcast %"fmt::Arguments"* %_10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 12, i32 2, i1 false) %8 = call i8 @_ZN4core3fmt5write17h52a33c89b70ab6dcE(i8* nonnull %5, void (i8*)** noalias nonnull readonly bitcast ({ void (%"fmt::Write::write_fmt::Adapter"*)*, i16, i16, i8 (%"fmt::Write::write_fmt::Adapter"*, i8*, i16)*, i8 (%"fmt::Write::write_fmt::Adapter"*, i32)*, i8 (%"fmt::Write::write_fmt::Adapter"*, %"fmt::Arguments"*)* }* @vtable.88 to void (i8*)**), %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_10) store i8 %8, i8* %abi_cast %9 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %11 = load i8, i8* %10, align 1 ret i8 %11 } ; Function Attrs: uwtable define internal i8 @"_ZN96_$LT$core..fmt..Write..write_fmt..Adapter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17he4aa10131d4a24d7E"(%"fmt::Write::write_fmt::Adapter"* dereferenceable(2), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"fmt::Write::write_fmt::Adapter", %"fmt::Write::write_fmt::Adapter"* %0, i32 0, i32 0 %4 = load %"fmt::builders::PadAdapter"*, %"fmt::builders::PadAdapter"** %3, !nonnull !1 %5 = call i8 @"_ZN96_$LT$core..fmt..builders..PadAdapter$LT$$u27$a$C$$u20$$u27$b$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17h3ad6ffc1bc6bfdc1E"(%"fmt::builders::PadAdapter"* dereferenceable(4) %4, i8* noalias nonnull readonly %1, i16 %2) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define internal i8 @"_ZN96_$LT$core..fmt..Write..write_fmt..Adapter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17h0c38f41ff3288b1dE"(%"fmt::Write::write_fmt::Adapter"* dereferenceable(2), i32) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::Write::write_fmt::Adapter", %"fmt::Write::write_fmt::Adapter"* %0, i32 0, i32 0 %3 = load %"fmt::builders::PadAdapter"*, %"fmt::builders::PadAdapter"** %2, !nonnull !1 %4 = call i8 @_ZN4core3fmt5Write10write_char17hf90414f7abc72c5aE(%"fmt::builders::PadAdapter"* dereferenceable(4) %3, i32 %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define internal i8 @"_ZN96_$LT$core..fmt..Write..write_fmt..Adapter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_fmt17h8d1442384bbe48e2E"(%"fmt::Write::write_fmt::Adapter"* dereferenceable(2), %"fmt::Arguments"* noalias nocapture dereferenceable(12)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_6 = alloca %"fmt::Arguments" %args = alloca %"fmt::Arguments" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = bitcast %"fmt::Arguments"* %1 to i8* %3 = bitcast %"fmt::Arguments"* %args to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 12, i32 2, i1 false) %4 = getelementptr inbounds %"fmt::Write::write_fmt::Adapter", %"fmt::Write::write_fmt::Adapter"* %0, i32 0, i32 0 %5 = load %"fmt::builders::PadAdapter"*, %"fmt::builders::PadAdapter"** %4, !nonnull !1 %6 = bitcast %"fmt::Arguments"* %args to i8* %7 = bitcast %"fmt::Arguments"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 12, i32 2, i1 false) %8 = call i8 @_ZN4core3fmt5Write9write_fmt17h4fd7a03ea1fb5c80E(%"fmt::builders::PadAdapter"* dereferenceable(4) %5, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_6) store i8 %8, i8* %abi_cast %9 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %11 = load i8, i8* %10, align 1 ret i8 %11 } ; Function Attrs: uwtable define void @"_ZN74_$LT$core..fmt..ArgumentV1$LT$$u27$a$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hfbf13f0ac61bd6a9E"(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), %"fmt::ArgumentV1"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %1, i32 0, i32 0 %3 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %1, i32 0, i32 1 %4 = load %"fmt::Void"*, %"fmt::Void"** %2, !nonnull !1 %5 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %3, !nonnull !1 %6 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %4, %"fmt::Void"** %6 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %5, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %7 ret void } ; Function Attrs: noinline uwtable define internal i8 @_ZN4core3fmt10ArgumentV110show_usize17hf04c6ec4d6e531a8E(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #4 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE"(i16* noalias readonly dereferenceable(2) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17h2362904cf50d7115E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), %str_slice* noalias readonly dereferenceable(4), i8 (%str_slice*, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 (%str_slice*, %"fmt::Formatter"*)** store i8 (%str_slice*, %"fmt::Formatter"*)* %2, i8 (%str_slice*, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to %str_slice** store %str_slice* %1, %str_slice** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), i8* noalias readonly dereferenceable(1), i8 (i8*, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 (i8*, %"fmt::Formatter"*)** store i8 (i8*, %"fmt::Formatter"*)* %2, i8 (i8*, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to i8** store i8* %1, i8** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17h2f3aff6ed7c5c9d5E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), i32** noalias readonly dereferenceable(2), i8 (i32**, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 (i32**, %"fmt::Formatter"*)** store i8 (i32**, %"fmt::Formatter"*)* %2, i8 (i32**, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to i32*** store i32** %1, i32*** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17h3f21237e99a6aa29E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), i64** noalias readonly dereferenceable(2), i8 (i64**, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 (i64**, %"fmt::Formatter"*)** store i8 (i64**, %"fmt::Formatter"*)* %2, i8 (i64**, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to i64*** store i64** %1, i64*** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17h3fad3884e14b0712E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), i16** noalias readonly dereferenceable(2), i8 (i16**, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 (i16**, %"fmt::Formatter"*)** store i8 (i16**, %"fmt::Formatter"*)* %2, i8 (i16**, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to i16*** store i16** %1, i16*** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17h60769ffe2ddda844E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), %"option::Option"** noalias readonly dereferenceable(2), i8 (%"option::Option"**, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 (%"option::Option"**, %"fmt::Formatter"*)** store i8 (%"option::Option"**, %"fmt::Formatter"*)* %2, i8 (%"option::Option"**, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to %"option::Option"*** store %"option::Option"** %1, %"option::Option"*** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17h6dd73e0773053cf4E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), %"ops::Range"* noalias readonly dereferenceable(4), i8 (%"ops::Range"*, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 (%"ops::Range"*, %"fmt::Formatter"*)** store i8 (%"ops::Range"*, %"fmt::Formatter"*)* %2, i8 (%"ops::Range"*, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to %"ops::Range"** store %"ops::Range"* %1, %"ops::Range"** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i8 (i16*, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 (i16*, %"fmt::Formatter"*)** store i8 (i16*, %"fmt::Formatter"*)* %2, i8 (i16*, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to i16** store i16* %1, i16** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17h7fa8ac83009275f0E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), i32* noalias readonly dereferenceable(4), i8 (i32*, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 (i32*, %"fmt::Formatter"*)** store i8 (i32*, %"fmt::Formatter"*)* %2, i8 (i32*, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to i32** store i32* %1, i32** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17hbd7a8d7393e51aceE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), i16** noalias readonly dereferenceable(2), i8 (i16**, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 (i16**, %"fmt::Formatter"*)** store i8 (i16**, %"fmt::Formatter"*)* %2, i8 (i16**, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to i16*** store i16** %1, i16*** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17hddc1268375e89831E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), { i8*, void (i8*)** }* noalias readonly dereferenceable(4), i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)** store i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)* %2, i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to { i8*, void (i8*)** }** store { i8*, void (i8*)** }* %1, { i8*, void (i8*)** }** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17hf2b007dd1478b8f3E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i8 (i16*, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 (i16*, %"fmt::Formatter"*)** store i8 (i16*, %"fmt::Formatter"*)* %2, i8 (i16*, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to i16** store i16* %1, i16** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), i32* noalias readonly dereferenceable(4), i8 (i32*, %"fmt::Formatter"*)*) unnamed_addr #1 { entry-block: %transmute_temp1 = alloca %"fmt::Void"* %transmute_temp = alloca i8 (%"fmt::Void"*, %"fmt::Formatter"*)* br label %start start: ; preds = %entry-block %3 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp to i8 (i32*, %"fmt::Formatter"*)** store i8 (i32*, %"fmt::Formatter"*)* %2, i8 (i32*, %"fmt::Formatter"*)** %3, align 2 %4 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %transmute_temp, !nonnull !1 br label %bb1 bb1: ; preds = %start %5 = bitcast %"fmt::Void"** %transmute_temp1 to i32** store i32* %1, i32** %5, align 2 %6 = load %"fmt::Void"*, %"fmt::Void"** %transmute_temp1, !nonnull !1 br label %bb2 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 0 store %"fmt::Void"* %6, %"fmt::Void"** %7 %8 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %0, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %4, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 ret void } ; Function Attrs: uwtable define void @_ZN4core3fmt10ArgumentV110from_usize17h7f5643ff6327de91E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3fmt10ArgumentV13new17h77ea26c0c8ca9a2dE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %0, i16* noalias readonly dereferenceable(2) %1, i8 (i16*, %"fmt::Formatter"*)* @_ZN4core3fmt10ArgumentV110show_usize17hf04c6ec4d6e531a8E) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define internal void @_ZN4core3fmt10ArgumentV18as_usize17h2bb0841dff2bdc91E(%"option::Option"* noalias nocapture sret dereferenceable(4), %"fmt::ArgumentV1"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %1, i32 0, i32 1 %3 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %2, !nonnull !1 %4 = ptrtoint i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %3 to i16 %5 = icmp eq i16 %4, ptrtoint (i8 (i16*, %"fmt::Formatter"*)* @_ZN4core3fmt10ArgumentV110show_usize17hf04c6ec4d6e531a8E to i16) br i1 %5, label %bb1, label %bb2 bb1: ; preds = %start %6 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %1, i32 0, i32 0 %7 = load %"fmt::Void"*, %"fmt::Void"** %6, !nonnull !1 %8 = bitcast %"fmt::Void"* %7 to i16* %9 = load i16, i16* %8 %10 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %10 %11 = bitcast %"option::Option"* %0 to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 store i16 %9, i16* %12 br label %bb3 bb2: ; preds = %start %13 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %13 br label %bb3 bb3: ; preds = %bb2, %bb1 ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12), %str_slice* noalias nonnull readonly, i16, %"fmt::ArgumentV1"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_6 = alloca %"option::Option<&[fmt::rt::v1::Argument]>" br label %start start: ; preds = %entry-block %5 = getelementptr inbounds %"option::Option<&[fmt::rt::v1::Argument]>", %"option::Option<&[fmt::rt::v1::Argument]>"* %_6, i32 0, i32 0, i32 0 store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %5 %6 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %0, i32 0, i32 0 %7 = getelementptr inbounds { %str_slice*, i16 }, { %str_slice*, i16 }* %6, i32 0, i32 0 store %str_slice* %1, %str_slice** %7 %8 = getelementptr inbounds { %str_slice*, i16 }, { %str_slice*, i16 }* %6, i32 0, i32 1 store i16 %2, i16* %8 %9 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %0, i32 0, i32 1 %10 = bitcast %"option::Option<&[fmt::rt::v1::Argument]>"* %_6 to i8* %11 = bitcast %"option::Option<&[fmt::rt::v1::Argument]>"* %9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 4, i32 2, i1 false) %12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %0, i32 0, i32 2 %13 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %12, i32 0, i32 0 store %"fmt::ArgumentV1"* %3, %"fmt::ArgumentV1"** %13 %14 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %12, i32 0, i32 1 store i16 %4, i16* %14 ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3fmt9Arguments16new_v1_formatted17h34bc06d81ce02e19E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12), %str_slice* noalias nonnull readonly, i16, %"fmt::ArgumentV1"* noalias nonnull readonly, i16, %"fmt::rt::v1::Argument"* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_8 = alloca %"option::Option<&[fmt::rt::v1::Argument]>" br label %start start: ; preds = %entry-block %7 = getelementptr inbounds %"option::Option<&[fmt::rt::v1::Argument]>", %"option::Option<&[fmt::rt::v1::Argument]>"* %_8, i32 0, i32 0 %8 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* %7, i32 0, i32 0 store %"fmt::rt::v1::Argument"* %5, %"fmt::rt::v1::Argument"** %8 %9 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* %7, i32 0, i32 1 store i16 %6, i16* %9 %10 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %0, i32 0, i32 0 %11 = getelementptr inbounds { %str_slice*, i16 }, { %str_slice*, i16 }* %10, i32 0, i32 0 store %str_slice* %1, %str_slice** %11 %12 = getelementptr inbounds { %str_slice*, i16 }, { %str_slice*, i16 }* %10, i32 0, i32 1 store i16 %2, i16* %12 %13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %0, i32 0, i32 1 %14 = bitcast %"option::Option<&[fmt::rt::v1::Argument]>"* %_8 to i8* %15 = bitcast %"option::Option<&[fmt::rt::v1::Argument]>"* %13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %14, i16 4, i32 2, i1 false) %16 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %0, i32 0, i32 2 %17 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %16, i32 0, i32 0 store %"fmt::ArgumentV1"* %3, %"fmt::ArgumentV1"** %17 %18 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %16, i32 0, i32 1 store i16 %4, i16* %18 ret void } ; Function Attrs: uwtable define internal i16 @"_ZN4core3fmt9Arguments18estimated_capacity28_$u7b$$u7b$closure$u7d$$u7d$17ha784cc9d52a4e012E"(%closure.10*, %str_slice* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %str_slice, %str_slice* %1, i32 0, i32 0 %3 = load i8*, i8** %2, !nonnull !1 %4 = getelementptr inbounds %str_slice, %str_slice* %1, i32 0, i32 1 %5 = load i16, i16* %4 %6 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %3, i16 %5) br label %bb1 bb1: ; preds = %start ret i16 %6 } ; Function Attrs: uwtable define i8 @"_ZN71_$LT$core..fmt..Arguments$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h0b239ff7d8788595E"(%"fmt::Arguments"* noalias readonly dereferenceable(12), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN73_$LT$core..fmt..Arguments$LT$$u27$a$GT$$u20$as$u20$core..fmt..Display$GT$3fmt17h4901fb44f3603e34E"(%"fmt::Arguments"* noalias readonly dereferenceable(12) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN73_$LT$core..fmt..Arguments$LT$$u27$a$GT$$u20$as$u20$core..fmt..Display$GT$3fmt17h4901fb44f3603e34E"(%"fmt::Arguments"* noalias readonly dereferenceable(12), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_7 = alloca %"fmt::Arguments" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 5 %3 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %2, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %2, i32 0, i32 1 %6 = load void (i8*)**, void (i8*)*** %5, !nonnull !1 %7 = bitcast %"fmt::Arguments"* %0 to i8* %8 = bitcast %"fmt::Arguments"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 12, i32 2, i1 false) %9 = call i8 @_ZN4core3fmt5write17h52a33c89b70ab6dcE(i8* nonnull %4, void (i8*)** noalias nonnull readonly %6, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_7) store i8 %9, i8* %abi_cast %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %11 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %12 = load i8, i8* %11, align 1 ret i8 %12 } ; Function Attrs: uwtable define i8 @_ZN4core3fmt5write17h52a33c89b70ab6dcE(i8* nonnull, void (i8*)** noalias nonnull readonly, %"fmt::Arguments"* noalias nocapture dereferenceable(12)) unnamed_addr #1 { entry-block: %abi_cast16 = alloca i8 %abi_cast15 = alloca i8 %abi_cast14 = alloca i8 %abi_cast13 = alloca i8 %abi_cast12 = alloca i8 %abi_cast11 = alloca i8 %abi_cast10 = alloca i8 %abi_cast9 = alloca i8 %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast = alloca i8 %_112 = alloca {} %_103 = alloca %"result::Result<(), fmt::Error>" %_102 = alloca %"result::Result<(), fmt::Error>" %_97 = alloca i8* %_96 = alloca {} %_86 = alloca %"result::Result<(), fmt::Error>" %_85 = alloca %"result::Result<(), fmt::Error>" %_75 = alloca %"result::Result<(), fmt::Error>" %_74 = alloca %"result::Result<(), fmt::Error>" %_67 = alloca %"option::Option<(&fmt::rt::v1::Argument, &&str)>" %iter2 = alloca %"iter::Zip, &mut slice::Iter<&str>>" %_62 = alloca %"slice::Iter" %_61 = alloca %"iter::Zip, &mut slice::Iter<&str>>" %_60 = alloca %"iter::Zip, &mut slice::Iter<&str>>" %_result1 = alloca {} %_47 = alloca %"result::Result<(), fmt::Error>" %_46 = alloca %"result::Result<(), fmt::Error>" %_36 = alloca %"result::Result<(), fmt::Error>" %_35 = alloca %"result::Result<(), fmt::Error>" %_28 = alloca %"option::Option<(&fmt::ArgumentV1, &&str)>" %_27 = alloca {} %iter = alloca %"iter::Zip, &mut slice::Iter<&str>>" %_22 = alloca %"slice::Iter" %_21 = alloca %"iter::Zip, &mut slice::Iter<&str>>" %_20 = alloca %"iter::Zip, &mut slice::Iter<&str>>" %_result = alloca {} %_16 = alloca {} %pieces = alloca %"slice::Iter<&str>" %_12 = alloca %"slice::Iter" %_10 = alloca i8 %_7 = alloca %"option::Option" %_6 = alloca %"option::Option" %formatter = alloca %"fmt::Formatter" %args = alloca %"fmt::Arguments" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = bitcast %"fmt::Arguments"* %2 to i8* %4 = bitcast %"fmt::Arguments"* %args to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 12, i32 2, i1 false) %5 = getelementptr inbounds %"option::Option", %"option::Option"* %_6, i32 0, i32 0 store i16 0, i16* %5 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_7, i32 0, i32 0 store i16 0, i16* %6 store i8 3, i8* %_10 %7 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %args, i32 0, i32 2 %8 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %7, i32 0, i32 0 %9 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %8, !nonnull !1 %10 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %7, i32 0, i32 1 %11 = load i16, i16* %10 %12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %args, i32 0, i32 2 %13 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %12, i32 0, i32 0 %14 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %13, !nonnull !1 %15 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %12, i32 0, i32 1 %16 = load i16, i16* %15 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hc163ef56fec2fcafE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_12, %"fmt::ArgumentV1"* noalias nonnull readonly %14, i16 %16) br label %bb1 bb1: ; preds = %start %17 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %formatter, i32 0, i32 0 store i32 0, i32* %17 %18 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %formatter, i32 0, i32 1 store i32 32, i32* %18 %19 = load i8, i8* %_10 %20 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %formatter, i32 0, i32 2 store i8 %19, i8* %20 %21 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %formatter, i32 0, i32 3 %22 = bitcast %"option::Option"* %_6 to i8* %23 = bitcast %"option::Option"* %21 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %23, i8* %22, i16 4, i32 2, i1 false) %24 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %formatter, i32 0, i32 4 %25 = bitcast %"option::Option"* %_7 to i8* %26 = bitcast %"option::Option"* %24 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %25, i16 4, i32 2, i1 false) %27 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %formatter, i32 0, i32 5 %28 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %27, i32 0, i32 0 store i8* %0, i8** %28 %29 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %27, i32 0, i32 1 store void (i8*)** %1, void (i8*)*** %29 %30 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %formatter, i32 0, i32 6 %31 = bitcast %"slice::Iter"* %_12 to i8* %32 = bitcast %"slice::Iter"* %30 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %32, i8* %31, i16 4, i32 2, i1 false) %33 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %formatter, i32 0, i32 7 %34 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %33, i32 0, i32 0 store %"fmt::ArgumentV1"* %9, %"fmt::ArgumentV1"** %34 %35 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %33, i32 0, i32 1 store i16 %11, i16* %35 %36 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %args, i32 0, i32 0 %37 = getelementptr inbounds { %str_slice*, i16 }, { %str_slice*, i16 }* %36, i32 0, i32 0 %38 = load %str_slice*, %str_slice** %37, !nonnull !1 %39 = getelementptr inbounds { %str_slice*, i16 }, { %str_slice*, i16 }* %36, i32 0, i32 1 %40 = load i16, i16* %39 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h3820afee8f9d16ceE"(%"slice::Iter<&str>"* noalias nocapture sret dereferenceable(4) %pieces, %str_slice* noalias nonnull readonly %38, i16 %40) br label %bb2 bb2: ; preds = %bb1 %41 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %args, i32 0, i32 1 %42 = getelementptr inbounds %"option::Option<&[fmt::rt::v1::Argument]>", %"option::Option<&[fmt::rt::v1::Argument]>"* %41, i32 0, i32 0, i32 0 %43 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %42 %44 = icmp ne %"fmt::rt::v1::Argument"* %43, null %45 = zext i1 %44 to i16 switch i16 %45, label %bb4 [ i16 0, label %bb3 ] bb3: ; preds = %bb2 %46 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %args, i32 0, i32 2 %47 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %46, i32 0, i32 0 %48 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %47, !nonnull !1 %49 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %46, i32 0, i32 1 %50 = load i16, i16* %49 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hc163ef56fec2fcafE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_22, %"fmt::ArgumentV1"* noalias nonnull readonly %48, i16 %50) br label %bb6 bb4: ; preds = %bb2 %51 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %args, i32 0, i32 1 %52 = getelementptr inbounds %"option::Option<&[fmt::rt::v1::Argument]>", %"option::Option<&[fmt::rt::v1::Argument]>"* %51, i32 0, i32 0 %53 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* %52, i32 0, i32 0 %54 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %53, !nonnull !1 %55 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* %52, i32 0, i32 1 %56 = load i16, i16* %55 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h2aa32e151efb9711E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_62, %"fmt::rt::v1::Argument"* noalias nonnull readonly %54, i16 %56) br label %bb30 bb5: ; preds = %bb12, %bb36 %57 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd30b4fbc2b8c8f5cE"(%"slice::Iter<&str>"* dereferenceable(4) %pieces) store i8* %57, i8** %_97 br label %bb51 bb6: ; preds = %bb3 %58 = call dereferenceable(4) %"slice::Iter<&str>"* @_ZN4core4iter8iterator8Iterator6by_ref17h0a6828ee3da2b307E(%"slice::Iter<&str>"* dereferenceable(4) %pieces) br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator3zip17hde9f181af367a0f8E(%"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture sret dereferenceable(10) %_21, %"slice::Iter"* noalias nocapture dereferenceable(4) %_22, %"slice::Iter<&str>"* dereferenceable(4) %58) br label %bb8 bb8: ; preds = %bb7 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hf35311762713071bE"(%"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture sret dereferenceable(10) %_20, %"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture dereferenceable(10) %_21) br label %bb9 bb9: ; preds = %bb8 %59 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %_20 to i8* %60 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %60, i8* %59, i16 10, i32 2, i1 false) br label %bb10 bb10: ; preds = %bb26, %bb9 call void @"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hc8ee995e1910051bE"(%"option::Option<(&fmt::ArgumentV1, &&str)>"* noalias nocapture sret dereferenceable(4) %_28, %"iter::Zip, &mut slice::Iter<&str>>"* dereferenceable(10) %iter) br label %bb11 bb11: ; preds = %bb10 %61 = getelementptr inbounds %"option::Option<(&fmt::ArgumentV1, &&str)>", %"option::Option<(&fmt::ArgumentV1, &&str)>"* %_28, i32 0, i32 0, i32 0 %62 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %61 %63 = icmp ne %"fmt::ArgumentV1"* %62, null %64 = zext i1 %63 to i16 switch i16 %64, label %bb13 [ i16 0, label %bb12 ] bb12: ; preds = %bb11 br label %bb5 bb13: ; preds = %bb11 %65 = getelementptr inbounds %"option::Option<(&fmt::ArgumentV1, &&str)>", %"option::Option<(&fmt::ArgumentV1, &&str)>"* %_28, i32 0, i32 0 %66 = getelementptr inbounds { %"fmt::ArgumentV1"*, %str_slice* }, { %"fmt::ArgumentV1"*, %str_slice* }* %65, i32 0, i32 0 %67 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %66, !nonnull !1 %68 = getelementptr inbounds %"option::Option<(&fmt::ArgumentV1, &&str)>", %"option::Option<(&fmt::ArgumentV1, &&str)>"* %_28, i32 0, i32 0 %69 = getelementptr inbounds { %"fmt::ArgumentV1"*, %str_slice* }, { %"fmt::ArgumentV1"*, %str_slice* }* %68, i32 0, i32 1 %70 = load %str_slice*, %str_slice** %69, !nonnull !1 %71 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %formatter, i32 0, i32 5 %72 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %71, i32 0, i32 0 %73 = load i8*, i8** %72, !nonnull !1 %74 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %71, i32 0, i32 1 %75 = load void (i8*)**, void (i8*)*** %74, !nonnull !1 %76 = getelementptr inbounds %str_slice, %str_slice* %70, i32 0, i32 0 %77 = load i8*, i8** %76, !nonnull !1 %78 = getelementptr inbounds %str_slice, %str_slice* %70, i32 0, i32 1 %79 = load i16, i16* %78 %80 = getelementptr inbounds void (i8*)*, void (i8*)** %75, i32 3 %81 = load void (i8*)*, void (i8*)** %80, !invariant.load !1, !nonnull !1 %82 = bitcast void (i8*)* %81 to i8 (i8*, i8*, i16)* %83 = call i8 %82(i8* nonnull %73, i8* noalias nonnull readonly %77, i16 %79) store i8 %83, i8* %abi_cast8 %84 = bitcast %"result::Result<(), fmt::Error>"* %_36 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %84, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb14 bb14: ; preds = %bb13 %85 = bitcast %"result::Result<(), fmt::Error>"* %_36 to i8* %86 = load i8, i8* %85, align 1 %87 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %86) store i8 %87, i8* %abi_cast9 %88 = bitcast %"result::Result<(), fmt::Error>"* %_35 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %88, i8* %abi_cast9, i16 1, i32 1, i1 false) br label %bb15 bb15: ; preds = %bb14 %89 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_35, i32 0, i32 0 %90 = load i8, i8* %89, !range !2 %91 = zext i8 %90 to i16 switch i16 %91, label %bb17 [ i16 0, label %bb16 ] bb16: ; preds = %bb15 %92 = bitcast %"result::Result<(), fmt::Error>"* %_35 to { i8, {} }* %93 = getelementptr inbounds { i8, {} }, { i8, {} }* %92, i32 0, i32 1 %94 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %67, i32 0, i32 1 %95 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %94, !nonnull !1 %96 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %67, i32 0, i32 0 %97 = load %"fmt::Void"*, %"fmt::Void"** %96, !nonnull !1 %98 = call i8 %95(%"fmt::Void"* noalias readonly %97, %"fmt::Formatter"* dereferenceable(32) %formatter) store i8 %98, i8* %abi_cast11 %99 = bitcast %"result::Result<(), fmt::Error>"* %_47 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %99, i8* %abi_cast11, i16 1, i32 1, i1 false) br label %bb24 bb17: ; preds = %bb15 %100 = bitcast %"result::Result<(), fmt::Error>"* %_35 to { i8, %"fmt::Error" }* %101 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %100, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb18 bb18: ; preds = %bb17 %102 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %102, i8* %abi_cast10 %103 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %103, i8* %abi_cast10, i16 1, i32 1, i1 false) br label %bb19 bb19: ; preds = %bb18 br label %bb21 bb20: ; preds = %bb54, %bb23 %104 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %105 = load i8, i8* %104, align 1 ret i8 %105 bb21: ; preds = %bb29, %bb19 br label %bb22 bb22: ; preds = %bb21, %bb44 br label %bb23 bb23: ; preds = %bb60, %bb22 br label %bb20 bb24: ; preds = %bb16 %106 = bitcast %"result::Result<(), fmt::Error>"* %_47 to i8* %107 = load i8, i8* %106, align 1 %108 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %107) store i8 %108, i8* %abi_cast12 %109 = bitcast %"result::Result<(), fmt::Error>"* %_46 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %109, i8* %abi_cast12, i16 1, i32 1, i1 false) br label %bb25 bb25: ; preds = %bb24 %110 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_46, i32 0, i32 0 %111 = load i8, i8* %110, !range !2 %112 = zext i8 %111 to i16 switch i16 %112, label %bb27 [ i16 0, label %bb26 ] bb26: ; preds = %bb25 %113 = bitcast %"result::Result<(), fmt::Error>"* %_46 to { i8, {} }* %114 = getelementptr inbounds { i8, {} }, { i8, {} }* %113, i32 0, i32 1 br label %bb10 bb27: ; preds = %bb25 %115 = bitcast %"result::Result<(), fmt::Error>"* %_46 to { i8, %"fmt::Error" }* %116 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %115, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb28 bb28: ; preds = %bb27 %117 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %117, i8* %abi_cast13 %118 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %118, i8* %abi_cast13, i16 1, i32 1, i1 false) br label %bb29 bb29: ; preds = %bb28 br label %bb21 bb30: ; preds = %bb4 %119 = call dereferenceable(4) %"slice::Iter<&str>"* @_ZN4core4iter8iterator8Iterator6by_ref17h0a6828ee3da2b307E(%"slice::Iter<&str>"* dereferenceable(4) %pieces) br label %bb31 bb31: ; preds = %bb30 call void @_ZN4core4iter8iterator8Iterator3zip17h3846776f421bbcbdE(%"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture sret dereferenceable(10) %_61, %"slice::Iter"* noalias nocapture dereferenceable(4) %_62, %"slice::Iter<&str>"* dereferenceable(4) %119) br label %bb32 bb32: ; preds = %bb31 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h3b5556df37bb4d37E"(%"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture sret dereferenceable(10) %_60, %"iter::Zip, &mut slice::Iter<&str>>"* noalias nocapture dereferenceable(10) %_61) br label %bb33 bb33: ; preds = %bb32 %120 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %_60 to i8* %121 = bitcast %"iter::Zip, &mut slice::Iter<&str>>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %121, i8* %120, i16 10, i32 2, i1 false) br label %bb34 bb34: ; preds = %bb47, %bb33 call void @"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6101362dce605e94E"(%"option::Option<(&fmt::rt::v1::Argument, &&str)>"* noalias nocapture sret dereferenceable(4) %_67, %"iter::Zip, &mut slice::Iter<&str>>"* dereferenceable(10) %iter2) br label %bb35 bb35: ; preds = %bb34 %122 = getelementptr inbounds %"option::Option<(&fmt::rt::v1::Argument, &&str)>", %"option::Option<(&fmt::rt::v1::Argument, &&str)>"* %_67, i32 0, i32 0, i32 0 %123 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %122 %124 = icmp ne %"fmt::rt::v1::Argument"* %123, null %125 = zext i1 %124 to i16 switch i16 %125, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 br label %bb5 bb37: ; preds = %bb35 %126 = getelementptr inbounds %"option::Option<(&fmt::rt::v1::Argument, &&str)>", %"option::Option<(&fmt::rt::v1::Argument, &&str)>"* %_67, i32 0, i32 0 %127 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, %str_slice* }, { %"fmt::rt::v1::Argument"*, %str_slice* }* %126, i32 0, i32 0 %128 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %127, !nonnull !1 %129 = getelementptr inbounds %"option::Option<(&fmt::rt::v1::Argument, &&str)>", %"option::Option<(&fmt::rt::v1::Argument, &&str)>"* %_67, i32 0, i32 0 %130 = getelementptr inbounds { %"fmt::rt::v1::Argument"*, %str_slice* }, { %"fmt::rt::v1::Argument"*, %str_slice* }* %129, i32 0, i32 1 %131 = load %str_slice*, %str_slice** %130, !nonnull !1 %132 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %formatter, i32 0, i32 5 %133 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %132, i32 0, i32 0 %134 = load i8*, i8** %133, !nonnull !1 %135 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %132, i32 0, i32 1 %136 = load void (i8*)**, void (i8*)*** %135, !nonnull !1 %137 = getelementptr inbounds %str_slice, %str_slice* %131, i32 0, i32 0 %138 = load i8*, i8** %137, !nonnull !1 %139 = getelementptr inbounds %str_slice, %str_slice* %131, i32 0, i32 1 %140 = load i16, i16* %139 %141 = getelementptr inbounds void (i8*)*, void (i8*)** %136, i32 3 %142 = load void (i8*)*, void (i8*)** %141, !invariant.load !1, !nonnull !1 %143 = bitcast void (i8*)* %142 to i8 (i8*, i8*, i16)* %144 = call i8 %143(i8* nonnull %134, i8* noalias nonnull readonly %138, i16 %140) store i8 %144, i8* %abi_cast %145 = bitcast %"result::Result<(), fmt::Error>"* %_75 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %145, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb38 bb38: ; preds = %bb37 %146 = bitcast %"result::Result<(), fmt::Error>"* %_75 to i8* %147 = load i8, i8* %146, align 1 %148 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %147) store i8 %148, i8* %abi_cast3 %149 = bitcast %"result::Result<(), fmt::Error>"* %_74 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %149, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb39 bb39: ; preds = %bb38 %150 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_74, i32 0, i32 0 %151 = load i8, i8* %150, !range !2 %152 = zext i8 %151 to i16 switch i16 %152, label %bb41 [ i16 0, label %bb40 ] bb40: ; preds = %bb39 %153 = bitcast %"result::Result<(), fmt::Error>"* %_74 to { i8, {} }* %154 = getelementptr inbounds { i8, {} }, { i8, {} }* %153, i32 0, i32 1 %155 = call i8 @_ZN4core3fmt9Formatter3run17hab2859f5bc019919E(%"fmt::Formatter"* dereferenceable(32) %formatter, %"fmt::rt::v1::Argument"* noalias readonly dereferenceable(24) %128) store i8 %155, i8* %abi_cast5 %156 = bitcast %"result::Result<(), fmt::Error>"* %_86 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %156, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb45 bb41: ; preds = %bb39 %157 = bitcast %"result::Result<(), fmt::Error>"* %_74 to { i8, %"fmt::Error" }* %158 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %157, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb42 bb42: ; preds = %bb41 %159 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %159, i8* %abi_cast4 %160 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %160, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb50, %bb43 br label %bb22 bb45: ; preds = %bb40 %161 = bitcast %"result::Result<(), fmt::Error>"* %_86 to i8* %162 = load i8, i8* %161, align 1 %163 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %162) store i8 %163, i8* %abi_cast6 %164 = bitcast %"result::Result<(), fmt::Error>"* %_85 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %164, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb46 bb46: ; preds = %bb45 %165 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_85, i32 0, i32 0 %166 = load i8, i8* %165, !range !2 %167 = zext i8 %166 to i16 switch i16 %167, label %bb48 [ i16 0, label %bb47 ] bb47: ; preds = %bb46 %168 = bitcast %"result::Result<(), fmt::Error>"* %_85 to { i8, {} }* %169 = getelementptr inbounds { i8, {} }, { i8, {} }* %168, i32 0, i32 1 br label %bb34 bb48: ; preds = %bb46 %170 = bitcast %"result::Result<(), fmt::Error>"* %_85 to { i8, %"fmt::Error" }* %171 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %170, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb49 bb49: ; preds = %bb48 %172 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %172, i8* %abi_cast7 %173 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %173, i8* %abi_cast7, i16 1, i32 1, i1 false) br label %bb50 bb50: ; preds = %bb49 br label %bb44 bb51: ; preds = %bb5 %174 = load i8*, i8** %_97 %175 = icmp ne i8* %174, null %176 = zext i1 %175 to i16 switch i16 %176, label %bb52 [ i16 1, label %bb53 ] bb52: ; preds = %bb51 br label %bb54 bb53: ; preds = %bb51 %177 = bitcast i8** %_97 to %str_slice** %178 = load %str_slice*, %str_slice** %177, !nonnull !1 %179 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %formatter, i32 0, i32 5 %180 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %179, i32 0, i32 0 %181 = load i8*, i8** %180, !nonnull !1 %182 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %179, i32 0, i32 1 %183 = load void (i8*)**, void (i8*)*** %182, !nonnull !1 %184 = getelementptr inbounds %str_slice, %str_slice* %178, i32 0, i32 0 %185 = load i8*, i8** %184, !nonnull !1 %186 = getelementptr inbounds %str_slice, %str_slice* %178, i32 0, i32 1 %187 = load i16, i16* %186 %188 = getelementptr inbounds void (i8*)*, void (i8*)** %183, i32 3 %189 = load void (i8*)*, void (i8*)** %188, !invariant.load !1, !nonnull !1 %190 = bitcast void (i8*)* %189 to i8 (i8*, i8*, i16)* %191 = call i8 %190(i8* nonnull %181, i8* noalias nonnull readonly %185, i16 %187) store i8 %191, i8* %abi_cast14 %192 = bitcast %"result::Result<(), fmt::Error>"* %_103 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %192, i8* %abi_cast14, i16 1, i32 1, i1 false) br label %bb55 bb54: ; preds = %bb57, %bb52 %193 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %193 br label %bb20 bb55: ; preds = %bb53 %194 = bitcast %"result::Result<(), fmt::Error>"* %_103 to i8* %195 = load i8, i8* %194, align 1 %196 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %195) store i8 %196, i8* %abi_cast15 %197 = bitcast %"result::Result<(), fmt::Error>"* %_102 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %197, i8* %abi_cast15, i16 1, i32 1, i1 false) br label %bb56 bb56: ; preds = %bb55 %198 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_102, i32 0, i32 0 %199 = load i8, i8* %198, !range !2 %200 = zext i8 %199 to i16 switch i16 %200, label %bb58 [ i16 0, label %bb57 ] bb57: ; preds = %bb56 %201 = bitcast %"result::Result<(), fmt::Error>"* %_102 to { i8, {} }* %202 = getelementptr inbounds { i8, {} }, { i8, {} }* %201, i32 0, i32 1 br label %bb54 bb58: ; preds = %bb56 %203 = bitcast %"result::Result<(), fmt::Error>"* %_102 to { i8, %"fmt::Error" }* %204 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %203, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb59 bb59: ; preds = %bb58 %205 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %205, i8* %abi_cast16 %206 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %206, i8* %abi_cast16, i16 1, i32 1, i1 false) br label %bb60 bb60: ; preds = %bb59 br label %bb23 } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt9Formatter3run17hab2859f5bc019919E(%"fmt::Formatter"* dereferenceable(32), %"fmt::rt::v1::Argument"* noalias readonly dereferenceable(24)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_21 = alloca i8* %value = alloca %"fmt::ArgumentV1" %_12 = alloca %"option::Option" %_8 = alloca %"option::Option" %_6 = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::rt::v1::Argument", %"fmt::rt::v1::Argument"* %1, i32 0, i32 1 %3 = getelementptr inbounds %"fmt::rt::v1::FormatSpec", %"fmt::rt::v1::FormatSpec"* %2, i32 0, i32 0 %4 = load i32, i32* %3, !range !11 %5 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 1 store i32 %4, i32* %5 %6 = getelementptr inbounds %"fmt::rt::v1::Argument", %"fmt::rt::v1::Argument"* %1, i32 0, i32 1 %7 = getelementptr inbounds %"fmt::rt::v1::FormatSpec", %"fmt::rt::v1::FormatSpec"* %6, i32 0, i32 1 %8 = load i8, i8* %7 store i8 %8, i8* %_6 %9 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 %10 = load i8, i8* %_6 store i8 %10, i8* %9 %11 = getelementptr inbounds %"fmt::rt::v1::Argument", %"fmt::rt::v1::Argument"* %1, i32 0, i32 1 %12 = getelementptr inbounds %"fmt::rt::v1::FormatSpec", %"fmt::rt::v1::FormatSpec"* %11, i32 0, i32 2 %13 = load i32, i32* %12 %14 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 0 store i32 %13, i32* %14 %15 = getelementptr inbounds %"fmt::rt::v1::Argument", %"fmt::rt::v1::Argument"* %1, i32 0, i32 1 %16 = getelementptr inbounds %"fmt::rt::v1::FormatSpec", %"fmt::rt::v1::FormatSpec"* %15, i32 0, i32 4 call void @_ZN4core3fmt9Formatter8getcount17h1d9b23f42b72d3e0E(%"option::Option"* noalias nocapture sret dereferenceable(4) %_8, %"fmt::Formatter"* dereferenceable(32) %0, %"fmt::rt::v1::Count"* noalias readonly dereferenceable(4) %16) br label %bb1 bb1: ; preds = %start %17 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 3 %18 = bitcast %"option::Option"* %_8 to i8* %19 = bitcast %"option::Option"* %17 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 4, i32 2, i1 false) %20 = getelementptr inbounds %"fmt::rt::v1::Argument", %"fmt::rt::v1::Argument"* %1, i32 0, i32 1 %21 = getelementptr inbounds %"fmt::rt::v1::FormatSpec", %"fmt::rt::v1::FormatSpec"* %20, i32 0, i32 3 call void @_ZN4core3fmt9Formatter8getcount17h1d9b23f42b72d3e0E(%"option::Option"* noalias nocapture sret dereferenceable(4) %_12, %"fmt::Formatter"* dereferenceable(32) %0, %"fmt::rt::v1::Count"* noalias readonly dereferenceable(4) %21) br label %bb2 bb2: ; preds = %bb1 %22 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 4 %23 = bitcast %"option::Option"* %_12 to i8* %24 = bitcast %"option::Option"* %22 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %23, i16 4, i32 2, i1 false) %25 = getelementptr inbounds %"fmt::rt::v1::Argument", %"fmt::rt::v1::Argument"* %1, i32 0, i32 0 %26 = getelementptr inbounds %"fmt::rt::v1::Position", %"fmt::rt::v1::Position"* %25, i32 0, i32 0 %27 = load i16, i16* %26, !range !3 switch i16 %27, label %bb4 [ i16 0, label %bb3 ] bb3: ; preds = %bb2 %28 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 6 %29 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h042eea4aa13cb73cE"(%"slice::Iter"* dereferenceable(4) %28) store i8* %29, i8** %_21 br label %bb6 bb4: ; preds = %bb2 %30 = getelementptr inbounds %"fmt::rt::v1::Argument", %"fmt::rt::v1::Argument"* %1, i32 0, i32 0 %31 = bitcast %"fmt::rt::v1::Position"* %30 to { i16, i16 }* %32 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %31, i32 0, i32 1 %33 = load i16, i16* %32 %34 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 7 %35 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %34, i32 0, i32 0 %36 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %35, !nonnull !1 %37 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %34, i32 0, i32 1 %38 = load i16, i16* %37 %39 = icmp ult i16 %33, %38 %40 = call i1 @llvm.expect.i1(i1 %39, i1 true) br i1 %40, label %bb8, label %panic bb5: ; preds = %bb7, %bb8 %41 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %value, i32 0, i32 1 %42 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %41, !nonnull !1 %43 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %value, i32 0, i32 0 %44 = load %"fmt::Void"*, %"fmt::Void"** %43, !nonnull !1 %45 = call i8 %42(%"fmt::Void"* noalias readonly %44, %"fmt::Formatter"* dereferenceable(32) %0) store i8 %45, i8* %abi_cast %46 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb9 bb6: ; preds = %bb3 %47 = load i8*, i8** %_21 %48 = call dereferenceable(4) %"fmt::ArgumentV1"* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h16374f64002b28d9E"(i8* %47) br label %bb7 bb7: ; preds = %bb6 %49 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %48, i32 0, i32 0 %50 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %48, i32 0, i32 1 %51 = load %"fmt::Void"*, %"fmt::Void"** %49, !nonnull !1 %52 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %50, !nonnull !1 %53 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %value, i32 0, i32 0 store %"fmt::Void"* %51, %"fmt::Void"** %53 %54 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %value, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %52, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %54 br label %bb5 bb8: ; preds = %bb4 %55 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 7 %56 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %55, i32 0, i32 0 %57 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %56, !nonnull !1 %58 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %55, i32 0, i32 1 %59 = load i16, i16* %58 %60 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %57, i16 %33 %61 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %60, i32 0, i32 0 %62 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %60, i32 0, i32 1 %63 = load %"fmt::Void"*, %"fmt::Void"** %61, !nonnull !1 %64 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %62, !nonnull !1 %65 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %value, i32 0, i32 0 store %"fmt::Void"* %63, %"fmt::Void"** %65 %66 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %value, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %64, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %66 br label %bb5 bb9: ; preds = %bb5 %67 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %68 = load i8, i8* %67, align 1 ret i8 %68 panic: ; preds = %bb4 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.8a, i16 %33, i16 %38) unreachable } ; Function Attrs: uwtable define internal void @_ZN4core3fmt9Formatter8getcount17h1d9b23f42b72d3e0E(%"option::Option"* noalias nocapture sret dereferenceable(4), %"fmt::Formatter"* dereferenceable(32), %"fmt::rt::v1::Count"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_15 = alloca %closure.28 %_13 = alloca i8* br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"fmt::rt::v1::Count", %"fmt::rt::v1::Count"* %2, i32 0, i32 0 %4 = load i16, i16* %3, !range !98 switch i16 %4, label %bb1 [ i16 0, label %bb3 i16 1, label %bb4 i16 2, label %bb2 ] bb1: ; preds = %start %5 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %5 br label %bb5 bb2: ; preds = %start %6 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 6 %7 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h042eea4aa13cb73cE"(%"slice::Iter"* dereferenceable(4) %6) store i8* %7, i8** %_13 br label %bb8 bb3: ; preds = %start %8 = bitcast %"fmt::rt::v1::Count"* %2 to { i16, i16 }* %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %8, i32 0, i32 1 %10 = load i16, i16* %9 %11 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %11 %12 = bitcast %"option::Option"* %0 to { i16, i16 }* %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %12, i32 0, i32 1 store i16 %10, i16* %13 br label %bb5 bb4: ; preds = %start %14 = bitcast %"fmt::rt::v1::Count"* %2 to { i16, i16 }* %15 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %14, i32 0, i32 1 %16 = load i16, i16* %15 %17 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 7 %18 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %17, i32 0, i32 0 %19 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %18, !nonnull !1 %20 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %17, i32 0, i32 1 %21 = load i16, i16* %20 %22 = icmp ult i16 %16, %21 %23 = call i1 @llvm.expect.i1(i1 %22, i1 true) br i1 %23, label %bb6, label %panic bb5: ; preds = %bb3, %bb7, %bb9, %bb1 ret void bb6: ; preds = %bb4 %24 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 7 %25 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %24, i32 0, i32 0 %26 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %25, !nonnull !1 %27 = getelementptr inbounds { %"fmt::ArgumentV1"*, i16 }, { %"fmt::ArgumentV1"*, i16 }* %24, i32 0, i32 1 %28 = load i16, i16* %27 %29 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %26, i16 %16 call void @_ZN4core3fmt10ArgumentV18as_usize17h2bb0841dff2bdc91E(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, %"fmt::ArgumentV1"* noalias readonly dereferenceable(4) %29) br label %bb7 bb7: ; preds = %bb6 br label %bb5 bb8: ; preds = %bb2 %30 = load i8*, i8** %_13 call void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h801a6688c04da4e1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i8* %30) br label %bb9 bb9: ; preds = %bb8 br label %bb5 panic: ; preds = %bb4 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.8b, i16 %16, i16 %21) unreachable } ; Function Attrs: uwtable define internal void @"_ZN4core3fmt9Formatter8getcount28_$u7b$$u7b$closure$u7d$$u7d$17h0ae55ac5ff3e7d57E"(%"option::Option"* noalias nocapture sret dereferenceable(4), %"fmt::ArgumentV1"* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3fmt10ArgumentV18as_usize17h2bb0841dff2bdc91E(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, %"fmt::ArgumentV1"* noalias readonly dereferenceable(4) %1) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32), i1 zeroext, i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %abi_cast16 = alloca i8 %abi_cast15 = alloca i8 %abi_cast14 = alloca i8 %abi_cast13 = alloca i8 %abi_cast12 = alloca i8 %arg = alloca %closure.43 %abi_cast10 = alloca i8 %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast = alloca i8 %_94 = alloca %closure.43 %_93 = alloca i8 %_86 = alloca %closure.42 %_85 = alloca i8 %_72 = alloca { %"fmt::Formatter"* } %_70 = alloca %"result::Result<(), fmt::Error>" %_69 = alloca %"result::Result<(), fmt::Error>" %_58 = alloca { %"fmt::Formatter"* } %_56 = alloca %"result::Result<(), fmt::Error>" %_55 = alloca %"result::Result<(), fmt::Error>" %_44 = alloca { %"fmt::Formatter"* } %_42 = alloca %"result::Result<(), fmt::Error>" %_41 = alloca %"result::Result<(), fmt::Error>" %write_prefix = alloca %closure.41 %_24 = alloca %"str::Chars" %_20 = alloca {} %prefixed = alloca i8 %_12 = alloca {} %sign = alloca %"option::Option" %width = alloca i16 %buf = alloca %str_slice %prefix = alloca %str_slice %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %6 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 store i8* %2, i8** %6 %7 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 store i16 %3, i16* %7 %8 = getelementptr inbounds %str_slice, %str_slice* %buf, i32 0, i32 0 store i8* %4, i8** %8 %9 = getelementptr inbounds %str_slice, %str_slice* %buf, i32 0, i32 1 store i16 %5, i16* %9 %10 = getelementptr inbounds %str_slice, %str_slice* %buf, i32 0, i32 0 %11 = load i8*, i8** %10, !nonnull !1 %12 = getelementptr inbounds %str_slice, %str_slice* %buf, i32 0, i32 1 %13 = load i16, i16* %12 %14 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %11, i16 %13) store i16 %14, i16* %width br label %bb1 bb1: ; preds = %start %15 = getelementptr inbounds %"option::Option", %"option::Option"* %sign, i32 0, i32 0 store i32 0, i32* %15 %16 = xor i1 %1, true br i1 %16, label %bb2, label %bb3 bb2: ; preds = %bb1 %17 = getelementptr inbounds %"option::Option", %"option::Option"* %sign, i32 0, i32 0 store i32 1, i32* %17 %18 = bitcast %"option::Option"* %sign to { i32, i32 }* %19 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %18, i32 0, i32 1 store i32 45, i32* %19 %20 = load i16, i16* %width %21 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %20, i16 1) %22 = extractvalue { i16, i1 } %21, 0 %23 = extractvalue { i16, i1 } %21, 1 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb4 bb3: ; preds = %bb1 %25 = call zeroext i1 @_ZN4core3fmt9Formatter9sign_plus17hd78549731cea10cdE(%"fmt::Formatter"* noalias readonly dereferenceable(32) %0) br label %bb5 bb4: ; preds = %bb2 store i16 %22, i16* %width br label %bb10 bb5: ; preds = %bb3 br i1 %25, label %bb6, label %bb7 bb6: ; preds = %bb5 %26 = getelementptr inbounds %"option::Option", %"option::Option"* %sign, i32 0, i32 0 store i32 1, i32* %26 %27 = bitcast %"option::Option"* %sign to { i32, i32 }* %28 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %27, i32 0, i32 1 store i32 43, i32* %28 %29 = load i16, i16* %width %30 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %29, i16 1) %31 = extractvalue { i16, i1 } %30, 0 %32 = extractvalue { i16, i1 } %30, 1 %33 = call i1 @llvm.expect.i1(i1 %32, i1 false) br i1 %33, label %panic1, label %bb8 bb7: ; preds = %bb5 br label %bb9 bb8: ; preds = %bb6 store i16 %31, i16* %width br label %bb9 bb9: ; preds = %bb7, %bb8 br label %bb10 bb10: ; preds = %bb9, %bb4 store i8 0, i8* %prefixed %34 = call zeroext i1 @_ZN4core3fmt9Formatter9alternate17hc382f2d78b3756a3E(%"fmt::Formatter"* noalias readonly dereferenceable(32) %0) br label %bb11 bb11: ; preds = %bb10 br i1 %34, label %bb12, label %bb13 bb12: ; preds = %bb11 store i8 1, i8* %prefixed %35 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 0 %36 = load i8*, i8** %35, !nonnull !1 %37 = getelementptr inbounds %str_slice, %str_slice* %prefix, i32 0, i32 1 %38 = load i16, i16* %37 call void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$5chars17hb453204c10970c2bE"(%"str::Chars"* noalias nocapture sret dereferenceable(4) %_24, i8* noalias nonnull readonly %36, i16 %38) br label %bb14 bb13: ; preds = %bb11 br label %bb17 bb14: ; preds = %bb12 %39 = call i16 @"_ZN81_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$5count17h53b4b63af1f4c1ebE"(%"str::Chars"* noalias nocapture dereferenceable(4) %_24) br label %bb15 bb15: ; preds = %bb14 %40 = load i16, i16* %width %41 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %40, i16 %39) %42 = extractvalue { i16, i1 } %41, 0 %43 = extractvalue { i16, i1 } %41, 1 %44 = call i1 @llvm.expect.i1(i1 %43, i1 false) br i1 %44, label %panic2, label %bb16 bb16: ; preds = %bb15 store i16 %42, i16* %width br label %bb17 bb17: ; preds = %bb13, %bb16 %45 = getelementptr inbounds %closure.41, %closure.41* %write_prefix, i32 0, i32 0 store %"option::Option"* %sign, %"option::Option"** %45 %46 = getelementptr inbounds %closure.41, %closure.41* %write_prefix, i32 0, i32 1 store i8* %prefixed, i8** %46 %47 = getelementptr inbounds %closure.41, %closure.41* %write_prefix, i32 0, i32 2 store %str_slice* %prefix, %str_slice** %47 %48 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 3 %49 = getelementptr inbounds %"option::Option", %"option::Option"* %48, i32 0, i32 0 %50 = load i16, i16* %49, !range !3 switch i16 %50, label %bb21 [ i16 0, label %bb18 ] bb18: ; preds = %bb17 %51 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_44, i32 0, i32 0 store %"fmt::Formatter"* %0, %"fmt::Formatter"** %51 %52 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_44, i32 0, i32 0 %53 = load %"fmt::Formatter"*, %"fmt::Formatter"** %52 %54 = call i8 @"_ZN4core3fmt9Formatter12pad_integral28_$u7b$$u7b$closure$u7d$$u7d$17h3171cdce1ecf2776E"(%closure.41* noalias readonly dereferenceable(6) %write_prefix, %"fmt::Formatter"* dereferenceable(32) %53) store i8 %54, i8* %abi_cast13 %55 = bitcast %"result::Result<(), fmt::Error>"* %_42 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %55, i8* %abi_cast13, i16 1, i32 1, i1 false) br label %bb26 bb19: ; preds = %bb21 %56 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_58, i32 0, i32 0 store %"fmt::Formatter"* %0, %"fmt::Formatter"** %56 %57 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_58, i32 0, i32 0 %58 = load %"fmt::Formatter"*, %"fmt::Formatter"** %57 %59 = call i8 @"_ZN4core3fmt9Formatter12pad_integral28_$u7b$$u7b$closure$u7d$$u7d$17h3171cdce1ecf2776E"(%closure.41* noalias readonly dereferenceable(6) %write_prefix, %"fmt::Formatter"* dereferenceable(32) %58) store i8 %59, i8* %abi_cast %60 = bitcast %"result::Result<(), fmt::Error>"* %_56 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %60, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb35 bb20: ; preds = %bb23 %61 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 1 store i32 48, i32* %61 %62 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 store i8 1, i8* %62 %63 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_72, i32 0, i32 0 store %"fmt::Formatter"* %0, %"fmt::Formatter"** %63 %64 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_72, i32 0, i32 0 %65 = load %"fmt::Formatter"*, %"fmt::Formatter"** %64 %66 = call i8 @"_ZN4core3fmt9Formatter12pad_integral28_$u7b$$u7b$closure$u7d$$u7d$17h3171cdce1ecf2776E"(%closure.41* noalias readonly dereferenceable(6) %write_prefix, %"fmt::Formatter"* dereferenceable(32) %65) store i8 %66, i8* %abi_cast6 %67 = bitcast %"result::Result<(), fmt::Error>"* %_70 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %67, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb42 bb21: ; preds = %bb17 %68 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 3 %69 = bitcast %"option::Option"* %68 to { i16, i16 }* %70 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %69, i32 0, i32 1 %71 = load i16, i16* %70 %72 = load i16, i16* %width %73 = icmp uge i16 %72, %71 br i1 %73, label %bb19, label %bb22 bb22: ; preds = %bb21 %74 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 3 %75 = bitcast %"option::Option"* %74 to { i16, i16 }* %76 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %75, i32 0, i32 1 %77 = load i16, i16* %76 %78 = call zeroext i1 @_ZN4core3fmt9Formatter19sign_aware_zero_pad17he68a32007e240d40E(%"fmt::Formatter"* noalias readonly dereferenceable(32) %0) br label %bb23 bb23: ; preds = %bb22 br i1 %78, label %bb20, label %bb24 bb24: ; preds = %bb23 %79 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 3 %80 = bitcast %"option::Option"* %79 to { i16, i16 }* %81 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %80, i32 0, i32 1 %82 = load i16, i16* %81 %83 = load i16, i16* %width %84 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %82, i16 %83) %85 = extractvalue { i16, i1 } %84, 0 %86 = extractvalue { i16, i1 } %84, 1 %87 = call i1 @llvm.expect.i1(i1 %86, i1 false) br i1 %87, label %panic11, label %bb50 bb25: ; preds = %bb34, %bb51, %bb49, %bb41 br label %bb32 bb26: ; preds = %bb18 %88 = bitcast %"result::Result<(), fmt::Error>"* %_42 to i8* %89 = load i8, i8* %88, align 1 %90 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %89) store i8 %90, i8* %abi_cast14 %91 = bitcast %"result::Result<(), fmt::Error>"* %_41 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %91, i8* %abi_cast14, i16 1, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %92 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_41, i32 0, i32 0 %93 = load i8, i8* %92, !range !2 %94 = zext i8 %93 to i16 switch i16 %94, label %bb29 [ i16 0, label %bb28 ] bb28: ; preds = %bb27 %95 = bitcast %"result::Result<(), fmt::Error>"* %_41 to { i8, {} }* %96 = getelementptr inbounds { i8, {} }, { i8, {} }* %95, i32 0, i32 1 %97 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %98 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %97, i32 0, i32 0 %99 = load i8*, i8** %98, !nonnull !1 %100 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %97, i32 0, i32 1 %101 = load void (i8*)**, void (i8*)*** %100, !nonnull !1 %102 = getelementptr inbounds %str_slice, %str_slice* %buf, i32 0, i32 0 %103 = load i8*, i8** %102, !nonnull !1 %104 = getelementptr inbounds %str_slice, %str_slice* %buf, i32 0, i32 1 %105 = load i16, i16* %104 %106 = getelementptr inbounds void (i8*)*, void (i8*)** %101, i32 3 %107 = load void (i8*)*, void (i8*)** %106, !invariant.load !1, !nonnull !1 %108 = bitcast void (i8*)* %107 to i8 (i8*, i8*, i16)* %109 = call i8 %108(i8* nonnull %99, i8* noalias nonnull readonly %103, i16 %105) store i8 %109, i8* %abi_cast16 %110 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %110, i8* %abi_cast16, i16 1, i32 1, i1 false) br label %bb34 bb29: ; preds = %bb27 %111 = bitcast %"result::Result<(), fmt::Error>"* %_41 to { i8, %"fmt::Error" }* %112 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %111, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb30 bb30: ; preds = %bb29 %113 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %113, i8* %abi_cast15 %114 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %114, i8* %abi_cast15, i16 1, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb33 bb32: ; preds = %bb25, %bb33 %115 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %116 = load i8, i8* %115, align 1 ret i8 %116 bb33: ; preds = %bb31, %bb47, %bb40 br label %bb32 bb34: ; preds = %bb28 br label %bb25 bb35: ; preds = %bb19 %117 = bitcast %"result::Result<(), fmt::Error>"* %_56 to i8* %118 = load i8, i8* %117, align 1 %119 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %118) store i8 %119, i8* %abi_cast3 %120 = bitcast %"result::Result<(), fmt::Error>"* %_55 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb36 bb36: ; preds = %bb35 %121 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_55, i32 0, i32 0 %122 = load i8, i8* %121, !range !2 %123 = zext i8 %122 to i16 switch i16 %123, label %bb38 [ i16 0, label %bb37 ] bb37: ; preds = %bb36 %124 = bitcast %"result::Result<(), fmt::Error>"* %_55 to { i8, {} }* %125 = getelementptr inbounds { i8, {} }, { i8, {} }* %124, i32 0, i32 1 %126 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %127 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %126, i32 0, i32 0 %128 = load i8*, i8** %127, !nonnull !1 %129 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %126, i32 0, i32 1 %130 = load void (i8*)**, void (i8*)*** %129, !nonnull !1 %131 = getelementptr inbounds %str_slice, %str_slice* %buf, i32 0, i32 0 %132 = load i8*, i8** %131, !nonnull !1 %133 = getelementptr inbounds %str_slice, %str_slice* %buf, i32 0, i32 1 %134 = load i16, i16* %133 %135 = getelementptr inbounds void (i8*)*, void (i8*)** %130, i32 3 %136 = load void (i8*)*, void (i8*)** %135, !invariant.load !1, !nonnull !1 %137 = bitcast void (i8*)* %136 to i8 (i8*, i8*, i16)* %138 = call i8 %137(i8* nonnull %128, i8* noalias nonnull readonly %132, i16 %134) store i8 %138, i8* %abi_cast5 %139 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %139, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb41 bb38: ; preds = %bb36 %140 = bitcast %"result::Result<(), fmt::Error>"* %_55 to { i8, %"fmt::Error" }* %141 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %140, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb39 bb39: ; preds = %bb38 %142 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %142, i8* %abi_cast4 %143 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %143, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb40 bb40: ; preds = %bb39 br label %bb33 bb41: ; preds = %bb37 br label %bb25 bb42: ; preds = %bb20 %144 = bitcast %"result::Result<(), fmt::Error>"* %_70 to i8* %145 = load i8, i8* %144, align 1 %146 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %145) store i8 %146, i8* %abi_cast7 %147 = bitcast %"result::Result<(), fmt::Error>"* %_69 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %147, i8* %abi_cast7, i16 1, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 %148 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_69, i32 0, i32 0 %149 = load i8, i8* %148, !range !2 %150 = zext i8 %149 to i16 switch i16 %150, label %bb45 [ i16 0, label %bb44 ] bb44: ; preds = %bb43 %151 = bitcast %"result::Result<(), fmt::Error>"* %_69 to { i8, {} }* %152 = getelementptr inbounds { i8, {} }, { i8, {} }* %151, i32 0, i32 1 %153 = load i16, i16* %width %154 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %77, i16 %153) %155 = extractvalue { i16, i1 } %154, 0 %156 = extractvalue { i16, i1 } %154, 1 %157 = call i1 @llvm.expect.i1(i1 %156, i1 false) br i1 %157, label %panic9, label %bb48 bb45: ; preds = %bb43 %158 = bitcast %"result::Result<(), fmt::Error>"* %_69 to { i8, %"fmt::Error" }* %159 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %158, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb46 bb46: ; preds = %bb45 %160 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %160, i8* %abi_cast8 %161 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %161, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb47 bb47: ; preds = %bb46 br label %bb33 bb48: ; preds = %bb44 store i8 1, i8* %_85 %162 = getelementptr inbounds %closure.42, %closure.42* %_86, i32 0, i32 0 store %str_slice* %buf, %str_slice** %162 %163 = load i8, i8* %_85 %164 = bitcast %closure.42* %_86 to i8** %165 = load i8*, i8** %164, align 2 %166 = call i8 @_ZN4core3fmt9Formatter12with_padding17h0d8e9ec1315e8b55E(%"fmt::Formatter"* dereferenceable(32) %0, i16 %155, i8 %163, i8* %165) store i8 %166, i8* %abi_cast10 %167 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %167, i8* %abi_cast10, i16 1, i32 1, i1 false) br label %bb49 bb49: ; preds = %bb48 br label %bb25 bb50: ; preds = %bb24 store i8 1, i8* %_93 %168 = getelementptr inbounds %closure.43, %closure.43* %_94, i32 0, i32 0 store %closure.41* %write_prefix, %closure.41** %168 %169 = getelementptr inbounds %closure.43, %closure.43* %_94, i32 0, i32 1 store %str_slice* %buf, %str_slice** %169 %170 = load i8, i8* %_93 %171 = getelementptr inbounds %closure.43, %closure.43* %_94, i32 0, i32 0 %172 = getelementptr inbounds %closure.43, %closure.43* %_94, i32 0, i32 1 %173 = load %closure.41*, %closure.41** %171, !nonnull !1 %174 = load %str_slice*, %str_slice** %172, !nonnull !1 %175 = getelementptr inbounds %closure.43, %closure.43* %arg, i32 0, i32 0 store %closure.41* %173, %closure.41** %175 %176 = getelementptr inbounds %closure.43, %closure.43* %arg, i32 0, i32 1 store %str_slice* %174, %str_slice** %176 %177 = call i8 @_ZN4core3fmt9Formatter12with_padding17h1fa7958bb45418b2E(%"fmt::Formatter"* dereferenceable(32) %0, i16 %85, i8 %170, %closure.43* noalias nocapture dereferenceable(4) %arg) store i8 %177, i8* %abi_cast12 %178 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %178, i8* %abi_cast12, i16 1, i32 1, i1 false) br label %bb51 bb51: ; preds = %bb50 br label %bb25 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8c) unreachable panic1: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8d) unreachable panic2: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8e) unreachable panic9: ; preds = %bb44 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8f) unreachable panic11: ; preds = %bb24 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8g) unreachable } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt9Formatter12pad_integral28_$u7b$$u7b$closure$u7d$$u7d$17h3171cdce1ecf2776E"(%closure.41* noalias readonly dereferenceable(6), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast3 = alloca i8 %abi_cast2 = alloca i8 %abi_cast1 = alloca i8 %abi_cast = alloca i8 %_27 = alloca {} %_17 = alloca [4 x i8] %_9 = alloca %"result::Result<(), fmt::Error>" %_8 = alloca %"result::Result<(), fmt::Error>" %_4 = alloca {} %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.41, %closure.41* %0, i32 0, i32 0 %3 = load %"option::Option"*, %"option::Option"** %2, !nonnull !1 %4 = getelementptr inbounds %"option::Option", %"option::Option"* %3, i32 0, i32 0 %5 = load i32, i32* %4, !range !9 %6 = trunc i32 %5 to i16 switch i16 %6, label %bb1 [ i16 1, label %bb2 ] bb1: ; preds = %start br label %bb3 bb2: ; preds = %start %7 = getelementptr inbounds %closure.41, %closure.41* %0, i32 0, i32 0 %8 = load %"option::Option"*, %"option::Option"** %7, !nonnull !1 %9 = bitcast %"option::Option"* %8 to { i32, i32 }* %10 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %9, i32 0, i32 1 %11 = load i32, i32* %10, !range !11 %12 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 5 %13 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %12, i32 0, i32 0 %14 = load i8*, i8** %13, !nonnull !1 %15 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %12, i32 0, i32 1 %16 = load void (i8*)**, void (i8*)*** %15, !nonnull !1 %17 = getelementptr inbounds [4 x i8], [4 x i8]* %_17, i32 0, i32 0 %18 = getelementptr inbounds i8, i8* %17, i16 4 br label %slice_loop_header bb3: ; preds = %bb7, %bb1 %19 = getelementptr inbounds %closure.41, %closure.41* %0, i32 0, i32 1 %20 = load i8*, i8** %19, !nonnull !1 %21 = load i8, i8* %20, !range !2 %22 = trunc i8 %21 to i1 br i1 %22, label %bb12, label %bb13 bb4: ; preds = %slice_loop_next %23 = getelementptr inbounds void (i8*)*, void (i8*)** %16, i32 3 %24 = load void (i8*)*, void (i8*)** %23, !invariant.load !1, !nonnull !1 %25 = bitcast void (i8*)* %24 to i8 (i8*, i8*, i16)* %26 = call i8 %25(i8* nonnull %14, i8* noalias nonnull readonly %63, i16 %64) store i8 %26, i8* %abi_cast %27 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %27, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb5 bb5: ; preds = %bb4 %28 = bitcast %"result::Result<(), fmt::Error>"* %_9 to i8* %29 = load i8, i8* %28, align 1 %30 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %29) store i8 %30, i8* %abi_cast1 %31 = bitcast %"result::Result<(), fmt::Error>"* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb6 bb6: ; preds = %bb5 %32 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_8, i32 0, i32 0 %33 = load i8, i8* %32, !range !2 %34 = zext i8 %33 to i16 switch i16 %34, label %bb8 [ i16 0, label %bb7 ] bb7: ; preds = %bb6 %35 = bitcast %"result::Result<(), fmt::Error>"* %_8 to { i8, {} }* %36 = getelementptr inbounds { i8, {} }, { i8, {} }* %35, i32 0, i32 1 br label %bb3 bb8: ; preds = %bb6 %37 = bitcast %"result::Result<(), fmt::Error>"* %_8 to { i8, %"fmt::Error" }* %38 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %37, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb9 bb9: ; preds = %bb8 %39 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %39, i8* %abi_cast2 %40 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %40, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 br label %bb11 bb11: ; preds = %bb15, %bb10 %41 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %42 = load i8, i8* %41, align 1 ret i8 %42 bb12: ; preds = %bb3 %43 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 5 %44 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %43, i32 0, i32 0 %45 = load i8*, i8** %44, !nonnull !1 %46 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %43, i32 0, i32 1 %47 = load void (i8*)**, void (i8*)*** %46, !nonnull !1 %48 = getelementptr inbounds %closure.41, %closure.41* %0, i32 0, i32 2 %49 = load %str_slice*, %str_slice** %48, !nonnull !1 %50 = getelementptr inbounds %str_slice, %str_slice* %49, i32 0, i32 0 %51 = load i8*, i8** %50, !nonnull !1 %52 = getelementptr inbounds %str_slice, %str_slice* %49, i32 0, i32 1 %53 = load i16, i16* %52 %54 = getelementptr inbounds void (i8*)*, void (i8*)** %47, i32 3 %55 = load void (i8*)*, void (i8*)** %54, !invariant.load !1, !nonnull !1 %56 = bitcast void (i8*)* %55 to i8 (i8*, i8*, i16)* %57 = call i8 %56(i8* nonnull %45, i8* noalias nonnull readonly %51, i16 %53) store i8 %57, i8* %abi_cast3 %58 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %58, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb14 bb13: ; preds = %bb3 %59 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %59 br label %bb15 bb14: ; preds = %bb12 br label %bb15 bb15: ; preds = %bb13, %bb14 br label %bb11 slice_loop_body: ; preds = %slice_loop_header %60 = getelementptr inbounds i8, i8* %65, i16 1 store i8 0, i8* %65 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %61 = bitcast [4 x i8]* %_17 to i8* %62 = call %str_slice @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf817heb693f3d57942ff2E"(i32 %11, i8* nonnull %61, i16 4) %63 = extractvalue %str_slice %62, 0 %64 = extractvalue %str_slice %62, 1 br label %bb4 slice_loop_header: ; preds = %slice_loop_body, %bb2 %65 = phi i8* [ %17, %bb2 ], [ %60, %slice_loop_body ] %66 = icmp ne i8* %65, %18 br i1 %66, label %slice_loop_body, label %slice_loop_next } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt9Formatter12pad_integral28_$u7b$$u7b$closure$u7d$$u7d$17hb9d2ebae4d66cebbE"(i8*, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast1 = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8* %arg0 = alloca %closure.42 store i8* %0, i8** %abi_cast %2 = bitcast %closure.42* %arg0 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %4 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 5 %5 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %4, i32 0, i32 0 %6 = load i8*, i8** %5, !nonnull !1 %7 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %4, i32 0, i32 1 %8 = load void (i8*)**, void (i8*)*** %7, !nonnull !1 %9 = getelementptr inbounds %closure.42, %closure.42* %arg0, i32 0, i32 0 %10 = load %str_slice*, %str_slice** %9, !nonnull !1 %11 = getelementptr inbounds %str_slice, %str_slice* %10, i32 0, i32 0 %12 = load i8*, i8** %11, !nonnull !1 %13 = getelementptr inbounds %str_slice, %str_slice* %10, i32 0, i32 1 %14 = load i16, i16* %13 %15 = getelementptr inbounds void (i8*)*, void (i8*)** %8, i32 3 %16 = load void (i8*)*, void (i8*)** %15, !invariant.load !1, !nonnull !1 %17 = bitcast void (i8*)* %16 to i8 (i8*, i8*, i16)* %18 = call i8 %17(i8* nonnull %6, i8* noalias nonnull readonly %12, i16 %14) store i8 %18, i8* %abi_cast1 %19 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %20 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %21 = load i8, i8* %20, align 1 ret i8 %21 } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt9Formatter12pad_integral28_$u7b$$u7b$closure$u7d$$u7d$17h29736fca1074c785E"(%closure.43* noalias nocapture dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast3 = alloca i8 %abi_cast2 = alloca i8 %abi_cast1 = alloca i8 %abi_cast = alloca i8 %_8 = alloca { %"fmt::Formatter"* } %_6 = alloca %"result::Result<(), fmt::Error>" %_5 = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.43, %closure.43* %0, i32 0, i32 0 %3 = load %closure.41*, %closure.41** %2, !nonnull !1 %4 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_8, i32 0, i32 0 store %"fmt::Formatter"* %1, %"fmt::Formatter"** %4 %5 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_8, i32 0, i32 0 %6 = load %"fmt::Formatter"*, %"fmt::Formatter"** %5 %7 = call i8 @"_ZN4core3fmt9Formatter12pad_integral28_$u7b$$u7b$closure$u7d$$u7d$17h3171cdce1ecf2776E"(%closure.41* noalias readonly dereferenceable(6) %3, %"fmt::Formatter"* dereferenceable(32) %6) store i8 %7, i8* %abi_cast %8 = bitcast %"result::Result<(), fmt::Error>"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %9 = bitcast %"result::Result<(), fmt::Error>"* %_6 to i8* %10 = load i8, i8* %9, align 1 %11 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %10) store i8 %11, i8* %abi_cast1 %12 = bitcast %"result::Result<(), fmt::Error>"* %_5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %13 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_5, i32 0, i32 0 %14 = load i8, i8* %13, !range !2 %15 = zext i8 %14 to i16 switch i16 %15, label %bb4 [ i16 0, label %bb3 ] bb3: ; preds = %bb2 %16 = bitcast %"result::Result<(), fmt::Error>"* %_5 to { i8, {} }* %17 = getelementptr inbounds { i8, {} }, { i8, {} }* %16, i32 0, i32 1 %18 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 5 %19 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %18, i32 0, i32 0 %20 = load i8*, i8** %19, !nonnull !1 %21 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %18, i32 0, i32 1 %22 = load void (i8*)**, void (i8*)*** %21, !nonnull !1 %23 = getelementptr inbounds %closure.43, %closure.43* %0, i32 0, i32 1 %24 = load %str_slice*, %str_slice** %23, !nonnull !1 %25 = getelementptr inbounds %str_slice, %str_slice* %24, i32 0, i32 0 %26 = load i8*, i8** %25, !nonnull !1 %27 = getelementptr inbounds %str_slice, %str_slice* %24, i32 0, i32 1 %28 = load i16, i16* %27 %29 = getelementptr inbounds void (i8*)*, void (i8*)** %22, i32 3 %30 = load void (i8*)*, void (i8*)** %29, !invariant.load !1, !nonnull !1 %31 = bitcast void (i8*)* %30 to i8 (i8*, i8*, i16)* %32 = call i8 %31(i8* nonnull %20, i8* noalias nonnull readonly %26, i16 %28) store i8 %32, i8* %abi_cast3 %33 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %33, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb8 bb4: ; preds = %bb2 %34 = bitcast %"result::Result<(), fmt::Error>"* %_5 to { i8, %"fmt::Error" }* %35 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %34, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb5 bb5: ; preds = %bb4 %36 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %36, i8* %abi_cast2 %37 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %37, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb6 bb6: ; preds = %bb5 br label %bb7 bb7: ; preds = %bb8, %bb6 %38 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %39 = load i8, i8* %38, align 1 ret i8 %39 bb8: ; preds = %bb3 br label %bb7 } ; Function Attrs: uwtable define i8 @_ZN4core3fmt9Formatter3pad17h83d3487e91faf71cE(%"fmt::Formatter"* dereferenceable(32), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast2 = alloca i8 %abi_cast = alloca i8 %_51 = alloca %closure.44 %_50 = alloca i8 %_47 = alloca %"str::Chars" %align = alloca i8 %_35 = alloca %"str::Chars" %_26 = alloca %"ops::RangeTo" %_19 = alloca %"str::CharIndices" %_18 = alloca %"iter::Skip" %_16 = alloca %"option::Option<(usize, char)>" %s1 = alloca %str_slice %_6 = alloca i8 %_5 = alloca {} %s = alloca %str_slice %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 store i8* %1, i8** %3 %4 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 store i16 %2, i16* %4 %5 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 3 %6 = call zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_none17hc5036bfa626c155eE"(%"option::Option"* noalias readonly dereferenceable(4) %5) br label %bb5 bb1: ; preds = %bb6 store i8 1, i8* %_6 br label %bb4 bb2: ; preds = %bb6, %bb5 store i8 0, i8* %_6 br label %bb4 bb3: ; preds = %bb5 %7 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 4 %8 = call zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_none17hc5036bfa626c155eE"(%"option::Option"* noalias readonly dereferenceable(4) %7) br label %bb6 bb4: ; preds = %bb2, %bb1 %9 = load i8, i8* %_6, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb8 bb5: ; preds = %start br i1 %6, label %bb3, label %bb2 bb6: ; preds = %bb3 br i1 %8, label %bb1, label %bb2 bb7: ; preds = %bb4 %11 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %12 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %11, i32 0, i32 0 %13 = load i8*, i8** %12, !nonnull !1 %14 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %11, i32 0, i32 1 %15 = load void (i8*)**, void (i8*)*** %14, !nonnull !1 %16 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 %17 = load i8*, i8** %16, !nonnull !1 %18 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 %19 = load i16, i16* %18 %20 = getelementptr inbounds void (i8*)*, void (i8*)** %15, i32 3 %21 = load void (i8*)*, void (i8*)** %20, !invariant.load !1, !nonnull !1 %22 = bitcast void (i8*)* %21 to i8 (i8*, i8*, i16)* %23 = call i8 %22(i8* nonnull %13, i8* noalias nonnull readonly %17, i16 %19) store i8 %23, i8* %abi_cast %24 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb9 bb8: ; preds = %bb4 %25 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 4 %26 = getelementptr inbounds %"option::Option", %"option::Option"* %25, i32 0, i32 0 %27 = load i16, i16* %26, !range !3 switch i16 %27, label %bb11 [ i16 1, label %bb12 ] bb9: ; preds = %bb7 br label %bb10 bb10: ; preds = %bb27, %bb9 %28 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %29 = load i8, i8* %28, align 1 ret i8 %29 bb11: ; preds = %bb8 %30 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 %31 = load i8*, i8** %30, !nonnull !1 %32 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 %33 = load i16, i16* %32 %34 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 0 store i8* %31, i8** %34 %35 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 1 store i16 %33, i16* %35 br label %bb13 bb12: ; preds = %bb8 %36 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 4 %37 = bitcast %"option::Option"* %36 to { i16, i16 }* %38 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %37, i32 0, i32 1 %39 = load i16, i16* %38 %40 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 %41 = load i8*, i8** %40, !nonnull !1 %42 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 %43 = load i16, i16* %42 call void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$12char_indices17h9ca5ebface074dd3E"(%"str::CharIndices"* noalias nocapture sret dereferenceable(6) %_19, i8* noalias nonnull readonly %41, i16 %43) br label %bb14 bb13: ; preds = %bb19, %bb11 %44 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 3 %45 = getelementptr inbounds %"option::Option", %"option::Option"* %44, i32 0, i32 0 %46 = load i16, i16* %45, !range !3 switch i16 %46, label %bb23 [ i16 0, label %bb21 ] bb14: ; preds = %bb12 call void @_ZN4core4iter8iterator8Iterator4skip17h5a8f6188b336e4c1E(%"iter::Skip"* noalias nocapture sret dereferenceable(8) %_18, %"str::CharIndices"* noalias nocapture dereferenceable(6) %_19, i16 %39) br label %bb15 bb15: ; preds = %bb14 call void @"_ZN76_$LT$core..iter..Skip$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hfa9df69a1af16685E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(12) %_16, %"iter::Skip"* dereferenceable(8) %_18) br label %bb16 bb16: ; preds = %bb15 %47 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %_16, i32 0, i32 0 %48 = load i32, i32* %47, !range !9 %49 = trunc i32 %48 to i16 switch i16 %49, label %bb17 [ i16 1, label %bb18 ] bb17: ; preds = %bb16 %50 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 %51 = load i8*, i8** %50, !nonnull !1 %52 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 %53 = load i16, i16* %52 %54 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 0 store i8* %51, i8** %54 %55 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 1 store i16 %53, i16* %55 br label %bb19 bb18: ; preds = %bb16 %56 = bitcast %"option::Option<(usize, char)>"* %_16 to { i32, { i16, i32 } }* %57 = getelementptr inbounds { i32, { i16, i32 } }, { i32, { i16, i32 } }* %56, i32 0, i32 1 %58 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %57, i32 0, i32 0 %59 = load i16, i16* %58 %60 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0 %61 = load i8*, i8** %60, !nonnull !1 %62 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1 %63 = load i16, i16* %62 %64 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_26, i32 0, i32 0 store i16 %59, i16* %64 %65 = bitcast %"ops::RangeTo"* %_26 to i16* %66 = load i16, i16* %65, align 2 %67 = call %str_slice @"_ZN4core3str6traits89_$LT$impl$u20$core..ops..Index$LT$core..ops..RangeTo$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17h3af521c91fee7b5fE"(i8* noalias nonnull readonly %61, i16 %63, i16 %66) %68 = extractvalue %str_slice %67, 0 %69 = extractvalue %str_slice %67, 1 br label %bb20 bb19: ; preds = %bb20, %bb17 br label %bb13 bb20: ; preds = %bb18 %70 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 0 store i8* %68, i8** %70 %71 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 1 store i16 %69, i16* %71 br label %bb19 bb21: ; preds = %bb13 %72 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %73 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %72, i32 0, i32 0 %74 = load i8*, i8** %73, !nonnull !1 %75 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %72, i32 0, i32 1 %76 = load void (i8*)**, void (i8*)*** %75, !nonnull !1 %77 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 0 %78 = load i8*, i8** %77, !nonnull !1 %79 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 1 %80 = load i16, i16* %79 %81 = getelementptr inbounds void (i8*)*, void (i8*)** %76, i32 3 %82 = load void (i8*)*, void (i8*)** %81, !invariant.load !1, !nonnull !1 %83 = bitcast void (i8*)* %82 to i8 (i8*, i8*, i16)* %84 = call i8 %83(i8* nonnull %74, i8* noalias nonnull readonly %78, i16 %80) store i8 %84, i8* %abi_cast4 %85 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %85, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb28 bb22: ; preds = %bb25 %86 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %87 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %86, i32 0, i32 0 %88 = load i8*, i8** %87, !nonnull !1 %89 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %86, i32 0, i32 1 %90 = load void (i8*)**, void (i8*)*** %89, !nonnull !1 %91 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 0 %92 = load i8*, i8** %91, !nonnull !1 %93 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 1 %94 = load i16, i16* %93 %95 = getelementptr inbounds void (i8*)*, void (i8*)** %90, i32 3 %96 = load void (i8*)*, void (i8*)** %95, !invariant.load !1, !nonnull !1 %97 = bitcast void (i8*)* %96 to i8 (i8*, i8*, i16)* %98 = call i8 %97(i8* nonnull %88, i8* noalias nonnull readonly %92, i16 %94) store i8 %98, i8* %abi_cast2 %99 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %99, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb29 bb23: ; preds = %bb13 %100 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 3 %101 = bitcast %"option::Option"* %100 to { i16, i16 }* %102 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %101, i32 0, i32 1 %103 = load i16, i16* %102 %104 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 0 %105 = load i8*, i8** %104, !nonnull !1 %106 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 1 %107 = load i16, i16* %106 call void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$5chars17hb453204c10970c2bE"(%"str::Chars"* noalias nocapture sret dereferenceable(4) %_35, i8* noalias nonnull readonly %105, i16 %107) br label %bb24 bb24: ; preds = %bb23 %108 = call i16 @"_ZN81_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$5count17h53b4b63af1f4c1ebE"(%"str::Chars"* noalias nocapture dereferenceable(4) %_35) br label %bb25 bb25: ; preds = %bb24 %109 = icmp uge i16 %108, %103 br i1 %109, label %bb22, label %bb26 bb26: ; preds = %bb25 %110 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 3 %111 = bitcast %"option::Option"* %110 to { i16, i16 }* %112 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %111, i32 0, i32 1 %113 = load i16, i16* %112 store i8 0, i8* %align %114 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 0 %115 = load i8*, i8** %114, !nonnull !1 %116 = getelementptr inbounds %str_slice, %str_slice* %s1, i32 0, i32 1 %117 = load i16, i16* %116 call void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$5chars17hb453204c10970c2bE"(%"str::Chars"* noalias nocapture sret dereferenceable(4) %_47, i8* noalias nonnull readonly %115, i16 %117) br label %bb30 bb27: ; preds = %bb28, %bb33, %bb29 br label %bb10 bb28: ; preds = %bb21 br label %bb27 bb29: ; preds = %bb22 br label %bb27 bb30: ; preds = %bb26 %118 = call i16 @"_ZN81_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$5count17h53b4b63af1f4c1ebE"(%"str::Chars"* noalias nocapture dereferenceable(4) %_47) br label %bb31 bb31: ; preds = %bb30 %119 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %113, i16 %118) %120 = extractvalue { i16, i1 } %119, 0 %121 = extractvalue { i16, i1 } %119, 1 %122 = call i1 @llvm.expect.i1(i1 %121, i1 false) br i1 %122, label %panic, label %bb32 bb32: ; preds = %bb31 %123 = load i8, i8* %align store i8 %123, i8* %_50 %124 = getelementptr inbounds %closure.44, %closure.44* %_51, i32 0, i32 0 store %str_slice* %s1, %str_slice** %124 %125 = load i8, i8* %_50 %126 = bitcast %closure.44* %_51 to i8** %127 = load i8*, i8** %126, align 2 %128 = call i8 @_ZN4core3fmt9Formatter12with_padding17h9acf812cad44260fE(%"fmt::Formatter"* dereferenceable(32) %0, i16 %120, i8 %125, i8* %127) store i8 %128, i8* %abi_cast3 %129 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %129, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb33 bb33: ; preds = %bb32 br label %bb27 panic: ; preds = %bb31 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8h) unreachable } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt9Formatter3pad28_$u7b$$u7b$closure$u7d$$u7d$17h04c655532e892023E"(i8*, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast1 = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8* %arg0 = alloca %closure.44 store i8* %0, i8** %abi_cast %2 = bitcast %closure.44* %arg0 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %4 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 5 %5 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %4, i32 0, i32 0 %6 = load i8*, i8** %5, !nonnull !1 %7 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %4, i32 0, i32 1 %8 = load void (i8*)**, void (i8*)*** %7, !nonnull !1 %9 = getelementptr inbounds %closure.44, %closure.44* %arg0, i32 0, i32 0 %10 = load %str_slice*, %str_slice** %9, !nonnull !1 %11 = getelementptr inbounds %str_slice, %str_slice* %10, i32 0, i32 0 %12 = load i8*, i8** %11, !nonnull !1 %13 = getelementptr inbounds %str_slice, %str_slice* %10, i32 0, i32 1 %14 = load i16, i16* %13 %15 = getelementptr inbounds void (i8*)*, void (i8*)** %8, i32 3 %16 = load void (i8*)*, void (i8*)** %15, !invariant.load !1, !nonnull !1 %17 = bitcast void (i8*)* %16 to i8 (i8*, i8*, i16)* %18 = call i8 %17(i8* nonnull %6, i8* noalias nonnull readonly %12, i16 %14) store i8 %18, i8* %abi_cast1 %19 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %20 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %21 = load i8, i8* %20, align 1 ret i8 %21 } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt9Formatter12with_padding17h0d8e9ec1315e8b55E(%"fmt::Formatter"* dereferenceable(32), i16, i8, i8*) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast13 = alloca i8 %abi_cast12 = alloca i8 %abi_cast11 = alloca i8 %arg10 = alloca %"ops::Range" %tmp_ret9 = alloca %"ops::Range" %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %arg = alloca %"ops::Range" %tmp_ret = alloca %"ops::Range" %personalityslot = alloca { i8*, i32 } %_91 = alloca i8 %_90 = alloca {} %_80 = alloca %"result::Result<(), fmt::Error>" %_79 = alloca %"result::Result<(), fmt::Error>" %_74 = alloca %"option::Option" %iter2 = alloca %"ops::Range" %_71 = alloca %"ops::Range" %_result1 = alloca {} %_60 = alloca { %"fmt::Formatter"* } %_59 = alloca %closure.42 %_58 = alloca %"result::Result<(), fmt::Error>" %_57 = alloca %"result::Result<(), fmt::Error>" %_46 = alloca %"result::Result<(), fmt::Error>" %_45 = alloca %"result::Result<(), fmt::Error>" %_40 = alloca %"option::Option" %iter = alloca %"ops::Range" %_37 = alloca %"ops::Range" %_result = alloca {} %fill = alloca [4 x i8] %_16 = alloca { i16, i16 } %_13 = alloca i8 %_12 = alloca i8 %_10 = alloca {} %align = alloca i8 %f = alloca %closure.42 %default = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8* %arg3 = alloca %closure.42 %arg2 = alloca i8 store i8 %2, i8* %arg2 store i8* %3, i8** %abi_cast %4 = bitcast %closure.42* %arg3 to i8* %5 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %5, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_91 %6 = load i8, i8* %arg2 store i8 %6, i8* %default store i8 1, i8* %_91 %7 = bitcast %closure.42* %arg3 to i8* %8 = bitcast %closure.42* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 %10 = load i8, i8* %9, !range !6 %11 = zext i8 %10 to i16 switch i16 %11, label %bb4 [ i16 3, label %bb3 ] bb1: ; preds = %bb45, %bb2 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %cleanup %13 = load i8, i8* %_91, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb45, label %bb1 bb3: ; preds = %start %15 = load i8, i8* %default store i8 %15, i8* %_12 %16 = load i8, i8* %_12 store i8 %16, i8* %align br label %bb5 bb4: ; preds = %start %17 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 %18 = load i8, i8* %17 store i8 %18, i8* %_13 %19 = load i8, i8* %_13 store i8 %19, i8* %align br label %bb5 bb5: ; preds = %bb3, %bb4 %20 = load i8, i8* %align, !range !6 %21 = zext i8 %20 to i16 switch i16 %21, label %bb7 [ i16 0, label %bb6 i16 1, label %bb7 i16 2, label %bb8 ] bb6: ; preds = %bb5 %22 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 store i16 0, i16* %22 %23 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 store i16 %1, i16* %23 br label %bb9 bb7: ; preds = %bb5, %bb5 %24 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 store i16 %1, i16* %24 %25 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 store i16 0, i16* %25 br label %bb9 bb8: ; preds = %bb5 br label %bb10 bb9: ; preds = %bb6, %bb7, %bb12 %26 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 %27 = load i16, i16* %26 %28 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 %29 = load i16, i16* %28 %30 = getelementptr inbounds [4 x i8], [4 x i8]* %fill, i32 0, i32 0 %31 = getelementptr inbounds i8, i8* %30, i16 4 br label %slice_loop_header bb10: ; preds = %bb8 %32 = udiv i16 %1, 2 %33 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %1, i16 1) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic, label %bb11 bb11: ; preds = %bb10 br label %bb12 bb12: ; preds = %bb11 %37 = udiv i16 %34, 2 %38 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 store i16 %32, i16* %38 %39 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 store i16 %37, i16* %39 br label %bb9 bb13: ; preds = %slice_loop_next %40 = extractvalue %str_slice %152, 0 %41 = extractvalue %str_slice %152, 1 %42 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 0 store i16 0, i16* %42 %43 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 1 store i16 %27, i16* %43 %44 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 0 %45 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 1 %46 = load i16, i16* %44 %47 = load i16, i16* %45 %48 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %46, i16* %48 %49 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %47, i16* %49 invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) to label %bb14 unwind label %cleanup bb14: ; preds = %bb13 %50 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 0 %51 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 1 %52 = load i16, i16* %50 %53 = load i16, i16* %51 %54 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 0 store i16 %52, i16* %54 %55 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 1 store i16 %53, i16* %55 br label %bb15 bb15: ; preds = %bb21, %bb14 invoke void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_40, %"ops::Range"* dereferenceable(4) %iter) to label %bb16 unwind label %cleanup bb16: ; preds = %bb15 %56 = getelementptr inbounds %"option::Option", %"option::Option"* %_40, i32 0, i32 0 %57 = load i16, i16* %56, !range !3 switch i16 %57, label %bb17 [ i16 0, label %bb18 ] bb17: ; preds = %bb16 %58 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %59 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %58, i32 0, i32 0 %60 = load i8*, i8** %59, !nonnull !1 %61 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %58, i32 0, i32 1 %62 = load void (i8*)**, void (i8*)*** %61, !nonnull !1 %63 = getelementptr inbounds void (i8*)*, void (i8*)** %62, i32 3 %64 = load void (i8*)*, void (i8*)** %63, !invariant.load !1, !nonnull !1 %65 = bitcast void (i8*)* %64 to i8 (i8*, i8*, i16)* %66 = invoke i8 %65(i8* nonnull %60, i8* noalias nonnull readonly %40, i16 %41) to label %bb19 unwind label %cleanup bb18: ; preds = %bb16 store i8 0, i8* %_91 %67 = bitcast %closure.42* %f to i8* %68 = bitcast %closure.42* %_59 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %68, i8* %67, i16 2, i32 2, i1 false) %69 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_60, i32 0, i32 0 store %"fmt::Formatter"* %0, %"fmt::Formatter"** %69 %70 = bitcast %closure.42* %_59 to i8** %71 = load i8*, i8** %70, align 2 %72 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_60, i32 0, i32 0 %73 = load %"fmt::Formatter"*, %"fmt::Formatter"** %72 %74 = invoke i8 @"_ZN4core3fmt9Formatter12pad_integral28_$u7b$$u7b$closure$u7d$$u7d$17hb9d2ebae4d66cebbE"(i8* %71, %"fmt::Formatter"* dereferenceable(32) %73) to label %bb28 unwind label %cleanup bb19: ; preds = %bb17 store i8 %66, i8* %abi_cast3 %75 = bitcast %"result::Result<(), fmt::Error>"* %_46 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %75, i8* %abi_cast3, i16 1, i32 1, i1 false) %76 = bitcast %"result::Result<(), fmt::Error>"* %_46 to i8* %77 = load i8, i8* %76, align 1 %78 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %77) to label %bb20 unwind label %cleanup bb20: ; preds = %bb19 store i8 %78, i8* %abi_cast4 %79 = bitcast %"result::Result<(), fmt::Error>"* %_45 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %79, i8* %abi_cast4, i16 1, i32 1, i1 false) %80 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_45, i32 0, i32 0 %81 = load i8, i8* %80, !range !2 %82 = zext i8 %81 to i16 switch i16 %82, label %bb22 [ i16 0, label %bb21 ] bb21: ; preds = %bb20 %83 = bitcast %"result::Result<(), fmt::Error>"* %_45 to { i8, {} }* %84 = getelementptr inbounds { i8, {} }, { i8, {} }* %83, i32 0, i32 1 br label %bb15 bb22: ; preds = %bb20 %85 = bitcast %"result::Result<(), fmt::Error>"* %_45 to { i8, %"fmt::Error" }* %86 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %85, i32 0, i32 1 invoke void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() to label %bb23 unwind label %cleanup bb23: ; preds = %bb22 %87 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb24 unwind label %cleanup bb24: ; preds = %bb23 store i8 %87, i8* %abi_cast5 %88 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %88, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb26 bb25: ; preds = %bb38, %bb27 %89 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %90 = load i8, i8* %89, align 1 ret i8 %90 bb26: ; preds = %bb44, %bb33, %bb24 %91 = load i8, i8* %_91, !range !2 %92 = trunc i8 %91 to i1 br i1 %92, label %bb46, label %bb27 bb27: ; preds = %bb46, %bb26 br label %bb25 bb28: ; preds = %bb18 store i8 %74, i8* %abi_cast6 %93 = bitcast %"result::Result<(), fmt::Error>"* %_58 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %93, i8* %abi_cast6, i16 1, i32 1, i1 false) %94 = bitcast %"result::Result<(), fmt::Error>"* %_58 to i8* %95 = load i8, i8* %94, align 1 %96 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %95) to label %bb29 unwind label %cleanup bb29: ; preds = %bb28 store i8 %96, i8* %abi_cast7 %97 = bitcast %"result::Result<(), fmt::Error>"* %_57 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %97, i8* %abi_cast7, i16 1, i32 1, i1 false) %98 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_57, i32 0, i32 0 %99 = load i8, i8* %98, !range !2 %100 = zext i8 %99 to i16 switch i16 %100, label %bb31 [ i16 0, label %bb30 ] bb30: ; preds = %bb29 %101 = bitcast %"result::Result<(), fmt::Error>"* %_57 to { i8, {} }* %102 = getelementptr inbounds { i8, {} }, { i8, {} }* %101, i32 0, i32 1 %103 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 0 store i16 0, i16* %103 %104 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 1 store i16 %29, i16* %104 %105 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 0 %106 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 1 %107 = load i16, i16* %105 %108 = load i16, i16* %106 %109 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg10, i32 0, i32 0 store i16 %107, i16* %109 %110 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg10, i32 0, i32 1 store i16 %108, i16* %110 invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret9, %"ops::Range"* noalias nocapture dereferenceable(4) %arg10) to label %bb34 unwind label %cleanup bb31: ; preds = %bb29 %111 = bitcast %"result::Result<(), fmt::Error>"* %_57 to { i8, %"fmt::Error" }* %112 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %111, i32 0, i32 1 invoke void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() to label %bb32 unwind label %cleanup bb32: ; preds = %bb31 %113 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb33 unwind label %cleanup bb33: ; preds = %bb32 store i8 %113, i8* %abi_cast8 %114 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %114, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb26 bb34: ; preds = %bb30 %115 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret9, i32 0, i32 0 %116 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret9, i32 0, i32 1 %117 = load i16, i16* %115 %118 = load i16, i16* %116 %119 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 0 store i16 %117, i16* %119 %120 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 1 store i16 %118, i16* %120 br label %bb35 bb35: ; preds = %bb41, %bb34 invoke void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_74, %"ops::Range"* dereferenceable(4) %iter2) to label %bb36 unwind label %cleanup bb36: ; preds = %bb35 %121 = getelementptr inbounds %"option::Option", %"option::Option"* %_74, i32 0, i32 0 %122 = load i16, i16* %121, !range !3 switch i16 %122, label %bb37 [ i16 0, label %bb38 ] bb37: ; preds = %bb36 %123 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %124 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %123, i32 0, i32 0 %125 = load i8*, i8** %124, !nonnull !1 %126 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %123, i32 0, i32 1 %127 = load void (i8*)**, void (i8*)*** %126, !nonnull !1 %128 = getelementptr inbounds void (i8*)*, void (i8*)** %127, i32 3 %129 = load void (i8*)*, void (i8*)** %128, !invariant.load !1, !nonnull !1 %130 = bitcast void (i8*)* %129 to i8 (i8*, i8*, i16)* %131 = invoke i8 %130(i8* nonnull %125, i8* noalias nonnull readonly %40, i16 %41) to label %bb39 unwind label %cleanup bb38: ; preds = %bb36 %132 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %132 br label %bb25 bb39: ; preds = %bb37 store i8 %131, i8* %abi_cast11 %133 = bitcast %"result::Result<(), fmt::Error>"* %_80 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %133, i8* %abi_cast11, i16 1, i32 1, i1 false) %134 = bitcast %"result::Result<(), fmt::Error>"* %_80 to i8* %135 = load i8, i8* %134, align 1 %136 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %135) to label %bb40 unwind label %cleanup bb40: ; preds = %bb39 store i8 %136, i8* %abi_cast12 %137 = bitcast %"result::Result<(), fmt::Error>"* %_79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %137, i8* %abi_cast12, i16 1, i32 1, i1 false) %138 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_79, i32 0, i32 0 %139 = load i8, i8* %138, !range !2 %140 = zext i8 %139 to i16 switch i16 %140, label %bb42 [ i16 0, label %bb41 ] bb41: ; preds = %bb40 %141 = bitcast %"result::Result<(), fmt::Error>"* %_79 to { i8, {} }* %142 = getelementptr inbounds { i8, {} }, { i8, {} }* %141, i32 0, i32 1 br label %bb35 bb42: ; preds = %bb40 %143 = bitcast %"result::Result<(), fmt::Error>"* %_79 to { i8, %"fmt::Error" }* %144 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %143, i32 0, i32 1 invoke void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() to label %bb43 unwind label %cleanup bb43: ; preds = %bb42 %145 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb44 unwind label %cleanup bb44: ; preds = %bb43 store i8 %145, i8* %abi_cast13 %146 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %146, i8* %abi_cast13, i16 1, i32 1, i1 false) br label %bb26 bb45: ; preds = %bb2 store i8 0, i8* %_91 br label %bb1 bb46: ; preds = %bb26 store i8 0, i8* %_91 br label %bb27 panic: ; preds = %bb10 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8i) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %bb43, %bb42, %bb39, %bb37, %bb35, %bb30, %bb32, %bb31, %bb28, %bb18, %bb23, %bb22, %bb19, %bb17, %bb15, %bb13, %slice_loop_next, %panic %147 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %147, { i8*, i32 }* %personalityslot br label %bb2 slice_loop_body: ; preds = %slice_loop_header %148 = getelementptr inbounds i8, i8* %153, i16 1 store i8 0, i8* %153 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %149 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 1 %150 = load i32, i32* %149, !range !11 %151 = bitcast [4 x i8]* %fill to i8* %152 = invoke %str_slice @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf817heb693f3d57942ff2E"(i32 %150, i8* nonnull %151, i16 4) to label %bb13 unwind label %cleanup slice_loop_header: ; preds = %slice_loop_body, %bb9 %153 = phi i8* [ %30, %bb9 ], [ %148, %slice_loop_body ] %154 = icmp ne i8* %153, %31 br i1 %154, label %slice_loop_body, label %slice_loop_next } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt9Formatter12with_padding17h1fa7958bb45418b2E(%"fmt::Formatter"* dereferenceable(32), i16, i8, %closure.43* noalias nocapture dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast13 = alloca i8 %abi_cast12 = alloca i8 %abi_cast11 = alloca i8 %arg10 = alloca %"ops::Range" %tmp_ret9 = alloca %"ops::Range" %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %abi_cast6 = alloca i8 %arg5 = alloca %closure.43 %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast = alloca i8 %arg = alloca %"ops::Range" %tmp_ret = alloca %"ops::Range" %personalityslot = alloca { i8*, i32 } %_91 = alloca i8 %_90 = alloca {} %_80 = alloca %"result::Result<(), fmt::Error>" %_79 = alloca %"result::Result<(), fmt::Error>" %_74 = alloca %"option::Option" %iter2 = alloca %"ops::Range" %_71 = alloca %"ops::Range" %_result1 = alloca {} %_60 = alloca { %"fmt::Formatter"* } %_58 = alloca %"result::Result<(), fmt::Error>" %_57 = alloca %"result::Result<(), fmt::Error>" %_46 = alloca %"result::Result<(), fmt::Error>" %_45 = alloca %"result::Result<(), fmt::Error>" %_40 = alloca %"option::Option" %iter = alloca %"ops::Range" %_37 = alloca %"ops::Range" %_result = alloca {} %fill = alloca [4 x i8] %_16 = alloca { i16, i16 } %_13 = alloca i8 %_12 = alloca i8 %_10 = alloca {} %align = alloca i8 %default = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" %arg2 = alloca i8 store i8 %2, i8* %arg2 br label %start start: ; preds = %entry-block store i8 0, i8* %_91 %4 = load i8, i8* %arg2 store i8 %4, i8* %default store i8 1, i8* %_91 %5 = getelementptr inbounds %closure.43, %closure.43* %3, i32 0, i32 0 %6 = getelementptr inbounds %closure.43, %closure.43* %3, i32 0, i32 1 %7 = load %closure.41*, %closure.41** %5, !nonnull !1 %8 = load %str_slice*, %str_slice** %6, !nonnull !1 %9 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 %10 = load i8, i8* %9, !range !6 %11 = zext i8 %10 to i16 switch i16 %11, label %bb4 [ i16 3, label %bb3 ] bb1: ; preds = %bb45, %bb2 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %cleanup %13 = load i8, i8* %_91, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb45, label %bb1 bb3: ; preds = %start %15 = load i8, i8* %default store i8 %15, i8* %_12 %16 = load i8, i8* %_12 store i8 %16, i8* %align br label %bb5 bb4: ; preds = %start %17 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 %18 = load i8, i8* %17 store i8 %18, i8* %_13 %19 = load i8, i8* %_13 store i8 %19, i8* %align br label %bb5 bb5: ; preds = %bb3, %bb4 %20 = load i8, i8* %align, !range !6 %21 = zext i8 %20 to i16 switch i16 %21, label %bb7 [ i16 0, label %bb6 i16 1, label %bb7 i16 2, label %bb8 ] bb6: ; preds = %bb5 %22 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 store i16 0, i16* %22 %23 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 store i16 %1, i16* %23 br label %bb9 bb7: ; preds = %bb5, %bb5 %24 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 store i16 %1, i16* %24 %25 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 store i16 0, i16* %25 br label %bb9 bb8: ; preds = %bb5 br label %bb10 bb9: ; preds = %bb6, %bb7, %bb12 %26 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 %27 = load i16, i16* %26 %28 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 %29 = load i16, i16* %28 %30 = getelementptr inbounds [4 x i8], [4 x i8]* %fill, i32 0, i32 0 %31 = getelementptr inbounds i8, i8* %30, i16 4 br label %slice_loop_header bb10: ; preds = %bb8 %32 = udiv i16 %1, 2 %33 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %1, i16 1) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic, label %bb11 bb11: ; preds = %bb10 br label %bb12 bb12: ; preds = %bb11 %37 = udiv i16 %34, 2 %38 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 store i16 %32, i16* %38 %39 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 store i16 %37, i16* %39 br label %bb9 bb13: ; preds = %slice_loop_next %40 = extractvalue %str_slice %150, 0 %41 = extractvalue %str_slice %150, 1 %42 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 0 store i16 0, i16* %42 %43 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 1 store i16 %27, i16* %43 %44 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 0 %45 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 1 %46 = load i16, i16* %44 %47 = load i16, i16* %45 %48 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %46, i16* %48 %49 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %47, i16* %49 invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) to label %bb14 unwind label %cleanup bb14: ; preds = %bb13 %50 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 0 %51 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 1 %52 = load i16, i16* %50 %53 = load i16, i16* %51 %54 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 0 store i16 %52, i16* %54 %55 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 1 store i16 %53, i16* %55 br label %bb15 bb15: ; preds = %bb21, %bb14 invoke void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_40, %"ops::Range"* dereferenceable(4) %iter) to label %bb16 unwind label %cleanup bb16: ; preds = %bb15 %56 = getelementptr inbounds %"option::Option", %"option::Option"* %_40, i32 0, i32 0 %57 = load i16, i16* %56, !range !3 switch i16 %57, label %bb17 [ i16 0, label %bb18 ] bb17: ; preds = %bb16 %58 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %59 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %58, i32 0, i32 0 %60 = load i8*, i8** %59, !nonnull !1 %61 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %58, i32 0, i32 1 %62 = load void (i8*)**, void (i8*)*** %61, !nonnull !1 %63 = getelementptr inbounds void (i8*)*, void (i8*)** %62, i32 3 %64 = load void (i8*)*, void (i8*)** %63, !invariant.load !1, !nonnull !1 %65 = bitcast void (i8*)* %64 to i8 (i8*, i8*, i16)* %66 = invoke i8 %65(i8* nonnull %60, i8* noalias nonnull readonly %40, i16 %41) to label %bb19 unwind label %cleanup bb18: ; preds = %bb16 store i8 0, i8* %_91 %67 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_60, i32 0, i32 0 store %"fmt::Formatter"* %0, %"fmt::Formatter"** %67 %68 = getelementptr inbounds %closure.43, %closure.43* %arg5, i32 0, i32 0 store %closure.41* %7, %closure.41** %68 %69 = getelementptr inbounds %closure.43, %closure.43* %arg5, i32 0, i32 1 store %str_slice* %8, %str_slice** %69 %70 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_60, i32 0, i32 0 %71 = load %"fmt::Formatter"*, %"fmt::Formatter"** %70 %72 = invoke i8 @"_ZN4core3fmt9Formatter12pad_integral28_$u7b$$u7b$closure$u7d$$u7d$17h29736fca1074c785E"(%closure.43* noalias nocapture dereferenceable(4) %arg5, %"fmt::Formatter"* dereferenceable(32) %71) to label %bb28 unwind label %cleanup bb19: ; preds = %bb17 store i8 %66, i8* %abi_cast %73 = bitcast %"result::Result<(), fmt::Error>"* %_46 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %73, i8* %abi_cast, i16 1, i32 1, i1 false) %74 = bitcast %"result::Result<(), fmt::Error>"* %_46 to i8* %75 = load i8, i8* %74, align 1 %76 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %75) to label %bb20 unwind label %cleanup bb20: ; preds = %bb19 store i8 %76, i8* %abi_cast3 %77 = bitcast %"result::Result<(), fmt::Error>"* %_45 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %77, i8* %abi_cast3, i16 1, i32 1, i1 false) %78 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_45, i32 0, i32 0 %79 = load i8, i8* %78, !range !2 %80 = zext i8 %79 to i16 switch i16 %80, label %bb22 [ i16 0, label %bb21 ] bb21: ; preds = %bb20 %81 = bitcast %"result::Result<(), fmt::Error>"* %_45 to { i8, {} }* %82 = getelementptr inbounds { i8, {} }, { i8, {} }* %81, i32 0, i32 1 br label %bb15 bb22: ; preds = %bb20 %83 = bitcast %"result::Result<(), fmt::Error>"* %_45 to { i8, %"fmt::Error" }* %84 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %83, i32 0, i32 1 invoke void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() to label %bb23 unwind label %cleanup bb23: ; preds = %bb22 %85 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb24 unwind label %cleanup bb24: ; preds = %bb23 store i8 %85, i8* %abi_cast4 %86 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %86, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb26 bb25: ; preds = %bb38, %bb27 %87 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %88 = load i8, i8* %87, align 1 ret i8 %88 bb26: ; preds = %bb44, %bb33, %bb24 %89 = load i8, i8* %_91, !range !2 %90 = trunc i8 %89 to i1 br i1 %90, label %bb46, label %bb27 bb27: ; preds = %bb46, %bb26 br label %bb25 bb28: ; preds = %bb18 store i8 %72, i8* %abi_cast6 %91 = bitcast %"result::Result<(), fmt::Error>"* %_58 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %91, i8* %abi_cast6, i16 1, i32 1, i1 false) %92 = bitcast %"result::Result<(), fmt::Error>"* %_58 to i8* %93 = load i8, i8* %92, align 1 %94 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %93) to label %bb29 unwind label %cleanup bb29: ; preds = %bb28 store i8 %94, i8* %abi_cast7 %95 = bitcast %"result::Result<(), fmt::Error>"* %_57 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %95, i8* %abi_cast7, i16 1, i32 1, i1 false) %96 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_57, i32 0, i32 0 %97 = load i8, i8* %96, !range !2 %98 = zext i8 %97 to i16 switch i16 %98, label %bb31 [ i16 0, label %bb30 ] bb30: ; preds = %bb29 %99 = bitcast %"result::Result<(), fmt::Error>"* %_57 to { i8, {} }* %100 = getelementptr inbounds { i8, {} }, { i8, {} }* %99, i32 0, i32 1 %101 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 0 store i16 0, i16* %101 %102 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 1 store i16 %29, i16* %102 %103 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 0 %104 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 1 %105 = load i16, i16* %103 %106 = load i16, i16* %104 %107 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg10, i32 0, i32 0 store i16 %105, i16* %107 %108 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg10, i32 0, i32 1 store i16 %106, i16* %108 invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret9, %"ops::Range"* noalias nocapture dereferenceable(4) %arg10) to label %bb34 unwind label %cleanup bb31: ; preds = %bb29 %109 = bitcast %"result::Result<(), fmt::Error>"* %_57 to { i8, %"fmt::Error" }* %110 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %109, i32 0, i32 1 invoke void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() to label %bb32 unwind label %cleanup bb32: ; preds = %bb31 %111 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb33 unwind label %cleanup bb33: ; preds = %bb32 store i8 %111, i8* %abi_cast8 %112 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %112, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb26 bb34: ; preds = %bb30 %113 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret9, i32 0, i32 0 %114 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret9, i32 0, i32 1 %115 = load i16, i16* %113 %116 = load i16, i16* %114 %117 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 0 store i16 %115, i16* %117 %118 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 1 store i16 %116, i16* %118 br label %bb35 bb35: ; preds = %bb41, %bb34 invoke void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_74, %"ops::Range"* dereferenceable(4) %iter2) to label %bb36 unwind label %cleanup bb36: ; preds = %bb35 %119 = getelementptr inbounds %"option::Option", %"option::Option"* %_74, i32 0, i32 0 %120 = load i16, i16* %119, !range !3 switch i16 %120, label %bb37 [ i16 0, label %bb38 ] bb37: ; preds = %bb36 %121 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %122 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %121, i32 0, i32 0 %123 = load i8*, i8** %122, !nonnull !1 %124 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %121, i32 0, i32 1 %125 = load void (i8*)**, void (i8*)*** %124, !nonnull !1 %126 = getelementptr inbounds void (i8*)*, void (i8*)** %125, i32 3 %127 = load void (i8*)*, void (i8*)** %126, !invariant.load !1, !nonnull !1 %128 = bitcast void (i8*)* %127 to i8 (i8*, i8*, i16)* %129 = invoke i8 %128(i8* nonnull %123, i8* noalias nonnull readonly %40, i16 %41) to label %bb39 unwind label %cleanup bb38: ; preds = %bb36 %130 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %130 br label %bb25 bb39: ; preds = %bb37 store i8 %129, i8* %abi_cast11 %131 = bitcast %"result::Result<(), fmt::Error>"* %_80 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %131, i8* %abi_cast11, i16 1, i32 1, i1 false) %132 = bitcast %"result::Result<(), fmt::Error>"* %_80 to i8* %133 = load i8, i8* %132, align 1 %134 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %133) to label %bb40 unwind label %cleanup bb40: ; preds = %bb39 store i8 %134, i8* %abi_cast12 %135 = bitcast %"result::Result<(), fmt::Error>"* %_79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %135, i8* %abi_cast12, i16 1, i32 1, i1 false) %136 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_79, i32 0, i32 0 %137 = load i8, i8* %136, !range !2 %138 = zext i8 %137 to i16 switch i16 %138, label %bb42 [ i16 0, label %bb41 ] bb41: ; preds = %bb40 %139 = bitcast %"result::Result<(), fmt::Error>"* %_79 to { i8, {} }* %140 = getelementptr inbounds { i8, {} }, { i8, {} }* %139, i32 0, i32 1 br label %bb35 bb42: ; preds = %bb40 %141 = bitcast %"result::Result<(), fmt::Error>"* %_79 to { i8, %"fmt::Error" }* %142 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %141, i32 0, i32 1 invoke void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() to label %bb43 unwind label %cleanup bb43: ; preds = %bb42 %143 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb44 unwind label %cleanup bb44: ; preds = %bb43 store i8 %143, i8* %abi_cast13 %144 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %144, i8* %abi_cast13, i16 1, i32 1, i1 false) br label %bb26 bb45: ; preds = %bb2 store i8 0, i8* %_91 br label %bb1 bb46: ; preds = %bb26 store i8 0, i8* %_91 br label %bb27 panic: ; preds = %bb10 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8i) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %bb43, %bb42, %bb39, %bb37, %bb35, %bb30, %bb32, %bb31, %bb28, %bb18, %bb23, %bb22, %bb19, %bb17, %bb15, %bb13, %slice_loop_next, %panic %145 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %145, { i8*, i32 }* %personalityslot br label %bb2 slice_loop_body: ; preds = %slice_loop_header %146 = getelementptr inbounds i8, i8* %151, i16 1 store i8 0, i8* %151 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %147 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 1 %148 = load i32, i32* %147, !range !11 %149 = bitcast [4 x i8]* %fill to i8* %150 = invoke %str_slice @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf817heb693f3d57942ff2E"(i32 %148, i8* nonnull %149, i16 4) to label %bb13 unwind label %cleanup slice_loop_header: ; preds = %slice_loop_body, %bb9 %151 = phi i8* [ %30, %bb9 ], [ %146, %slice_loop_body ] %152 = icmp ne i8* %151, %31 br i1 %152, label %slice_loop_body, label %slice_loop_next } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt9Formatter12with_padding17h9acf812cad44260fE(%"fmt::Formatter"* dereferenceable(32), i16, i8, i8*) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast13 = alloca i8 %abi_cast12 = alloca i8 %abi_cast11 = alloca i8 %arg10 = alloca %"ops::Range" %tmp_ret9 = alloca %"ops::Range" %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %arg = alloca %"ops::Range" %tmp_ret = alloca %"ops::Range" %personalityslot = alloca { i8*, i32 } %_91 = alloca i8 %_90 = alloca {} %_80 = alloca %"result::Result<(), fmt::Error>" %_79 = alloca %"result::Result<(), fmt::Error>" %_74 = alloca %"option::Option" %iter2 = alloca %"ops::Range" %_71 = alloca %"ops::Range" %_result1 = alloca {} %_60 = alloca { %"fmt::Formatter"* } %_59 = alloca %closure.44 %_58 = alloca %"result::Result<(), fmt::Error>" %_57 = alloca %"result::Result<(), fmt::Error>" %_46 = alloca %"result::Result<(), fmt::Error>" %_45 = alloca %"result::Result<(), fmt::Error>" %_40 = alloca %"option::Option" %iter = alloca %"ops::Range" %_37 = alloca %"ops::Range" %_result = alloca {} %fill = alloca [4 x i8] %_16 = alloca { i16, i16 } %_13 = alloca i8 %_12 = alloca i8 %_10 = alloca {} %align = alloca i8 %f = alloca %closure.44 %default = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8* %arg3 = alloca %closure.44 %arg2 = alloca i8 store i8 %2, i8* %arg2 store i8* %3, i8** %abi_cast %4 = bitcast %closure.44* %arg3 to i8* %5 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %5, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_91 %6 = load i8, i8* %arg2 store i8 %6, i8* %default store i8 1, i8* %_91 %7 = bitcast %closure.44* %arg3 to i8* %8 = bitcast %closure.44* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 %10 = load i8, i8* %9, !range !6 %11 = zext i8 %10 to i16 switch i16 %11, label %bb4 [ i16 3, label %bb3 ] bb1: ; preds = %bb45, %bb2 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %cleanup %13 = load i8, i8* %_91, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb45, label %bb1 bb3: ; preds = %start %15 = load i8, i8* %default store i8 %15, i8* %_12 %16 = load i8, i8* %_12 store i8 %16, i8* %align br label %bb5 bb4: ; preds = %start %17 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 %18 = load i8, i8* %17 store i8 %18, i8* %_13 %19 = load i8, i8* %_13 store i8 %19, i8* %align br label %bb5 bb5: ; preds = %bb3, %bb4 %20 = load i8, i8* %align, !range !6 %21 = zext i8 %20 to i16 switch i16 %21, label %bb7 [ i16 0, label %bb6 i16 1, label %bb7 i16 2, label %bb8 ] bb6: ; preds = %bb5 %22 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 store i16 0, i16* %22 %23 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 store i16 %1, i16* %23 br label %bb9 bb7: ; preds = %bb5, %bb5 %24 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 store i16 %1, i16* %24 %25 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 store i16 0, i16* %25 br label %bb9 bb8: ; preds = %bb5 br label %bb10 bb9: ; preds = %bb6, %bb7, %bb12 %26 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 %27 = load i16, i16* %26 %28 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 %29 = load i16, i16* %28 %30 = getelementptr inbounds [4 x i8], [4 x i8]* %fill, i32 0, i32 0 %31 = getelementptr inbounds i8, i8* %30, i16 4 br label %slice_loop_header bb10: ; preds = %bb8 %32 = udiv i16 %1, 2 %33 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %1, i16 1) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic, label %bb11 bb11: ; preds = %bb10 br label %bb12 bb12: ; preds = %bb11 %37 = udiv i16 %34, 2 %38 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 store i16 %32, i16* %38 %39 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 store i16 %37, i16* %39 br label %bb9 bb13: ; preds = %slice_loop_next %40 = extractvalue %str_slice %152, 0 %41 = extractvalue %str_slice %152, 1 %42 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 0 store i16 0, i16* %42 %43 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 1 store i16 %27, i16* %43 %44 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 0 %45 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 1 %46 = load i16, i16* %44 %47 = load i16, i16* %45 %48 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %46, i16* %48 %49 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %47, i16* %49 invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) to label %bb14 unwind label %cleanup bb14: ; preds = %bb13 %50 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 0 %51 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 1 %52 = load i16, i16* %50 %53 = load i16, i16* %51 %54 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 0 store i16 %52, i16* %54 %55 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 1 store i16 %53, i16* %55 br label %bb15 bb15: ; preds = %bb21, %bb14 invoke void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_40, %"ops::Range"* dereferenceable(4) %iter) to label %bb16 unwind label %cleanup bb16: ; preds = %bb15 %56 = getelementptr inbounds %"option::Option", %"option::Option"* %_40, i32 0, i32 0 %57 = load i16, i16* %56, !range !3 switch i16 %57, label %bb17 [ i16 0, label %bb18 ] bb17: ; preds = %bb16 %58 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %59 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %58, i32 0, i32 0 %60 = load i8*, i8** %59, !nonnull !1 %61 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %58, i32 0, i32 1 %62 = load void (i8*)**, void (i8*)*** %61, !nonnull !1 %63 = getelementptr inbounds void (i8*)*, void (i8*)** %62, i32 3 %64 = load void (i8*)*, void (i8*)** %63, !invariant.load !1, !nonnull !1 %65 = bitcast void (i8*)* %64 to i8 (i8*, i8*, i16)* %66 = invoke i8 %65(i8* nonnull %60, i8* noalias nonnull readonly %40, i16 %41) to label %bb19 unwind label %cleanup bb18: ; preds = %bb16 store i8 0, i8* %_91 %67 = bitcast %closure.44* %f to i8* %68 = bitcast %closure.44* %_59 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %68, i8* %67, i16 2, i32 2, i1 false) %69 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_60, i32 0, i32 0 store %"fmt::Formatter"* %0, %"fmt::Formatter"** %69 %70 = bitcast %closure.44* %_59 to i8** %71 = load i8*, i8** %70, align 2 %72 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_60, i32 0, i32 0 %73 = load %"fmt::Formatter"*, %"fmt::Formatter"** %72 %74 = invoke i8 @"_ZN4core3fmt9Formatter3pad28_$u7b$$u7b$closure$u7d$$u7d$17h04c655532e892023E"(i8* %71, %"fmt::Formatter"* dereferenceable(32) %73) to label %bb28 unwind label %cleanup bb19: ; preds = %bb17 store i8 %66, i8* %abi_cast3 %75 = bitcast %"result::Result<(), fmt::Error>"* %_46 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %75, i8* %abi_cast3, i16 1, i32 1, i1 false) %76 = bitcast %"result::Result<(), fmt::Error>"* %_46 to i8* %77 = load i8, i8* %76, align 1 %78 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %77) to label %bb20 unwind label %cleanup bb20: ; preds = %bb19 store i8 %78, i8* %abi_cast4 %79 = bitcast %"result::Result<(), fmt::Error>"* %_45 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %79, i8* %abi_cast4, i16 1, i32 1, i1 false) %80 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_45, i32 0, i32 0 %81 = load i8, i8* %80, !range !2 %82 = zext i8 %81 to i16 switch i16 %82, label %bb22 [ i16 0, label %bb21 ] bb21: ; preds = %bb20 %83 = bitcast %"result::Result<(), fmt::Error>"* %_45 to { i8, {} }* %84 = getelementptr inbounds { i8, {} }, { i8, {} }* %83, i32 0, i32 1 br label %bb15 bb22: ; preds = %bb20 %85 = bitcast %"result::Result<(), fmt::Error>"* %_45 to { i8, %"fmt::Error" }* %86 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %85, i32 0, i32 1 invoke void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() to label %bb23 unwind label %cleanup bb23: ; preds = %bb22 %87 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb24 unwind label %cleanup bb24: ; preds = %bb23 store i8 %87, i8* %abi_cast5 %88 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %88, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb26 bb25: ; preds = %bb38, %bb27 %89 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %90 = load i8, i8* %89, align 1 ret i8 %90 bb26: ; preds = %bb44, %bb33, %bb24 %91 = load i8, i8* %_91, !range !2 %92 = trunc i8 %91 to i1 br i1 %92, label %bb46, label %bb27 bb27: ; preds = %bb46, %bb26 br label %bb25 bb28: ; preds = %bb18 store i8 %74, i8* %abi_cast6 %93 = bitcast %"result::Result<(), fmt::Error>"* %_58 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %93, i8* %abi_cast6, i16 1, i32 1, i1 false) %94 = bitcast %"result::Result<(), fmt::Error>"* %_58 to i8* %95 = load i8, i8* %94, align 1 %96 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %95) to label %bb29 unwind label %cleanup bb29: ; preds = %bb28 store i8 %96, i8* %abi_cast7 %97 = bitcast %"result::Result<(), fmt::Error>"* %_57 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %97, i8* %abi_cast7, i16 1, i32 1, i1 false) %98 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_57, i32 0, i32 0 %99 = load i8, i8* %98, !range !2 %100 = zext i8 %99 to i16 switch i16 %100, label %bb31 [ i16 0, label %bb30 ] bb30: ; preds = %bb29 %101 = bitcast %"result::Result<(), fmt::Error>"* %_57 to { i8, {} }* %102 = getelementptr inbounds { i8, {} }, { i8, {} }* %101, i32 0, i32 1 %103 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 0 store i16 0, i16* %103 %104 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 1 store i16 %29, i16* %104 %105 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 0 %106 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 1 %107 = load i16, i16* %105 %108 = load i16, i16* %106 %109 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg10, i32 0, i32 0 store i16 %107, i16* %109 %110 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg10, i32 0, i32 1 store i16 %108, i16* %110 invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret9, %"ops::Range"* noalias nocapture dereferenceable(4) %arg10) to label %bb34 unwind label %cleanup bb31: ; preds = %bb29 %111 = bitcast %"result::Result<(), fmt::Error>"* %_57 to { i8, %"fmt::Error" }* %112 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %111, i32 0, i32 1 invoke void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() to label %bb32 unwind label %cleanup bb32: ; preds = %bb31 %113 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb33 unwind label %cleanup bb33: ; preds = %bb32 store i8 %113, i8* %abi_cast8 %114 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %114, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb26 bb34: ; preds = %bb30 %115 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret9, i32 0, i32 0 %116 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret9, i32 0, i32 1 %117 = load i16, i16* %115 %118 = load i16, i16* %116 %119 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 0 store i16 %117, i16* %119 %120 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 1 store i16 %118, i16* %120 br label %bb35 bb35: ; preds = %bb41, %bb34 invoke void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_74, %"ops::Range"* dereferenceable(4) %iter2) to label %bb36 unwind label %cleanup bb36: ; preds = %bb35 %121 = getelementptr inbounds %"option::Option", %"option::Option"* %_74, i32 0, i32 0 %122 = load i16, i16* %121, !range !3 switch i16 %122, label %bb37 [ i16 0, label %bb38 ] bb37: ; preds = %bb36 %123 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %124 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %123, i32 0, i32 0 %125 = load i8*, i8** %124, !nonnull !1 %126 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %123, i32 0, i32 1 %127 = load void (i8*)**, void (i8*)*** %126, !nonnull !1 %128 = getelementptr inbounds void (i8*)*, void (i8*)** %127, i32 3 %129 = load void (i8*)*, void (i8*)** %128, !invariant.load !1, !nonnull !1 %130 = bitcast void (i8*)* %129 to i8 (i8*, i8*, i16)* %131 = invoke i8 %130(i8* nonnull %125, i8* noalias nonnull readonly %40, i16 %41) to label %bb39 unwind label %cleanup bb38: ; preds = %bb36 %132 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %132 br label %bb25 bb39: ; preds = %bb37 store i8 %131, i8* %abi_cast11 %133 = bitcast %"result::Result<(), fmt::Error>"* %_80 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %133, i8* %abi_cast11, i16 1, i32 1, i1 false) %134 = bitcast %"result::Result<(), fmt::Error>"* %_80 to i8* %135 = load i8, i8* %134, align 1 %136 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %135) to label %bb40 unwind label %cleanup bb40: ; preds = %bb39 store i8 %136, i8* %abi_cast12 %137 = bitcast %"result::Result<(), fmt::Error>"* %_79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %137, i8* %abi_cast12, i16 1, i32 1, i1 false) %138 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_79, i32 0, i32 0 %139 = load i8, i8* %138, !range !2 %140 = zext i8 %139 to i16 switch i16 %140, label %bb42 [ i16 0, label %bb41 ] bb41: ; preds = %bb40 %141 = bitcast %"result::Result<(), fmt::Error>"* %_79 to { i8, {} }* %142 = getelementptr inbounds { i8, {} }, { i8, {} }* %141, i32 0, i32 1 br label %bb35 bb42: ; preds = %bb40 %143 = bitcast %"result::Result<(), fmt::Error>"* %_79 to { i8, %"fmt::Error" }* %144 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %143, i32 0, i32 1 invoke void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() to label %bb43 unwind label %cleanup bb43: ; preds = %bb42 %145 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb44 unwind label %cleanup bb44: ; preds = %bb43 store i8 %145, i8* %abi_cast13 %146 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %146, i8* %abi_cast13, i16 1, i32 1, i1 false) br label %bb26 bb45: ; preds = %bb2 store i8 0, i8* %_91 br label %bb1 bb46: ; preds = %bb26 store i8 0, i8* %_91 br label %bb27 panic: ; preds = %bb10 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8i) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %bb43, %bb42, %bb39, %bb37, %bb35, %bb30, %bb32, %bb31, %bb28, %bb18, %bb23, %bb22, %bb19, %bb17, %bb15, %bb13, %slice_loop_next, %panic %147 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %147, { i8*, i32 }* %personalityslot br label %bb2 slice_loop_body: ; preds = %slice_loop_header %148 = getelementptr inbounds i8, i8* %153, i16 1 store i8 0, i8* %153 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %149 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 1 %150 = load i32, i32* %149, !range !11 %151 = bitcast [4 x i8]* %fill to i8* %152 = invoke %str_slice @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf817heb693f3d57942ff2E"(i32 %150, i8* nonnull %151, i16 4) to label %bb13 unwind label %cleanup slice_loop_header: ; preds = %slice_loop_body, %bb9 %153 = phi i8* [ %30, %bb9 ], [ %148, %slice_loop_body ] %154 = icmp ne i8* %153, %31 br i1 %154, label %slice_loop_body, label %slice_loop_next } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt9Formatter12with_padding17heef58ce5e0fa843bE(%"fmt::Formatter"* dereferenceable(32), i16, i8, i8*) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast13 = alloca i8 %abi_cast12 = alloca i8 %abi_cast11 = alloca i8 %arg10 = alloca %"ops::Range" %tmp_ret9 = alloca %"ops::Range" %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %arg = alloca %"ops::Range" %tmp_ret = alloca %"ops::Range" %personalityslot = alloca { i8*, i32 } %_91 = alloca i8 %_90 = alloca {} %_80 = alloca %"result::Result<(), fmt::Error>" %_79 = alloca %"result::Result<(), fmt::Error>" %_74 = alloca %"option::Option" %iter2 = alloca %"ops::Range" %_71 = alloca %"ops::Range" %_result1 = alloca {} %_60 = alloca { %"fmt::Formatter"* } %_59 = alloca %closure.45 %_58 = alloca %"result::Result<(), fmt::Error>" %_57 = alloca %"result::Result<(), fmt::Error>" %_46 = alloca %"result::Result<(), fmt::Error>" %_45 = alloca %"result::Result<(), fmt::Error>" %_40 = alloca %"option::Option" %iter = alloca %"ops::Range" %_37 = alloca %"ops::Range" %_result = alloca {} %fill = alloca [4 x i8] %_16 = alloca { i16, i16 } %_13 = alloca i8 %_12 = alloca i8 %_10 = alloca {} %align = alloca i8 %f = alloca %closure.45 %default = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8* %arg3 = alloca %closure.45 %arg2 = alloca i8 store i8 %2, i8* %arg2 store i8* %3, i8** %abi_cast %4 = bitcast %closure.45* %arg3 to i8* %5 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %5, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_91 %6 = load i8, i8* %arg2 store i8 %6, i8* %default store i8 1, i8* %_91 %7 = bitcast %closure.45* %arg3 to i8* %8 = bitcast %closure.45* %f to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 2, i32 2, i1 false) %9 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 %10 = load i8, i8* %9, !range !6 %11 = zext i8 %10 to i16 switch i16 %11, label %bb4 [ i16 3, label %bb3 ] bb1: ; preds = %bb45, %bb2 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb2: ; preds = %cleanup %13 = load i8, i8* %_91, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb45, label %bb1 bb3: ; preds = %start %15 = load i8, i8* %default store i8 %15, i8* %_12 %16 = load i8, i8* %_12 store i8 %16, i8* %align br label %bb5 bb4: ; preds = %start %17 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 %18 = load i8, i8* %17 store i8 %18, i8* %_13 %19 = load i8, i8* %_13 store i8 %19, i8* %align br label %bb5 bb5: ; preds = %bb3, %bb4 %20 = load i8, i8* %align, !range !6 %21 = zext i8 %20 to i16 switch i16 %21, label %bb7 [ i16 0, label %bb6 i16 1, label %bb7 i16 2, label %bb8 ] bb6: ; preds = %bb5 %22 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 store i16 0, i16* %22 %23 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 store i16 %1, i16* %23 br label %bb9 bb7: ; preds = %bb5, %bb5 %24 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 store i16 %1, i16* %24 %25 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 store i16 0, i16* %25 br label %bb9 bb8: ; preds = %bb5 br label %bb10 bb9: ; preds = %bb6, %bb7, %bb12 %26 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 %27 = load i16, i16* %26 %28 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 %29 = load i16, i16* %28 %30 = getelementptr inbounds [4 x i8], [4 x i8]* %fill, i32 0, i32 0 %31 = getelementptr inbounds i8, i8* %30, i16 4 br label %slice_loop_header bb10: ; preds = %bb8 %32 = udiv i16 %1, 2 %33 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %1, i16 1) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic, label %bb11 bb11: ; preds = %bb10 br label %bb12 bb12: ; preds = %bb11 %37 = udiv i16 %34, 2 %38 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 0 store i16 %32, i16* %38 %39 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %_16, i32 0, i32 1 store i16 %37, i16* %39 br label %bb9 bb13: ; preds = %slice_loop_next %40 = extractvalue %str_slice %152, 0 %41 = extractvalue %str_slice %152, 1 %42 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 0 store i16 0, i16* %42 %43 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 1 store i16 %27, i16* %43 %44 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 0 %45 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_37, i32 0, i32 1 %46 = load i16, i16* %44 %47 = load i16, i16* %45 %48 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %46, i16* %48 %49 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %47, i16* %49 invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) to label %bb14 unwind label %cleanup bb14: ; preds = %bb13 %50 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 0 %51 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 1 %52 = load i16, i16* %50 %53 = load i16, i16* %51 %54 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 0 store i16 %52, i16* %54 %55 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 1 store i16 %53, i16* %55 br label %bb15 bb15: ; preds = %bb21, %bb14 invoke void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_40, %"ops::Range"* dereferenceable(4) %iter) to label %bb16 unwind label %cleanup bb16: ; preds = %bb15 %56 = getelementptr inbounds %"option::Option", %"option::Option"* %_40, i32 0, i32 0 %57 = load i16, i16* %56, !range !3 switch i16 %57, label %bb17 [ i16 0, label %bb18 ] bb17: ; preds = %bb16 %58 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %59 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %58, i32 0, i32 0 %60 = load i8*, i8** %59, !nonnull !1 %61 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %58, i32 0, i32 1 %62 = load void (i8*)**, void (i8*)*** %61, !nonnull !1 %63 = getelementptr inbounds void (i8*)*, void (i8*)** %62, i32 3 %64 = load void (i8*)*, void (i8*)** %63, !invariant.load !1, !nonnull !1 %65 = bitcast void (i8*)* %64 to i8 (i8*, i8*, i16)* %66 = invoke i8 %65(i8* nonnull %60, i8* noalias nonnull readonly %40, i16 %41) to label %bb19 unwind label %cleanup bb18: ; preds = %bb16 store i8 0, i8* %_91 %67 = bitcast %closure.45* %f to i8* %68 = bitcast %closure.45* %_59 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %68, i8* %67, i16 2, i32 2, i1 false) %69 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_60, i32 0, i32 0 store %"fmt::Formatter"* %0, %"fmt::Formatter"** %69 %70 = bitcast %closure.45* %_59 to i8** %71 = load i8*, i8** %70, align 2 %72 = getelementptr inbounds { %"fmt::Formatter"* }, { %"fmt::Formatter"* }* %_60, i32 0, i32 0 %73 = load %"fmt::Formatter"*, %"fmt::Formatter"** %72 %74 = invoke i8 @"_ZN4core3fmt9Formatter19pad_formatted_parts28_$u7b$$u7b$closure$u7d$$u7d$17h875db50149e95404E"(i8* %71, %"fmt::Formatter"* dereferenceable(32) %73) to label %bb28 unwind label %cleanup bb19: ; preds = %bb17 store i8 %66, i8* %abi_cast3 %75 = bitcast %"result::Result<(), fmt::Error>"* %_46 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %75, i8* %abi_cast3, i16 1, i32 1, i1 false) %76 = bitcast %"result::Result<(), fmt::Error>"* %_46 to i8* %77 = load i8, i8* %76, align 1 %78 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %77) to label %bb20 unwind label %cleanup bb20: ; preds = %bb19 store i8 %78, i8* %abi_cast4 %79 = bitcast %"result::Result<(), fmt::Error>"* %_45 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %79, i8* %abi_cast4, i16 1, i32 1, i1 false) %80 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_45, i32 0, i32 0 %81 = load i8, i8* %80, !range !2 %82 = zext i8 %81 to i16 switch i16 %82, label %bb22 [ i16 0, label %bb21 ] bb21: ; preds = %bb20 %83 = bitcast %"result::Result<(), fmt::Error>"* %_45 to { i8, {} }* %84 = getelementptr inbounds { i8, {} }, { i8, {} }* %83, i32 0, i32 1 br label %bb15 bb22: ; preds = %bb20 %85 = bitcast %"result::Result<(), fmt::Error>"* %_45 to { i8, %"fmt::Error" }* %86 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %85, i32 0, i32 1 invoke void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() to label %bb23 unwind label %cleanup bb23: ; preds = %bb22 %87 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb24 unwind label %cleanup bb24: ; preds = %bb23 store i8 %87, i8* %abi_cast5 %88 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %88, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb26 bb25: ; preds = %bb38, %bb27 %89 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %90 = load i8, i8* %89, align 1 ret i8 %90 bb26: ; preds = %bb44, %bb33, %bb24 %91 = load i8, i8* %_91, !range !2 %92 = trunc i8 %91 to i1 br i1 %92, label %bb46, label %bb27 bb27: ; preds = %bb46, %bb26 br label %bb25 bb28: ; preds = %bb18 store i8 %74, i8* %abi_cast6 %93 = bitcast %"result::Result<(), fmt::Error>"* %_58 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %93, i8* %abi_cast6, i16 1, i32 1, i1 false) %94 = bitcast %"result::Result<(), fmt::Error>"* %_58 to i8* %95 = load i8, i8* %94, align 1 %96 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %95) to label %bb29 unwind label %cleanup bb29: ; preds = %bb28 store i8 %96, i8* %abi_cast7 %97 = bitcast %"result::Result<(), fmt::Error>"* %_57 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %97, i8* %abi_cast7, i16 1, i32 1, i1 false) %98 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_57, i32 0, i32 0 %99 = load i8, i8* %98, !range !2 %100 = zext i8 %99 to i16 switch i16 %100, label %bb31 [ i16 0, label %bb30 ] bb30: ; preds = %bb29 %101 = bitcast %"result::Result<(), fmt::Error>"* %_57 to { i8, {} }* %102 = getelementptr inbounds { i8, {} }, { i8, {} }* %101, i32 0, i32 1 %103 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 0 store i16 0, i16* %103 %104 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 1 store i16 %29, i16* %104 %105 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 0 %106 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_71, i32 0, i32 1 %107 = load i16, i16* %105 %108 = load i16, i16* %106 %109 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg10, i32 0, i32 0 store i16 %107, i16* %109 %110 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg10, i32 0, i32 1 store i16 %108, i16* %110 invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret9, %"ops::Range"* noalias nocapture dereferenceable(4) %arg10) to label %bb34 unwind label %cleanup bb31: ; preds = %bb29 %111 = bitcast %"result::Result<(), fmt::Error>"* %_57 to { i8, %"fmt::Error" }* %112 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %111, i32 0, i32 1 invoke void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() to label %bb32 unwind label %cleanup bb32: ; preds = %bb31 %113 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb33 unwind label %cleanup bb33: ; preds = %bb32 store i8 %113, i8* %abi_cast8 %114 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %114, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb26 bb34: ; preds = %bb30 %115 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret9, i32 0, i32 0 %116 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret9, i32 0, i32 1 %117 = load i16, i16* %115 %118 = load i16, i16* %116 %119 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 0 store i16 %117, i16* %119 %120 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 1 store i16 %118, i16* %120 br label %bb35 bb35: ; preds = %bb41, %bb34 invoke void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_74, %"ops::Range"* dereferenceable(4) %iter2) to label %bb36 unwind label %cleanup bb36: ; preds = %bb35 %121 = getelementptr inbounds %"option::Option", %"option::Option"* %_74, i32 0, i32 0 %122 = load i16, i16* %121, !range !3 switch i16 %122, label %bb37 [ i16 0, label %bb38 ] bb37: ; preds = %bb36 %123 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %124 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %123, i32 0, i32 0 %125 = load i8*, i8** %124, !nonnull !1 %126 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %123, i32 0, i32 1 %127 = load void (i8*)**, void (i8*)*** %126, !nonnull !1 %128 = getelementptr inbounds void (i8*)*, void (i8*)** %127, i32 3 %129 = load void (i8*)*, void (i8*)** %128, !invariant.load !1, !nonnull !1 %130 = bitcast void (i8*)* %129 to i8 (i8*, i8*, i16)* %131 = invoke i8 %130(i8* nonnull %125, i8* noalias nonnull readonly %40, i16 %41) to label %bb39 unwind label %cleanup bb38: ; preds = %bb36 %132 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %132 br label %bb25 bb39: ; preds = %bb37 store i8 %131, i8* %abi_cast11 %133 = bitcast %"result::Result<(), fmt::Error>"* %_80 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %133, i8* %abi_cast11, i16 1, i32 1, i1 false) %134 = bitcast %"result::Result<(), fmt::Error>"* %_80 to i8* %135 = load i8, i8* %134, align 1 %136 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %135) to label %bb40 unwind label %cleanup bb40: ; preds = %bb39 store i8 %136, i8* %abi_cast12 %137 = bitcast %"result::Result<(), fmt::Error>"* %_79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %137, i8* %abi_cast12, i16 1, i32 1, i1 false) %138 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_79, i32 0, i32 0 %139 = load i8, i8* %138, !range !2 %140 = zext i8 %139 to i16 switch i16 %140, label %bb42 [ i16 0, label %bb41 ] bb41: ; preds = %bb40 %141 = bitcast %"result::Result<(), fmt::Error>"* %_79 to { i8, {} }* %142 = getelementptr inbounds { i8, {} }, { i8, {} }* %141, i32 0, i32 1 br label %bb35 bb42: ; preds = %bb40 %143 = bitcast %"result::Result<(), fmt::Error>"* %_79 to { i8, %"fmt::Error" }* %144 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %143, i32 0, i32 1 invoke void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() to label %bb43 unwind label %cleanup bb43: ; preds = %bb42 %145 = invoke i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() to label %bb44 unwind label %cleanup bb44: ; preds = %bb43 store i8 %145, i8* %abi_cast13 %146 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %146, i8* %abi_cast13, i16 1, i32 1, i1 false) br label %bb26 bb45: ; preds = %bb2 store i8 0, i8* %_91 br label %bb1 bb46: ; preds = %bb26 store i8 0, i8* %_91 br label %bb27 panic: ; preds = %bb10 invoke void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8i) to label %unreachable unwind label %cleanup unreachable: ; preds = %panic unreachable cleanup: ; preds = %bb43, %bb42, %bb39, %bb37, %bb35, %bb30, %bb32, %bb31, %bb28, %bb18, %bb23, %bb22, %bb19, %bb17, %bb15, %bb13, %slice_loop_next, %panic %147 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %147, { i8*, i32 }* %personalityslot br label %bb2 slice_loop_body: ; preds = %slice_loop_header %148 = getelementptr inbounds i8, i8* %153, i16 1 store i8 0, i8* %153 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %149 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 1 %150 = load i32, i32* %149, !range !11 %151 = bitcast [4 x i8]* %fill to i8* %152 = invoke %str_slice @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf817heb693f3d57942ff2E"(i32 %150, i8* nonnull %151, i16 4) to label %bb13 unwind label %cleanup slice_loop_header: ; preds = %slice_loop_body, %bb9 %153 = phi i8* [ %30, %bb9 ], [ %148, %slice_loop_body ] %154 = icmp ne i8* %153, %31 br i1 %154, label %slice_loop_body, label %slice_loop_next } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt9Formatter19pad_formatted_parts17h7146b3b478abe0e2E(%"fmt::Formatter"* dereferenceable(32), %"num::flt2dec::Formatted"* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast6 = alloca i8 %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast2 = alloca i8 %abi_cast1 = alloca i8 %abi_cast = alloca i8 %_61 = alloca %"result::Result<(), fmt::Error>" %_60 = alloca i8 %_57 = alloca %closure.45 %_56 = alloca i8 %ret = alloca %"result::Result<(), fmt::Error>" %_33 = alloca i16 %_22 = alloca %"result::Result<(), fmt::Error>" %_21 = alloca %"result::Result<(), fmt::Error>" %_15 = alloca {} %_14 = alloca i8 %align = alloca i8 %_12 = alloca i8 %old_align = alloca i8 %formatted = alloca %"num::flt2dec::Formatted" %width = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 3 %3 = getelementptr inbounds %"option::Option", %"option::Option"* %2, i32 0, i32 0 %4 = load i16, i16* %3, !range !3 switch i16 %4, label %bb1 [ i16 1, label %bb2 ] bb1: ; preds = %start %5 = call i8 @_ZN4core3fmt9Formatter21write_formatted_parts17h55034ef1765eca1aE(%"fmt::Formatter"* dereferenceable(32) %0, %"num::flt2dec::Formatted"* noalias readonly dereferenceable(8) %1) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb30 bb2: ; preds = %start %7 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 3 %8 = bitcast %"option::Option"* %7 to { i16, i16 }* %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %8, i32 0, i32 1 %10 = load i16, i16* %9 store i16 %10, i16* %width call void @"_ZN82_$LT$core..num..flt2dec..Formatted$LT$$u27$a$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h9e4f3cc168f6ca14E"(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8) %formatted, %"num::flt2dec::Formatted"* noalias readonly dereferenceable(8) %1) br label %bb4 bb3: ; preds = %bb29, %bb30 br label %bb15 bb4: ; preds = %bb2 %11 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 1 %12 = load i32, i32* %11, !range !11 %13 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 %14 = load i8, i8* %13 store i8 %14, i8* %_12 %15 = load i8, i8* %_12 store i8 %15, i8* %old_align %16 = load i8, i8* %old_align store i8 %16, i8* %_14 %17 = load i8, i8* %_14 store i8 %17, i8* %align %18 = call zeroext i1 @_ZN4core3fmt9Formatter19sign_aware_zero_pad17he68a32007e240d40E(%"fmt::Formatter"* noalias readonly dereferenceable(32) %0) br label %bb5 bb5: ; preds = %bb4 br i1 %18, label %bb6, label %bb7 bb6: ; preds = %bb5 %19 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %formatted, i32 0, i32 0 %20 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %19, i32 0, i32 0 %21 = load i8*, i8** %20, !nonnull !1 %22 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %19, i32 0, i32 1 %23 = load i16, i16* %22 %24 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %25 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %24, i32 0, i32 0 store i8* %21, i8** %25, align 2, !noalias !99 %26 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %24, i32 0, i32 1 store i16 %23, i16* %26, align 2, !noalias !99 %27 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %28 = load i8*, i8** %27, !noalias !99, !nonnull !1 %29 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %30 = load i16, i16* %29, !noalias !99 %31 = insertvalue %str_slice undef, i8* %28, 0 %32 = insertvalue %str_slice %31, i16 %30, 1 %33 = extractvalue %str_slice %32, 0 %34 = extractvalue %str_slice %32, 1 br label %bb8 bb7: ; preds = %bb5 br label %bb22 bb8: ; preds = %bb6 %35 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %36 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %35, i32 0, i32 0 %37 = load i8*, i8** %36, !nonnull !1 %38 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %35, i32 0, i32 1 %39 = load void (i8*)**, void (i8*)*** %38, !nonnull !1 %40 = getelementptr inbounds void (i8*)*, void (i8*)** %39, i32 3 %41 = load void (i8*)*, void (i8*)** %40, !invariant.load !1, !nonnull !1 %42 = bitcast void (i8*)* %41 to i8 (i8*, i8*, i16)* %43 = call i8 %42(i8* nonnull %37, i8* noalias nonnull readonly %33, i16 %34) store i8 %43, i8* %abi_cast1 %44 = bitcast %"result::Result<(), fmt::Error>"* %_22 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %44, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 %45 = bitcast %"result::Result<(), fmt::Error>"* %_22 to i8* %46 = load i8, i8* %45, align 1 %47 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %46) store i8 %47, i8* %abi_cast2 %48 = bitcast %"result::Result<(), fmt::Error>"* %_21 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %48, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 %49 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_21, i32 0, i32 0 %50 = load i8, i8* %49, !range !2 %51 = zext i8 %50 to i16 switch i16 %51, label %bb12 [ i16 0, label %bb11 ] bb11: ; preds = %bb10 %52 = bitcast %"result::Result<(), fmt::Error>"* %_21 to { i8, {} }* %53 = getelementptr inbounds { i8, {} }, { i8, {} }* %52, i32 0, i32 1 %54 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %formatted, i32 0, i32 0 %55 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %54, i32 0, i32 0 store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.3m, i32 0, i32 0), i8** %55 %56 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %54, i32 0, i32 1 store i16 0, i16* %56 %57 = load i16, i16* %width %58 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %33, i16 %34) br label %bb16 bb12: ; preds = %bb10 %59 = bitcast %"result::Result<(), fmt::Error>"* %_21 to { i8, %"fmt::Error" }* %60 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %59, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb13 bb13: ; preds = %bb12 %61 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %61, i8* %abi_cast3 %62 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %62, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb14 bb14: ; preds = %bb13 br label %bb15 bb15: ; preds = %bb3, %bb14 %63 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %64 = load i8, i8* %63, align 1 ret i8 %64 bb16: ; preds = %bb11 %65 = icmp ult i16 %57, %58 br i1 %65, label %bb17, label %bb18 bb17: ; preds = %bb16 store i16 0, i16* %_33 br label %bb21 bb18: ; preds = %bb16 %66 = load i16, i16* %width %67 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly %33, i16 %34) br label %bb19 bb19: ; preds = %bb18 %68 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %66, i16 %67) %69 = extractvalue { i16, i1 } %68, 0 %70 = extractvalue { i16, i1 } %68, 1 %71 = call i1 @llvm.expect.i1(i1 %70, i1 false) br i1 %71, label %panic, label %bb20 bb20: ; preds = %bb19 store i16 %69, i16* %_33 br label %bb21 bb21: ; preds = %bb20, %bb17 %72 = load i16, i16* %_33 store i16 %72, i16* %width store i8 1, i8* %align %73 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 1 store i32 48, i32* %73 %74 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 store i8 1, i8* %74 br label %bb22 bb22: ; preds = %bb7, %bb21 %75 = call i16 @_ZN4core3num7flt2dec9Formatted3len17h3577d5cd00ed72f8E(%"num::flt2dec::Formatted"* noalias readonly dereferenceable(8) %formatted) br label %bb23 bb23: ; preds = %bb22 %76 = load i16, i16* %width %77 = icmp ule i16 %76, %75 br i1 %77, label %bb24, label %bb25 bb24: ; preds = %bb23 %78 = call i8 @_ZN4core3fmt9Formatter21write_formatted_parts17h55034ef1765eca1aE(%"fmt::Formatter"* dereferenceable(32) %0, %"num::flt2dec::Formatted"* noalias readonly dereferenceable(8) %formatted) store i8 %78, i8* %abi_cast4 %79 = bitcast %"result::Result<(), fmt::Error>"* %ret to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %79, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb26 bb25: ; preds = %bb23 %80 = load i16, i16* %width %81 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %80, i16 %75) %82 = extractvalue { i16, i1 } %81, 0 %83 = extractvalue { i16, i1 } %81, 1 %84 = call i1 @llvm.expect.i1(i1 %83, i1 false) br i1 %84, label %panic5, label %bb27 bb26: ; preds = %bb24 br label %bb29 bb27: ; preds = %bb25 %85 = load i8, i8* %align store i8 %85, i8* %_56 %86 = getelementptr inbounds %closure.45, %closure.45* %_57, i32 0, i32 0 store %"num::flt2dec::Formatted"* %formatted, %"num::flt2dec::Formatted"** %86 %87 = load i8, i8* %_56 %88 = bitcast %closure.45* %_57 to i8** %89 = load i8*, i8** %88, align 2 %90 = call i8 @_ZN4core3fmt9Formatter12with_padding17heef58ce5e0fa843bE(%"fmt::Formatter"* dereferenceable(32) %0, i16 %82, i8 %87, i8* %89) store i8 %90, i8* %abi_cast6 %91 = bitcast %"result::Result<(), fmt::Error>"* %ret to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %91, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb28 bb28: ; preds = %bb27 br label %bb29 bb29: ; preds = %bb28, %bb26 %92 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 1 store i32 %12, i32* %92 %93 = load i8, i8* %old_align store i8 %93, i8* %_60 %94 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 %95 = load i8, i8* %_60 store i8 %95, i8* %94 %96 = bitcast %"result::Result<(), fmt::Error>"* %ret to i8* %97 = bitcast %"result::Result<(), fmt::Error>"* %_61 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %97, i8* %96, i16 1, i32 1, i1 false) %98 = bitcast %"result::Result<(), fmt::Error>"* %_61 to i8* %99 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %99, i8* %98, i16 1, i32 1, i1 false) br label %bb3 bb30: ; preds = %bb1 br label %bb3 panic: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8j) unreachable panic5: ; preds = %bb25 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8k) unreachable } ; Function Attrs: uwtable define internal i8 @"_ZN4core3fmt9Formatter19pad_formatted_parts28_$u7b$$u7b$closure$u7d$$u7d$17h875db50149e95404E"(i8*, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast1 = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" %abi_cast = alloca i8* %arg0 = alloca %closure.45 store i8* %0, i8** %abi_cast %2 = bitcast %closure.45* %arg0 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block %4 = getelementptr inbounds %closure.45, %closure.45* %arg0, i32 0, i32 0 %5 = load %"num::flt2dec::Formatted"*, %"num::flt2dec::Formatted"** %4, !nonnull !1 %6 = call i8 @_ZN4core3fmt9Formatter21write_formatted_parts17h55034ef1765eca1aE(%"fmt::Formatter"* dereferenceable(32) %1, %"num::flt2dec::Formatted"* noalias readonly dereferenceable(8) %5) store i8 %6, i8* %abi_cast1 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %8 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %9 = load i8, i8* %8, align 1 ret i8 %9 } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt9Formatter21write_formatted_parts17h55034ef1765eca1aE(%"fmt::Formatter"* dereferenceable(32), %"num::flt2dec::Formatted"* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: %abi_cast17 = alloca i8 %abi_cast16 = alloca i8 %abi_cast15 = alloca i8 %abi_cast13 = alloca i8 %abi_cast12 = alloca i8 %abi_cast11 = alloca i8 %abi_cast10 = alloca i8 %abi_cast9 = alloca i8 %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast = alloca i8 %_135 = alloca {} %_124 = alloca %"result::Result<(), fmt::Error>" %_123 = alloca %"result::Result<(), fmt::Error>" %_114 = alloca %"ops::RangeTo" %_106 = alloca %"result::Result<(), fmt::Error>" %_105 = alloca %"result::Result<(), fmt::Error>" %_92 = alloca i8* %iter2 = alloca %"iter::Rev>" %_89 = alloca %"ops::RangeTo" %_84 = alloca %"slice::IterMut" %_83 = alloca %"iter::Rev>" %_82 = alloca %"iter::Rev>" %_result1 = alloca {} %s = alloca [5 x i8] %_69 = alloca %"ops::RangeTo" %_62 = alloca %"result::Result<(), fmt::Error>" %_61 = alloca %"result::Result<(), fmt::Error>" %_44 = alloca %"result::Result<(), fmt::Error>" %_43 = alloca %"result::Result<(), fmt::Error>" %_36 = alloca {} %v = alloca i16 %nzeroes = alloca i16 %_27 = alloca i8* %iter = alloca %"slice::Iter" %_24 = alloca %"slice::Iter" %_result = alloca {} %_20 = alloca {} %_11 = alloca %"result::Result<(), fmt::Error>" %_10 = alloca %"result::Result<(), fmt::Error>" %_5 = alloca {} %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i32 0, i32 0 %3 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %2, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %2, i32 0, i32 1 %6 = load i16, i16* %5 %7 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %4, i16 %6) br label %bb1 bb1: ; preds = %start %8 = xor i1 %7, true br i1 %8, label %bb2, label %bb3 bb2: ; preds = %bb1 %9 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %10 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %9, i32 0, i32 0 %11 = load i8*, i8** %10, !nonnull !1 %12 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %9, i32 0, i32 1 %13 = load void (i8*)**, void (i8*)*** %12, !nonnull !1 %14 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i32 0, i32 0 %15 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %14, i32 0, i32 0 %16 = load i8*, i8** %15, !nonnull !1 %17 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %14, i32 0, i32 1 %18 = load i16, i16* %17 %19 = call i8 @_ZN4core3fmt9Formatter21write_formatted_parts11write_bytes17h0dd5a35419965ca2E(i8* nonnull %11, void (i8*)** noalias nonnull readonly %13, i8* noalias nonnull readonly %16, i16 %18) store i8 %19, i8* %abi_cast %20 = bitcast %"result::Result<(), fmt::Error>"* %_11 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %20, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb3: ; preds = %bb1 br label %bb12 bb4: ; preds = %bb2 %21 = bitcast %"result::Result<(), fmt::Error>"* %_11 to i8* %22 = load i8, i8* %21, align 1 %23 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %22) store i8 %23, i8* %abi_cast3 %24 = bitcast %"result::Result<(), fmt::Error>"* %_10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb5 bb5: ; preds = %bb4 %25 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_10, i32 0, i32 0 %26 = load i8, i8* %25, !range !2 %27 = zext i8 %26 to i16 switch i16 %27, label %bb7 [ i16 0, label %bb6 ] bb6: ; preds = %bb5 %28 = bitcast %"result::Result<(), fmt::Error>"* %_10 to { i8, {} }* %29 = getelementptr inbounds { i8, {} }, { i8, {} }* %28, i32 0, i32 1 br label %bb12 bb7: ; preds = %bb5 %30 = bitcast %"result::Result<(), fmt::Error>"* %_10 to { i8, %"fmt::Error" }* %31 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %30, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb8 bb8: ; preds = %bb7 %32 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %32, i8* %abi_cast4 %33 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %33, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 br label %bb11 bb10: ; preds = %bb16, %bb11 %34 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %35 = load i8, i8* %34, align 1 ret i8 %35 bb11: ; preds = %bb32, %bb9 br label %bb10 bb12: ; preds = %bb3, %bb6 %36 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i32 0, i32 1 %37 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %36, i32 0, i32 0 %38 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %37, !nonnull !1 %39 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %36, i32 0, i32 1 %40 = load i16, i16* %39 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h3a95e5cda716e111E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_24, %"num::flt2dec::Part"* noalias nonnull readonly %38, i16 %40) br label %bb13 bb13: ; preds = %bb12 %41 = bitcast %"slice::Iter"* %_24 to i8* %42 = bitcast %"slice::Iter"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %42, i8* %41, i16 4, i32 2, i1 false) br label %bb14 bb14: ; preds = %bb21, %bb13 %43 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha0286f79396f2247E"(%"slice::Iter"* dereferenceable(4) %iter) store i8* %43, i8** %_27 br label %bb15 bb15: ; preds = %bb14 %44 = load i8*, i8** %_27 %45 = icmp ne i8* %44, null %46 = zext i1 %45 to i16 switch i16 %46, label %bb17 [ i16 0, label %bb16 ] bb16: ; preds = %bb15 %47 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %47 br label %bb10 bb17: ; preds = %bb15 %48 = bitcast i8** %_27 to %"num::flt2dec::Part"** %49 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %48, !nonnull !1 %50 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %49, i32 0, i32 0 %51 = load i16, i16* %50, !range !4 switch i16 %51, label %bb20 [ i16 0, label %bb18 i16 1, label %bb19 ] bb18: ; preds = %bb17 %52 = bitcast %"num::flt2dec::Part"* %49 to { i16, i16 }* %53 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %52, i32 0, i32 1 %54 = load i16, i16* %53 store i16 %54, i16* %nzeroes br label %bb22 bb19: ; preds = %bb17 %55 = bitcast %"num::flt2dec::Part"* %49 to { i16, i16 }* %56 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %55, i32 0, i32 1 %57 = load i16, i16* %56 store i16 %57, i16* %v %58 = getelementptr inbounds [5 x i8], [5 x i8]* %s, i32 0, i32 0 %59 = getelementptr inbounds i8, i8* %58, i16 5 br label %slice_loop_header bb20: ; preds = %bb17 %60 = bitcast %"num::flt2dec::Part"* %49 to { i16, { i8*, i16 } }* %61 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %60, i32 0, i32 1 %62 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 0 %63 = load i8*, i8** %62, !nonnull !1 %64 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %61, i32 0, i32 1 %65 = load i16, i16* %64 %66 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %67 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %66, i32 0, i32 0 %68 = load i8*, i8** %67, !nonnull !1 %69 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %66, i32 0, i32 1 %70 = load void (i8*)**, void (i8*)*** %69, !nonnull !1 %71 = call i8 @_ZN4core3fmt9Formatter21write_formatted_parts11write_bytes17h0dd5a35419965ca2E(i8* nonnull %68, void (i8*)** noalias nonnull readonly %70, i8* noalias nonnull readonly %63, i16 %65) store i8 %71, i8* %abi_cast5 %72 = bitcast %"result::Result<(), fmt::Error>"* %_124 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %72, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb64 bb21: ; preds = %bb44, %bb60, %bb66 br label %bb14 bb22: ; preds = %bb34, %bb18 %73 = load i16, i16* %nzeroes %74 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly getelementptr inbounds ([64 x i8], [64 x i8]* @str.8m, i32 0, i32 0), i16 64) br label %bb24 bb23: ; preds = %bb24 %75 = load i16, i16* %nzeroes %76 = icmp ugt i16 %75, 0 br i1 %76, label %bb35, label %bb36 bb24: ; preds = %bb22 %77 = icmp ugt i16 %73, %74 br i1 %77, label %bb25, label %bb23 bb25: ; preds = %bb24 %78 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %79 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %78, i32 0, i32 0 %80 = load i8*, i8** %79, !nonnull !1 %81 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %78, i32 0, i32 1 %82 = load void (i8*)**, void (i8*)*** %81, !nonnull !1 %83 = getelementptr inbounds void (i8*)*, void (i8*)** %82, i32 3 %84 = load void (i8*)*, void (i8*)** %83, !invariant.load !1, !nonnull !1 %85 = bitcast void (i8*)* %84 to i8 (i8*, i8*, i16)* %86 = call i8 %85(i8* nonnull %80, i8* noalias nonnull readonly getelementptr inbounds ([64 x i8], [64 x i8]* @str.8m, i32 0, i32 0), i16 64) store i8 %86, i8* %abi_cast11 %87 = bitcast %"result::Result<(), fmt::Error>"* %_44 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %87, i8* %abi_cast11, i16 1, i32 1, i1 false) br label %bb26 bb26: ; preds = %bb25 %88 = bitcast %"result::Result<(), fmt::Error>"* %_44 to i8* %89 = load i8, i8* %88, align 1 %90 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %89) store i8 %90, i8* %abi_cast12 %91 = bitcast %"result::Result<(), fmt::Error>"* %_43 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %91, i8* %abi_cast12, i16 1, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %92 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_43, i32 0, i32 0 %93 = load i8, i8* %92, !range !2 %94 = zext i8 %93 to i16 switch i16 %94, label %bb29 [ i16 0, label %bb28 ] bb28: ; preds = %bb27 %95 = bitcast %"result::Result<(), fmt::Error>"* %_43 to { i8, {} }* %96 = getelementptr inbounds { i8, {} }, { i8, {} }* %95, i32 0, i32 1 %97 = call i16 @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$3len17hd0e49025bdf9f53fE"(i8* noalias nonnull readonly getelementptr inbounds ([64 x i8], [64 x i8]* @str.8m, i32 0, i32 0), i16 64) br label %bb33 bb29: ; preds = %bb27 %98 = bitcast %"result::Result<(), fmt::Error>"* %_43 to { i8, %"fmt::Error" }* %99 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %98, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb30 bb30: ; preds = %bb29 %100 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %100, i8* %abi_cast13 %101 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %101, i8* %abi_cast13, i16 1, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb32 bb32: ; preds = %bb43, %bb31, %bb63, %bb69 br label %bb11 bb33: ; preds = %bb28 %102 = load i16, i16* %nzeroes %103 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %102, i16 %97) %104 = extractvalue { i16, i1 } %103, 0 %105 = extractvalue { i16, i1 } %103, 1 %106 = call i1 @llvm.expect.i1(i1 %105, i1 false) br i1 %106, label %panic14, label %bb34 bb34: ; preds = %bb33 store i16 %104, i16* %nzeroes br label %bb22 bb35: ; preds = %bb23 %107 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %108 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %107, i32 0, i32 0 %109 = load i8*, i8** %108, !nonnull !1 %110 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %107, i32 0, i32 1 %111 = load void (i8*)**, void (i8*)*** %110, !nonnull !1 %112 = load i16, i16* %nzeroes %113 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_69, i32 0, i32 0 store i16 %112, i16* %113 %114 = bitcast %"ops::RangeTo"* %_69 to i16* %115 = load i16, i16* %114, align 2 %116 = call %str_slice @"_ZN4core3str6traits89_$LT$impl$u20$core..ops..Index$LT$core..ops..RangeTo$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17h3af521c91fee7b5fE"(i8* noalias nonnull readonly getelementptr inbounds ([64 x i8], [64 x i8]* @str.8m, i32 0, i32 0), i16 64, i16 %115) %117 = extractvalue %str_slice %116, 0 %118 = extractvalue %str_slice %116, 1 br label %bb37 bb36: ; preds = %bb23 br label %bb44 bb37: ; preds = %bb35 %119 = getelementptr inbounds void (i8*)*, void (i8*)** %111, i32 3 %120 = load void (i8*)*, void (i8*)** %119, !invariant.load !1, !nonnull !1 %121 = bitcast void (i8*)* %120 to i8 (i8*, i8*, i16)* %122 = call i8 %121(i8* nonnull %109, i8* noalias nonnull readonly %117, i16 %118) store i8 %122, i8* %abi_cast15 %123 = bitcast %"result::Result<(), fmt::Error>"* %_62 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %123, i8* %abi_cast15, i16 1, i32 1, i1 false) br label %bb38 bb38: ; preds = %bb37 %124 = bitcast %"result::Result<(), fmt::Error>"* %_62 to i8* %125 = load i8, i8* %124, align 1 %126 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %125) store i8 %126, i8* %abi_cast16 %127 = bitcast %"result::Result<(), fmt::Error>"* %_61 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %127, i8* %abi_cast16, i16 1, i32 1, i1 false) br label %bb39 bb39: ; preds = %bb38 %128 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_61, i32 0, i32 0 %129 = load i8, i8* %128, !range !2 %130 = zext i8 %129 to i16 switch i16 %130, label %bb41 [ i16 0, label %bb40 ] bb40: ; preds = %bb39 %131 = bitcast %"result::Result<(), fmt::Error>"* %_61 to { i8, {} }* %132 = getelementptr inbounds { i8, {} }, { i8, {} }* %131, i32 0, i32 1 br label %bb44 bb41: ; preds = %bb39 %133 = bitcast %"result::Result<(), fmt::Error>"* %_61 to { i8, %"fmt::Error" }* %134 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %133, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb42 bb42: ; preds = %bb41 %135 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %135, i8* %abi_cast17 %136 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %136, i8* %abi_cast17, i16 1, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb32 bb44: ; preds = %bb36, %bb40 br label %bb21 bb45: ; preds = %slice_loop_next %137 = bitcast [5 x i8]* %s to i8* %138 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_89, i32 0, i32 0 store i16 %201, i16* %138 %139 = bitcast %"ops::RangeTo"* %_89 to i16* %140 = load i16, i16* %139, align 2 %141 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %137, i16 5, i16 %140) %142 = extractvalue { i8*, i16 } %141, 0 %143 = extractvalue { i8*, i16 } %141, 1 br label %bb46 bb46: ; preds = %bb45 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_84, i8* nonnull %142, i16 %143) br label %bb47 bb47: ; preds = %bb46 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_83, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_84) br label %bb48 bb48: ; preds = %bb47 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_82, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_83) br label %bb49 bb49: ; preds = %bb48 %144 = bitcast %"iter::Rev>"* %_82 to i8* %145 = bitcast %"iter::Rev>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %145, i8* %144, i16 4, i32 2, i1 false) br label %bb50 bb50: ; preds = %bb56, %bb49 %146 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter2) store i8* %146, i8** %_92 br label %bb51 bb51: ; preds = %bb50 %147 = load i8*, i8** %_92 %148 = icmp ne i8* %147, null %149 = zext i1 %148 to i16 switch i16 %149, label %bb53 [ i16 0, label %bb52 ] bb52: ; preds = %bb51 %150 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %151 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %150, i32 0, i32 0 %152 = load i8*, i8** %151, !nonnull !1 %153 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %150, i32 0, i32 1 %154 = load void (i8*)**, void (i8*)*** %153, !nonnull !1 %155 = bitcast [5 x i8]* %s to i8* %156 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_114, i32 0, i32 0 store i16 %201, i16* %156 %157 = bitcast %"ops::RangeTo"* %_114 to i16* %158 = load i16, i16* %157, align 2 %159 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %155, i16 5, i16 %158) %160 = extractvalue { i8*, i16 } %159, 0 %161 = extractvalue { i8*, i16 } %159, 1 br label %bb57 bb53: ; preds = %bb51 %162 = load i8*, i8** %_92, !nonnull !1 %163 = load i16, i16* %v br label %bb54 bb54: ; preds = %bb53 %164 = urem i16 %163, 10 %165 = trunc i16 %164 to i8 %166 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %165) %167 = extractvalue { i8, i1 } %166, 0 %168 = extractvalue { i8, i1 } %166, 1 %169 = call i1 @llvm.expect.i1(i1 %168, i1 false) br i1 %169, label %panic, label %bb55 bb55: ; preds = %bb54 store i8 %167, i8* %162 br label %bb56 bb56: ; preds = %bb55 %170 = load i16, i16* %v %171 = udiv i16 %170, 10 store i16 %171, i16* %v br label %bb50 bb57: ; preds = %bb52 %172 = call i8 @_ZN4core3fmt9Formatter21write_formatted_parts11write_bytes17h0dd5a35419965ca2E(i8* nonnull %152, void (i8*)** noalias nonnull readonly %154, i8* noalias nonnull readonly %160, i16 %161) store i8 %172, i8* %abi_cast8 %173 = bitcast %"result::Result<(), fmt::Error>"* %_106 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %173, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb58 bb58: ; preds = %bb57 %174 = bitcast %"result::Result<(), fmt::Error>"* %_106 to i8* %175 = load i8, i8* %174, align 1 %176 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %175) store i8 %176, i8* %abi_cast9 %177 = bitcast %"result::Result<(), fmt::Error>"* %_105 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %177, i8* %abi_cast9, i16 1, i32 1, i1 false) br label %bb59 bb59: ; preds = %bb58 %178 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_105, i32 0, i32 0 %179 = load i8, i8* %178, !range !2 %180 = zext i8 %179 to i16 switch i16 %180, label %bb61 [ i16 0, label %bb60 ] bb60: ; preds = %bb59 %181 = bitcast %"result::Result<(), fmt::Error>"* %_105 to { i8, {} }* %182 = getelementptr inbounds { i8, {} }, { i8, {} }* %181, i32 0, i32 1 br label %bb21 bb61: ; preds = %bb59 %183 = bitcast %"result::Result<(), fmt::Error>"* %_105 to { i8, %"fmt::Error" }* %184 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %183, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb62 bb62: ; preds = %bb61 %185 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %185, i8* %abi_cast10 %186 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %186, i8* %abi_cast10, i16 1, i32 1, i1 false) br label %bb63 bb63: ; preds = %bb62 br label %bb32 bb64: ; preds = %bb20 %187 = bitcast %"result::Result<(), fmt::Error>"* %_124 to i8* %188 = load i8, i8* %187, align 1 %189 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %188) store i8 %189, i8* %abi_cast6 %190 = bitcast %"result::Result<(), fmt::Error>"* %_123 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %190, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb65 bb65: ; preds = %bb64 %191 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_123, i32 0, i32 0 %192 = load i8, i8* %191, !range !2 %193 = zext i8 %192 to i16 switch i16 %193, label %bb67 [ i16 0, label %bb66 ] bb66: ; preds = %bb65 %194 = bitcast %"result::Result<(), fmt::Error>"* %_123 to { i8, {} }* %195 = getelementptr inbounds { i8, {} }, { i8, {} }* %194, i32 0, i32 1 br label %bb21 bb67: ; preds = %bb65 %196 = bitcast %"result::Result<(), fmt::Error>"* %_123 to { i8, %"fmt::Error" }* %197 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %196, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb68 bb68: ; preds = %bb67 %198 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %198, i8* %abi_cast7 %199 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %199, i8* %abi_cast7, i16 1, i32 1, i1 false) br label %bb69 bb69: ; preds = %bb68 br label %bb32 slice_loop_body: ; preds = %slice_loop_header %200 = getelementptr inbounds i8, i8* %202, i16 1 store i8 0, i8* %202 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %201 = call i16 @_ZN4core3num7flt2dec4Part3len17hd0c86b1c2c7d7190E(%"num::flt2dec::Part"* noalias readonly dereferenceable(6) %49) br label %bb45 slice_loop_header: ; preds = %slice_loop_body, %bb19 %202 = phi i8* [ %58, %bb19 ], [ %200, %slice_loop_body ] %203 = icmp ne i8* %202, %59 br i1 %203, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb54 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8l) unreachable panic14: ; preds = %bb33 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8n) unreachable } ; Function Attrs: uwtable define internal i8 @_ZN4core3fmt9Formatter21write_formatted_parts11write_bytes17h0dd5a35419965ca2E(i8* nonnull, void (i8*)** noalias nonnull readonly, i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %4 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %5 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %4, i32 0, i32 0 store i8* %2, i8** %5, align 2, !noalias !102 %6 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %4, i32 0, i32 1 store i16 %3, i16* %6, align 2, !noalias !102 %7 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %8 = load i8*, i8** %7, !noalias !102, !nonnull !1 %9 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %10 = load i16, i16* %9, !noalias !102 %11 = insertvalue %str_slice undef, i8* %8, 0 %12 = insertvalue %str_slice %11, i16 %10, 1 %13 = extractvalue %str_slice %12, 0 %14 = extractvalue %str_slice %12, 1 br label %bb1 bb1: ; preds = %start %15 = getelementptr inbounds void (i8*)*, void (i8*)** %1, i32 3 %16 = load void (i8*)*, void (i8*)** %15, !invariant.load !1, !nonnull !1 %17 = bitcast void (i8*)* %16 to i8 (i8*, i8*, i16)* %18 = call i8 %17(i8* nonnull %0, i8* noalias nonnull readonly %13, i16 %14) store i8 %18, i8* %abi_cast %19 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %20 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %21 = load i8, i8* %20, align 1 ret i8 %21 } ; Function Attrs: uwtable define i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %4 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %3, i32 0, i32 0 %5 = load i8*, i8** %4, !nonnull !1 %6 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %3, i32 0, i32 1 %7 = load void (i8*)**, void (i8*)*** %6, !nonnull !1 %8 = getelementptr inbounds void (i8*)*, void (i8*)** %7, i32 3 %9 = load void (i8*)*, void (i8*)** %8, !invariant.load !1, !nonnull !1 %10 = bitcast void (i8*)* %9 to i8 (i8*, i8*, i16)* %11 = call i8 %10(i8* nonnull %5, i8* noalias nonnull readonly %1, i16 %2) store i8 %11, i8* %abi_cast %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %13 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %14 = load i8, i8* %13, align 1 ret i8 %14 } ; Function Attrs: uwtable define i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32), %"fmt::Arguments"* noalias nocapture dereferenceable(12)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_7 = alloca %"fmt::Arguments" %fmt = alloca %"fmt::Arguments" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = bitcast %"fmt::Arguments"* %1 to i8* %3 = bitcast %"fmt::Arguments"* %fmt to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 12, i32 2, i1 false) %4 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %5 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %4, i32 0, i32 0 %6 = load i8*, i8** %5, !nonnull !1 %7 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %4, i32 0, i32 1 %8 = load void (i8*)**, void (i8*)*** %7, !nonnull !1 %9 = bitcast %"fmt::Arguments"* %fmt to i8* %10 = bitcast %"fmt::Arguments"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 12, i32 2, i1 false) %11 = call i8 @_ZN4core3fmt5write17h52a33c89b70ab6dcE(i8* nonnull %6, void (i8*)** noalias nonnull readonly %8, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_7) store i8 %11, i8* %abi_cast %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %13 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %14 = load i8, i8* %13, align 1 ret i8 %14 } ; Function Attrs: uwtable define i32 @_ZN4core3fmt9Formatter5flags17h725e086285a1be59E(%"fmt::Formatter"* noalias readonly dereferenceable(32)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 0 %2 = load i32, i32* %1 ret i32 %2 } ; Function Attrs: uwtable define i32 @_ZN4core3fmt9Formatter4fill17hcfdef772f26a8879E(%"fmt::Formatter"* noalias readonly dereferenceable(32)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 1 %2 = load i32, i32* %1, !range !11 ret i32 %2 } ; Function Attrs: uwtable define i8 @_ZN4core3fmt9Formatter5align17h24787552949b56b2E(%"fmt::Formatter"* noalias readonly dereferenceable(32)) unnamed_addr #1 { entry-block: %_0 = alloca i8 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 2 %2 = load i8, i8* %1, !range !6 %3 = zext i8 %2 to i16 switch i16 %3, label %bb4 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 ] bb1: ; preds = %start store i8 0, i8* %_0 br label %bb5 bb2: ; preds = %start store i8 1, i8* %_0 br label %bb5 bb3: ; preds = %start store i8 2, i8* %_0 br label %bb5 bb4: ; preds = %start store i8 3, i8* %_0 br label %bb5 bb5: ; preds = %bb1, %bb2, %bb3, %bb4 %4 = load i8, i8* %_0 ret i8 %4 } ; Function Attrs: uwtable define void @_ZN4core3fmt9Formatter5width17he09d2310026e9eeaE(%"option::Option"* noalias nocapture sret dereferenceable(4), %"fmt::Formatter"* noalias readonly dereferenceable(32)) unnamed_addr #1 { entry-block: %_3 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 3 %3 = bitcast %"option::Option"* %2 to i8* %4 = bitcast %"option::Option"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) %5 = bitcast %"option::Option"* %_3 to i8* %6 = bitcast %"option::Option"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define void @_ZN4core3fmt9Formatter9precision17hf32080a4d1b796c4E(%"option::Option"* noalias nocapture sret dereferenceable(4), %"fmt::Formatter"* noalias readonly dereferenceable(32)) unnamed_addr #1 { entry-block: %_3 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 4 %3 = bitcast %"option::Option"* %2 to i8* %4 = bitcast %"option::Option"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) %5 = bitcast %"option::Option"* %_3 to i8* %6 = bitcast %"option::Option"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define zeroext i1 @_ZN4core3fmt9Formatter9sign_plus17hd78549731cea10cdE(%"fmt::Formatter"* noalias readonly dereferenceable(32)) unnamed_addr #1 { entry-block: %_7 = alloca i8 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 0 %2 = load i32, i32* %1 store i8 0, i8* %_7 %3 = load i8, i8* %_7 %4 = icmp ule i8 %3, 3 call void @llvm.assume(i1 %4) %5 = zext i8 %3 to i32 %6 = and i32 %5, -32 %7 = icmp ne i32 %6, 0 %8 = and i32 %5, 31 %9 = shl i32 1, %8 %10 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %10, label %panic, label %bb1 bb1: ; preds = %start %11 = and i32 %2, %9 %12 = icmp ne i32 %11, 0 ret i1 %12 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8o) unreachable } ; Function Attrs: uwtable define zeroext i1 @_ZN4core3fmt9Formatter10sign_minus17h726d5b17917a210aE(%"fmt::Formatter"* noalias readonly dereferenceable(32)) unnamed_addr #1 { entry-block: %_7 = alloca i8 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 0 %2 = load i32, i32* %1 store i8 1, i8* %_7 %3 = load i8, i8* %_7 %4 = icmp ule i8 %3, 3 call void @llvm.assume(i1 %4) %5 = zext i8 %3 to i32 %6 = and i32 %5, -32 %7 = icmp ne i32 %6, 0 %8 = and i32 %5, 31 %9 = shl i32 1, %8 %10 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %10, label %panic, label %bb1 bb1: ; preds = %start %11 = and i32 %2, %9 %12 = icmp ne i32 %11, 0 ret i1 %12 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8p) unreachable } ; Function Attrs: uwtable define zeroext i1 @_ZN4core3fmt9Formatter9alternate17hc382f2d78b3756a3E(%"fmt::Formatter"* noalias readonly dereferenceable(32)) unnamed_addr #1 { entry-block: %_7 = alloca i8 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 0 %2 = load i32, i32* %1 store i8 2, i8* %_7 %3 = load i8, i8* %_7 %4 = icmp ule i8 %3, 3 call void @llvm.assume(i1 %4) %5 = zext i8 %3 to i32 %6 = and i32 %5, -32 %7 = icmp ne i32 %6, 0 %8 = and i32 %5, 31 %9 = shl i32 1, %8 %10 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %10, label %panic, label %bb1 bb1: ; preds = %start %11 = and i32 %2, %9 %12 = icmp ne i32 %11, 0 ret i1 %12 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8q) unreachable } ; Function Attrs: uwtable define zeroext i1 @_ZN4core3fmt9Formatter19sign_aware_zero_pad17he68a32007e240d40E(%"fmt::Formatter"* noalias readonly dereferenceable(32)) unnamed_addr #1 { entry-block: %_7 = alloca i8 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 0 %2 = load i32, i32* %1 store i8 3, i8* %_7 %3 = load i8, i8* %_7 %4 = icmp ule i8 %3, 3 call void @llvm.assume(i1 %4) %5 = zext i8 %3 to i32 %6 = and i32 %5, -32 %7 = icmp ne i32 %6, 0 %8 = and i32 %5, 31 %9 = shl i32 1, %8 %10 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %10, label %panic, label %bb1 bb1: ; preds = %start %11 = and i32 %2, %9 %12 = icmp ne i32 %11, 0 ret i1 %12 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8r) unreachable } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4), %"fmt::Formatter"* dereferenceable(32), i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3fmt8builders16debug_struct_new17h10220dec28e033bcE(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %0, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly %2, i16 %3) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8), %"fmt::Formatter"* dereferenceable(32), i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3fmt8builders15debug_tuple_new17h06b4ca5d3cb9f751E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %0, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly %2, i16 %3) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal void @_ZN4core3fmt9Formatter10debug_list17h8342b57fb4be9502E(%"fmt::builders::DebugList"* noalias nocapture sret dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3fmt8builders14debug_list_new17hfe4c6fd5210c94f9E(%"fmt::builders::DebugList"* noalias nocapture sret dereferenceable(4) %0, %"fmt::Formatter"* dereferenceable(32) %1) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i8 @"_ZN71_$LT$core..fmt..Formatter$LT$$u27$a$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17h5f5caadaa8743e73E"(%"fmt::Formatter"* dereferenceable(32), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %4 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %3, i32 0, i32 0 %5 = load i8*, i8** %4, !nonnull !1 %6 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %3, i32 0, i32 1 %7 = load void (i8*)**, void (i8*)*** %6, !nonnull !1 %8 = getelementptr inbounds void (i8*)*, void (i8*)** %7, i32 3 %9 = load void (i8*)*, void (i8*)** %8, !invariant.load !1, !nonnull !1 %10 = bitcast void (i8*)* %9 to i8 (i8*, i8*, i16)* %11 = call i8 %10(i8* nonnull %5, i8* noalias nonnull readonly %1, i16 %2) store i8 %11, i8* %abi_cast %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %13 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %14 = load i8, i8* %13, align 1 ret i8 %14 } ; Function Attrs: uwtable define i8 @"_ZN71_$LT$core..fmt..Formatter$LT$$u27$a$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17h48686d13cc1bd53eE"(%"fmt::Formatter"* dereferenceable(32), i32) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %3 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %2, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %2, i32 0, i32 1 %6 = load void (i8*)**, void (i8*)*** %5, !nonnull !1 %7 = getelementptr inbounds void (i8*)*, void (i8*)** %6, i32 4 %8 = load void (i8*)*, void (i8*)** %7, !invariant.load !1, !nonnull !1 %9 = bitcast void (i8*)* %8 to i8 (i8*, i32)* %10 = call i8 %9(i8* nonnull %4, i32 %1) store i8 %10, i8* %abi_cast %11 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %13 = load i8, i8* %12, align 1 ret i8 %13 } ; Function Attrs: uwtable define i8 @"_ZN71_$LT$core..fmt..Formatter$LT$$u27$a$GT$$u20$as$u20$core..fmt..Write$GT$9write_fmt17h1652d8eb1993fb53E"(%"fmt::Formatter"* dereferenceable(32), %"fmt::Arguments"* noalias nocapture dereferenceable(12)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_7 = alloca %"fmt::Arguments" %args = alloca %"fmt::Arguments" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = bitcast %"fmt::Arguments"* %1 to i8* %3 = bitcast %"fmt::Arguments"* %args to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %2, i16 12, i32 2, i1 false) %4 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %0, i32 0, i32 5 %5 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %4, i32 0, i32 0 %6 = load i8*, i8** %5, !nonnull !1 %7 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %4, i32 0, i32 1 %8 = load void (i8*)**, void (i8*)*** %7, !nonnull !1 %9 = bitcast %"fmt::Arguments"* %args to i8* %10 = bitcast %"fmt::Arguments"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 12, i32 2, i1 false) %11 = call i8 @_ZN4core3fmt5write17h52a33c89b70ab6dcE(i8* nonnull %6, void (i8*)** noalias nonnull readonly %8, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_7) store i8 %11, i8* %abi_cast %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %13 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %14 = load i8, i8* %13, align 1 ret i8 %14 } ; Function Attrs: uwtable define i8 @"_ZN55_$LT$core..fmt..Error$u20$as$u20$core..fmt..Display$GT$3fmt17h6dc30e0bdeec43f4E"(%"fmt::Error"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h885a7c667bb6b275E"(i8* noalias nonnull readonly getelementptr inbounds ([45 x i8], [45 x i8]* @str.8s, i32 0, i32 0), i16 45, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN42_$LT$$u21$$u20$as$u20$core..fmt..Debug$GT$3fmt17h0fa887db4d350ff2E"({}* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block unreachable } ; Function Attrs: uwtable define i8 @"_ZN44_$LT$$u21$$u20$as$u20$core..fmt..Display$GT$3fmt17h3f99794ff8635338E"({}* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block unreachable } ; Function Attrs: uwtable define i8 @"_ZN41_$LT$bool$u20$as$u20$core..fmt..Debug$GT$3fmt17h39b75d22877987b9E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN43_$LT$bool$u20$as$u20$core..fmt..Display$GT$3fmt17h5496195c61f22013E"(i8* noalias readonly dereferenceable(1) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN43_$LT$bool$u20$as$u20$core..fmt..Display$GT$3fmt17h5496195c61f22013E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_5 = alloca %str_slice %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i8, i8* %0, !range !2 %3 = trunc i8 %2 to i1 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = getelementptr inbounds %str_slice, %str_slice* %_5, i32 0, i32 0 store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str.8t, i32 0, i32 0), i8** %4 %5 = getelementptr inbounds %str_slice, %str_slice* %_5, i32 0, i32 1 store i16 4, i16* %5 br label %bb3 bb2: ; preds = %start %6 = getelementptr inbounds %str_slice, %str_slice* %_5, i32 0, i32 0 store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str.8u, i32 0, i32 0), i8** %6 %7 = getelementptr inbounds %str_slice, %str_slice* %_5, i32 0, i32 1 store i16 5, i16* %7 br label %bb3 bb3: ; preds = %bb2, %bb1 %8 = getelementptr inbounds %str_slice, %str_slice* %_5, i32 0, i32 0 %9 = load i8*, i8** %8, !nonnull !1 %10 = getelementptr inbounds %str_slice, %str_slice* %_5, i32 0, i32 1 %11 = load i16, i16* %10 %12 = call i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h885a7c667bb6b275E"(i8* noalias nonnull readonly %9, i16 %11, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %12, i8* %abi_cast %13 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %13, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %15 = load i8, i8* %14, align 1 ret i8 %15 } ; Function Attrs: uwtable define i8 @"_ZN40_$LT$str$u20$as$u20$core..fmt..Debug$GT$3fmt17h2859099716b7654bE"(i8* noalias nonnull readonly, i16, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast14 = alloca i8 %abi_cast13 = alloca i8 %abi_cast12 = alloca i8 %abi_cast11 = alloca i8 %abi_cast10 = alloca i8 %abi_cast9 = alloca i8 %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %arg = alloca %"ops::Range" %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast = alloca i8 %_86 = alloca %"ops::RangeFrom" %_80 = alloca %"result::Result<(), fmt::Error>" %_79 = alloca %"result::Result<(), fmt::Error>" %_63 = alloca %"result::Result<(), fmt::Error>" %_62 = alloca %"result::Result<(), fmt::Error>" %_56 = alloca %"option::Option" %iter2 = alloca %"char::EscapeDebug" %_54 = alloca %"char::EscapeDebug" %_53 = alloca %"char::EscapeDebug" %_result1 = alloca {} %_42 = alloca %"ops::Range" %_36 = alloca %"result::Result<(), fmt::Error>" %_35 = alloca %"result::Result<(), fmt::Error>" %esc = alloca %"char::EscapeDebug" %_23 = alloca %"option::Option<(usize, char)>" %iter = alloca %"str::CharIndices" %_20 = alloca %"str::CharIndices" %_19 = alloca %"str::CharIndices" %_result = alloca {} %from = alloca i16 %_14 = alloca {} %_7 = alloca %"result::Result<(), fmt::Error>" %_6 = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = call i8 @"_ZN71_$LT$core..fmt..Formatter$LT$$u27$a$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17h48686d13cc1bd53eE"(%"fmt::Formatter"* dereferenceable(32) %2, i32 34) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_7 to i8* %6 = load i8, i8* %5, align 1 %7 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %6) store i8 %7, i8* %abi_cast3 %8 = bitcast %"result::Result<(), fmt::Error>"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %9 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_6, i32 0, i32 0 %10 = load i8, i8* %9, !range !2 %11 = zext i8 %10 to i16 switch i16 %11, label %bb4 [ i16 0, label %bb3 ] bb3: ; preds = %bb2 %12 = bitcast %"result::Result<(), fmt::Error>"* %_6 to { i8, {} }* %13 = getelementptr inbounds { i8, {} }, { i8, {} }* %12, i32 0, i32 1 store i16 0, i16* %from call void @"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$12char_indices17h9ca5ebface074dd3E"(%"str::CharIndices"* noalias nocapture sret dereferenceable(6) %_20, i8* noalias nonnull readonly %0, i16 %1) br label %bb9 bb4: ; preds = %bb2 %14 = bitcast %"result::Result<(), fmt::Error>"* %_6 to { i8, %"fmt::Error" }* %15 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %14, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb5 bb5: ; preds = %bb4 %16 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %16, i8* %abi_cast4 %17 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %17, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb6 bb6: ; preds = %bb5 br label %bb8 bb7: ; preds = %bb49, %bb8 %18 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %19 = load i8, i8* %18, align 1 ret i8 %19 bb8: ; preds = %bb27, %bb6 br label %bb7 bb9: ; preds = %bb3 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hb581867d4bdf773bE"(%"str::CharIndices"* noalias nocapture sret dereferenceable(6) %_19, %"str::CharIndices"* noalias nocapture dereferenceable(6) %_20) br label %bb10 bb10: ; preds = %bb9 %20 = bitcast %"str::CharIndices"* %_19 to i8* %21 = bitcast %"str::CharIndices"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 6, i32 2, i1 false) br label %bb11 bb11: ; preds = %bb41, %bb10 call void @"_ZN87_$LT$core..str..CharIndices$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf91c97e87b0f9834E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(12) %_23, %"str::CharIndices"* dereferenceable(6) %iter) br label %bb12 bb12: ; preds = %bb11 %22 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %_23, i32 0, i32 0 %23 = load i32, i32* %22, !range !9 %24 = trunc i32 %23 to i16 switch i16 %24, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 %25 = load i16, i16* %from %26 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_86, i32 0, i32 0 store i16 %25, i16* %26 %27 = bitcast %"ops::RangeFrom"* %_86 to i16* %28 = load i16, i16* %27, align 2 %29 = call %str_slice @"_ZN4core3str6traits91_$LT$impl$u20$core..ops..Index$LT$core..ops..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17he53d0ed7bcb77167E"(i8* noalias nonnull readonly %0, i16 %1, i16 %28) %30 = extractvalue %str_slice %29, 0 %31 = extractvalue %str_slice %29, 1 br label %bb42 bb14: ; preds = %bb12 %32 = bitcast %"option::Option<(usize, char)>"* %_23 to { i32, { i16, i32 } }* %33 = getelementptr inbounds { i32, { i16, i32 } }, { i32, { i16, i32 } }* %32, i32 0, i32 1 %34 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %33, i32 0, i32 0 %35 = load i16, i16* %34 %36 = bitcast %"option::Option<(usize, char)>"* %_23 to { i32, { i16, i32 } }* %37 = getelementptr inbounds { i32, { i16, i32 } }, { i32, { i16, i32 } }* %36, i32 0, i32 1 %38 = getelementptr inbounds { i16, i32 }, { i16, i32 }* %37, i32 0, i32 1 %39 = load i32, i32* %38, !range !11 call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$12escape_debug17h26d290319ceaa784E"(%"char::EscapeDebug"* noalias nocapture sret dereferenceable(12) %esc, i32 %39) br label %bb15 bb15: ; preds = %bb14 %40 = call i16 @_ZN4core4iter6traits17ExactSizeIterator3len17hcdfa0075a37dd1fcE(%"char::EscapeDebug"* noalias readonly dereferenceable(12) %esc) br label %bb16 bb16: ; preds = %bb15 %41 = icmp ne i16 %40, 1 br i1 %41, label %bb17, label %bb18 bb17: ; preds = %bb16 %42 = load i16, i16* %from %43 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_42, i32 0, i32 0 store i16 %42, i16* %43 %44 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_42, i32 0, i32 1 store i16 %35, i16* %44 %45 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_42, i32 0, i32 0 %46 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_42, i32 0, i32 1 %47 = load i16, i16* %45 %48 = load i16, i16* %46 %49 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %47, i16* %49 %50 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %48, i16* %50 %51 = call %str_slice @"_ZN4core3str6traits87_$LT$impl$u20$core..ops..Index$LT$core..ops..Range$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17h52b1bc72fe000f46E"(i8* noalias nonnull readonly %0, i16 %1, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) %52 = extractvalue %str_slice %51, 0 %53 = extractvalue %str_slice %51, 1 br label %bb19 bb18: ; preds = %bb16 br label %bb41 bb19: ; preds = %bb17 %54 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %2, i8* noalias nonnull readonly %52, i16 %53) store i8 %54, i8* %abi_cast5 %55 = bitcast %"result::Result<(), fmt::Error>"* %_36 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %55, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb20 bb20: ; preds = %bb19 %56 = bitcast %"result::Result<(), fmt::Error>"* %_36 to i8* %57 = load i8, i8* %56, align 1 %58 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %57) store i8 %58, i8* %abi_cast6 %59 = bitcast %"result::Result<(), fmt::Error>"* %_35 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %59, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb21 bb21: ; preds = %bb20 %60 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_35, i32 0, i32 0 %61 = load i8, i8* %60, !range !2 %62 = zext i8 %61 to i16 switch i16 %62, label %bb23 [ i16 0, label %bb22 ] bb22: ; preds = %bb21 %63 = bitcast %"result::Result<(), fmt::Error>"* %_35 to { i8, {} }* %64 = getelementptr inbounds { i8, {} }, { i8, {} }* %63, i32 0, i32 1 %65 = bitcast %"char::EscapeDebug"* %esc to i8* %66 = bitcast %"char::EscapeDebug"* %_54 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %66, i8* %65, i16 12, i32 4, i1 false) call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h0b9fdaee5e7bd994E"(%"char::EscapeDebug"* noalias nocapture sret dereferenceable(12) %_53, %"char::EscapeDebug"* noalias nocapture dereferenceable(12) %_54) br label %bb28 bb23: ; preds = %bb21 %67 = bitcast %"result::Result<(), fmt::Error>"* %_35 to { i8, %"fmt::Error" }* %68 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %67, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb24 bb24: ; preds = %bb23 %69 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %69, i8* %abi_cast7 %70 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %abi_cast7, i16 1, i32 1, i1 false) br label %bb25 bb25: ; preds = %bb24 br label %bb26 bb26: ; preds = %bb38, %bb25 br label %bb27 bb27: ; preds = %bb48, %bb26 br label %bb8 bb28: ; preds = %bb22 %71 = bitcast %"char::EscapeDebug"* %_53 to i8* %72 = bitcast %"char::EscapeDebug"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %72, i8* %71, i16 12, i32 4, i1 false) br label %bb29 bb29: ; preds = %bb35, %bb28 call void @"_ZN74_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h754c2463954ec198E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_56, %"char::EscapeDebug"* dereferenceable(12) %iter2) br label %bb30 bb30: ; preds = %bb29 %73 = getelementptr inbounds %"option::Option", %"option::Option"* %_56, i32 0, i32 0 %74 = load i32, i32* %73, !range !9 %75 = trunc i32 %74 to i16 switch i16 %75, label %bb32 [ i16 0, label %bb31 ] bb31: ; preds = %bb30 %76 = call i16 @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8len_utf817h35300f67a1fb64b4E"(i32 %39) br label %bb39 bb32: ; preds = %bb30 %77 = bitcast %"option::Option"* %_56 to { i32, i32 }* %78 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %77, i32 0, i32 1 %79 = load i32, i32* %78, !range !11 %80 = call i8 @"_ZN71_$LT$core..fmt..Formatter$LT$$u27$a$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17h48686d13cc1bd53eE"(%"fmt::Formatter"* dereferenceable(32) %2, i32 %79) store i8 %80, i8* %abi_cast8 %81 = bitcast %"result::Result<(), fmt::Error>"* %_63 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %81, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb33 bb33: ; preds = %bb32 %82 = bitcast %"result::Result<(), fmt::Error>"* %_63 to i8* %83 = load i8, i8* %82, align 1 %84 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %83) store i8 %84, i8* %abi_cast9 %85 = bitcast %"result::Result<(), fmt::Error>"* %_62 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %85, i8* %abi_cast9, i16 1, i32 1, i1 false) br label %bb34 bb34: ; preds = %bb33 %86 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_62, i32 0, i32 0 %87 = load i8, i8* %86, !range !2 %88 = zext i8 %87 to i16 switch i16 %88, label %bb36 [ i16 0, label %bb35 ] bb35: ; preds = %bb34 %89 = bitcast %"result::Result<(), fmt::Error>"* %_62 to { i8, {} }* %90 = getelementptr inbounds { i8, {} }, { i8, {} }* %89, i32 0, i32 1 br label %bb29 bb36: ; preds = %bb34 %91 = bitcast %"result::Result<(), fmt::Error>"* %_62 to { i8, %"fmt::Error" }* %92 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %91, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb37 bb37: ; preds = %bb36 %93 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %93, i8* %abi_cast10 %94 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %94, i8* %abi_cast10, i16 1, i32 1, i1 false) br label %bb38 bb38: ; preds = %bb37 br label %bb26 bb39: ; preds = %bb31 %95 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %35, i16 %76) %96 = extractvalue { i16, i1 } %95, 0 %97 = extractvalue { i16, i1 } %95, 1 %98 = call i1 @llvm.expect.i1(i1 %97, i1 false) br i1 %98, label %panic, label %bb40 bb40: ; preds = %bb39 store i16 %96, i16* %from br label %bb41 bb41: ; preds = %bb18, %bb40 br label %bb11 bb42: ; preds = %bb13 %99 = call i8 @_ZN4core3fmt9Formatter9write_str17h7b53ea9da2f60d71E(%"fmt::Formatter"* dereferenceable(32) %2, i8* noalias nonnull readonly %30, i16 %31) store i8 %99, i8* %abi_cast11 %100 = bitcast %"result::Result<(), fmt::Error>"* %_80 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %100, i8* %abi_cast11, i16 1, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 %101 = bitcast %"result::Result<(), fmt::Error>"* %_80 to i8* %102 = load i8, i8* %101, align 1 %103 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %102) store i8 %103, i8* %abi_cast12 %104 = bitcast %"result::Result<(), fmt::Error>"* %_79 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %104, i8* %abi_cast12, i16 1, i32 1, i1 false) br label %bb44 bb44: ; preds = %bb43 %105 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_79, i32 0, i32 0 %106 = load i8, i8* %105, !range !2 %107 = zext i8 %106 to i16 switch i16 %107, label %bb46 [ i16 0, label %bb45 ] bb45: ; preds = %bb44 %108 = bitcast %"result::Result<(), fmt::Error>"* %_79 to { i8, {} }* %109 = getelementptr inbounds { i8, {} }, { i8, {} }* %108, i32 0, i32 1 %110 = call i8 @"_ZN71_$LT$core..fmt..Formatter$LT$$u27$a$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17h48686d13cc1bd53eE"(%"fmt::Formatter"* dereferenceable(32) %2, i32 34) store i8 %110, i8* %abi_cast14 %111 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %111, i8* %abi_cast14, i16 1, i32 1, i1 false) br label %bb49 bb46: ; preds = %bb44 %112 = bitcast %"result::Result<(), fmt::Error>"* %_79 to { i8, %"fmt::Error" }* %113 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %112, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb47 bb47: ; preds = %bb46 %114 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %114, i8* %abi_cast13 %115 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %115, i8* %abi_cast13, i16 1, i32 1, i1 false) br label %bb48 bb48: ; preds = %bb47 br label %bb27 bb49: ; preds = %bb45 br label %bb7 panic: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8v) unreachable } ; Function Attrs: uwtable define i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h885a7c667bb6b275E"(i8* noalias nonnull readonly, i16, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %3 = call i8 @_ZN4core3fmt9Formatter3pad17h83d3487e91faf71cE(%"fmt::Formatter"* dereferenceable(32) %2, i8* noalias nonnull readonly %0, i16 %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define i8 @"_ZN41_$LT$char$u20$as$u20$core..fmt..Debug$GT$3fmt17h231506979b24d292E"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast2 = alloca i8 %abi_cast1 = alloca i8 %abi_cast = alloca i8 %_28 = alloca %"result::Result<(), fmt::Error>" %_27 = alloca %"result::Result<(), fmt::Error>" %_22 = alloca %"option::Option" %iter = alloca %"char::EscapeDebug" %_19 = alloca %"char::EscapeDebug" %_18 = alloca %"char::EscapeDebug" %_result = alloca {} %_7 = alloca %"result::Result<(), fmt::Error>" %_6 = alloca %"result::Result<(), fmt::Error>" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN71_$LT$core..fmt..Formatter$LT$$u27$a$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17h48686d13cc1bd53eE"(%"fmt::Formatter"* dereferenceable(32) %1, i32 39) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_7 to i8* %5 = load i8, i8* %4, align 1 %6 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %5) store i8 %6, i8* %abi_cast1 %7 = bitcast %"result::Result<(), fmt::Error>"* %_6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_6, i32 0, i32 0 %9 = load i8, i8* %8, !range !2 %10 = zext i8 %9 to i16 switch i16 %10, label %bb4 [ i16 0, label %bb3 ] bb3: ; preds = %bb2 %11 = bitcast %"result::Result<(), fmt::Error>"* %_6 to { i8, {} }* %12 = getelementptr inbounds { i8, {} }, { i8, {} }* %11, i32 0, i32 1 %13 = load i32, i32* %0, !range !11 call void @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$12escape_debug17h26d290319ceaa784E"(%"char::EscapeDebug"* noalias nocapture sret dereferenceable(12) %_19, i32 %13) br label %bb9 bb4: ; preds = %bb2 %14 = bitcast %"result::Result<(), fmt::Error>"* %_6 to { i8, %"fmt::Error" }* %15 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %14, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb5 bb5: ; preds = %bb4 %16 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %16, i8* %abi_cast2 %17 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %17, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb6 bb6: ; preds = %bb5 br label %bb8 bb7: ; preds = %bb21, %bb8 %18 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %19 = load i8, i8* %18, align 1 ret i8 %19 bb8: ; preds = %bb20, %bb6 br label %bb7 bb9: ; preds = %bb3 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h0b9fdaee5e7bd994E"(%"char::EscapeDebug"* noalias nocapture sret dereferenceable(12) %_18, %"char::EscapeDebug"* noalias nocapture dereferenceable(12) %_19) br label %bb10 bb10: ; preds = %bb9 %20 = bitcast %"char::EscapeDebug"* %_18 to i8* %21 = bitcast %"char::EscapeDebug"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 12, i32 4, i1 false) br label %bb11 bb11: ; preds = %bb17, %bb10 call void @"_ZN74_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h754c2463954ec198E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %_22, %"char::EscapeDebug"* dereferenceable(12) %iter) br label %bb12 bb12: ; preds = %bb11 %22 = getelementptr inbounds %"option::Option", %"option::Option"* %_22, i32 0, i32 0 %23 = load i32, i32* %22, !range !9 %24 = trunc i32 %23 to i16 switch i16 %24, label %bb14 [ i16 0, label %bb13 ] bb13: ; preds = %bb12 %25 = call i8 @"_ZN71_$LT$core..fmt..Formatter$LT$$u27$a$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17h48686d13cc1bd53eE"(%"fmt::Formatter"* dereferenceable(32) %1, i32 39) store i8 %25, i8* %abi_cast6 %26 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb21 bb14: ; preds = %bb12 %27 = bitcast %"option::Option"* %_22 to { i32, i32 }* %28 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %27, i32 0, i32 1 %29 = load i32, i32* %28, !range !11 %30 = call i8 @"_ZN71_$LT$core..fmt..Formatter$LT$$u27$a$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17h48686d13cc1bd53eE"(%"fmt::Formatter"* dereferenceable(32) %1, i32 %29) store i8 %30, i8* %abi_cast3 %31 = bitcast %"result::Result<(), fmt::Error>"* %_28 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb15 bb15: ; preds = %bb14 %32 = bitcast %"result::Result<(), fmt::Error>"* %_28 to i8* %33 = load i8, i8* %32, align 1 %34 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %33) store i8 %34, i8* %abi_cast4 %35 = bitcast %"result::Result<(), fmt::Error>"* %_27 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %35, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb16 bb16: ; preds = %bb15 %36 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_27, i32 0, i32 0 %37 = load i8, i8* %36, !range !2 %38 = zext i8 %37 to i16 switch i16 %38, label %bb18 [ i16 0, label %bb17 ] bb17: ; preds = %bb16 %39 = bitcast %"result::Result<(), fmt::Error>"* %_27 to { i8, {} }* %40 = getelementptr inbounds { i8, {} }, { i8, {} }* %39, i32 0, i32 1 br label %bb11 bb18: ; preds = %bb16 %41 = bitcast %"result::Result<(), fmt::Error>"* %_27 to { i8, %"fmt::Error" }* %42 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %41, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb19 bb19: ; preds = %bb18 %43 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %43, i8* %abi_cast5 %44 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %44, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb20 bb20: ; preds = %bb19 br label %bb8 bb21: ; preds = %bb13 br label %bb7 } ; Function Attrs: uwtable define i8 @"_ZN43_$LT$char$u20$as$u20$core..fmt..Display$GT$3fmt17h74d11138954d2e61E"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast1 = alloca i8 %abi_cast = alloca i8 %_19 = alloca [4 x i8] %_5 = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 3 %3 = call zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_none17hc5036bfa626c155eE"(%"option::Option"* noalias readonly dereferenceable(4) %2) br label %bb5 bb1: ; preds = %bb6 store i8 1, i8* %_5 br label %bb4 bb2: ; preds = %bb6, %bb5 store i8 0, i8* %_5 br label %bb4 bb3: ; preds = %bb5 %4 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i32 0, i32 4 %5 = call zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_none17hc5036bfa626c155eE"(%"option::Option"* noalias readonly dereferenceable(4) %4) br label %bb6 bb4: ; preds = %bb2, %bb1 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb7, label %bb8 bb5: ; preds = %start br i1 %3, label %bb3, label %bb2 bb6: ; preds = %bb3 br i1 %5, label %bb1, label %bb2 bb7: ; preds = %bb4 %8 = load i32, i32* %0, !range !11 %9 = call i8 @"_ZN71_$LT$core..fmt..Formatter$LT$$u27$a$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17h48686d13cc1bd53eE"(%"fmt::Formatter"* dereferenceable(32) %1, i32 %8) store i8 %9, i8* %abi_cast %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb9 bb8: ; preds = %bb4 %11 = load i32, i32* %0, !range !11 %12 = getelementptr inbounds [4 x i8], [4 x i8]* %_19, i32 0, i32 0 %13 = getelementptr inbounds i8, i8* %12, i16 4 br label %slice_loop_header bb9: ; preds = %bb7 br label %bb12 bb10: ; preds = %slice_loop_next %14 = call i8 @_ZN4core3fmt9Formatter3pad17h83d3487e91faf71cE(%"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly %21, i16 %22) store i8 %14, i8* %abi_cast1 %15 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %abi_cast1, i16 1, i32 1, i1 false) br label %bb11 bb11: ; preds = %bb10 br label %bb12 bb12: ; preds = %bb11, %bb9 %16 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %17 = load i8, i8* %16, align 1 ret i8 %17 slice_loop_body: ; preds = %slice_loop_header %18 = getelementptr inbounds i8, i8* %23, i16 1 store i8 0, i8* %23 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %19 = bitcast [4 x i8]* %_19 to i8* %20 = call %str_slice @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf817heb693f3d57942ff2E"(i32 %11, i8* nonnull %19, i16 4) %21 = extractvalue %str_slice %20, 0 %22 = extractvalue %str_slice %20, 1 br label %bb10 slice_loop_header: ; preds = %slice_loop_body, %bb8 %23 = phi i8* [ %12, %bb8 ], [ %18, %slice_loop_body ] %24 = icmp ne i8* %23, %13 br i1 %24, label %slice_loop_body, label %slice_loop_next } ; Function Attrs: uwtable define internal i8 @"_ZN48_$LT$$u5b$T$u5d$$u20$as$u20$core..fmt..Debug$GT$3fmt17h1a8cf9a301e0170eE"(i32* noalias nonnull readonly, i16, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_10 = alloca %"slice::Iter" %_8 = alloca %"fmt::builders::DebugList" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter10debug_list17h8342b57fb4be9502E(%"fmt::builders::DebugList"* noalias nocapture sret dereferenceable(4) %_8, %"fmt::Formatter"* dereferenceable(32) %2) br label %bb1 bb1: ; preds = %start call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hbcc5d75534aa94bdE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_10, i32* noalias nonnull readonly %0, i16 %1) br label %bb2 bb2: ; preds = %bb1 %3 = call dereferenceable(4) %"fmt::builders::DebugList"* @_ZN4core3fmt8builders9DebugList7entries17hdb783ab0e8b27d3fE(%"fmt::builders::DebugList"* dereferenceable(4) %_8, %"slice::Iter"* noalias nocapture dereferenceable(4) %_10) br label %bb3 bb3: ; preds = %bb2 %4 = call i8 @_ZN4core3fmt8builders9DebugList6finish17h82c2a89744b44748E(%"fmt::builders::DebugList"* dereferenceable(4) %3) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define internal i8 @"_ZN48_$LT$$u5b$T$u5d$$u20$as$u20$core..fmt..Debug$GT$3fmt17he365b22e375f5063E"(i8* noalias nonnull readonly, i16, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_10 = alloca %"slice::Iter" %_8 = alloca %"fmt::builders::DebugList" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter10debug_list17h8342b57fb4be9502E(%"fmt::builders::DebugList"* noalias nocapture sret dereferenceable(4) %_8, %"fmt::Formatter"* dereferenceable(32) %2) br label %bb1 bb1: ; preds = %start call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_10, i8* noalias nonnull readonly %0, i16 %1) br label %bb2 bb2: ; preds = %bb1 %3 = call dereferenceable(4) %"fmt::builders::DebugList"* @_ZN4core3fmt8builders9DebugList7entries17h50e1ffe4e12660b2E(%"fmt::builders::DebugList"* dereferenceable(4) %_8, %"slice::Iter"* noalias nocapture dereferenceable(4) %_10) br label %bb3 bb3: ; preds = %bb2 %4 = call i8 @_ZN4core3fmt8builders9DebugList6finish17h82c2a89744b44748E(%"fmt::builders::DebugList"* dereferenceable(4) %3) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN45_$LT$$LP$$RP$$u20$as$u20$core..fmt..Debug$GT$3fmt17h8a1083466d593d48E"({}* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @_ZN4core3fmt9Formatter3pad17h83d3487e91faf71cE(%"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.8w, i32 0, i32 0), i16 2) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define internal i8 @"_ZN71_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h3b8ca1f1a1f3ff9dE"(%"marker::PhantomData"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @_ZN4core3fmt9Formatter3pad17h83d3487e91faf71cE(%"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.8x, i32 0, i32 0), i16 11) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define internal i8 @"_ZN71_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hc1882bc8b058242eE"(%"marker::PhantomData"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @_ZN4core3fmt9Formatter3pad17h83d3487e91faf71cE(%"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.8x, i32 0, i32 0), i16 11) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define internal zeroext i1 @_ZN4core12char_private5check17h88bb035910ddb774E(i16, { i8, i8 }* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %abi_cast3 = alloca i16 %abi_cast = alloca i16 %arg = alloca %"ops::Range" %_86 = alloca {} %_81 = alloca %"option::Option" %len = alloca i32 %_66 = alloca %"option::Option" %_65 = alloca {} %current = alloca i8 %_62 = alloca %"slice::Iter" %normal = alloca %"iter::Cloned>" %x = alloca i32 %_44 = alloca i8* %iter2 = alloca %"slice::Iter" %_40 = alloca %"ops::Range" %_36 = alloca %"slice::Iter" %_result1 = alloca {} %_31 = alloca {} %_20 = alloca i8* %_19 = alloca {} %iter = alloca %"slice::Iter<(u8, u8)>" %_16 = alloca %"slice::Iter<(u8, u8)>" %_result = alloca {} %lowerstart = alloca i16 %_0 = alloca i8 br label %start start: ; preds = %entry-block %7 = lshr i16 %0, 8 br label %bb1 bb1: ; preds = %start %8 = trunc i16 %7 to i8 store i16 0, i16* %lowerstart call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h80782c742e5a4cb4E"(%"slice::Iter<(u8, u8)>"* noalias nocapture sret dereferenceable(4) %_16, { i8, i8 }* noalias nonnull readonly %1, i16 %2) br label %bb2 bb2: ; preds = %bb1 %9 = bitcast %"slice::Iter<(u8, u8)>"* %_16 to i8* %10 = bitcast %"slice::Iter<(u8, u8)>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 4, i32 2, i1 false) br label %bb3 bb3: ; preds = %bb22, %bb2 %11 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h967ead58429e5968E"(%"slice::Iter<(u8, u8)>"* dereferenceable(4) %iter) store i8* %11, i8** %_20 br label %bb4 bb4: ; preds = %bb3 %12 = load i8*, i8** %_20 %13 = icmp ne i8* %12, null %14 = zext i1 %13 to i16 switch i16 %14, label %bb6 [ i16 0, label %bb5 ] bb5: ; preds = %bb4 br label %bb21 bb6: ; preds = %bb4 %15 = bitcast i8** %_20 to { i8, i8 }** %16 = load { i8, i8 }*, { i8, i8 }** %15, !nonnull !1 %17 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %16, i32 0, i32 0 %18 = load i8, i8* %17 %19 = bitcast i8** %_20 to { i8, i8 }** %20 = load { i8, i8 }*, { i8, i8 }** %19, !nonnull !1 %21 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %20, i32 0, i32 1 %22 = load i8, i8* %21 %23 = load i16, i16* %lowerstart %24 = zext i8 %22 to i16 %25 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %23, i16 %24) %26 = extractvalue { i16, i1 } %25, 0 %27 = extractvalue { i16, i1 } %25, 1 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic, label %bb7 bb7: ; preds = %bb6 %29 = icmp eq i8 %8, %18 br i1 %29, label %bb8, label %bb9 bb8: ; preds = %bb7 %30 = load i16, i16* %lowerstart %31 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_40, i32 0, i32 0 store i16 %30, i16* %31 %32 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_40, i32 0, i32 1 store i16 %26, i16* %32 %33 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_40, i32 0, i32 0 %34 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_40, i32 0, i32 1 %35 = load i16, i16* %33 %36 = load i16, i16* %34 %37 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %35, i16* %37 %38 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %36, i16* %38 %39 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h37794ea25cf39a04E"(i8* noalias nonnull readonly %3, i16 %4, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) %40 = extractvalue { i8*, i16 } %39, 0 %41 = extractvalue { i8*, i16 } %39, 1 br label %bb10 bb9: ; preds = %bb7 %42 = icmp ult i8 %8, %18 br i1 %42, label %bb19, label %bb20 bb10: ; preds = %bb8 call void @"_ZN4core5slice89_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$$u5b$T$u5d$$GT$9into_iter17h92204a869d3cf571E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_36, i8* noalias nonnull readonly %40, i16 %41) br label %bb11 bb11: ; preds = %bb10 %43 = bitcast %"slice::Iter"* %_36 to i8* %44 = bitcast %"slice::Iter"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %44, i8* %43, i16 4, i32 2, i1 false) br label %bb12 bb12: ; preds = %bb17, %bb11 %45 = call i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4) %iter2) store i8* %45, i8** %_44 br label %bb13 bb13: ; preds = %bb12 %46 = load i8*, i8** %_44 %47 = icmp ne i8* %46, null %48 = zext i1 %47 to i16 switch i16 %48, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 br label %bb22 bb15: ; preds = %bb13 %49 = load i8*, i8** %_44, !nonnull !1 %50 = load i8, i8* %49 %51 = trunc i16 %0 to i8 %52 = icmp eq i8 %50, %51 br i1 %52, label %bb16, label %bb17 bb16: ; preds = %bb15 store i8 0, i8* %_0 br label %bb18 bb17: ; preds = %bb15 br label %bb12 bb18: ; preds = %bb38, %bb16 %53 = load i8, i8* %_0, !range !2 %54 = trunc i8 %53 to i1 ret i1 %54 bb19: ; preds = %bb9 br label %bb21 bb20: ; preds = %bb9 br label %bb22 bb21: ; preds = %bb5, %bb19 %55 = zext i16 %0 to i32 store i32 %55, i32* %x call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_62, i8* noalias nonnull readonly %5, i16 %6) br label %bb23 bb22: ; preds = %bb20, %bb14 store i16 %26, i16* %lowerstart br label %bb3 bb23: ; preds = %bb21 call void @_ZN4core4iter8iterator8Iterator6cloned17hbfcfb70ddf60e5fcE(%"iter::Cloned>"* noalias nocapture sret dereferenceable(4) %normal, %"slice::Iter"* noalias nocapture dereferenceable(4) %_62) br label %bb24 bb24: ; preds = %bb23 store i8 1, i8* %current br label %bb25 bb25: ; preds = %bb37, %bb24 %56 = call i16 @"_ZN78_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17heda5e279999beb4cE"(%"iter::Cloned>"* dereferenceable(4) %normal) store i16 %56, i16* %abi_cast %57 = bitcast %"option::Option"* %_66 to i8* %58 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %57, i8* %58, i16 2, i32 1, i1 false) br label %bb26 bb26: ; preds = %bb25 %59 = getelementptr inbounds %"option::Option", %"option::Option"* %_66, i32 0, i32 0 %60 = load i8, i8* %59, !range !2 %61 = zext i8 %60 to i16 switch i16 %61, label %bb27 [ i16 1, label %bb28 ] bb27: ; preds = %bb26 br label %bb38 bb28: ; preds = %bb26 %62 = bitcast %"option::Option"* %_66 to { i8, i8 }* %63 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %62, i32 0, i32 1 %64 = load i8, i8* %63 %65 = and i8 %64, -128 %66 = icmp ne i8 %65, 0 br i1 %66, label %bb29, label %bb30 bb29: ; preds = %bb28 %67 = and i8 %64, 127 %68 = zext i8 %67 to i32 %69 = shl i32 %68, 8 br label %bb31 bb30: ; preds = %bb28 %70 = zext i8 %64 to i32 store i32 %70, i32* %len br label %bb34 bb31: ; preds = %bb29 %71 = call i16 @"_ZN78_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17heda5e279999beb4cE"(%"iter::Cloned>"* dereferenceable(4) %normal) store i16 %71, i16* %abi_cast3 %72 = bitcast %"option::Option"* %_81 to i8* %73 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %72, i8* %73, i16 2, i32 1, i1 false) br label %bb32 bb32: ; preds = %bb31 %74 = bitcast %"option::Option"* %_81 to i16* %75 = load i16, i16* %74, align 1 %76 = call i8 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h7d09dd2549701e51E"(i16 %75) br label %bb33 bb33: ; preds = %bb32 %77 = zext i8 %76 to i32 %78 = or i32 %69, %77 store i32 %78, i32* %len br label %bb34 bb34: ; preds = %bb30, %bb33 %79 = load i32, i32* %len %80 = load i32, i32* %x %81 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %80, i32 %79) %82 = extractvalue { i32, i1 } %81, 0 %83 = extractvalue { i32, i1 } %81, 1 %84 = call i1 @llvm.expect.i1(i1 %83, i1 false) br i1 %84, label %panic4, label %bb35 bb35: ; preds = %bb34 store i32 %82, i32* %x %85 = load i32, i32* %x %86 = icmp slt i32 %85, 0 br i1 %86, label %bb36, label %bb37 bb36: ; preds = %bb35 br label %bb38 bb37: ; preds = %bb35 %87 = load i8, i8* %current, !range !2 %88 = trunc i8 %87 to i1 %89 = xor i1 %88, true %90 = zext i1 %89 to i8 store i8 %90, i8* %current br label %bb25 bb38: ; preds = %bb36, %bb27 %91 = load i8, i8* %current, !range !2 %92 = trunc i8 %91 to i1 %93 = zext i1 %92 to i8 store i8 %93, i8* %_0 br label %bb18 panic: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8z) unreachable panic4: ; preds = %bb34 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.8A) unreachable } ; Function Attrs: uwtable define zeroext i1 @_ZN4core12char_private12is_printable17hbcecc1ade5de5f82E(i32) unnamed_addr #1 { entry-block: %_56 = alloca i8 %_55 = alloca {} %_50 = alloca i8 %_49 = alloca {} %_44 = alloca i8 %_43 = alloca {} %_38 = alloca i8 %_37 = alloca {} %_32 = alloca i8 %_31 = alloca {} %_26 = alloca i8 %_25 = alloca {} %_0 = alloca i8 br label %start start: ; preds = %entry-block %1 = trunc i32 %0 to i16 %2 = icmp ult i32 %0, 65536 br i1 %2, label %bb1, label %bb2 bb1: ; preds = %start %3 = call zeroext i1 @_ZN4core12char_private5check17h88bb035910ddb774E(i16 %1, { i8, i8 }* noalias nonnull readonly getelementptr inbounds ([42 x { i8, i8 }], [42 x { i8, i8 }]* @ref.8B, i32 0, i32 0), i16 42, i8* noalias nonnull readonly getelementptr inbounds ([303 x i8], [303 x i8]* @ref.8C, i32 0, i32 0), i16 303, i8* noalias nonnull readonly getelementptr inbounds ([333 x i8], [333 x i8]* @ref.8D, i32 0, i32 0), i16 333) %4 = zext i1 %3 to i8 store i8 %4, i8* %_0 br label %bb3 bb2: ; preds = %start %5 = icmp ult i32 %0, 131072 br i1 %5, label %bb4, label %bb5 bb3: ; preds = %bb1 br label %bb46 bb4: ; preds = %bb2 %6 = call zeroext i1 @_ZN4core12char_private5check17h88bb035910ddb774E(i16 %1, { i8, i8 }* noalias nonnull readonly getelementptr inbounds ([31 x { i8, i8 }], [31 x { i8, i8 }]* @ref.8E, i32 0, i32 0), i16 31, i8* noalias nonnull readonly getelementptr inbounds ([146 x i8], [146 x i8]* @ref.8F, i32 0, i32 0), i16 146, i8* noalias nonnull readonly getelementptr inbounds ([342 x i8], [342 x i8]* @ref.8G, i32 0, i32 0), i16 342) %7 = zext i1 %6 to i8 store i8 %7, i8* %_0 br label %bb6 bb5: ; preds = %bb2 %8 = icmp ule i32 173783, %0 br i1 %8, label %bb9, label %bb8 bb6: ; preds = %bb4 br label %bb45 bb7: ; preds = %bb9 store i8 1, i8* %_26 br label %bb10 bb8: ; preds = %bb9, %bb5 store i8 0, i8* %_26 br label %bb10 bb9: ; preds = %bb5 %9 = icmp ult i32 %0, 173824 br i1 %9, label %bb7, label %bb8 bb10: ; preds = %bb8, %bb7 %10 = load i8, i8* %_26, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb11, label %bb12 bb11: ; preds = %bb10 store i8 0, i8* %_0 br label %bb14 bb12: ; preds = %bb10 %12 = icmp ule i32 177973, %0 br i1 %12, label %bb17, label %bb16 bb13: ; preds = %bb46, %bb14 %13 = load i8, i8* %_0, !range !2 %14 = trunc i8 %13 to i1 ret i1 %14 bb14: ; preds = %bb43, %bb37, %bb31, %bb25, %bb19, %bb11 br label %bb13 bb15: ; preds = %bb17 store i8 1, i8* %_32 br label %bb18 bb16: ; preds = %bb17, %bb12 store i8 0, i8* %_32 br label %bb18 bb17: ; preds = %bb12 %15 = icmp ult i32 %0, 177984 br i1 %15, label %bb15, label %bb16 bb18: ; preds = %bb16, %bb15 %16 = load i8, i8* %_32, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb19, label %bb20 bb19: ; preds = %bb18 store i8 0, i8* %_0 br label %bb14 bb20: ; preds = %bb18 %18 = icmp ule i32 178206, %0 br i1 %18, label %bb23, label %bb22 bb21: ; preds = %bb23 store i8 1, i8* %_38 br label %bb24 bb22: ; preds = %bb23, %bb20 store i8 0, i8* %_38 br label %bb24 bb23: ; preds = %bb20 %19 = icmp ult i32 %0, 178208 br i1 %19, label %bb21, label %bb22 bb24: ; preds = %bb22, %bb21 %20 = load i8, i8* %_38, !range !2 %21 = trunc i8 %20 to i1 br i1 %21, label %bb25, label %bb26 bb25: ; preds = %bb24 store i8 0, i8* %_0 br label %bb14 bb26: ; preds = %bb24 %22 = icmp ule i32 183970, %0 br i1 %22, label %bb29, label %bb28 bb27: ; preds = %bb29 store i8 1, i8* %_44 br label %bb30 bb28: ; preds = %bb29, %bb26 store i8 0, i8* %_44 br label %bb30 bb29: ; preds = %bb26 %23 = icmp ult i32 %0, 194560 br i1 %23, label %bb27, label %bb28 bb30: ; preds = %bb28, %bb27 %24 = load i8, i8* %_44, !range !2 %25 = trunc i8 %24 to i1 br i1 %25, label %bb31, label %bb32 bb31: ; preds = %bb30 store i8 0, i8* %_0 br label %bb14 bb32: ; preds = %bb30 %26 = icmp ule i32 195102, %0 br i1 %26, label %bb35, label %bb34 bb33: ; preds = %bb35 store i8 1, i8* %_50 br label %bb36 bb34: ; preds = %bb35, %bb32 store i8 0, i8* %_50 br label %bb36 bb35: ; preds = %bb32 %27 = icmp ult i32 %0, 917760 br i1 %27, label %bb33, label %bb34 bb36: ; preds = %bb34, %bb33 %28 = load i8, i8* %_50, !range !2 %29 = trunc i8 %28 to i1 br i1 %29, label %bb37, label %bb38 bb37: ; preds = %bb36 store i8 0, i8* %_0 br label %bb14 bb38: ; preds = %bb36 %30 = icmp ule i32 918000, %0 br i1 %30, label %bb41, label %bb40 bb39: ; preds = %bb41 store i8 1, i8* %_56 br label %bb42 bb40: ; preds = %bb41, %bb38 store i8 0, i8* %_56 br label %bb42 bb41: ; preds = %bb38 %31 = icmp ult i32 %0, 1114112 br i1 %31, label %bb39, label %bb40 bb42: ; preds = %bb40, %bb39 %32 = load i8, i8* %_56, !range !2 %33 = trunc i8 %32 to i1 br i1 %33, label %bb43, label %bb44 bb43: ; preds = %bb42 store i8 0, i8* %_0 br label %bb14 bb44: ; preds = %bb42 store i8 1, i8* %_0 br label %bb45 bb45: ; preds = %bb44, %bb6 br label %bb46 bb46: ; preds = %bb45, %bb3 br label %bb13 } ; Function Attrs: uwtable define i8 @"_ZN73_$LT$core..num..flt2dec..decoder..Decoded$u20$as$u20$core..fmt..Debug$GT$3fmt17he90cf2b3b49188bdE"(%"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_53 = alloca i8* %_45 = alloca i16* %_37 = alloca i64* %_29 = alloca i64* %_21 = alloca i64* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %0, i32 0, i32 1 %4 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %0, i32 0, i32 2 %5 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %0, i32 0, i32 3 %6 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %0, i32 0, i32 4 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.8H, i32 0, i32 0), i16 7) br label %bb1 bb1: ; preds = %start store i64* %2, i64** %_21 %7 = bitcast i64** %_21 to i8* %8 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.8I, i32 0, i32 0), i16 4, i8* nonnull %7, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store i64* %3, i64** %_29 %9 = bitcast i64** %_29 to i8* %10 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.8K, i32 0, i32 0), i16 5, i8* nonnull %9, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 store i64* %4, i64** %_37 %11 = bitcast i64** %_37 to i8* %12 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.8L, i32 0, i32 0), i16 4, i8* nonnull %11, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb4 bb4: ; preds = %bb3 store i16* %5, i16** %_45 %13 = bitcast i16** %_45 to i8* %14 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.8M, i32 0, i32 0), i16 3, i8* nonnull %13, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.8N to void (i8*)**)) br label %bb5 bb5: ; preds = %bb4 store i8* %6, i8** %_53 %15 = bitcast i8** %_53 to i8* %16 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([9 x i8], [9 x i8]* @str.8O, i32 0, i32 0), i16 9, i8* nonnull %15, void (i8*)** noalias nonnull readonly bitcast ({ void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* }* @vtable.8P to void (i8*)**)) br label %bb6 bb6: ; preds = %bb5 %17 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %17, i8* %abi_cast %18 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 %19 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %20 = load i8, i8* %19, align 1 ret i8 %20 } ; Function Attrs: uwtable define i8 @"_ZN77_$LT$core..num..flt2dec..decoder..FullDecoded$u20$as$u20$core..fmt..Debug$GT$3fmt17h51bdae850997559aE"(%"num::flt2dec::decoder::FullDecoded"* noalias readonly dereferenceable(40), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast = alloca i8 %_33 = alloca %"num::flt2dec::decoder::Decoded"* %builder3 = alloca %"fmt::builders::DebugTuple" %builder2 = alloca %"fmt::builders::DebugTuple" %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { %"num::flt2dec::decoder::FullDecoded"* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { %"num::flt2dec::decoder::FullDecoded"* }, { %"num::flt2dec::decoder::FullDecoded"* }* %_5, i32 0, i32 0 store %"num::flt2dec::decoder::FullDecoded"* %0, %"num::flt2dec::decoder::FullDecoded"** %2 %3 = getelementptr inbounds { %"num::flt2dec::decoder::FullDecoded"* }, { %"num::flt2dec::decoder::FullDecoded"* }* %_5, i32 0, i32 0 %4 = load %"num::flt2dec::decoder::FullDecoded"*, %"num::flt2dec::decoder::FullDecoded"** %3, !nonnull !1 %5 = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %4, i32 0, i32 0 %6 = load i64, i64* %5, !range !5 %7 = trunc i64 %6 to i16 switch i16 %7, label %bb4 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.8U, i32 0, i32 0), i16 3) br label %bb6 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.8T, i32 0, i32 0), i16 8) br label %bb8 bb3: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.8S, i32 0, i32 0), i16 4) br label %bb10 bb4: ; preds = %start %8 = getelementptr inbounds { %"num::flt2dec::decoder::FullDecoded"* }, { %"num::flt2dec::decoder::FullDecoded"* }* %_5, i32 0, i32 0 %9 = load %"num::flt2dec::decoder::FullDecoded"*, %"num::flt2dec::decoder::FullDecoded"** %8, !nonnull !1 %10 = bitcast %"num::flt2dec::decoder::FullDecoded"* %9 to { i64, %"num::flt2dec::decoder::Decoded" }* %11 = getelementptr inbounds { i64, %"num::flt2dec::decoder::Decoded" }, { i64, %"num::flt2dec::decoder::Decoded" }* %10, i32 0, i32 1 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder3, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.8Q, i32 0, i32 0), i16 6) br label %bb12 bb5: ; preds = %bb7, %bb9, %bb11, %bb14 %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %13 = load i8, i8* %12, align 1 ret i8 %13 bb6: ; preds = %bb1 %14 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %14, i8* %abi_cast6 %15 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 br label %bb5 bb8: ; preds = %bb2 %16 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %16, i8* %abi_cast5 %17 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %17, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 br label %bb5 bb10: ; preds = %bb3 %18 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %18, i8* %abi_cast4 %19 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb11 bb11: ; preds = %bb10 br label %bb5 bb12: ; preds = %bb4 store %"num::flt2dec::decoder::Decoded"* %11, %"num::flt2dec::decoder::Decoded"** %_33 %20 = bitcast %"num::flt2dec::decoder::Decoded"** %_33 to i8* %21 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder3, i8* nonnull %20, void (i8*)** noalias nonnull readonly bitcast ({ void (%"num::flt2dec::decoder::Decoded"**)*, i16, i16, i8 (%"num::flt2dec::decoder::Decoded"**, %"fmt::Formatter"*)* }* @vtable.8R to void (i8*)**)) br label %bb13 bb13: ; preds = %bb12 %22 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder3) store i8 %22, i8* %abi_cast %23 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %23, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb14 bb14: ; preds = %bb13 br label %bb5 } ; Function Attrs: uwtable define i8 @"_ZN75_$LT$core..num..flt2dec..Part$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h275e1b3c70011cc9E"(%"num::flt2dec::Part"* noalias readonly dereferenceable(6), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast = alloca i8 %_42 = alloca { i8*, i16 }* %builder2 = alloca %"fmt::builders::DebugTuple" %_31 = alloca i16* %builder1 = alloca %"fmt::builders::DebugTuple" %_20 = alloca i16* %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { %"num::flt2dec::Part"* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { %"num::flt2dec::Part"* }, { %"num::flt2dec::Part"* }* %_5, i32 0, i32 0 store %"num::flt2dec::Part"* %0, %"num::flt2dec::Part"** %2 %3 = getelementptr inbounds { %"num::flt2dec::Part"* }, { %"num::flt2dec::Part"* }* %_5, i32 0, i32 0 %4 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %3, !nonnull !1 %5 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i32 0, i32 0 %6 = load i16, i16* %5, !range !4 switch i16 %6, label %bb3 [ i16 0, label %bb1 i16 1, label %bb2 ] bb1: ; preds = %start %7 = getelementptr inbounds { %"num::flt2dec::Part"* }, { %"num::flt2dec::Part"* }* %_5, i32 0, i32 0 %8 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %7, !nonnull !1 %9 = bitcast %"num::flt2dec::Part"* %8 to { i16, i16 }* %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %9, i32 0, i32 1 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.8S, i32 0, i32 0), i16 4) br label %bb5 bb2: ; preds = %start %11 = getelementptr inbounds { %"num::flt2dec::Part"* }, { %"num::flt2dec::Part"* }* %_5, i32 0, i32 0 %12 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %11, !nonnull !1 %13 = bitcast %"num::flt2dec::Part"* %12 to { i16, i16 }* %14 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %13, i32 0, i32 1 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.9k, i32 0, i32 0), i16 3) br label %bb8 bb3: ; preds = %start %15 = getelementptr inbounds { %"num::flt2dec::Part"* }, { %"num::flt2dec::Part"* }* %_5, i32 0, i32 0 %16 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %15, !nonnull !1 %17 = bitcast %"num::flt2dec::Part"* %16 to { i16, { i8*, i16 } }* %18 = getelementptr inbounds { i16, { i8*, i16 } }, { i16, { i8*, i16 } }* %17, i32 0, i32 1 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.9i, i32 0, i32 0), i16 4) br label %bb11 bb4: ; preds = %bb7, %bb10, %bb13 %19 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %20 = load i8, i8* %19, align 1 ret i8 %20 bb5: ; preds = %bb1 store i16* %10, i16** %_20 %21 = bitcast i16** %_20 to i8* %22 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %21, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb6 bb6: ; preds = %bb5 %23 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %23, i8* %abi_cast4 %24 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 br label %bb4 bb8: ; preds = %bb2 store i16* %14, i16** %_31 %25 = bitcast i16** %_31 to i8* %26 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1, i8* nonnull %25, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9l to void (i8*)**)) br label %bb9 bb9: ; preds = %bb8 %27 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %27, i8* %abi_cast3 %28 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 br label %bb4 bb11: ; preds = %bb3 store { i8*, i16 }* %18, { i8*, i16 }** %_42 %29 = bitcast { i8*, i16 }** %_42 to i8* %30 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2, i8* nonnull %29, void (i8*)** noalias nonnull readonly bitcast ({ void ({ i8*, i16 }**)*, i16, i16, i8 ({ i8*, i16 }**, %"fmt::Formatter"*)* }* @vtable.9j to void (i8*)**)) br label %bb12 bb12: ; preds = %bb11 %31 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %31, i8* %abi_cast %32 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %32, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb13 bb13: ; preds = %bb12 br label %bb4 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN82_$LT$core..num..flt2dec..Formatted$LT$$u27$a$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h9e4f3cc168f6ca14E"(%"num::flt2dec::Formatted"* noalias nocapture sret dereferenceable(8), %"num::flt2dec::Formatted"* noalias readonly dereferenceable(8)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i32 0, i32 0 %3 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i32 0, i32 1 %4 = call { i8*, i16 } @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..clone..Clone$GT$5clone17hf318fed4706f90ddE"({ i8*, i16 }* noalias readonly dereferenceable(4) %2) %5 = extractvalue { i8*, i16 } %4, 0 %6 = extractvalue { i8*, i16 } %4, 1 br label %bb1 bb1: ; preds = %start %7 = call { %"num::flt2dec::Part"*, i16 } @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..clone..Clone$GT$5clone17h0779111f5a29dc15E"({ %"num::flt2dec::Part"*, i16 }* noalias readonly dereferenceable(4) %3) %8 = extractvalue { %"num::flt2dec::Part"*, i16 } %7, 0 %9 = extractvalue { %"num::flt2dec::Part"*, i16 } %7, 1 br label %bb2 bb2: ; preds = %bb1 %10 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 0 %11 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %10, i32 0, i32 0 store i8* %5, i8** %11 %12 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %10, i32 0, i32 1 store i16 %6, i16* %12 %13 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i32 0, i32 1 %14 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %13, i32 0, i32 0 store %"num::flt2dec::Part"* %8, %"num::flt2dec::Part"** %14 %15 = getelementptr inbounds { %"num::flt2dec::Part"*, i16 }, { %"num::flt2dec::Part"*, i16 }* %13, i32 0, i32 1 store i16 %9, i16* %15 ret void } ; Function Attrs: uwtable define i8 @"_ZN61_$LT$core..num..flt2dec..Sign$u20$as$u20$core..fmt..Debug$GT$3fmt17h4d06d3a4da8a9290E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast = alloca i8 %builder3 = alloca %"fmt::builders::DebugTuple" %builder2 = alloca %"fmt::builders::DebugTuple" %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { i8* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = load i8, i8* %4, !range !6 %6 = zext i8 %5 to i16 switch i16 %6, label %bb4 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.9t, i32 0, i32 0), i16 5) br label %bb6 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.9s, i32 0, i32 0), i16 8) br label %bb8 bb3: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([9 x i8], [9 x i8]* @str.9r, i32 0, i32 0), i16 9) br label %bb10 bb4: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder3, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([12 x i8], [12 x i8]* @str.9q, i32 0, i32 0), i16 12) br label %bb12 bb5: ; preds = %bb7, %bb9, %bb11, %bb13 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 bb6: ; preds = %bb1 %9 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %9, i8* %abi_cast6 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 br label %bb5 bb8: ; preds = %bb2 %11 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %11, i8* %abi_cast5 %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 br label %bb5 bb10: ; preds = %bb3 %13 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %13, i8* %abi_cast4 %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb11 bb11: ; preds = %bb10 br label %bb5 bb12: ; preds = %bb4 %15 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder3) store i8 %15, i8* %abi_cast %16 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb13 bb13: ; preds = %bb12 br label %bb5 } ; Function Attrs: uwtable define i8 @"_ZN72_$LT$core..num..dec2flt..rawfp..Unpacked$u20$as$u20$core..fmt..Debug$GT$3fmt17hfbeb344bd4dac554E"(%"num::dec2flt::rawfp::Unpacked"* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_26 = alloca i16* %_18 = alloca i64* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i32 0, i32 1 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.9C, i32 0, i32 0), i16 8) br label %bb1 bb1: ; preds = %start store i64* %2, i64** %_18 %4 = bitcast i64** %_18 to i8* %5 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.9D, i32 0, i32 0), i16 3, i8* nonnull %4, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store i16* %3, i16** %_26 %6 = bitcast i16** %_26 to i8* %7 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.9E, i32 0, i32 0), i16 1, i8* nonnull %6, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.8N to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 %8 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %8, i8* %abi_cast %9 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %11 = load i8, i8* %10, align 1 ret i8 %11 } ; Function Attrs: uwtable define i8 @"_ZN68_$LT$core..num..dec2flt..parse..Sign$u20$as$u20$core..fmt..Debug$GT$3fmt17h90f35d84911a13bcE"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast2 = alloca i8 %abi_cast = alloca i8 %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { i8* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = load i8, i8* %4, !range !2 %6 = zext i8 %5 to i16 switch i16 %6, label %bb2 [ i16 0, label %bb1 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.9X, i32 0, i32 0), i16 8) br label %bb4 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.9W, i32 0, i32 0), i16 8) br label %bb6 bb3: ; preds = %bb5, %bb7 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 bb4: ; preds = %bb1 %9 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %9, i8* %abi_cast2 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb5 bb5: ; preds = %bb4 br label %bb3 bb6: ; preds = %bb2 %11 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %11, i8* %abi_cast %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 br label %bb3 } ; Function Attrs: uwtable define i8 @"_ZN85_$LT$core..num..dec2flt..parse..Decimal$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h7456c7adc599ae85E"(%"num::dec2flt::parse::Decimal"* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_35 = alloca i64* %_27 = alloca { i8*, i16 }* %_19 = alloca { i8*, i16 }* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 1 %4 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i32 0, i32 2 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.9Y, i32 0, i32 0), i16 7) br label %bb1 bb1: ; preds = %start store { i8*, i16 }* %2, { i8*, i16 }** %_19 %5 = bitcast { i8*, i16 }** %_19 to i8* %6 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.9Z, i32 0, i32 0), i16 8, i8* nonnull %5, void (i8*)** noalias nonnull readonly bitcast ({ void ({ i8*, i16 }**)*, i16, i16, i8 ({ i8*, i16 }**, %"fmt::Formatter"*)* }* @vtable.9j to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store { i8*, i16 }* %3, { i8*, i16 }** %_27 %7 = bitcast { i8*, i16 }** %_27 to i8* %8 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([10 x i8], [10 x i8]* @str.a0, i32 0, i32 0), i16 10, i8* nonnull %7, void (i8*)** noalias nonnull readonly bitcast ({ void ({ i8*, i16 }**)*, i16, i16, i8 ({ i8*, i16 }**, %"fmt::Formatter"*)* }* @vtable.9j to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 store i64* %4, i64** %_35 %9 = bitcast i64** %_35 to i8* %10 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.8M, i32 0, i32 0), i16 3, i8* nonnull %9, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.a1 to void (i8*)**)) br label %bb4 bb4: ; preds = %bb3 %11 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %11, i8* %abi_cast %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb5 bb5: ; preds = %bb4 %13 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %14 = load i8, i8* %13, align 1 ret i8 %14 } ; Function Attrs: uwtable define i8 @"_ZN89_$LT$core..num..dec2flt..parse..ParseResult$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h2eab79bf941202d7E"(%"num::dec2flt::parse::ParseResult"* noalias readonly dereferenceable(24), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast = alloca i8 %builder3 = alloca %"fmt::builders::DebugTuple" %builder2 = alloca %"fmt::builders::DebugTuple" %builder1 = alloca %"fmt::builders::DebugTuple" %_18 = alloca %"num::dec2flt::parse::Decimal"* %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { %"num::dec2flt::parse::ParseResult"* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { %"num::dec2flt::parse::ParseResult"* }, { %"num::dec2flt::parse::ParseResult"* }* %_5, i32 0, i32 0 store %"num::dec2flt::parse::ParseResult"* %0, %"num::dec2flt::parse::ParseResult"** %2 %3 = getelementptr inbounds { %"num::dec2flt::parse::ParseResult"* }, { %"num::dec2flt::parse::ParseResult"* }* %_5, i32 0, i32 0 %4 = load %"num::dec2flt::parse::ParseResult"*, %"num::dec2flt::parse::ParseResult"** %3, !nonnull !1 %5 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %4, i32 0, i32 0 %6 = load i64, i64* %5, !range !5 %7 = trunc i64 %6 to i16 switch i16 %7, label %bb3 [ i16 0, label %bb4 i16 1, label %bb1 i16 2, label %bb2 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([13 x i8], [13 x i8]* @str.a4, i32 0, i32 0), i16 13) br label %bb9 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([14 x i8], [14 x i8]* @str.a3, i32 0, i32 0), i16 14) br label %bb11 bb3: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder3, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.a2, i32 0, i32 0), i16 7) br label %bb13 bb4: ; preds = %start %8 = getelementptr inbounds { %"num::dec2flt::parse::ParseResult"* }, { %"num::dec2flt::parse::ParseResult"* }* %_5, i32 0, i32 0 %9 = load %"num::dec2flt::parse::ParseResult"*, %"num::dec2flt::parse::ParseResult"** %8, !nonnull !1 %10 = bitcast %"num::dec2flt::parse::ParseResult"* %9 to { i64, %"num::dec2flt::parse::Decimal" }* %11 = getelementptr inbounds { i64, %"num::dec2flt::parse::Decimal" }, { i64, %"num::dec2flt::parse::Decimal" }* %10, i32 0, i32 1 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.a5, i32 0, i32 0), i16 5) br label %bb6 bb5: ; preds = %bb8, %bb10, %bb12, %bb14 %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %13 = load i8, i8* %12, align 1 ret i8 %13 bb6: ; preds = %bb4 store %"num::dec2flt::parse::Decimal"* %11, %"num::dec2flt::parse::Decimal"** %_18 %14 = bitcast %"num::dec2flt::parse::Decimal"** %_18 to i8* %15 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %14, void (i8*)** noalias nonnull readonly bitcast ({ void (%"num::dec2flt::parse::Decimal"**)*, i16, i16, i8 (%"num::dec2flt::parse::Decimal"**, %"fmt::Formatter"*)* }* @vtable.a6 to void (i8*)**)) br label %bb7 bb7: ; preds = %bb6 %16 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %16, i8* %abi_cast6 %17 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %17, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb8 bb8: ; preds = %bb7 br label %bb5 bb9: ; preds = %bb1 %18 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %18, i8* %abi_cast5 %19 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 br label %bb5 bb11: ; preds = %bb2 %20 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %20, i8* %abi_cast4 %21 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb12 bb12: ; preds = %bb11 br label %bb5 bb13: ; preds = %bb3 %22 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder3) store i8 %22, i8* %abi_cast %23 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %23, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb14 bb14: ; preds = %bb13 br label %bb5 } ; Function Attrs: uwtable define i8 @"_ZN72_$LT$core..num..dec2flt..ParseFloatError$u20$as$u20$core..fmt..Debug$GT$3fmt17h3c5e0887e3c76d76E"(%"num::dec2flt::ParseFloatError"* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca i8* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::dec2flt::ParseFloatError", %"num::dec2flt::ParseFloatError"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([15 x i8], [15 x i8]* @str.a7, i32 0, i32 0), i16 15) br label %bb1 bb1: ; preds = %start store i8* %2, i8** %_17 %3 = bitcast i8** %_17 to i8* %4 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.a8, i32 0, i32 0), i16 4, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* }* @vtable.a9 to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @"_ZN71_$LT$core..num..dec2flt..FloatErrorKind$u20$as$u20$core..fmt..Debug$GT$3fmt17h1bb487da84b5a2caE"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast2 = alloca i8 %abi_cast = alloca i8 %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { i8* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = load i8, i8* %4, !range !2 %6 = zext i8 %5 to i16 switch i16 %6, label %bb2 [ i16 0, label %bb1 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.aa, i32 0, i32 0), i16 5) br label %bb4 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.a2, i32 0, i32 0), i16 7) br label %bb6 bb3: ; preds = %bb5, %bb7 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 bb4: ; preds = %bb1 %9 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %9, i8* %abi_cast2 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb5 bb5: ; preds = %bb4 br label %bb3 bb6: ; preds = %bb2 %11 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %11, i8* %abi_cast %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 br label %bb3 } ; Function Attrs: uwtable define i16 @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$8full_add17h2fab868f97fbc245E"(i8, i8, i1 zeroext) unnamed_addr #1 { entry-block: %tmp_ret1 = alloca { i8, i8 } %tmp_ret = alloca { i8, i8 } %_18 = alloca i8 %_16 = alloca i8 %_0 = alloca { i8, i8 } br label %start start: ; preds = %entry-block %3 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %0, i8 %1) %4 = extractvalue { i8, i1 } %3, 0 %5 = extractvalue { i8, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 store i8 %4, i8* %7 %8 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i8, i8* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 store i8 1, i8* %_16 br label %bb4 bb3: ; preds = %bb1 store i8 0, i8* %_16 br label %bb4 bb4: ; preds = %bb3, %bb2 %14 = load i8, i8* %_16 %15 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %11, i8 %14) %16 = extractvalue { i8, i1 } %15, 0 %17 = extractvalue { i8, i1 } %15, 1 %18 = zext i1 %17 to i8 %19 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret1, i32 0, i32 0 store i8 %16, i8* %19 %20 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret1, i32 0, i32 1 store i8 %18, i8* %20 %21 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret1, i32 0, i32 0 %22 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret1, i32 0, i32 1 %23 = load i8, i8* %21 %24 = load i8, i8* %22, !range !2 %25 = trunc i8 %24 to i1 br label %bb5 bb5: ; preds = %bb4 br i1 %13, label %bb6, label %bb8 bb6: ; preds = %bb8, %bb5 store i8 1, i8* %_18 br label %bb9 bb7: ; preds = %bb8 store i8 0, i8* %_18 br label %bb9 bb8: ; preds = %bb5 br i1 %25, label %bb6, label %bb7 bb9: ; preds = %bb7, %bb6 %26 = load i8, i8* %_18, !range !2 %27 = trunc i8 %26 to i1 %28 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 0 %29 = zext i1 %27 to i8 store i8 %29, i8* %28 %30 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 1 store i8 %23, i8* %30 %31 = bitcast { i8, i8 }* %_0 to i16* %32 = load i16, i16* %31, align 1 ret i16 %32 } ; Function Attrs: uwtable define i16 @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$8full_mul17h98bf90392e985cb6E"(i8, i8, i8) unnamed_addr #1 { entry-block: %_0 = alloca { i8, i8 } br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %4 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %3, i16 8) %5 = extractvalue { i16, i1 } %4, 0 %6 = extractvalue { i16, i1 } %4, 1 %7 = call i1 @llvm.expect.i1(i1 %6, i1 false) br i1 %7, label %panic, label %bb2 bb2: ; preds = %bb1 %8 = zext i8 %0 to i16 %9 = zext i8 %1 to i16 %10 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %8, i16 %9) %11 = extractvalue { i16, i1 } %10, 0 %12 = extractvalue { i16, i1 } %10, 1 %13 = call i1 @llvm.expect.i1(i1 %12, i1 false) br i1 %13, label %panic1, label %bb3 bb3: ; preds = %bb2 %14 = zext i8 %2 to i16 %15 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %11, i16 %14) %16 = extractvalue { i16, i1 } %15, 0 %17 = extractvalue { i16, i1 } %15, 1 %18 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %18, label %panic2, label %bb4 bb4: ; preds = %bb3 %19 = and i16 %5, -16 %20 = icmp ne i16 %19, 0 %21 = and i16 %5, 15 %22 = lshr i16 %16, %21 %23 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %23, label %panic3, label %bb5 bb5: ; preds = %bb4 %24 = trunc i16 %22 to i8 %25 = trunc i16 %16 to i8 %26 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 0 store i8 %24, i8* %26 %27 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 1 store i8 %25, i8* %27 %28 = bitcast { i8, i8 }* %_0 to i16* %29 = load i16, i16* %28, align 1 ret i16 %29 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ac) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ad) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ae) unreachable panic3: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.af) unreachable } ; Function Attrs: uwtable define i16 @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$12full_mul_add17h157c170af264a27dE"(i8, i8, i8, i8) unnamed_addr #1 { entry-block: %_0 = alloca { i8, i8 } br label %start start: ; preds = %entry-block %4 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %5 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %4, i16 8) %6 = extractvalue { i16, i1 } %5, 0 %7 = extractvalue { i16, i1 } %5, 1 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic, label %bb2 bb2: ; preds = %bb1 %9 = zext i8 %0 to i16 %10 = zext i8 %1 to i16 %11 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %9, i16 %10) %12 = extractvalue { i16, i1 } %11, 0 %13 = extractvalue { i16, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic1, label %bb3 bb3: ; preds = %bb2 %15 = zext i8 %2 to i16 %16 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %12, i16 %15) %17 = extractvalue { i16, i1 } %16, 0 %18 = extractvalue { i16, i1 } %16, 1 %19 = call i1 @llvm.expect.i1(i1 %18, i1 false) br i1 %19, label %panic2, label %bb4 bb4: ; preds = %bb3 %20 = zext i8 %3 to i16 %21 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %17, i16 %20) %22 = extractvalue { i16, i1 } %21, 0 %23 = extractvalue { i16, i1 } %21, 1 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic3, label %bb5 bb5: ; preds = %bb4 %25 = and i16 %6, -16 %26 = icmp ne i16 %25, 0 %27 = and i16 %6, 15 %28 = lshr i16 %22, %27 %29 = call i1 @llvm.expect.i1(i1 %26, i1 false) br i1 %29, label %panic4, label %bb6 bb6: ; preds = %bb5 %30 = trunc i16 %28 to i8 %31 = trunc i16 %22 to i8 %32 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 0 store i8 %30, i8* %32 %33 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 1 store i8 %31, i8* %33 %34 = bitcast { i8, i8 }* %_0 to i16* %35 = load i16, i16* %34, align 1 ret i16 %35 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ag) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ah) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ai) unreachable panic3: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ai) unreachable panic4: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aj) unreachable } ; Function Attrs: uwtable define i16 @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$12full_div_rem17hf18b8eb66c198da0E"(i8, i8, i8) unnamed_addr #1 { entry-block: %_8 = alloca {} %_7 = alloca {} %_0 = alloca { i8, i8 } br label %start start: ; preds = %entry-block %3 = icmp ult i8 %2, %1 %4 = xor i1 %3, true br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$12full_div_rem14_MSG_FILE_LINE17hbeeeb4f2f222dd01E") unreachable bb2: ; preds = %start %5 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb3 bb3: ; preds = %bb2 %6 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %5, i16 8) %7 = extractvalue { i16, i1 } %6, 0 %8 = extractvalue { i16, i1 } %6, 1 %9 = call i1 @llvm.expect.i1(i1 %8, i1 false) br i1 %9, label %panic, label %bb4 bb4: ; preds = %bb3 %10 = zext i8 %2 to i16 %11 = and i16 %7, -16 %12 = icmp ne i16 %11, 0 %13 = and i16 %7, 15 %14 = shl i16 %10, %13 %15 = call i1 @llvm.expect.i1(i1 %12, i1 false) br i1 %15, label %panic1, label %bb5 bb5: ; preds = %bb4 %16 = zext i8 %0 to i16 %17 = or i16 %14, %16 %18 = zext i8 %1 to i16 %19 = icmp eq i16 %18, 0 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic2, label %bb6 bb6: ; preds = %bb5 %21 = udiv i16 %17, %18 %22 = trunc i16 %21 to i8 %23 = icmp eq i16 %18, 0 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic3, label %bb7 bb7: ; preds = %bb6 %25 = urem i16 %17, %18 %26 = trunc i16 %25 to i8 %27 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 0 store i8 %22, i8* %27 %28 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 1 store i8 %26, i8* %28 %29 = bitcast { i8, i8 }* %_0 to i16* %30 = load i16, i16* %29, align 1 ret i16 %30 panic: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ak) unreachable panic1: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.al) unreachable panic2: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.am) unreachable panic3: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.an) unreachable } ; Function Attrs: uwtable define void @"_ZN50_$LT$u16$u20$as$u20$core..num..bignum..FullOps$GT$8full_add17h82983f2d7aa1cf00E"({ i8, i16 }* noalias nocapture sret dereferenceable(4), i16, i16, i1 zeroext) unnamed_addr #1 { entry-block: %tmp_ret1 = alloca { i16, i8 } %tmp_ret = alloca { i16, i8 } %_18 = alloca i8 %_16 = alloca i16 br label %start start: ; preds = %entry-block %4 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %1, i16 %2) %5 = extractvalue { i16, i1 } %4, 0 %6 = extractvalue { i16, i1 } %4, 1 %7 = zext i1 %6 to i8 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %5, i16* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %7, i8* %9 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %11 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %12 = load i16, i16* %10 %13 = load i8, i8* %11, !range !2 %14 = trunc i8 %13 to i1 br label %bb1 bb1: ; preds = %start br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 store i16 1, i16* %_16 br label %bb4 bb3: ; preds = %bb1 store i16 0, i16* %_16 br label %bb4 bb4: ; preds = %bb3, %bb2 %15 = load i16, i16* %_16 %16 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %12, i16 %15) %17 = extractvalue { i16, i1 } %16, 0 %18 = extractvalue { i16, i1 } %16, 1 %19 = zext i1 %18 to i8 %20 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret1, i32 0, i32 0 store i16 %17, i16* %20 %21 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret1, i32 0, i32 1 store i8 %19, i8* %21 %22 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret1, i32 0, i32 0 %23 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret1, i32 0, i32 1 %24 = load i16, i16* %22 %25 = load i8, i8* %23, !range !2 %26 = trunc i8 %25 to i1 br label %bb5 bb5: ; preds = %bb4 br i1 %14, label %bb6, label %bb8 bb6: ; preds = %bb8, %bb5 store i8 1, i8* %_18 br label %bb9 bb7: ; preds = %bb8 store i8 0, i8* %_18 br label %bb9 bb8: ; preds = %bb5 br i1 %26, label %bb6, label %bb7 bb9: ; preds = %bb7, %bb6 %27 = load i8, i8* %_18, !range !2 %28 = trunc i8 %27 to i1 %29 = getelementptr inbounds { i8, i16 }, { i8, i16 }* %0, i32 0, i32 0 %30 = zext i1 %28 to i8 store i8 %30, i8* %29 %31 = getelementptr inbounds { i8, i16 }, { i8, i16 }* %0, i32 0, i32 1 store i16 %24, i16* %31 ret void } ; Function Attrs: uwtable define void @"_ZN50_$LT$u16$u20$as$u20$core..num..bignum..FullOps$GT$8full_mul17h4c10271c2d830c5bE"({ i16, i16 }* noalias nocapture sret dereferenceable(4), i16, i16, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %4 = call i16 @_ZN4core3mem7size_of17h258355fe3958deaaE() br label %bb1 bb1: ; preds = %start %5 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %4, i16 8) %6 = extractvalue { i16, i1 } %5, 0 %7 = extractvalue { i16, i1 } %5, 1 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic, label %bb2 bb2: ; preds = %bb1 %9 = zext i16 %1 to i32 %10 = zext i16 %2 to i32 %11 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %9, i32 %10) %12 = extractvalue { i32, i1 } %11, 0 %13 = extractvalue { i32, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic1, label %bb3 bb3: ; preds = %bb2 %15 = zext i16 %3 to i32 %16 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %12, i32 %15) %17 = extractvalue { i32, i1 } %16, 0 %18 = extractvalue { i32, i1 } %16, 1 %19 = call i1 @llvm.expect.i1(i1 %18, i1 false) br i1 %19, label %panic2, label %bb4 bb4: ; preds = %bb3 %20 = and i16 %6, -32 %21 = icmp ne i16 %20, 0 %22 = zext i16 %6 to i32 %23 = and i32 %22, 31 %24 = lshr i32 %17, %23 %25 = call i1 @llvm.expect.i1(i1 %21, i1 false) br i1 %25, label %panic3, label %bb5 bb5: ; preds = %bb4 %26 = trunc i32 %24 to i16 %27 = trunc i32 %17 to i16 %28 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 0 store i16 %26, i16* %28 %29 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 1 store i16 %27, i16* %29 ret void panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ac) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ad) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ae) unreachable panic3: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.af) unreachable } ; Function Attrs: uwtable define void @"_ZN50_$LT$u16$u20$as$u20$core..num..bignum..FullOps$GT$12full_mul_add17hf5203b8154052c68E"({ i16, i16 }* noalias nocapture sret dereferenceable(4), i16, i16, i16, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %5 = call i16 @_ZN4core3mem7size_of17h258355fe3958deaaE() br label %bb1 bb1: ; preds = %start %6 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %5, i16 8) %7 = extractvalue { i16, i1 } %6, 0 %8 = extractvalue { i16, i1 } %6, 1 %9 = call i1 @llvm.expect.i1(i1 %8, i1 false) br i1 %9, label %panic, label %bb2 bb2: ; preds = %bb1 %10 = zext i16 %1 to i32 %11 = zext i16 %2 to i32 %12 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %10, i32 %11) %13 = extractvalue { i32, i1 } %12, 0 %14 = extractvalue { i32, i1 } %12, 1 %15 = call i1 @llvm.expect.i1(i1 %14, i1 false) br i1 %15, label %panic1, label %bb3 bb3: ; preds = %bb2 %16 = zext i16 %3 to i32 %17 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %13, i32 %16) %18 = extractvalue { i32, i1 } %17, 0 %19 = extractvalue { i32, i1 } %17, 1 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic2, label %bb4 bb4: ; preds = %bb3 %21 = zext i16 %4 to i32 %22 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %18, i32 %21) %23 = extractvalue { i32, i1 } %22, 0 %24 = extractvalue { i32, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic3, label %bb5 bb5: ; preds = %bb4 %26 = and i16 %7, -32 %27 = icmp ne i16 %26, 0 %28 = zext i16 %7 to i32 %29 = and i32 %28, 31 %30 = lshr i32 %23, %29 %31 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %31, label %panic4, label %bb6 bb6: ; preds = %bb5 %32 = trunc i32 %30 to i16 %33 = trunc i32 %23 to i16 %34 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 0 store i16 %32, i16* %34 %35 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 1 store i16 %33, i16* %35 ret void panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ag) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ah) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ai) unreachable panic3: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ai) unreachable panic4: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aj) unreachable } ; Function Attrs: uwtable define void @"_ZN50_$LT$u16$u20$as$u20$core..num..bignum..FullOps$GT$12full_div_rem17he2dcc1bd499b13baE"({ i16, i16 }* noalias nocapture sret dereferenceable(4), i16, i16, i16) unnamed_addr #1 { entry-block: %_8 = alloca {} %_7 = alloca {} br label %start start: ; preds = %entry-block %4 = icmp ult i16 %3, %2 %5 = xor i1 %4, true br i1 %5, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @"_ZN50_$LT$u16$u20$as$u20$core..num..bignum..FullOps$GT$12full_div_rem14_MSG_FILE_LINE17h9079661a0db5853aE") unreachable bb2: ; preds = %start %6 = call i16 @_ZN4core3mem7size_of17h258355fe3958deaaE() br label %bb3 bb3: ; preds = %bb2 %7 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %6, i16 8) %8 = extractvalue { i16, i1 } %7, 0 %9 = extractvalue { i16, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic, label %bb4 bb4: ; preds = %bb3 %11 = zext i16 %3 to i32 %12 = and i16 %8, -32 %13 = icmp ne i16 %12, 0 %14 = zext i16 %8 to i32 %15 = and i32 %14, 31 %16 = shl i32 %11, %15 %17 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %17, label %panic1, label %bb5 bb5: ; preds = %bb4 %18 = zext i16 %1 to i32 %19 = or i32 %16, %18 %20 = zext i16 %2 to i32 %21 = icmp eq i32 %20, 0 %22 = call i1 @llvm.expect.i1(i1 %21, i1 false) br i1 %22, label %panic2, label %bb6 bb6: ; preds = %bb5 %23 = udiv i32 %19, %20 %24 = trunc i32 %23 to i16 %25 = icmp eq i32 %20, 0 %26 = call i1 @llvm.expect.i1(i1 %25, i1 false) br i1 %26, label %panic3, label %bb7 bb7: ; preds = %bb6 %27 = urem i32 %19, %20 %28 = trunc i32 %27 to i16 %29 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 0 store i16 %24, i16* %29 %30 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %0, i32 0, i32 1 store i16 %28, i16* %30 ret void panic: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ak) unreachable panic1: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.al) unreachable panic2: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.am) unreachable panic3: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.an) unreachable } ; Function Attrs: uwtable define void @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$8full_add17h5a3c94fe982ff56bE"({ i8, i32 }* noalias nocapture sret dereferenceable(8), i32, i32, i1 zeroext) unnamed_addr #1 { entry-block: %tmp_ret1 = alloca { i32, i8 } %tmp_ret = alloca { i32, i8 } %_18 = alloca i8 %_16 = alloca i32 br label %start start: ; preds = %entry-block %4 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %1, i32 %2) %5 = extractvalue { i32, i1 } %4, 0 %6 = extractvalue { i32, i1 } %4, 1 %7 = zext i1 %6 to i8 %8 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 store i32 %5, i32* %8 %9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 store i8 %7, i8* %9 %10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %11 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %12 = load i32, i32* %10 %13 = load i8, i8* %11, !range !2 %14 = trunc i8 %13 to i1 br label %bb1 bb1: ; preds = %start br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 store i32 1, i32* %_16 br label %bb4 bb3: ; preds = %bb1 store i32 0, i32* %_16 br label %bb4 bb4: ; preds = %bb3, %bb2 %15 = load i32, i32* %_16 %16 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %12, i32 %15) %17 = extractvalue { i32, i1 } %16, 0 %18 = extractvalue { i32, i1 } %16, 1 %19 = zext i1 %18 to i8 %20 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret1, i32 0, i32 0 store i32 %17, i32* %20 %21 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret1, i32 0, i32 1 store i8 %19, i8* %21 %22 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret1, i32 0, i32 0 %23 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret1, i32 0, i32 1 %24 = load i32, i32* %22 %25 = load i8, i8* %23, !range !2 %26 = trunc i8 %25 to i1 br label %bb5 bb5: ; preds = %bb4 br i1 %14, label %bb6, label %bb8 bb6: ; preds = %bb8, %bb5 store i8 1, i8* %_18 br label %bb9 bb7: ; preds = %bb8 store i8 0, i8* %_18 br label %bb9 bb8: ; preds = %bb5 br i1 %26, label %bb6, label %bb7 bb9: ; preds = %bb7, %bb6 %27 = load i8, i8* %_18, !range !2 %28 = trunc i8 %27 to i1 %29 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 0 %30 = zext i1 %28 to i8 store i8 %30, i8* %29 %31 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %0, i32 0, i32 1 store i32 %24, i32* %31 ret void } ; Function Attrs: uwtable define void @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$8full_mul17hbcd14dc9a2957c8bE"({ i32, i32 }* noalias nocapture sret dereferenceable(8), i32, i32, i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %4 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %5 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %4, i16 8) %6 = extractvalue { i16, i1 } %5, 0 %7 = extractvalue { i16, i1 } %5, 1 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic, label %bb2 bb2: ; preds = %bb1 %9 = zext i32 %1 to i64 %10 = zext i32 %2 to i64 %11 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %9, i64 %10) %12 = extractvalue { i64, i1 } %11, 0 %13 = extractvalue { i64, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic1, label %bb3 bb3: ; preds = %bb2 %15 = zext i32 %3 to i64 %16 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %12, i64 %15) %17 = extractvalue { i64, i1 } %16, 0 %18 = extractvalue { i64, i1 } %16, 1 %19 = call i1 @llvm.expect.i1(i1 %18, i1 false) br i1 %19, label %panic2, label %bb4 bb4: ; preds = %bb3 %20 = and i16 %6, -64 %21 = icmp ne i16 %20, 0 %22 = zext i16 %6 to i64 %23 = and i64 %22, 63 %24 = lshr i64 %17, %23 %25 = call i1 @llvm.expect.i1(i1 %21, i1 false) br i1 %25, label %panic3, label %bb5 bb5: ; preds = %bb4 %26 = trunc i64 %24 to i32 %27 = trunc i64 %17 to i32 %28 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %0, i32 0, i32 0 store i32 %26, i32* %28 %29 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %0, i32 0, i32 1 store i32 %27, i32* %29 ret void panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ac) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ad) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ae) unreachable panic3: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.af) unreachable } ; Function Attrs: uwtable define void @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$12full_mul_add17h41753ee4bea4dc48E"({ i32, i32 }* noalias nocapture sret dereferenceable(8), i32, i32, i32, i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %5 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %6 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %5, i16 8) %7 = extractvalue { i16, i1 } %6, 0 %8 = extractvalue { i16, i1 } %6, 1 %9 = call i1 @llvm.expect.i1(i1 %8, i1 false) br i1 %9, label %panic, label %bb2 bb2: ; preds = %bb1 %10 = zext i32 %1 to i64 %11 = zext i32 %2 to i64 %12 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %10, i64 %11) %13 = extractvalue { i64, i1 } %12, 0 %14 = extractvalue { i64, i1 } %12, 1 %15 = call i1 @llvm.expect.i1(i1 %14, i1 false) br i1 %15, label %panic1, label %bb3 bb3: ; preds = %bb2 %16 = zext i32 %3 to i64 %17 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %13, i64 %16) %18 = extractvalue { i64, i1 } %17, 0 %19 = extractvalue { i64, i1 } %17, 1 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic2, label %bb4 bb4: ; preds = %bb3 %21 = zext i32 %4 to i64 %22 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %18, i64 %21) %23 = extractvalue { i64, i1 } %22, 0 %24 = extractvalue { i64, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic3, label %bb5 bb5: ; preds = %bb4 %26 = and i16 %7, -64 %27 = icmp ne i16 %26, 0 %28 = zext i16 %7 to i64 %29 = and i64 %28, 63 %30 = lshr i64 %23, %29 %31 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %31, label %panic4, label %bb6 bb6: ; preds = %bb5 %32 = trunc i64 %30 to i32 %33 = trunc i64 %23 to i32 %34 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %0, i32 0, i32 0 store i32 %32, i32* %34 %35 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %0, i32 0, i32 1 store i32 %33, i32* %35 ret void panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ag) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ah) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ai) unreachable panic3: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ai) unreachable panic4: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aj) unreachable } ; Function Attrs: uwtable define void @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$12full_div_rem17h04b74da5e03bbd29E"({ i32, i32 }* noalias nocapture sret dereferenceable(8), i32, i32, i32) unnamed_addr #1 { entry-block: %_8 = alloca {} %_7 = alloca {} br label %start start: ; preds = %entry-block %4 = icmp ult i32 %3, %2 %5 = xor i1 %4, true br i1 %5, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$12full_div_rem14_MSG_FILE_LINE17he9e6c31cbda6b5b4E") unreachable bb2: ; preds = %start %6 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb3 bb3: ; preds = %bb2 %7 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %6, i16 8) %8 = extractvalue { i16, i1 } %7, 0 %9 = extractvalue { i16, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic, label %bb4 bb4: ; preds = %bb3 %11 = zext i32 %3 to i64 %12 = and i16 %8, -64 %13 = icmp ne i16 %12, 0 %14 = zext i16 %8 to i64 %15 = and i64 %14, 63 %16 = shl i64 %11, %15 %17 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %17, label %panic1, label %bb5 bb5: ; preds = %bb4 %18 = zext i32 %1 to i64 %19 = or i64 %16, %18 %20 = zext i32 %2 to i64 %21 = icmp eq i64 %20, 0 %22 = call i1 @llvm.expect.i1(i1 %21, i1 false) br i1 %22, label %panic2, label %bb6 bb6: ; preds = %bb5 %23 = udiv i64 %19, %20 %24 = trunc i64 %23 to i32 %25 = icmp eq i64 %20, 0 %26 = call i1 @llvm.expect.i1(i1 %25, i1 false) br i1 %26, label %panic3, label %bb7 bb7: ; preds = %bb6 %27 = urem i64 %19, %20 %28 = trunc i64 %27 to i32 %29 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %0, i32 0, i32 0 store i32 %24, i32* %29 %30 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %0, i32 0, i32 1 store i32 %28, i32* %30 ret void panic: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ak) unreachable panic1: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.al) unreachable panic2: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.am) unreachable panic3: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.an) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num6bignum8Big32x4010from_small17h197cc74323061977E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164), i32) unnamed_addr #1 { entry-block: %_7 = alloca [40 x i32] %base = alloca [40 x i32] br label %start start: ; preds = %entry-block %2 = getelementptr inbounds [40 x i32], [40 x i32]* %base, i32 0, i32 0 %3 = getelementptr inbounds i32, i32* %2, i16 40 br label %slice_loop_header bb1: ; preds = %slice_loop_next %4 = getelementptr inbounds [40 x i32], [40 x i32]* %base, i16 0, i16 0 store i32 %1, i32* %4 %5 = bitcast [40 x i32]* %base to i8* %6 = bitcast [40 x i32]* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 160, i32 4, i1 false) %7 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 store i16 1, i16* %7 %8 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %9 = bitcast [40 x i32]* %_7 to i8* %10 = bitcast [40 x i32]* %8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 160, i32 4, i1 false) ret void slice_loop_body: ; preds = %slice_loop_header %11 = getelementptr inbounds i32, i32* %12, i16 1 store i32 0, i32* %12 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header br label %bb1 slice_loop_header: ; preds = %slice_loop_body, %start %12 = phi i32* [ %2, %start ], [ %11, %slice_loop_body ] %13 = icmp ne i32* %12, %3 br i1 %13, label %slice_loop_body, label %slice_loop_next } ; Function Attrs: uwtable define void @_ZN4core3num6bignum8Big32x408from_u6417hec2d340a1beace8aE(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164), i64) unnamed_addr #1 { entry-block: %_19 = alloca [40 x i32] %_8 = alloca {} %_5 = alloca {} %sz = alloca i16 %base = alloca [40 x i32] %v = alloca i64 br label %start start: ; preds = %entry-block store i64 %1, i64* %v %2 = getelementptr inbounds [40 x i32], [40 x i32]* %base, i32 0, i32 0 %3 = getelementptr inbounds i32, i32* %2, i16 40 br label %slice_loop_header bb1: ; preds = %bb8, %slice_loop_next %4 = load i64, i64* %v %5 = icmp ugt i64 %4, 0 br i1 %5, label %bb3, label %bb2 bb2: ; preds = %bb1 %6 = load i16, i16* %sz %7 = bitcast [40 x i32]* %base to i8* %8 = bitcast [40 x i32]* %_19 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 160, i32 4, i1 false) %9 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 store i16 %6, i16* %9 %10 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %11 = bitcast [40 x i32]* %_19 to i8* %12 = bitcast [40 x i32]* %10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 160, i32 4, i1 false) ret void bb3: ; preds = %bb1 %13 = load i64, i64* %v %14 = load i16, i16* %sz %15 = icmp ult i16 %14, 40 %16 = call i1 @llvm.expect.i1(i1 %15, i1 true) br i1 %16, label %bb4, label %panic bb4: ; preds = %bb3 %17 = getelementptr inbounds [40 x i32], [40 x i32]* %base, i16 0, i16 %14 %18 = trunc i64 %13 to i32 store i32 %18, i32* %17 %19 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb5 bb5: ; preds = %bb4 %20 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %19, i16 8) %21 = extractvalue { i16, i1 } %20, 0 %22 = extractvalue { i16, i1 } %20, 1 %23 = call i1 @llvm.expect.i1(i1 %22, i1 false) br i1 %23, label %panic1, label %bb6 bb6: ; preds = %bb5 %24 = load i64, i64* %v %25 = and i16 %21, -64 %26 = icmp ne i16 %25, 0 %27 = zext i16 %21 to i64 %28 = and i64 %27, 63 %29 = lshr i64 %24, %28 %30 = call i1 @llvm.expect.i1(i1 %26, i1 false) br i1 %30, label %panic2, label %bb7 bb7: ; preds = %bb6 store i64 %29, i64* %v %31 = load i16, i16* %sz %32 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %31, i16 1) %33 = extractvalue { i16, i1 } %32, 0 %34 = extractvalue { i16, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic3, label %bb8 bb8: ; preds = %bb7 store i16 %33, i16* %sz br label %bb1 slice_loop_body: ; preds = %slice_loop_header %36 = getelementptr inbounds i32, i32* %37, i16 1 store i32 0, i32* %37 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header store i16 0, i16* %sz br label %bb1 slice_loop_header: ; preds = %slice_loop_body, %start %37 = phi i32* [ %2, %start ], [ %36, %slice_loop_body ] %38 = icmp ne i32* %37, %3 br i1 %38, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb3 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.ap, i16 %14, i16 40) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aq) unreachable panic2: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ar) unreachable panic3: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.as) unreachable } ; Function Attrs: uwtable define { i32*, i16 } @_ZN4core3num6bignum8Big32x406digits17h47e6de10cbef4a18E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #1 { entry-block: %_7 = alloca %"ops::RangeTo" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %2 = bitcast [40 x i32]* %1 to i32* %3 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 %4 = load i16, i16* %3 %5 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_7, i32 0, i32 0 store i16 %4, i16* %5 %6 = bitcast %"ops::RangeTo"* %_7 to i16* %7 = load i16, i16* %6, align 2 %8 = call { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7c873adbd1b3ac30E"(i32* noalias nonnull readonly %2, i16 40, i16 %7) %9 = extractvalue { i32*, i16 } %8, 0 %10 = extractvalue { i32*, i16 } %8, 1 br label %bb1 bb1: ; preds = %start %11 = insertvalue { i32*, i16 } undef, i32* %9, 0 %12 = insertvalue { i32*, i16 } %11, i16 %10, 1 ret { i32*, i16 } %12 } ; Function Attrs: uwtable define i8 @_ZN4core3num6bignum8Big32x407get_bit17h842e6148aecc05b7E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %3 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %2, i16 8) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb2 bb2: ; preds = %bb1 %7 = icmp eq i16 %4, 0 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic1, label %bb3 bb3: ; preds = %bb2 %9 = udiv i16 %1, %4 %10 = icmp eq i16 %4, 0 %11 = call i1 @llvm.expect.i1(i1 %10, i1 false) br i1 %11, label %panic2, label %bb4 bb4: ; preds = %bb3 %12 = urem i16 %1, %4 %13 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %14 = icmp ult i16 %9, 40 %15 = call i1 @llvm.expect.i1(i1 %14, i1 true) br i1 %15, label %bb5, label %panic3 bb5: ; preds = %bb4 %16 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %17 = getelementptr inbounds [40 x i32], [40 x i32]* %16, i16 0, i16 %9 %18 = load i32, i32* %17 %19 = and i16 %12, -32 %20 = icmp ne i16 %19, 0 %21 = zext i16 %12 to i32 %22 = and i32 %21, 31 %23 = lshr i32 %18, %22 %24 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %24, label %panic4, label %bb6 bb6: ; preds = %bb5 %25 = and i32 %23, 1 %26 = trunc i32 %25 to i8 ret i8 %26 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.at) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.au) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.av) unreachable panic3: ; preds = %bb4 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aw, i16 %9, i16 40) unreachable panic4: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ax) unreachable } ; Function Attrs: uwtable define zeroext i1 @_ZN4core3num6bignum8Big32x407is_zero17h758b2da3fba44433E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #1 { entry-block: %_8 = alloca %closure.46 %_4 = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %1 = call { i32*, i16 } @_ZN4core3num6bignum8Big32x406digits17h47e6de10cbef4a18E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) %2 = extractvalue { i32*, i16 } %1, 0 %3 = extractvalue { i32*, i16 } %1, 1 br label %bb1 bb1: ; preds = %start call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h339a5ca69547581eE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_4, i32* noalias nonnull readonly %2, i16 %3) br label %bb2 bb2: ; preds = %bb1 %4 = call zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h5b32bac03b1c4599E"(%"slice::Iter"* dereferenceable(4) %_4) br label %bb3 bb3: ; preds = %bb2 ret i1 %4 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3num6bignum8Big32x407is_zero28_$u7b$$u7b$closure$u7d$$u7d$17hade006385022775fE"(%closure.46*, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load i32, i32* %1 %3 = icmp eq i32 %2, 0 ret i1 %3 } ; Function Attrs: uwtable define i16 @_ZN4core3num6bignum8Big32x4010bit_length17he343880f864358b8E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #1 { entry-block: %_35 = alloca {} %i = alloca i16 %_24 = alloca {} %_21 = alloca {} %_19 = alloca %"ops::RangeTo" %_10 = alloca %closure.2 %_8 = alloca %"slice::Iter" %_7 = alloca %"iter::Rev>" %_6 = alloca %"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>" %_0 = alloca i16 br label %start start: ; preds = %entry-block %1 = call { i32*, i16 } @_ZN4core3num6bignum8Big32x406digits17h47e6de10cbef4a18E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) %2 = extractvalue { i32*, i16 } %1, 0 %3 = extractvalue { i32*, i16 } %1, 1 br label %bb1 bb1: ; preds = %start call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h339a5ca69547581eE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_8, i32* noalias nonnull readonly %2, i16 %3) br label %bb2 bb2: ; preds = %bb1 call void @_ZN4core4iter8iterator8Iterator3rev17h3996186bce2b8b85E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_7, %"slice::Iter"* noalias nocapture dereferenceable(4) %_8) br label %bb3 bb3: ; preds = %bb2 call void @_ZN4core4iter8iterator8Iterator10take_while17h9a336a37a02790b7E(%"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* noalias nocapture sret dereferenceable(6) %_6, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_7) br label %bb4 bb4: ; preds = %bb3 %4 = call i16 @_ZN4core4iter8iterator8Iterator5count17hb001d4bd92812467E(%"iter::TakeWhile>, num::bignum::{{impl}}::bit_length::{{closure}}>"* noalias nocapture dereferenceable(6) %_6) br label %bb5 bb5: ; preds = %bb4 %5 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %2, i16 %3) br label %bb6 bb6: ; preds = %bb5 %6 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %5, i16 %4) %7 = extractvalue { i16, i1 } %6, 0 %8 = extractvalue { i16, i1 } %6, 1 %9 = call i1 @llvm.expect.i1(i1 %8, i1 false) br i1 %9, label %panic, label %bb7 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_19, i32 0, i32 0 store i16 %7, i16* %10 %11 = bitcast %"ops::RangeTo"* %_19 to i16* %12 = load i16, i16* %11, align 2 %13 = call { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7c873adbd1b3ac30E"(i32* noalias nonnull readonly %2, i16 %3, i16 %12) %14 = extractvalue { i32*, i16 } %13, 0 %15 = extractvalue { i32*, i16 } %13, 1 br label %bb8 bb8: ; preds = %bb7 %16 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17hfcd4c7e547b82cd8E(i32* noalias nonnull readonly %14, i16 %15) br label %bb9 bb9: ; preds = %bb8 br i1 %16, label %bb10, label %bb11 bb10: ; preds = %bb9 store i16 0, i16* %_0 br label %bb12 bb11: ; preds = %bb9 %17 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb13 bb12: ; preds = %bb23, %bb10 %18 = load i16, i16* %_0 ret i16 %18 bb13: ; preds = %bb11 %19 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %17, i16 8) %20 = extractvalue { i16, i1 } %19, 0 %21 = extractvalue { i16, i1 } %19, 1 %22 = call i1 @llvm.expect.i1(i1 %21, i1 false) br i1 %22, label %panic1, label %bb14 bb14: ; preds = %bb13 %23 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %14, i16 %15) br label %bb15 bb15: ; preds = %bb14 %24 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %23, i16 %20) %25 = extractvalue { i16, i1 } %24, 0 %26 = extractvalue { i16, i1 } %24, 1 %27 = call i1 @llvm.expect.i1(i1 %26, i1 false) br i1 %27, label %panic2, label %bb16 bb16: ; preds = %bb15 %28 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %25, i16 1) %29 = extractvalue { i16, i1 } %28, 0 %30 = extractvalue { i16, i1 } %28, 1 %31 = call i1 @llvm.expect.i1(i1 %30, i1 false) br i1 %31, label %panic3, label %bb17 bb17: ; preds = %bb16 store i16 %29, i16* %i br label %bb18 bb18: ; preds = %bb22, %bb17 %32 = load i16, i16* %i %33 = call i8 @_ZN4core3num6bignum8Big32x407get_bit17h842e6148aecc05b7E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0, i16 %32) br label %bb20 bb19: ; preds = %bb20 %34 = load i16, i16* %i %35 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %34, i16 1) %36 = extractvalue { i16, i1 } %35, 0 %37 = extractvalue { i16, i1 } %35, 1 %38 = call i1 @llvm.expect.i1(i1 %37, i1 false) br i1 %38, label %panic5, label %bb23 bb20: ; preds = %bb18 %39 = icmp eq i8 %33, 0 br i1 %39, label %bb21, label %bb19 bb21: ; preds = %bb20 %40 = load i16, i16* %i %41 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %40, i16 1) %42 = extractvalue { i16, i1 } %41, 0 %43 = extractvalue { i16, i1 } %41, 1 %44 = call i1 @llvm.expect.i1(i1 %43, i1 false) br i1 %44, label %panic4, label %bb22 bb22: ; preds = %bb21 store i16 %42, i16* %i br label %bb18 bb23: ; preds = %bb19 store i16 %36, i16* %_0 br label %bb12 panic: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ay) unreachable panic1: ; preds = %bb13 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.az) unreachable panic2: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aA) unreachable panic3: ; preds = %bb16 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aB) unreachable panic4: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aC) unreachable panic5: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aD) unreachable } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3num6bignum8Big32x4010bit_length28_$u7b$$u7b$closure$u7d$$u7d$17hccfe50337547575fE"(%closure.2*, i32** noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load i32*, i32** %1, !nonnull !1 %3 = load i32, i32* %2 %4 = icmp eq i32 %3, 0 ret i1 %4 } ; Function Attrs: uwtable define dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403add17h5f030b2daa3047deE(%"num::bignum::Big32x40"* dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #1 { entry-block: %tmp_ret = alloca { i8, i32 } %_44 = alloca {} %_29 = alloca %"option::Option<(&mut u32, &u32)>" %_28 = alloca {} %iter = alloca %"iter::Zip, slice::Iter>" %_25 = alloca %"ops::RangeTo" %_19 = alloca %"ops::RangeTo" %_14 = alloca %"slice::IterMut" %_13 = alloca %"iter::Zip, slice::Iter>" %_12 = alloca %"iter::Zip, slice::Iter>" %_result = alloca {} %carry = alloca i8 %sz = alloca i16 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 %3 = load i16, i16* %2 %4 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i32 0, i32 0 %5 = load i16, i16* %4 %6 = call i16 @_ZN4core3cmp3max17h87d192de69373d4eE(i16 %3, i16 %5) store i16 %6, i16* %sz br label %bb1 bb1: ; preds = %start store i8 0, i8* %carry %7 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %8 = bitcast [40 x i32]* %7 to i32* %9 = load i16, i16* %sz %10 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_19, i32 0, i32 0 store i16 %9, i16* %10 %11 = bitcast %"ops::RangeTo"* %_19 to i16* %12 = load i16, i16* %11, align 2 %13 = call { i32*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h6258d8a600cd7fc5E"(i32* nonnull %8, i16 40, i16 %12) %14 = extractvalue { i32*, i16 } %13, 0 %15 = extractvalue { i32*, i16 } %13, 1 br label %bb2 bb2: ; preds = %bb1 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h8a1cf42bf0ae4fdcE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_14, i32* nonnull %14, i16 %15) br label %bb3 bb3: ; preds = %bb2 %16 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i32 0, i32 1 %17 = bitcast [40 x i32]* %16 to i32* %18 = load i16, i16* %sz %19 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_25, i32 0, i32 0 store i16 %18, i16* %19 %20 = bitcast %"ops::RangeTo"* %_25 to i16* %21 = load i16, i16* %20, align 2 %22 = call { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7c873adbd1b3ac30E"(i32* noalias nonnull readonly %17, i16 40, i16 %21) %23 = extractvalue { i32*, i16 } %22, 0 %24 = extractvalue { i32*, i16 } %22, 1 br label %bb4 bb4: ; preds = %bb3 call void @_ZN4core4iter8iterator8Iterator3zip17h764d14b4c977e2f6E(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12) %_13, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_14, i32* noalias nonnull readonly %23, i16 %24) br label %bb5 bb5: ; preds = %bb4 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hd7afb0c8af163c65E"(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12) %_12, %"iter::Zip, slice::Iter>"* noalias nocapture dereferenceable(12) %_13) br label %bb6 bb6: ; preds = %bb5 %25 = bitcast %"iter::Zip, slice::Iter>"* %_12 to i8* %26 = bitcast %"iter::Zip, slice::Iter>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %25, i16 12, i32 2, i1 false) br label %bb7 bb7: ; preds = %bb11, %bb6 call void @"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hcb0555e772e9e288E"(%"option::Option<(&mut u32, &u32)>"* noalias nocapture sret dereferenceable(4) %_29, %"iter::Zip, slice::Iter>"* dereferenceable(12) %iter) br label %bb8 bb8: ; preds = %bb7 %27 = getelementptr inbounds %"option::Option<(&mut u32, &u32)>", %"option::Option<(&mut u32, &u32)>"* %_29, i32 0, i32 0, i32 0 %28 = load i32*, i32** %27 %29 = icmp ne i32* %28, null %30 = zext i1 %29 to i16 switch i16 %30, label %bb10 [ i16 0, label %bb9 ] bb9: ; preds = %bb8 %31 = load i8, i8* %carry, !range !2 %32 = trunc i8 %31 to i1 br i1 %32, label %bb12, label %bb13 bb10: ; preds = %bb8 %33 = getelementptr inbounds %"option::Option<(&mut u32, &u32)>", %"option::Option<(&mut u32, &u32)>"* %_29, i32 0, i32 0 %34 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %33, i32 0, i32 0 %35 = load i32*, i32** %34, !nonnull !1 %36 = getelementptr inbounds %"option::Option<(&mut u32, &u32)>", %"option::Option<(&mut u32, &u32)>"* %_29, i32 0, i32 0 %37 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %36, i32 0, i32 1 %38 = load i32*, i32** %37, !nonnull !1 %39 = load i32, i32* %35 %40 = load i32, i32* %38 %41 = load i8, i8* %carry, !range !2 %42 = trunc i8 %41 to i1 call void @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$8full_add17h5a3c94fe982ff56bE"({ i8, i32 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %39, i32 %40, i1 zeroext %42) %43 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %tmp_ret, i32 0, i32 0 %44 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %tmp_ret, i32 0, i32 1 %45 = load i8, i8* %43, !range !2 %46 = trunc i8 %45 to i1 %47 = load i32, i32* %44 br label %bb11 bb11: ; preds = %bb10 store i32 %47, i32* %35 %48 = zext i1 %46 to i8 store i8 %48, i8* %carry br label %bb7 bb12: ; preds = %bb9 %49 = load i16, i16* %sz %50 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %51 = icmp ult i16 %49, 40 %52 = call i1 @llvm.expect.i1(i1 %51, i1 true) br i1 %52, label %bb14, label %panic bb13: ; preds = %bb9 br label %bb16 bb14: ; preds = %bb12 %53 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %54 = getelementptr inbounds [40 x i32], [40 x i32]* %53, i16 0, i16 %49 store i32 1, i32* %54 %55 = load i16, i16* %sz %56 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %55, i16 1) %57 = extractvalue { i16, i1 } %56, 0 %58 = extractvalue { i16, i1 } %56, 1 %59 = call i1 @llvm.expect.i1(i1 %58, i1 false) br i1 %59, label %panic1, label %bb15 bb15: ; preds = %bb14 store i16 %57, i16* %sz br label %bb16 bb16: ; preds = %bb13, %bb15 %60 = load i16, i16* %sz %61 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 store i16 %60, i16* %61 ret %"num::bignum::Big32x40"* %0 panic: ; preds = %bb12 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aE, i16 %49, i16 40) unreachable panic1: ; preds = %bb14 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aF) unreachable } ; Function Attrs: uwtable define dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409add_small17h8c35be0f6ba8625cE(%"num::bignum::Big32x40"* dereferenceable(164), i32) unnamed_addr #1 { entry-block: %tmp_ret1 = alloca { i8, i32 } %tmp_ret = alloca { i8, i32 } %_34 = alloca {} %_19 = alloca {} %_17 = alloca {} %i = alloca i16 %carry = alloca i8 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %4 = getelementptr inbounds [40 x i32], [40 x i32]* %3, i16 0, i16 0 %5 = load i32, i32* %4 call void @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$8full_add17h5a3c94fe982ff56bE"({ i8, i32 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %5, i32 %1, i1 zeroext false) %6 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %tmp_ret, i32 0, i32 0 %7 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %tmp_ret, i32 0, i32 1 %8 = load i8, i8* %6, !range !2 %9 = trunc i8 %8 to i1 %10 = load i32, i32* %7 br label %bb2 bb2: ; preds = %bb1 %11 = zext i1 %9 to i8 store i8 %11, i8* %carry %12 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 br label %bb3 bb3: ; preds = %bb2 %13 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %14 = getelementptr inbounds [40 x i32], [40 x i32]* %13, i16 0, i16 0 store i32 %10, i32* %14 store i16 1, i16* %i br label %bb4 bb4: ; preds = %bb10, %bb3 %15 = load i8, i8* %carry, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb6, label %bb5 bb5: ; preds = %bb4 %17 = load i16, i16* %i %18 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 %19 = load i16, i16* %18 %20 = icmp ugt i16 %17, %19 br i1 %20, label %bb11, label %bb12 bb6: ; preds = %bb4 %21 = load i16, i16* %i %22 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %23 = icmp ult i16 %21, 40 %24 = call i1 @llvm.expect.i1(i1 %23, i1 true) br i1 %24, label %bb7, label %panic bb7: ; preds = %bb6 %25 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %26 = getelementptr inbounds [40 x i32], [40 x i32]* %25, i16 0, i16 %21 %27 = load i32, i32* %26 %28 = load i8, i8* %carry, !range !2 %29 = trunc i8 %28 to i1 call void @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$8full_add17h5a3c94fe982ff56bE"({ i8, i32 }* noalias nocapture sret dereferenceable(8) %tmp_ret1, i32 %27, i32 0, i1 zeroext %29) %30 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %tmp_ret1, i32 0, i32 0 %31 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %tmp_ret1, i32 0, i32 1 %32 = load i8, i8* %30, !range !2 %33 = trunc i8 %32 to i1 %34 = load i32, i32* %31 br label %bb8 bb8: ; preds = %bb7 %35 = load i16, i16* %i %36 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %37 = icmp ult i16 %35, 40 %38 = call i1 @llvm.expect.i1(i1 %37, i1 true) br i1 %38, label %bb9, label %panic2 bb9: ; preds = %bb8 %39 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %40 = getelementptr inbounds [40 x i32], [40 x i32]* %39, i16 0, i16 %35 store i32 %34, i32* %40 %41 = zext i1 %33 to i8 store i8 %41, i8* %carry %42 = load i16, i16* %i %43 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %42, i16 1) %44 = extractvalue { i16, i1 } %43, 0 %45 = extractvalue { i16, i1 } %43, 1 %46 = call i1 @llvm.expect.i1(i1 %45, i1 false) br i1 %46, label %panic3, label %bb10 bb10: ; preds = %bb9 store i16 %44, i16* %i br label %bb4 bb11: ; preds = %bb5 %47 = load i16, i16* %i %48 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 store i16 %47, i16* %48 br label %bb13 bb12: ; preds = %bb5 br label %bb13 bb13: ; preds = %bb12, %bb11 ret %"num::bignum::Big32x40"* %0 panic: ; preds = %bb6 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aG, i16 %21, i16 40) unreachable panic2: ; preds = %bb8 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aH, i16 %35, i16 40) unreachable panic3: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aI) unreachable } ; Function Attrs: uwtable define dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #1 { entry-block: %tmp_ret = alloca { i8, i32 } %_45 = alloca {} %_29 = alloca %"option::Option<(&mut u32, &u32)>" %_28 = alloca {} %iter = alloca %"iter::Zip, slice::Iter>" %_25 = alloca %"ops::RangeTo" %_19 = alloca %"ops::RangeTo" %_14 = alloca %"slice::IterMut" %_13 = alloca %"iter::Zip, slice::Iter>" %_12 = alloca %"iter::Zip, slice::Iter>" %_result = alloca {} %noborrow = alloca i8 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 %3 = load i16, i16* %2 %4 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i32 0, i32 0 %5 = load i16, i16* %4 %6 = call i16 @_ZN4core3cmp3max17h87d192de69373d4eE(i16 %3, i16 %5) br label %bb1 bb1: ; preds = %start store i8 1, i8* %noborrow %7 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %8 = bitcast [40 x i32]* %7 to i32* %9 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_19, i32 0, i32 0 store i16 %6, i16* %9 %10 = bitcast %"ops::RangeTo"* %_19 to i16* %11 = load i16, i16* %10, align 2 %12 = call { i32*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h6258d8a600cd7fc5E"(i32* nonnull %8, i16 40, i16 %11) %13 = extractvalue { i32*, i16 } %12, 0 %14 = extractvalue { i32*, i16 } %12, 1 br label %bb2 bb2: ; preds = %bb1 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h8a1cf42bf0ae4fdcE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_14, i32* nonnull %13, i16 %14) br label %bb3 bb3: ; preds = %bb2 %15 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i32 0, i32 1 %16 = bitcast [40 x i32]* %15 to i32* %17 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_25, i32 0, i32 0 store i16 %6, i16* %17 %18 = bitcast %"ops::RangeTo"* %_25 to i16* %19 = load i16, i16* %18, align 2 %20 = call { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7c873adbd1b3ac30E"(i32* noalias nonnull readonly %16, i16 40, i16 %19) %21 = extractvalue { i32*, i16 } %20, 0 %22 = extractvalue { i32*, i16 } %20, 1 br label %bb4 bb4: ; preds = %bb3 call void @_ZN4core4iter8iterator8Iterator3zip17h764d14b4c977e2f6E(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12) %_13, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_14, i32* noalias nonnull readonly %21, i16 %22) br label %bb5 bb5: ; preds = %bb4 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hd7afb0c8af163c65E"(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12) %_12, %"iter::Zip, slice::Iter>"* noalias nocapture dereferenceable(12) %_13) br label %bb6 bb6: ; preds = %bb5 %23 = bitcast %"iter::Zip, slice::Iter>"* %_12 to i8* %24 = bitcast %"iter::Zip, slice::Iter>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %23, i16 12, i32 2, i1 false) br label %bb7 bb7: ; preds = %bb11, %bb6 call void @"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hcb0555e772e9e288E"(%"option::Option<(&mut u32, &u32)>"* noalias nocapture sret dereferenceable(4) %_29, %"iter::Zip, slice::Iter>"* dereferenceable(12) %iter) br label %bb8 bb8: ; preds = %bb7 %25 = getelementptr inbounds %"option::Option<(&mut u32, &u32)>", %"option::Option<(&mut u32, &u32)>"* %_29, i32 0, i32 0, i32 0 %26 = load i32*, i32** %25 %27 = icmp ne i32* %26, null %28 = zext i1 %27 to i16 switch i16 %28, label %bb10 [ i16 0, label %bb9 ] bb9: ; preds = %bb8 %29 = load i8, i8* %noborrow, !range !2 %30 = trunc i8 %29 to i1 %31 = xor i1 %30, true br i1 %31, label %bb12, label %bb13 bb10: ; preds = %bb8 %32 = getelementptr inbounds %"option::Option<(&mut u32, &u32)>", %"option::Option<(&mut u32, &u32)>"* %_29, i32 0, i32 0 %33 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %32, i32 0, i32 0 %34 = load i32*, i32** %33, !nonnull !1 %35 = getelementptr inbounds %"option::Option<(&mut u32, &u32)>", %"option::Option<(&mut u32, &u32)>"* %_29, i32 0, i32 0 %36 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %35, i32 0, i32 1 %37 = load i32*, i32** %36, !nonnull !1 %38 = load i32, i32* %34 %39 = load i32, i32* %37 %40 = xor i32 %39, -1 %41 = load i8, i8* %noborrow, !range !2 %42 = trunc i8 %41 to i1 call void @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$8full_add17h5a3c94fe982ff56bE"({ i8, i32 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %38, i32 %40, i1 zeroext %42) %43 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %tmp_ret, i32 0, i32 0 %44 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %tmp_ret, i32 0, i32 1 %45 = load i8, i8* %43, !range !2 %46 = trunc i8 %45 to i1 %47 = load i32, i32* %44 br label %bb11 bb11: ; preds = %bb10 store i32 %47, i32* %34 %48 = zext i1 %46 to i8 store i8 %48, i8* %noborrow br label %bb7 bb12: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum8Big32x403sub14_MSG_FILE_LINE17ha7fcaec34c5c6b46E) unreachable bb13: ; preds = %bb9 %49 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 store i16 %6, i16* %49 ret %"num::bignum::Big32x40"* %0 } ; Function Attrs: uwtable define dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164), i32) unnamed_addr #1 { entry-block: %tmp_ret = alloca { i32, i32 } %_34 = alloca {} %_20 = alloca i8* %_19 = alloca {} %iter = alloca %"slice::IterMut" %_16 = alloca %"ops::RangeTo" %_11 = alloca %"slice::IterMut" %_result = alloca {} %carry = alloca i32 %sz = alloca i16 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 %3 = load i16, i16* %2 store i16 %3, i16* %sz store i32 0, i32* %carry %4 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %5 = bitcast [40 x i32]* %4 to i32* %6 = load i16, i16* %sz %7 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_16, i32 0, i32 0 store i16 %6, i16* %7 %8 = bitcast %"ops::RangeTo"* %_16 to i16* %9 = load i16, i16* %8, align 2 %10 = call { i32*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h6258d8a600cd7fc5E"(i32* nonnull %5, i16 40, i16 %9) %11 = extractvalue { i32*, i16 } %10, 0 %12 = extractvalue { i32*, i16 } %10, 1 br label %bb1 bb1: ; preds = %start call void @"_ZN4core5slice97_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$mut$u20$$u5b$T$u5d$$GT$9into_iter17h437626629bb0957aE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_11, i32* nonnull %11, i16 %12) br label %bb2 bb2: ; preds = %bb1 %13 = bitcast %"slice::IterMut"* %_11 to i8* %14 = bitcast %"slice::IterMut"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %13, i16 4, i32 2, i1 false) br label %bb3 bb3: ; preds = %bb7, %bb2 %15 = call i8* @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h38e164638445c538E"(%"slice::IterMut"* dereferenceable(4) %iter) store i8* %15, i8** %_20 br label %bb4 bb4: ; preds = %bb3 %16 = load i8*, i8** %_20 %17 = icmp ne i8* %16, null %18 = zext i1 %17 to i16 switch i16 %18, label %bb6 [ i16 0, label %bb5 ] bb5: ; preds = %bb4 %19 = load i32, i32* %carry %20 = icmp ugt i32 %19, 0 br i1 %20, label %bb8, label %bb9 bb6: ; preds = %bb4 %21 = bitcast i8** %_20 to i32** %22 = load i32*, i32** %21, !nonnull !1 %23 = load i32, i32* %22 %24 = load i32, i32* %carry call void @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$8full_mul17hbcd14dc9a2957c8bE"({ i32, i32 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %23, i32 %1, i32 %24) %25 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %tmp_ret, i32 0, i32 0 %26 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %tmp_ret, i32 0, i32 1 %27 = load i32, i32* %25 %28 = load i32, i32* %26 br label %bb7 bb7: ; preds = %bb6 store i32 %28, i32* %22 store i32 %27, i32* %carry br label %bb3 bb8: ; preds = %bb5 %29 = load i32, i32* %carry %30 = load i16, i16* %sz %31 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %32 = icmp ult i16 %30, 40 %33 = call i1 @llvm.expect.i1(i1 %32, i1 true) br i1 %33, label %bb10, label %panic bb9: ; preds = %bb5 br label %bb12 bb10: ; preds = %bb8 %34 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %35 = getelementptr inbounds [40 x i32], [40 x i32]* %34, i16 0, i16 %30 store i32 %29, i32* %35 %36 = load i16, i16* %sz %37 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %36, i16 1) %38 = extractvalue { i16, i1 } %37, 0 %39 = extractvalue { i16, i1 } %37, 1 %40 = call i1 @llvm.expect.i1(i1 %39, i1 false) br i1 %40, label %panic1, label %bb11 bb11: ; preds = %bb10 store i16 %38, i16* %sz br label %bb12 bb12: ; preds = %bb9, %bb11 %41 = load i16, i16* %sz %42 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 store i16 %41, i16* %42 ret %"num::bignum::Big32x40"* %0 panic: ; preds = %bb8 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aJ, i16 %30, i16 40) unreachable panic1: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aK) unreachable } ; Function Attrs: uwtable define dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164), i16) unnamed_addr #1 { entry-block: %arg23 = alloca %"ops::Range" %arg14 = alloca %"ops::Range" %tmp_ret = alloca %"ops::Range" %arg = alloca %"ops::Range" %_144 = alloca %"option::Option" %iter4 = alloca %"iter::Rev>" %_138 = alloca %"ops::Range" %_137 = alloca %"iter::Rev>" %_136 = alloca %"iter::Rev>" %_result3 = alloca {} %_126 = alloca {} %_108 = alloca {} %sz = alloca i16 %_95 = alloca %"option::Option" %iter2 = alloca %"ops::Range" %_92 = alloca %"ops::Range" %_result1 = alloca {} %_72 = alloca %"option::Option" %_71 = alloca {} %iter = alloca %"iter::Rev>" %_68 = alloca %"ops::Range" %_67 = alloca %"iter::Rev>" %_66 = alloca %"iter::Rev>" %_result = alloca {} %_43 = alloca i8 %_41 = alloca {} %_40 = alloca {} %_37 = alloca %closure.47 %_33 = alloca %"ops::RangeFrom" %_28 = alloca %"slice::Iter" %_24 = alloca {} %_23 = alloca {} %_17 = alloca {} br label %start start: ; preds = %entry-block %2 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %3 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %2, i16 8) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb2 bb2: ; preds = %bb1 %7 = icmp eq i16 %4, 0 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic5, label %bb3 bb3: ; preds = %bb2 %9 = udiv i16 %1, %4 %10 = icmp eq i16 %4, 0 %11 = call i1 @llvm.expect.i1(i1 %10, i1 false) br i1 %11, label %panic6, label %bb4 bb4: ; preds = %bb3 %12 = urem i16 %1, %4 %13 = icmp ult i16 %9, 40 %14 = xor i1 %13, true br i1 %14, label %bb5, label %bb6 bb5: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum8Big32x408mul_pow214_MSG_FILE_LINE17hf068252aab141b94E) unreachable bb6: ; preds = %bb4 %15 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %16 = bitcast [40 x i32]* %15 to i32* %17 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 40, i16 %9) %18 = extractvalue { i16, i1 } %17, 0 %19 = extractvalue { i16, i1 } %17, 1 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic7, label %bb7 bb7: ; preds = %bb6 %21 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_33, i32 0, i32 0 store i16 %18, i16* %21 %22 = bitcast %"ops::RangeFrom"* %_33 to i16* %23 = load i16, i16* %22, align 2 %24 = call { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hcfd8b38f74e404a2E"(i32* noalias nonnull readonly %16, i16 40, i16 %23) %25 = extractvalue { i32*, i16 } %24, 0 %26 = extractvalue { i32*, i16 } %24, 1 br label %bb8 bb8: ; preds = %bb7 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h339a5ca69547581eE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_28, i32* noalias nonnull readonly %25, i16 %26) br label %bb9 bb9: ; preds = %bb8 %27 = call zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h32cceede8c6c41e6E"(%"slice::Iter"* dereferenceable(4) %_28) br label %bb10 bb10: ; preds = %bb9 %28 = xor i1 %27, true br i1 %28, label %bb11, label %bb12 bb11: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum8Big32x408mul_pow214_MSG_FILE_LINE17hca09544eabb18052E) unreachable bb12: ; preds = %bb10 %29 = icmp eq i16 %12, 0 br i1 %29, label %bb13, label %bb15 bb13: ; preds = %bb21, %bb12 store i8 1, i8* %_43 br label %bb16 bb14: ; preds = %bb21 store i8 0, i8* %_43 br label %bb16 bb15: ; preds = %bb12 %30 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %31 = bitcast [40 x i32]* %30 to i32* %32 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 40, i16 %9) %33 = extractvalue { i16, i1 } %32, 0 %34 = extractvalue { i16, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic8, label %bb17 bb16: ; preds = %bb14, %bb13 %36 = load i8, i8* %_43, !range !2 %37 = trunc i8 %36 to i1 %38 = xor i1 %37, true br i1 %38, label %bb22, label %bb23 bb17: ; preds = %bb15 %39 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %33, i16 1) %40 = extractvalue { i16, i1 } %39, 0 %41 = extractvalue { i16, i1 } %39, 1 %42 = call i1 @llvm.expect.i1(i1 %41, i1 false) br i1 %42, label %panic9, label %bb18 bb18: ; preds = %bb17 %43 = call dereferenceable(4) i32* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h56e0198429dc7869E"(i32* noalias nonnull readonly %31, i16 40, i16 %40) br label %bb19 bb19: ; preds = %bb18 %44 = load i32, i32* %43 %45 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 %12) %46 = extractvalue { i16, i1 } %45, 0 %47 = extractvalue { i16, i1 } %45, 1 %48 = call i1 @llvm.expect.i1(i1 %47, i1 false) br i1 %48, label %panic10, label %bb20 bb20: ; preds = %bb19 %49 = and i16 %46, -32 %50 = icmp ne i16 %49, 0 %51 = zext i16 %46 to i32 %52 = and i32 %51, 31 %53 = lshr i32 %44, %52 %54 = call i1 @llvm.expect.i1(i1 %50, i1 false) br i1 %54, label %panic11, label %bb21 bb21: ; preds = %bb20 %55 = icmp eq i32 %53, 0 br i1 %55, label %bb13, label %bb14 bb22: ; preds = %bb16 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum8Big32x408mul_pow214_MSG_FILE_LINE17hd3f1779aacd41852E) unreachable bb23: ; preds = %bb16 %56 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 %57 = load i16, i16* %56 %58 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_68, i32 0, i32 0 store i16 0, i16* %58 %59 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_68, i32 0, i32 1 store i16 %57, i16* %59 %60 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_68, i32 0, i32 0 %61 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_68, i32 0, i32 1 %62 = load i16, i16* %60 %63 = load i16, i16* %61 %64 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %62, i16* %64 %65 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %63, i16* %65 call void @_ZN4core4iter8iterator8Iterator3rev17hb9f594bea3752bf4E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_67, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) br label %bb24 bb24: ; preds = %bb23 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha5f1e23b4e5fe1daE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_66, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_67) br label %bb25 bb25: ; preds = %bb24 %66 = bitcast %"iter::Rev>"* %_66 to i8* %67 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %67, i8* %66, i16 4, i32 2, i1 false) br label %bb26 bb26: ; preds = %bb32, %bb25 call void @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf4e559224378bdcdE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_72, %"iter::Rev>"* dereferenceable(4) %iter) br label %bb27 bb27: ; preds = %bb26 %68 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %69 = load i16, i16* %68, !range !3 switch i16 %69, label %bb29 [ i16 0, label %bb28 ] bb28: ; preds = %bb27 %70 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_92, i32 0, i32 0 store i16 0, i16* %70 %71 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_92, i32 0, i32 1 store i16 %9, i16* %71 %72 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_92, i32 0, i32 0 %73 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_92, i32 0, i32 1 %74 = load i16, i16* %72 %75 = load i16, i16* %73 %76 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg14, i32 0, i32 0 store i16 %74, i16* %76 %77 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg14, i32 0, i32 1 store i16 %75, i16* %77 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"ops::Range"* noalias nocapture dereferenceable(4) %arg14) %78 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 0 %79 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 1 %80 = load i16, i16* %78 %81 = load i16, i16* %79 br label %bb33 bb29: ; preds = %bb27 %82 = bitcast %"option::Option"* %_72 to { i16, i16 }* %83 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %82, i32 0, i32 1 %84 = load i16, i16* %83 %85 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %86 = icmp ult i16 %84, 40 %87 = call i1 @llvm.expect.i1(i1 %86, i1 true) br i1 %87, label %bb30, label %panic12 bb30: ; preds = %bb29 %88 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %89 = getelementptr inbounds [40 x i32], [40 x i32]* %88, i16 0, i16 %84 %90 = load i32, i32* %89 %91 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %92 = bitcast [40 x i32]* %91 to i32* %93 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %84, i16 %9) %94 = extractvalue { i16, i1 } %93, 0 %95 = extractvalue { i16, i1 } %93, 1 %96 = call i1 @llvm.expect.i1(i1 %95, i1 false) br i1 %96, label %panic13, label %bb31 bb31: ; preds = %bb30 %97 = call dereferenceable(4) i32* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h5ee4318facc3f224E"(i32* nonnull %92, i16 40, i16 %94) br label %bb32 bb32: ; preds = %bb31 store i32 %90, i32* %97 br label %bb26 bb33: ; preds = %bb28 %98 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 0 store i16 %80, i16* %98 %99 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 1 store i16 %81, i16* %99 br label %bb34 bb34: ; preds = %bb38, %bb33 call void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_95, %"ops::Range"* dereferenceable(4) %iter2) br label %bb35 bb35: ; preds = %bb34 %100 = getelementptr inbounds %"option::Option", %"option::Option"* %_95, i32 0, i32 0 %101 = load i16, i16* %100, !range !3 switch i16 %101, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 %102 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 %103 = load i16, i16* %102 %104 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %103, i16 %9) %105 = extractvalue { i16, i1 } %104, 0 %106 = extractvalue { i16, i1 } %104, 1 %107 = call i1 @llvm.expect.i1(i1 %106, i1 false) br i1 %107, label %panic16, label %bb39 bb37: ; preds = %bb35 %108 = bitcast %"option::Option"* %_95 to { i16, i16 }* %109 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %108, i32 0, i32 1 %110 = load i16, i16* %109 %111 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %112 = icmp ult i16 %110, 40 %113 = call i1 @llvm.expect.i1(i1 %112, i1 true) br i1 %113, label %bb38, label %panic15 bb38: ; preds = %bb37 %114 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %115 = getelementptr inbounds [40 x i32], [40 x i32]* %114, i16 0, i16 %110 store i32 0, i32* %115 br label %bb34 bb39: ; preds = %bb36 store i16 %105, i16* %sz %116 = icmp ugt i16 %12, 0 br i1 %116, label %bb40, label %bb41 bb40: ; preds = %bb39 %117 = load i16, i16* %sz %118 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %119 = bitcast [40 x i32]* %118 to i32* %120 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %117, i16 1) %121 = extractvalue { i16, i1 } %120, 0 %122 = extractvalue { i16, i1 } %120, 1 %123 = call i1 @llvm.expect.i1(i1 %122, i1 false) br i1 %123, label %panic17, label %bb42 bb41: ; preds = %bb39 br label %bb67 bb42: ; preds = %bb40 %124 = call dereferenceable(4) i32* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h56e0198429dc7869E"(i32* noalias nonnull readonly %119, i16 40, i16 %121) br label %bb43 bb43: ; preds = %bb42 %125 = load i32, i32* %124 %126 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 %12) %127 = extractvalue { i16, i1 } %126, 0 %128 = extractvalue { i16, i1 } %126, 1 %129 = call i1 @llvm.expect.i1(i1 %128, i1 false) br i1 %129, label %panic18, label %bb44 bb44: ; preds = %bb43 %130 = and i16 %127, -32 %131 = icmp ne i16 %130, 0 %132 = zext i16 %127 to i32 %133 = and i32 %132, 31 %134 = lshr i32 %125, %133 %135 = call i1 @llvm.expect.i1(i1 %131, i1 false) br i1 %135, label %panic19, label %bb45 bb45: ; preds = %bb44 %136 = icmp ugt i32 %134, 0 br i1 %136, label %bb46, label %bb47 bb46: ; preds = %bb45 %137 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %138 = icmp ult i16 %117, 40 %139 = call i1 @llvm.expect.i1(i1 %138, i1 true) br i1 %139, label %bb48, label %panic20 bb47: ; preds = %bb45 br label %bb50 bb48: ; preds = %bb46 %140 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %141 = getelementptr inbounds [40 x i32], [40 x i32]* %140, i16 0, i16 %117 store i32 %134, i32* %141 %142 = load i16, i16* %sz %143 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %142, i16 1) %144 = extractvalue { i16, i1 } %143, 0 %145 = extractvalue { i16, i1 } %143, 1 %146 = call i1 @llvm.expect.i1(i1 %145, i1 false) br i1 %146, label %panic21, label %bb49 bb49: ; preds = %bb48 store i16 %144, i16* %sz br label %bb50 bb50: ; preds = %bb47, %bb49 %147 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %9, i16 1) %148 = extractvalue { i16, i1 } %147, 0 %149 = extractvalue { i16, i1 } %147, 1 %150 = call i1 @llvm.expect.i1(i1 %149, i1 false) br i1 %150, label %panic22, label %bb51 bb51: ; preds = %bb50 %151 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_138, i32 0, i32 0 store i16 %148, i16* %151 %152 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_138, i32 0, i32 1 store i16 %117, i16* %152 %153 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_138, i32 0, i32 0 %154 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_138, i32 0, i32 1 %155 = load i16, i16* %153 %156 = load i16, i16* %154 %157 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg23, i32 0, i32 0 store i16 %155, i16* %157 %158 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg23, i32 0, i32 1 store i16 %156, i16* %158 call void @_ZN4core4iter8iterator8Iterator3rev17hb9f594bea3752bf4E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_137, %"ops::Range"* noalias nocapture dereferenceable(4) %arg23) br label %bb52 bb52: ; preds = %bb51 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha5f1e23b4e5fe1daE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_136, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_137) br label %bb53 bb53: ; preds = %bb52 %159 = bitcast %"iter::Rev>"* %_136 to i8* %160 = bitcast %"iter::Rev>"* %iter4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %160, i8* %159, i16 4, i32 2, i1 false) br label %bb54 bb54: ; preds = %bb64, %bb53 call void @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf4e559224378bdcdE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_144, %"iter::Rev>"* dereferenceable(4) %iter4) br label %bb55 bb55: ; preds = %bb54 %161 = getelementptr inbounds %"option::Option", %"option::Option"* %_144, i32 0, i32 0 %162 = load i16, i16* %161, !range !3 switch i16 %162, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 %163 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %164 = icmp ult i16 %9, 40 %165 = call i1 @llvm.expect.i1(i1 %164, i1 true) br i1 %165, label %bb65, label %panic30 bb57: ; preds = %bb55 %166 = bitcast %"option::Option"* %_144 to { i16, i16 }* %167 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %166, i32 0, i32 1 %168 = load i16, i16* %167 %169 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %170 = icmp ult i16 %168, 40 %171 = call i1 @llvm.expect.i1(i1 %170, i1 true) br i1 %171, label %bb58, label %panic24 bb58: ; preds = %bb57 %172 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %173 = getelementptr inbounds [40 x i32], [40 x i32]* %172, i16 0, i16 %168 %174 = load i32, i32* %173 %175 = and i16 %12, -32 %176 = icmp ne i16 %175, 0 %177 = zext i16 %12 to i32 %178 = and i32 %177, 31 %179 = shl i32 %174, %178 %180 = call i1 @llvm.expect.i1(i1 %176, i1 false) br i1 %180, label %panic25, label %bb59 bb59: ; preds = %bb58 %181 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %182 = bitcast [40 x i32]* %181 to i32* %183 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %168, i16 1) %184 = extractvalue { i16, i1 } %183, 0 %185 = extractvalue { i16, i1 } %183, 1 %186 = call i1 @llvm.expect.i1(i1 %185, i1 false) br i1 %186, label %panic26, label %bb60 bb60: ; preds = %bb59 %187 = call dereferenceable(4) i32* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h56e0198429dc7869E"(i32* noalias nonnull readonly %182, i16 40, i16 %184) br label %bb61 bb61: ; preds = %bb60 %188 = load i32, i32* %187 %189 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 %12) %190 = extractvalue { i16, i1 } %189, 0 %191 = extractvalue { i16, i1 } %189, 1 %192 = call i1 @llvm.expect.i1(i1 %191, i1 false) br i1 %192, label %panic27, label %bb62 bb62: ; preds = %bb61 %193 = and i16 %190, -32 %194 = icmp ne i16 %193, 0 %195 = zext i16 %190 to i32 %196 = and i32 %195, 31 %197 = lshr i32 %188, %196 %198 = call i1 @llvm.expect.i1(i1 %194, i1 false) br i1 %198, label %panic28, label %bb63 bb63: ; preds = %bb62 %199 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %200 = icmp ult i16 %168, 40 %201 = call i1 @llvm.expect.i1(i1 %200, i1 true) br i1 %201, label %bb64, label %panic29 bb64: ; preds = %bb63 %202 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %203 = getelementptr inbounds [40 x i32], [40 x i32]* %202, i16 0, i16 %168 %204 = or i32 %179, %197 store i32 %204, i32* %203 br label %bb54 bb65: ; preds = %bb56 %205 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %206 = getelementptr inbounds [40 x i32], [40 x i32]* %205, i16 0, i16 %9 %207 = load i32, i32* %206 %208 = and i16 %12, -32 %209 = icmp ne i16 %208, 0 %210 = zext i16 %12 to i32 %211 = and i32 %210, 31 %212 = shl i32 %207, %211 %213 = call i1 @llvm.expect.i1(i1 %209, i1 false) br i1 %213, label %panic31, label %bb66 bb66: ; preds = %bb65 %214 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %215 = getelementptr inbounds [40 x i32], [40 x i32]* %214, i16 0, i16 %9 store i32 %212, i32* %215 br label %bb67 bb67: ; preds = %bb41, %bb66 %216 = load i16, i16* %sz %217 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 store i16 %216, i16* %217 ret %"num::bignum::Big32x40"* %0 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aL) unreachable panic5: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aM) unreachable panic6: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aN) unreachable panic7: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aO) unreachable panic8: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aP) unreachable panic9: ; preds = %bb17 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aP) unreachable panic10: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aP) unreachable panic11: ; preds = %bb20 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aQ) unreachable panic12: ; preds = %bb29 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aR, i16 %84, i16 40) unreachable panic13: ; preds = %bb30 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aS) unreachable panic15: ; preds = %bb37 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aT, i16 %110, i16 40) unreachable panic16: ; preds = %bb36 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aU) unreachable panic17: ; preds = %bb40 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aV) unreachable panic18: ; preds = %bb43 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aV) unreachable panic19: ; preds = %bb44 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aW) unreachable panic20: ; preds = %bb46 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aX, i16 %117, i16 40) unreachable panic21: ; preds = %bb48 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aY) unreachable panic22: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aZ) unreachable panic24: ; preds = %bb57 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.b0, i16 %168, i16 40) unreachable panic25: ; preds = %bb58 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b1) unreachable panic26: ; preds = %bb59 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b2) unreachable panic27: ; preds = %bb61 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b2) unreachable panic28: ; preds = %bb62 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b3) unreachable panic29: ; preds = %bb63 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.b0, i16 %168, i16 40) unreachable panic30: ; preds = %bb56 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.b4, i16 %9, i16 40) unreachable panic31: ; preds = %bb65 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b5) unreachable } ; Function Attrs: uwtable define dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517hbf03401025bdf13aE(%"num::bignum::Big32x40"* dereferenceable(164), i16) unnamed_addr #1 { entry-block: %arg = alloca %"ops::Range" %tmp_ret = alloca %"ops::Range" %_34 = alloca %"option::Option" %iter = alloca %"ops::Range" %_31 = alloca %"ops::Range" %_result = alloca {} %rest_power = alloca i32 %_21 = alloca {} %_17 = alloca {} %_11 = alloca [3 x { i64, i16 }] %e = alloca i16 br label %start start: ; preds = %entry-block store i16 %1, i16* %e %2 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %3 = call i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$14trailing_zeros17h77bb088082b1f2c1E"(i16 %2) br label %bb2 bb2: ; preds = %bb1 %4 = trunc i32 %3 to i16 %5 = bitcast [3 x { i64, i16 }]* %_11 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* bitcast ({ { i64, i16, [6 x i8] }, { i64, i16, [6 x i8] }, { i64, i16, [6 x i8] } }* @const.b6 to i8*), i16 48, i32 8, i1 false) %6 = icmp ult i16 %4, 3 %7 = call i1 @llvm.expect.i1(i1 %6, i1 true) br i1 %7, label %bb3, label %panic bb3: ; preds = %bb2 %8 = getelementptr inbounds [3 x { i64, i16 }], [3 x { i64, i16 }]* %_11, i16 0, i16 %4 %9 = getelementptr inbounds { i64, i16 }, { i64, i16 }* %8, i32 0, i32 0 %10 = load i64, i64* %9 %11 = getelementptr inbounds [3 x { i64, i16 }], [3 x { i64, i16 }]* %_11, i16 0, i16 %4 %12 = getelementptr inbounds { i64, i16 }, { i64, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 %14 = trunc i64 %10 to i32 br label %bb4 bb4: ; preds = %bb8, %bb3 %15 = load i16, i16* %e %16 = icmp uge i16 %15, %13 br i1 %16, label %bb6, label %bb5 bb5: ; preds = %bb4 store i32 1, i32* %rest_power %17 = load i16, i16* %e %18 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_31, i32 0, i32 0 store i16 0, i16* %18 %19 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_31, i32 0, i32 1 store i16 %17, i16* %19 %20 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_31, i32 0, i32 0 %21 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_31, i32 0, i32 1 %22 = load i16, i16* %20 %23 = load i16, i16* %21 %24 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %22, i16* %24 %25 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %23, i16* %25 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) %26 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 0 %27 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 1 %28 = load i16, i16* %26 %29 = load i16, i16* %27 br label %bb9 bb6: ; preds = %bb4 %30 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %0, i32 %14) br label %bb7 bb7: ; preds = %bb6 %31 = load i16, i16* %e %32 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %31, i16 %13) %33 = extractvalue { i16, i1 } %32, 0 %34 = extractvalue { i16, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic1, label %bb8 bb8: ; preds = %bb7 store i16 %33, i16* %e br label %bb4 bb9: ; preds = %bb5 %36 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 0 store i16 %28, i16* %36 %37 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 1 store i16 %29, i16* %37 br label %bb10 bb10: ; preds = %bb14, %bb9 call void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_34, %"ops::Range"* dereferenceable(4) %iter) br label %bb11 bb11: ; preds = %bb10 %38 = getelementptr inbounds %"option::Option", %"option::Option"* %_34, i32 0, i32 0 %39 = load i16, i16* %38, !range !3 switch i16 %39, label %bb12 [ i16 0, label %bb13 ] bb12: ; preds = %bb11 %40 = load i32, i32* %rest_power %41 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %40, i32 5) %42 = extractvalue { i32, i1 } %41, 0 %43 = extractvalue { i32, i1 } %41, 1 %44 = call i1 @llvm.expect.i1(i1 %43, i1 false) br i1 %44, label %panic2, label %bb14 bb13: ; preds = %bb11 %45 = load i32, i32* %rest_power %46 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x409mul_small17hc253c7b36036ff50E(%"num::bignum::Big32x40"* dereferenceable(164) %0, i32 %45) br label %bb15 bb14: ; preds = %bb12 store i32 %42, i32* %rest_power br label %bb10 bb15: ; preds = %bb13 ret %"num::bignum::Big32x40"* %0 panic: ; preds = %bb2 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.b7, i16 %4, i16 3) unreachable panic1: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b8) unreachable panic2: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b9) unreachable } ; Function Attrs: uwtable define dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h944414df05bbbe83E(%"num::bignum::Big32x40"* dereferenceable(164), i32* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %_26 = alloca [40 x i32] %_24 = alloca { i32*, i16 } %_16 = alloca { i32*, i16 } %retsz = alloca i16 %ret = alloca [40 x i32] br label %start start: ; preds = %entry-block %3 = getelementptr inbounds [40 x i32], [40 x i32]* %ret, i32 0, i32 0 %4 = getelementptr inbounds i32, i32* %3, i16 40 br label %slice_loop_header bb1: ; preds = %slice_loop_next %5 = icmp ult i16 %27, %28 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = call { i32*, i16 } @_ZN4core3num6bignum8Big32x406digits17h47e6de10cbef4a18E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) store { i32*, i16 } %6, { i32*, i16 }* %_16 br label %bb4 bb3: ; preds = %bb1 %7 = call { i32*, i16 } @_ZN4core3num6bignum8Big32x406digits17h47e6de10cbef4a18E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) store { i32*, i16 } %7, { i32*, i16 }* %_24 br label %bb6 bb4: ; preds = %bb2 %8 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %_16, i32 0, i32 0 %9 = load i32*, i32** %8, !nonnull !1 %10 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %_16, i32 0, i32 1 %11 = load i16, i16* %10 %12 = call i16 @_ZN4core3num6bignum8Big32x4010mul_digits9mul_inner17h618379118c5270edE([40 x i32]* dereferenceable(160) %ret, i32* noalias nonnull readonly %9, i16 %11, i32* noalias nonnull readonly %1, i16 %2) store i16 %12, i16* %retsz br label %bb5 bb5: ; preds = %bb4 br label %bb8 bb6: ; preds = %bb3 %13 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %_24, i32 0, i32 0 %14 = load i32*, i32** %13, !nonnull !1 %15 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %_24, i32 0, i32 1 %16 = load i16, i16* %15 %17 = call i16 @_ZN4core3num6bignum8Big32x4010mul_digits9mul_inner17h618379118c5270edE([40 x i32]* dereferenceable(160) %ret, i32* noalias nonnull readonly %1, i16 %2, i32* noalias nonnull readonly %14, i16 %16) store i16 %17, i16* %retsz br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb7, %bb5 %18 = bitcast [40 x i32]* %ret to i8* %19 = bitcast [40 x i32]* %_26 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 160, i32 4, i1 false) %20 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %21 = bitcast [40 x i32]* %_26 to i8* %22 = bitcast [40 x i32]* %20 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 160, i32 4, i1 false) %23 = load i16, i16* %retsz %24 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 store i16 %23, i16* %24 ret %"num::bignum::Big32x40"* %0 slice_loop_body: ; preds = %slice_loop_header %25 = getelementptr inbounds i32, i32* %29, i16 1 store i32 0, i32* %29 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %26 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 %27 = load i16, i16* %26 %28 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %1, i16 %2) br label %bb1 slice_loop_header: ; preds = %slice_loop_body, %start %29 = phi i32* [ %3, %start ], [ %25, %slice_loop_body ] %30 = icmp ne i32* %29, %4 br i1 %30, label %slice_loop_body, label %slice_loop_next } ; Function Attrs: uwtable define internal i16 @_ZN4core3num6bignum8Big32x4010mul_digits9mul_inner17h618379118c5270edE([40 x i32]* dereferenceable(160), i32* noalias nonnull readonly, i16, i32* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %tmp_ret = alloca { i32, i32 } %_65 = alloca {} %_35 = alloca %"option::Option<(usize, &u32)>" %iter2 = alloca %"iter::Enumerate>" %_32 = alloca %"slice::Iter" %_31 = alloca %"iter::Enumerate>" %_30 = alloca %"iter::Enumerate>" %_result1 = alloca {} %carry = alloca i32 %sz = alloca i16 %_22 = alloca {} %_16 = alloca %"option::Option<(usize, &u32)>" %_15 = alloca {} %iter = alloca %"iter::Enumerate>" %_12 = alloca %"slice::Iter" %_11 = alloca %"iter::Enumerate>" %_10 = alloca %"iter::Enumerate>" %_result = alloca {} %retsz = alloca i16 br label %start start: ; preds = %entry-block store i16 0, i16* %retsz call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h339a5ca69547581eE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_12, i32* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start call void @_ZN4core4iter8iterator8Iterator9enumerate17h6cc968e11ac0e768E(%"iter::Enumerate>"* noalias nocapture sret dereferenceable(6) %_11, %"slice::Iter"* noalias nocapture dereferenceable(4) %_12) br label %bb2 bb2: ; preds = %bb1 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h7da68fe5f5e8c742E"(%"iter::Enumerate>"* noalias nocapture sret dereferenceable(6) %_10, %"iter::Enumerate>"* noalias nocapture dereferenceable(6) %_11) br label %bb3 bb3: ; preds = %bb2 %5 = bitcast %"iter::Enumerate>"* %_10 to i8* %6 = bitcast %"iter::Enumerate>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 6, i32 2, i1 false) br label %bb4 bb4: ; preds = %bb33, %bb9, %bb3 call void @"_ZN81_$LT$core..iter..Enumerate$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h575afe8093a9dd38E"(%"option::Option<(usize, &u32)>"* noalias nocapture sret dereferenceable(4) %_16, %"iter::Enumerate>"* dereferenceable(6) %iter) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"option::Option<(usize, &u32)>", %"option::Option<(usize, &u32)>"* %_16, i32 0, i32 0, i32 1 %8 = load i32*, i32** %7 %9 = icmp ne i32* %8, null %10 = zext i1 %9 to i16 switch i16 %10, label %bb7 [ i16 0, label %bb6 ] bb6: ; preds = %bb5 %11 = load i16, i16* %retsz ret i16 %11 bb7: ; preds = %bb5 %12 = getelementptr inbounds %"option::Option<(usize, &u32)>", %"option::Option<(usize, &u32)>"* %_16, i32 0, i32 0 %13 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %12, i32 0, i32 0 %14 = load i16, i16* %13 %15 = getelementptr inbounds %"option::Option<(usize, &u32)>", %"option::Option<(usize, &u32)>"* %_16, i32 0, i32 0 %16 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %15, i32 0, i32 1 %17 = load i32*, i32** %16, !nonnull !1 %18 = load i32, i32* %17 %19 = icmp eq i32 %18, 0 br i1 %19, label %bb9, label %bb8 bb8: ; preds = %bb7 %20 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h4ada417eb0faac51E"(i32* noalias nonnull readonly %3, i16 %4) store i16 %20, i16* %sz br label %bb10 bb9: ; preds = %bb7 br label %bb4 bb10: ; preds = %bb8 store i32 0, i32* %carry call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h339a5ca69547581eE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_32, i32* noalias nonnull readonly %3, i16 %4) br label %bb11 bb11: ; preds = %bb10 call void @_ZN4core4iter8iterator8Iterator9enumerate17h6cc968e11ac0e768E(%"iter::Enumerate>"* noalias nocapture sret dereferenceable(6) %_31, %"slice::Iter"* noalias nocapture dereferenceable(4) %_32) br label %bb12 bb12: ; preds = %bb11 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h7da68fe5f5e8c742E"(%"iter::Enumerate>"* noalias nocapture sret dereferenceable(6) %_30, %"iter::Enumerate>"* noalias nocapture dereferenceable(6) %_31) br label %bb13 bb13: ; preds = %bb12 %21 = bitcast %"iter::Enumerate>"* %_30 to i8* %22 = bitcast %"iter::Enumerate>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 6, i32 2, i1 false) br label %bb14 bb14: ; preds = %bb22, %bb13 call void @"_ZN81_$LT$core..iter..Enumerate$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h575afe8093a9dd38E"(%"option::Option<(usize, &u32)>"* noalias nocapture sret dereferenceable(4) %_35, %"iter::Enumerate>"* dereferenceable(6) %iter2) br label %bb15 bb15: ; preds = %bb14 %23 = getelementptr inbounds %"option::Option<(usize, &u32)>", %"option::Option<(usize, &u32)>"* %_35, i32 0, i32 0, i32 1 %24 = load i32*, i32** %23 %25 = icmp ne i32* %24, null %26 = zext i1 %25 to i16 switch i16 %26, label %bb17 [ i16 0, label %bb16 ] bb16: ; preds = %bb15 %27 = load i32, i32* %carry %28 = icmp ugt i32 %27, 0 br i1 %28, label %bb23, label %bb24 bb17: ; preds = %bb15 %29 = getelementptr inbounds %"option::Option<(usize, &u32)>", %"option::Option<(usize, &u32)>"* %_35, i32 0, i32 0 %30 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %29, i32 0, i32 0 %31 = load i16, i16* %30 %32 = getelementptr inbounds %"option::Option<(usize, &u32)>", %"option::Option<(usize, &u32)>"* %_35, i32 0, i32 0 %33 = getelementptr inbounds { i16, i32* }, { i16, i32* }* %32, i32 0, i32 1 %34 = load i32*, i32** %33, !nonnull !1 %35 = load i32, i32* %34 %36 = bitcast [40 x i32]* %0 to i32* %37 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %14, i16 %31) %38 = extractvalue { i16, i1 } %37, 0 %39 = extractvalue { i16, i1 } %37, 1 %40 = call i1 @llvm.expect.i1(i1 %39, i1 false) br i1 %40, label %panic, label %bb18 bb18: ; preds = %bb17 %41 = call dereferenceable(4) i32* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h56e0198429dc7869E"(i32* noalias nonnull readonly %36, i16 40, i16 %38) br label %bb19 bb19: ; preds = %bb18 %42 = load i32, i32* %41 %43 = load i32, i32* %carry call void @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$12full_mul_add17h41753ee4bea4dc48E"({ i32, i32 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %18, i32 %35, i32 %42, i32 %43) %44 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %tmp_ret, i32 0, i32 0 %45 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %tmp_ret, i32 0, i32 1 %46 = load i32, i32* %44 %47 = load i32, i32* %45 br label %bb20 bb20: ; preds = %bb19 %48 = bitcast [40 x i32]* %0 to i32* %49 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %14, i16 %31) %50 = extractvalue { i16, i1 } %49, 0 %51 = extractvalue { i16, i1 } %49, 1 %52 = call i1 @llvm.expect.i1(i1 %51, i1 false) br i1 %52, label %panic3, label %bb21 bb21: ; preds = %bb20 %53 = call dereferenceable(4) i32* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h5ee4318facc3f224E"(i32* nonnull %48, i16 40, i16 %50) br label %bb22 bb22: ; preds = %bb21 store i32 %47, i32* %53 store i32 %46, i32* %carry br label %bb14 bb23: ; preds = %bb16 %54 = load i32, i32* %carry %55 = bitcast [40 x i32]* %0 to i32* %56 = load i16, i16* %sz %57 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %14, i16 %56) %58 = extractvalue { i16, i1 } %57, 0 %59 = extractvalue { i16, i1 } %57, 1 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic4, label %bb25 bb24: ; preds = %bb16 br label %bb28 bb25: ; preds = %bb23 %61 = call dereferenceable(4) i32* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h5ee4318facc3f224E"(i32* nonnull %55, i16 40, i16 %58) br label %bb26 bb26: ; preds = %bb25 store i32 %54, i32* %61 %62 = load i16, i16* %sz %63 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %62, i16 1) %64 = extractvalue { i16, i1 } %63, 0 %65 = extractvalue { i16, i1 } %63, 1 %66 = call i1 @llvm.expect.i1(i1 %65, i1 false) br i1 %66, label %panic5, label %bb27 bb27: ; preds = %bb26 store i16 %64, i16* %sz br label %bb28 bb28: ; preds = %bb24, %bb27 %67 = load i16, i16* %retsz %68 = load i16, i16* %sz %69 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %14, i16 %68) %70 = extractvalue { i16, i1 } %69, 0 %71 = extractvalue { i16, i1 } %69, 1 %72 = call i1 @llvm.expect.i1(i1 %71, i1 false) br i1 %72, label %panic6, label %bb29 bb29: ; preds = %bb28 %73 = icmp ult i16 %67, %70 br i1 %73, label %bb30, label %bb31 bb30: ; preds = %bb29 %74 = load i16, i16* %sz %75 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %14, i16 %74) %76 = extractvalue { i16, i1 } %75, 0 %77 = extractvalue { i16, i1 } %75, 1 %78 = call i1 @llvm.expect.i1(i1 %77, i1 false) br i1 %78, label %panic7, label %bb32 bb31: ; preds = %bb29 br label %bb33 bb32: ; preds = %bb30 store i16 %76, i16* %retsz br label %bb33 bb33: ; preds = %bb31, %bb32 br label %bb4 panic: ; preds = %bb17 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ba) unreachable panic3: ; preds = %bb20 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bb) unreachable panic4: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bc) unreachable panic5: ; preds = %bb26 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bd) unreachable panic6: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.be) unreachable panic7: ; preds = %bb30 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bf) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num6bignum8Big32x4013div_rem_small17h0ac24309684bb9e6E({ %"num::bignum::Big32x40"*, i32 }* noalias nocapture sret dereferenceable(8), %"num::bignum::Big32x40"* dereferenceable(164), i32) unnamed_addr #1 { entry-block: %tmp_ret = alloca { i32, i32 } %_27 = alloca i8* %_26 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"ops::RangeTo" %_18 = alloca %"slice::IterMut" %_17 = alloca %"iter::Rev>" %_16 = alloca %"iter::Rev>" %_result = alloca {} %borrow = alloca i32 %_5 = alloca {} br label %start start: ; preds = %entry-block %3 = icmp ugt i32 %2, 0 %4 = xor i1 %3, true br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum8Big32x4013div_rem_small14_MSG_FILE_LINE17hcbb4e40069f31227E) unreachable bb2: ; preds = %start %5 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i32 0, i32 0 %6 = load i16, i16* %5 store i32 0, i32* %borrow %7 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i32 0, i32 1 %8 = bitcast [40 x i32]* %7 to i32* %9 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_23, i32 0, i32 0 store i16 %6, i16* %9 %10 = bitcast %"ops::RangeTo"* %_23 to i16* %11 = load i16, i16* %10, align 2 %12 = call { i32*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h6258d8a600cd7fc5E"(i32* nonnull %8, i16 40, i16 %11) %13 = extractvalue { i32*, i16 } %12, 0 %14 = extractvalue { i32*, i16 } %12, 1 br label %bb3 bb3: ; preds = %bb2 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h8a1cf42bf0ae4fdcE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_18, i32* nonnull %13, i16 %14) br label %bb4 bb4: ; preds = %bb3 call void @_ZN4core4iter8iterator8Iterator3rev17hdc692c83758a50d7E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_17, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_18) br label %bb5 bb5: ; preds = %bb4 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h123c927df60a6f81E"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_16, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_17) br label %bb6 bb6: ; preds = %bb5 %15 = bitcast %"iter::Rev>"* %_16 to i8* %16 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %15, i16 4, i32 2, i1 false) br label %bb7 bb7: ; preds = %bb11, %bb6 %17 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17haa7d29673b77b8aeE"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %17, i8** %_27 br label %bb8 bb8: ; preds = %bb7 %18 = load i8*, i8** %_27 %19 = icmp ne i8* %18, null %20 = zext i1 %19 to i16 switch i16 %20, label %bb10 [ i16 0, label %bb9 ] bb9: ; preds = %bb8 %21 = load i32, i32* %borrow %22 = getelementptr inbounds { %"num::bignum::Big32x40"*, i32 }, { %"num::bignum::Big32x40"*, i32 }* %0, i32 0, i32 0 store %"num::bignum::Big32x40"* %1, %"num::bignum::Big32x40"** %22 %23 = getelementptr inbounds { %"num::bignum::Big32x40"*, i32 }, { %"num::bignum::Big32x40"*, i32 }* %0, i32 0, i32 1 store i32 %21, i32* %23 ret void bb10: ; preds = %bb8 %24 = bitcast i8** %_27 to i32** %25 = load i32*, i32** %24, !nonnull !1 %26 = load i32, i32* %25 %27 = load i32, i32* %borrow call void @"_ZN50_$LT$u32$u20$as$u20$core..num..bignum..FullOps$GT$12full_div_rem17h04b74da5e03bbd29E"({ i32, i32 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %26, i32 %2, i32 %27) %28 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %tmp_ret, i32 0, i32 0 %29 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %tmp_ret, i32 0, i32 1 %30 = load i32, i32* %28 %31 = load i32, i32* %29 br label %bb11 bb11: ; preds = %bb10 store i32 %30, i32* %25 store i32 %31, i32* %borrow br label %bb7 } ; Function Attrs: uwtable define void @_ZN4core3num6bignum8Big32x407div_rem17h031c011104ba3126E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"num::bignum::Big32x40"* dereferenceable(164), %"num::bignum::Big32x40"* dereferenceable(164)) unnamed_addr #1 { entry-block: %arg = alloca %"ops::Range" %_128 = alloca %closure.49 %_126 = alloca %"ops::RangeFrom" %_121 = alloca %"slice::Iter" %_117 = alloca {} %_116 = alloca {} %_113 = alloca %closure.48 %_111 = alloca %"ops::RangeFrom" %_106 = alloca %"slice::Iter" %_102 = alloca {} %_101 = alloca {} %_90 = alloca {} %_78 = alloca %"num::bignum::Big32x40"* %_76 = alloca %"num::bignum::Big32x40"* %_61 = alloca %"option::Option" %iter4 = alloca %"iter::Rev>" %_58 = alloca %"ops::Range" %_57 = alloca %"iter::Rev>" %_56 = alloca %"iter::Rev>" %_result3 = alloca {} %q_is_zero = alloca i8 %_44 = alloca i8* %iter2 = alloca %"slice::IterMut" %_42 = alloca %"ops::RangeFull" %_37 = alloca %"slice::IterMut" %_result1 = alloca {} %_29 = alloca i8* %_28 = alloca {} %iter = alloca %"slice::IterMut" %_26 = alloca %"ops::RangeFull" %_21 = alloca %"slice::IterMut" %_result = alloca {} %_9 = alloca {} %_0 = alloca {} br label %start start: ; preds = %entry-block %4 = call zeroext i1 @_ZN4core3num6bignum8Big32x407is_zero17h758b2da3fba44433E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1) br label %bb1 bb1: ; preds = %start %5 = xor i1 %4, true %6 = xor i1 %5, true br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum8Big32x407div_rem14_MSG_FILE_LINE17h693bcdaaad40f22eE) unreachable bb3: ; preds = %bb1 %7 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb4 bb4: ; preds = %bb3 %8 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %7, i16 8) %9 = extractvalue { i16, i1 } %8, 0 %10 = extractvalue { i16, i1 } %8, 1 %11 = call i1 @llvm.expect.i1(i1 %10, i1 false) br i1 %11, label %panic, label %bb5 bb5: ; preds = %bb4 %12 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %2, i32 0, i32 1 %13 = bitcast [40 x i32]* %12 to i32* %14 = call { i32*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17ha5597fcfab4163b7E"(i32* nonnull %13, i16 40) %15 = extractvalue { i32*, i16 } %14, 0 %16 = extractvalue { i32*, i16 } %14, 1 br label %bb6 bb6: ; preds = %bb5 call void @"_ZN4core5slice97_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$mut$u20$$u5b$T$u5d$$GT$9into_iter17h437626629bb0957aE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_21, i32* nonnull %15, i16 %16) br label %bb7 bb7: ; preds = %bb6 %17 = bitcast %"slice::IterMut"* %_21 to i8* %18 = bitcast %"slice::IterMut"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %17, i16 4, i32 2, i1 false) br label %bb8 bb8: ; preds = %bb11, %bb7 %19 = call i8* @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h38e164638445c538E"(%"slice::IterMut"* dereferenceable(4) %iter) store i8* %19, i8** %_29 br label %bb9 bb9: ; preds = %bb8 %20 = load i8*, i8** %_29 %21 = icmp ne i8* %20, null %22 = zext i1 %21 to i16 switch i16 %22, label %bb11 [ i16 0, label %bb10 ] bb10: ; preds = %bb9 %23 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %3, i32 0, i32 1 %24 = bitcast [40 x i32]* %23 to i32* %25 = call { i32*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17ha5597fcfab4163b7E"(i32* nonnull %24, i16 40) %26 = extractvalue { i32*, i16 } %25, 0 %27 = extractvalue { i32*, i16 } %25, 1 br label %bb12 bb11: ; preds = %bb9 %28 = bitcast i8** %_29 to i32** %29 = load i32*, i32** %28, !nonnull !1 store i32 0, i32* %29 br label %bb8 bb12: ; preds = %bb10 call void @"_ZN4core5slice97_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$mut$u20$$u5b$T$u5d$$GT$9into_iter17h437626629bb0957aE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_37, i32* nonnull %26, i16 %27) br label %bb13 bb13: ; preds = %bb12 %30 = bitcast %"slice::IterMut"* %_37 to i8* %31 = bitcast %"slice::IterMut"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %30, i16 4, i32 2, i1 false) br label %bb14 bb14: ; preds = %bb17, %bb13 %32 = call i8* @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h38e164638445c538E"(%"slice::IterMut"* dereferenceable(4) %iter2) store i8* %32, i8** %_44 br label %bb15 bb15: ; preds = %bb14 %33 = load i8*, i8** %_44 %34 = icmp ne i8* %33, null %35 = zext i1 %34 to i16 switch i16 %35, label %bb17 [ i16 0, label %bb16 ] bb16: ; preds = %bb15 %36 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i32 0, i32 0 %37 = load i16, i16* %36 %38 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %3, i32 0, i32 0 store i16 %37, i16* %38 %39 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %2, i32 0, i32 0 store i16 1, i16* %39 store i8 1, i8* %q_is_zero %40 = call i16 @_ZN4core3num6bignum8Big32x4010bit_length17he343880f864358b8E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0) br label %bb18 bb17: ; preds = %bb15 %41 = bitcast i8** %_44 to i32** %42 = load i32*, i32** %41, !nonnull !1 store i32 0, i32* %42 br label %bb14 bb18: ; preds = %bb16 %43 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_58, i32 0, i32 0 store i16 0, i16* %43 %44 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_58, i32 0, i32 1 store i16 %40, i16* %44 %45 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_58, i32 0, i32 0 %46 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_58, i32 0, i32 1 %47 = load i16, i16* %45 %48 = load i16, i16* %46 %49 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %47, i16* %49 %50 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %48, i16* %50 call void @_ZN4core4iter8iterator8Iterator3rev17hb9f594bea3752bf4E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_57, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) br label %bb19 bb19: ; preds = %bb18 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha5f1e23b4e5fe1daE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_56, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_57) br label %bb20 bb20: ; preds = %bb19 %51 = bitcast %"iter::Rev>"* %_56 to i8* %52 = bitcast %"iter::Rev>"* %iter4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %52, i8* %51, i16 4, i32 2, i1 false) br label %bb21 bb21: ; preds = %bb40, %bb20 call void @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf4e559224378bdcdE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_61, %"iter::Rev>"* dereferenceable(4) %iter4) br label %bb22 bb22: ; preds = %bb21 %53 = getelementptr inbounds %"option::Option", %"option::Option"* %_61, i32 0, i32 0 %54 = load i16, i16* %53, !range !3 switch i16 %54, label %bb24 [ i16 0, label %bb23 ] bb23: ; preds = %bb22 %55 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %2, i32 0, i32 1 %56 = bitcast [40 x i32]* %55 to i32* %57 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %2, i32 0, i32 0 %58 = load i16, i16* %57 %59 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_111, i32 0, i32 0 store i16 %58, i16* %59 %60 = bitcast %"ops::RangeFrom"* %_111 to i16* %61 = load i16, i16* %60, align 2 %62 = call { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hcfd8b38f74e404a2E"(i32* noalias nonnull readonly %56, i16 40, i16 %61) %63 = extractvalue { i32*, i16 } %62, 0 %64 = extractvalue { i32*, i16 } %62, 1 br label %bb41 bb24: ; preds = %bb22 %65 = bitcast %"option::Option"* %_61 to { i16, i16 }* %66 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %65, i32 0, i32 1 %67 = load i16, i16* %66 %68 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h7ed5787092b5d2b5E(%"num::bignum::Big32x40"* dereferenceable(164) %3, i16 1) br label %bb25 bb25: ; preds = %bb24 %69 = call i8 @_ZN4core3num6bignum8Big32x407get_bit17h842e6148aecc05b7E(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0, i16 %67) br label %bb26 bb26: ; preds = %bb25 %70 = zext i8 %69 to i32 %71 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %3, i32 0, i32 1 br label %bb27 bb27: ; preds = %bb26 %72 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %3, i32 0, i32 1 %73 = getelementptr inbounds [40 x i32], [40 x i32]* %72, i16 0, i16 0 %74 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %3, i32 0, i32 1 %75 = getelementptr inbounds [40 x i32], [40 x i32]* %74, i16 0, i16 0 %76 = load i32, i32* %75 %77 = or i32 %76, %70 store i32 %77, i32* %73 store %"num::bignum::Big32x40"* %3, %"num::bignum::Big32x40"** %_76 store %"num::bignum::Big32x40"* %1, %"num::bignum::Big32x40"** %_78 %78 = call zeroext i1 @"_ZN4core3cmp5impls92_$LT$impl$u20$core..cmp..PartialOrd$LT$$RF$$u27$b$u20$B$GT$$u20$for$u20$$RF$$u27$a$u20$A$GT$2ge17hef32746b8e462a2aE"(%"num::bignum::Big32x40"** noalias readonly dereferenceable(2) %_76, %"num::bignum::Big32x40"** noalias readonly dereferenceable(2) %_78) br label %bb28 bb28: ; preds = %bb27 br i1 %78, label %bb29, label %bb30 bb29: ; preds = %bb28 %79 = call dereferenceable(164) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x403sub17h4bce61ecf63d17b8E(%"num::bignum::Big32x40"* dereferenceable(164) %3, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1) br label %bb31 bb30: ; preds = %bb28 br label %bb40 bb31: ; preds = %bb29 %80 = icmp eq i16 %9, 0 %81 = call i1 @llvm.expect.i1(i1 %80, i1 false) br i1 %81, label %panic5, label %bb32 bb32: ; preds = %bb31 %82 = udiv i16 %67, %9 %83 = icmp eq i16 %9, 0 %84 = call i1 @llvm.expect.i1(i1 %83, i1 false) br i1 %84, label %panic6, label %bb33 bb33: ; preds = %bb32 %85 = urem i16 %67, %9 %86 = load i8, i8* %q_is_zero, !range !2 %87 = trunc i8 %86 to i1 br i1 %87, label %bb34, label %bb35 bb34: ; preds = %bb33 %88 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %82, i16 1) %89 = extractvalue { i16, i1 } %88, 0 %90 = extractvalue { i16, i1 } %88, 1 %91 = call i1 @llvm.expect.i1(i1 %90, i1 false) br i1 %91, label %panic7, label %bb36 bb35: ; preds = %bb33 br label %bb37 bb36: ; preds = %bb34 %92 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %2, i32 0, i32 0 store i16 %89, i16* %92 store i8 0, i8* %q_is_zero br label %bb37 bb37: ; preds = %bb35, %bb36 %93 = and i16 %85, -32 %94 = icmp ne i16 %93, 0 %95 = zext i16 %85 to i32 %96 = and i32 %95, 31 %97 = shl i32 1, %96 %98 = call i1 @llvm.expect.i1(i1 %94, i1 false) br i1 %98, label %panic8, label %bb38 bb38: ; preds = %bb37 %99 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %2, i32 0, i32 1 %100 = icmp ult i16 %82, 40 %101 = call i1 @llvm.expect.i1(i1 %100, i1 true) br i1 %101, label %bb39, label %panic9 bb39: ; preds = %bb38 %102 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %2, i32 0, i32 1 %103 = getelementptr inbounds [40 x i32], [40 x i32]* %102, i16 0, i16 %82 %104 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %2, i32 0, i32 1 %105 = getelementptr inbounds [40 x i32], [40 x i32]* %104, i16 0, i16 %82 %106 = load i32, i32* %105 %107 = or i32 %106, %97 store i32 %107, i32* %103 br label %bb40 bb40: ; preds = %bb30, %bb39 br label %bb21 bb41: ; preds = %bb23 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h339a5ca69547581eE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_106, i32* noalias nonnull readonly %63, i16 %64) br label %bb42 bb42: ; preds = %bb41 %108 = call zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17he88efb31aeef7751E"(%"slice::Iter"* dereferenceable(4) %_106) br label %bb43 bb43: ; preds = %bb42 %109 = xor i1 %108, true br i1 %109, label %bb44, label %bb45 bb44: ; preds = %bb43 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum8Big32x407div_rem14_MSG_FILE_LINE17h1d3fab8f10cd4ca0E) unreachable bb45: ; preds = %bb43 %110 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %3, i32 0, i32 1 %111 = bitcast [40 x i32]* %110 to i32* %112 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %3, i32 0, i32 0 %113 = load i16, i16* %112 %114 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_126, i32 0, i32 0 store i16 %113, i16* %114 %115 = bitcast %"ops::RangeFrom"* %_126 to i16* %116 = load i16, i16* %115, align 2 %117 = call { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hcfd8b38f74e404a2E"(i32* noalias nonnull readonly %111, i16 40, i16 %116) %118 = extractvalue { i32*, i16 } %117, 0 %119 = extractvalue { i32*, i16 } %117, 1 br label %bb46 bb46: ; preds = %bb45 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h339a5ca69547581eE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_121, i32* noalias nonnull readonly %118, i16 %119) br label %bb47 bb47: ; preds = %bb46 %120 = call zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h0970e09ac22451deE"(%"slice::Iter"* dereferenceable(4) %_121) br label %bb48 bb48: ; preds = %bb47 %121 = xor i1 %120, true br i1 %121, label %bb49, label %bb50 bb49: ; preds = %bb48 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum8Big32x407div_rem14_MSG_FILE_LINE17h3d27264bfd8717fcE) unreachable bb50: ; preds = %bb48 ret void panic: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bg) unreachable panic5: ; preds = %bb31 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bh) unreachable panic6: ; preds = %bb32 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bi) unreachable panic7: ; preds = %bb34 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bj) unreachable panic8: ; preds = %bb37 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bk) unreachable panic9: ; preds = %bb38 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.bl, i16 %82, i16 40) unreachable } ; Function Attrs: uwtable define zeroext i1 @"_ZN68_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..PartialEq$GT$2eq17hfcfc6510f6a77b06E"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #1 { entry-block: %_14 = alloca %"ops::RangeFull" %_9 = alloca %"ops::RangeFull" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %3 = bitcast [40 x i32]* %2 to i32* %4 = call { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h68e060feb8668f51E"(i32* noalias nonnull readonly %3, i16 40) %5 = extractvalue { i32*, i16 } %4, 0 %6 = extractvalue { i32*, i16 } %4, 1 br label %bb1 bb1: ; preds = %start %7 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i32 0, i32 1 %8 = bitcast [40 x i32]* %7 to i32* %9 = call { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h68e060feb8668f51E"(i32* noalias nonnull readonly %8, i16 40) %10 = extractvalue { i32*, i16 } %9, 0 %11 = extractvalue { i32*, i16 } %9, 1 br label %bb2 bb2: ; preds = %bb1 %12 = call zeroext i1 @"_ZN4core5slice81_$LT$impl$u20$core..cmp..PartialEq$LT$$u5b$B$u5d$$GT$$u20$for$u20$$u5b$A$u5d$$GT$2eq17ha6c4e2e04316e846E"(i32* noalias nonnull readonly %5, i16 %6, i32* noalias nonnull readonly %10, i16 %11) br label %bb3 bb3: ; preds = %bb2 ret i1 %12 } ; Function Attrs: uwtable define i16 @"_ZN69_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..PartialOrd$GT$11partial_cmp17hfc5204fadcefc60fE"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #1 { entry-block: %_5 = alloca i8 %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h083638ebe80269f5E"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %0, %"num::bignum::Big32x40"* noalias readonly dereferenceable(164) %1) store i8 %2, i8* %_5 br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %3 %4 = load i8, i8* %_5 %5 = bitcast %"option::Option"* %_0 to { i8, i8 }* %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %5, i32 0, i32 1 store i8 %4, i8* %6 %7 = bitcast %"option::Option"* %_0 to i16* %8 = load i16, i16* %7, align 1 ret i16 %8 } ; Function Attrs: uwtable define i8 @"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h083638ebe80269f5E"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #1 { entry-block: %_27 = alloca %"iter::Rev>>" %_26 = alloca %"iter::Rev>>" %_24 = alloca %"ops::RangeTo" %_19 = alloca %"slice::Iter" %_18 = alloca %"iter::Cloned>" %rhs = alloca %"iter::Rev>>" %_15 = alloca %"ops::RangeTo" %_10 = alloca %"slice::Iter" %_9 = alloca %"iter::Cloned>" %lhs = alloca %"iter::Rev>>" %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 %3 = load i16, i16* %2 %4 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i32 0, i32 0 %5 = load i16, i16* %4 %6 = call i16 @_ZN4core3cmp3max17h87d192de69373d4eE(i16 %3, i16 %5) br label %bb1 bb1: ; preds = %start %7 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %8 = bitcast [40 x i32]* %7 to i32* %9 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_15, i32 0, i32 0 store i16 %6, i16* %9 %10 = bitcast %"ops::RangeTo"* %_15 to i16* %11 = load i16, i16* %10, align 2 %12 = call { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7c873adbd1b3ac30E"(i32* noalias nonnull readonly %8, i16 40, i16 %11) %13 = extractvalue { i32*, i16 } %12, 0 %14 = extractvalue { i32*, i16 } %12, 1 br label %bb2 bb2: ; preds = %bb1 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h339a5ca69547581eE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_10, i32* noalias nonnull readonly %13, i16 %14) br label %bb3 bb3: ; preds = %bb2 call void @_ZN4core4iter8iterator8Iterator6cloned17h33b9030e05db2528E(%"iter::Cloned>"* noalias nocapture sret dereferenceable(4) %_9, %"slice::Iter"* noalias nocapture dereferenceable(4) %_10) br label %bb4 bb4: ; preds = %bb3 call void @_ZN4core4iter8iterator8Iterator3rev17h7b990dcf00842e93E(%"iter::Rev>>"* noalias nocapture sret dereferenceable(4) %lhs, %"iter::Cloned>"* noalias nocapture dereferenceable(4) %_9) br label %bb5 bb5: ; preds = %bb4 %15 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i32 0, i32 1 %16 = bitcast [40 x i32]* %15 to i32* %17 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_24, i32 0, i32 0 store i16 %6, i16* %17 %18 = bitcast %"ops::RangeTo"* %_24 to i16* %19 = load i16, i16* %18, align 2 %20 = call { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7c873adbd1b3ac30E"(i32* noalias nonnull readonly %16, i16 40, i16 %19) %21 = extractvalue { i32*, i16 } %20, 0 %22 = extractvalue { i32*, i16 } %20, 1 br label %bb6 bb6: ; preds = %bb5 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h339a5ca69547581eE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_19, i32* noalias nonnull readonly %21, i16 %22) br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator6cloned17h33b9030e05db2528E(%"iter::Cloned>"* noalias nocapture sret dereferenceable(4) %_18, %"slice::Iter"* noalias nocapture dereferenceable(4) %_19) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17h7b990dcf00842e93E(%"iter::Rev>>"* noalias nocapture sret dereferenceable(4) %rhs, %"iter::Cloned>"* noalias nocapture dereferenceable(4) %_18) br label %bb9 bb9: ; preds = %bb8 %23 = bitcast %"iter::Rev>>"* %lhs to i8* %24 = bitcast %"iter::Rev>>"* %_26 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %23, i16 4, i32 2, i1 false) %25 = bitcast %"iter::Rev>>"* %rhs to i8* %26 = bitcast %"iter::Rev>>"* %_27 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %25, i16 4, i32 2, i1 false) %27 = call i8 @_ZN4core4iter8iterator8Iterator3cmp17he79ad2a37ca006faE(%"iter::Rev>>"* noalias nocapture dereferenceable(4) %_26, %"iter::Rev>>"* noalias nocapture dereferenceable(4) %_27) store i8 %27, i8* %_0 br label %bb10 bb10: ; preds = %bb9 %28 = load i8, i8* %_0 ret i8 %28 } ; Function Attrs: uwtable define void @"_ZN66_$LT$core..num..bignum..Big32x40$u20$as$u20$core..clone..Clone$GT$5clone17h07482bd493c9de83E"(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(164), %"num::bignum::Big32x40"* noalias readonly dereferenceable(164)) unnamed_addr #1 { entry-block: %_4 = alloca [40 x i32] br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i32 0, i32 0 %3 = load i16, i16* %2 %4 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i32 0, i32 1 %5 = bitcast [40 x i32]* %4 to i8* %6 = bitcast [40 x i32]* %_4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 160, i32 4, i1 false) %7 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 store i16 %3, i16* %7 %8 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %9 = bitcast [40 x i32]* %_4 to i8* %10 = bitcast [40 x i32]* %8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 160, i32 4, i1 false) ret void } ; Function Attrs: uwtable define i8 @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt17h2c955708bfe055efE"(%"num::bignum::Big32x40"* noalias readonly dereferenceable(164), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast9 = alloca i8 %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %tmp_ret6 = alloca %"fmt::ArgumentV1" %tmp_ret5 = alloca %"fmt::ArgumentV1" %abi_cast3 = alloca i8 %abi_cast2 = alloca i8 %abi_cast = alloca i8 %tmp_ret = alloca %"fmt::ArgumentV1" %_89 = alloca {} %_71 = alloca { i32*, i16* } %_70 = alloca [2 x %"fmt::ArgumentV1"] %_65 = alloca %"fmt::Arguments" %_63 = alloca %"result::Result<(), fmt::Error>" %_62 = alloca %"result::Result<(), fmt::Error>" %v = alloca i32 %_56 = alloca i8* %iter = alloca %"iter::Rev>" %_51 = alloca %"ops::RangeTo" %_46 = alloca %"slice::Iter" %_45 = alloca %"iter::Rev>" %_44 = alloca %"iter::Rev>" %_result = alloca {} %_40 = alloca {} %_22 = alloca { i32* } %_21 = alloca [1 x %"fmt::ArgumentV1"] %_16 = alloca %"fmt::Arguments" %_14 = alloca %"result::Result<(), fmt::Error>" %_13 = alloca %"result::Result<(), fmt::Error>" %digitlen = alloca i16 %sz = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 %3 = load i16, i16* %2 %4 = icmp ult i16 %3, 1 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start store i16 1, i16* %sz br label %bb3 bb2: ; preds = %start %5 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 0 %6 = load i16, i16* %5 store i16 %6, i16* %sz br label %bb3 bb3: ; preds = %bb2, %bb1 %7 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb4 bb4: ; preds = %bb3 %8 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %7, i16 2) %9 = extractvalue { i16, i1 } %8, 0 %10 = extractvalue { i16, i1 } %8, 1 %11 = call i1 @llvm.expect.i1(i1 %10, i1 false) br i1 %11, label %panic, label %bb5 bb5: ; preds = %bb4 store i16 %9, i16* %digitlen %12 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h5cfbf618330cc045E", i32 0, i32 0), !nonnull !1 %13 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h5cfbf618330cc045E", i32 0, i32 1) %14 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %15 = bitcast [40 x i32]* %14 to i32* %16 = load i16, i16* %sz %17 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %16, i16 1) %18 = extractvalue { i16, i1 } %17, 0 %19 = extractvalue { i16, i1 } %17, 1 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic1, label %bb6 bb6: ; preds = %bb5 %21 = call dereferenceable(4) i32* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h56e0198429dc7869E"(i32* noalias nonnull readonly %15, i16 40, i16 %18) br label %bb7 bb7: ; preds = %bb6 %22 = getelementptr inbounds { i32* }, { i32* }* %_22, i32 0, i32 0 store i32* %21, i32** %22 %23 = getelementptr inbounds { i32* }, { i32* }* %_22, i32 0, i32 0 %24 = load i32*, i32** %23, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i32* noalias readonly dereferenceable(4) %24, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u32$GT$3fmt17hda89edb67f5a061fE") %25 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %26 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %27 = load %"fmt::Void"*, %"fmt::Void"** %25, !nonnull !1 %28 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %26, !nonnull !1 br label %bb8 bb8: ; preds = %bb7 %29 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_21, i32 0, i32 0 %30 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 0 store %"fmt::Void"* %27, %"fmt::Void"** %30 %31 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %28, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %31 %32 = bitcast [1 x %"fmt::ArgumentV1"]* %_21 to %"fmt::ArgumentV1"* %33 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt16__STATIC_FMTARGS17h9616c1efd66fa87aE", i32 0, i32 0), !nonnull !1 %34 = load i16, i16* getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt16__STATIC_FMTARGS17h9616c1efd66fa87aE", i32 0, i32 1) call void @_ZN4core3fmt9Arguments16new_v1_formatted17h34bc06d81ce02e19E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_16, %str_slice* noalias nonnull readonly %12, i16 %13, %"fmt::ArgumentV1"* noalias nonnull readonly %32, i16 1, %"fmt::rt::v1::Argument"* noalias nonnull readonly %33, i16 %34) br label %bb9 bb9: ; preds = %bb8 %35 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %1, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_16) store i8 %35, i8* %abi_cast %36 = bitcast %"result::Result<(), fmt::Error>"* %_14 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %36, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 %37 = bitcast %"result::Result<(), fmt::Error>"* %_14 to i8* %38 = load i8, i8* %37, align 1 %39 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %38) store i8 %39, i8* %abi_cast2 %40 = bitcast %"result::Result<(), fmt::Error>"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %40, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb11 bb11: ; preds = %bb10 %41 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_13, i32 0, i32 0 %42 = load i8, i8* %41, !range !2 %43 = zext i8 %42 to i16 switch i16 %43, label %bb13 [ i16 0, label %bb12 ] bb12: ; preds = %bb11 %44 = bitcast %"result::Result<(), fmt::Error>"* %_13 to { i8, {} }* %45 = getelementptr inbounds { i8, {} }, { i8, {} }* %44, i32 0, i32 1 %46 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i32 0, i32 1 %47 = bitcast [40 x i32]* %46 to i32* %48 = load i16, i16* %sz %49 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %48, i16 1) %50 = extractvalue { i16, i1 } %49, 0 %51 = extractvalue { i16, i1 } %49, 1 %52 = call i1 @llvm.expect.i1(i1 %51, i1 false) br i1 %52, label %panic4, label %bb18 bb13: ; preds = %bb11 %53 = bitcast %"result::Result<(), fmt::Error>"* %_13 to { i8, %"fmt::Error" }* %54 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %53, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb14 bb14: ; preds = %bb13 %55 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %55, i8* %abi_cast3 %56 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %56, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb15 bb15: ; preds = %bb14 br label %bb17 bb16: ; preds = %bb25, %bb17 %57 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %58 = load i8, i8* %57, align 1 ret i8 %58 bb17: ; preds = %bb35, %bb15 br label %bb16 bb18: ; preds = %bb12 %59 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_51, i32 0, i32 0 store i16 %50, i16* %59 %60 = bitcast %"ops::RangeTo"* %_51 to i16* %61 = load i16, i16* %60, align 2 %62 = call { i32*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7c873adbd1b3ac30E"(i32* noalias nonnull readonly %47, i16 40, i16 %61) %63 = extractvalue { i32*, i16 } %62, 0 %64 = extractvalue { i32*, i16 } %62, 1 br label %bb19 bb19: ; preds = %bb18 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h339a5ca69547581eE"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_46, i32* noalias nonnull readonly %63, i16 %64) br label %bb20 bb20: ; preds = %bb19 call void @_ZN4core4iter8iterator8Iterator3rev17h3996186bce2b8b85E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_45, %"slice::Iter"* noalias nocapture dereferenceable(4) %_46) br label %bb21 bb21: ; preds = %bb20 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hdf6de63fb754e904E"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_44, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_45) br label %bb22 bb22: ; preds = %bb21 %65 = bitcast %"iter::Rev>"* %_44 to i8* %66 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %66, i8* %65, i16 4, i32 2, i1 false) br label %bb23 bb23: ; preds = %bb32, %bb22 %67 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb51c237952e7bfd0E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %67, i8** %_56 br label %bb24 bb24: ; preds = %bb23 %68 = load i8*, i8** %_56 %69 = icmp ne i8* %68, null %70 = zext i1 %69 to i16 switch i16 %70, label %bb26 [ i16 0, label %bb25 ] bb25: ; preds = %bb24 %71 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %71 br label %bb16 bb26: ; preds = %bb24 %72 = bitcast i8** %_56 to i32** %73 = load i32*, i32** %72, !nonnull !1 %74 = load i32, i32* %73 store i32 %74, i32* %v %75 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h7e1450afdf037163E", i32 0, i32 0), !nonnull !1 %76 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h7e1450afdf037163E", i32 0, i32 1) %77 = getelementptr inbounds { i32*, i16* }, { i32*, i16* }* %_71, i32 0, i32 0 store i32* %v, i32** %77 %78 = getelementptr inbounds { i32*, i16* }, { i32*, i16* }* %_71, i32 0, i32 1 store i16* %digitlen, i16** %78 %79 = getelementptr inbounds { i32*, i16* }, { i32*, i16* }* %_71, i32 0, i32 0 %80 = load i32*, i32** %79, !nonnull !1 %81 = getelementptr inbounds { i32*, i16* }, { i32*, i16* }* %_71, i32 0, i32 1 %82 = load i16*, i16** %81, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17hf66dad0b1233296eE(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret5, i32* noalias readonly dereferenceable(4) %80, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u32$GT$3fmt17hda89edb67f5a061fE") %83 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret5, i32 0, i32 0 %84 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret5, i32 0, i32 1 %85 = load %"fmt::Void"*, %"fmt::Void"** %83, !nonnull !1 %86 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %84, !nonnull !1 br label %bb27 bb27: ; preds = %bb26 call void @_ZN4core3fmt10ArgumentV110from_usize17h7f5643ff6327de91E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret6, i16* noalias readonly dereferenceable(2) %82) %87 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret6, i32 0, i32 0 %88 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret6, i32 0, i32 1 %89 = load %"fmt::Void"*, %"fmt::Void"** %87, !nonnull !1 %90 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %88, !nonnull !1 br label %bb28 bb28: ; preds = %bb27 %91 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_70, i32 0, i32 0 %92 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %91, i32 0, i32 0 store %"fmt::Void"* %85, %"fmt::Void"** %92 %93 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %91, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %86, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %93 %94 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_70, i32 0, i32 1 %95 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %94, i32 0, i32 0 store %"fmt::Void"* %89, %"fmt::Void"** %95 %96 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %94, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %90, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %96 %97 = bitcast [2 x %"fmt::ArgumentV1"]* %_70 to %"fmt::ArgumentV1"* %98 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt16__STATIC_FMTARGS17h6572f6cc12a5887eE", i32 0, i32 0), !nonnull !1 %99 = load i16, i16* getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN64_$LT$core..num..bignum..Big32x40$u20$as$u20$core..fmt..Debug$GT$3fmt16__STATIC_FMTARGS17h6572f6cc12a5887eE", i32 0, i32 1) call void @_ZN4core3fmt9Arguments16new_v1_formatted17h34bc06d81ce02e19E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_65, %str_slice* noalias nonnull readonly %75, i16 %76, %"fmt::ArgumentV1"* noalias nonnull readonly %97, i16 2, %"fmt::rt::v1::Argument"* noalias nonnull readonly %98, i16 %99) br label %bb29 bb29: ; preds = %bb28 %100 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %1, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_65) store i8 %100, i8* %abi_cast7 %101 = bitcast %"result::Result<(), fmt::Error>"* %_63 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %101, i8* %abi_cast7, i16 1, i32 1, i1 false) br label %bb30 bb30: ; preds = %bb29 %102 = bitcast %"result::Result<(), fmt::Error>"* %_63 to i8* %103 = load i8, i8* %102, align 1 %104 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %103) store i8 %104, i8* %abi_cast8 %105 = bitcast %"result::Result<(), fmt::Error>"* %_62 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %105, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 %106 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_62, i32 0, i32 0 %107 = load i8, i8* %106, !range !2 %108 = zext i8 %107 to i16 switch i16 %108, label %bb33 [ i16 0, label %bb32 ] bb32: ; preds = %bb31 %109 = bitcast %"result::Result<(), fmt::Error>"* %_62 to { i8, {} }* %110 = getelementptr inbounds { i8, {} }, { i8, {} }* %109, i32 0, i32 1 br label %bb23 bb33: ; preds = %bb31 %111 = bitcast %"result::Result<(), fmt::Error>"* %_62 to { i8, %"fmt::Error" }* %112 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %111, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb34 bb34: ; preds = %bb33 %113 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %113, i8* %abi_cast9 %114 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %114, i8* %abi_cast9, i16 1, i32 1, i1 false) br label %bb35 bb35: ; preds = %bb34 br label %bb17 panic: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bm) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bn) unreachable panic4: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bo) unreachable } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3num6bignum8Big32x408mul_pow228_$u7b$$u7b$closure$u7d$$u7d$17hd3bcc76d6e0f2383E"(%closure.47*, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load i32, i32* %1 %3 = icmp eq i32 %2, 0 ret i1 %3 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3num6bignum8Big32x407div_rem28_$u7b$$u7b$closure$u7d$$u7d$17h831b4f98ac158820E"(%closure.48*, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load i32, i32* %1 %3 = icmp eq i32 %2, 0 ret i1 %3 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3num6bignum8Big32x407div_rem28_$u7b$$u7b$closure$u7d$$u7d$17h8d895e732f53b809E"(%closure.49*, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load i32, i32* %1 %3 = icmp eq i32 %2, 0 ret i1 %3 } ; Function Attrs: uwtable define void @_ZN4core3num6bignum5tests6Big8x310from_small17he9560a1a6511fe30E(%"num::bignum::tests::Big8x3"* noalias nocapture sret dereferenceable(6), i8) unnamed_addr #1 { entry-block: %_7 = alloca [3 x i8] %base = alloca [3 x i8] br label %start start: ; preds = %entry-block %2 = getelementptr inbounds [3 x i8], [3 x i8]* %base, i32 0, i32 0 %3 = getelementptr inbounds i8, i8* %2, i16 3 br label %slice_loop_header bb1: ; preds = %slice_loop_next %4 = getelementptr inbounds [3 x i8], [3 x i8]* %base, i16 0, i16 0 store i8 %1, i8* %4 %5 = bitcast [3 x i8]* %base to i8* %6 = bitcast [3 x i8]* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 3, i32 1, i1 false) %7 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 store i16 1, i16* %7 %8 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %9 = bitcast [3 x i8]* %_7 to i8* %10 = bitcast [3 x i8]* %8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 3, i32 1, i1 false) ret void slice_loop_body: ; preds = %slice_loop_header %11 = getelementptr inbounds i8, i8* %12, i16 1 store i8 0, i8* %12 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header br label %bb1 slice_loop_header: ; preds = %slice_loop_body, %start %12 = phi i8* [ %2, %start ], [ %11, %slice_loop_body ] %13 = icmp ne i8* %12, %3 br i1 %13, label %slice_loop_body, label %slice_loop_next } ; Function Attrs: uwtable define void @_ZN4core3num6bignum5tests6Big8x38from_u6417h7d7ccc6f9da36955E(%"num::bignum::tests::Big8x3"* noalias nocapture sret dereferenceable(6), i64) unnamed_addr #1 { entry-block: %_19 = alloca [3 x i8] %_8 = alloca {} %_5 = alloca {} %sz = alloca i16 %base = alloca [3 x i8] %v = alloca i64 br label %start start: ; preds = %entry-block store i64 %1, i64* %v %2 = getelementptr inbounds [3 x i8], [3 x i8]* %base, i32 0, i32 0 %3 = getelementptr inbounds i8, i8* %2, i16 3 br label %slice_loop_header bb1: ; preds = %bb8, %slice_loop_next %4 = load i64, i64* %v %5 = icmp ugt i64 %4, 0 br i1 %5, label %bb3, label %bb2 bb2: ; preds = %bb1 %6 = load i16, i16* %sz %7 = bitcast [3 x i8]* %base to i8* %8 = bitcast [3 x i8]* %_19 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 3, i32 1, i1 false) %9 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 store i16 %6, i16* %9 %10 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %11 = bitcast [3 x i8]* %_19 to i8* %12 = bitcast [3 x i8]* %10 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %11, i16 3, i32 1, i1 false) ret void bb3: ; preds = %bb1 %13 = load i64, i64* %v %14 = load i16, i16* %sz %15 = icmp ult i16 %14, 3 %16 = call i1 @llvm.expect.i1(i1 %15, i1 true) br i1 %16, label %bb4, label %panic bb4: ; preds = %bb3 %17 = getelementptr inbounds [3 x i8], [3 x i8]* %base, i16 0, i16 %14 %18 = trunc i64 %13 to i8 store i8 %18, i8* %17 %19 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb5 bb5: ; preds = %bb4 %20 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %19, i16 8) %21 = extractvalue { i16, i1 } %20, 0 %22 = extractvalue { i16, i1 } %20, 1 %23 = call i1 @llvm.expect.i1(i1 %22, i1 false) br i1 %23, label %panic1, label %bb6 bb6: ; preds = %bb5 %24 = load i64, i64* %v %25 = and i16 %21, -64 %26 = icmp ne i16 %25, 0 %27 = zext i16 %21 to i64 %28 = and i64 %27, 63 %29 = lshr i64 %24, %28 %30 = call i1 @llvm.expect.i1(i1 %26, i1 false) br i1 %30, label %panic2, label %bb7 bb7: ; preds = %bb6 store i64 %29, i64* %v %31 = load i16, i16* %sz %32 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %31, i16 1) %33 = extractvalue { i16, i1 } %32, 0 %34 = extractvalue { i16, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic3, label %bb8 bb8: ; preds = %bb7 store i16 %33, i16* %sz br label %bb1 slice_loop_body: ; preds = %slice_loop_header %36 = getelementptr inbounds i8, i8* %37, i16 1 store i8 0, i8* %37 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header store i16 0, i16* %sz br label %bb1 slice_loop_header: ; preds = %slice_loop_body, %start %37 = phi i8* [ %2, %start ], [ %36, %slice_loop_body ] %38 = icmp ne i8* %37, %3 br i1 %38, label %slice_loop_body, label %slice_loop_next panic: ; preds = %bb3 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.ap, i16 %14, i16 3) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aq) unreachable panic2: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ar) unreachable panic3: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.as) unreachable } ; Function Attrs: uwtable define { i8*, i16 } @_ZN4core3num6bignum5tests6Big8x36digits17h2ad0e9f09df8eb66E(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6)) unnamed_addr #1 { entry-block: %_7 = alloca %"ops::RangeTo" br label %start start: ; preds = %entry-block %1 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %2 = bitcast [3 x i8]* %1 to i8* %3 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 %4 = load i16, i16* %3 %5 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_7, i32 0, i32 0 store i16 %4, i16* %5 %6 = bitcast %"ops::RangeTo"* %_7 to i16* %7 = load i16, i16* %6, align 2 %8 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %2, i16 3, i16 %7) %9 = extractvalue { i8*, i16 } %8, 0 %10 = extractvalue { i8*, i16 } %8, 1 br label %bb1 bb1: ; preds = %start %11 = insertvalue { i8*, i16 } undef, i8* %9, 0 %12 = insertvalue { i8*, i16 } %11, i16 %10, 1 ret { i8*, i16 } %12 } ; Function Attrs: uwtable define i8 @_ZN4core3num6bignum5tests6Big8x37get_bit17hb3f694a11083062bE(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6), i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %3 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %2, i16 8) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb2 bb2: ; preds = %bb1 %7 = icmp eq i16 %4, 0 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic1, label %bb3 bb3: ; preds = %bb2 %9 = udiv i16 %1, %4 %10 = icmp eq i16 %4, 0 %11 = call i1 @llvm.expect.i1(i1 %10, i1 false) br i1 %11, label %panic2, label %bb4 bb4: ; preds = %bb3 %12 = urem i16 %1, %4 %13 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %14 = icmp ult i16 %9, 3 %15 = call i1 @llvm.expect.i1(i1 %14, i1 true) br i1 %15, label %bb5, label %panic3 bb5: ; preds = %bb4 %16 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %17 = getelementptr inbounds [3 x i8], [3 x i8]* %16, i16 0, i16 %9 %18 = load i8, i8* %17 %19 = and i16 %12, -8 %20 = icmp ne i16 %19, 0 %21 = trunc i16 %12 to i8 %22 = and i8 %21, 7 %23 = lshr i8 %18, %22 %24 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %24, label %panic4, label %bb6 bb6: ; preds = %bb5 %25 = and i8 %23, 1 ret i8 %25 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.at) unreachable panic1: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.au) unreachable panic2: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.av) unreachable panic3: ; preds = %bb4 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aw, i16 %9, i16 3) unreachable panic4: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ax) unreachable } ; Function Attrs: uwtable define zeroext i1 @_ZN4core3num6bignum5tests6Big8x37is_zero17he2f4793df10ac8e5E(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6)) unnamed_addr #1 { entry-block: %_8 = alloca %closure.50 %_4 = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %1 = call { i8*, i16 } @_ZN4core3num6bignum5tests6Big8x36digits17h2ad0e9f09df8eb66E(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %0) %2 = extractvalue { i8*, i16 } %1, 0 %3 = extractvalue { i8*, i16 } %1, 1 br label %bb1 bb1: ; preds = %start call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_4, i8* noalias nonnull readonly %2, i16 %3) br label %bb2 bb2: ; preds = %bb1 %4 = call zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h1d2005befbe42b0fE"(%"slice::Iter"* dereferenceable(4) %_4) br label %bb3 bb3: ; preds = %bb2 ret i1 %4 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3num6bignum5tests6Big8x37is_zero28_$u7b$$u7b$closure$u7d$$u7d$17h93be6c1cde77e53eE"(%closure.50*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load i8, i8* %1 %3 = icmp eq i8 %2, 0 ret i1 %3 } ; Function Attrs: uwtable define i16 @_ZN4core3num6bignum5tests6Big8x310bit_length17h6cfc3c8733e061eeE(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6)) unnamed_addr #1 { entry-block: %_35 = alloca {} %i = alloca i16 %_24 = alloca {} %_21 = alloca {} %_19 = alloca %"ops::RangeTo" %_10 = alloca %closure.1 %_8 = alloca %"slice::Iter" %_7 = alloca %"iter::Rev>" %_6 = alloca %"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>" %_0 = alloca i16 br label %start start: ; preds = %entry-block %1 = call { i8*, i16 } @_ZN4core3num6bignum5tests6Big8x36digits17h2ad0e9f09df8eb66E(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %0) %2 = extractvalue { i8*, i16 } %1, 0 %3 = extractvalue { i8*, i16 } %1, 1 br label %bb1 bb1: ; preds = %start call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_8, i8* noalias nonnull readonly %2, i16 %3) br label %bb2 bb2: ; preds = %bb1 call void @_ZN4core4iter8iterator8Iterator3rev17h46ac273cb8c2b4b1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_7, %"slice::Iter"* noalias nocapture dereferenceable(4) %_8) br label %bb3 bb3: ; preds = %bb2 call void @_ZN4core4iter8iterator8Iterator10take_while17hdc43f36186ee3305E(%"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* noalias nocapture sret dereferenceable(6) %_6, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_7) br label %bb4 bb4: ; preds = %bb3 %4 = call i16 @_ZN4core4iter8iterator8Iterator5count17h176c7e74cafea45fE(%"iter::TakeWhile>, num::bignum::tests::{{impl}}::bit_length::{{closure}}>"* noalias nocapture dereferenceable(6) %_6) br label %bb5 bb5: ; preds = %bb4 %5 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %2, i16 %3) br label %bb6 bb6: ; preds = %bb5 %6 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %5, i16 %4) %7 = extractvalue { i16, i1 } %6, 0 %8 = extractvalue { i16, i1 } %6, 1 %9 = call i1 @llvm.expect.i1(i1 %8, i1 false) br i1 %9, label %panic, label %bb7 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_19, i32 0, i32 0 store i16 %7, i16* %10 %11 = bitcast %"ops::RangeTo"* %_19 to i16* %12 = load i16, i16* %11, align 2 %13 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %2, i16 %3, i16 %12) %14 = extractvalue { i8*, i16 } %13, 0 %15 = extractvalue { i8*, i16 } %13, 1 br label %bb8 bb8: ; preds = %bb7 %16 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h661fc28d496858e6E(i8* noalias nonnull readonly %14, i16 %15) br label %bb9 bb9: ; preds = %bb8 br i1 %16, label %bb10, label %bb11 bb10: ; preds = %bb9 store i16 0, i16* %_0 br label %bb12 bb11: ; preds = %bb9 %17 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb13 bb12: ; preds = %bb23, %bb10 %18 = load i16, i16* %_0 ret i16 %18 bb13: ; preds = %bb11 %19 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %17, i16 8) %20 = extractvalue { i16, i1 } %19, 0 %21 = extractvalue { i16, i1 } %19, 1 %22 = call i1 @llvm.expect.i1(i1 %21, i1 false) br i1 %22, label %panic1, label %bb14 bb14: ; preds = %bb13 %23 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %14, i16 %15) br label %bb15 bb15: ; preds = %bb14 %24 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %23, i16 %20) %25 = extractvalue { i16, i1 } %24, 0 %26 = extractvalue { i16, i1 } %24, 1 %27 = call i1 @llvm.expect.i1(i1 %26, i1 false) br i1 %27, label %panic2, label %bb16 bb16: ; preds = %bb15 %28 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %25, i16 1) %29 = extractvalue { i16, i1 } %28, 0 %30 = extractvalue { i16, i1 } %28, 1 %31 = call i1 @llvm.expect.i1(i1 %30, i1 false) br i1 %31, label %panic3, label %bb17 bb17: ; preds = %bb16 store i16 %29, i16* %i br label %bb18 bb18: ; preds = %bb22, %bb17 %32 = load i16, i16* %i %33 = call i8 @_ZN4core3num6bignum5tests6Big8x37get_bit17hb3f694a11083062bE(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %0, i16 %32) br label %bb20 bb19: ; preds = %bb20 %34 = load i16, i16* %i %35 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %34, i16 1) %36 = extractvalue { i16, i1 } %35, 0 %37 = extractvalue { i16, i1 } %35, 1 %38 = call i1 @llvm.expect.i1(i1 %37, i1 false) br i1 %38, label %panic5, label %bb23 bb20: ; preds = %bb18 %39 = icmp eq i8 %33, 0 br i1 %39, label %bb21, label %bb19 bb21: ; preds = %bb20 %40 = load i16, i16* %i %41 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %40, i16 1) %42 = extractvalue { i16, i1 } %41, 0 %43 = extractvalue { i16, i1 } %41, 1 %44 = call i1 @llvm.expect.i1(i1 %43, i1 false) br i1 %44, label %panic4, label %bb22 bb22: ; preds = %bb21 store i16 %42, i16* %i br label %bb18 bb23: ; preds = %bb19 store i16 %36, i16* %_0 br label %bb12 panic: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ay) unreachable panic1: ; preds = %bb13 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.az) unreachable panic2: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aA) unreachable panic3: ; preds = %bb16 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aB) unreachable panic4: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aC) unreachable panic5: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aD) unreachable } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3num6bignum5tests6Big8x310bit_length28_$u7b$$u7b$closure$u7d$$u7d$17h493e04441a812138E"(%closure.1*, i8** noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load i8*, i8** %1, !nonnull !1 %3 = load i8, i8* %2 %4 = icmp eq i8 %3, 0 ret i1 %4 } ; Function Attrs: uwtable define dereferenceable(6) %"num::bignum::tests::Big8x3"* @_ZN4core3num6bignum5tests6Big8x33add17h2103eee25b1cd6f5E(%"num::bignum::tests::Big8x3"* dereferenceable(6), %"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6)) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %tmp_ret = alloca { i8, i8 } %_44 = alloca {} %_29 = alloca %"option::Option<(&mut u8, &u8)>" %_28 = alloca {} %iter = alloca %"iter::Zip, slice::Iter>" %_25 = alloca %"ops::RangeTo" %_19 = alloca %"ops::RangeTo" %_14 = alloca %"slice::IterMut" %_13 = alloca %"iter::Zip, slice::Iter>" %_12 = alloca %"iter::Zip, slice::Iter>" %_result = alloca {} %carry = alloca i8 %sz = alloca i16 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 %3 = load i16, i16* %2 %4 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %1, i32 0, i32 0 %5 = load i16, i16* %4 %6 = call i16 @_ZN4core3cmp3max17h87d192de69373d4eE(i16 %3, i16 %5) store i16 %6, i16* %sz br label %bb1 bb1: ; preds = %start store i8 0, i8* %carry %7 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %8 = bitcast [3 x i8]* %7 to i8* %9 = load i16, i16* %sz %10 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_19, i32 0, i32 0 store i16 %9, i16* %10 %11 = bitcast %"ops::RangeTo"* %_19 to i16* %12 = load i16, i16* %11, align 2 %13 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %8, i16 3, i16 %12) %14 = extractvalue { i8*, i16 } %13, 0 %15 = extractvalue { i8*, i16 } %13, 1 br label %bb2 bb2: ; preds = %bb1 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_14, i8* nonnull %14, i16 %15) br label %bb3 bb3: ; preds = %bb2 %16 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %1, i32 0, i32 1 %17 = bitcast [3 x i8]* %16 to i8* %18 = load i16, i16* %sz %19 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_25, i32 0, i32 0 store i16 %18, i16* %19 %20 = bitcast %"ops::RangeTo"* %_25 to i16* %21 = load i16, i16* %20, align 2 %22 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %17, i16 3, i16 %21) %23 = extractvalue { i8*, i16 } %22, 0 %24 = extractvalue { i8*, i16 } %22, 1 br label %bb4 bb4: ; preds = %bb3 call void @_ZN4core4iter8iterator8Iterator3zip17h6cd86f3b052f4ec4E(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12) %_13, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_14, i8* noalias nonnull readonly %23, i16 %24) br label %bb5 bb5: ; preds = %bb4 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hb2bd457a2c3680d8E"(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12) %_12, %"iter::Zip, slice::Iter>"* noalias nocapture dereferenceable(12) %_13) br label %bb6 bb6: ; preds = %bb5 %25 = bitcast %"iter::Zip, slice::Iter>"* %_12 to i8* %26 = bitcast %"iter::Zip, slice::Iter>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %25, i16 12, i32 2, i1 false) br label %bb7 bb7: ; preds = %bb11, %bb6 call void @"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h94222b8c4e5581cfE"(%"option::Option<(&mut u8, &u8)>"* noalias nocapture sret dereferenceable(4) %_29, %"iter::Zip, slice::Iter>"* dereferenceable(12) %iter) br label %bb8 bb8: ; preds = %bb7 %27 = getelementptr inbounds %"option::Option<(&mut u8, &u8)>", %"option::Option<(&mut u8, &u8)>"* %_29, i32 0, i32 0, i32 0 %28 = load i8*, i8** %27 %29 = icmp ne i8* %28, null %30 = zext i1 %29 to i16 switch i16 %30, label %bb10 [ i16 0, label %bb9 ] bb9: ; preds = %bb8 %31 = load i8, i8* %carry, !range !2 %32 = trunc i8 %31 to i1 br i1 %32, label %bb12, label %bb13 bb10: ; preds = %bb8 %33 = getelementptr inbounds %"option::Option<(&mut u8, &u8)>", %"option::Option<(&mut u8, &u8)>"* %_29, i32 0, i32 0 %34 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %33, i32 0, i32 0 %35 = load i8*, i8** %34, !nonnull !1 %36 = getelementptr inbounds %"option::Option<(&mut u8, &u8)>", %"option::Option<(&mut u8, &u8)>"* %_29, i32 0, i32 0 %37 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %36, i32 0, i32 1 %38 = load i8*, i8** %37, !nonnull !1 %39 = load i8, i8* %35 %40 = load i8, i8* %38 %41 = load i8, i8* %carry, !range !2 %42 = trunc i8 %41 to i1 %43 = call i16 @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$8full_add17h2fab868f97fbc245E"(i8 %39, i8 %40, i1 zeroext %42) store i16 %43, i16* %abi_cast %44 = bitcast { i8, i8 }* %tmp_ret to i8* %45 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %44, i8* %45, i16 2, i32 1, i1 false) %46 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %47 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %48 = load i8, i8* %46, !range !2 %49 = trunc i8 %48 to i1 %50 = load i8, i8* %47 br label %bb11 bb11: ; preds = %bb10 store i8 %50, i8* %35 %51 = zext i1 %49 to i8 store i8 %51, i8* %carry br label %bb7 bb12: ; preds = %bb9 %52 = load i16, i16* %sz %53 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %54 = icmp ult i16 %52, 3 %55 = call i1 @llvm.expect.i1(i1 %54, i1 true) br i1 %55, label %bb14, label %panic bb13: ; preds = %bb9 br label %bb16 bb14: ; preds = %bb12 %56 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %57 = getelementptr inbounds [3 x i8], [3 x i8]* %56, i16 0, i16 %52 store i8 1, i8* %57 %58 = load i16, i16* %sz %59 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %58, i16 1) %60 = extractvalue { i16, i1 } %59, 0 %61 = extractvalue { i16, i1 } %59, 1 %62 = call i1 @llvm.expect.i1(i1 %61, i1 false) br i1 %62, label %panic1, label %bb15 bb15: ; preds = %bb14 store i16 %60, i16* %sz br label %bb16 bb16: ; preds = %bb13, %bb15 %63 = load i16, i16* %sz %64 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 store i16 %63, i16* %64 ret %"num::bignum::tests::Big8x3"* %0 panic: ; preds = %bb12 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aE, i16 %52, i16 3) unreachable panic1: ; preds = %bb14 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aF) unreachable } ; Function Attrs: uwtable define dereferenceable(6) %"num::bignum::tests::Big8x3"* @_ZN4core3num6bignum5tests6Big8x39add_small17h9de05722fda828e8E(%"num::bignum::tests::Big8x3"* dereferenceable(6), i8) unnamed_addr #1 { entry-block: %abi_cast2 = alloca i16 %tmp_ret1 = alloca { i8, i8 } %abi_cast = alloca i16 %tmp_ret = alloca { i8, i8 } %_34 = alloca {} %_19 = alloca {} %_17 = alloca {} %i = alloca i16 %carry = alloca i8 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %4 = getelementptr inbounds [3 x i8], [3 x i8]* %3, i16 0, i16 0 %5 = load i8, i8* %4 %6 = call i16 @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$8full_add17h2fab868f97fbc245E"(i8 %5, i8 %1, i1 zeroext false) store i16 %6, i16* %abi_cast %7 = bitcast { i8, i8 }* %tmp_ret to i8* %8 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %8, i16 2, i32 1, i1 false) %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i8, i8* %9, !range !2 %12 = trunc i8 %11 to i1 %13 = load i8, i8* %10 br label %bb2 bb2: ; preds = %bb1 %14 = zext i1 %12 to i8 store i8 %14, i8* %carry %15 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 br label %bb3 bb3: ; preds = %bb2 %16 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %17 = getelementptr inbounds [3 x i8], [3 x i8]* %16, i16 0, i16 0 store i8 %13, i8* %17 store i16 1, i16* %i br label %bb4 bb4: ; preds = %bb10, %bb3 %18 = load i8, i8* %carry, !range !2 %19 = trunc i8 %18 to i1 br i1 %19, label %bb6, label %bb5 bb5: ; preds = %bb4 %20 = load i16, i16* %i %21 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 %22 = load i16, i16* %21 %23 = icmp ugt i16 %20, %22 br i1 %23, label %bb11, label %bb12 bb6: ; preds = %bb4 %24 = load i16, i16* %i %25 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %26 = icmp ult i16 %24, 3 %27 = call i1 @llvm.expect.i1(i1 %26, i1 true) br i1 %27, label %bb7, label %panic bb7: ; preds = %bb6 %28 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %29 = getelementptr inbounds [3 x i8], [3 x i8]* %28, i16 0, i16 %24 %30 = load i8, i8* %29 %31 = load i8, i8* %carry, !range !2 %32 = trunc i8 %31 to i1 %33 = call i16 @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$8full_add17h2fab868f97fbc245E"(i8 %30, i8 0, i1 zeroext %32) store i16 %33, i16* %abi_cast2 %34 = bitcast { i8, i8 }* %tmp_ret1 to i8* %35 = bitcast i16* %abi_cast2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %34, i8* %35, i16 2, i32 1, i1 false) %36 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret1, i32 0, i32 0 %37 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret1, i32 0, i32 1 %38 = load i8, i8* %36, !range !2 %39 = trunc i8 %38 to i1 %40 = load i8, i8* %37 br label %bb8 bb8: ; preds = %bb7 %41 = load i16, i16* %i %42 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %43 = icmp ult i16 %41, 3 %44 = call i1 @llvm.expect.i1(i1 %43, i1 true) br i1 %44, label %bb9, label %panic3 bb9: ; preds = %bb8 %45 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %46 = getelementptr inbounds [3 x i8], [3 x i8]* %45, i16 0, i16 %41 store i8 %40, i8* %46 %47 = zext i1 %39 to i8 store i8 %47, i8* %carry %48 = load i16, i16* %i %49 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %48, i16 1) %50 = extractvalue { i16, i1 } %49, 0 %51 = extractvalue { i16, i1 } %49, 1 %52 = call i1 @llvm.expect.i1(i1 %51, i1 false) br i1 %52, label %panic4, label %bb10 bb10: ; preds = %bb9 store i16 %50, i16* %i br label %bb4 bb11: ; preds = %bb5 %53 = load i16, i16* %i %54 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 store i16 %53, i16* %54 br label %bb13 bb12: ; preds = %bb5 br label %bb13 bb13: ; preds = %bb12, %bb11 ret %"num::bignum::tests::Big8x3"* %0 panic: ; preds = %bb6 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aG, i16 %24, i16 3) unreachable panic3: ; preds = %bb8 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aH, i16 %41, i16 3) unreachable panic4: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aI) unreachable } ; Function Attrs: uwtable define dereferenceable(6) %"num::bignum::tests::Big8x3"* @_ZN4core3num6bignum5tests6Big8x33sub17he90cdb1a78418bdcE(%"num::bignum::tests::Big8x3"* dereferenceable(6), %"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6)) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %tmp_ret = alloca { i8, i8 } %_45 = alloca {} %_29 = alloca %"option::Option<(&mut u8, &u8)>" %_28 = alloca {} %iter = alloca %"iter::Zip, slice::Iter>" %_25 = alloca %"ops::RangeTo" %_19 = alloca %"ops::RangeTo" %_14 = alloca %"slice::IterMut" %_13 = alloca %"iter::Zip, slice::Iter>" %_12 = alloca %"iter::Zip, slice::Iter>" %_result = alloca {} %noborrow = alloca i8 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 %3 = load i16, i16* %2 %4 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %1, i32 0, i32 0 %5 = load i16, i16* %4 %6 = call i16 @_ZN4core3cmp3max17h87d192de69373d4eE(i16 %3, i16 %5) br label %bb1 bb1: ; preds = %start store i8 1, i8* %noborrow %7 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %8 = bitcast [3 x i8]* %7 to i8* %9 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_19, i32 0, i32 0 store i16 %6, i16* %9 %10 = bitcast %"ops::RangeTo"* %_19 to i16* %11 = load i16, i16* %10, align 2 %12 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %8, i16 3, i16 %11) %13 = extractvalue { i8*, i16 } %12, 0 %14 = extractvalue { i8*, i16 } %12, 1 br label %bb2 bb2: ; preds = %bb1 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_14, i8* nonnull %13, i16 %14) br label %bb3 bb3: ; preds = %bb2 %15 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %1, i32 0, i32 1 %16 = bitcast [3 x i8]* %15 to i8* %17 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_25, i32 0, i32 0 store i16 %6, i16* %17 %18 = bitcast %"ops::RangeTo"* %_25 to i16* %19 = load i16, i16* %18, align 2 %20 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %16, i16 3, i16 %19) %21 = extractvalue { i8*, i16 } %20, 0 %22 = extractvalue { i8*, i16 } %20, 1 br label %bb4 bb4: ; preds = %bb3 call void @_ZN4core4iter8iterator8Iterator3zip17h6cd86f3b052f4ec4E(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12) %_13, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_14, i8* noalias nonnull readonly %21, i16 %22) br label %bb5 bb5: ; preds = %bb4 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hb2bd457a2c3680d8E"(%"iter::Zip, slice::Iter>"* noalias nocapture sret dereferenceable(12) %_12, %"iter::Zip, slice::Iter>"* noalias nocapture dereferenceable(12) %_13) br label %bb6 bb6: ; preds = %bb5 %23 = bitcast %"iter::Zip, slice::Iter>"* %_12 to i8* %24 = bitcast %"iter::Zip, slice::Iter>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %23, i16 12, i32 2, i1 false) br label %bb7 bb7: ; preds = %bb11, %bb6 call void @"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h94222b8c4e5581cfE"(%"option::Option<(&mut u8, &u8)>"* noalias nocapture sret dereferenceable(4) %_29, %"iter::Zip, slice::Iter>"* dereferenceable(12) %iter) br label %bb8 bb8: ; preds = %bb7 %25 = getelementptr inbounds %"option::Option<(&mut u8, &u8)>", %"option::Option<(&mut u8, &u8)>"* %_29, i32 0, i32 0, i32 0 %26 = load i8*, i8** %25 %27 = icmp ne i8* %26, null %28 = zext i1 %27 to i16 switch i16 %28, label %bb10 [ i16 0, label %bb9 ] bb9: ; preds = %bb8 %29 = load i8, i8* %noborrow, !range !2 %30 = trunc i8 %29 to i1 %31 = xor i1 %30, true br i1 %31, label %bb12, label %bb13 bb10: ; preds = %bb8 %32 = getelementptr inbounds %"option::Option<(&mut u8, &u8)>", %"option::Option<(&mut u8, &u8)>"* %_29, i32 0, i32 0 %33 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %32, i32 0, i32 0 %34 = load i8*, i8** %33, !nonnull !1 %35 = getelementptr inbounds %"option::Option<(&mut u8, &u8)>", %"option::Option<(&mut u8, &u8)>"* %_29, i32 0, i32 0 %36 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %35, i32 0, i32 1 %37 = load i8*, i8** %36, !nonnull !1 %38 = load i8, i8* %34 %39 = load i8, i8* %37 %40 = xor i8 %39, -1 %41 = load i8, i8* %noborrow, !range !2 %42 = trunc i8 %41 to i1 %43 = call i16 @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$8full_add17h2fab868f97fbc245E"(i8 %38, i8 %40, i1 zeroext %42) store i16 %43, i16* %abi_cast %44 = bitcast { i8, i8 }* %tmp_ret to i8* %45 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %44, i8* %45, i16 2, i32 1, i1 false) %46 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %47 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %48 = load i8, i8* %46, !range !2 %49 = trunc i8 %48 to i1 %50 = load i8, i8* %47 br label %bb11 bb11: ; preds = %bb10 store i8 %50, i8* %34 %51 = zext i1 %49 to i8 store i8 %51, i8* %noborrow br label %bb7 bb12: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum5tests6Big8x33sub14_MSG_FILE_LINE17hae08ebb944dcff2cE) unreachable bb13: ; preds = %bb9 %52 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 store i16 %6, i16* %52 ret %"num::bignum::tests::Big8x3"* %0 } ; Function Attrs: uwtable define dereferenceable(6) %"num::bignum::tests::Big8x3"* @_ZN4core3num6bignum5tests6Big8x39mul_small17hf78b400a871b1f7fE(%"num::bignum::tests::Big8x3"* dereferenceable(6), i8) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %tmp_ret = alloca { i8, i8 } %_34 = alloca {} %_20 = alloca i8* %_19 = alloca {} %iter = alloca %"slice::IterMut" %_16 = alloca %"ops::RangeTo" %_11 = alloca %"slice::IterMut" %_result = alloca {} %carry = alloca i8 %sz = alloca i16 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 %3 = load i16, i16* %2 store i16 %3, i16* %sz store i8 0, i8* %carry %4 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %5 = bitcast [3 x i8]* %4 to i8* %6 = load i16, i16* %sz %7 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_16, i32 0, i32 0 store i16 %6, i16* %7 %8 = bitcast %"ops::RangeTo"* %_16 to i16* %9 = load i16, i16* %8, align 2 %10 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %5, i16 3, i16 %9) %11 = extractvalue { i8*, i16 } %10, 0 %12 = extractvalue { i8*, i16 } %10, 1 br label %bb1 bb1: ; preds = %start call void @"_ZN4core5slice97_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$mut$u20$$u5b$T$u5d$$GT$9into_iter17hb54fc44aaf7ce3efE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_11, i8* nonnull %11, i16 %12) br label %bb2 bb2: ; preds = %bb1 %13 = bitcast %"slice::IterMut"* %_11 to i8* %14 = bitcast %"slice::IterMut"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %13, i16 4, i32 2, i1 false) br label %bb3 bb3: ; preds = %bb7, %bb2 %15 = call i8* @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha98f667bd924c796E"(%"slice::IterMut"* dereferenceable(4) %iter) store i8* %15, i8** %_20 br label %bb4 bb4: ; preds = %bb3 %16 = load i8*, i8** %_20 %17 = icmp ne i8* %16, null %18 = zext i1 %17 to i16 switch i16 %18, label %bb6 [ i16 0, label %bb5 ] bb5: ; preds = %bb4 %19 = load i8, i8* %carry %20 = icmp ugt i8 %19, 0 br i1 %20, label %bb8, label %bb9 bb6: ; preds = %bb4 %21 = load i8*, i8** %_20, !nonnull !1 %22 = load i8, i8* %21 %23 = load i8, i8* %carry %24 = call i16 @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$8full_mul17h98bf90392e985cb6E"(i8 %22, i8 %1, i8 %23) store i16 %24, i16* %abi_cast %25 = bitcast { i8, i8 }* %tmp_ret to i8* %26 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %25, i8* %26, i16 2, i32 1, i1 false) %27 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %28 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %29 = load i8, i8* %27 %30 = load i8, i8* %28 br label %bb7 bb7: ; preds = %bb6 store i8 %30, i8* %21 store i8 %29, i8* %carry br label %bb3 bb8: ; preds = %bb5 %31 = load i8, i8* %carry %32 = load i16, i16* %sz %33 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %34 = icmp ult i16 %32, 3 %35 = call i1 @llvm.expect.i1(i1 %34, i1 true) br i1 %35, label %bb10, label %panic bb9: ; preds = %bb5 br label %bb12 bb10: ; preds = %bb8 %36 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %37 = getelementptr inbounds [3 x i8], [3 x i8]* %36, i16 0, i16 %32 store i8 %31, i8* %37 %38 = load i16, i16* %sz %39 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %38, i16 1) %40 = extractvalue { i16, i1 } %39, 0 %41 = extractvalue { i16, i1 } %39, 1 %42 = call i1 @llvm.expect.i1(i1 %41, i1 false) br i1 %42, label %panic1, label %bb11 bb11: ; preds = %bb10 store i16 %40, i16* %sz br label %bb12 bb12: ; preds = %bb9, %bb11 %43 = load i16, i16* %sz %44 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 store i16 %43, i16* %44 ret %"num::bignum::tests::Big8x3"* %0 panic: ; preds = %bb8 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aJ, i16 %32, i16 3) unreachable panic1: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aK) unreachable } ; Function Attrs: uwtable define dereferenceable(6) %"num::bignum::tests::Big8x3"* @_ZN4core3num6bignum5tests6Big8x38mul_pow217hb62e76dfbb90fd52E(%"num::bignum::tests::Big8x3"* dereferenceable(6), i16) unnamed_addr #1 { entry-block: %arg23 = alloca %"ops::Range" %arg14 = alloca %"ops::Range" %tmp_ret = alloca %"ops::Range" %arg = alloca %"ops::Range" %_144 = alloca %"option::Option" %iter4 = alloca %"iter::Rev>" %_138 = alloca %"ops::Range" %_137 = alloca %"iter::Rev>" %_136 = alloca %"iter::Rev>" %_result3 = alloca {} %_126 = alloca {} %_108 = alloca {} %sz = alloca i16 %_95 = alloca %"option::Option" %iter2 = alloca %"ops::Range" %_92 = alloca %"ops::Range" %_result1 = alloca {} %_72 = alloca %"option::Option" %_71 = alloca {} %iter = alloca %"iter::Rev>" %_68 = alloca %"ops::Range" %_67 = alloca %"iter::Rev>" %_66 = alloca %"iter::Rev>" %_result = alloca {} %_43 = alloca i8 %_41 = alloca {} %_40 = alloca {} %_37 = alloca %closure.51 %_33 = alloca %"ops::RangeFrom" %_28 = alloca %"slice::Iter" %_24 = alloca {} %_23 = alloca {} %_17 = alloca {} br label %start start: ; preds = %entry-block %2 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %3 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %2, i16 8) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = call i1 @llvm.expect.i1(i1 %5, i1 false) br i1 %6, label %panic, label %bb2 bb2: ; preds = %bb1 %7 = icmp eq i16 %4, 0 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic5, label %bb3 bb3: ; preds = %bb2 %9 = udiv i16 %1, %4 %10 = icmp eq i16 %4, 0 %11 = call i1 @llvm.expect.i1(i1 %10, i1 false) br i1 %11, label %panic6, label %bb4 bb4: ; preds = %bb3 %12 = urem i16 %1, %4 %13 = icmp ult i16 %9, 3 %14 = xor i1 %13, true br i1 %14, label %bb5, label %bb6 bb5: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum5tests6Big8x38mul_pow214_MSG_FILE_LINE17h6017b75fa7df4187E) unreachable bb6: ; preds = %bb4 %15 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %16 = bitcast [3 x i8]* %15 to i8* %17 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 3, i16 %9) %18 = extractvalue { i16, i1 } %17, 0 %19 = extractvalue { i16, i1 } %17, 1 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic7, label %bb7 bb7: ; preds = %bb6 %21 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_33, i32 0, i32 0 store i16 %18, i16* %21 %22 = bitcast %"ops::RangeFrom"* %_33 to i16* %23 = load i16, i16* %22, align 2 %24 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %16, i16 3, i16 %23) %25 = extractvalue { i8*, i16 } %24, 0 %26 = extractvalue { i8*, i16 } %24, 1 br label %bb8 bb8: ; preds = %bb7 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_28, i8* noalias nonnull readonly %25, i16 %26) br label %bb9 bb9: ; preds = %bb8 %27 = call zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h38ff66cbd24c548bE"(%"slice::Iter"* dereferenceable(4) %_28) br label %bb10 bb10: ; preds = %bb9 %28 = xor i1 %27, true br i1 %28, label %bb11, label %bb12 bb11: ; preds = %bb10 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum5tests6Big8x38mul_pow214_MSG_FILE_LINE17h6b5ce6e274a258beE) unreachable bb12: ; preds = %bb10 %29 = icmp eq i16 %12, 0 br i1 %29, label %bb13, label %bb15 bb13: ; preds = %bb21, %bb12 store i8 1, i8* %_43 br label %bb16 bb14: ; preds = %bb21 store i8 0, i8* %_43 br label %bb16 bb15: ; preds = %bb12 %30 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %31 = bitcast [3 x i8]* %30 to i8* %32 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 3, i16 %9) %33 = extractvalue { i16, i1 } %32, 0 %34 = extractvalue { i16, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic8, label %bb17 bb16: ; preds = %bb14, %bb13 %36 = load i8, i8* %_43, !range !2 %37 = trunc i8 %36 to i1 %38 = xor i1 %37, true br i1 %38, label %bb22, label %bb23 bb17: ; preds = %bb15 %39 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %33, i16 1) %40 = extractvalue { i16, i1 } %39, 0 %41 = extractvalue { i16, i1 } %39, 1 %42 = call i1 @llvm.expect.i1(i1 %41, i1 false) br i1 %42, label %panic9, label %bb18 bb18: ; preds = %bb17 %43 = call dereferenceable(1) i8* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h08f0dba53d9565f6E"(i8* noalias nonnull readonly %31, i16 3, i16 %40) br label %bb19 bb19: ; preds = %bb18 %44 = load i8, i8* %43 %45 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 %12) %46 = extractvalue { i16, i1 } %45, 0 %47 = extractvalue { i16, i1 } %45, 1 %48 = call i1 @llvm.expect.i1(i1 %47, i1 false) br i1 %48, label %panic10, label %bb20 bb20: ; preds = %bb19 %49 = and i16 %46, -8 %50 = icmp ne i16 %49, 0 %51 = trunc i16 %46 to i8 %52 = and i8 %51, 7 %53 = lshr i8 %44, %52 %54 = call i1 @llvm.expect.i1(i1 %50, i1 false) br i1 %54, label %panic11, label %bb21 bb21: ; preds = %bb20 %55 = icmp eq i8 %53, 0 br i1 %55, label %bb13, label %bb14 bb22: ; preds = %bb16 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum5tests6Big8x38mul_pow214_MSG_FILE_LINE17hab3164a8c22127ffE) unreachable bb23: ; preds = %bb16 %56 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 %57 = load i16, i16* %56 %58 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_68, i32 0, i32 0 store i16 0, i16* %58 %59 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_68, i32 0, i32 1 store i16 %57, i16* %59 %60 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_68, i32 0, i32 0 %61 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_68, i32 0, i32 1 %62 = load i16, i16* %60 %63 = load i16, i16* %61 %64 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %62, i16* %64 %65 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %63, i16* %65 call void @_ZN4core4iter8iterator8Iterator3rev17hb9f594bea3752bf4E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_67, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) br label %bb24 bb24: ; preds = %bb23 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha5f1e23b4e5fe1daE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_66, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_67) br label %bb25 bb25: ; preds = %bb24 %66 = bitcast %"iter::Rev>"* %_66 to i8* %67 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %67, i8* %66, i16 4, i32 2, i1 false) br label %bb26 bb26: ; preds = %bb32, %bb25 call void @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf4e559224378bdcdE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_72, %"iter::Rev>"* dereferenceable(4) %iter) br label %bb27 bb27: ; preds = %bb26 %68 = getelementptr inbounds %"option::Option", %"option::Option"* %_72, i32 0, i32 0 %69 = load i16, i16* %68, !range !3 switch i16 %69, label %bb29 [ i16 0, label %bb28 ] bb28: ; preds = %bb27 %70 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_92, i32 0, i32 0 store i16 0, i16* %70 %71 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_92, i32 0, i32 1 store i16 %9, i16* %71 %72 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_92, i32 0, i32 0 %73 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_92, i32 0, i32 1 %74 = load i16, i16* %72 %75 = load i16, i16* %73 %76 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg14, i32 0, i32 0 store i16 %74, i16* %76 %77 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg14, i32 0, i32 1 store i16 %75, i16* %77 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"ops::Range"* noalias nocapture dereferenceable(4) %arg14) %78 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 0 %79 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 1 %80 = load i16, i16* %78 %81 = load i16, i16* %79 br label %bb33 bb29: ; preds = %bb27 %82 = bitcast %"option::Option"* %_72 to { i16, i16 }* %83 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %82, i32 0, i32 1 %84 = load i16, i16* %83 %85 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %86 = icmp ult i16 %84, 3 %87 = call i1 @llvm.expect.i1(i1 %86, i1 true) br i1 %87, label %bb30, label %panic12 bb30: ; preds = %bb29 %88 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %89 = getelementptr inbounds [3 x i8], [3 x i8]* %88, i16 0, i16 %84 %90 = load i8, i8* %89 %91 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %92 = bitcast [3 x i8]* %91 to i8* %93 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %84, i16 %9) %94 = extractvalue { i16, i1 } %93, 0 %95 = extractvalue { i16, i1 } %93, 1 %96 = call i1 @llvm.expect.i1(i1 %95, i1 false) br i1 %96, label %panic13, label %bb31 bb31: ; preds = %bb30 %97 = call dereferenceable(1) i8* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h39fe72663b4cbbaeE"(i8* nonnull %92, i16 3, i16 %94) br label %bb32 bb32: ; preds = %bb31 store i8 %90, i8* %97 br label %bb26 bb33: ; preds = %bb28 %98 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 0 store i16 %80, i16* %98 %99 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter2, i32 0, i32 1 store i16 %81, i16* %99 br label %bb34 bb34: ; preds = %bb38, %bb33 call void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_95, %"ops::Range"* dereferenceable(4) %iter2) br label %bb35 bb35: ; preds = %bb34 %100 = getelementptr inbounds %"option::Option", %"option::Option"* %_95, i32 0, i32 0 %101 = load i16, i16* %100, !range !3 switch i16 %101, label %bb37 [ i16 0, label %bb36 ] bb36: ; preds = %bb35 %102 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 %103 = load i16, i16* %102 %104 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %103, i16 %9) %105 = extractvalue { i16, i1 } %104, 0 %106 = extractvalue { i16, i1 } %104, 1 %107 = call i1 @llvm.expect.i1(i1 %106, i1 false) br i1 %107, label %panic16, label %bb39 bb37: ; preds = %bb35 %108 = bitcast %"option::Option"* %_95 to { i16, i16 }* %109 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %108, i32 0, i32 1 %110 = load i16, i16* %109 %111 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %112 = icmp ult i16 %110, 3 %113 = call i1 @llvm.expect.i1(i1 %112, i1 true) br i1 %113, label %bb38, label %panic15 bb38: ; preds = %bb37 %114 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %115 = getelementptr inbounds [3 x i8], [3 x i8]* %114, i16 0, i16 %110 store i8 0, i8* %115 br label %bb34 bb39: ; preds = %bb36 store i16 %105, i16* %sz %116 = icmp ugt i16 %12, 0 br i1 %116, label %bb40, label %bb41 bb40: ; preds = %bb39 %117 = load i16, i16* %sz %118 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %119 = bitcast [3 x i8]* %118 to i8* %120 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %117, i16 1) %121 = extractvalue { i16, i1 } %120, 0 %122 = extractvalue { i16, i1 } %120, 1 %123 = call i1 @llvm.expect.i1(i1 %122, i1 false) br i1 %123, label %panic17, label %bb42 bb41: ; preds = %bb39 br label %bb67 bb42: ; preds = %bb40 %124 = call dereferenceable(1) i8* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h08f0dba53d9565f6E"(i8* noalias nonnull readonly %119, i16 3, i16 %121) br label %bb43 bb43: ; preds = %bb42 %125 = load i8, i8* %124 %126 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 %12) %127 = extractvalue { i16, i1 } %126, 0 %128 = extractvalue { i16, i1 } %126, 1 %129 = call i1 @llvm.expect.i1(i1 %128, i1 false) br i1 %129, label %panic18, label %bb44 bb44: ; preds = %bb43 %130 = and i16 %127, -8 %131 = icmp ne i16 %130, 0 %132 = trunc i16 %127 to i8 %133 = and i8 %132, 7 %134 = lshr i8 %125, %133 %135 = call i1 @llvm.expect.i1(i1 %131, i1 false) br i1 %135, label %panic19, label %bb45 bb45: ; preds = %bb44 %136 = icmp ugt i8 %134, 0 br i1 %136, label %bb46, label %bb47 bb46: ; preds = %bb45 %137 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %138 = icmp ult i16 %117, 3 %139 = call i1 @llvm.expect.i1(i1 %138, i1 true) br i1 %139, label %bb48, label %panic20 bb47: ; preds = %bb45 br label %bb50 bb48: ; preds = %bb46 %140 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %141 = getelementptr inbounds [3 x i8], [3 x i8]* %140, i16 0, i16 %117 store i8 %134, i8* %141 %142 = load i16, i16* %sz %143 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %142, i16 1) %144 = extractvalue { i16, i1 } %143, 0 %145 = extractvalue { i16, i1 } %143, 1 %146 = call i1 @llvm.expect.i1(i1 %145, i1 false) br i1 %146, label %panic21, label %bb49 bb49: ; preds = %bb48 store i16 %144, i16* %sz br label %bb50 bb50: ; preds = %bb47, %bb49 %147 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %9, i16 1) %148 = extractvalue { i16, i1 } %147, 0 %149 = extractvalue { i16, i1 } %147, 1 %150 = call i1 @llvm.expect.i1(i1 %149, i1 false) br i1 %150, label %panic22, label %bb51 bb51: ; preds = %bb50 %151 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_138, i32 0, i32 0 store i16 %148, i16* %151 %152 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_138, i32 0, i32 1 store i16 %117, i16* %152 %153 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_138, i32 0, i32 0 %154 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_138, i32 0, i32 1 %155 = load i16, i16* %153 %156 = load i16, i16* %154 %157 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg23, i32 0, i32 0 store i16 %155, i16* %157 %158 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg23, i32 0, i32 1 store i16 %156, i16* %158 call void @_ZN4core4iter8iterator8Iterator3rev17hb9f594bea3752bf4E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_137, %"ops::Range"* noalias nocapture dereferenceable(4) %arg23) br label %bb52 bb52: ; preds = %bb51 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha5f1e23b4e5fe1daE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_136, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_137) br label %bb53 bb53: ; preds = %bb52 %159 = bitcast %"iter::Rev>"* %_136 to i8* %160 = bitcast %"iter::Rev>"* %iter4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %160, i8* %159, i16 4, i32 2, i1 false) br label %bb54 bb54: ; preds = %bb64, %bb53 call void @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf4e559224378bdcdE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_144, %"iter::Rev>"* dereferenceable(4) %iter4) br label %bb55 bb55: ; preds = %bb54 %161 = getelementptr inbounds %"option::Option", %"option::Option"* %_144, i32 0, i32 0 %162 = load i16, i16* %161, !range !3 switch i16 %162, label %bb57 [ i16 0, label %bb56 ] bb56: ; preds = %bb55 %163 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %164 = icmp ult i16 %9, 3 %165 = call i1 @llvm.expect.i1(i1 %164, i1 true) br i1 %165, label %bb65, label %panic30 bb57: ; preds = %bb55 %166 = bitcast %"option::Option"* %_144 to { i16, i16 }* %167 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %166, i32 0, i32 1 %168 = load i16, i16* %167 %169 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %170 = icmp ult i16 %168, 3 %171 = call i1 @llvm.expect.i1(i1 %170, i1 true) br i1 %171, label %bb58, label %panic24 bb58: ; preds = %bb57 %172 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %173 = getelementptr inbounds [3 x i8], [3 x i8]* %172, i16 0, i16 %168 %174 = load i8, i8* %173 %175 = and i16 %12, -8 %176 = icmp ne i16 %175, 0 %177 = trunc i16 %12 to i8 %178 = and i8 %177, 7 %179 = shl i8 %174, %178 %180 = call i1 @llvm.expect.i1(i1 %176, i1 false) br i1 %180, label %panic25, label %bb59 bb59: ; preds = %bb58 %181 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %182 = bitcast [3 x i8]* %181 to i8* %183 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %168, i16 1) %184 = extractvalue { i16, i1 } %183, 0 %185 = extractvalue { i16, i1 } %183, 1 %186 = call i1 @llvm.expect.i1(i1 %185, i1 false) br i1 %186, label %panic26, label %bb60 bb60: ; preds = %bb59 %187 = call dereferenceable(1) i8* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h08f0dba53d9565f6E"(i8* noalias nonnull readonly %182, i16 3, i16 %184) br label %bb61 bb61: ; preds = %bb60 %188 = load i8, i8* %187 %189 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 %12) %190 = extractvalue { i16, i1 } %189, 0 %191 = extractvalue { i16, i1 } %189, 1 %192 = call i1 @llvm.expect.i1(i1 %191, i1 false) br i1 %192, label %panic27, label %bb62 bb62: ; preds = %bb61 %193 = and i16 %190, -8 %194 = icmp ne i16 %193, 0 %195 = trunc i16 %190 to i8 %196 = and i8 %195, 7 %197 = lshr i8 %188, %196 %198 = call i1 @llvm.expect.i1(i1 %194, i1 false) br i1 %198, label %panic28, label %bb63 bb63: ; preds = %bb62 %199 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %200 = icmp ult i16 %168, 3 %201 = call i1 @llvm.expect.i1(i1 %200, i1 true) br i1 %201, label %bb64, label %panic29 bb64: ; preds = %bb63 %202 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %203 = getelementptr inbounds [3 x i8], [3 x i8]* %202, i16 0, i16 %168 %204 = or i8 %179, %197 store i8 %204, i8* %203 br label %bb54 bb65: ; preds = %bb56 %205 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %206 = getelementptr inbounds [3 x i8], [3 x i8]* %205, i16 0, i16 %9 %207 = load i8, i8* %206 %208 = and i16 %12, -8 %209 = icmp ne i16 %208, 0 %210 = trunc i16 %12 to i8 %211 = and i8 %210, 7 %212 = shl i8 %207, %211 %213 = call i1 @llvm.expect.i1(i1 %209, i1 false) br i1 %213, label %panic31, label %bb66 bb66: ; preds = %bb65 %214 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %215 = getelementptr inbounds [3 x i8], [3 x i8]* %214, i16 0, i16 %9 store i8 %212, i8* %215 br label %bb67 bb67: ; preds = %bb41, %bb66 %216 = load i16, i16* %sz %217 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 store i16 %216, i16* %217 ret %"num::bignum::tests::Big8x3"* %0 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aL) unreachable panic5: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aM) unreachable panic6: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aN) unreachable panic7: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aO) unreachable panic8: ; preds = %bb15 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aP) unreachable panic9: ; preds = %bb17 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aP) unreachable panic10: ; preds = %bb19 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aP) unreachable panic11: ; preds = %bb20 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aQ) unreachable panic12: ; preds = %bb29 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aR, i16 %84, i16 3) unreachable panic13: ; preds = %bb30 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aS) unreachable panic15: ; preds = %bb37 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aT, i16 %110, i16 3) unreachable panic16: ; preds = %bb36 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aU) unreachable panic17: ; preds = %bb40 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aV) unreachable panic18: ; preds = %bb43 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aV) unreachable panic19: ; preds = %bb44 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aW) unreachable panic20: ; preds = %bb46 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.aX, i16 %117, i16 3) unreachable panic21: ; preds = %bb48 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aY) unreachable panic22: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.aZ) unreachable panic24: ; preds = %bb57 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.b0, i16 %168, i16 3) unreachable panic25: ; preds = %bb58 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b1) unreachable panic26: ; preds = %bb59 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b2) unreachable panic27: ; preds = %bb61 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b2) unreachable panic28: ; preds = %bb62 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b3) unreachable panic29: ; preds = %bb63 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.b0, i16 %168, i16 3) unreachable panic30: ; preds = %bb56 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.b4, i16 %9, i16 3) unreachable panic31: ; preds = %bb65 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b5) unreachable } ; Function Attrs: uwtable define dereferenceable(6) %"num::bignum::tests::Big8x3"* @_ZN4core3num6bignum5tests6Big8x38mul_pow517h20da5061d386f73aE(%"num::bignum::tests::Big8x3"* dereferenceable(6), i16) unnamed_addr #1 { entry-block: %arg = alloca %"ops::Range" %tmp_ret = alloca %"ops::Range" %_34 = alloca %"option::Option" %iter = alloca %"ops::Range" %_31 = alloca %"ops::Range" %_result = alloca {} %rest_power = alloca i8 %_21 = alloca {} %_17 = alloca {} %_11 = alloca [3 x { i64, i16 }] %e = alloca i16 br label %start start: ; preds = %entry-block store i16 %1, i16* %e %2 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %3 = call i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$14trailing_zeros17h77bb088082b1f2c1E"(i16 %2) br label %bb2 bb2: ; preds = %bb1 %4 = trunc i32 %3 to i16 %5 = bitcast [3 x { i64, i16 }]* %_11 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* bitcast ({ { i64, i16, [6 x i8] }, { i64, i16, [6 x i8] }, { i64, i16, [6 x i8] } }* @const.b6 to i8*), i16 48, i32 8, i1 false) %6 = icmp ult i16 %4, 3 %7 = call i1 @llvm.expect.i1(i1 %6, i1 true) br i1 %7, label %bb3, label %panic bb3: ; preds = %bb2 %8 = getelementptr inbounds [3 x { i64, i16 }], [3 x { i64, i16 }]* %_11, i16 0, i16 %4 %9 = getelementptr inbounds { i64, i16 }, { i64, i16 }* %8, i32 0, i32 0 %10 = load i64, i64* %9 %11 = getelementptr inbounds [3 x { i64, i16 }], [3 x { i64, i16 }]* %_11, i16 0, i16 %4 %12 = getelementptr inbounds { i64, i16 }, { i64, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 %14 = trunc i64 %10 to i8 br label %bb4 bb4: ; preds = %bb8, %bb3 %15 = load i16, i16* %e %16 = icmp uge i16 %15, %13 br i1 %16, label %bb6, label %bb5 bb5: ; preds = %bb4 store i8 1, i8* %rest_power %17 = load i16, i16* %e %18 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_31, i32 0, i32 0 store i16 0, i16* %18 %19 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_31, i32 0, i32 1 store i16 %17, i16* %19 %20 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_31, i32 0, i32 0 %21 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_31, i32 0, i32 1 %22 = load i16, i16* %20 %23 = load i16, i16* %21 %24 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %22, i16* %24 %25 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %23, i16* %25 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h5a2f1c02b0ee2405E"(%"ops::Range"* noalias nocapture sret dereferenceable(4) %tmp_ret, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) %26 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 0 %27 = getelementptr inbounds %"ops::Range", %"ops::Range"* %tmp_ret, i32 0, i32 1 %28 = load i16, i16* %26 %29 = load i16, i16* %27 br label %bb9 bb6: ; preds = %bb4 %30 = call dereferenceable(6) %"num::bignum::tests::Big8x3"* @_ZN4core3num6bignum5tests6Big8x39mul_small17hf78b400a871b1f7fE(%"num::bignum::tests::Big8x3"* dereferenceable(6) %0, i8 %14) br label %bb7 bb7: ; preds = %bb6 %31 = load i16, i16* %e %32 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %31, i16 %13) %33 = extractvalue { i16, i1 } %32, 0 %34 = extractvalue { i16, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic1, label %bb8 bb8: ; preds = %bb7 store i16 %33, i16* %e br label %bb4 bb9: ; preds = %bb5 %36 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 0 store i16 %28, i16* %36 %37 = getelementptr inbounds %"ops::Range", %"ops::Range"* %iter, i32 0, i32 1 store i16 %29, i16* %37 br label %bb10 bb10: ; preds = %bb14, %bb9 call void @"_ZN4core4iter5range86_$LT$impl$u20$core..iter..iterator..Iterator$u20$for$u20$core..ops..Range$LT$A$GT$$GT$4next17h3d3db8f15944fdc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_34, %"ops::Range"* dereferenceable(4) %iter) br label %bb11 bb11: ; preds = %bb10 %38 = getelementptr inbounds %"option::Option", %"option::Option"* %_34, i32 0, i32 0 %39 = load i16, i16* %38, !range !3 switch i16 %39, label %bb12 [ i16 0, label %bb13 ] bb12: ; preds = %bb11 %40 = load i8, i8* %rest_power %41 = call { i8, i1 } @llvm.umul.with.overflow.i8(i8 %40, i8 5) %42 = extractvalue { i8, i1 } %41, 0 %43 = extractvalue { i8, i1 } %41, 1 %44 = call i1 @llvm.expect.i1(i1 %43, i1 false) br i1 %44, label %panic2, label %bb14 bb13: ; preds = %bb11 %45 = load i8, i8* %rest_power %46 = call dereferenceable(6) %"num::bignum::tests::Big8x3"* @_ZN4core3num6bignum5tests6Big8x39mul_small17hf78b400a871b1f7fE(%"num::bignum::tests::Big8x3"* dereferenceable(6) %0, i8 %45) br label %bb15 bb14: ; preds = %bb12 store i8 %42, i8* %rest_power br label %bb10 bb15: ; preds = %bb13 ret %"num::bignum::tests::Big8x3"* %0 panic: ; preds = %bb2 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.b7, i16 %4, i16 3) unreachable panic1: ; preds = %bb7 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b8) unreachable panic2: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.b9) unreachable } ; Function Attrs: uwtable define dereferenceable(6) %"num::bignum::tests::Big8x3"* @_ZN4core3num6bignum5tests6Big8x310mul_digits17ha8e771c7515aaa34E(%"num::bignum::tests::Big8x3"* dereferenceable(6), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %_26 = alloca [3 x i8] %_24 = alloca { i8*, i16 } %_16 = alloca { i8*, i16 } %retsz = alloca i16 %ret = alloca [3 x i8] br label %start start: ; preds = %entry-block %3 = getelementptr inbounds [3 x i8], [3 x i8]* %ret, i32 0, i32 0 %4 = getelementptr inbounds i8, i8* %3, i16 3 br label %slice_loop_header bb1: ; preds = %slice_loop_next %5 = icmp ult i16 %27, %28 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = call { i8*, i16 } @_ZN4core3num6bignum5tests6Big8x36digits17h2ad0e9f09df8eb66E(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %0) store { i8*, i16 } %6, { i8*, i16 }* %_16 br label %bb4 bb3: ; preds = %bb1 %7 = call { i8*, i16 } @_ZN4core3num6bignum5tests6Big8x36digits17h2ad0e9f09df8eb66E(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %0) store { i8*, i16 } %7, { i8*, i16 }* %_24 br label %bb6 bb4: ; preds = %bb2 %8 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_16, i32 0, i32 0 %9 = load i8*, i8** %8, !nonnull !1 %10 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_16, i32 0, i32 1 %11 = load i16, i16* %10 %12 = call i16 @_ZN4core3num6bignum5tests6Big8x310mul_digits9mul_inner17hd90c736f3861ddf5E([3 x i8]* dereferenceable(3) %ret, i8* noalias nonnull readonly %9, i16 %11, i8* noalias nonnull readonly %1, i16 %2) store i16 %12, i16* %retsz br label %bb5 bb5: ; preds = %bb4 br label %bb8 bb6: ; preds = %bb3 %13 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_24, i32 0, i32 0 %14 = load i8*, i8** %13, !nonnull !1 %15 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %_24, i32 0, i32 1 %16 = load i16, i16* %15 %17 = call i16 @_ZN4core3num6bignum5tests6Big8x310mul_digits9mul_inner17hd90c736f3861ddf5E([3 x i8]* dereferenceable(3) %ret, i8* noalias nonnull readonly %1, i16 %2, i8* noalias nonnull readonly %14, i16 %16) store i16 %17, i16* %retsz br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb7, %bb5 %18 = bitcast [3 x i8]* %ret to i8* %19 = bitcast [3 x i8]* %_26 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %18, i16 3, i32 1, i1 false) %20 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %21 = bitcast [3 x i8]* %_26 to i8* %22 = bitcast [3 x i8]* %20 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 3, i32 1, i1 false) %23 = load i16, i16* %retsz %24 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 store i16 %23, i16* %24 ret %"num::bignum::tests::Big8x3"* %0 slice_loop_body: ; preds = %slice_loop_header %25 = getelementptr inbounds i8, i8* %29, i16 1 store i8 0, i8* %29 br label %slice_loop_header slice_loop_next: ; preds = %slice_loop_header %26 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 %27 = load i16, i16* %26 %28 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %1, i16 %2) br label %bb1 slice_loop_header: ; preds = %slice_loop_body, %start %29 = phi i8* [ %3, %start ], [ %25, %slice_loop_body ] %30 = icmp ne i8* %29, %4 br i1 %30, label %slice_loop_body, label %slice_loop_next } ; Function Attrs: uwtable define internal i16 @_ZN4core3num6bignum5tests6Big8x310mul_digits9mul_inner17hd90c736f3861ddf5E([3 x i8]* dereferenceable(3), i8* noalias nonnull readonly, i16, i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %tmp_ret = alloca { i8, i8 } %_65 = alloca {} %_35 = alloca %"option::Option<(usize, &u8)>" %iter2 = alloca %"iter::Enumerate>" %_32 = alloca %"slice::Iter" %_31 = alloca %"iter::Enumerate>" %_30 = alloca %"iter::Enumerate>" %_result1 = alloca {} %carry = alloca i8 %sz = alloca i16 %_22 = alloca {} %_16 = alloca %"option::Option<(usize, &u8)>" %_15 = alloca {} %iter = alloca %"iter::Enumerate>" %_12 = alloca %"slice::Iter" %_11 = alloca %"iter::Enumerate>" %_10 = alloca %"iter::Enumerate>" %_result = alloca {} %retsz = alloca i16 br label %start start: ; preds = %entry-block store i16 0, i16* %retsz call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_12, i8* noalias nonnull readonly %1, i16 %2) br label %bb1 bb1: ; preds = %start call void @_ZN4core4iter8iterator8Iterator9enumerate17h96967ce04feb8fb7E(%"iter::Enumerate>"* noalias nocapture sret dereferenceable(6) %_11, %"slice::Iter"* noalias nocapture dereferenceable(4) %_12) br label %bb2 bb2: ; preds = %bb1 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17he6a4e5f4a09448bfE"(%"iter::Enumerate>"* noalias nocapture sret dereferenceable(6) %_10, %"iter::Enumerate>"* noalias nocapture dereferenceable(6) %_11) br label %bb3 bb3: ; preds = %bb2 %5 = bitcast %"iter::Enumerate>"* %_10 to i8* %6 = bitcast %"iter::Enumerate>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 6, i32 2, i1 false) br label %bb4 bb4: ; preds = %bb33, %bb9, %bb3 call void @"_ZN81_$LT$core..iter..Enumerate$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hde67f93aa32e4a27E"(%"option::Option<(usize, &u8)>"* noalias nocapture sret dereferenceable(4) %_16, %"iter::Enumerate>"* dereferenceable(6) %iter) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"option::Option<(usize, &u8)>", %"option::Option<(usize, &u8)>"* %_16, i32 0, i32 0, i32 1 %8 = load i8*, i8** %7 %9 = icmp ne i8* %8, null %10 = zext i1 %9 to i16 switch i16 %10, label %bb7 [ i16 0, label %bb6 ] bb6: ; preds = %bb5 %11 = load i16, i16* %retsz ret i16 %11 bb7: ; preds = %bb5 %12 = getelementptr inbounds %"option::Option<(usize, &u8)>", %"option::Option<(usize, &u8)>"* %_16, i32 0, i32 0 %13 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %12, i32 0, i32 0 %14 = load i16, i16* %13 %15 = getelementptr inbounds %"option::Option<(usize, &u8)>", %"option::Option<(usize, &u8)>"* %_16, i32 0, i32 0 %16 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %15, i32 0, i32 1 %17 = load i8*, i8** %16, !nonnull !1 %18 = load i8, i8* %17 %19 = icmp eq i8 %18, 0 br i1 %19, label %bb9, label %bb8 bb8: ; preds = %bb7 %20 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %3, i16 %4) store i16 %20, i16* %sz br label %bb10 bb9: ; preds = %bb7 br label %bb4 bb10: ; preds = %bb8 store i8 0, i8* %carry call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_32, i8* noalias nonnull readonly %3, i16 %4) br label %bb11 bb11: ; preds = %bb10 call void @_ZN4core4iter8iterator8Iterator9enumerate17h96967ce04feb8fb7E(%"iter::Enumerate>"* noalias nocapture sret dereferenceable(6) %_31, %"slice::Iter"* noalias nocapture dereferenceable(4) %_32) br label %bb12 bb12: ; preds = %bb11 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17he6a4e5f4a09448bfE"(%"iter::Enumerate>"* noalias nocapture sret dereferenceable(6) %_30, %"iter::Enumerate>"* noalias nocapture dereferenceable(6) %_31) br label %bb13 bb13: ; preds = %bb12 %21 = bitcast %"iter::Enumerate>"* %_30 to i8* %22 = bitcast %"iter::Enumerate>"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %22, i8* %21, i16 6, i32 2, i1 false) br label %bb14 bb14: ; preds = %bb22, %bb13 call void @"_ZN81_$LT$core..iter..Enumerate$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hde67f93aa32e4a27E"(%"option::Option<(usize, &u8)>"* noalias nocapture sret dereferenceable(4) %_35, %"iter::Enumerate>"* dereferenceable(6) %iter2) br label %bb15 bb15: ; preds = %bb14 %23 = getelementptr inbounds %"option::Option<(usize, &u8)>", %"option::Option<(usize, &u8)>"* %_35, i32 0, i32 0, i32 1 %24 = load i8*, i8** %23 %25 = icmp ne i8* %24, null %26 = zext i1 %25 to i16 switch i16 %26, label %bb17 [ i16 0, label %bb16 ] bb16: ; preds = %bb15 %27 = load i8, i8* %carry %28 = icmp ugt i8 %27, 0 br i1 %28, label %bb23, label %bb24 bb17: ; preds = %bb15 %29 = getelementptr inbounds %"option::Option<(usize, &u8)>", %"option::Option<(usize, &u8)>"* %_35, i32 0, i32 0 %30 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %29, i32 0, i32 0 %31 = load i16, i16* %30 %32 = getelementptr inbounds %"option::Option<(usize, &u8)>", %"option::Option<(usize, &u8)>"* %_35, i32 0, i32 0 %33 = getelementptr inbounds { i16, i8* }, { i16, i8* }* %32, i32 0, i32 1 %34 = load i8*, i8** %33, !nonnull !1 %35 = load i8, i8* %34 %36 = bitcast [3 x i8]* %0 to i8* %37 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %14, i16 %31) %38 = extractvalue { i16, i1 } %37, 0 %39 = extractvalue { i16, i1 } %37, 1 %40 = call i1 @llvm.expect.i1(i1 %39, i1 false) br i1 %40, label %panic, label %bb18 bb18: ; preds = %bb17 %41 = call dereferenceable(1) i8* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h08f0dba53d9565f6E"(i8* noalias nonnull readonly %36, i16 3, i16 %38) br label %bb19 bb19: ; preds = %bb18 %42 = load i8, i8* %41 %43 = load i8, i8* %carry %44 = call i16 @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$12full_mul_add17h157c170af264a27dE"(i8 %18, i8 %35, i8 %42, i8 %43) store i16 %44, i16* %abi_cast %45 = bitcast { i8, i8 }* %tmp_ret to i8* %46 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %45, i8* %46, i16 2, i32 1, i1 false) %47 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %48 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %49 = load i8, i8* %47 %50 = load i8, i8* %48 br label %bb20 bb20: ; preds = %bb19 %51 = bitcast [3 x i8]* %0 to i8* %52 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %14, i16 %31) %53 = extractvalue { i16, i1 } %52, 0 %54 = extractvalue { i16, i1 } %52, 1 %55 = call i1 @llvm.expect.i1(i1 %54, i1 false) br i1 %55, label %panic3, label %bb21 bb21: ; preds = %bb20 %56 = call dereferenceable(1) i8* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h39fe72663b4cbbaeE"(i8* nonnull %51, i16 3, i16 %53) br label %bb22 bb22: ; preds = %bb21 store i8 %50, i8* %56 store i8 %49, i8* %carry br label %bb14 bb23: ; preds = %bb16 %57 = load i8, i8* %carry %58 = bitcast [3 x i8]* %0 to i8* %59 = load i16, i16* %sz %60 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %14, i16 %59) %61 = extractvalue { i16, i1 } %60, 0 %62 = extractvalue { i16, i1 } %60, 1 %63 = call i1 @llvm.expect.i1(i1 %62, i1 false) br i1 %63, label %panic4, label %bb25 bb24: ; preds = %bb16 br label %bb28 bb25: ; preds = %bb23 %64 = call dereferenceable(1) i8* @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h39fe72663b4cbbaeE"(i8* nonnull %58, i16 3, i16 %61) br label %bb26 bb26: ; preds = %bb25 store i8 %57, i8* %64 %65 = load i16, i16* %sz %66 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %65, i16 1) %67 = extractvalue { i16, i1 } %66, 0 %68 = extractvalue { i16, i1 } %66, 1 %69 = call i1 @llvm.expect.i1(i1 %68, i1 false) br i1 %69, label %panic5, label %bb27 bb27: ; preds = %bb26 store i16 %67, i16* %sz br label %bb28 bb28: ; preds = %bb24, %bb27 %70 = load i16, i16* %retsz %71 = load i16, i16* %sz %72 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %14, i16 %71) %73 = extractvalue { i16, i1 } %72, 0 %74 = extractvalue { i16, i1 } %72, 1 %75 = call i1 @llvm.expect.i1(i1 %74, i1 false) br i1 %75, label %panic6, label %bb29 bb29: ; preds = %bb28 %76 = icmp ult i16 %70, %73 br i1 %76, label %bb30, label %bb31 bb30: ; preds = %bb29 %77 = load i16, i16* %sz %78 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %14, i16 %77) %79 = extractvalue { i16, i1 } %78, 0 %80 = extractvalue { i16, i1 } %78, 1 %81 = call i1 @llvm.expect.i1(i1 %80, i1 false) br i1 %81, label %panic7, label %bb32 bb31: ; preds = %bb29 br label %bb33 bb32: ; preds = %bb30 store i16 %79, i16* %retsz br label %bb33 bb33: ; preds = %bb31, %bb32 br label %bb4 panic: ; preds = %bb17 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.ba) unreachable panic3: ; preds = %bb20 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bb) unreachable panic4: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bc) unreachable panic5: ; preds = %bb26 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bd) unreachable panic6: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.be) unreachable panic7: ; preds = %bb30 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bf) unreachable } ; Function Attrs: uwtable define void @_ZN4core3num6bignum5tests6Big8x313div_rem_small17he086ee203b7b71a3E({ %"num::bignum::tests::Big8x3"*, i8 }* noalias nocapture sret dereferenceable(4), %"num::bignum::tests::Big8x3"* dereferenceable(6), i8) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %tmp_ret = alloca { i8, i8 } %_27 = alloca i8* %_26 = alloca {} %iter = alloca %"iter::Rev>" %_23 = alloca %"ops::RangeTo" %_18 = alloca %"slice::IterMut" %_17 = alloca %"iter::Rev>" %_16 = alloca %"iter::Rev>" %_result = alloca {} %borrow = alloca i8 %_5 = alloca {} br label %start start: ; preds = %entry-block %3 = icmp ugt i8 %2, 0 %4 = xor i1 %3, true br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum5tests6Big8x313div_rem_small14_MSG_FILE_LINE17ha7c11e58527611fbE) unreachable bb2: ; preds = %start %5 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %1, i32 0, i32 0 %6 = load i16, i16* %5 store i8 0, i8* %borrow %7 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %1, i32 0, i32 1 %8 = bitcast [3 x i8]* %7 to i8* %9 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_23, i32 0, i32 0 store i16 %6, i16* %9 %10 = bitcast %"ops::RangeTo"* %_23 to i16* %11 = load i16, i16* %10, align 2 %12 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h38b9234f04a0386aE"(i8* nonnull %8, i16 3, i16 %11) %13 = extractvalue { i8*, i16 } %12, 0 %14 = extractvalue { i8*, i16 } %12, 1 br label %bb3 bb3: ; preds = %bb2 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$8iter_mut17h6d56c6a0f0b9fdf5E"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_18, i8* nonnull %13, i16 %14) br label %bb4 bb4: ; preds = %bb3 call void @_ZN4core4iter8iterator8Iterator3rev17h2baa9ac0d555b6a1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_17, %"slice::IterMut"* noalias nocapture dereferenceable(4) %_18) br label %bb5 bb5: ; preds = %bb4 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h91b8c16afe19f74cE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_16, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_17) br label %bb6 bb6: ; preds = %bb5 %15 = bitcast %"iter::Rev>"* %_16 to i8* %16 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %15, i16 4, i32 2, i1 false) br label %bb7 bb7: ; preds = %bb11, %bb6 %17 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd4c8356f37b78896E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %17, i8** %_27 br label %bb8 bb8: ; preds = %bb7 %18 = load i8*, i8** %_27 %19 = icmp ne i8* %18, null %20 = zext i1 %19 to i16 switch i16 %20, label %bb10 [ i16 0, label %bb9 ] bb9: ; preds = %bb8 %21 = load i8, i8* %borrow %22 = getelementptr inbounds { %"num::bignum::tests::Big8x3"*, i8 }, { %"num::bignum::tests::Big8x3"*, i8 }* %0, i32 0, i32 0 store %"num::bignum::tests::Big8x3"* %1, %"num::bignum::tests::Big8x3"** %22 %23 = getelementptr inbounds { %"num::bignum::tests::Big8x3"*, i8 }, { %"num::bignum::tests::Big8x3"*, i8 }* %0, i32 0, i32 1 store i8 %21, i8* %23 ret void bb10: ; preds = %bb8 %24 = load i8*, i8** %_27, !nonnull !1 %25 = load i8, i8* %24 %26 = load i8, i8* %borrow %27 = call i16 @"_ZN49_$LT$u8$u20$as$u20$core..num..bignum..FullOps$GT$12full_div_rem17hf18b8eb66c198da0E"(i8 %25, i8 %2, i8 %26) store i16 %27, i16* %abi_cast %28 = bitcast { i8, i8 }* %tmp_ret to i8* %29 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %28, i8* %29, i16 2, i32 1, i1 false) %30 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %31 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %32 = load i8, i8* %30 %33 = load i8, i8* %31 br label %bb11 bb11: ; preds = %bb10 store i8 %32, i8* %24 store i8 %33, i8* %borrow br label %bb7 } ; Function Attrs: uwtable define void @_ZN4core3num6bignum5tests6Big8x37div_rem17h3f3192a6b2c12665E(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6), %"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6), %"num::bignum::tests::Big8x3"* dereferenceable(6), %"num::bignum::tests::Big8x3"* dereferenceable(6)) unnamed_addr #1 { entry-block: %arg = alloca %"ops::Range" %_128 = alloca %closure.53 %_126 = alloca %"ops::RangeFrom" %_121 = alloca %"slice::Iter" %_117 = alloca {} %_116 = alloca {} %_113 = alloca %closure.52 %_111 = alloca %"ops::RangeFrom" %_106 = alloca %"slice::Iter" %_102 = alloca {} %_101 = alloca {} %_90 = alloca {} %_78 = alloca %"num::bignum::tests::Big8x3"* %_76 = alloca %"num::bignum::tests::Big8x3"* %_61 = alloca %"option::Option" %iter4 = alloca %"iter::Rev>" %_58 = alloca %"ops::Range" %_57 = alloca %"iter::Rev>" %_56 = alloca %"iter::Rev>" %_result3 = alloca {} %q_is_zero = alloca i8 %_44 = alloca i8* %iter2 = alloca %"slice::IterMut" %_42 = alloca %"ops::RangeFull" %_37 = alloca %"slice::IterMut" %_result1 = alloca {} %_29 = alloca i8* %_28 = alloca {} %iter = alloca %"slice::IterMut" %_26 = alloca %"ops::RangeFull" %_21 = alloca %"slice::IterMut" %_result = alloca {} %_9 = alloca {} %_0 = alloca {} br label %start start: ; preds = %entry-block %4 = call zeroext i1 @_ZN4core3num6bignum5tests6Big8x37is_zero17he2f4793df10ac8e5E(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %1) br label %bb1 bb1: ; preds = %start %5 = xor i1 %4, true %6 = xor i1 %5, true br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum5tests6Big8x37div_rem14_MSG_FILE_LINE17h3666fb7d0f5ed512E) unreachable bb3: ; preds = %bb1 %7 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb4 bb4: ; preds = %bb3 %8 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %7, i16 8) %9 = extractvalue { i16, i1 } %8, 0 %10 = extractvalue { i16, i1 } %8, 1 %11 = call i1 @llvm.expect.i1(i1 %10, i1 false) br i1 %11, label %panic, label %bb5 bb5: ; preds = %bb4 %12 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %2, i32 0, i32 1 %13 = bitcast [3 x i8]* %12 to i8* %14 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h035026324c6b2126E"(i8* nonnull %13, i16 3) %15 = extractvalue { i8*, i16 } %14, 0 %16 = extractvalue { i8*, i16 } %14, 1 br label %bb6 bb6: ; preds = %bb5 call void @"_ZN4core5slice97_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$mut$u20$$u5b$T$u5d$$GT$9into_iter17hb54fc44aaf7ce3efE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_21, i8* nonnull %15, i16 %16) br label %bb7 bb7: ; preds = %bb6 %17 = bitcast %"slice::IterMut"* %_21 to i8* %18 = bitcast %"slice::IterMut"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %17, i16 4, i32 2, i1 false) br label %bb8 bb8: ; preds = %bb11, %bb7 %19 = call i8* @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha98f667bd924c796E"(%"slice::IterMut"* dereferenceable(4) %iter) store i8* %19, i8** %_29 br label %bb9 bb9: ; preds = %bb8 %20 = load i8*, i8** %_29 %21 = icmp ne i8* %20, null %22 = zext i1 %21 to i16 switch i16 %22, label %bb11 [ i16 0, label %bb10 ] bb10: ; preds = %bb9 %23 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %3, i32 0, i32 1 %24 = bitcast [3 x i8]* %23 to i8* %25 = call { i8*, i16 } @"_ZN4core5slice70_$LT$impl$u20$core..ops..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h035026324c6b2126E"(i8* nonnull %24, i16 3) %26 = extractvalue { i8*, i16 } %25, 0 %27 = extractvalue { i8*, i16 } %25, 1 br label %bb12 bb11: ; preds = %bb9 %28 = load i8*, i8** %_29, !nonnull !1 store i8 0, i8* %28 br label %bb8 bb12: ; preds = %bb10 call void @"_ZN4core5slice97_$LT$impl$u20$core..iter..traits..IntoIterator$u20$for$u20$$RF$$u27$a$u20$mut$u20$$u5b$T$u5d$$GT$9into_iter17hb54fc44aaf7ce3efE"(%"slice::IterMut"* noalias nocapture sret dereferenceable(4) %_37, i8* nonnull %26, i16 %27) br label %bb13 bb13: ; preds = %bb12 %29 = bitcast %"slice::IterMut"* %_37 to i8* %30 = bitcast %"slice::IterMut"* %iter2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %29, i16 4, i32 2, i1 false) br label %bb14 bb14: ; preds = %bb17, %bb13 %31 = call i8* @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha98f667bd924c796E"(%"slice::IterMut"* dereferenceable(4) %iter2) store i8* %31, i8** %_44 br label %bb15 bb15: ; preds = %bb14 %32 = load i8*, i8** %_44 %33 = icmp ne i8* %32, null %34 = zext i1 %33 to i16 switch i16 %34, label %bb17 [ i16 0, label %bb16 ] bb16: ; preds = %bb15 %35 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %1, i32 0, i32 0 %36 = load i16, i16* %35 %37 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %3, i32 0, i32 0 store i16 %36, i16* %37 %38 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %2, i32 0, i32 0 store i16 1, i16* %38 store i8 1, i8* %q_is_zero %39 = call i16 @_ZN4core3num6bignum5tests6Big8x310bit_length17h6cfc3c8733e061eeE(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %0) br label %bb18 bb17: ; preds = %bb15 %40 = load i8*, i8** %_44, !nonnull !1 store i8 0, i8* %40 br label %bb14 bb18: ; preds = %bb16 %41 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_58, i32 0, i32 0 store i16 0, i16* %41 %42 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_58, i32 0, i32 1 store i16 %39, i16* %42 %43 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_58, i32 0, i32 0 %44 = getelementptr inbounds %"ops::Range", %"ops::Range"* %_58, i32 0, i32 1 %45 = load i16, i16* %43 %46 = load i16, i16* %44 %47 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 0 store i16 %45, i16* %47 %48 = getelementptr inbounds %"ops::Range", %"ops::Range"* %arg, i32 0, i32 1 store i16 %46, i16* %48 call void @_ZN4core4iter8iterator8Iterator3rev17hb9f594bea3752bf4E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_57, %"ops::Range"* noalias nocapture dereferenceable(4) %arg) br label %bb19 bb19: ; preds = %bb18 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17ha5f1e23b4e5fe1daE"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_56, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_57) br label %bb20 bb20: ; preds = %bb19 %49 = bitcast %"iter::Rev>"* %_56 to i8* %50 = bitcast %"iter::Rev>"* %iter4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %50, i8* %49, i16 4, i32 2, i1 false) br label %bb21 bb21: ; preds = %bb40, %bb20 call void @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf4e559224378bdcdE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_61, %"iter::Rev>"* dereferenceable(4) %iter4) br label %bb22 bb22: ; preds = %bb21 %51 = getelementptr inbounds %"option::Option", %"option::Option"* %_61, i32 0, i32 0 %52 = load i16, i16* %51, !range !3 switch i16 %52, label %bb24 [ i16 0, label %bb23 ] bb23: ; preds = %bb22 %53 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %2, i32 0, i32 1 %54 = bitcast [3 x i8]* %53 to i8* %55 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %2, i32 0, i32 0 %56 = load i16, i16* %55 %57 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_111, i32 0, i32 0 store i16 %56, i16* %57 %58 = bitcast %"ops::RangeFrom"* %_111 to i16* %59 = load i16, i16* %58, align 2 %60 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %54, i16 3, i16 %59) %61 = extractvalue { i8*, i16 } %60, 0 %62 = extractvalue { i8*, i16 } %60, 1 br label %bb41 bb24: ; preds = %bb22 %63 = bitcast %"option::Option"* %_61 to { i16, i16 }* %64 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %63, i32 0, i32 1 %65 = load i16, i16* %64 %66 = call dereferenceable(6) %"num::bignum::tests::Big8x3"* @_ZN4core3num6bignum5tests6Big8x38mul_pow217hb62e76dfbb90fd52E(%"num::bignum::tests::Big8x3"* dereferenceable(6) %3, i16 1) br label %bb25 bb25: ; preds = %bb24 %67 = call i8 @_ZN4core3num6bignum5tests6Big8x37get_bit17hb3f694a11083062bE(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %0, i16 %65) br label %bb26 bb26: ; preds = %bb25 %68 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %3, i32 0, i32 1 br label %bb27 bb27: ; preds = %bb26 %69 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %3, i32 0, i32 1 %70 = getelementptr inbounds [3 x i8], [3 x i8]* %69, i16 0, i16 0 %71 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %3, i32 0, i32 1 %72 = getelementptr inbounds [3 x i8], [3 x i8]* %71, i16 0, i16 0 %73 = load i8, i8* %72 %74 = or i8 %73, %67 store i8 %74, i8* %70 store %"num::bignum::tests::Big8x3"* %3, %"num::bignum::tests::Big8x3"** %_76 store %"num::bignum::tests::Big8x3"* %1, %"num::bignum::tests::Big8x3"** %_78 %75 = call zeroext i1 @"_ZN4core3cmp5impls92_$LT$impl$u20$core..cmp..PartialOrd$LT$$RF$$u27$b$u20$B$GT$$u20$for$u20$$RF$$u27$a$u20$A$GT$2ge17h3a655434962cd5dcE"(%"num::bignum::tests::Big8x3"** noalias readonly dereferenceable(2) %_76, %"num::bignum::tests::Big8x3"** noalias readonly dereferenceable(2) %_78) br label %bb28 bb28: ; preds = %bb27 br i1 %75, label %bb29, label %bb30 bb29: ; preds = %bb28 %76 = call dereferenceable(6) %"num::bignum::tests::Big8x3"* @_ZN4core3num6bignum5tests6Big8x33sub17he90cdb1a78418bdcE(%"num::bignum::tests::Big8x3"* dereferenceable(6) %3, %"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %1) br label %bb31 bb30: ; preds = %bb28 br label %bb40 bb31: ; preds = %bb29 %77 = icmp eq i16 %9, 0 %78 = call i1 @llvm.expect.i1(i1 %77, i1 false) br i1 %78, label %panic5, label %bb32 bb32: ; preds = %bb31 %79 = udiv i16 %65, %9 %80 = icmp eq i16 %9, 0 %81 = call i1 @llvm.expect.i1(i1 %80, i1 false) br i1 %81, label %panic6, label %bb33 bb33: ; preds = %bb32 %82 = urem i16 %65, %9 %83 = load i8, i8* %q_is_zero, !range !2 %84 = trunc i8 %83 to i1 br i1 %84, label %bb34, label %bb35 bb34: ; preds = %bb33 %85 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %79, i16 1) %86 = extractvalue { i16, i1 } %85, 0 %87 = extractvalue { i16, i1 } %85, 1 %88 = call i1 @llvm.expect.i1(i1 %87, i1 false) br i1 %88, label %panic7, label %bb36 bb35: ; preds = %bb33 br label %bb37 bb36: ; preds = %bb34 %89 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %2, i32 0, i32 0 store i16 %86, i16* %89 store i8 0, i8* %q_is_zero br label %bb37 bb37: ; preds = %bb35, %bb36 %90 = and i16 %82, -8 %91 = icmp ne i16 %90, 0 %92 = trunc i16 %82 to i8 %93 = and i8 %92, 7 %94 = shl i8 1, %93 %95 = call i1 @llvm.expect.i1(i1 %91, i1 false) br i1 %95, label %panic8, label %bb38 bb38: ; preds = %bb37 %96 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %2, i32 0, i32 1 %97 = icmp ult i16 %79, 3 %98 = call i1 @llvm.expect.i1(i1 %97, i1 true) br i1 %98, label %bb39, label %panic9 bb39: ; preds = %bb38 %99 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %2, i32 0, i32 1 %100 = getelementptr inbounds [3 x i8], [3 x i8]* %99, i16 0, i16 %79 %101 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %2, i32 0, i32 1 %102 = getelementptr inbounds [3 x i8], [3 x i8]* %101, i16 0, i16 %79 %103 = load i8, i8* %102 %104 = or i8 %103, %94 store i8 %104, i8* %100 br label %bb40 bb40: ; preds = %bb30, %bb39 br label %bb21 bb41: ; preds = %bb23 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_106, i8* noalias nonnull readonly %61, i16 %62) br label %bb42 bb42: ; preds = %bb41 %105 = call zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17hda243ab982c432aeE"(%"slice::Iter"* dereferenceable(4) %_106) br label %bb43 bb43: ; preds = %bb42 %106 = xor i1 %105, true br i1 %106, label %bb44, label %bb45 bb44: ; preds = %bb43 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum5tests6Big8x37div_rem14_MSG_FILE_LINE17hc228160f110181adE) unreachable bb45: ; preds = %bb43 %107 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %3, i32 0, i32 1 %108 = bitcast [3 x i8]* %107 to i8* %109 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %3, i32 0, i32 0 %110 = load i16, i16* %109 %111 = getelementptr inbounds %"ops::RangeFrom", %"ops::RangeFrom"* %_126, i32 0, i32 0 store i16 %110, i16* %111 %112 = bitcast %"ops::RangeFrom"* %_126 to i16* %113 = load i16, i16* %112, align 2 %114 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h093f3c309d71f29bE"(i8* noalias nonnull readonly %108, i16 3, i16 %113) %115 = extractvalue { i8*, i16 } %114, 0 %116 = extractvalue { i8*, i16 } %114, 1 br label %bb46 bb46: ; preds = %bb45 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_121, i8* noalias nonnull readonly %115, i16 %116) br label %bb47 bb47: ; preds = %bb46 %117 = call zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h2aa2acf6c3794840E"(%"slice::Iter"* dereferenceable(4) %_121) br label %bb48 bb48: ; preds = %bb47 %118 = xor i1 %117, true br i1 %118, label %bb49, label %bb50 bb49: ; preds = %bb48 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4core3num6bignum5tests6Big8x37div_rem14_MSG_FILE_LINE17h65cca788a46c56aaE) unreachable bb50: ; preds = %bb48 ret void panic: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bg) unreachable panic5: ; preds = %bb31 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bh) unreachable panic6: ; preds = %bb32 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bi) unreachable panic7: ; preds = %bb34 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bj) unreachable panic8: ; preds = %bb37 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bk) unreachable panic9: ; preds = %bb38 call void @_ZN4core9panicking18panic_bounds_check17hb95740762725bba5E({ %str_slice, i32 }* @panic_bounds_check_loc.bl, i16 %79, i16 3) unreachable } ; Function Attrs: uwtable define zeroext i1 @"_ZN73_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..cmp..PartialEq$GT$2eq17h673c8fe91ad6bf11E"(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6), %"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6)) unnamed_addr #1 { entry-block: %_14 = alloca %"ops::RangeFull" %_9 = alloca %"ops::RangeFull" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %3 = bitcast [3 x i8]* %2 to i8* %4 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17he70eb16d5e72245eE"(i8* noalias nonnull readonly %3, i16 3) %5 = extractvalue { i8*, i16 } %4, 0 %6 = extractvalue { i8*, i16 } %4, 1 br label %bb1 bb1: ; preds = %start %7 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %1, i32 0, i32 1 %8 = bitcast [3 x i8]* %7 to i8* %9 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17he70eb16d5e72245eE"(i8* noalias nonnull readonly %8, i16 3) %10 = extractvalue { i8*, i16 } %9, 0 %11 = extractvalue { i8*, i16 } %9, 1 br label %bb2 bb2: ; preds = %bb1 %12 = call zeroext i1 @"_ZN4core5slice81_$LT$impl$u20$core..cmp..PartialEq$LT$$u5b$B$u5d$$GT$$u20$for$u20$$u5b$A$u5d$$GT$2eq17h420934823be0c250E"(i8* noalias nonnull readonly %5, i16 %6, i8* noalias nonnull readonly %10, i16 %11) br label %bb3 bb3: ; preds = %bb2 ret i1 %12 } ; Function Attrs: uwtable define i16 @"_ZN74_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..cmp..PartialOrd$GT$11partial_cmp17h0515517c312fb531E"(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6), %"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6)) unnamed_addr #1 { entry-block: %_5 = alloca i8 %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN67_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..cmp..Ord$GT$3cmp17h7962d4e9092e818bE"(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %0, %"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6) %1) store i8 %2, i8* %_5 br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %3 %4 = load i8, i8* %_5 %5 = bitcast %"option::Option"* %_0 to { i8, i8 }* %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %5, i32 0, i32 1 store i8 %4, i8* %6 %7 = bitcast %"option::Option"* %_0 to i16* %8 = load i16, i16* %7, align 1 ret i16 %8 } ; Function Attrs: uwtable define i8 @"_ZN67_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..cmp..Ord$GT$3cmp17h7962d4e9092e818bE"(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6), %"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6)) unnamed_addr #1 { entry-block: %_27 = alloca %"iter::Rev>>" %_26 = alloca %"iter::Rev>>" %_24 = alloca %"ops::RangeTo" %_19 = alloca %"slice::Iter" %_18 = alloca %"iter::Cloned>" %rhs = alloca %"iter::Rev>>" %_15 = alloca %"ops::RangeTo" %_10 = alloca %"slice::Iter" %_9 = alloca %"iter::Cloned>" %lhs = alloca %"iter::Rev>>" %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 %3 = load i16, i16* %2 %4 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %1, i32 0, i32 0 %5 = load i16, i16* %4 %6 = call i16 @_ZN4core3cmp3max17h87d192de69373d4eE(i16 %3, i16 %5) br label %bb1 bb1: ; preds = %start %7 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %8 = bitcast [3 x i8]* %7 to i8* %9 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_15, i32 0, i32 0 store i16 %6, i16* %9 %10 = bitcast %"ops::RangeTo"* %_15 to i16* %11 = load i16, i16* %10, align 2 %12 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %8, i16 3, i16 %11) %13 = extractvalue { i8*, i16 } %12, 0 %14 = extractvalue { i8*, i16 } %12, 1 br label %bb2 bb2: ; preds = %bb1 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_10, i8* noalias nonnull readonly %13, i16 %14) br label %bb3 bb3: ; preds = %bb2 call void @_ZN4core4iter8iterator8Iterator6cloned17hbfcfb70ddf60e5fcE(%"iter::Cloned>"* noalias nocapture sret dereferenceable(4) %_9, %"slice::Iter"* noalias nocapture dereferenceable(4) %_10) br label %bb4 bb4: ; preds = %bb3 call void @_ZN4core4iter8iterator8Iterator3rev17hf6606ce211b64032E(%"iter::Rev>>"* noalias nocapture sret dereferenceable(4) %lhs, %"iter::Cloned>"* noalias nocapture dereferenceable(4) %_9) br label %bb5 bb5: ; preds = %bb4 %15 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %1, i32 0, i32 1 %16 = bitcast [3 x i8]* %15 to i8* %17 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_24, i32 0, i32 0 store i16 %6, i16* %17 %18 = bitcast %"ops::RangeTo"* %_24 to i16* %19 = load i16, i16* %18, align 2 %20 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %16, i16 3, i16 %19) %21 = extractvalue { i8*, i16 } %20, 0 %22 = extractvalue { i8*, i16 } %20, 1 br label %bb6 bb6: ; preds = %bb5 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_19, i8* noalias nonnull readonly %21, i16 %22) br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core4iter8iterator8Iterator6cloned17hbfcfb70ddf60e5fcE(%"iter::Cloned>"* noalias nocapture sret dereferenceable(4) %_18, %"slice::Iter"* noalias nocapture dereferenceable(4) %_19) br label %bb8 bb8: ; preds = %bb7 call void @_ZN4core4iter8iterator8Iterator3rev17hf6606ce211b64032E(%"iter::Rev>>"* noalias nocapture sret dereferenceable(4) %rhs, %"iter::Cloned>"* noalias nocapture dereferenceable(4) %_18) br label %bb9 bb9: ; preds = %bb8 %23 = bitcast %"iter::Rev>>"* %lhs to i8* %24 = bitcast %"iter::Rev>>"* %_26 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %23, i16 4, i32 2, i1 false) %25 = bitcast %"iter::Rev>>"* %rhs to i8* %26 = bitcast %"iter::Rev>>"* %_27 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %26, i8* %25, i16 4, i32 2, i1 false) %27 = call i8 @_ZN4core4iter8iterator8Iterator3cmp17h646a3677af8da76cE(%"iter::Rev>>"* noalias nocapture dereferenceable(4) %_26, %"iter::Rev>>"* noalias nocapture dereferenceable(4) %_27) store i8 %27, i8* %_0 br label %bb10 bb10: ; preds = %bb9 %28 = load i8, i8* %_0 ret i8 %28 } ; Function Attrs: uwtable define void @"_ZN71_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..clone..Clone$GT$5clone17hb1b2f1fc4e915353E"(%"num::bignum::tests::Big8x3"* noalias nocapture sret dereferenceable(6), %"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6)) unnamed_addr #1 { entry-block: %_4 = alloca [3 x i8] br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %1, i32 0, i32 0 %3 = load i16, i16* %2 %4 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %1, i32 0, i32 1 %5 = bitcast [3 x i8]* %4 to i8* %6 = bitcast [3 x i8]* %_4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 3, i32 1, i1 false) %7 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 store i16 %3, i16* %7 %8 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %9 = bitcast [3 x i8]* %_4 to i8* %10 = bitcast [3 x i8]* %8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 3, i32 1, i1 false) ret void } ; Function Attrs: uwtable define i8 @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt17hf09a9ea2bdfd95bbE"(%"num::bignum::tests::Big8x3"* noalias readonly dereferenceable(6), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast9 = alloca i8 %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %tmp_ret6 = alloca %"fmt::ArgumentV1" %tmp_ret5 = alloca %"fmt::ArgumentV1" %abi_cast3 = alloca i8 %abi_cast2 = alloca i8 %abi_cast = alloca i8 %tmp_ret = alloca %"fmt::ArgumentV1" %_89 = alloca {} %_71 = alloca { i8*, i16* } %_70 = alloca [2 x %"fmt::ArgumentV1"] %_65 = alloca %"fmt::Arguments" %_63 = alloca %"result::Result<(), fmt::Error>" %_62 = alloca %"result::Result<(), fmt::Error>" %v = alloca i8 %_56 = alloca i8* %iter = alloca %"iter::Rev>" %_51 = alloca %"ops::RangeTo" %_46 = alloca %"slice::Iter" %_45 = alloca %"iter::Rev>" %_44 = alloca %"iter::Rev>" %_result = alloca {} %_40 = alloca {} %_22 = alloca { i8* } %_21 = alloca [1 x %"fmt::ArgumentV1"] %_16 = alloca %"fmt::Arguments" %_14 = alloca %"result::Result<(), fmt::Error>" %_13 = alloca %"result::Result<(), fmt::Error>" %digitlen = alloca i16 %sz = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 %3 = load i16, i16* %2 %4 = icmp ult i16 %3, 1 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start store i16 1, i16* %sz br label %bb3 bb2: ; preds = %start %5 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 0 %6 = load i16, i16* %5 store i16 %6, i16* %sz br label %bb3 bb3: ; preds = %bb2, %bb1 %7 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb4 bb4: ; preds = %bb3 %8 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %7, i16 2) %9 = extractvalue { i16, i1 } %8, 0 %10 = extractvalue { i16, i1 } %8, 1 %11 = call i1 @llvm.expect.i1(i1 %10, i1 false) br i1 %11, label %panic, label %bb5 bb5: ; preds = %bb4 store i16 %9, i16* %digitlen %12 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h4c80950f35298301E", i32 0, i32 0), !nonnull !1 %13 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h4c80950f35298301E", i32 0, i32 1) %14 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %15 = bitcast [3 x i8]* %14 to i8* %16 = load i16, i16* %sz %17 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %16, i16 1) %18 = extractvalue { i16, i1 } %17, 0 %19 = extractvalue { i16, i1 } %17, 1 %20 = call i1 @llvm.expect.i1(i1 %19, i1 false) br i1 %20, label %panic1, label %bb6 bb6: ; preds = %bb5 %21 = call dereferenceable(1) i8* @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h08f0dba53d9565f6E"(i8* noalias nonnull readonly %15, i16 3, i16 %18) br label %bb7 bb7: ; preds = %bb6 %22 = getelementptr inbounds { i8* }, { i8* }* %_22, i32 0, i32 0 store i8* %21, i8** %22 %23 = getelementptr inbounds { i8* }, { i8* }* %_22, i32 0, i32 0 %24 = load i8*, i8** %23, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i8* noalias readonly dereferenceable(1) %24, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u8$GT$3fmt17hd1901b22359abd0cE") %25 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %26 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %27 = load %"fmt::Void"*, %"fmt::Void"** %25, !nonnull !1 %28 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %26, !nonnull !1 br label %bb8 bb8: ; preds = %bb7 %29 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_21, i32 0, i32 0 %30 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 0 store %"fmt::Void"* %27, %"fmt::Void"** %30 %31 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %28, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %31 %32 = bitcast [1 x %"fmt::ArgumentV1"]* %_21 to %"fmt::ArgumentV1"* %33 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt16__STATIC_FMTARGS17h2f92ca082e00ee64E", i32 0, i32 0), !nonnull !1 %34 = load i16, i16* getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt16__STATIC_FMTARGS17h2f92ca082e00ee64E", i32 0, i32 1) call void @_ZN4core3fmt9Arguments16new_v1_formatted17h34bc06d81ce02e19E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_16, %str_slice* noalias nonnull readonly %12, i16 %13, %"fmt::ArgumentV1"* noalias nonnull readonly %32, i16 1, %"fmt::rt::v1::Argument"* noalias nonnull readonly %33, i16 %34) br label %bb9 bb9: ; preds = %bb8 %35 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %1, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_16) store i8 %35, i8* %abi_cast %36 = bitcast %"result::Result<(), fmt::Error>"* %_14 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %36, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 %37 = bitcast %"result::Result<(), fmt::Error>"* %_14 to i8* %38 = load i8, i8* %37, align 1 %39 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %38) store i8 %39, i8* %abi_cast2 %40 = bitcast %"result::Result<(), fmt::Error>"* %_13 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %40, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb11 bb11: ; preds = %bb10 %41 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_13, i32 0, i32 0 %42 = load i8, i8* %41, !range !2 %43 = zext i8 %42 to i16 switch i16 %43, label %bb13 [ i16 0, label %bb12 ] bb12: ; preds = %bb11 %44 = bitcast %"result::Result<(), fmt::Error>"* %_13 to { i8, {} }* %45 = getelementptr inbounds { i8, {} }, { i8, {} }* %44, i32 0, i32 1 %46 = getelementptr inbounds %"num::bignum::tests::Big8x3", %"num::bignum::tests::Big8x3"* %0, i32 0, i32 1 %47 = bitcast [3 x i8]* %46 to i8* %48 = load i16, i16* %sz %49 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %48, i16 1) %50 = extractvalue { i16, i1 } %49, 0 %51 = extractvalue { i16, i1 } %49, 1 %52 = call i1 @llvm.expect.i1(i1 %51, i1 false) br i1 %52, label %panic4, label %bb18 bb13: ; preds = %bb11 %53 = bitcast %"result::Result<(), fmt::Error>"* %_13 to { i8, %"fmt::Error" }* %54 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %53, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb14 bb14: ; preds = %bb13 %55 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %55, i8* %abi_cast3 %56 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %56, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb15 bb15: ; preds = %bb14 br label %bb17 bb16: ; preds = %bb25, %bb17 %57 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %58 = load i8, i8* %57, align 1 ret i8 %58 bb17: ; preds = %bb35, %bb15 br label %bb16 bb18: ; preds = %bb12 %59 = getelementptr inbounds %"ops::RangeTo", %"ops::RangeTo"* %_51, i32 0, i32 0 store i16 %50, i16* %59 %60 = bitcast %"ops::RangeTo"* %_51 to i16* %61 = load i16, i16* %60, align 2 %62 = call { i8*, i16 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h541ecc0250125859E"(i8* noalias nonnull readonly %47, i16 3, i16 %61) %63 = extractvalue { i8*, i16 } %62, 0 %64 = extractvalue { i8*, i16 } %62, 1 br label %bb19 bb19: ; preds = %bb18 call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17hd01b7f832209c642E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_46, i8* noalias nonnull readonly %63, i16 %64) br label %bb20 bb20: ; preds = %bb19 call void @_ZN4core4iter8iterator8Iterator3rev17h46ac273cb8c2b4b1E(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_45, %"slice::Iter"* noalias nocapture dereferenceable(4) %_46) br label %bb21 bb21: ; preds = %bb20 call void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hc1f899f63e904053E"(%"iter::Rev>"* noalias nocapture sret dereferenceable(4) %_44, %"iter::Rev>"* noalias nocapture dereferenceable(4) %_45) br label %bb22 bb22: ; preds = %bb21 %65 = bitcast %"iter::Rev>"* %_44 to i8* %66 = bitcast %"iter::Rev>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %66, i8* %65, i16 4, i32 2, i1 false) br label %bb23 bb23: ; preds = %bb32, %bb22 %67 = call i8* @"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd30c2d451b3657a3E"(%"iter::Rev>"* dereferenceable(4) %iter) store i8* %67, i8** %_56 br label %bb24 bb24: ; preds = %bb23 %68 = load i8*, i8** %_56 %69 = icmp ne i8* %68, null %70 = zext i1 %69 to i16 switch i16 %70, label %bb26 [ i16 0, label %bb25 ] bb25: ; preds = %bb24 %71 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_0, i32 0, i32 0 store i8 0, i8* %71 br label %bb16 bb26: ; preds = %bb24 %72 = load i8*, i8** %_56, !nonnull !1 %73 = load i8, i8* %72 store i8 %73, i8* %v %74 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h68ee0dd6e7e4c029E", i32 0, i32 0), !nonnull !1 %75 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h68ee0dd6e7e4c029E", i32 0, i32 1) %76 = getelementptr inbounds { i8*, i16* }, { i8*, i16* }* %_71, i32 0, i32 0 store i8* %v, i8** %76 %77 = getelementptr inbounds { i8*, i16* }, { i8*, i16* }* %_71, i32 0, i32 1 store i16* %digitlen, i16** %77 %78 = getelementptr inbounds { i8*, i16* }, { i8*, i16* }* %_71, i32 0, i32 0 %79 = load i8*, i8** %78, !nonnull !1 %80 = getelementptr inbounds { i8*, i16* }, { i8*, i16* }* %_71, i32 0, i32 1 %81 = load i16*, i16** %80, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret5, i8* noalias readonly dereferenceable(1) %79, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u8$GT$3fmt17hd1901b22359abd0cE") %82 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret5, i32 0, i32 0 %83 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret5, i32 0, i32 1 %84 = load %"fmt::Void"*, %"fmt::Void"** %82, !nonnull !1 %85 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %83, !nonnull !1 br label %bb27 bb27: ; preds = %bb26 call void @_ZN4core3fmt10ArgumentV110from_usize17h7f5643ff6327de91E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret6, i16* noalias readonly dereferenceable(2) %81) %86 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret6, i32 0, i32 0 %87 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret6, i32 0, i32 1 %88 = load %"fmt::Void"*, %"fmt::Void"** %86, !nonnull !1 %89 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %87, !nonnull !1 br label %bb28 bb28: ; preds = %bb27 %90 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_70, i32 0, i32 0 %91 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %90, i32 0, i32 0 store %"fmt::Void"* %84, %"fmt::Void"** %91 %92 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %90, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %85, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %92 %93 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_70, i32 0, i32 1 %94 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %93, i32 0, i32 0 store %"fmt::Void"* %88, %"fmt::Void"** %94 %95 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %93, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %89, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %95 %96 = bitcast [2 x %"fmt::ArgumentV1"]* %_70 to %"fmt::ArgumentV1"* %97 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt16__STATIC_FMTARGS17h0fc81cce249c7e90E", i32 0, i32 0), !nonnull !1 %98 = load i16, i16* getelementptr inbounds ({ %"fmt::rt::v1::Argument"*, i16 }, { %"fmt::rt::v1::Argument"*, i16 }* @"_ZN69_$LT$core..num..bignum..tests..Big8x3$u20$as$u20$core..fmt..Debug$GT$3fmt16__STATIC_FMTARGS17h0fc81cce249c7e90E", i32 0, i32 1) call void @_ZN4core3fmt9Arguments16new_v1_formatted17h34bc06d81ce02e19E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_65, %str_slice* noalias nonnull readonly %74, i16 %75, %"fmt::ArgumentV1"* noalias nonnull readonly %96, i16 2, %"fmt::rt::v1::Argument"* noalias nonnull readonly %97, i16 %98) br label %bb29 bb29: ; preds = %bb28 %99 = call i8 @_ZN4core3fmt9Formatter9write_fmt17h588b7397ea5c389cE(%"fmt::Formatter"* dereferenceable(32) %1, %"fmt::Arguments"* noalias nocapture dereferenceable(12) %_65) store i8 %99, i8* %abi_cast7 %100 = bitcast %"result::Result<(), fmt::Error>"* %_63 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %100, i8* %abi_cast7, i16 1, i32 1, i1 false) br label %bb30 bb30: ; preds = %bb29 %101 = bitcast %"result::Result<(), fmt::Error>"* %_63 to i8* %102 = load i8, i8* %101, align 1 %103 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17h6212874c5fd77c71E"(i8 %102) store i8 %103, i8* %abi_cast8 %104 = bitcast %"result::Result<(), fmt::Error>"* %_62 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %104, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 %105 = getelementptr inbounds %"result::Result<(), fmt::Error>", %"result::Result<(), fmt::Error>"* %_62, i32 0, i32 0 %106 = load i8, i8* %105, !range !2 %107 = zext i8 %106 to i16 switch i16 %107, label %bb33 [ i16 0, label %bb32 ] bb32: ; preds = %bb31 %108 = bitcast %"result::Result<(), fmt::Error>"* %_62 to { i8, {} }* %109 = getelementptr inbounds { i8, {} }, { i8, {} }* %108, i32 0, i32 1 br label %bb23 bb33: ; preds = %bb31 %110 = bitcast %"result::Result<(), fmt::Error>"* %_62 to { i8, %"fmt::Error" }* %111 = getelementptr inbounds { i8, %"fmt::Error" }, { i8, %"fmt::Error" }* %110, i32 0, i32 1 call void @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h61dd6e4bab2c1c3bE"() br label %bb34 bb34: ; preds = %bb33 %112 = call i8 @"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17hf5b7154e7ccdf898E"() store i8 %112, i8* %abi_cast9 %113 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %113, i8* %abi_cast9, i16 1, i32 1, i1 false) br label %bb35 bb35: ; preds = %bb34 br label %bb17 panic: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bm) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bn) unreachable panic4: ; preds = %bb12 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bo) unreachable } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3num6bignum5tests6Big8x38mul_pow228_$u7b$$u7b$closure$u7d$$u7d$17hbf43e1db2329b2c9E"(%closure.51*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load i8, i8* %1 %3 = icmp eq i8 %2, 0 ret i1 %3 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3num6bignum5tests6Big8x37div_rem28_$u7b$$u7b$closure$u7d$$u7d$17hc1c8636d8adb49b6E"(%closure.52*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load i8, i8* %1 %3 = icmp eq i8 %2, 0 ret i1 %3 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN4core3num6bignum5tests6Big8x37div_rem28_$u7b$$u7b$closure$u7d$$u7d$17ha2026c1e9fc28090E"(%closure.53*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = load i8, i8* %1 %3 = icmp eq i8 %2, 0 ret i1 %3 } ; Function Attrs: uwtable define i8 @"_ZN61_$LT$core..num..diy_float..Fp$u20$as$u20$core..fmt..Debug$GT$3fmt17h8045c3c4bc07d267E"(%"num::diy_float::Fp"* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_26 = alloca i16* %_18 = alloca i64* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i32 0, i32 1 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.bF, i32 0, i32 0), i16 2) br label %bb1 bb1: ; preds = %start store i64* %2, i64** %_18 %4 = bitcast i64** %_18 to i8* %5 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.bG, i32 0, i32 0), i16 1, i8* nonnull %4, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store i16* %3, i16** %_26 %6 = bitcast i16** %_26 to i8* %7 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.bH, i32 0, i32 0), i16 1, i8* nonnull %6, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.8N to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 %8 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %8, i8* %abi_cast %9 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %11 = load i8, i8* %10, align 1 ret i8 %11 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN38_$LT$u8$u20$as$u20$core..num..Zero$GT$4zero17hab8b175dac034a29E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i8 0 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN39_$LT$u16$u20$as$u20$core..num..Zero$GT$4zero17hfce24679f5940e48E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i16 0 } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN39_$LT$u32$u20$as$u20$core..num..Zero$GT$4zero17hb641e2898172fb22E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i32 0 } ; Function Attrs: inlinehint uwtable define internal i64 @"_ZN39_$LT$u64$u20$as$u20$core..num..Zero$GT$4zero17hd2369241092766c4E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i64 0 } ; Function Attrs: inlinehint uwtable define internal i128 @"_ZN40_$LT$u128$u20$as$u20$core..num..Zero$GT$4zero17hea846d9fb7aa688eE"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i128 0 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN41_$LT$usize$u20$as$u20$core..num..Zero$GT$4zero17h8c4e5f357104b3c5E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i16 0 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN4core3num20_$LT$impl$u20$i8$GT$9min_value17h35677f9792deffcdE"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block br label %bb1 bb1: ; preds = %start ret i8 -128 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN4core3num20_$LT$impl$u20$i8$GT$9max_value17h061c8773b610c477E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN4core3num20_$LT$impl$u20$i8$GT$9min_value17h35677f9792deffcdE"() br label %bb1 bb1: ; preds = %start %1 = xor i8 %0, -1 ret i8 %1 } ; Function Attrs: uwtable define i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$14from_str_radix17ha1809df86f520737E"(i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3num14from_str_radix17h633e929e29fd0931E(i8* noalias nonnull readonly %0, i16 %1, i32 %2) store i16 %3, i16* %abi_cast %4 = bitcast %"result::Result"* %_0 to i8* %5 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %5, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result"* %_0 to i16* %7 = load i16, i16* %6, align 1 ret i16 %7 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$11checked_add17ha1d07bd00cdd6d7eE"(i8, i8) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %tmp_ret = alloca { i8, i8 } %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$15overflowing_add17h5b496672ed75934eE"(i8 %0, i8 %1) store i16 %2, i16* %abi_cast %3 = bitcast { i8, i8 }* %tmp_ret to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) %5 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %7 = load i8, i8* %5 %8 = load i8, i8* %6, !range !2 %9 = trunc i8 %8 to i1 br label %bb1 bb1: ; preds = %start br i1 %9, label %bb2, label %bb3 bb2: ; preds = %bb1 %10 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 0, i8* %10 br label %bb4 bb3: ; preds = %bb1 %11 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %11 %12 = bitcast %"option::Option"* %_0 to { i8, i8 }* %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %12, i32 0, i32 1 store i8 %7, i8* %13 br label %bb4 bb4: ; preds = %bb3, %bb2 %14 = bitcast %"option::Option"* %_0 to i16* %15 = load i16, i16* %14, align 1 ret i16 %15 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$11checked_sub17hef86c688d4bf091dE"(i8, i8) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %tmp_ret = alloca { i8, i8 } %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$15overflowing_sub17h13dbf94e8bc50132E"(i8 %0, i8 %1) store i16 %2, i16* %abi_cast %3 = bitcast { i8, i8 }* %tmp_ret to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) %5 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %7 = load i8, i8* %5 %8 = load i8, i8* %6, !range !2 %9 = trunc i8 %8 to i1 br label %bb1 bb1: ; preds = %start br i1 %9, label %bb2, label %bb3 bb2: ; preds = %bb1 %10 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 0, i8* %10 br label %bb4 bb3: ; preds = %bb1 %11 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %11 %12 = bitcast %"option::Option"* %_0 to { i8, i8 }* %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %12, i32 0, i32 1 store i8 %7, i8* %13 br label %bb4 bb4: ; preds = %bb3, %bb2 %14 = bitcast %"option::Option"* %_0 to i16* %15 = load i16, i16* %14, align 1 ret i16 %15 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$11checked_mul17h8f00f075589dc3cbE"(i8, i8) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %tmp_ret = alloca { i8, i8 } %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$15overflowing_mul17hc86ee37e93efc159E"(i8 %0, i8 %1) store i16 %2, i16* %abi_cast %3 = bitcast { i8, i8 }* %tmp_ret to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) %5 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %7 = load i8, i8* %5 %8 = load i8, i8* %6, !range !2 %9 = trunc i8 %8 to i1 br label %bb1 bb1: ; preds = %start br i1 %9, label %bb2, label %bb3 bb2: ; preds = %bb1 %10 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 0, i8* %10 br label %bb4 bb3: ; preds = %bb1 %11 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %11 %12 = bitcast %"option::Option"* %_0 to { i8, i8 }* %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %12, i32 0, i32 1 store i8 %7, i8* %13 br label %bb4 bb4: ; preds = %bb3, %bb2 %14 = bitcast %"option::Option"* %_0 to i16* %15 = load i16, i16* %14, align 1 ret i16 %15 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$15overflowing_add17h5b496672ed75934eE"(i8, i8) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i8, i8 } %_0 = alloca { i8, i8 } br label %start start: ; preds = %entry-block %2 = call { i8, i1 } @llvm.sadd.with.overflow.i8(i8 %0, i8 %1) %3 = extractvalue { i8, i1 } %2, 0 %4 = extractvalue { i8, i1 } %2, 1 %5 = zext i1 %4 to i8 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 store i8 %3, i8* %6 %7 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 store i8 %5, i8* %7 %8 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %10 = load i8, i8* %8 %11 = load i8, i8* %9, !range !2 %12 = trunc i8 %11 to i1 br label %bb1 bb1: ; preds = %start %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 0 store i8 %10, i8* %13 %14 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 1 %15 = zext i1 %12 to i8 store i8 %15, i8* %14 %16 = bitcast { i8, i8 }* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$15overflowing_sub17h13dbf94e8bc50132E"(i8, i8) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i8, i8 } %_0 = alloca { i8, i8 } br label %start start: ; preds = %entry-block %2 = call { i8, i1 } @llvm.ssub.with.overflow.i8(i8 %0, i8 %1) %3 = extractvalue { i8, i1 } %2, 0 %4 = extractvalue { i8, i1 } %2, 1 %5 = zext i1 %4 to i8 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 store i8 %3, i8* %6 %7 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 store i8 %5, i8* %7 %8 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %10 = load i8, i8* %8 %11 = load i8, i8* %9, !range !2 %12 = trunc i8 %11 to i1 br label %bb1 bb1: ; preds = %start %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 0 store i8 %10, i8* %13 %14 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 1 %15 = zext i1 %12 to i8 store i8 %15, i8* %14 %16 = bitcast { i8, i8 }* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$15overflowing_mul17hc86ee37e93efc159E"(i8, i8) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i8, i8 } %_0 = alloca { i8, i8 } br label %start start: ; preds = %entry-block %2 = call { i8, i1 } @llvm.smul.with.overflow.i8(i8 %0, i8 %1) %3 = extractvalue { i8, i1 } %2, 0 %4 = extractvalue { i8, i1 } %2, 1 %5 = zext i1 %4 to i8 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 store i8 %3, i8* %6 %7 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 store i8 %5, i8* %7 %8 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %10 = load i8, i8* %8 %11 = load i8, i8* %9, !range !2 %12 = trunc i8 %11 to i1 br label %bb1 bb1: ; preds = %start %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 0 store i8 %10, i8* %13 %14 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 1 %15 = zext i1 %12 to i8 store i8 %15, i8* %14 %16 = bitcast { i8, i8 }* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num21_$LT$impl$u20$i16$GT$9min_value17h25a87c07acaccd6aE"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block br label %bb1 bb1: ; preds = %start ret i16 -32768 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num21_$LT$impl$u20$i16$GT$9max_value17ha2495f4731012aaaE"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN4core3num21_$LT$impl$u20$i16$GT$9min_value17h25a87c07acaccd6aE"() br label %bb1 bb1: ; preds = %start %1 = xor i16 %0, -1 ret i16 %1 } ; Function Attrs: uwtable define void @"_ZN4core3num21_$LT$impl$u20$i16$GT$14from_str_radix17h9de47588086d4f87E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h27e753a76ae9212cE(%"result::Result"* noalias nocapture sret dereferenceable(4) %0, i8* noalias nonnull readonly %1, i16 %2, i32 %3) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i16$GT$11checked_add17h560032d496adcb16E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$i16$GT$15overflowing_add17h7e23095f92a987c8E"({ i16, i8 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i16 %1, i16 %2) %3 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %9 %10 = bitcast %"option::Option"* %0 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 store i16 %5, i16* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i16$GT$11checked_sub17h05401c223f58acd6E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$i16$GT$15overflowing_sub17h58f4143aae12615eE"({ i16, i8 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i16 %1, i16 %2) %3 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %9 %10 = bitcast %"option::Option"* %0 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 store i16 %5, i16* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i16$GT$11checked_mul17h3a751b7dd41ced51E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$i16$GT$15overflowing_mul17he6c25db6246cf2c6E"({ i16, i8 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i16 %1, i16 %2) %3 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %9 %10 = bitcast %"option::Option"* %0 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 store i16 %5, i16* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i16$GT$15overflowing_add17h7e23095f92a987c8E"({ i16, i8 }* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %1, i16 %2) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 0 store i16 %11, i16* %14 %15 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i16$GT$15overflowing_sub17h58f4143aae12615eE"({ i16, i8 }* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %1, i16 %2) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 0 store i16 %11, i16* %14 %15 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i16$GT$15overflowing_mul17he6c25db6246cf2c6E"({ i16, i8 }* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.smul.with.overflow.i16(i16 %1, i16 %2) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 0 store i16 %11, i16* %14 %15 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num21_$LT$impl$u20$i16$GT$3abs17hf64670bac754becdE"(i16) unnamed_addr #0 { entry-block: %_0 = alloca i16 br label %start start: ; preds = %entry-block %1 = call zeroext i1 @"_ZN4core3num21_$LT$impl$u20$i16$GT$11is_negative17h110cc675b18dfb50E"(i16 %0) br label %bb1 bb1: ; preds = %start br i1 %1, label %bb2, label %bb3 bb2: ; preds = %bb1 %2 = icmp eq i16 %0, -32768 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb4 bb3: ; preds = %bb1 store i16 %0, i16* %_0 br label %bb5 bb4: ; preds = %bb2 %4 = sub i16 0, %0 store i16 %4, i16* %_0 br label %bb5 bb5: ; preds = %bb3, %bb4 %5 = load i16, i16* %_0 ret i16 %5 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bK) unreachable } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3num21_$LT$impl$u20$i16$GT$11is_negative17h110cc675b18dfb50E"(i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = icmp slt i16 %0, 0 ret i1 %1 } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num21_$LT$impl$u20$i32$GT$9min_value17h7f6856b8be16a32cE"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block br label %bb1 bb1: ; preds = %start ret i32 -2147483648 } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num21_$LT$impl$u20$i32$GT$9max_value17h17c3d4f093c6356fE"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %0 = call i32 @"_ZN4core3num21_$LT$impl$u20$i32$GT$9min_value17h7f6856b8be16a32cE"() br label %bb1 bb1: ; preds = %start %1 = xor i32 %0, -1 ret i32 %1 } ; Function Attrs: uwtable define void @"_ZN4core3num21_$LT$impl$u20$i32$GT$14from_str_radix17hc8a880ab3179f918E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h83db9f8807bf0297E(%"result::Result"* noalias nocapture sret dereferenceable(8) %0, i8* noalias nonnull readonly %1, i16 %2, i32 %3) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i32$GT$11checked_add17he1c77bbadd8e239aE"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i32, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$i32$GT$15overflowing_add17hc2458f02b2853f16E"({ i32, i8 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %1, i32 %2) %3 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i32, i32* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %9 %10 = bitcast %"option::Option"* %0 to { i32, i32 }* %11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 store i32 %5, i32* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i32$GT$11checked_sub17hcea9cccae5574dbfE"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i32, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$i32$GT$15overflowing_sub17hbd54a6e11af6ab09E"({ i32, i8 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %1, i32 %2) %3 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i32, i32* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %9 %10 = bitcast %"option::Option"* %0 to { i32, i32 }* %11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 store i32 %5, i32* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i32$GT$11checked_mul17h3b3f138af3f48077E"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i32, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$i32$GT$15overflowing_mul17h77d27642caae5b38E"({ i32, i8 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %1, i32 %2) %3 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i32, i32* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %9 %10 = bitcast %"option::Option"* %0 to { i32, i32 }* %11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 store i32 %5, i32* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i32$GT$15overflowing_add17hc2458f02b2853f16E"({ i32, i8 }* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i32, i8 } br label %start start: ; preds = %entry-block %3 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %1, i32 %2) %4 = extractvalue { i32, i1 } %3, 0 %5 = extractvalue { i32, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 store i32 %4, i32* %7 %8 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i32, i32* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 0 store i32 %11, i32* %14 %15 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i32$GT$15overflowing_sub17hbd54a6e11af6ab09E"({ i32, i8 }* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i32, i8 } br label %start start: ; preds = %entry-block %3 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %1, i32 %2) %4 = extractvalue { i32, i1 } %3, 0 %5 = extractvalue { i32, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 store i32 %4, i32* %7 %8 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i32, i32* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 0 store i32 %11, i32* %14 %15 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i32$GT$15overflowing_mul17h77d27642caae5b38E"({ i32, i8 }* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i32, i8 } br label %start start: ; preds = %entry-block %3 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %1, i32 %2) %4 = extractvalue { i32, i1 } %3, 0 %5 = extractvalue { i32, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 store i32 %4, i32* %7 %8 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i32, i32* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 0 store i32 %11, i32* %14 %15 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$9min_value17ha1b7ea8c2fd64ec5E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block br label %bb1 bb1: ; preds = %start ret i64 -9223372036854775808 } ; Function Attrs: inlinehint uwtable define internal i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$9max_value17h168aede93a30ace9E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %0 = call i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$9min_value17ha1b7ea8c2fd64ec5E"() br label %bb1 bb1: ; preds = %start %1 = xor i64 %0, -1 ret i64 %1 } ; Function Attrs: uwtable define void @"_ZN4core3num21_$LT$impl$u20$i64$GT$14from_str_radix17hbe06e7664a661bafE"(%"result::Result"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h6051dce4092dd5c0E(%"result::Result"* noalias nocapture sret dereferenceable(16) %0, i8* noalias nonnull readonly %1, i16 %2, i32 %3) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i64$GT$11checked_add17h83dec13e5a747afcE"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i64, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$i64$GT$15overflowing_add17hc0705f76a1a9ba5bE"({ i64, i8 }* noalias nocapture sret dereferenceable(16) %tmp_ret, i64 %1, i64 %2) %3 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i64, i64* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %9 %10 = bitcast %"option::Option"* %0 to { i64, i64 }* %11 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i32 0, i32 1 store i64 %5, i64* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i64$GT$11checked_sub17hab6a2ecfc1b2307cE"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i64, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$i64$GT$15overflowing_sub17h4f7d9aaa0086d9a2E"({ i64, i8 }* noalias nocapture sret dereferenceable(16) %tmp_ret, i64 %1, i64 %2) %3 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i64, i64* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %9 %10 = bitcast %"option::Option"* %0 to { i64, i64 }* %11 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i32 0, i32 1 store i64 %5, i64* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i64$GT$11checked_mul17hf24669eff249a113E"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i64, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$i64$GT$15overflowing_mul17h495c0a1424510abeE"({ i64, i8 }* noalias nocapture sret dereferenceable(16) %tmp_ret, i64 %1, i64 %2) %3 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i64, i64* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %9 %10 = bitcast %"option::Option"* %0 to { i64, i64 }* %11 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i32 0, i32 1 store i64 %5, i64* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i64$GT$15overflowing_add17hc0705f76a1a9ba5bE"({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i64, i8 } br label %start start: ; preds = %entry-block %3 = call { i64, i1 } @llvm.sadd.with.overflow.i64(i64 %1, i64 %2) %4 = extractvalue { i64, i1 } %3, 0 %5 = extractvalue { i64, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 store i64 %4, i64* %7 %8 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i64, i64* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 store i64 %11, i64* %14 %15 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i64$GT$15overflowing_sub17h4f7d9aaa0086d9a2E"({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i64, i8 } br label %start start: ; preds = %entry-block %3 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 %1, i64 %2) %4 = extractvalue { i64, i1 } %3, 0 %5 = extractvalue { i64, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 store i64 %4, i64* %7 %8 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i64, i64* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 store i64 %11, i64* %14 %15 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$i64$GT$15overflowing_mul17h495c0a1424510abeE"({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i64, i8 } br label %start start: ; preds = %entry-block %3 = call { i64, i1 } @llvm.smul.with.overflow.i64(i64 %1, i64 %2) %4 = extractvalue { i64, i1 } %3, 0 %5 = extractvalue { i64, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 store i64 %4, i64* %7 %8 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i64, i64* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 store i64 %11, i64* %14 %15 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$3abs17h022b525486993b2fE"(i64) unnamed_addr #0 { entry-block: %_0 = alloca i64 br label %start start: ; preds = %entry-block %1 = call zeroext i1 @"_ZN4core3num21_$LT$impl$u20$i64$GT$11is_negative17hda7a2620f7367412E"(i64 %0) br label %bb1 bb1: ; preds = %start br i1 %1, label %bb2, label %bb3 bb2: ; preds = %bb1 %2 = icmp eq i64 %0, -9223372036854775808 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb4 bb3: ; preds = %bb1 store i64 %0, i64* %_0 br label %bb5 bb4: ; preds = %bb2 %4 = sub i64 0, %0 store i64 %4, i64* %_0 br label %bb5 bb5: ; preds = %bb3, %bb4 %5 = load i64, i64* %_0 ret i64 %5 panic: ; preds = %bb2 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bK) unreachable } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3num21_$LT$impl$u20$i64$GT$11is_negative17hda7a2620f7367412E"(i64) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = icmp slt i64 %0, 0 ret i1 %1 } ; Function Attrs: inlinehint uwtable define internal i128 @"_ZN4core3num22_$LT$impl$u20$i128$GT$9min_value17h126c73e8d3fd1431E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block br label %bb1 bb1: ; preds = %start ret i128 -170141183460469231731687303715884105728 } ; Function Attrs: inlinehint uwtable define internal i128 @"_ZN4core3num22_$LT$impl$u20$i128$GT$9max_value17hc4871c436a43d315E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %0 = call i128 @"_ZN4core3num22_$LT$impl$u20$i128$GT$9min_value17h126c73e8d3fd1431E"() br label %bb1 bb1: ; preds = %start %1 = xor i128 %0, -1 ret i128 %1 } ; Function Attrs: uwtable define void @"_ZN4core3num22_$LT$impl$u20$i128$GT$14from_str_radix17h683a7c02f8c8e6b3E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h6a5c57895f125708E(%"result::Result"* noalias nocapture sret dereferenceable(24) %0, i8* noalias nonnull readonly %1, i16 %2, i32 %3) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num22_$LT$impl$u20$i128$GT$11checked_add17h287c58c2e67a3014E"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i128, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num22_$LT$impl$u20$i128$GT$15overflowing_add17h8a1456f805d0dca8E"({ i128, i8 }* noalias nocapture sret dereferenceable(24) %tmp_ret, i128 %1, i128 %2) %3 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i128, i128* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %9 %10 = bitcast %"option::Option"* %0 to { i64, i128 }* %11 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %10, i32 0, i32 1 store i128 %5, i128* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num22_$LT$impl$u20$i128$GT$11checked_sub17h475bc3687092e8ebE"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i128, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num22_$LT$impl$u20$i128$GT$15overflowing_sub17h156036e92263b95cE"({ i128, i8 }* noalias nocapture sret dereferenceable(24) %tmp_ret, i128 %1, i128 %2) %3 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i128, i128* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %9 %10 = bitcast %"option::Option"* %0 to { i64, i128 }* %11 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %10, i32 0, i32 1 store i128 %5, i128* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num22_$LT$impl$u20$i128$GT$11checked_mul17h7af2901bfa7c225dE"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i128, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num22_$LT$impl$u20$i128$GT$15overflowing_mul17h2e14ab90c8c5caa3E"({ i128, i8 }* noalias nocapture sret dereferenceable(24) %tmp_ret, i128 %1, i128 %2) %3 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i128, i128* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %9 %10 = bitcast %"option::Option"* %0 to { i64, i128 }* %11 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %10, i32 0, i32 1 store i128 %5, i128* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num22_$LT$impl$u20$i128$GT$15overflowing_add17h8a1456f805d0dca8E"({ i128, i8 }* noalias nocapture sret dereferenceable(24), i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i128, i8 } br label %start start: ; preds = %entry-block %3 = call { i128, i1 } @llvm.sadd.with.overflow.i128(i128 %1, i128 %2) %4 = extractvalue { i128, i1 } %3, 0 %5 = extractvalue { i128, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 store i128 %4, i128* %7 %8 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i128, i128* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %0, i32 0, i32 0 store i128 %11, i128* %14 %15 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num22_$LT$impl$u20$i128$GT$15overflowing_sub17h156036e92263b95cE"({ i128, i8 }* noalias nocapture sret dereferenceable(24), i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i128, i8 } br label %start start: ; preds = %entry-block %3 = call { i128, i1 } @llvm.ssub.with.overflow.i128(i128 %1, i128 %2) %4 = extractvalue { i128, i1 } %3, 0 %5 = extractvalue { i128, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 store i128 %4, i128* %7 %8 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i128, i128* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %0, i32 0, i32 0 store i128 %11, i128* %14 %15 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num22_$LT$impl$u20$i128$GT$15overflowing_mul17h2e14ab90c8c5caa3E"({ i128, i8 }* noalias nocapture sret dereferenceable(24), i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i128, i8 } br label %start start: ; preds = %entry-block %3 = call { i128, i1 } @llvm.smul.with.overflow.i128(i128 %1, i128 %2) %4 = extractvalue { i128, i1 } %3, 0 %5 = extractvalue { i128, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 store i128 %4, i128* %7 %8 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i128, i128* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %0, i32 0, i32 0 store i128 %11, i128* %14 %15 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num23_$LT$impl$u20$isize$GT$9min_value17hbf9492a2cdd2b229E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block br label %bb1 bb1: ; preds = %start ret i16 -32768 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num23_$LT$impl$u20$isize$GT$9max_value17he8af097bf37d1b25E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN4core3num23_$LT$impl$u20$isize$GT$9min_value17hbf9492a2cdd2b229E"() br label %bb1 bb1: ; preds = %start %1 = xor i16 %0, -1 ret i16 %1 } ; Function Attrs: uwtable define void @"_ZN4core3num23_$LT$impl$u20$isize$GT$14from_str_radix17h9f75ef4147e9deebE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17ha10e01bb6c540986E(%"result::Result"* noalias nocapture sret dereferenceable(4) %0, i8* noalias nonnull readonly %1, i16 %2, i32 %3) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num23_$LT$impl$u20$isize$GT$11checked_add17hfa3c0e78de4e6dbeE"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num23_$LT$impl$u20$isize$GT$15overflowing_add17hf69fcea64feb0ff0E"({ i16, i8 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i16 %1, i16 %2) %3 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %9 %10 = bitcast %"option::Option"* %0 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 store i16 %5, i16* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num23_$LT$impl$u20$isize$GT$11checked_sub17h4a6b6cfe8060ed7fE"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num23_$LT$impl$u20$isize$GT$15overflowing_sub17h999b5d1370946465E"({ i16, i8 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i16 %1, i16 %2) %3 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %9 %10 = bitcast %"option::Option"* %0 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 store i16 %5, i16* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num23_$LT$impl$u20$isize$GT$11checked_mul17h485403a5aaf45539E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num23_$LT$impl$u20$isize$GT$15overflowing_mul17ha7ce05f27ddeec50E"({ i16, i8 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i16 %1, i16 %2) %3 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %9 %10 = bitcast %"option::Option"* %0 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 store i16 %5, i16* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num23_$LT$impl$u20$isize$GT$12wrapping_sub17h2d69149c0d003ca3E"(i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block %2 = sub i16 %0, %1 store i16 %2, i16* %tmp_ret %3 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num23_$LT$impl$u20$isize$GT$15overflowing_add17hf69fcea64feb0ff0E"({ i16, i8 }* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %1, i16 %2) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 0 store i16 %11, i16* %14 %15 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num23_$LT$impl$u20$isize$GT$15overflowing_sub17h999b5d1370946465E"({ i16, i8 }* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %1, i16 %2) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 0 store i16 %11, i16* %14 %15 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num23_$LT$impl$u20$isize$GT$15overflowing_mul17ha7ce05f27ddeec50E"({ i16, i8 }* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.smul.with.overflow.i16(i16 %1, i16 %2) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 0 store i16 %11, i16* %14 %15 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN4core3num20_$LT$impl$u20$u8$GT$9min_value17h87042d50b3c56980E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i8 0 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN4core3num20_$LT$impl$u20$u8$GT$9max_value17h17657fe6bca9c4acE"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i8 -1 } ; Function Attrs: uwtable define i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$14from_str_radix17hdabaa67271fdadd4E"(i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %3 = call i16 @_ZN4core3num14from_str_radix17h9a3369ca01adab7eE(i8* noalias nonnull readonly %0, i16 %1, i32 %2) store i16 %3, i16* %abi_cast %4 = bitcast %"result::Result"* %_0 to i8* %5 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %5, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result"* %_0 to i16* %7 = load i16, i16* %6, align 1 ret i16 %7 } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num20_$LT$impl$u20$u8$GT$13leading_zeros17he6d7ccbee525af82E"(i8) unnamed_addr #0 { entry-block: %tmp_ret = alloca i8 br label %start start: ; preds = %entry-block %1 = call i8 @llvm.ctlz.i8(i8 %0, i1 false) store i8 %1, i8* %tmp_ret %2 = load i8, i8* %tmp_ret br label %bb1 bb1: ; preds = %start %3 = zext i8 %2 to i32 ret i32 %3 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$11checked_add17h22e84cbeb9a2a419E"(i8, i8) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %tmp_ret = alloca { i8, i8 } %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$15overflowing_add17h1b91414d44c68e6fE"(i8 %0, i8 %1) store i16 %2, i16* %abi_cast %3 = bitcast { i8, i8 }* %tmp_ret to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) %5 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %7 = load i8, i8* %5 %8 = load i8, i8* %6, !range !2 %9 = trunc i8 %8 to i1 br label %bb1 bb1: ; preds = %start br i1 %9, label %bb2, label %bb3 bb2: ; preds = %bb1 %10 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 0, i8* %10 br label %bb4 bb3: ; preds = %bb1 %11 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %11 %12 = bitcast %"option::Option"* %_0 to { i8, i8 }* %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %12, i32 0, i32 1 store i8 %7, i8* %13 br label %bb4 bb4: ; preds = %bb3, %bb2 %14 = bitcast %"option::Option"* %_0 to i16* %15 = load i16, i16* %14, align 1 ret i16 %15 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$11checked_sub17h0b712ced00636b62E"(i8, i8) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %tmp_ret = alloca { i8, i8 } %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$15overflowing_sub17he343d8d075d0e3aaE"(i8 %0, i8 %1) store i16 %2, i16* %abi_cast %3 = bitcast { i8, i8 }* %tmp_ret to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) %5 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %7 = load i8, i8* %5 %8 = load i8, i8* %6, !range !2 %9 = trunc i8 %8 to i1 br label %bb1 bb1: ; preds = %start br i1 %9, label %bb2, label %bb3 bb2: ; preds = %bb1 %10 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 0, i8* %10 br label %bb4 bb3: ; preds = %bb1 %11 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %11 %12 = bitcast %"option::Option"* %_0 to { i8, i8 }* %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %12, i32 0, i32 1 store i8 %7, i8* %13 br label %bb4 bb4: ; preds = %bb3, %bb2 %14 = bitcast %"option::Option"* %_0 to i16* %15 = load i16, i16* %14, align 1 ret i16 %15 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$11checked_mul17he4ab06a00d5c7248E"(i8, i8) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %tmp_ret = alloca { i8, i8 } %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$15overflowing_mul17h20d098ec29d1fc63E"(i8 %0, i8 %1) store i16 %2, i16* %abi_cast %3 = bitcast { i8, i8 }* %tmp_ret to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) %5 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %7 = load i8, i8* %5 %8 = load i8, i8* %6, !range !2 %9 = trunc i8 %8 to i1 br label %bb1 bb1: ; preds = %start br i1 %9, label %bb2, label %bb3 bb2: ; preds = %bb1 %10 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 0, i8* %10 br label %bb4 bb3: ; preds = %bb1 %11 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %11 %12 = bitcast %"option::Option"* %_0 to { i8, i8 }* %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %12, i32 0, i32 1 store i8 %7, i8* %13 br label %bb4 bb4: ; preds = %bb3, %bb2 %14 = bitcast %"option::Option"* %_0 to i16* %15 = load i16, i16* %14, align 1 ret i16 %15 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN4core3num20_$LT$impl$u20$u8$GT$12wrapping_sub17ha4e458cce5bcaaa7E"(i8, i8) unnamed_addr #0 { entry-block: %tmp_ret = alloca i8 br label %start start: ; preds = %entry-block %2 = sub i8 %0, %1 store i8 %2, i8* %tmp_ret %3 = load i8, i8* %tmp_ret br label %bb1 bb1: ; preds = %start ret i8 %3 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$15overflowing_add17h1b91414d44c68e6fE"(i8, i8) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i8, i8 } %_0 = alloca { i8, i8 } br label %start start: ; preds = %entry-block %2 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %0, i8 %1) %3 = extractvalue { i8, i1 } %2, 0 %4 = extractvalue { i8, i1 } %2, 1 %5 = zext i1 %4 to i8 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 store i8 %3, i8* %6 %7 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 store i8 %5, i8* %7 %8 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %10 = load i8, i8* %8 %11 = load i8, i8* %9, !range !2 %12 = trunc i8 %11 to i1 br label %bb1 bb1: ; preds = %start %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 0 store i8 %10, i8* %13 %14 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 1 %15 = zext i1 %12 to i8 store i8 %15, i8* %14 %16 = bitcast { i8, i8 }* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$15overflowing_sub17he343d8d075d0e3aaE"(i8, i8) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i8, i8 } %_0 = alloca { i8, i8 } br label %start start: ; preds = %entry-block %2 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %0, i8 %1) %3 = extractvalue { i8, i1 } %2, 0 %4 = extractvalue { i8, i1 } %2, 1 %5 = zext i1 %4 to i8 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 store i8 %3, i8* %6 %7 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 store i8 %5, i8* %7 %8 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %10 = load i8, i8* %8 %11 = load i8, i8* %9, !range !2 %12 = trunc i8 %11 to i1 br label %bb1 bb1: ; preds = %start %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 0 store i8 %10, i8* %13 %14 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 1 %15 = zext i1 %12 to i8 store i8 %15, i8* %14 %16 = bitcast { i8, i8 }* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$15overflowing_mul17h20d098ec29d1fc63E"(i8, i8) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i8, i8 } %_0 = alloca { i8, i8 } br label %start start: ; preds = %entry-block %2 = call { i8, i1 } @llvm.umul.with.overflow.i8(i8 %0, i8 %1) %3 = extractvalue { i8, i1 } %2, 0 %4 = extractvalue { i8, i1 } %2, 1 %5 = zext i1 %4 to i8 %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 store i8 %3, i8* %6 %7 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 store i8 %5, i8* %7 %8 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 0 %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %tmp_ret, i32 0, i32 1 %10 = load i8, i8* %8 %11 = load i8, i8* %9, !range !2 %12 = trunc i8 %11 to i1 br label %bb1 bb1: ; preds = %start %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 0 store i8 %10, i8* %13 %14 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %_0, i32 0, i32 1 %15 = zext i1 %12 to i8 store i8 %15, i8* %14 %16 = bitcast { i8, i8 }* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN4core3num20_$LT$impl$u20$u8$GT$17next_power_of_two17h248eec58a237282fE"(i8) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %2 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %1, i16 8) %3 = extractvalue { i16, i1 } %2, 0 %4 = extractvalue { i16, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb2 bb2: ; preds = %bb1 %6 = call i8 @"_ZN4core3num20_$LT$impl$u20$u8$GT$12wrapping_sub17ha4e458cce5bcaaa7E"(i8 %0, i8 1) br label %bb3 bb3: ; preds = %bb2 %7 = call i32 @"_ZN4core3num20_$LT$impl$u20$u8$GT$13leading_zeros17he6d7ccbee525af82E"(i8 %6) br label %bb4 bb4: ; preds = %bb3 %8 = trunc i32 %7 to i16 %9 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 %8) %10 = extractvalue { i16, i1 } %9, 0 %11 = extractvalue { i16, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic1, label %bb5 bb5: ; preds = %bb4 %13 = icmp eq i16 %3, 0 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic2, label %bb6 bb6: ; preds = %bb5 %15 = urem i16 %10, %3 %16 = and i16 %15, -8 %17 = icmp ne i16 %16, 0 %18 = trunc i16 %15 to i8 %19 = and i8 %18, 7 %20 = shl i8 1, %19 %21 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %21, label %panic3, label %bb7 bb7: ; preds = %bb6 ret i8 %20 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bL) unreachable panic1: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bM) unreachable panic2: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bN) unreachable panic3: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bO) unreachable } ; Function Attrs: uwtable define i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$25checked_next_power_of_two17h2ad9279deaba8ac8E"(i8) unnamed_addr #1 { entry-block: %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN4core3num20_$LT$impl$u20$u8$GT$17next_power_of_two17h248eec58a237282fE"(i8 %0) br label %bb1 bb1: ; preds = %start %2 = icmp uge i8 %1, %0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %3 %4 = bitcast %"option::Option"* %_0 to { i8, i8 }* %5 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %4, i32 0, i32 1 store i8 %1, i8* %5 br label %bb4 bb3: ; preds = %bb1 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 0, i8* %6 br label %bb4 bb4: ; preds = %bb3, %bb2 %7 = bitcast %"option::Option"* %_0 to i16* %8 = load i16, i16* %7, align 1 ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num21_$LT$impl$u20$u16$GT$9min_value17hbe16fa38678f7f82E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i16 0 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num21_$LT$impl$u20$u16$GT$9max_value17h0645c04af7446b8bE"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i16 -1 } ; Function Attrs: uwtable define void @"_ZN4core3num21_$LT$impl$u20$u16$GT$14from_str_radix17hdf5ca7f56ff344d7E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h5f935171fddf5c87E(%"result::Result"* noalias nocapture sret dereferenceable(4) %0, i8* noalias nonnull readonly %1, i16 %2, i32 %3) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num21_$LT$impl$u20$u16$GT$13leading_zeros17h2c755f1c8a1f6101E"(i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block %1 = call i16 @llvm.ctlz.i16(i16 %0, i1 false) store i16 %1, i16* %tmp_ret %2 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i32 ret i32 %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u16$GT$11checked_add17h1ca5d07bd4c5fbc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$u16$GT$15overflowing_add17h3f99c4eb5b8b0f8dE"({ i16, i8 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i16 %1, i16 %2) %3 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %9 %10 = bitcast %"option::Option"* %0 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 store i16 %5, i16* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u16$GT$11checked_sub17he51218477c41a29dE"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$u16$GT$15overflowing_sub17hb3384ee8e306cc7bE"({ i16, i8 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i16 %1, i16 %2) %3 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %9 %10 = bitcast %"option::Option"* %0 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 store i16 %5, i16* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u16$GT$11checked_mul17h64f546e255fbf210E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$u16$GT$15overflowing_mul17h04149d728b4e8dfeE"({ i16, i8 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i16 %1, i16 %2) %3 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %9 %10 = bitcast %"option::Option"* %0 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 store i16 %5, i16* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num21_$LT$impl$u20$u16$GT$12wrapping_add17hc97be5047d970371E"(i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block %2 = add i16 %0, %1 store i16 %2, i16* %tmp_ret %3 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %3 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num21_$LT$impl$u20$u16$GT$12wrapping_sub17h26eb52d0c6252977E"(i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block %2 = sub i16 %0, %1 store i16 %2, i16* %tmp_ret %3 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u16$GT$15overflowing_add17h3f99c4eb5b8b0f8dE"({ i16, i8 }* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %1, i16 %2) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 0 store i16 %11, i16* %14 %15 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u16$GT$15overflowing_sub17hb3384ee8e306cc7bE"({ i16, i8 }* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %1, i16 %2) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 0 store i16 %11, i16* %14 %15 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u16$GT$15overflowing_mul17h04149d728b4e8dfeE"({ i16, i8 }* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %1, i16 %2) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 0 store i16 %11, i16* %14 %15 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num21_$LT$impl$u20$u16$GT$17next_power_of_two17hc17e413b8867fdbdE"(i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h258355fe3958deaaE() br label %bb1 bb1: ; preds = %start %2 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %1, i16 8) %3 = extractvalue { i16, i1 } %2, 0 %4 = extractvalue { i16, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb2 bb2: ; preds = %bb1 %6 = call i16 @"_ZN4core3num21_$LT$impl$u20$u16$GT$12wrapping_sub17h26eb52d0c6252977E"(i16 %0, i16 1) br label %bb3 bb3: ; preds = %bb2 %7 = call i32 @"_ZN4core3num21_$LT$impl$u20$u16$GT$13leading_zeros17h2c755f1c8a1f6101E"(i16 %6) br label %bb4 bb4: ; preds = %bb3 %8 = trunc i32 %7 to i16 %9 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 %8) %10 = extractvalue { i16, i1 } %9, 0 %11 = extractvalue { i16, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic1, label %bb5 bb5: ; preds = %bb4 %13 = icmp eq i16 %3, 0 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic2, label %bb6 bb6: ; preds = %bb5 %15 = urem i16 %10, %3 %16 = and i16 %15, -16 %17 = icmp ne i16 %16, 0 %18 = and i16 %15, 15 %19 = shl i16 1, %18 %20 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %20, label %panic3, label %bb7 bb7: ; preds = %bb6 ret i16 %19 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bL) unreachable panic1: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bM) unreachable panic2: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bN) unreachable panic3: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bO) unreachable } ; Function Attrs: uwtable define void @"_ZN4core3num21_$LT$impl$u20$u16$GT$25checked_next_power_of_two17h15413302b58cc896E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN4core3num21_$LT$impl$u20$u16$GT$17next_power_of_two17hc17e413b8867fdbdE"(i16 %1) br label %bb1 bb1: ; preds = %start %3 = icmp uge i16 %2, %1 br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 %4 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %4 %5 = bitcast %"option::Option"* %0 to { i16, i16 }* %6 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %5, i32 0, i32 1 store i16 %2, i16* %6 br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %7 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$9min_value17h83c740760a0891c6E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i32 0 } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$9max_value17hf598fdc642384c6eE"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i32 -1 } ; Function Attrs: uwtable define void @"_ZN4core3num21_$LT$impl$u20$u32$GT$14from_str_radix17hc6c0a3e26f78d78bE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h49211fecf0f39769E(%"result::Result"* noalias nocapture sret dereferenceable(8) %0, i8* noalias nonnull readonly %1, i16 %2, i32 %3) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$13leading_zeros17h288ca05708294ac4E"(i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca i32 br label %start start: ; preds = %entry-block %1 = call i32 @llvm.ctlz.i32(i32 %0, i1 false) store i32 %1, i32* %tmp_ret %2 = load i32, i32* %tmp_ret br label %bb1 bb1: ; preds = %start ret i32 %2 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u32$GT$11checked_add17he5656f6d4b423470E"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i32, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$u32$GT$15overflowing_add17h9b7784b5cf94e95cE"({ i32, i8 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %1, i32 %2) %3 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i32, i32* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %9 %10 = bitcast %"option::Option"* %0 to { i32, i32 }* %11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 store i32 %5, i32* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u32$GT$11checked_sub17h4726c802c7204c98E"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i32, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$u32$GT$15overflowing_sub17h3b83f713d14c7c6fE"({ i32, i8 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %1, i32 %2) %3 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i32, i32* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %9 %10 = bitcast %"option::Option"* %0 to { i32, i32 }* %11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 store i32 %5, i32* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u32$GT$11checked_mul17h3de394d77d5b40acE"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i32, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$u32$GT$15overflowing_mul17hf2d5ad91aa62853fE"({ i32, i8 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %1, i32 %2) %3 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i32, i32* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %9 %10 = bitcast %"option::Option"* %0 to { i32, i32 }* %11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 store i32 %5, i32* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$12wrapping_add17h615e0b4a2606ad0aE"(i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca i32 br label %start start: ; preds = %entry-block %2 = add i32 %0, %1 store i32 %2, i32* %tmp_ret %3 = load i32, i32* %tmp_ret br label %bb1 bb1: ; preds = %start ret i32 %3 } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$12wrapping_sub17h869a284b8a922191E"(i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca i32 br label %start start: ; preds = %entry-block %2 = sub i32 %0, %1 store i32 %2, i32* %tmp_ret %3 = load i32, i32* %tmp_ret br label %bb1 bb1: ; preds = %start ret i32 %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u32$GT$15overflowing_add17h9b7784b5cf94e95cE"({ i32, i8 }* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i32, i8 } br label %start start: ; preds = %entry-block %3 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %1, i32 %2) %4 = extractvalue { i32, i1 } %3, 0 %5 = extractvalue { i32, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 store i32 %4, i32* %7 %8 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i32, i32* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 0 store i32 %11, i32* %14 %15 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u32$GT$15overflowing_sub17h3b83f713d14c7c6fE"({ i32, i8 }* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i32, i8 } br label %start start: ; preds = %entry-block %3 = call { i32, i1 } @llvm.usub.with.overflow.i32(i32 %1, i32 %2) %4 = extractvalue { i32, i1 } %3, 0 %5 = extractvalue { i32, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 store i32 %4, i32* %7 %8 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i32, i32* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 0 store i32 %11, i32* %14 %15 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u32$GT$15overflowing_mul17hf2d5ad91aa62853fE"({ i32, i8 }* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i32, i8 } br label %start start: ; preds = %entry-block %3 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %1, i32 %2) %4 = extractvalue { i32, i1 } %3, 0 %5 = extractvalue { i32, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 store i32 %4, i32* %7 %8 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i32, i32* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 0 store i32 %11, i32* %14 %15 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$17next_power_of_two17hb559442660e14ebbE"(i32) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %2 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %1, i16 8) %3 = extractvalue { i16, i1 } %2, 0 %4 = extractvalue { i16, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb2 bb2: ; preds = %bb1 %6 = call i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$12wrapping_sub17h869a284b8a922191E"(i32 %0, i32 1) br label %bb3 bb3: ; preds = %bb2 %7 = call i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$13leading_zeros17h288ca05708294ac4E"(i32 %6) br label %bb4 bb4: ; preds = %bb3 %8 = trunc i32 %7 to i16 %9 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 %8) %10 = extractvalue { i16, i1 } %9, 0 %11 = extractvalue { i16, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic1, label %bb5 bb5: ; preds = %bb4 %13 = icmp eq i16 %3, 0 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic2, label %bb6 bb6: ; preds = %bb5 %15 = urem i16 %10, %3 %16 = and i16 %15, -32 %17 = icmp ne i16 %16, 0 %18 = zext i16 %15 to i32 %19 = and i32 %18, 31 %20 = shl i32 1, %19 %21 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %21, label %panic3, label %bb7 bb7: ; preds = %bb6 ret i32 %20 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bL) unreachable panic1: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bM) unreachable panic2: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bN) unreachable panic3: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bO) unreachable } ; Function Attrs: uwtable define void @"_ZN4core3num21_$LT$impl$u20$u32$GT$25checked_next_power_of_two17h352f94e895f3180bE"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$17next_power_of_two17hb559442660e14ebbE"(i32 %1) br label %bb1 bb1: ; preds = %start %3 = icmp uge i32 %2, %1 br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 %4 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 1, i32* %4 %5 = bitcast %"option::Option"* %0 to { i32, i32 }* %6 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %5, i32 0, i32 1 store i32 %2, i32* %6 br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i32 0, i32* %7 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal i64 @"_ZN4core3num21_$LT$impl$u20$u64$GT$9min_value17h1c6fbd104b89b142E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i64 0 } ; Function Attrs: inlinehint uwtable define internal i64 @"_ZN4core3num21_$LT$impl$u20$u64$GT$9max_value17h1eb8b953c341b0c6E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i64 -1 } ; Function Attrs: uwtable define void @"_ZN4core3num21_$LT$impl$u20$u64$GT$14from_str_radix17h3d7dbec5cc9ed927E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h86756a330ce5c57fE(%"result::Result"* noalias nocapture sret dereferenceable(16) %0, i8* noalias nonnull readonly %1, i16 %2, i32 %3) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num21_$LT$impl$u20$u64$GT$13leading_zeros17hb8c3213f88d11a79E"(i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca i64 br label %start start: ; preds = %entry-block %1 = call i64 @llvm.ctlz.i64(i64 %0, i1 false) store i64 %1, i64* %tmp_ret %2 = load i64, i64* %tmp_ret br label %bb1 bb1: ; preds = %start %3 = trunc i64 %2 to i32 ret i32 %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_add17h1f5f4b4c611a092eE"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i64, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$15overflowing_add17h78ee4b794ca30e6dE"({ i64, i8 }* noalias nocapture sret dereferenceable(16) %tmp_ret, i64 %1, i64 %2) %3 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i64, i64* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %9 %10 = bitcast %"option::Option"* %0 to { i64, i64 }* %11 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i32 0, i32 1 store i64 %5, i64* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_sub17ha5a95dc30e2d585eE"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i64, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$15overflowing_sub17h04b89a41d16ea4b2E"({ i64, i8 }* noalias nocapture sret dereferenceable(16) %tmp_ret, i64 %1, i64 %2) %3 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i64, i64* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %9 %10 = bitcast %"option::Option"* %0 to { i64, i64 }* %11 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i32 0, i32 1 store i64 %5, i64* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_mul17he8ea103b30f60b01E"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i64, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$15overflowing_mul17h7070bcbf12f3fd30E"({ i64, i8 }* noalias nocapture sret dereferenceable(16) %tmp_ret, i64 %1, i64 %2) %3 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i64, i64* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %9 %10 = bitcast %"option::Option"* %0 to { i64, i64 }* %11 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i32 0, i32 1 store i64 %5, i64* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal i64 @"_ZN4core3num21_$LT$impl$u20$u64$GT$12wrapping_add17h3c155c9d3a93084aE"(i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca i64 br label %start start: ; preds = %entry-block %2 = add i64 %0, %1 store i64 %2, i64* %tmp_ret %3 = load i64, i64* %tmp_ret br label %bb1 bb1: ; preds = %start ret i64 %3 } ; Function Attrs: inlinehint uwtable define internal i64 @"_ZN4core3num21_$LT$impl$u20$u64$GT$12wrapping_sub17h50c5209b851eff5eE"(i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca i64 br label %start start: ; preds = %entry-block %2 = sub i64 %0, %1 store i64 %2, i64* %tmp_ret %3 = load i64, i64* %tmp_ret br label %bb1 bb1: ; preds = %start ret i64 %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u64$GT$15overflowing_add17h78ee4b794ca30e6dE"({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i64, i8 } br label %start start: ; preds = %entry-block %3 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %1, i64 %2) %4 = extractvalue { i64, i1 } %3, 0 %5 = extractvalue { i64, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 store i64 %4, i64* %7 %8 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i64, i64* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 store i64 %11, i64* %14 %15 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u64$GT$15overflowing_sub17h04b89a41d16ea4b2E"({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i64, i8 } br label %start start: ; preds = %entry-block %3 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %1, i64 %2) %4 = extractvalue { i64, i1 } %3, 0 %5 = extractvalue { i64, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 store i64 %4, i64* %7 %8 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i64, i64* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 store i64 %11, i64* %14 %15 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num21_$LT$impl$u20$u64$GT$15overflowing_mul17h7070bcbf12f3fd30E"({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i64, i8 } br label %start start: ; preds = %entry-block %3 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %1, i64 %2) %4 = extractvalue { i64, i1 } %3, 0 %5 = extractvalue { i64, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 store i64 %4, i64* %7 %8 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i64, i64* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 store i64 %11, i64* %14 %15 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal i64 @"_ZN4core3num21_$LT$impl$u20$u64$GT$17next_power_of_two17h10f99c9d4ae4323cE"(i64) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17hd4220f602efa4a57E() br label %bb1 bb1: ; preds = %start %2 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %1, i16 8) %3 = extractvalue { i16, i1 } %2, 0 %4 = extractvalue { i16, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb2 bb2: ; preds = %bb1 %6 = call i64 @"_ZN4core3num21_$LT$impl$u20$u64$GT$12wrapping_sub17h50c5209b851eff5eE"(i64 %0, i64 1) br label %bb3 bb3: ; preds = %bb2 %7 = call i32 @"_ZN4core3num21_$LT$impl$u20$u64$GT$13leading_zeros17hb8c3213f88d11a79E"(i64 %6) br label %bb4 bb4: ; preds = %bb3 %8 = trunc i32 %7 to i16 %9 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 %8) %10 = extractvalue { i16, i1 } %9, 0 %11 = extractvalue { i16, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic1, label %bb5 bb5: ; preds = %bb4 %13 = icmp eq i16 %3, 0 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic2, label %bb6 bb6: ; preds = %bb5 %15 = urem i16 %10, %3 %16 = and i16 %15, -64 %17 = icmp ne i16 %16, 0 %18 = zext i16 %15 to i64 %19 = and i64 %18, 63 %20 = shl i64 1, %19 %21 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %21, label %panic3, label %bb7 bb7: ; preds = %bb6 ret i64 %20 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bL) unreachable panic1: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bM) unreachable panic2: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bN) unreachable panic3: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bO) unreachable } ; Function Attrs: uwtable define void @"_ZN4core3num21_$LT$impl$u20$u64$GT$25checked_next_power_of_two17h983e7586f072e894E"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN4core3num21_$LT$impl$u20$u64$GT$17next_power_of_two17h10f99c9d4ae4323cE"(i64 %1) br label %bb1 bb1: ; preds = %start %3 = icmp uge i64 %2, %1 br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 %4 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %4 %5 = bitcast %"option::Option"* %0 to { i64, i64 }* %6 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %5, i32 0, i32 1 store i64 %2, i64* %6 br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %7 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal i128 @"_ZN4core3num22_$LT$impl$u20$u128$GT$9min_value17h9aa9ea0664255869E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i128 0 } ; Function Attrs: inlinehint uwtable define internal i128 @"_ZN4core3num22_$LT$impl$u20$u128$GT$9max_value17hc2afe0fbd9ab7b76E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i128 -1 } ; Function Attrs: uwtable define void @"_ZN4core3num22_$LT$impl$u20$u128$GT$14from_str_radix17h97ec5aeb56ffeb07E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h4c0c1d66bbd93620E(%"result::Result"* noalias nocapture sret dereferenceable(24) %0, i8* noalias nonnull readonly %1, i16 %2, i32 %3) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num22_$LT$impl$u20$u128$GT$13leading_zeros17h9744dbf05f7d9640E"(i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca i128 br label %start start: ; preds = %entry-block %1 = call i128 @llvm.ctlz.i128(i128 %0, i1 false) store i128 %1, i128* %tmp_ret %2 = load i128, i128* %tmp_ret br label %bb1 bb1: ; preds = %start %3 = trunc i128 %2 to i32 ret i32 %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num22_$LT$impl$u20$u128$GT$11checked_add17h9a6606446838d1c3E"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i128, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num22_$LT$impl$u20$u128$GT$15overflowing_add17haacc60bf9e98b976E"({ i128, i8 }* noalias nocapture sret dereferenceable(24) %tmp_ret, i128 %1, i128 %2) %3 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i128, i128* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %9 %10 = bitcast %"option::Option"* %0 to { i64, i128 }* %11 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %10, i32 0, i32 1 store i128 %5, i128* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num22_$LT$impl$u20$u128$GT$11checked_sub17he670605536203218E"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i128, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num22_$LT$impl$u20$u128$GT$15overflowing_sub17h36f1707af1516cd8E"({ i128, i8 }* noalias nocapture sret dereferenceable(24) %tmp_ret, i128 %1, i128 %2) %3 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i128, i128* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %9 %10 = bitcast %"option::Option"* %0 to { i64, i128 }* %11 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %10, i32 0, i32 1 store i128 %5, i128* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num22_$LT$impl$u20$u128$GT$11checked_mul17h84fa6eca242bc29fE"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i128, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num22_$LT$impl$u20$u128$GT$15overflowing_mul17hc3bb3119d37d3968E"({ i128, i8 }* noalias nocapture sret dereferenceable(24) %tmp_ret, i128 %1, i128 %2) %3 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i128, i128* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %9 %10 = bitcast %"option::Option"* %0 to { i64, i128 }* %11 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %10, i32 0, i32 1 store i128 %5, i128* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal i128 @"_ZN4core3num22_$LT$impl$u20$u128$GT$12wrapping_add17h2711ad20f25bcfa8E"(i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca i128 br label %start start: ; preds = %entry-block %2 = add i128 %0, %1 store i128 %2, i128* %tmp_ret %3 = load i128, i128* %tmp_ret br label %bb1 bb1: ; preds = %start ret i128 %3 } ; Function Attrs: inlinehint uwtable define internal i128 @"_ZN4core3num22_$LT$impl$u20$u128$GT$12wrapping_sub17hf8b9776028d986acE"(i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca i128 br label %start start: ; preds = %entry-block %2 = sub i128 %0, %1 store i128 %2, i128* %tmp_ret %3 = load i128, i128* %tmp_ret br label %bb1 bb1: ; preds = %start ret i128 %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num22_$LT$impl$u20$u128$GT$15overflowing_add17haacc60bf9e98b976E"({ i128, i8 }* noalias nocapture sret dereferenceable(24), i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i128, i8 } br label %start start: ; preds = %entry-block %3 = call { i128, i1 } @llvm.uadd.with.overflow.i128(i128 %1, i128 %2) %4 = extractvalue { i128, i1 } %3, 0 %5 = extractvalue { i128, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 store i128 %4, i128* %7 %8 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i128, i128* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %0, i32 0, i32 0 store i128 %11, i128* %14 %15 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num22_$LT$impl$u20$u128$GT$15overflowing_sub17h36f1707af1516cd8E"({ i128, i8 }* noalias nocapture sret dereferenceable(24), i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i128, i8 } br label %start start: ; preds = %entry-block %3 = call { i128, i1 } @llvm.usub.with.overflow.i128(i128 %1, i128 %2) %4 = extractvalue { i128, i1 } %3, 0 %5 = extractvalue { i128, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 store i128 %4, i128* %7 %8 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i128, i128* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %0, i32 0, i32 0 store i128 %11, i128* %14 %15 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num22_$LT$impl$u20$u128$GT$15overflowing_mul17hc3bb3119d37d3968E"({ i128, i8 }* noalias nocapture sret dereferenceable(24), i128, i128) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i128, i8 } br label %start start: ; preds = %entry-block %3 = call { i128, i1 } @llvm.umul.with.overflow.i128(i128 %1, i128 %2) %4 = extractvalue { i128, i1 } %3, 0 %5 = extractvalue { i128, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 store i128 %4, i128* %7 %8 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i128, i128* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %0, i32 0, i32 0 store i128 %11, i128* %14 %15 = getelementptr inbounds { i128, i8 }, { i128, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal i128 @"_ZN4core3num22_$LT$impl$u20$u128$GT$17next_power_of_two17he7aba86765b3d727E"(i128) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17ha28fc9877225dbd8E() br label %bb1 bb1: ; preds = %start %2 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %1, i16 8) %3 = extractvalue { i16, i1 } %2, 0 %4 = extractvalue { i16, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb2 bb2: ; preds = %bb1 %6 = call i128 @"_ZN4core3num22_$LT$impl$u20$u128$GT$12wrapping_sub17hf8b9776028d986acE"(i128 %0, i128 1) br label %bb3 bb3: ; preds = %bb2 %7 = call i32 @"_ZN4core3num22_$LT$impl$u20$u128$GT$13leading_zeros17h9744dbf05f7d9640E"(i128 %6) br label %bb4 bb4: ; preds = %bb3 %8 = trunc i32 %7 to i16 %9 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 %8) %10 = extractvalue { i16, i1 } %9, 0 %11 = extractvalue { i16, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic1, label %bb5 bb5: ; preds = %bb4 %13 = icmp eq i16 %3, 0 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic2, label %bb6 bb6: ; preds = %bb5 %15 = urem i16 %10, %3 %16 = and i16 %15, -128 %17 = icmp ne i16 %16, 0 %18 = zext i16 %15 to i128 %19 = and i128 %18, 127 %20 = shl i128 1, %19 %21 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %21, label %panic3, label %bb7 bb7: ; preds = %bb6 ret i128 %20 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bL) unreachable panic1: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bM) unreachable panic2: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bN) unreachable panic3: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bO) unreachable } ; Function Attrs: uwtable define void @"_ZN4core3num22_$LT$impl$u20$u128$GT$25checked_next_power_of_two17h68abc6ae082e2e12E"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN4core3num22_$LT$impl$u20$u128$GT$17next_power_of_two17he7aba86765b3d727E"(i128 %1) br label %bb1 bb1: ; preds = %start %3 = icmp uge i128 %2, %1 br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 %4 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 1, i64* %4 %5 = bitcast %"option::Option"* %0 to { i64, i128 }* %6 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %5, i32 0, i32 1 store i128 %2, i128* %6 br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i64 0, i64* %7 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$9min_value17h1c98e9b4f92f9da8E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i16 0 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$9max_value17hf46713e0a485ee26E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i16 -1 } ; Function Attrs: uwtable define void @"_ZN4core3num23_$LT$impl$u20$usize$GT$14from_str_radix17h655808431590680dE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16, i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h42e84552548ed94dE(%"result::Result"* noalias nocapture sret dereferenceable(4) %0, i8* noalias nonnull readonly %1, i16 %2, i32 %3) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$13leading_zeros17hed19844dc57b1ce7E"(i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block %1 = call i16 @llvm.ctlz.i16(i16 %0, i1 false) store i16 %1, i16* %tmp_ret %2 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i32 ret i32 %3 } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$14trailing_zeros17h77bb088082b1f2c1E"(i16) unnamed_addr #0 { entry-block: %tmp_ret1 = alloca i16 %tmp_ret = alloca i16 %_0 = alloca i32 br label %start start: ; preds = %entry-block br i1 false, label %bb1, label %bb2 bb1: ; preds = %start %1 = or i16 %0, 256 %2 = call i16 @llvm.cttz.i16(i16 %1, i1 false) store i16 %2, i16* %tmp_ret %3 = load i16, i16* %tmp_ret br label %bb3 bb2: ; preds = %start %4 = call i16 @llvm.cttz.i16(i16 %0, i1 false) store i16 %4, i16* %tmp_ret1 %5 = load i16, i16* %tmp_ret1 br label %bb4 bb3: ; preds = %bb1 %6 = zext i16 %3 to i32 store i32 %6, i32* %_0 br label %bb5 bb4: ; preds = %bb2 %7 = zext i16 %5 to i32 store i32 %7, i32* %_0 br label %bb5 bb5: ; preds = %bb4, %bb3 %8 = load i32, i32* %_0 ret i32 %8 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_add17hd9870631dd83b61bE"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$15overflowing_add17h88bc051c8c4fab0dE"({ i16, i8 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i16 %1, i16 %2) %3 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %9 %10 = bitcast %"option::Option"* %0 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 store i16 %5, i16* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_sub17hcbd6d396106ae456E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$15overflowing_sub17h39e7542562de85e7E"({ i16, i8 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i16 %1, i16 %2) %3 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %9 %10 = bitcast %"option::Option"* %0 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 store i16 %5, i16* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_mul17h0ab5b814bcd68e20E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$15overflowing_mul17hadcabd343c736c9cE"({ i16, i8 }* noalias nocapture sret dereferenceable(4) %tmp_ret, i16 %1, i16 %2) %3 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %5 = load i16, i16* %3 %6 = load i8, i8* %4, !range !2 %7 = trunc i8 %6 to i1 br label %bb1 bb1: ; preds = %start br i1 %7, label %bb2, label %bb3 bb2: ; preds = %bb1 %8 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %8 br label %bb4 bb3: ; preds = %bb1 %9 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %9 %10 = bitcast %"option::Option"* %0 to { i16, i16 }* %11 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %10, i32 0, i32 1 store i16 %5, i16* %11 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$14saturating_sub17h065c62ccb608d0d9E"(i16, i16) unnamed_addr #0 { entry-block: %_5 = alloca %"option::Option" %_0 = alloca i16 br label %start start: ; preds = %entry-block call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_sub17hcbd6d396106ae456E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5, i16 %0, i16 %1) br label %bb1 bb1: ; preds = %start %2 = getelementptr inbounds %"option::Option", %"option::Option"* %_5, i32 0, i32 0 %3 = load i16, i16* %2, !range !3 switch i16 %3, label %bb3 [ i16 0, label %bb2 ] bb2: ; preds = %bb1 %4 = call i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$9min_value17h1c98e9b4f92f9da8E"() store i16 %4, i16* %_0 br label %bb4 bb3: ; preds = %bb1 %5 = bitcast %"option::Option"* %_5 to { i16, i16 }* %6 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %5, i32 0, i32 1 %7 = load i16, i16* %6 store i16 %7, i16* %_0 br label %bb4 bb4: ; preds = %bb2, %bb3 %8 = load i16, i16* %_0 ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca i16 br label %start start: ; preds = %entry-block %2 = sub i16 %0, %1 store i16 %2, i16* %tmp_ret %3 = load i16, i16* %tmp_ret br label %bb1 bb1: ; preds = %start ret i16 %3 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num23_$LT$impl$u20$usize$GT$15overflowing_add17h88bc051c8c4fab0dE"({ i16, i8 }* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %1, i16 %2) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 0 store i16 %11, i16* %14 %15 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num23_$LT$impl$u20$usize$GT$15overflowing_sub17h39e7542562de85e7E"({ i16, i8 }* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %1, i16 %2) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 0 store i16 %11, i16* %14 %15 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN4core3num23_$LT$impl$u20$usize$GT$15overflowing_mul17hadcabd343c736c9cE"({ i16, i8 }* noalias nocapture sret dereferenceable(4), i16, i16) unnamed_addr #0 { entry-block: %tmp_ret = alloca { i16, i8 } br label %start start: ; preds = %entry-block %3 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %1, i16 %2) %4 = extractvalue { i16, i1 } %3, 0 %5 = extractvalue { i16, i1 } %3, 1 %6 = zext i1 %5 to i8 %7 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 store i16 %4, i16* %7 %8 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 store i8 %6, i8* %8 %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 0 %10 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %tmp_ret, i32 0, i32 1 %11 = load i16, i16* %9 %12 = load i8, i8* %10, !range !2 %13 = trunc i8 %12 to i1 br label %bb1 bb1: ; preds = %start %14 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 0 store i16 %11, i16* %14 %15 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %0, i32 0, i32 1 %16 = zext i1 %13 to i8 store i8 %16, i8* %15 ret void } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$17next_power_of_two17h3bf506aa0a50cb4aE"(i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17hc3fafdf0ad8d8c43E() br label %bb1 bb1: ; preds = %start %2 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %1, i16 8) %3 = extractvalue { i16, i1 } %2, 0 %4 = extractvalue { i16, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb2 bb2: ; preds = %bb1 %6 = call i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %0, i16 1) br label %bb3 bb3: ; preds = %bb2 %7 = call i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$13leading_zeros17hed19844dc57b1ce7E"(i16 %6) br label %bb4 bb4: ; preds = %bb3 %8 = trunc i32 %7 to i16 %9 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %3, i16 %8) %10 = extractvalue { i16, i1 } %9, 0 %11 = extractvalue { i16, i1 } %9, 1 %12 = call i1 @llvm.expect.i1(i1 %11, i1 false) br i1 %12, label %panic1, label %bb5 bb5: ; preds = %bb4 %13 = icmp eq i16 %3, 0 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic2, label %bb6 bb6: ; preds = %bb5 %15 = urem i16 %10, %3 %16 = and i16 %15, -16 %17 = icmp ne i16 %16, 0 %18 = and i16 %15, 15 %19 = shl i16 1, %18 %20 = call i1 @llvm.expect.i1(i1 %17, i1 false) br i1 %20, label %panic3, label %bb7 bb7: ; preds = %bb6 ret i16 %19 panic: ; preds = %bb1 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bL) unreachable panic1: ; preds = %bb4 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bM) unreachable panic2: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bN) unreachable panic3: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bO) unreachable } ; Function Attrs: uwtable define void @"_ZN4core3num23_$LT$impl$u20$usize$GT$25checked_next_power_of_two17h8c6abb11822ebb81E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$17next_power_of_two17h3bf506aa0a50cb4aE"(i16 %1) br label %bb1 bb1: ; preds = %start %3 = icmp uge i16 %2, %1 br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 %4 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 1, i16* %4 %5 = bitcast %"option::Option"* %0 to { i16, i16 }* %6 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %5, i32 0, i32 1 store i16 %2, i16* %6 br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 store i16 0, i16* %7 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define i8 @"_ZN58_$LT$core..num..FpCategory$u20$as$u20$core..fmt..Debug$GT$3fmt17h7770b6869bf9c0a4E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast = alloca i8 %builder4 = alloca %"fmt::builders::DebugTuple" %builder3 = alloca %"fmt::builders::DebugTuple" %builder2 = alloca %"fmt::builders::DebugTuple" %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { i8* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = load i8, i8* %4, !range !0 %6 = zext i8 %5 to i16 switch i16 %6, label %bb5 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 i16 3, label %bb4 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.8U, i32 0, i32 0), i16 3) br label %bb7 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.8T, i32 0, i32 0), i16 8) br label %bb9 bb3: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.8S, i32 0, i32 0), i16 4) br label %bb11 bb4: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder3, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([9 x i8], [9 x i8]* @str.bQ, i32 0, i32 0), i16 9) br label %bb13 bb5: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder4, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.bP, i32 0, i32 0), i16 6) br label %bb15 bb6: ; preds = %bb8, %bb10, %bb12, %bb14, %bb16 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 bb7: ; preds = %bb1 %9 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %9, i8* %abi_cast8 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb8 bb8: ; preds = %bb7 br label %bb6 bb9: ; preds = %bb2 %11 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %11, i8* %abi_cast7 %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast7, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 br label %bb6 bb11: ; preds = %bb3 %13 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %13, i8* %abi_cast6 %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb12 bb12: ; preds = %bb11 br label %bb6 bb13: ; preds = %bb4 %15 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder3) store i8 %15, i8* %abi_cast5 %16 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb14 bb14: ; preds = %bb13 br label %bb6 bb15: ; preds = %bb5 %17 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder4) store i8 %17, i8* %abi_cast %18 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb16 bb16: ; preds = %bb15 br label %bb6 } ; Function Attrs: uwtable define void @"_ZN4core3num54_$LT$impl$u20$core..str..FromStr$u20$for$u20$isize$GT$8from_str17haf24f2691cd0407bE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17ha10e01bb6c540986E(%"result::Result"* noalias nocapture sret dereferenceable(4) %0, i8* noalias nonnull readonly %1, i16 %2, i32 10) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i16 @"_ZN4core3num51_$LT$impl$u20$core..str..FromStr$u20$for$u20$i8$GT$8from_str17he8fcd4ed46ef1508E"(i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %2 = call i16 @_ZN4core3num14from_str_radix17h633e929e29fd0931E(i8* noalias nonnull readonly %0, i16 %1, i32 10) store i16 %2, i16* %abi_cast %3 = bitcast %"result::Result"* %_0 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result"* %_0 to i16* %6 = load i16, i16* %5, align 1 ret i16 %6 } ; Function Attrs: uwtable define void @"_ZN4core3num52_$LT$impl$u20$core..str..FromStr$u20$for$u20$i16$GT$8from_str17ha2a98260c965f70bE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h27e753a76ae9212cE(%"result::Result"* noalias nocapture sret dereferenceable(4) %0, i8* noalias nonnull readonly %1, i16 %2, i32 10) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN4core3num52_$LT$impl$u20$core..str..FromStr$u20$for$u20$i32$GT$8from_str17h1690d07af492f125E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h83db9f8807bf0297E(%"result::Result"* noalias nocapture sret dereferenceable(8) %0, i8* noalias nonnull readonly %1, i16 %2, i32 10) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN4core3num52_$LT$impl$u20$core..str..FromStr$u20$for$u20$i64$GT$8from_str17h216c8a846c2d3153E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h6051dce4092dd5c0E(%"result::Result"* noalias nocapture sret dereferenceable(16) %0, i8* noalias nonnull readonly %1, i16 %2, i32 10) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN4core3num53_$LT$impl$u20$core..str..FromStr$u20$for$u20$i128$GT$8from_str17h3bcf77248cd79b7aE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h6a5c57895f125708E(%"result::Result"* noalias nocapture sret dereferenceable(24) %0, i8* noalias nonnull readonly %1, i16 %2, i32 10) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN4core3num54_$LT$impl$u20$core..str..FromStr$u20$for$u20$usize$GT$8from_str17h35a3c9ffaa2c9f5eE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h42e84552548ed94dE(%"result::Result"* noalias nocapture sret dereferenceable(4) %0, i8* noalias nonnull readonly %1, i16 %2, i32 10) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i16 @"_ZN4core3num51_$LT$impl$u20$core..str..FromStr$u20$for$u20$u8$GT$8from_str17h1e846083b9b259c7E"(i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %2 = call i16 @_ZN4core3num14from_str_radix17h9a3369ca01adab7eE(i8* noalias nonnull readonly %0, i16 %1, i32 10) store i16 %2, i16* %abi_cast %3 = bitcast %"result::Result"* %_0 to i8* %4 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result"* %_0 to i16* %6 = load i16, i16* %5, align 1 ret i16 %6 } ; Function Attrs: uwtable define void @"_ZN4core3num52_$LT$impl$u20$core..str..FromStr$u20$for$u20$u16$GT$8from_str17hcdbf7c66b56c9c8eE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h5f935171fddf5c87E(%"result::Result"* noalias nocapture sret dereferenceable(4) %0, i8* noalias nonnull readonly %1, i16 %2, i32 10) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN4core3num52_$LT$impl$u20$core..str..FromStr$u20$for$u20$u32$GT$8from_str17h2c1aa3afc27c89a2E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h49211fecf0f39769E(%"result::Result"* noalias nocapture sret dereferenceable(8) %0, i8* noalias nonnull readonly %1, i16 %2, i32 10) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN4core3num52_$LT$impl$u20$core..str..FromStr$u20$for$u20$u64$GT$8from_str17h476f9f398fa048b6E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h86756a330ce5c57fE(%"result::Result"* noalias nocapture sret dereferenceable(16) %0, i8* noalias nonnull readonly %1, i16 %2, i32 10) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN4core3num53_$LT$impl$u20$core..str..FromStr$u20$for$u20$u128$GT$8from_str17h79db64aa28c4df9bE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i16) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block call void @_ZN4core3num14from_str_radix17h4c0c1d66bbd93620E(%"result::Result"* noalias nocapture sret dereferenceable(24) %0, i8* noalias nonnull readonly %1, i16 %2, i32 10) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i8 @"_ZN63_$LT$core..num..TryFromIntError$u20$as$u20$core..fmt..Debug$GT$3fmt17h85258badcfe7510dE"(%"num::TryFromIntError"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_15 = alloca {}* %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::TryFromIntError", %"num::TryFromIntError"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([15 x i8], [15 x i8]* @str.bR, i32 0, i32 0), i16 15) br label %bb1 bb1: ; preds = %start store {}* %2, {}** %_15 %3 = bitcast {}** %_15 to i8* %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void ({}**)*, i16, i16, i8 ({}**, %"fmt::Formatter"*)* }* @vtable.bS to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i16 @"_ZN4core3num65_$LT$impl$u20$core..convert..TryFrom$LT$u8$GT$$u20$for$u20$u8$GT$8try_from17hb29286078d66a8c3E"(i8) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h92c89adf322b9265E"() br label %bb1 bb1: ; preds = %start %2 = zext i8 %1 to i128 %3 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() br label %bb2 bb2: ; preds = %bb1 %4 = zext i8 %3 to i128 %5 = zext i8 %0 to i128 %6 = icmp ult i128 %5, %2 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = zext i8 %0 to i128 %8 = icmp ugt i128 %7, %4 br i1 %8, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %9 = load i8, i8* %_7, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %11 br label %bb9 bb8: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %12 %13 = bitcast %"result::Result"* %_0 to { i8, i8 }* %14 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %13, i32 0, i32 1 store i8 %0, i8* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 %15 = bitcast %"result::Result"* %_0 to i16* %16 = load i16, i16* %15, align 1 ret i16 %16 } ; Function Attrs: uwtable define i16 @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$u16$GT$$u20$for$u20$u8$GT$8try_from17h5429f9a63c8c7007E"(i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h92c89adf322b9265E"() br label %bb1 bb1: ; preds = %start %2 = zext i8 %1 to i128 %3 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() br label %bb2 bb2: ; preds = %bb1 %4 = zext i8 %3 to i128 %5 = zext i16 %0 to i128 %6 = icmp ult i128 %5, %2 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = zext i16 %0 to i128 %8 = icmp ugt i128 %7, %4 br i1 %8, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %9 = load i8, i8* %_7, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %11 br label %bb9 bb8: ; preds = %bb6 %12 = trunc i16 %0 to i8 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %13 %14 = bitcast %"result::Result"* %_0 to { i8, i8 }* %15 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %14, i32 0, i32 1 store i8 %12, i8* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 %16 = bitcast %"result::Result"* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: uwtable define i16 @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$u32$GT$$u20$for$u20$u8$GT$8try_from17hfc32b771a6375f7cE"(i32) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h92c89adf322b9265E"() br label %bb1 bb1: ; preds = %start %2 = zext i8 %1 to i128 %3 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() br label %bb2 bb2: ; preds = %bb1 %4 = zext i8 %3 to i128 %5 = zext i32 %0 to i128 %6 = icmp ult i128 %5, %2 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = zext i32 %0 to i128 %8 = icmp ugt i128 %7, %4 br i1 %8, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %9 = load i8, i8* %_7, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %11 br label %bb9 bb8: ; preds = %bb6 %12 = trunc i32 %0 to i8 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %13 %14 = bitcast %"result::Result"* %_0 to { i8, i8 }* %15 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %14, i32 0, i32 1 store i8 %12, i8* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 %16 = bitcast %"result::Result"* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: uwtable define i16 @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$u64$GT$$u20$for$u20$u8$GT$8try_from17hb51633a95e87d298E"(i64) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h92c89adf322b9265E"() br label %bb1 bb1: ; preds = %start %2 = zext i8 %1 to i128 %3 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() br label %bb2 bb2: ; preds = %bb1 %4 = zext i8 %3 to i128 %5 = zext i64 %0 to i128 %6 = icmp ult i128 %5, %2 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = zext i64 %0 to i128 %8 = icmp ugt i128 %7, %4 br i1 %8, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %9 = load i8, i8* %_7, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %11 br label %bb9 bb8: ; preds = %bb6 %12 = trunc i64 %0 to i8 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %13 %14 = bitcast %"result::Result"* %_0 to { i8, i8 }* %15 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %14, i32 0, i32 1 store i8 %12, i8* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 %16 = bitcast %"result::Result"* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: uwtable define i16 @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u128$GT$$u20$for$u20$u8$GT$8try_from17ha7113a434916dfffE"(i128) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h92c89adf322b9265E"() br label %bb1 bb1: ; preds = %start %2 = zext i8 %1 to i128 %3 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() br label %bb2 bb2: ; preds = %bb1 %4 = zext i8 %3 to i128 %5 = icmp ult i128 %0, %2 br i1 %5, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %6 = icmp ugt i128 %0, %4 br i1 %6, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %7 = load i8, i8* %_7, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb7, label %bb8 bb7: ; preds = %bb6 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %9 br label %bb9 bb8: ; preds = %bb6 %10 = trunc i128 %0 to i8 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %11 %12 = bitcast %"result::Result"* %_0 to { i8, i8 }* %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %12, i32 0, i32 1 store i8 %10, i8* %13 br label %bb9 bb9: ; preds = %bb8, %bb7 %14 = bitcast %"result::Result"* %_0 to i16* %15 = load i16, i16* %14, align 1 ret i16 %15 } ; Function Attrs: uwtable define i16 @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$usize$GT$$u20$for$u20$u8$GT$8try_from17hbb95a435f7dda427E"(i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h92c89adf322b9265E"() br label %bb1 bb1: ; preds = %start %2 = zext i8 %1 to i128 %3 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() br label %bb2 bb2: ; preds = %bb1 %4 = zext i8 %3 to i128 %5 = zext i16 %0 to i128 %6 = icmp ult i128 %5, %2 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = zext i16 %0 to i128 %8 = icmp ugt i128 %7, %4 br i1 %8, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %9 = load i8, i8* %_7, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %11 br label %bb9 bb8: ; preds = %bb6 %12 = trunc i16 %0 to i8 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %13 %14 = bitcast %"result::Result"* %_0 to { i8, i8 }* %15 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %14, i32 0, i32 1 store i8 %12, i8* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 %16 = bitcast %"result::Result"* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: uwtable define i16 @"_ZN4core3num65_$LT$impl$u20$core..convert..TryFrom$LT$i8$GT$$u20$for$u20$i8$GT$8try_from17h8a1ab8f8b718b685E"(i8) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hb0a12710150a6ddcE"() br label %bb1 bb1: ; preds = %start %2 = sext i8 %1 to i128 %3 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() br label %bb2 bb2: ; preds = %bb1 %4 = sext i8 %3 to i128 %5 = sext i8 %0 to i128 %6 = icmp slt i128 %5, %2 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = sext i8 %0 to i128 %8 = icmp sgt i128 %7, %4 br i1 %8, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %9 = load i8, i8* %_7, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %11 br label %bb9 bb8: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %12 %13 = bitcast %"result::Result"* %_0 to { i8, i8 }* %14 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %13, i32 0, i32 1 store i8 %0, i8* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 %15 = bitcast %"result::Result"* %_0 to i16* %16 = load i16, i16* %15, align 1 ret i16 %16 } ; Function Attrs: uwtable define i16 @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$i8$GT$8try_from17h962ab2450b9b4d7eE"(i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hb0a12710150a6ddcE"() br label %bb1 bb1: ; preds = %start %2 = sext i8 %1 to i128 %3 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() br label %bb2 bb2: ; preds = %bb1 %4 = sext i8 %3 to i128 %5 = sext i16 %0 to i128 %6 = icmp slt i128 %5, %2 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = sext i16 %0 to i128 %8 = icmp sgt i128 %7, %4 br i1 %8, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %9 = load i8, i8* %_7, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %11 br label %bb9 bb8: ; preds = %bb6 %12 = trunc i16 %0 to i8 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %13 %14 = bitcast %"result::Result"* %_0 to { i8, i8 }* %15 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %14, i32 0, i32 1 store i8 %12, i8* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 %16 = bitcast %"result::Result"* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: uwtable define i16 @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$i32$GT$$u20$for$u20$i8$GT$8try_from17hdc88d7a6ef1e33beE"(i32) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hb0a12710150a6ddcE"() br label %bb1 bb1: ; preds = %start %2 = sext i8 %1 to i128 %3 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() br label %bb2 bb2: ; preds = %bb1 %4 = sext i8 %3 to i128 %5 = sext i32 %0 to i128 %6 = icmp slt i128 %5, %2 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = sext i32 %0 to i128 %8 = icmp sgt i128 %7, %4 br i1 %8, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %9 = load i8, i8* %_7, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %11 br label %bb9 bb8: ; preds = %bb6 %12 = trunc i32 %0 to i8 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %13 %14 = bitcast %"result::Result"* %_0 to { i8, i8 }* %15 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %14, i32 0, i32 1 store i8 %12, i8* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 %16 = bitcast %"result::Result"* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: uwtable define i16 @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$i64$GT$$u20$for$u20$i8$GT$8try_from17h520d94ee75216829E"(i64) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hb0a12710150a6ddcE"() br label %bb1 bb1: ; preds = %start %2 = sext i8 %1 to i128 %3 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() br label %bb2 bb2: ; preds = %bb1 %4 = sext i8 %3 to i128 %5 = sext i64 %0 to i128 %6 = icmp slt i128 %5, %2 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = sext i64 %0 to i128 %8 = icmp sgt i128 %7, %4 br i1 %8, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %9 = load i8, i8* %_7, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %11 br label %bb9 bb8: ; preds = %bb6 %12 = trunc i64 %0 to i8 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %13 %14 = bitcast %"result::Result"* %_0 to { i8, i8 }* %15 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %14, i32 0, i32 1 store i8 %12, i8* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 %16 = bitcast %"result::Result"* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: uwtable define i16 @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i128$GT$$u20$for$u20$i8$GT$8try_from17hc616e0e7dc185d6aE"(i128) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hb0a12710150a6ddcE"() br label %bb1 bb1: ; preds = %start %2 = sext i8 %1 to i128 %3 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() br label %bb2 bb2: ; preds = %bb1 %4 = sext i8 %3 to i128 %5 = icmp slt i128 %0, %2 br i1 %5, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %6 = icmp sgt i128 %0, %4 br i1 %6, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %7 = load i8, i8* %_7, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb7, label %bb8 bb7: ; preds = %bb6 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %9 br label %bb9 bb8: ; preds = %bb6 %10 = trunc i128 %0 to i8 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %11 %12 = bitcast %"result::Result"* %_0 to { i8, i8 }* %13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %12, i32 0, i32 1 store i8 %10, i8* %13 br label %bb9 bb9: ; preds = %bb8, %bb7 %14 = bitcast %"result::Result"* %_0 to i16* %15 = load i16, i16* %14, align 1 ret i16 %15 } ; Function Attrs: uwtable define i16 @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$isize$GT$$u20$for$u20$i8$GT$8try_from17h66f589204277cca9E"(i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hb0a12710150a6ddcE"() br label %bb1 bb1: ; preds = %start %2 = sext i8 %1 to i128 %3 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() br label %bb2 bb2: ; preds = %bb1 %4 = sext i8 %3 to i128 %5 = sext i16 %0 to i128 %6 = icmp slt i128 %5, %2 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = sext i16 %0 to i128 %8 = icmp sgt i128 %7, %4 br i1 %8, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %9 = load i8, i8* %_7, !range !2 %10 = trunc i8 %9 to i1 br i1 %10, label %bb7, label %bb8 bb7: ; preds = %bb6 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %11 br label %bb9 bb8: ; preds = %bb6 %12 = trunc i16 %0 to i8 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %13 %14 = bitcast %"result::Result"* %_0 to { i8, i8 }* %15 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %14, i32 0, i32 1 store i8 %12, i8* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 %16 = bitcast %"result::Result"* %_0 to i16* %17 = load i16, i16* %16, align 1 ret i16 %17 } ; Function Attrs: uwtable define void @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$u8$GT$$u20$for$u20$u16$GT$8try_from17ha91344e7de0a96dfE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h923d82468f194beeE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i16 %4 to i128 %6 = zext i8 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i8 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = zext i8 %1 to i16 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"result::Result"* %0 to { i16, i16 }* %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %15, i32 0, i32 1 store i16 %13, i16* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u16$GT$$u20$for$u20$u16$GT$8try_from17hc93bae12e53b2d69E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h923d82468f194beeE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i16 %4 to i128 %6 = zext i16 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i16 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %13 %14 = bitcast %"result::Result"* %0 to { i16, i16 }* %15 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %14, i32 0, i32 1 store i16 %1, i16* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u32$GT$$u20$for$u20$u16$GT$8try_from17h44f4c361387a0b49E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i32) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h923d82468f194beeE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i16 %4 to i128 %6 = zext i32 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i32 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = trunc i32 %1 to i16 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"result::Result"* %0 to { i16, i16 }* %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %15, i32 0, i32 1 store i16 %13, i16* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u64$GT$$u20$for$u20$u16$GT$8try_from17h6a40e045b8a40410E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i64) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h923d82468f194beeE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i16 %4 to i128 %6 = zext i64 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i64 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = trunc i64 %1 to i16 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"result::Result"* %0 to { i16, i16 }* %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %15, i32 0, i32 1 store i16 %13, i16* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u128$GT$$u20$for$u20$u16$GT$8try_from17h22a289b79b354856E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i128) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h923d82468f194beeE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i16 %4 to i128 %6 = icmp ult i128 %1, %3 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = icmp ugt i128 %1, %5 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %10 br label %bb9 bb8: ; preds = %bb6 %11 = trunc i128 %1 to i16 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %12 %13 = bitcast %"result::Result"* %0 to { i16, i16 }* %14 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %13, i32 0, i32 1 store i16 %11, i16* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$usize$GT$$u20$for$u20$u16$GT$8try_from17hbcd63f4409b5a5c4E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h923d82468f194beeE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i16 %4 to i128 %6 = zext i16 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i16 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %13 %14 = bitcast %"result::Result"* %0 to { i16, i16 }* %15 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %14, i32 0, i32 1 store i16 %1, i16* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$i8$GT$$u20$for$u20$i16$GT$8try_from17h16f72212802e73baE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h454b8a7de5cf4afbE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i16 %4 to i128 %6 = sext i8 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i8 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = sext i8 %1 to i16 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"result::Result"* %0 to { i16, i16 }* %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %15, i32 0, i32 1 store i16 %13, i16* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$i16$GT$8try_from17he2f8989d85fbc7deE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h454b8a7de5cf4afbE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i16 %4 to i128 %6 = sext i16 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i16 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %13 %14 = bitcast %"result::Result"* %0 to { i16, i16 }* %15 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %14, i32 0, i32 1 store i16 %1, i16* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i32$GT$$u20$for$u20$i16$GT$8try_from17h6c9956ccca0ccf32E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i32) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h454b8a7de5cf4afbE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i16 %4 to i128 %6 = sext i32 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i32 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = trunc i32 %1 to i16 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"result::Result"* %0 to { i16, i16 }* %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %15, i32 0, i32 1 store i16 %13, i16* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i64$GT$$u20$for$u20$i16$GT$8try_from17hd37c803793fbb582E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i64) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h454b8a7de5cf4afbE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i16 %4 to i128 %6 = sext i64 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i64 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = trunc i64 %1 to i16 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"result::Result"* %0 to { i16, i16 }* %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %15, i32 0, i32 1 store i16 %13, i16* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i128$GT$$u20$for$u20$i16$GT$8try_from17h105f70e748531be1E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i128) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h454b8a7de5cf4afbE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i16 %4 to i128 %6 = icmp slt i128 %1, %3 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = icmp sgt i128 %1, %5 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %10 br label %bb9 bb8: ; preds = %bb6 %11 = trunc i128 %1 to i16 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %12 %13 = bitcast %"result::Result"* %0 to { i16, i16 }* %14 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %13, i32 0, i32 1 store i16 %11, i16* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$isize$GT$$u20$for$u20$i16$GT$8try_from17hc87e43734b428904E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h454b8a7de5cf4afbE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i16 %4 to i128 %6 = sext i16 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i16 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %13 %14 = bitcast %"result::Result"* %0 to { i16, i16 }* %15 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %14, i32 0, i32 1 store i16 %1, i16* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$u8$GT$$u20$for$u20$u32$GT$8try_from17h39245bec689c3e44E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i8) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17he4c7de57851ddb43E"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i128 %4 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i32 %4 to i128 %6 = zext i8 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i8 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %12 br label %bb9 bb8: ; preds = %bb6 %13 = zext i8 %1 to i32 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %14 %15 = bitcast %"result::Result"* %0 to { i32, i32 }* %16 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %15, i32 0, i32 1 store i32 %13, i32* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u16$GT$$u20$for$u20$u32$GT$8try_from17hf3029e7238bfa03dE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17he4c7de57851ddb43E"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i128 %4 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i32 %4 to i128 %6 = zext i16 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i16 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %12 br label %bb9 bb8: ; preds = %bb6 %13 = zext i16 %1 to i32 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %14 %15 = bitcast %"result::Result"* %0 to { i32, i32 }* %16 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %15, i32 0, i32 1 store i32 %13, i32* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u32$GT$$u20$for$u20$u32$GT$8try_from17he8f4efd44ca10ad4E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i32) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17he4c7de57851ddb43E"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i128 %4 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i32 %4 to i128 %6 = zext i32 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i32 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %12 br label %bb9 bb8: ; preds = %bb6 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %13 %14 = bitcast %"result::Result"* %0 to { i32, i32 }* %15 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %14, i32 0, i32 1 store i32 %1, i32* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u64$GT$$u20$for$u20$u32$GT$8try_from17ha3d8b769c1f429cdE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i64) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17he4c7de57851ddb43E"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i128 %4 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i32 %4 to i128 %6 = zext i64 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i64 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %12 br label %bb9 bb8: ; preds = %bb6 %13 = trunc i64 %1 to i32 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %14 %15 = bitcast %"result::Result"* %0 to { i32, i32 }* %16 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %15, i32 0, i32 1 store i32 %13, i32* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u128$GT$$u20$for$u20$u32$GT$8try_from17h4961a57058354dddE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i128) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17he4c7de57851ddb43E"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i128 %4 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i32 %4 to i128 %6 = icmp ult i128 %1, %3 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = icmp ugt i128 %1, %5 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %10 br label %bb9 bb8: ; preds = %bb6 %11 = trunc i128 %1 to i32 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %12 %13 = bitcast %"result::Result"* %0 to { i32, i32 }* %14 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %13, i32 0, i32 1 store i32 %11, i32* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$usize$GT$$u20$for$u20$u32$GT$8try_from17h67046cb86ec2b83aE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17he4c7de57851ddb43E"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i128 %4 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i32 %4 to i128 %6 = zext i16 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i16 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %12 br label %bb9 bb8: ; preds = %bb6 %13 = zext i16 %1 to i32 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %14 %15 = bitcast %"result::Result"* %0 to { i32, i32 }* %16 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %15, i32 0, i32 1 store i32 %13, i32* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$i8$GT$$u20$for$u20$i32$GT$8try_from17hf2c7c2c06b7d8f0fE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i8) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h8e5eb5b55a8f1814E"() br label %bb1 bb1: ; preds = %start %3 = sext i32 %2 to i128 %4 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i32 %4 to i128 %6 = sext i8 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i8 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %12 br label %bb9 bb8: ; preds = %bb6 %13 = sext i8 %1 to i32 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %14 %15 = bitcast %"result::Result"* %0 to { i32, i32 }* %16 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %15, i32 0, i32 1 store i32 %13, i32* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$i32$GT$8try_from17h816dc1b78c646e7cE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h8e5eb5b55a8f1814E"() br label %bb1 bb1: ; preds = %start %3 = sext i32 %2 to i128 %4 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i32 %4 to i128 %6 = sext i16 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i16 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %12 br label %bb9 bb8: ; preds = %bb6 %13 = sext i16 %1 to i32 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %14 %15 = bitcast %"result::Result"* %0 to { i32, i32 }* %16 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %15, i32 0, i32 1 store i32 %13, i32* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i32$GT$$u20$for$u20$i32$GT$8try_from17hfabcaf770f09208dE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i32) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h8e5eb5b55a8f1814E"() br label %bb1 bb1: ; preds = %start %3 = sext i32 %2 to i128 %4 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i32 %4 to i128 %6 = sext i32 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i32 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %12 br label %bb9 bb8: ; preds = %bb6 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %13 %14 = bitcast %"result::Result"* %0 to { i32, i32 }* %15 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %14, i32 0, i32 1 store i32 %1, i32* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i64$GT$$u20$for$u20$i32$GT$8try_from17h7b65198bc72e8024E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i64) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h8e5eb5b55a8f1814E"() br label %bb1 bb1: ; preds = %start %3 = sext i32 %2 to i128 %4 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i32 %4 to i128 %6 = sext i64 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i64 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %12 br label %bb9 bb8: ; preds = %bb6 %13 = trunc i64 %1 to i32 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %14 %15 = bitcast %"result::Result"* %0 to { i32, i32 }* %16 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %15, i32 0, i32 1 store i32 %13, i32* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i128$GT$$u20$for$u20$i32$GT$8try_from17heea9cd485cc4aba6E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i128) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h8e5eb5b55a8f1814E"() br label %bb1 bb1: ; preds = %start %3 = sext i32 %2 to i128 %4 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i32 %4 to i128 %6 = icmp slt i128 %1, %3 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = icmp sgt i128 %1, %5 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %10 br label %bb9 bb8: ; preds = %bb6 %11 = trunc i128 %1 to i32 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %12 %13 = bitcast %"result::Result"* %0 to { i32, i32 }* %14 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %13, i32 0, i32 1 store i32 %11, i32* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$isize$GT$$u20$for$u20$i32$GT$8try_from17h1b8cd1f042dbfcf3E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h8e5eb5b55a8f1814E"() br label %bb1 bb1: ; preds = %start %3 = sext i32 %2 to i128 %4 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i32 %4 to i128 %6 = sext i16 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i16 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %12 br label %bb9 bb8: ; preds = %bb6 %13 = sext i16 %1 to i32 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %14 %15 = bitcast %"result::Result"* %0 to { i32, i32 }* %16 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %15, i32 0, i32 1 store i32 %13, i32* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$u8$GT$$u20$for$u20$u64$GT$8try_from17hf2bd71451883a8d9E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i8) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h5f6ff5acfd7a5c9bE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %2 to i128 %4 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i64 %4 to i128 %6 = zext i8 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i8 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %12 br label %bb9 bb8: ; preds = %bb6 %13 = zext i8 %1 to i64 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %14 %15 = bitcast %"result::Result"* %0 to { i64, i64 }* %16 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %15, i32 0, i32 1 store i64 %13, i64* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u16$GT$$u20$for$u20$u64$GT$8try_from17h509e94838b677d7aE"(%"result::Result"* noalias nocapture sret dereferenceable(16), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h5f6ff5acfd7a5c9bE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %2 to i128 %4 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i64 %4 to i128 %6 = zext i16 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i16 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %12 br label %bb9 bb8: ; preds = %bb6 %13 = zext i16 %1 to i64 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %14 %15 = bitcast %"result::Result"* %0 to { i64, i64 }* %16 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %15, i32 0, i32 1 store i64 %13, i64* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u32$GT$$u20$for$u20$u64$GT$8try_from17ha387af1e40e32cb6E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i32) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h5f6ff5acfd7a5c9bE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %2 to i128 %4 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i64 %4 to i128 %6 = zext i32 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i32 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %12 br label %bb9 bb8: ; preds = %bb6 %13 = zext i32 %1 to i64 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %14 %15 = bitcast %"result::Result"* %0 to { i64, i64 }* %16 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %15, i32 0, i32 1 store i64 %13, i64* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u64$GT$$u20$for$u20$u64$GT$8try_from17h58f8381df4741516E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h5f6ff5acfd7a5c9bE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %2 to i128 %4 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i64 %4 to i128 %6 = zext i64 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i64 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %12 br label %bb9 bb8: ; preds = %bb6 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %13 %14 = bitcast %"result::Result"* %0 to { i64, i64 }* %15 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %14, i32 0, i32 1 store i64 %1, i64* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u128$GT$$u20$for$u20$u64$GT$8try_from17h0cd232c324d4e831E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i128) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h5f6ff5acfd7a5c9bE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %2 to i128 %4 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i64 %4 to i128 %6 = icmp ult i128 %1, %3 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = icmp ugt i128 %1, %5 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %10 br label %bb9 bb8: ; preds = %bb6 %11 = trunc i128 %1 to i64 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %12 %13 = bitcast %"result::Result"* %0 to { i64, i64 }* %14 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %13, i32 0, i32 1 store i64 %11, i64* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$usize$GT$$u20$for$u20$u64$GT$8try_from17h92a2e339fd8e3a67E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h5f6ff5acfd7a5c9bE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %2 to i128 %4 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i64 %4 to i128 %6 = zext i16 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i16 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %12 br label %bb9 bb8: ; preds = %bb6 %13 = zext i16 %1 to i64 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %14 %15 = bitcast %"result::Result"* %0 to { i64, i64 }* %16 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %15, i32 0, i32 1 store i64 %13, i64* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$i8$GT$$u20$for$u20$i64$GT$8try_from17hd2f56aebf75d3882E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i8) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h3d0c8ae03dc37fa8E"() br label %bb1 bb1: ; preds = %start %3 = sext i64 %2 to i128 %4 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i64 %4 to i128 %6 = sext i8 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i8 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %12 br label %bb9 bb8: ; preds = %bb6 %13 = sext i8 %1 to i64 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %14 %15 = bitcast %"result::Result"* %0 to { i64, i64 }* %16 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %15, i32 0, i32 1 store i64 %13, i64* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$i64$GT$8try_from17haa60e1c6fc06b966E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h3d0c8ae03dc37fa8E"() br label %bb1 bb1: ; preds = %start %3 = sext i64 %2 to i128 %4 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i64 %4 to i128 %6 = sext i16 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i16 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %12 br label %bb9 bb8: ; preds = %bb6 %13 = sext i16 %1 to i64 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %14 %15 = bitcast %"result::Result"* %0 to { i64, i64 }* %16 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %15, i32 0, i32 1 store i64 %13, i64* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i32$GT$$u20$for$u20$i64$GT$8try_from17h93d4e55b4ddfa64fE"(%"result::Result"* noalias nocapture sret dereferenceable(16), i32) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h3d0c8ae03dc37fa8E"() br label %bb1 bb1: ; preds = %start %3 = sext i64 %2 to i128 %4 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i64 %4 to i128 %6 = sext i32 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i32 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %12 br label %bb9 bb8: ; preds = %bb6 %13 = sext i32 %1 to i64 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %14 %15 = bitcast %"result::Result"* %0 to { i64, i64 }* %16 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %15, i32 0, i32 1 store i64 %13, i64* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i64$GT$$u20$for$u20$i64$GT$8try_from17ha42c2800704b9b35E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h3d0c8ae03dc37fa8E"() br label %bb1 bb1: ; preds = %start %3 = sext i64 %2 to i128 %4 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i64 %4 to i128 %6 = sext i64 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i64 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %12 br label %bb9 bb8: ; preds = %bb6 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %13 %14 = bitcast %"result::Result"* %0 to { i64, i64 }* %15 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %14, i32 0, i32 1 store i64 %1, i64* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i128$GT$$u20$for$u20$i64$GT$8try_from17h2034173a8ac8dac4E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i128) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h3d0c8ae03dc37fa8E"() br label %bb1 bb1: ; preds = %start %3 = sext i64 %2 to i128 %4 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i64 %4 to i128 %6 = icmp slt i128 %1, %3 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = icmp sgt i128 %1, %5 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %10 br label %bb9 bb8: ; preds = %bb6 %11 = trunc i128 %1 to i64 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %12 %13 = bitcast %"result::Result"* %0 to { i64, i64 }* %14 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %13, i32 0, i32 1 store i64 %11, i64* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$isize$GT$$u20$for$u20$i64$GT$8try_from17h09137d43b619308fE"(%"result::Result"* noalias nocapture sret dereferenceable(16), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h3d0c8ae03dc37fa8E"() br label %bb1 bb1: ; preds = %start %3 = sext i64 %2 to i128 %4 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i64 %4 to i128 %6 = sext i16 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i16 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %12 br label %bb9 bb8: ; preds = %bb6 %13 = sext i16 %1 to i64 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %14 %15 = bitcast %"result::Result"* %0 to { i64, i64 }* %16 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %15, i32 0, i32 1 store i64 %13, i64* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u8$GT$$u20$for$u20$u128$GT$8try_from17h7926e2dc712c3a96E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i8) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hf895a646e539f13eE"() br label %bb1 bb1: ; preds = %start %3 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() br label %bb2 bb2: ; preds = %bb1 %4 = zext i8 %1 to i128 %5 = icmp ult i128 %4, %2 br i1 %5, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %6 = zext i8 %1 to i128 %7 = icmp ugt i128 %6, %3 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %10 br label %bb9 bb8: ; preds = %bb6 %11 = zext i8 %1 to i128 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %12 %13 = bitcast %"result::Result"* %0 to { i64, i128 }* %14 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %13, i32 0, i32 1 store i128 %11, i128* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u16$GT$$u20$for$u20$u128$GT$8try_from17h33842985257a7e6fE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hf895a646e539f13eE"() br label %bb1 bb1: ; preds = %start %3 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() br label %bb2 bb2: ; preds = %bb1 %4 = zext i16 %1 to i128 %5 = icmp ult i128 %4, %2 br i1 %5, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %6 = zext i16 %1 to i128 %7 = icmp ugt i128 %6, %3 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %10 br label %bb9 bb8: ; preds = %bb6 %11 = zext i16 %1 to i128 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %12 %13 = bitcast %"result::Result"* %0 to { i64, i128 }* %14 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %13, i32 0, i32 1 store i128 %11, i128* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u32$GT$$u20$for$u20$u128$GT$8try_from17h1b3fa6b6d9e21ed9E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i32) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hf895a646e539f13eE"() br label %bb1 bb1: ; preds = %start %3 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() br label %bb2 bb2: ; preds = %bb1 %4 = zext i32 %1 to i128 %5 = icmp ult i128 %4, %2 br i1 %5, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %6 = zext i32 %1 to i128 %7 = icmp ugt i128 %6, %3 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %10 br label %bb9 bb8: ; preds = %bb6 %11 = zext i32 %1 to i128 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %12 %13 = bitcast %"result::Result"* %0 to { i64, i128 }* %14 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %13, i32 0, i32 1 store i128 %11, i128* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u64$GT$$u20$for$u20$u128$GT$8try_from17h9af4e66ba9e78f05E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i64) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hf895a646e539f13eE"() br label %bb1 bb1: ; preds = %start %3 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() br label %bb2 bb2: ; preds = %bb1 %4 = zext i64 %1 to i128 %5 = icmp ult i128 %4, %2 br i1 %5, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %6 = zext i64 %1 to i128 %7 = icmp ugt i128 %6, %3 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %10 br label %bb9 bb8: ; preds = %bb6 %11 = zext i64 %1 to i128 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %12 %13 = bitcast %"result::Result"* %0 to { i64, i128 }* %14 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %13, i32 0, i32 1 store i128 %11, i128* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$u128$GT$$u20$for$u20$u128$GT$8try_from17h81bfc5a3483cc161E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i128) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hf895a646e539f13eE"() br label %bb1 bb1: ; preds = %start %3 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() br label %bb2 bb2: ; preds = %bb1 %4 = icmp ult i128 %1, %2 br i1 %4, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %5 = icmp ugt i128 %1, %3 br i1 %5, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %6 = load i8, i8* %_7, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb7, label %bb8 bb7: ; preds = %bb6 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %8 br label %bb9 bb8: ; preds = %bb6 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %9 %10 = bitcast %"result::Result"* %0 to { i64, i128 }* %11 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %10, i32 0, i32 1 store i128 %1, i128* %11 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num70_$LT$impl$u20$core..convert..TryFrom$LT$usize$GT$$u20$for$u20$u128$GT$8try_from17h69eb834bd8e75a7bE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hf895a646e539f13eE"() br label %bb1 bb1: ; preds = %start %3 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() br label %bb2 bb2: ; preds = %bb1 %4 = zext i16 %1 to i128 %5 = icmp ult i128 %4, %2 br i1 %5, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %6 = zext i16 %1 to i128 %7 = icmp ugt i128 %6, %3 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %10 br label %bb9 bb8: ; preds = %bb6 %11 = zext i16 %1 to i128 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %12 %13 = bitcast %"result::Result"* %0 to { i64, i128 }* %14 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %13, i32 0, i32 1 store i128 %11, i128* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i8$GT$$u20$for$u20$i128$GT$8try_from17h9d7e2693469ad02aE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i8) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hced87ab2ef9c4976E"() br label %bb1 bb1: ; preds = %start %3 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() br label %bb2 bb2: ; preds = %bb1 %4 = sext i8 %1 to i128 %5 = icmp slt i128 %4, %2 br i1 %5, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %6 = sext i8 %1 to i128 %7 = icmp sgt i128 %6, %3 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %10 br label %bb9 bb8: ; preds = %bb6 %11 = sext i8 %1 to i128 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %12 %13 = bitcast %"result::Result"* %0 to { i64, i128 }* %14 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %13, i32 0, i32 1 store i128 %11, i128* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$i128$GT$8try_from17hb31438146418de78E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hced87ab2ef9c4976E"() br label %bb1 bb1: ; preds = %start %3 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() br label %bb2 bb2: ; preds = %bb1 %4 = sext i16 %1 to i128 %5 = icmp slt i128 %4, %2 br i1 %5, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %6 = sext i16 %1 to i128 %7 = icmp sgt i128 %6, %3 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %10 br label %bb9 bb8: ; preds = %bb6 %11 = sext i16 %1 to i128 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %12 %13 = bitcast %"result::Result"* %0 to { i64, i128 }* %14 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %13, i32 0, i32 1 store i128 %11, i128* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i32$GT$$u20$for$u20$i128$GT$8try_from17h35b4e53cbeace9adE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i32) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hced87ab2ef9c4976E"() br label %bb1 bb1: ; preds = %start %3 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() br label %bb2 bb2: ; preds = %bb1 %4 = sext i32 %1 to i128 %5 = icmp slt i128 %4, %2 br i1 %5, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %6 = sext i32 %1 to i128 %7 = icmp sgt i128 %6, %3 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %10 br label %bb9 bb8: ; preds = %bb6 %11 = sext i32 %1 to i128 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %12 %13 = bitcast %"result::Result"* %0 to { i64, i128 }* %14 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %13, i32 0, i32 1 store i128 %11, i128* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i64$GT$$u20$for$u20$i128$GT$8try_from17h7d271950938ef3abE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i64) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hced87ab2ef9c4976E"() br label %bb1 bb1: ; preds = %start %3 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() br label %bb2 bb2: ; preds = %bb1 %4 = sext i64 %1 to i128 %5 = icmp slt i128 %4, %2 br i1 %5, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %6 = sext i64 %1 to i128 %7 = icmp sgt i128 %6, %3 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %10 br label %bb9 bb8: ; preds = %bb6 %11 = sext i64 %1 to i128 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %12 %13 = bitcast %"result::Result"* %0 to { i64, i128 }* %14 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %13, i32 0, i32 1 store i128 %11, i128* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$i128$GT$$u20$for$u20$i128$GT$8try_from17h6285ef5fb5368608E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i128) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hced87ab2ef9c4976E"() br label %bb1 bb1: ; preds = %start %3 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() br label %bb2 bb2: ; preds = %bb1 %4 = icmp slt i128 %1, %2 br i1 %4, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %5 = icmp sgt i128 %1, %3 br i1 %5, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %6 = load i8, i8* %_7, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb7, label %bb8 bb7: ; preds = %bb6 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %8 br label %bb9 bb8: ; preds = %bb6 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %9 %10 = bitcast %"result::Result"* %0 to { i64, i128 }* %11 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %10, i32 0, i32 1 store i128 %1, i128* %11 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num70_$LT$impl$u20$core..convert..TryFrom$LT$isize$GT$$u20$for$u20$i128$GT$8try_from17hb9374ab47939ff5fE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hced87ab2ef9c4976E"() br label %bb1 bb1: ; preds = %start %3 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() br label %bb2 bb2: ; preds = %bb1 %4 = sext i16 %1 to i128 %5 = icmp slt i128 %4, %2 br i1 %5, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %6 = sext i16 %1 to i128 %7 = icmp sgt i128 %6, %3 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %10 br label %bb9 bb8: ; preds = %bb6 %11 = sext i16 %1 to i128 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %12 %13 = bitcast %"result::Result"* %0 to { i64, i128 }* %14 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %13, i32 0, i32 1 store i128 %11, i128* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u8$GT$$u20$for$u20$usize$GT$8try_from17h88598736cde741d6E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h66a590d508b401ffE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i16 %4 to i128 %6 = zext i8 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i8 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = zext i8 %1 to i16 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"result::Result"* %0 to { i16, i16 }* %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %15, i32 0, i32 1 store i16 %13, i16* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$u16$GT$$u20$for$u20$usize$GT$8try_from17hff1f215f08b902ecE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h66a590d508b401ffE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i16 %4 to i128 %6 = zext i16 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i16 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %13 %14 = bitcast %"result::Result"* %0 to { i16, i16 }* %15 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %14, i32 0, i32 1 store i16 %1, i16* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$u32$GT$$u20$for$u20$usize$GT$8try_from17hdf52c5a23ecac658E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i32) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h66a590d508b401ffE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i16 %4 to i128 %6 = zext i32 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i32 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = trunc i32 %1 to i16 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"result::Result"* %0 to { i16, i16 }* %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %15, i32 0, i32 1 store i16 %13, i16* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$u64$GT$$u20$for$u20$usize$GT$8try_from17h4500f88473382feaE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i64) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h66a590d508b401ffE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i16 %4 to i128 %6 = zext i64 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i64 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = trunc i64 %1 to i16 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"result::Result"* %0 to { i16, i16 }* %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %15, i32 0, i32 1 store i16 %13, i16* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num70_$LT$impl$u20$core..convert..TryFrom$LT$u128$GT$$u20$for$u20$usize$GT$8try_from17h821ca7485e0ab4e3E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i128) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h66a590d508b401ffE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i16 %4 to i128 %6 = icmp ult i128 %1, %3 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = icmp ugt i128 %1, %5 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %10 br label %bb9 bb8: ; preds = %bb6 %11 = trunc i128 %1 to i16 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %12 %13 = bitcast %"result::Result"* %0 to { i16, i16 }* %14 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %13, i32 0, i32 1 store i16 %11, i16* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num71_$LT$impl$u20$core..convert..TryFrom$LT$usize$GT$$u20$for$u20$usize$GT$8try_from17h6ca42c01dff782abE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h66a590d508b401ffE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() br label %bb2 bb2: ; preds = %bb1 %5 = zext i16 %4 to i128 %6 = zext i16 %1 to i128 %7 = icmp ult i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = zext i16 %1 to i128 %9 = icmp ugt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %13 %14 = bitcast %"result::Result"* %0 to { i16, i16 }* %15 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %14, i32 0, i32 1 store i16 %1, i16* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i8$GT$$u20$for$u20$isize$GT$8try_from17h77ad34d4d9ce1662E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h42fa1fc2a9c42b0aE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i16 %4 to i128 %6 = sext i8 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i8 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = sext i8 %1 to i16 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"result::Result"* %0 to { i16, i16 }* %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %15, i32 0, i32 1 store i16 %13, i16* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$isize$GT$8try_from17hb945df8b82a3d03bE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h42fa1fc2a9c42b0aE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i16 %4 to i128 %6 = sext i16 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i16 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %13 %14 = bitcast %"result::Result"* %0 to { i16, i16 }* %15 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %14, i32 0, i32 1 store i16 %1, i16* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$i32$GT$$u20$for$u20$isize$GT$8try_from17h0868d3acba2e2d30E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i32) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h42fa1fc2a9c42b0aE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i16 %4 to i128 %6 = sext i32 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i32 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = trunc i32 %1 to i16 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"result::Result"* %0 to { i16, i16 }* %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %15, i32 0, i32 1 store i16 %13, i16* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$i64$GT$$u20$for$u20$isize$GT$8try_from17h1b3494a646a3ba4bE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i64) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h42fa1fc2a9c42b0aE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i16 %4 to i128 %6 = sext i64 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i64 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = trunc i64 %1 to i16 %14 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %14 %15 = bitcast %"result::Result"* %0 to { i16, i16 }* %16 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %15, i32 0, i32 1 store i16 %13, i16* %16 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num70_$LT$impl$u20$core..convert..TryFrom$LT$i128$GT$$u20$for$u20$isize$GT$8try_from17hbeffdffe6e541236E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i128) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h42fa1fc2a9c42b0aE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i16 %4 to i128 %6 = icmp slt i128 %1, %3 br i1 %6, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %7 = icmp sgt i128 %1, %5 br i1 %7, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %8 = load i8, i8* %_7, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb7, label %bb8 bb7: ; preds = %bb6 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %10 br label %bb9 bb8: ; preds = %bb6 %11 = trunc i128 %1 to i16 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %12 %13 = bitcast %"result::Result"* %0 to { i16, i16 }* %14 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %13, i32 0, i32 1 store i16 %11, i16* %14 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num71_$LT$impl$u20$core..convert..TryFrom$LT$isize$GT$$u20$for$u20$isize$GT$8try_from17ha9c97bfafedd293aE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_17 = alloca {} %_16 = alloca %"num::TryFromIntError" %_7 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h42fa1fc2a9c42b0aE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() br label %bb2 bb2: ; preds = %bb1 %5 = sext i16 %4 to i128 %6 = sext i16 %1 to i128 %7 = icmp slt i128 %6, %3 br i1 %7, label %bb3, label %bb5 bb3: ; preds = %bb5, %bb2 store i8 1, i8* %_7 br label %bb6 bb4: ; preds = %bb5 store i8 0, i8* %_7 br label %bb6 bb5: ; preds = %bb2 %8 = sext i16 %1 to i128 %9 = icmp sgt i128 %8, %5 br i1 %9, label %bb3, label %bb4 bb6: ; preds = %bb4, %bb3 %10 = load i8, i8* %_7, !range !2 %11 = trunc i8 %10 to i1 br i1 %11, label %bb7, label %bb8 bb7: ; preds = %bb6 %12 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %12 br label %bb9 bb8: ; preds = %bb6 %13 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %13 %14 = bitcast %"result::Result"* %0 to { i16, i16 }* %15 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %14, i32 0, i32 1 store i16 %1, i16* %15 br label %bb9 bb9: ; preds = %bb8, %bb7 ret void } ; Function Attrs: uwtable define i16 @"_ZN4core3num65_$LT$impl$u20$core..convert..TryFrom$LT$u8$GT$$u20$for$u20$i8$GT$8try_from17h3f9fec6990a943c7E"(i8) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() br label %bb1 bb1: ; preds = %start %2 = sext i8 %1 to i128 %3 = zext i8 %0 to i128 %4 = icmp ugt i128 %3, %2 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %5 br label %bb4 bb3: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %6 %7 = bitcast %"result::Result"* %_0 to { i8, i8 }* %8 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %7, i32 0, i32 1 store i8 %0, i8* %8 br label %bb4 bb4: ; preds = %bb3, %bb2 %9 = bitcast %"result::Result"* %_0 to i16* %10 = load i16, i16* %9, align 1 ret i16 %10 } ; Function Attrs: uwtable define i16 @"_ZN4core3num65_$LT$impl$u20$core..convert..TryFrom$LT$i8$GT$$u20$for$u20$u8$GT$8try_from17h877bd408461d5e85E"(i8) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() br label %bb1 bb1: ; preds = %start %2 = zext i8 %1 to i128 %3 = icmp slt i8 %0, 0 br i1 %3, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %4 = sext i8 %0 to i128 %5 = icmp ugt i128 %4, %2 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %8 br label %bb8 bb7: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %9 %10 = bitcast %"result::Result"* %_0 to { i8, i8 }* %11 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %10, i32 0, i32 1 store i8 %0, i8* %11 br label %bb8 bb8: ; preds = %bb7, %bb6 %12 = bitcast %"result::Result"* %_0 to i16* %13 = load i16, i16* %12, align 1 ret i16 %13 } ; Function Attrs: uwtable define void @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$u8$GT$$u20$for$u20$i16$GT$8try_from17hffa162ae85d5e3faE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = zext i8 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %6 br label %bb4 bb3: ; preds = %bb1 %7 = zext i8 %1 to i16 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %8 %9 = bitcast %"result::Result"* %0 to { i16, i16 }* %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %9, i32 0, i32 1 store i16 %7, i16* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define i16 @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$u8$GT$8try_from17h9bf675fda3b97b61E"(i16) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() br label %bb1 bb1: ; preds = %start %2 = zext i8 %1 to i128 %3 = icmp slt i16 %0, 0 br i1 %3, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %4 = sext i16 %0 to i128 %5 = icmp ugt i128 %4, %2 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %8 br label %bb8 bb7: ; preds = %bb5 %9 = trunc i16 %0 to i8 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %10 %11 = bitcast %"result::Result"* %_0 to { i8, i8 }* %12 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %11, i32 0, i32 1 store i8 %9, i8* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 %13 = bitcast %"result::Result"* %_0 to i16* %14 = load i16, i16* %13, align 1 ret i16 %14 } ; Function Attrs: uwtable define void @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$u8$GT$$u20$for$u20$i32$GT$8try_from17hbc662a75fec50a7aE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i8) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() br label %bb1 bb1: ; preds = %start %3 = sext i32 %2 to i128 %4 = zext i8 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %6 br label %bb4 bb3: ; preds = %bb1 %7 = zext i8 %1 to i32 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %8 %9 = bitcast %"result::Result"* %0 to { i32, i32 }* %10 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %9, i32 0, i32 1 store i32 %7, i32* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define i16 @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$i32$GT$$u20$for$u20$u8$GT$8try_from17h2e92281894639e98E"(i32) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() br label %bb1 bb1: ; preds = %start %2 = zext i8 %1 to i128 %3 = icmp slt i32 %0, 0 br i1 %3, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %4 = sext i32 %0 to i128 %5 = icmp ugt i128 %4, %2 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %8 br label %bb8 bb7: ; preds = %bb5 %9 = trunc i32 %0 to i8 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %10 %11 = bitcast %"result::Result"* %_0 to { i8, i8 }* %12 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %11, i32 0, i32 1 store i8 %9, i8* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 %13 = bitcast %"result::Result"* %_0 to i16* %14 = load i16, i16* %13, align 1 ret i16 %14 } ; Function Attrs: uwtable define void @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$u8$GT$$u20$for$u20$i64$GT$8try_from17hd21ff4955c828a42E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i8) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() br label %bb1 bb1: ; preds = %start %3 = sext i64 %2 to i128 %4 = zext i8 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %6 br label %bb4 bb3: ; preds = %bb1 %7 = zext i8 %1 to i64 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %8 %9 = bitcast %"result::Result"* %0 to { i64, i64 }* %10 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %9, i32 0, i32 1 store i64 %7, i64* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define i16 @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$i64$GT$$u20$for$u20$u8$GT$8try_from17h66dd8907cb74f07dE"(i64) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() br label %bb1 bb1: ; preds = %start %2 = zext i8 %1 to i128 %3 = icmp slt i64 %0, 0 br i1 %3, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %4 = sext i64 %0 to i128 %5 = icmp ugt i128 %4, %2 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %8 br label %bb8 bb7: ; preds = %bb5 %9 = trunc i64 %0 to i8 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %10 %11 = bitcast %"result::Result"* %_0 to { i8, i8 }* %12 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %11, i32 0, i32 1 store i8 %9, i8* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 %13 = bitcast %"result::Result"* %_0 to i16* %14 = load i16, i16* %13, align 1 ret i16 %14 } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u8$GT$$u20$for$u20$i128$GT$8try_from17h0dffb514655ac206E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i8) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() br label %bb1 bb1: ; preds = %start %3 = zext i8 %1 to i128 %4 = icmp ugt i128 %3, %2 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %5 br label %bb4 bb3: ; preds = %bb1 %6 = zext i8 %1 to i128 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %7 %8 = bitcast %"result::Result"* %0 to { i64, i128 }* %9 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %8, i32 0, i32 1 store i128 %6, i128* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define i16 @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i128$GT$$u20$for$u20$u8$GT$8try_from17h0a22129f360f2de7E"(i128) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() br label %bb1 bb1: ; preds = %start %2 = zext i8 %1 to i128 %3 = icmp slt i128 %0, 0 br i1 %3, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %4 = icmp ugt i128 %0, %2 br i1 %4, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %5 = load i8, i8* %_5, !range !2 %6 = trunc i8 %5 to i1 br i1 %6, label %bb6, label %bb7 bb6: ; preds = %bb5 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %7 br label %bb8 bb7: ; preds = %bb5 %8 = trunc i128 %0 to i8 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %9 %10 = bitcast %"result::Result"* %_0 to { i8, i8 }* %11 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %10, i32 0, i32 1 store i8 %8, i8* %11 br label %bb8 bb8: ; preds = %bb7, %bb6 %12 = bitcast %"result::Result"* %_0 to i16* %13 = load i16, i16* %12, align 1 ret i16 %13 } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u8$GT$$u20$for$u20$isize$GT$8try_from17hf179c000087811c7E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = zext i8 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %6 br label %bb4 bb3: ; preds = %bb1 %7 = zext i8 %1 to i16 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %8 %9 = bitcast %"result::Result"* %0 to { i16, i16 }* %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %9, i32 0, i32 1 store i16 %7, i16* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define i16 @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$isize$GT$$u20$for$u20$u8$GT$8try_from17h4ec6b27720925ea0E"(i16) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() br label %bb1 bb1: ; preds = %start %2 = zext i8 %1 to i128 %3 = icmp slt i16 %0, 0 br i1 %3, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %4 = sext i16 %0 to i128 %5 = icmp ugt i128 %4, %2 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %8 br label %bb8 bb7: ; preds = %bb5 %9 = trunc i16 %0 to i8 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %10 %11 = bitcast %"result::Result"* %_0 to { i8, i8 }* %12 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %11, i32 0, i32 1 store i8 %9, i8* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 %13 = bitcast %"result::Result"* %_0 to i16* %14 = load i16, i16* %13, align 1 ret i16 %14 } ; Function Attrs: uwtable define i16 @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$u16$GT$$u20$for$u20$i8$GT$8try_from17h553e520e0e25c96eE"(i16) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() br label %bb1 bb1: ; preds = %start %2 = sext i8 %1 to i128 %3 = zext i16 %0 to i128 %4 = icmp ugt i128 %3, %2 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %5 br label %bb4 bb3: ; preds = %bb1 %6 = trunc i16 %0 to i8 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %7 %8 = bitcast %"result::Result"* %_0 to { i8, i8 }* %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %8, i32 0, i32 1 store i8 %6, i8* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 %10 = bitcast %"result::Result"* %_0 to i16* %11 = load i16, i16* %10, align 1 ret i16 %11 } ; Function Attrs: uwtable define void @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$i8$GT$$u20$for$u20$u16$GT$8try_from17hc29cfc05ebafc2b3E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = icmp slt i8 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i8 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %9 br label %bb8 bb7: ; preds = %bb5 %10 = sext i8 %1 to i16 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %11 %12 = bitcast %"result::Result"* %0 to { i16, i16 }* %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %12, i32 0, i32 1 store i16 %10, i16* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u16$GT$$u20$for$u20$i16$GT$8try_from17h1fa369eb998740b5E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = zext i16 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %6 br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %7 %8 = bitcast %"result::Result"* %0 to { i16, i16 }* %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %8, i32 0, i32 1 store i16 %1, i16* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$u16$GT$8try_from17h3a1cf7aacb20a4e3E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = icmp slt i16 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i16 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %9 br label %bb8 bb7: ; preds = %bb5 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %10 %11 = bitcast %"result::Result"* %0 to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 store i16 %1, i16* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u16$GT$$u20$for$u20$i32$GT$8try_from17h518af1ae0272c643E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i16) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() br label %bb1 bb1: ; preds = %start %3 = sext i32 %2 to i128 %4 = zext i16 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %6 br label %bb4 bb3: ; preds = %bb1 %7 = zext i16 %1 to i32 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %8 %9 = bitcast %"result::Result"* %0 to { i32, i32 }* %10 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %9, i32 0, i32 1 store i32 %7, i32* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i32$GT$$u20$for$u20$u16$GT$8try_from17h678e11841e67d142E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i32) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = icmp slt i32 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i32 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %9 br label %bb8 bb7: ; preds = %bb5 %10 = trunc i32 %1 to i16 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %11 %12 = bitcast %"result::Result"* %0 to { i16, i16 }* %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %12, i32 0, i32 1 store i16 %10, i16* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u16$GT$$u20$for$u20$i64$GT$8try_from17h4a7bd11955eb72f3E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i16) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() br label %bb1 bb1: ; preds = %start %3 = sext i64 %2 to i128 %4 = zext i16 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %6 br label %bb4 bb3: ; preds = %bb1 %7 = zext i16 %1 to i64 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %8 %9 = bitcast %"result::Result"* %0 to { i64, i64 }* %10 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %9, i32 0, i32 1 store i64 %7, i64* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i64$GT$$u20$for$u20$u16$GT$8try_from17he5607f30caad3c95E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i64) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = icmp slt i64 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i64 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %9 br label %bb8 bb7: ; preds = %bb5 %10 = trunc i64 %1 to i16 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %11 %12 = bitcast %"result::Result"* %0 to { i16, i16 }* %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %12, i32 0, i32 1 store i16 %10, i16* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u16$GT$$u20$for$u20$i128$GT$8try_from17hcfd8ed67a84b616dE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i16) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %1 to i128 %4 = icmp ugt i128 %3, %2 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %5 br label %bb4 bb3: ; preds = %bb1 %6 = zext i16 %1 to i128 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %7 %8 = bitcast %"result::Result"* %0 to { i64, i128 }* %9 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %8, i32 0, i32 1 store i128 %6, i128* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i128$GT$$u20$for$u20$u16$GT$8try_from17h7f312b2e8081f929E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i128) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = icmp slt i128 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = icmp ugt i128 %1, %3 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %8 br label %bb8 bb7: ; preds = %bb5 %9 = trunc i128 %1 to i16 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %10 %11 = bitcast %"result::Result"* %0 to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 store i16 %9, i16* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$u16$GT$$u20$for$u20$isize$GT$8try_from17he0ae9b3d3922bd94E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = zext i16 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %6 br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %7 %8 = bitcast %"result::Result"* %0 to { i16, i16 }* %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %8, i32 0, i32 1 store i16 %1, i16* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$isize$GT$$u20$for$u20$u16$GT$8try_from17h92ee6695fbcfef0cE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = icmp slt i16 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i16 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %9 br label %bb8 bb7: ; preds = %bb5 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %10 %11 = bitcast %"result::Result"* %0 to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 store i16 %1, i16* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define i16 @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$u32$GT$$u20$for$u20$i8$GT$8try_from17h3242cc365ba0bd66E"(i32) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() br label %bb1 bb1: ; preds = %start %2 = sext i8 %1 to i128 %3 = zext i32 %0 to i128 %4 = icmp ugt i128 %3, %2 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %5 br label %bb4 bb3: ; preds = %bb1 %6 = trunc i32 %0 to i8 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %7 %8 = bitcast %"result::Result"* %_0 to { i8, i8 }* %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %8, i32 0, i32 1 store i8 %6, i8* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 %10 = bitcast %"result::Result"* %_0 to i16* %11 = load i16, i16* %10, align 1 ret i16 %11 } ; Function Attrs: uwtable define void @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$i8$GT$$u20$for$u20$u32$GT$8try_from17hc8c8e5f4b2ea9e30E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i8) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i128 %4 = icmp slt i8 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i8 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %9 br label %bb8 bb7: ; preds = %bb5 %10 = sext i8 %1 to i32 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %11 %12 = bitcast %"result::Result"* %0 to { i32, i32 }* %13 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %12, i32 0, i32 1 store i32 %10, i32* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u32$GT$$u20$for$u20$i16$GT$8try_from17h8d62d605ba42c2b1E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i32) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = zext i32 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %6 br label %bb4 bb3: ; preds = %bb1 %7 = trunc i32 %1 to i16 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %8 %9 = bitcast %"result::Result"* %0 to { i16, i16 }* %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %9, i32 0, i32 1 store i16 %7, i16* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$u32$GT$8try_from17hc6cf9a53568a47bbE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i16) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i128 %4 = icmp slt i16 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i16 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %9 br label %bb8 bb7: ; preds = %bb5 %10 = sext i16 %1 to i32 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %11 %12 = bitcast %"result::Result"* %0 to { i32, i32 }* %13 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %12, i32 0, i32 1 store i32 %10, i32* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u32$GT$$u20$for$u20$i32$GT$8try_from17hc2bf7b01d6744cadE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i32) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() br label %bb1 bb1: ; preds = %start %3 = sext i32 %2 to i128 %4 = zext i32 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %6 br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %7 %8 = bitcast %"result::Result"* %0 to { i32, i32 }* %9 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %8, i32 0, i32 1 store i32 %1, i32* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i32$GT$$u20$for$u20$u32$GT$8try_from17hd187d1c624d70561E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i32) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i128 %4 = icmp slt i32 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i32 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %9 br label %bb8 bb7: ; preds = %bb5 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %10 %11 = bitcast %"result::Result"* %0 to { i32, i32 }* %12 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %11, i32 0, i32 1 store i32 %1, i32* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u32$GT$$u20$for$u20$i64$GT$8try_from17hf168b572e3d80cd5E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i32) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() br label %bb1 bb1: ; preds = %start %3 = sext i64 %2 to i128 %4 = zext i32 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %6 br label %bb4 bb3: ; preds = %bb1 %7 = zext i32 %1 to i64 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %8 %9 = bitcast %"result::Result"* %0 to { i64, i64 }* %10 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %9, i32 0, i32 1 store i64 %7, i64* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i64$GT$$u20$for$u20$u32$GT$8try_from17h8af977861d7932b4E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i64) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i128 %4 = icmp slt i64 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i64 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %9 br label %bb8 bb7: ; preds = %bb5 %10 = trunc i64 %1 to i32 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %11 %12 = bitcast %"result::Result"* %0 to { i32, i32 }* %13 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %12, i32 0, i32 1 store i32 %10, i32* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u32$GT$$u20$for$u20$i128$GT$8try_from17h7d972959582540c2E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i32) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %1 to i128 %4 = icmp ugt i128 %3, %2 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %5 br label %bb4 bb3: ; preds = %bb1 %6 = zext i32 %1 to i128 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %7 %8 = bitcast %"result::Result"* %0 to { i64, i128 }* %9 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %8, i32 0, i32 1 store i128 %6, i128* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i128$GT$$u20$for$u20$u32$GT$8try_from17hcdb3fed4fd10aa7fE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i128) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i128 %4 = icmp slt i128 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = icmp ugt i128 %1, %3 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %8 br label %bb8 bb7: ; preds = %bb5 %9 = trunc i128 %1 to i32 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %10 %11 = bitcast %"result::Result"* %0 to { i32, i32 }* %12 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %11, i32 0, i32 1 store i32 %9, i32* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$u32$GT$$u20$for$u20$isize$GT$8try_from17h3701fab51d3ba140E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i32) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = zext i32 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %6 br label %bb4 bb3: ; preds = %bb1 %7 = trunc i32 %1 to i16 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %8 %9 = bitcast %"result::Result"* %0 to { i16, i16 }* %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %9, i32 0, i32 1 store i16 %7, i16* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$isize$GT$$u20$for$u20$u32$GT$8try_from17hc8267f58d32ea50dE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i16) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() br label %bb1 bb1: ; preds = %start %3 = zext i32 %2 to i128 %4 = icmp slt i16 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i16 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %9 br label %bb8 bb7: ; preds = %bb5 %10 = sext i16 %1 to i32 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %11 %12 = bitcast %"result::Result"* %0 to { i32, i32 }* %13 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %12, i32 0, i32 1 store i32 %10, i32* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define i16 @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$u64$GT$$u20$for$u20$i8$GT$8try_from17h529b9e59bc372af2E"(i64) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() br label %bb1 bb1: ; preds = %start %2 = sext i8 %1 to i128 %3 = zext i64 %0 to i128 %4 = icmp ugt i128 %3, %2 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %5 br label %bb4 bb3: ; preds = %bb1 %6 = trunc i64 %0 to i8 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %7 %8 = bitcast %"result::Result"* %_0 to { i8, i8 }* %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %8, i32 0, i32 1 store i8 %6, i8* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 %10 = bitcast %"result::Result"* %_0 to i16* %11 = load i16, i16* %10, align 1 ret i16 %11 } ; Function Attrs: uwtable define void @"_ZN4core3num66_$LT$impl$u20$core..convert..TryFrom$LT$i8$GT$$u20$for$u20$u64$GT$8try_from17hbec19e248f0978c6E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i8) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %2 to i128 %4 = icmp slt i8 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i8 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %9 br label %bb8 bb7: ; preds = %bb5 %10 = sext i8 %1 to i64 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %11 %12 = bitcast %"result::Result"* %0 to { i64, i64 }* %13 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %12, i32 0, i32 1 store i64 %10, i64* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u64$GT$$u20$for$u20$i16$GT$8try_from17h3c0bd584f9e6d8f1E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i64) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = zext i64 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %6 br label %bb4 bb3: ; preds = %bb1 %7 = trunc i64 %1 to i16 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %8 %9 = bitcast %"result::Result"* %0 to { i16, i16 }* %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %9, i32 0, i32 1 store i16 %7, i16* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$u64$GT$8try_from17h987581a17086096aE"(%"result::Result"* noalias nocapture sret dereferenceable(16), i16) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %2 to i128 %4 = icmp slt i16 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i16 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %9 br label %bb8 bb7: ; preds = %bb5 %10 = sext i16 %1 to i64 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %11 %12 = bitcast %"result::Result"* %0 to { i64, i64 }* %13 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %12, i32 0, i32 1 store i64 %10, i64* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u64$GT$$u20$for$u20$i32$GT$8try_from17h3e6d5a65553be2cdE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i64) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() br label %bb1 bb1: ; preds = %start %3 = sext i32 %2 to i128 %4 = zext i64 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %6 br label %bb4 bb3: ; preds = %bb1 %7 = trunc i64 %1 to i32 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %8 %9 = bitcast %"result::Result"* %0 to { i32, i32 }* %10 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %9, i32 0, i32 1 store i32 %7, i32* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i32$GT$$u20$for$u20$u64$GT$8try_from17ha514f2841cb06d45E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i32) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %2 to i128 %4 = icmp slt i32 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i32 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %9 br label %bb8 bb7: ; preds = %bb5 %10 = sext i32 %1 to i64 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %11 %12 = bitcast %"result::Result"* %0 to { i64, i64 }* %13 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %12, i32 0, i32 1 store i64 %10, i64* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u64$GT$$u20$for$u20$i64$GT$8try_from17hb7073320d8f29afeE"(%"result::Result"* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() br label %bb1 bb1: ; preds = %start %3 = sext i64 %2 to i128 %4 = zext i64 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %6 br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %7 %8 = bitcast %"result::Result"* %0 to { i64, i64 }* %9 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %8, i32 0, i32 1 store i64 %1, i64* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i64$GT$$u20$for$u20$u64$GT$8try_from17h49b7483e08ca5c3bE"(%"result::Result"* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %2 to i128 %4 = icmp slt i64 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i64 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %9 br label %bb8 bb7: ; preds = %bb5 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %10 %11 = bitcast %"result::Result"* %0 to { i64, i64 }* %12 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %11, i32 0, i32 1 store i64 %1, i64* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u64$GT$$u20$for$u20$i128$GT$8try_from17h687f14c2b1da5808E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i64) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %1 to i128 %4 = icmp ugt i128 %3, %2 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %5 br label %bb4 bb3: ; preds = %bb1 %6 = zext i64 %1 to i128 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %7 %8 = bitcast %"result::Result"* %0 to { i64, i128 }* %9 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %8, i32 0, i32 1 store i128 %6, i128* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i128$GT$$u20$for$u20$u64$GT$8try_from17he11f15b734622c90E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i128) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %2 to i128 %4 = icmp slt i128 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = icmp ugt i128 %1, %3 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %8 br label %bb8 bb7: ; preds = %bb5 %9 = trunc i128 %1 to i64 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %10 %11 = bitcast %"result::Result"* %0 to { i64, i64 }* %12 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %11, i32 0, i32 1 store i64 %9, i64* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$u64$GT$$u20$for$u20$isize$GT$8try_from17hf585dcd3921f857cE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i64) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = zext i64 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %6 br label %bb4 bb3: ; preds = %bb1 %7 = trunc i64 %1 to i16 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %8 %9 = bitcast %"result::Result"* %0 to { i16, i16 }* %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %9, i32 0, i32 1 store i16 %7, i16* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$isize$GT$$u20$for$u20$u64$GT$8try_from17hb306408e45fd966bE"(%"result::Result"* noalias nocapture sret dereferenceable(16), i16) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() br label %bb1 bb1: ; preds = %start %3 = zext i64 %2 to i128 %4 = icmp slt i16 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i16 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %9 br label %bb8 bb7: ; preds = %bb5 %10 = sext i16 %1 to i64 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %11 %12 = bitcast %"result::Result"* %0 to { i64, i64 }* %13 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %12, i32 0, i32 1 store i64 %10, i64* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define i16 @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$u128$GT$$u20$for$u20$i8$GT$8try_from17h8377b8c8730ce175E"(i128) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() br label %bb1 bb1: ; preds = %start %2 = sext i8 %1 to i128 %3 = icmp ugt i128 %0, %2 br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 %4 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %4 br label %bb4 bb3: ; preds = %bb1 %5 = trunc i128 %0 to i8 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %6 %7 = bitcast %"result::Result"* %_0 to { i8, i8 }* %8 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %7, i32 0, i32 1 store i8 %5, i8* %8 br label %bb4 bb4: ; preds = %bb3, %bb2 %9 = bitcast %"result::Result"* %_0 to i16* %10 = load i16, i16* %9, align 1 ret i16 %10 } ; Function Attrs: uwtable define void @"_ZN4core3num67_$LT$impl$u20$core..convert..TryFrom$LT$i8$GT$$u20$for$u20$u128$GT$8try_from17h5cb94bc13240cadbE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i8) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() br label %bb1 bb1: ; preds = %start %3 = icmp slt i8 %1, 0 br i1 %3, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %4 = sext i8 %1 to i128 %5 = icmp ugt i128 %4, %2 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %8 br label %bb8 bb7: ; preds = %bb5 %9 = sext i8 %1 to i128 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %10 %11 = bitcast %"result::Result"* %0 to { i64, i128 }* %12 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %11, i32 0, i32 1 store i128 %9, i128* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u128$GT$$u20$for$u20$i16$GT$8try_from17hc9b4763c313686bdE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i128) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = icmp ugt i128 %1, %3 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %5 br label %bb4 bb3: ; preds = %bb1 %6 = trunc i128 %1 to i16 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %7 %8 = bitcast %"result::Result"* %0 to { i16, i16 }* %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %8, i32 0, i32 1 store i16 %6, i16* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$u128$GT$8try_from17hd059348755674728E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i16) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() br label %bb1 bb1: ; preds = %start %3 = icmp slt i16 %1, 0 br i1 %3, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %4 = sext i16 %1 to i128 %5 = icmp ugt i128 %4, %2 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %8 br label %bb8 bb7: ; preds = %bb5 %9 = sext i16 %1 to i128 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %10 %11 = bitcast %"result::Result"* %0 to { i64, i128 }* %12 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %11, i32 0, i32 1 store i128 %9, i128* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u128$GT$$u20$for$u20$i32$GT$8try_from17hb49d3681a1e89105E"(%"result::Result"* noalias nocapture sret dereferenceable(8), i128) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() br label %bb1 bb1: ; preds = %start %3 = sext i32 %2 to i128 %4 = icmp ugt i128 %1, %3 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %5 br label %bb4 bb3: ; preds = %bb1 %6 = trunc i128 %1 to i32 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %7 %8 = bitcast %"result::Result"* %0 to { i32, i32 }* %9 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %8, i32 0, i32 1 store i32 %6, i32* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i32$GT$$u20$for$u20$u128$GT$8try_from17h2c4a74f90a9fd818E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i32) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() br label %bb1 bb1: ; preds = %start %3 = icmp slt i32 %1, 0 br i1 %3, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %4 = sext i32 %1 to i128 %5 = icmp ugt i128 %4, %2 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %8 br label %bb8 bb7: ; preds = %bb5 %9 = sext i32 %1 to i128 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %10 %11 = bitcast %"result::Result"* %0 to { i64, i128 }* %12 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %11, i32 0, i32 1 store i128 %9, i128* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$u128$GT$$u20$for$u20$i64$GT$8try_from17h1d06b2947bfe4a95E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i128) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() br label %bb1 bb1: ; preds = %start %3 = sext i64 %2 to i128 %4 = icmp ugt i128 %1, %3 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %5 br label %bb4 bb3: ; preds = %bb1 %6 = trunc i128 %1 to i64 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %7 %8 = bitcast %"result::Result"* %0 to { i64, i64 }* %9 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %8, i32 0, i32 1 store i64 %6, i64* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i64$GT$$u20$for$u20$u128$GT$8try_from17h5cde992151a12a85E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i64) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() br label %bb1 bb1: ; preds = %start %3 = icmp slt i64 %1, 0 br i1 %3, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %4 = sext i64 %1 to i128 %5 = icmp ugt i128 %4, %2 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %8 br label %bb8 bb7: ; preds = %bb5 %9 = sext i64 %1 to i128 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %10 %11 = bitcast %"result::Result"* %0 to { i64, i128 }* %12 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %11, i32 0, i32 1 store i128 %9, i128* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$u128$GT$$u20$for$u20$i128$GT$8try_from17h017ea02ff0252711E"(%"result::Result"* noalias nocapture sret dereferenceable(24), i128) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() br label %bb1 bb1: ; preds = %start %3 = icmp ugt i128 %1, %2 br i1 %3, label %bb2, label %bb3 bb2: ; preds = %bb1 %4 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %4 br label %bb4 bb3: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %5 %6 = bitcast %"result::Result"* %0 to { i64, i128 }* %7 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %6, i32 0, i32 1 store i128 %1, i128* %7 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$i128$GT$$u20$for$u20$u128$GT$8try_from17h9d2cfeb5bf02f73eE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i128) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() br label %bb1 bb1: ; preds = %start %3 = icmp slt i128 %1, 0 br i1 %3, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %4 = icmp ugt i128 %1, %2 br i1 %4, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %5 = load i8, i8* %_5, !range !2 %6 = trunc i8 %5 to i1 br i1 %6, label %bb6, label %bb7 bb6: ; preds = %bb5 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %7 br label %bb8 bb7: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %8 %9 = bitcast %"result::Result"* %0 to { i64, i128 }* %10 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %9, i32 0, i32 1 store i128 %1, i128* %10 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num70_$LT$impl$u20$core..convert..TryFrom$LT$u128$GT$$u20$for$u20$isize$GT$8try_from17h1596e24533504d10E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i128) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = icmp ugt i128 %1, %3 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %5 br label %bb4 bb3: ; preds = %bb1 %6 = trunc i128 %1 to i16 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %7 %8 = bitcast %"result::Result"* %0 to { i16, i16 }* %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %8, i32 0, i32 1 store i16 %6, i16* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num70_$LT$impl$u20$core..convert..TryFrom$LT$isize$GT$$u20$for$u20$u128$GT$8try_from17h99d03c089e2990afE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i16) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() br label %bb1 bb1: ; preds = %start %3 = icmp slt i16 %1, 0 br i1 %3, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %4 = sext i16 %1 to i128 %5 = icmp ugt i128 %4, %2 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %8 br label %bb8 bb7: ; preds = %bb5 %9 = sext i16 %1 to i128 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %10 %11 = bitcast %"result::Result"* %0 to { i64, i128 }* %12 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %11, i32 0, i32 1 store i128 %9, i128* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define i16 @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$usize$GT$$u20$for$u20$i8$GT$8try_from17h2948300daa1be67aE"(i16) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" %_0 = alloca %"result::Result" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() br label %bb1 bb1: ; preds = %start %2 = sext i8 %1 to i128 %3 = zext i16 %0 to i128 %4 = icmp ugt i128 %3, %2 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 1, i8* %5 br label %bb4 bb3: ; preds = %bb1 %6 = trunc i16 %0 to i8 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %_0, i32 0, i32 0 store i8 0, i8* %7 %8 = bitcast %"result::Result"* %_0 to { i8, i8 }* %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %8, i32 0, i32 1 store i8 %6, i8* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 %10 = bitcast %"result::Result"* %_0 to i16* %11 = load i16, i16* %10, align 1 ret i16 %11 } ; Function Attrs: uwtable define void @"_ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i8$GT$$u20$for$u20$usize$GT$8try_from17h391e01338fe2f469E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i8) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = icmp slt i8 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i8 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %9 br label %bb8 bb7: ; preds = %bb5 %10 = sext i8 %1 to i16 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %11 %12 = bitcast %"result::Result"* %0 to { i16, i16 }* %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %12, i32 0, i32 1 store i16 %10, i16* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$usize$GT$$u20$for$u20$i16$GT$8try_from17he198a1dda01c4cc7E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = zext i16 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %6 br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %7 %8 = bitcast %"result::Result"* %0 to { i16, i16 }* %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %8, i32 0, i32 1 store i16 %1, i16* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$usize$GT$8try_from17h38b7e5e53df7358cE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = icmp slt i16 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i16 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %9 br label %bb8 bb7: ; preds = %bb5 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %10 %11 = bitcast %"result::Result"* %0 to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 store i16 %1, i16* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$usize$GT$$u20$for$u20$i32$GT$8try_from17h658bfa286feef2bcE"(%"result::Result"* noalias nocapture sret dereferenceable(8), i16) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() br label %bb1 bb1: ; preds = %start %3 = sext i32 %2 to i128 %4 = zext i16 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 1, i32* %6 br label %bb4 bb3: ; preds = %bb1 %7 = zext i16 %1 to i32 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i32 0, i32* %8 %9 = bitcast %"result::Result"* %0 to { i32, i32 }* %10 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %9, i32 0, i32 1 store i32 %7, i32* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$i32$GT$$u20$for$u20$usize$GT$8try_from17h7618a28947e32af2E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i32) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = icmp slt i32 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i32 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %9 br label %bb8 bb7: ; preds = %bb5 %10 = trunc i32 %1 to i16 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %11 %12 = bitcast %"result::Result"* %0 to { i16, i16 }* %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %12, i32 0, i32 1 store i16 %10, i16* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$usize$GT$$u20$for$u20$i64$GT$8try_from17h3772084799f820b7E"(%"result::Result"* noalias nocapture sret dereferenceable(16), i16) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() br label %bb1 bb1: ; preds = %start %3 = sext i64 %2 to i128 %4 = zext i16 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %6 br label %bb4 bb3: ; preds = %bb1 %7 = zext i16 %1 to i64 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %8 %9 = bitcast %"result::Result"* %0 to { i64, i64 }* %10 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %9, i32 0, i32 1 store i64 %7, i64* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num69_$LT$impl$u20$core..convert..TryFrom$LT$i64$GT$$u20$for$u20$usize$GT$8try_from17h1b046c63959c814eE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i64) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = icmp slt i64 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i64 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %9 br label %bb8 bb7: ; preds = %bb5 %10 = trunc i64 %1 to i16 %11 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %11 %12 = bitcast %"result::Result"* %0 to { i16, i16 }* %13 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %12, i32 0, i32 1 store i16 %10, i16* %13 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num70_$LT$impl$u20$core..convert..TryFrom$LT$usize$GT$$u20$for$u20$i128$GT$8try_from17hefbeab366e9c69ccE"(%"result::Result"* noalias nocapture sret dereferenceable(24), i16) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %1 to i128 %4 = icmp ugt i128 %3, %2 br i1 %4, label %bb2, label %bb3 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 1, i64* %5 br label %bb4 bb3: ; preds = %bb1 %6 = zext i16 %1 to i128 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i64 0, i64* %7 %8 = bitcast %"result::Result"* %0 to { i64, i128 }* %9 = getelementptr inbounds { i64, i128 }, { i64, i128 }* %8, i32 0, i32 1 store i128 %6, i128* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num70_$LT$impl$u20$core..convert..TryFrom$LT$i128$GT$$u20$for$u20$usize$GT$8try_from17h4c0faf1d01889e62E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i128) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = icmp slt i128 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = icmp ugt i128 %1, %3 br i1 %5, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %6 = load i8, i8* %_5, !range !2 %7 = trunc i8 %6 to i1 br i1 %7, label %bb6, label %bb7 bb6: ; preds = %bb5 %8 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %8 br label %bb8 bb7: ; preds = %bb5 %9 = trunc i128 %1 to i16 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %10 %11 = bitcast %"result::Result"* %0 to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 store i16 %9, i16* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num71_$LT$impl$u20$core..convert..TryFrom$LT$usize$GT$$u20$for$u20$isize$GT$8try_from17h0fa286f7ebabedb2E"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_10 = alloca {} %_9 = alloca %"num::TryFromIntError" br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() br label %bb1 bb1: ; preds = %start %3 = sext i16 %2 to i128 %4 = zext i16 %1 to i128 %5 = icmp ugt i128 %4, %3 br i1 %5, label %bb2, label %bb3 bb2: ; preds = %bb1 %6 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %6 br label %bb4 bb3: ; preds = %bb1 %7 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %7 %8 = bitcast %"result::Result"* %0 to { i16, i16 }* %9 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %8, i32 0, i32 1 store i16 %1, i16* %9 br label %bb4 bb4: ; preds = %bb3, %bb2 ret void } ; Function Attrs: uwtable define void @"_ZN4core3num71_$LT$impl$u20$core..convert..TryFrom$LT$isize$GT$$u20$for$u20$usize$GT$8try_from17hd74bd9e305af714aE"(%"result::Result"* noalias nocapture sret dereferenceable(4), i16) unnamed_addr #1 { entry-block: %_13 = alloca {} %_12 = alloca %"num::TryFromIntError" %_5 = alloca i8 br label %start start: ; preds = %entry-block %2 = call i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() br label %bb1 bb1: ; preds = %start %3 = zext i16 %2 to i128 %4 = icmp slt i16 %1, 0 br i1 %4, label %bb2, label %bb4 bb2: ; preds = %bb4, %bb1 store i8 1, i8* %_5 br label %bb5 bb3: ; preds = %bb4 store i8 0, i8* %_5 br label %bb5 bb4: ; preds = %bb1 %5 = sext i16 %1 to i128 %6 = icmp ugt i128 %5, %3 br i1 %6, label %bb2, label %bb3 bb5: ; preds = %bb3, %bb2 %7 = load i8, i8* %_5, !range !2 %8 = trunc i8 %7 to i1 br i1 %8, label %bb6, label %bb7 bb6: ; preds = %bb5 %9 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 1, i16* %9 br label %bb8 bb7: ; preds = %bb5 %10 = getelementptr inbounds %"result::Result", %"result::Result"* %0, i32 0, i32 0 store i16 0, i16* %10 %11 = bitcast %"result::Result"* %0 to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 store i16 %1, i16* %12 br label %bb8 bb8: ; preds = %bb7, %bb6 ret void } ; Function Attrs: uwtable define i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hb0a12710150a6ddcE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN4core3num20_$LT$impl$u20$i8$GT$9min_value17h35677f9792deffcdE"() br label %bb1 bb1: ; preds = %start ret i8 %0 } ; Function Attrs: uwtable define i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hdd369e6ce4653c4aE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN4core3num20_$LT$impl$u20$i8$GT$9max_value17h061c8773b610c477E"() br label %bb1 bb1: ; preds = %start ret i8 %0 } ; Function Attrs: uwtable define i8 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h74ca5f64f435b5b3E"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = trunc i32 %0 to i8 ret i8 %1 } ; Function Attrs: uwtable define i16 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17hb3f943cdd086926fE"(i8* noalias readonly dereferenceable(1), i32) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = trunc i32 %1 to i8 %4 = call i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$11checked_mul17h8f00f075589dc3cbE"(i8 %2, i8 %3) store i16 %4, i16* %abi_cast %5 = bitcast %"option::Option"* %_0 to i8* %6 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %6, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %7 = bitcast %"option::Option"* %_0 to i16* %8 = load i16, i16* %7, align 1 ret i16 %8 } ; Function Attrs: uwtable define i16 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h3c79d68d2b651144E"(i8* noalias readonly dereferenceable(1), i32) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = trunc i32 %1 to i8 %4 = call i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$11checked_sub17hef86c688d4bf091dE"(i8 %2, i8 %3) store i16 %4, i16* %abi_cast %5 = bitcast %"option::Option"* %_0 to i8* %6 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %6, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %7 = bitcast %"option::Option"* %_0 to i16* %8 = load i16, i16* %7, align 1 ret i16 %8 } ; Function Attrs: uwtable define i16 @"_ZN52_$LT$i8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17haad793ecc994a668E"(i8* noalias readonly dereferenceable(1), i32) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = trunc i32 %1 to i8 %4 = call i16 @"_ZN4core3num20_$LT$impl$u20$i8$GT$11checked_add17ha1d07bd00cdd6d7eE"(i8 %2, i8 %3) store i16 %4, i16* %abi_cast %5 = bitcast %"option::Option"* %_0 to i8* %6 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %6, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %7 = bitcast %"option::Option"* %_0 to i16* %8 = load i16, i16* %7, align 1 ret i16 %8 } ; Function Attrs: uwtable define i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h454b8a7de5cf4afbE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN4core3num21_$LT$impl$u20$i16$GT$9min_value17h25a87c07acaccd6aE"() br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: uwtable define i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6c41475616dccdf3E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN4core3num21_$LT$impl$u20$i16$GT$9max_value17ha2495f4731012aaaE"() br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: uwtable define i16 @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h3736fd4080c8c2bdE"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = trunc i32 %0 to i16 ret i16 %1 } ; Function Attrs: uwtable define void @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h1f08b38633848ab0E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i16, i16* %1 %4 = trunc i32 %2 to i16 call void @"_ZN4core3num21_$LT$impl$u20$i16$GT$11checked_mul17h3a751b7dd41ced51E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h7426de9ccdaa3d08E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i16, i16* %1 %4 = trunc i32 %2 to i16 call void @"_ZN4core3num21_$LT$impl$u20$i16$GT$11checked_sub17h05401c223f58acd6E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN53_$LT$i16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17hc3674a9f37de854cE"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i16, i16* %1 %4 = trunc i32 %2 to i16 call void @"_ZN4core3num21_$LT$impl$u20$i16$GT$11checked_add17h560032d496adcb16E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h8e5eb5b55a8f1814E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i32 @"_ZN4core3num21_$LT$impl$u20$i32$GT$9min_value17h7f6856b8be16a32cE"() br label %bb1 bb1: ; preds = %start ret i32 %0 } ; Function Attrs: uwtable define i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h6acdac59919d6846E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i32 @"_ZN4core3num21_$LT$impl$u20$i32$GT$9max_value17h17c3d4f093c6356fE"() br label %bb1 bb1: ; preds = %start ret i32 %0 } ; Function Attrs: uwtable define i32 @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h075e87f5e401ddd5E"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i32 %0 } ; Function Attrs: uwtable define void @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17hb6b3306c4fee3ff9E"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32* noalias readonly dereferenceable(4), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i32, i32* %1 call void @"_ZN4core3num21_$LT$impl$u20$i32$GT$11checked_mul17h3b3f138af3f48077E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, i32 %3, i32 %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17hde9c8d993080df30E"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32* noalias readonly dereferenceable(4), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i32, i32* %1 call void @"_ZN4core3num21_$LT$impl$u20$i32$GT$11checked_sub17hcea9cccae5574dbfE"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, i32 %3, i32 %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN53_$LT$i32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17he6ac513812d2081eE"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32* noalias readonly dereferenceable(4), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i32, i32* %1 call void @"_ZN4core3num21_$LT$impl$u20$i32$GT$11checked_add17he1c77bbadd8e239aE"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, i32 %3, i32 %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h3d0c8ae03dc37fa8E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$9min_value17ha1b7ea8c2fd64ec5E"() br label %bb1 bb1: ; preds = %start ret i64 %0 } ; Function Attrs: uwtable define i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h433385931c79aefcE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i64 @"_ZN4core3num21_$LT$impl$u20$i64$GT$9max_value17h168aede93a30ace9E"() br label %bb1 bb1: ; preds = %start ret i64 %0 } ; Function Attrs: uwtable define i64 @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217hbe20698bf8dcd48dE"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i32 %0 to i64 ret i64 %1 } ; Function Attrs: uwtable define void @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h55c5ca739f63ba7eE"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64* noalias readonly dereferenceable(8), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i64, i64* %1 %4 = zext i32 %2 to i64 call void @"_ZN4core3num21_$LT$impl$u20$i64$GT$11checked_mul17hf24669eff249a113E"(%"option::Option"* noalias nocapture sret dereferenceable(16) %0, i64 %3, i64 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h893675b26b0dc02cE"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64* noalias readonly dereferenceable(8), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i64, i64* %1 %4 = zext i32 %2 to i64 call void @"_ZN4core3num21_$LT$impl$u20$i64$GT$11checked_sub17hab6a2ecfc1b2307cE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %0, i64 %3, i64 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN53_$LT$i64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17h2b684f96d87a7c33E"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64* noalias readonly dereferenceable(8), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i64, i64* %1 %4 = zext i32 %2 to i64 call void @"_ZN4core3num21_$LT$impl$u20$i64$GT$11checked_add17h83dec13e5a747afcE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %0, i64 %3, i64 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hced87ab2ef9c4976E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i128 @"_ZN4core3num22_$LT$impl$u20$i128$GT$9min_value17h126c73e8d3fd1431E"() br label %bb1 bb1: ; preds = %start ret i128 %0 } ; Function Attrs: uwtable define i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h76e8642eac8abe8dE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i128 @"_ZN4core3num22_$LT$impl$u20$i128$GT$9max_value17hc4871c436a43d315E"() br label %bb1 bb1: ; preds = %start ret i128 %0 } ; Function Attrs: uwtable define i128 @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217hc6933b3e63cae385E"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i32 %0 to i128 ret i128 %1 } ; Function Attrs: uwtable define void @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h7c2cb71c21961c40E"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128* noalias readonly dereferenceable(16), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i128, i128* %1 %4 = zext i32 %2 to i128 call void @"_ZN4core3num22_$LT$impl$u20$i128$GT$11checked_mul17h7af2901bfa7c225dE"(%"option::Option"* noalias nocapture sret dereferenceable(24) %0, i128 %3, i128 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17hdc32ebc686ef9c35E"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128* noalias readonly dereferenceable(16), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i128, i128* %1 %4 = zext i32 %2 to i128 call void @"_ZN4core3num22_$LT$impl$u20$i128$GT$11checked_sub17h475bc3687092e8ebE"(%"option::Option"* noalias nocapture sret dereferenceable(24) %0, i128 %3, i128 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN54_$LT$i128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17hc81c223e6cf6653eE"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128* noalias readonly dereferenceable(16), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i128, i128* %1 %4 = zext i32 %2 to i128 call void @"_ZN4core3num22_$LT$impl$u20$i128$GT$11checked_add17h287c58c2e67a3014E"(%"option::Option"* noalias nocapture sret dereferenceable(24) %0, i128 %3, i128 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h42fa1fc2a9c42b0aE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN4core3num23_$LT$impl$u20$isize$GT$9min_value17hbf9492a2cdd2b229E"() br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: uwtable define i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hbf8e93956a8b288bE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN4core3num23_$LT$impl$u20$isize$GT$9max_value17he8af097bf37d1b25E"() br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: uwtable define i16 @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h0206f1cb8ec6f228E"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = trunc i32 %0 to i16 ret i16 %1 } ; Function Attrs: uwtable define void @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17hc2b125233456e0e4E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i16, i16* %1 %4 = trunc i32 %2 to i16 call void @"_ZN4core3num23_$LT$impl$u20$isize$GT$11checked_mul17h485403a5aaf45539E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h125aa7b98e5914e0E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i16, i16* %1 %4 = trunc i32 %2 to i16 call void @"_ZN4core3num23_$LT$impl$u20$isize$GT$11checked_sub17h4a6b6cfe8060ed7fE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN55_$LT$isize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17h67fc2c3af0f94793E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i16, i16* %1 %4 = trunc i32 %2 to i16 call void @"_ZN4core3num23_$LT$impl$u20$isize$GT$11checked_add17hfa3c0e78de4e6dbeE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h92c89adf322b9265E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN4core3num20_$LT$impl$u20$u8$GT$9min_value17h87042d50b3c56980E"() br label %bb1 bb1: ; preds = %start ret i8 %0 } ; Function Attrs: uwtable define i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h85139e2f342bb88aE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN4core3num20_$LT$impl$u20$u8$GT$9max_value17h17657fe6bca9c4acE"() br label %bb1 bb1: ; preds = %start ret i8 %0 } ; Function Attrs: uwtable define i8 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h3dfed7e80a71c197E"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = trunc i32 %0 to i8 ret i8 %1 } ; Function Attrs: uwtable define i16 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h74154677c8e611e6E"(i8* noalias readonly dereferenceable(1), i32) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = trunc i32 %1 to i8 %4 = call i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$11checked_mul17he4ab06a00d5c7248E"(i8 %2, i8 %3) store i16 %4, i16* %abi_cast %5 = bitcast %"option::Option"* %_0 to i8* %6 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %6, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %7 = bitcast %"option::Option"* %_0 to i16* %8 = load i16, i16* %7, align 1 ret i16 %8 } ; Function Attrs: uwtable define i16 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17hcb3f21da9b01ba43E"(i8* noalias readonly dereferenceable(1), i32) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = trunc i32 %1 to i8 %4 = call i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$11checked_sub17h0b712ced00636b62E"(i8 %2, i8 %3) store i16 %4, i16* %abi_cast %5 = bitcast %"option::Option"* %_0 to i8* %6 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %6, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %7 = bitcast %"option::Option"* %_0 to i16* %8 = load i16, i16* %7, align 1 ret i16 %8 } ; Function Attrs: uwtable define i16 @"_ZN52_$LT$u8$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17h89310144e26c12b5E"(i8* noalias readonly dereferenceable(1), i32) unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = trunc i32 %1 to i8 %4 = call i16 @"_ZN4core3num20_$LT$impl$u20$u8$GT$11checked_add17h22e84cbeb9a2a419E"(i8 %2, i8 %3) store i16 %4, i16* %abi_cast %5 = bitcast %"option::Option"* %_0 to i8* %6 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %6, i16 2, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %7 = bitcast %"option::Option"* %_0 to i16* %8 = load i16, i16* %7, align 1 ret i16 %8 } ; Function Attrs: uwtable define i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h923d82468f194beeE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN4core3num21_$LT$impl$u20$u16$GT$9min_value17hbe16fa38678f7f82E"() br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: uwtable define i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h23a3600b1685ca75E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN4core3num21_$LT$impl$u20$u16$GT$9max_value17h0645c04af7446b8bE"() br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: uwtable define i16 @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h481a67d8cade2978E"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = trunc i32 %0 to i16 ret i16 %1 } ; Function Attrs: uwtable define void @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h54861e2fd0b8fa55E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i16, i16* %1 %4 = trunc i32 %2 to i16 call void @"_ZN4core3num21_$LT$impl$u20$u16$GT$11checked_mul17h64f546e255fbf210E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h96256d92cceff977E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i16, i16* %1 %4 = trunc i32 %2 to i16 call void @"_ZN4core3num21_$LT$impl$u20$u16$GT$11checked_sub17he51218477c41a29dE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN53_$LT$u16$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17hdb59539683444226E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i16, i16* %1 %4 = trunc i32 %2 to i16 call void @"_ZN4core3num21_$LT$impl$u20$u16$GT$11checked_add17h1ca5d07bd4c5fbc1E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17he4c7de57851ddb43E"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$9min_value17h83c740760a0891c6E"() br label %bb1 bb1: ; preds = %start ret i32 %0 } ; Function Attrs: uwtable define i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17hf3052264efcf619eE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$9max_value17hf598fdc642384c6eE"() br label %bb1 bb1: ; preds = %start ret i32 %0 } ; Function Attrs: uwtable define i32 @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h4cb1e44be0feaa03E"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i32 %0 } ; Function Attrs: uwtable define void @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17hfc8e139158fa9da7E"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32* noalias readonly dereferenceable(4), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i32, i32* %1 call void @"_ZN4core3num21_$LT$impl$u20$u32$GT$11checked_mul17h3de394d77d5b40acE"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, i32 %3, i32 %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17hf41c2afcc588fab8E"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32* noalias readonly dereferenceable(4), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i32, i32* %1 call void @"_ZN4core3num21_$LT$impl$u20$u32$GT$11checked_sub17h4726c802c7204c98E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, i32 %3, i32 %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN53_$LT$u32$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17h0d435f51e5235732E"(%"option::Option"* noalias nocapture sret dereferenceable(8), i32* noalias readonly dereferenceable(4), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i32, i32* %1 call void @"_ZN4core3num21_$LT$impl$u20$u32$GT$11checked_add17he5656f6d4b423470E"(%"option::Option"* noalias nocapture sret dereferenceable(8) %0, i32 %3, i32 %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h5f6ff5acfd7a5c9bE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i64 @"_ZN4core3num21_$LT$impl$u20$u64$GT$9min_value17h1c6fbd104b89b142E"() br label %bb1 bb1: ; preds = %start ret i64 %0 } ; Function Attrs: uwtable define i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h4c9aeb6e60b48e5eE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i64 @"_ZN4core3num21_$LT$impl$u20$u64$GT$9max_value17h1eb8b953c341b0c6E"() br label %bb1 bb1: ; preds = %start ret i64 %0 } ; Function Attrs: uwtable define i64 @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h213242c224a819e6E"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i32 %0 to i64 ret i64 %1 } ; Function Attrs: uwtable define void @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h107fd716f6f2102aE"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64* noalias readonly dereferenceable(8), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i64, i64* %1 %4 = zext i32 %2 to i64 call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_mul17he8ea103b30f60b01E"(%"option::Option"* noalias nocapture sret dereferenceable(16) %0, i64 %3, i64 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h983af63d0cc971beE"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64* noalias readonly dereferenceable(8), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i64, i64* %1 %4 = zext i32 %2 to i64 call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_sub17ha5a95dc30e2d585eE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %0, i64 %3, i64 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN53_$LT$u64$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17hba50fcceb30a7711E"(%"option::Option"* noalias nocapture sret dereferenceable(16), i64* noalias readonly dereferenceable(8), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i64, i64* %1 %4 = zext i32 %2 to i64 call void @"_ZN4core3num21_$LT$impl$u20$u64$GT$11checked_add17h1f5f4b4c611a092eE"(%"option::Option"* noalias nocapture sret dereferenceable(16) %0, i64 %3, i64 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17hf895a646e539f13eE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i128 @"_ZN4core3num22_$LT$impl$u20$u128$GT$9min_value17h9aa9ea0664255869E"() br label %bb1 bb1: ; preds = %start ret i128 %0 } ; Function Attrs: uwtable define i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h2b1c0d22a2e541cdE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i128 @"_ZN4core3num22_$LT$impl$u20$u128$GT$9max_value17hc2afe0fbd9ab7b76E"() br label %bb1 bb1: ; preds = %start ret i128 %0 } ; Function Attrs: uwtable define i128 @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217h2e1aa7ebab2ba02cE"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i32 %0 to i128 ret i128 %1 } ; Function Attrs: uwtable define void @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h6fcb505affb54f92E"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128* noalias readonly dereferenceable(16), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i128, i128* %1 %4 = zext i32 %2 to i128 call void @"_ZN4core3num22_$LT$impl$u20$u128$GT$11checked_mul17h84fa6eca242bc29fE"(%"option::Option"* noalias nocapture sret dereferenceable(24) %0, i128 %3, i128 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h39bf8aacbe87c3cbE"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128* noalias readonly dereferenceable(16), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i128, i128* %1 %4 = zext i32 %2 to i128 call void @"_ZN4core3num22_$LT$impl$u20$u128$GT$11checked_sub17he670605536203218E"(%"option::Option"* noalias nocapture sret dereferenceable(24) %0, i128 %3, i128 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN54_$LT$u128$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17h0633d46121a75119E"(%"option::Option"* noalias nocapture sret dereferenceable(24), i128* noalias readonly dereferenceable(16), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i128, i128* %1 %4 = zext i32 %2 to i128 call void @"_ZN4core3num22_$LT$impl$u20$u128$GT$11checked_add17h9a6606446838d1c3E"(%"option::Option"* noalias nocapture sret dereferenceable(24) %0, i128 %3, i128 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9min_value17h66a590d508b401ffE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$9min_value17h1c98e9b4f92f9da8E"() br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: uwtable define i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$9max_value17h10d827788b0c4e1eE"() unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$9max_value17hf46713e0a485ee26E"() br label %bb1 bb1: ; preds = %start ret i16 %0 } ; Function Attrs: uwtable define i16 @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$8from_u3217hb6a057b001e2aaa5E"(i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = trunc i32 %0 to i16 ret i16 %1 } ; Function Attrs: uwtable define void @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_mul17h02bd0a9287318c51E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i16, i16* %1 %4 = trunc i32 %2 to i16 call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_mul17h0ab5b814bcd68e20E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_sub17h432af6a671a56068E"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i16, i16* %1 %4 = trunc i32 %2 to i16 call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_sub17hcbd6d396106ae456E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define void @"_ZN55_$LT$usize$u20$as$u20$core..num..FromStrRadixHelper$GT$11checked_add17hdd533eb876ea100cE"(%"option::Option"* noalias nocapture sret dereferenceable(4), i16* noalias readonly dereferenceable(2), i32) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %3 = load i16, i16* %1 %4 = trunc i32 %2 to i16 call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_add17hd9870631dd83b61bE"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, i16 %3, i16 %4) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: uwtable define i8 @"_ZN61_$LT$core..num..ParseIntError$u20$as$u20$core..fmt..Debug$GT$3fmt17he1ea4417497a25b7E"(%"num::ParseIntError"* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca i8* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([13 x i8], [13 x i8]* @str.bT, i32 0, i32 0), i16 13) br label %bb1 bb1: ; preds = %start store i8* %2, i8** %_17 %3 = bitcast i8** %_17 to i8* %4 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.a8, i32 0, i32 0), i16 4, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* }* @vtable.bU to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @"_ZN60_$LT$core..num..IntErrorKind$u20$as$u20$core..fmt..Debug$GT$3fmt17hcec3a2c449dc093cE"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast = alloca i8 %builder3 = alloca %"fmt::builders::DebugTuple" %builder2 = alloca %"fmt::builders::DebugTuple" %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { i8* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = load i8, i8* %4, !range !6 %6 = zext i8 %5 to i16 switch i16 %6, label %bb4 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.aa, i32 0, i32 0), i16 5) br label %bb6 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([12 x i8], [12 x i8]* @str.bX, i32 0, i32 0), i16 12) br label %bb8 bb3: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.bW, i32 0, i32 0), i16 8) br label %bb10 bb4: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder3, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([9 x i8], [9 x i8]* @str.bV, i32 0, i32 0), i16 9) br label %bb12 bb5: ; preds = %bb7, %bb9, %bb11, %bb13 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 bb6: ; preds = %bb1 %9 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %9, i8* %abi_cast6 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 br label %bb5 bb8: ; preds = %bb2 %11 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %11, i8* %abi_cast5 %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 br label %bb5 bb10: ; preds = %bb3 %13 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %13, i8* %abi_cast4 %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb11 bb11: ; preds = %bb10 br label %bb5 bb12: ; preds = %bb4 %15 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder3) store i8 %15, i8* %abi_cast %16 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb13 bb13: ; preds = %bb12 br label %bb5 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Add$GT$3add17h83c24e603ca0e0e9E"(i16, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %0, i16 %1) %3 = extractvalue { i16, i1 } %2, 0 %4 = extractvalue { i16, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb1 bb1: ; preds = %start ret i16 %3 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.bZ) unreachable } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Sub$GT$3sub17h43d509d548839514E"(i16, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %0, i16 %1) %3 = extractvalue { i16, i1 } %2, 0 %4 = extractvalue { i16, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb1 bb1: ; preds = %start ret i16 %3 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c0) unreachable } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Sub$GT$3sub17h831c7e6d28cea6d3E"(i8, i8) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %0, i8 %1) %3 = extractvalue { i8, i1 } %2, 0 %4 = extractvalue { i8, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb1 bb1: ; preds = %start ret i8 %3 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c0) unreachable } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Sub$GT$3sub17h599701945e7948f1E"(i16, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %0, i16 %1) %3 = extractvalue { i16, i1 } %2, 0 %4 = extractvalue { i16, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb1 bb1: ; preds = %start ret i16 %3 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c0) unreachable } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Sub$GT$3sub17h19e612f23716211fE"(i32, i32) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = call { i32, i1 } @llvm.usub.with.overflow.i32(i32 %0, i32 %1) %3 = extractvalue { i32, i1 } %2, 0 %4 = extractvalue { i32, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb1 bb1: ; preds = %start ret i32 %3 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c0) unreachable } ; Function Attrs: inlinehint uwtable define internal i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Sub$GT$3sub17h9902ae712370c3b1E"(i64, i64) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %0, i64 %1) %3 = extractvalue { i64, i1 } %2, 0 %4 = extractvalue { i64, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb1 bb1: ; preds = %start ret i64 %3 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c0) unreachable } ; Function Attrs: inlinehint uwtable define internal i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Sub$GT$3sub17haee5ad2dab4b105eE"(i128, i128) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = call { i128, i1 } @llvm.usub.with.overflow.i128(i128 %0, i128 %1) %3 = extractvalue { i128, i1 } %2, 0 %4 = extractvalue { i128, i1 } %2, 1 %5 = call i1 @llvm.expect.i1(i1 %4, i1 false) br i1 %5, label %panic, label %bb1 bb1: ; preds = %start ret i128 %3 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c0) unreachable } ; Function Attrs: inlinehint uwtable define internal float @"_ZN38_$LT$f32$u20$as$u20$core..ops..Mul$GT$3mul17h9234adce75df26b3E"(float, float) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = fmul float %0, %1 ret float %2 } ; Function Attrs: inlinehint uwtable define internal double @"_ZN38_$LT$f64$u20$as$u20$core..ops..Mul$GT$3mul17ha383331d0ee394f4E"(double, double) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = fmul double %0, %1 ret double %2 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Div$GT$3div17habfce3df91277bceE"(i16, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = icmp eq i16 %1, 0 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb1 bb1: ; preds = %start %4 = udiv i16 %0, %1 ret i16 %4 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c1) unreachable } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Div$GT$3div17h949c3c610020dec7E"(i8, i8) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = icmp eq i8 %1, 0 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb1 bb1: ; preds = %start %4 = udiv i8 %0, %1 ret i8 %4 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c1) unreachable } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Div$GT$3div17hf85907d4a5ecd3b4E"(i16, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = icmp eq i16 %1, 0 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb1 bb1: ; preds = %start %4 = udiv i16 %0, %1 ret i16 %4 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c1) unreachable } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Div$GT$3div17hd1d6152e54de1063E"(i32, i32) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = icmp eq i32 %1, 0 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb1 bb1: ; preds = %start %4 = udiv i32 %0, %1 ret i32 %4 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c1) unreachable } ; Function Attrs: inlinehint uwtable define internal i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Div$GT$3div17hce5752a9520aa12fE"(i64, i64) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = icmp eq i64 %1, 0 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb1 bb1: ; preds = %start %4 = udiv i64 %0, %1 ret i64 %4 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c1) unreachable } ; Function Attrs: inlinehint uwtable define internal i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Div$GT$3div17h945314c04653e2e7E"(i128, i128) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = icmp eq i128 %1, 0 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb1 bb1: ; preds = %start %4 = udiv i128 %0, %1 ret i128 %4 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c1) unreachable } ; Function Attrs: inlinehint uwtable define internal float @"_ZN38_$LT$f32$u20$as$u20$core..ops..Div$GT$3div17hf9b97e880b2a6a24E"(float, float) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = fdiv float %0, %1 ret float %2 } ; Function Attrs: inlinehint uwtable define internal double @"_ZN38_$LT$f64$u20$as$u20$core..ops..Div$GT$3div17h2adc7a30ff564df3E"(double, double) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = fdiv double %0, %1 ret double %2 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Rem$GT$3rem17h5a07684d2e83c4d0E"(i16, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = icmp eq i16 %1, 0 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb1 bb1: ; preds = %start %4 = urem i16 %0, %1 ret i16 %4 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c2) unreachable } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN37_$LT$u8$u20$as$u20$core..ops..Rem$GT$3rem17h56d8a8bb8b574e94E"(i8, i8) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = icmp eq i8 %1, 0 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb1 bb1: ; preds = %start %4 = urem i8 %0, %1 ret i8 %4 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c2) unreachable } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN38_$LT$u16$u20$as$u20$core..ops..Rem$GT$3rem17h0cf181779aaf3dc1E"(i16, i16) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = icmp eq i16 %1, 0 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb1 bb1: ; preds = %start %4 = urem i16 %0, %1 ret i16 %4 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c2) unreachable } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN38_$LT$u32$u20$as$u20$core..ops..Rem$GT$3rem17h49dc57b4ac35dd26E"(i32, i32) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = icmp eq i32 %1, 0 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb1 bb1: ; preds = %start %4 = urem i32 %0, %1 ret i32 %4 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c2) unreachable } ; Function Attrs: inlinehint uwtable define internal i64 @"_ZN38_$LT$u64$u20$as$u20$core..ops..Rem$GT$3rem17h2e93e541fef81ed6E"(i64, i64) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = icmp eq i64 %1, 0 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb1 bb1: ; preds = %start %4 = urem i64 %0, %1 ret i64 %4 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c2) unreachable } ; Function Attrs: inlinehint uwtable define internal i128 @"_ZN39_$LT$u128$u20$as$u20$core..ops..Rem$GT$3rem17he95cf93211332866E"(i128, i128) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = icmp eq i128 %1, 0 %3 = call i1 @llvm.expect.i1(i1 %2, i1 false) br i1 %3, label %panic, label %bb1 bb1: ; preds = %start %4 = urem i128 %0, %1 ret i128 %4 panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.c2) unreachable } ; Function Attrs: inlinehint uwtable define internal float @"_ZN38_$LT$f32$u20$as$u20$core..ops..Neg$GT$3neg17hca83af5650c260efE"(float) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = fsub float -0.000000e+00, %0 ret float %1 } ; Function Attrs: inlinehint uwtable define internal double @"_ZN38_$LT$f64$u20$as$u20$core..ops..Neg$GT$3neg17h86c314218b3ee915E"(double) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = fsub double -0.000000e+00, %0 ret double %1 } ; Function Attrs: uwtable define i8 @"_ZN56_$LT$core..cmp..Ordering$u20$as$u20$core..fmt..Debug$GT$3fmt17hb0bd5813b8299b13E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast = alloca i8 %builder2 = alloca %"fmt::builders::DebugTuple" %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { i8* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = load i8, i8* %4, !range !7 %6 = sext i8 %5 to i16 switch i16 %6, label %bb3 [ i16 -1, label %bb1 i16 0, label %bb2 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.ca, i32 0, i32 0), i16 4) br label %bb5 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.c9, i32 0, i32 0), i16 5) br label %bb7 bb3: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.c8, i32 0, i32 0), i16 7) br label %bb9 bb4: ; preds = %bb6, %bb8, %bb10 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 bb5: ; preds = %bb1 %9 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %9, i8* %abi_cast4 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb6 bb6: ; preds = %bb5 br label %bb4 bb7: ; preds = %bb2 %11 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %11, i8* %abi_cast3 %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb8 bb8: ; preds = %bb7 br label %bb4 bb9: ; preds = %bb3 %13 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %13, i8* %abi_cast %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 br label %bb4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN60_$LT$core..cmp..Ordering$u20$as$u20$core..cmp..PartialEq$GT$2eq17he33e10b377b14488E"(i8* noalias readonly dereferenceable(1), i8* noalias readonly dereferenceable(1)) unnamed_addr #0 { entry-block: %tmp_ret1 = alloca i64 %tmp_ret = alloca i64 %_17 = alloca { i8*, i8* } %_13 = alloca i8 %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = load i8, i8* %0, !range !7 %3 = sext i8 %2 to i64 store i64 %3, i64* %tmp_ret %4 = load i64, i64* %tmp_ret br label %bb1 bb1: ; preds = %start %5 = trunc i64 %4 to i16 %6 = load i8, i8* %1, !range !7 %7 = sext i8 %6 to i64 store i64 %7, i64* %tmp_ret1 %8 = load i64, i64* %tmp_ret1 br label %bb2 bb2: ; preds = %bb1 %9 = trunc i64 %8 to i16 %10 = icmp eq i16 %5, %9 br i1 %10, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 1, i8* %_13 br label %bb5 bb4: ; preds = %bb2 store i8 0, i8* %_13 br label %bb5 bb5: ; preds = %bb4, %bb3 %11 = load i8, i8* %_13, !range !2 %12 = trunc i8 %11 to i1 br i1 %12, label %bb6, label %bb7 bb6: ; preds = %bb5 %13 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 0 store i8* %0, i8** %13 %14 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 1 store i8* %1, i8** %14 store i8 1, i8* %_0 br label %bb8 bb7: ; preds = %bb5 store i8 0, i8* %_0 br label %bb8 bb8: ; preds = %bb7, %bb6 %15 = load i8, i8* %_0, !range !2 %16 = trunc i8 %15 to i1 ret i1 %16 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$usize$GT$2eq17hdb10e390a5ae9eaaE"(i16* noalias readonly dereferenceable(2), i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = load i16, i16* %1 %4 = icmp eq i16 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls53_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u8$GT$2eq17h777a920c4bcd4964E"(i8* noalias readonly dereferenceable(1), i8* noalias readonly dereferenceable(1)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = load i8, i8* %1 %4 = icmp eq i8 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u16$GT$2eq17hec8b861347a2d87bE"(i16* noalias readonly dereferenceable(2), i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = load i16, i16* %1 %4 = icmp eq i16 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u32$GT$2eq17h5d9dbcb74c1de000E"(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i32, i32* %0 %3 = load i32, i32* %1 %4 = icmp eq i32 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u64$GT$2eq17h19735d3982c9edf8E"(i64* noalias readonly dereferenceable(8), i64* noalias readonly dereferenceable(8)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i64, i64* %0 %3 = load i64, i64* %1 %4 = icmp eq i64 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$u128$GT$2eq17hab5a70f21a07c882E"(i128* noalias readonly dereferenceable(16), i128* noalias readonly dereferenceable(16)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i128, i128* %0 %3 = load i128, i128* %1 %4 = icmp eq i128 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2lt17h9dc1bda6c02da1a8E"(i16* noalias readonly dereferenceable(2), i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = load i16, i16* %1 %4 = icmp ult i16 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2le17h609ed9f35cfe4435E"(i16* noalias readonly dereferenceable(2), i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = load i16, i16* %1 %4 = icmp ule i16 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2ge17h1919a634d337a09cE"(i16* noalias readonly dereferenceable(2), i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = load i16, i16* %1 %4 = icmp uge i16 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2gt17hc3f6381859e5e7e9E"(i16* noalias readonly dereferenceable(2), i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = load i16, i16* %1 %4 = icmp ugt i16 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17h3b3546618eee99bcE"(i16* noalias readonly dereferenceable(2), i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = load i16, i16* %1 %4 = icmp eq i16 %2, %3 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start store i8 0, i8* %_0 br label %bb6 bb2: ; preds = %start %5 = load i16, i16* %0 %6 = load i16, i16* %1 %7 = icmp ult i16 %5, %6 br i1 %7, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 -1, i8* %_0 br label %bb5 bb4: ; preds = %bb2 store i8 1, i8* %_0 br label %bb5 bb5: ; preds = %bb4, %bb3 br label %bb6 bb6: ; preds = %bb5, %bb1 %8 = load i8, i8* %_0 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u8$GT$2ge17hbfacc662a8346080E"(i8* noalias readonly dereferenceable(1), i8* noalias readonly dereferenceable(1)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = load i8, i8* %1 %4 = icmp uge i8 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u8$GT$2gt17h2050aab55fae2ffcE"(i8* noalias readonly dereferenceable(1), i8* noalias readonly dereferenceable(1)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = load i8, i8* %1 %4 = icmp ugt i8 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN4core3cmp5impls47_$LT$impl$u20$core..cmp..Ord$u20$for$u20$u8$GT$3cmp17h8f4b6d22109de3f6E"(i8* noalias readonly dereferenceable(1), i8* noalias readonly dereferenceable(1)) unnamed_addr #0 { entry-block: %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = load i8, i8* %1 %4 = icmp eq i8 %2, %3 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start store i8 0, i8* %_0 br label %bb6 bb2: ; preds = %start %5 = load i8, i8* %0 %6 = load i8, i8* %1 %7 = icmp ult i8 %5, %6 br i1 %7, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 -1, i8* %_0 br label %bb5 bb4: ; preds = %bb2 store i8 1, i8* %_0 br label %bb5 bb5: ; preds = %bb4, %bb3 br label %bb6 bb6: ; preds = %bb5, %bb1 %8 = load i8, i8* %_0 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u16$GT$2ge17h71bb978bd3eacb72E"(i16* noalias readonly dereferenceable(2), i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = load i16, i16* %1 %4 = icmp uge i16 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u16$GT$2gt17h189a6824c6c3327dE"(i16* noalias readonly dereferenceable(2), i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = load i16, i16* %1 %4 = icmp ugt i16 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u32$GT$2ge17h0c1004ac534ca3d8E"(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i32, i32* %0 %3 = load i32, i32* %1 %4 = icmp uge i32 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u32$GT$2gt17hf1f6fe7bbc1ac58cE"(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i32, i32* %0 %3 = load i32, i32* %1 %4 = icmp ugt i32 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN4core3cmp5impls48_$LT$impl$u20$core..cmp..Ord$u20$for$u20$u32$GT$3cmp17hb9e6effb65543f5cE"(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = load i32, i32* %0 %3 = load i32, i32* %1 %4 = icmp eq i32 %2, %3 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start store i8 0, i8* %_0 br label %bb6 bb2: ; preds = %start %5 = load i32, i32* %0 %6 = load i32, i32* %1 %7 = icmp ult i32 %5, %6 br i1 %7, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 -1, i8* %_0 br label %bb5 bb4: ; preds = %bb2 store i8 1, i8* %_0 br label %bb5 bb5: ; preds = %bb4, %bb3 br label %bb6 bb6: ; preds = %bb5, %bb1 %8 = load i8, i8* %_0 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u64$GT$2ge17h6952dd9c539e0c9dE"(i64* noalias readonly dereferenceable(8), i64* noalias readonly dereferenceable(8)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i64, i64* %0 %3 = load i64, i64* %1 %4 = icmp uge i64 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u64$GT$2gt17hd2d967317411b99cE"(i64* noalias readonly dereferenceable(8), i64* noalias readonly dereferenceable(8)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i64, i64* %0 %3 = load i64, i64* %1 %4 = icmp ugt i64 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u128$GT$2ge17h6d6d87da3e410381E"(i128* noalias readonly dereferenceable(16), i128* noalias readonly dereferenceable(16)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i128, i128* %0 %3 = load i128, i128* %1 %4 = icmp uge i128 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u128$GT$2gt17hbc775f3ce2c62777E"(i128* noalias readonly dereferenceable(16), i128* noalias readonly dereferenceable(16)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i128, i128* %0 %3 = load i128, i128* %1 %4 = icmp ugt i128 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$isize$GT$2gt17h274d4a09c15ee7a7E"(i16* noalias readonly dereferenceable(2), i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = load i16, i16* %1 %4 = icmp sgt i16 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls54_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$i8$GT$2gt17hb86ab2bbef01b1baE"(i8* noalias readonly dereferenceable(1), i8* noalias readonly dereferenceable(1)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = load i8, i8* %1 %4 = icmp sgt i8 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$i16$GT$2gt17hbfa65919ec722781E"(i16* noalias readonly dereferenceable(2), i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = load i16, i16* %1 %4 = icmp sgt i16 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$i32$GT$11partial_cmp17h6bb9576683d6e65bE"(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %_5 = alloca i8 %_0 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3cmp5impls48_$LT$impl$u20$core..cmp..Ord$u20$for$u20$i32$GT$3cmp17h640f120802ea26c9E"(i32* noalias readonly dereferenceable(4) %0, i32* noalias readonly dereferenceable(4) %1) store i8 %2, i8* %_5 br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"option::Option", %"option::Option"* %_0, i32 0, i32 0 store i8 1, i8* %3 %4 = load i8, i8* %_5 %5 = bitcast %"option::Option"* %_0 to { i8, i8 }* %6 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %5, i32 0, i32 1 store i8 %4, i8* %6 %7 = bitcast %"option::Option"* %_0 to i16* %8 = load i16, i16* %7, align 1 ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$i32$GT$2gt17he5b375cd9f616febE"(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i32, i32* %0 %3 = load i32, i32* %1 %4 = icmp sgt i32 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN4core3cmp5impls48_$LT$impl$u20$core..cmp..Ord$u20$for$u20$i32$GT$3cmp17h640f120802ea26c9E"(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = load i32, i32* %0 %3 = load i32, i32* %1 %4 = icmp eq i32 %2, %3 br i1 %4, label %bb1, label %bb2 bb1: ; preds = %start store i8 0, i8* %_0 br label %bb6 bb2: ; preds = %start %5 = load i32, i32* %0 %6 = load i32, i32* %1 %7 = icmp slt i32 %5, %6 br i1 %7, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 -1, i8* %_0 br label %bb5 bb4: ; preds = %bb2 store i8 1, i8* %_0 br label %bb5 bb5: ; preds = %bb4, %bb3 br label %bb6 bb6: ; preds = %bb5, %bb1 %8 = load i8, i8* %_0 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls55_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$i64$GT$2gt17h5cec6e9be4ffdc8cE"(i64* noalias readonly dereferenceable(8), i64* noalias readonly dereferenceable(8)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i64, i64* %0 %3 = load i64, i64* %1 %4 = icmp sgt i64 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$i128$GT$2gt17h323f084d010d1e58E"(i128* noalias readonly dereferenceable(16), i128* noalias readonly dereferenceable(16)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = load i128, i128* %0 %3 = load i128, i128* %1 %4 = icmp sgt i128 %2, %3 ret i1 %4 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN44_$LT$usize$u20$as$u20$core..clone..Clone$GT$5clone17h3ef31ba81d0b2e31E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 ret i16 %1 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN41_$LT$u8$u20$as$u20$core..clone..Clone$GT$5clone17ha5f1cd751b9700c0E"(i8* noalias readonly dereferenceable(1)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = load i8, i8* %0 ret i8 %1 } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN42_$LT$u32$u20$as$u20$core..clone..Clone$GT$5clone17h8a48e59479907985E"(i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0 ret i32 %1 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN43_$LT$bool$u20$as$u20$core..clone..Clone$GT$5clone17hfb3a0132b5837b45E"(i8* noalias readonly dereferenceable(1)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = load i8, i8* %0, !range !2 %2 = trunc i8 %1 to i1 ret i1 %2 } ; Function Attrs: inlinehint uwtable define internal i32 @"_ZN43_$LT$char$u20$as$u20$core..clone..Clone$GT$5clone17h7cee3b9f233ba54aE"(i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0, !range !11 ret i32 %1 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN48_$LT$usize$u20$as$u20$core..default..Default$GT$7default17h2467186eae080a15E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i16 0 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN45_$LT$u8$u20$as$u20$core..default..Default$GT$7default17hce2ac1e0448343fdE"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i8 0 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN46_$LT$u16$u20$as$u20$core..default..Default$GT$7default17habf4fcb936bdbf75E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i16 0 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN48_$LT$isize$u20$as$u20$core..default..Default$GT$7default17h29df30e8827b3f03E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i16 0 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN45_$LT$i8$u20$as$u20$core..default..Default$GT$7default17h9bc882962b963c36E"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i8 0 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN46_$LT$i16$u20$as$u20$core..default..Default$GT$7default17h3daa0064dd06075dE"() unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block ret i16 0 } ; Function Attrs: uwtable define i8 @"_ZN54_$LT$core..any..TypeId$u20$as$u20$core..fmt..Debug$GT$3fmt17h1e2832d03700ca08E"(%"any::TypeId"* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca i64* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"any::TypeId", %"any::TypeId"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.cb, i32 0, i32 0), i16 6) br label %bb1 bb1: ; preds = %start store i64* %2, i64** %_17 %3 = bitcast i64** %_17 to i8* %4 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.cc, i32 0, i32 0), i16 1, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @"_ZN65_$LT$core..sync..atomic..Ordering$u20$as$u20$core..fmt..Debug$GT$3fmt17h76f11b5adb509825E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast10 = alloca i8 %abi_cast9 = alloca i8 %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %abi_cast6 = alloca i8 %abi_cast = alloca i8 %builder5 = alloca %"fmt::builders::DebugTuple" %builder4 = alloca %"fmt::builders::DebugTuple" %builder3 = alloca %"fmt::builders::DebugTuple" %builder2 = alloca %"fmt::builders::DebugTuple" %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { i8* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = load i8, i8* %4, !range !10 %6 = zext i8 %5 to i16 switch i16 %6, label %bb6 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 i16 3, label %bb4 i16 4, label %bb5 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.ci, i32 0, i32 0), i16 7) br label %bb8 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.ch, i32 0, i32 0), i16 7) br label %bb10 bb3: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.cg, i32 0, i32 0), i16 7) br label %bb12 bb4: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder3, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.cf, i32 0, i32 0), i16 6) br label %bb14 bb5: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder4, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.ce, i32 0, i32 0), i16 6) br label %bb16 bb6: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder5, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([15 x i8], [15 x i8]* @str.cd, i32 0, i32 0), i16 15) br label %bb18 bb7: ; preds = %bb9, %bb11, %bb13, %bb15, %bb17, %bb19 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 bb8: ; preds = %bb1 %9 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %9, i8* %abi_cast10 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast10, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 br label %bb7 bb10: ; preds = %bb2 %11 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %11, i8* %abi_cast9 %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast9, i16 1, i32 1, i1 false) br label %bb11 bb11: ; preds = %bb10 br label %bb7 bb12: ; preds = %bb3 %13 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %13, i8* %abi_cast8 %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb13 bb13: ; preds = %bb12 br label %bb7 bb14: ; preds = %bb4 %15 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder3) store i8 %15, i8* %abi_cast7 %16 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %abi_cast7, i16 1, i32 1, i1 false) br label %bb15 bb15: ; preds = %bb14 br label %bb7 bb16: ; preds = %bb5 %17 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder4) store i8 %17, i8* %abi_cast6 %18 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb17 bb17: ; preds = %bb16 br label %bb7 bb18: ; preds = %bb6 %19 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder5) store i8 %19, i8* %abi_cast %20 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %20, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb19 bb19: ; preds = %bb18 br label %bb7 } ; Function Attrs: uwtable define i8 @"_ZN71_$LT$core..sync..atomic..AtomicI8$u20$as$u20$core..default..Default$GT$7default17haa6d739ab531ebffE"() unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"sync::atomic::AtomicI8" br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN45_$LT$i8$u20$as$u20$core..default..Default$GT$7default17h9bc882962b963c36E"() br label %bb1 bb1: ; preds = %start %1 = call i8 @_ZN4core4sync6atomic8AtomicI83new17hd0ca8d1e67259fe2E(i8 %0) store i8 %1, i8* %abi_cast %2 = bitcast %"sync::atomic::AtomicI8"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %3 = bitcast %"sync::atomic::AtomicI8"* %_0 to i8* %4 = load i8, i8* %3, align 1 ret i8 %4 } ; Function Attrs: uwtable define i8 @"_ZN65_$LT$core..sync..atomic..AtomicI8$u20$as$u20$core..fmt..Debug$GT$3fmt17h698abf8e76fd1f37E"(%"sync::atomic::AtomicI8"* dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca i8 %_15 = alloca i8 %_8 = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %_8, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.cj, i32 0, i32 0), i16 8) br label %bb1 bb1: ; preds = %start store i8 4, i8* %_17 %2 = load i8, i8* %_17 %3 = call i8 @_ZN4core4sync6atomic8AtomicI84load17hb2694ab708a98bd5E(%"sync::atomic::AtomicI8"* dereferenceable(1) %0, i8 %2) store i8 %3, i8* %_15 br label %bb2 bb2: ; preds = %bb1 %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %_8, i8* nonnull %_15, void (i8*)** noalias nonnull readonly getelementptr inbounds ({ void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* }, { void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* }* @vtable.ck, i32 0, i32 0)) br label %bb3 bb3: ; preds = %bb2 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %4) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal i8 @_ZN4core4sync6atomic8AtomicI83new17hd0ca8d1e67259fe2E(i8) unnamed_addr #0 { entry-block: %abi_cast = alloca i8 %_3 = alloca %"cell::UnsafeCell" %_0 = alloca %"sync::atomic::AtomicI8" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17h88deda10f7bed8bdE"(i8 %0) store i8 %1, i8* %abi_cast %2 = bitcast %"cell::UnsafeCell"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"sync::atomic::AtomicI8", %"sync::atomic::AtomicI8"* %_0, i32 0, i32 0 %4 = bitcast %"cell::UnsafeCell"* %_3 to i8* %5 = bitcast %"cell::UnsafeCell"* %3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 1, i32 1, i1 false) %6 = bitcast %"sync::atomic::AtomicI8"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: inlinehint uwtable define internal i8 @_ZN4core4sync6atomic8AtomicI84load17hb2694ab708a98bd5E(%"sync::atomic::AtomicI8"* dereferenceable(1), i8) unnamed_addr #0 { entry-block: %_8 = alloca i8 %order = alloca i8 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = getelementptr inbounds %"sync::atomic::AtomicI8", %"sync::atomic::AtomicI8"* %0, i32 0, i32 0 %4 = call i8* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17h350cc4e05ab32c66E"(%"cell::UnsafeCell"* dereferenceable(1) %3) br label %bb1 bb1: ; preds = %start %5 = load i8, i8* %order store i8 %5, i8* %_8 %6 = load i8, i8* %_8 %7 = call i8 @_ZN4core4sync6atomic11atomic_load17h74d664f2d2072dc1E(i8* %4, i8 %6) br label %bb2 bb2: ; preds = %bb1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN71_$LT$core..sync..atomic..AtomicU8$u20$as$u20$core..default..Default$GT$7default17hacfad68f8f187de5E"() unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"sync::atomic::AtomicU8" br label %start start: ; preds = %entry-block %0 = call i8 @"_ZN45_$LT$u8$u20$as$u20$core..default..Default$GT$7default17hce2ac1e0448343fdE"() br label %bb1 bb1: ; preds = %start %1 = call i8 @_ZN4core4sync6atomic8AtomicU83new17h018e65b3c6da95a7E(i8 %0) store i8 %1, i8* %abi_cast %2 = bitcast %"sync::atomic::AtomicU8"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %3 = bitcast %"sync::atomic::AtomicU8"* %_0 to i8* %4 = load i8, i8* %3, align 1 ret i8 %4 } ; Function Attrs: uwtable define i8 @"_ZN65_$LT$core..sync..atomic..AtomicU8$u20$as$u20$core..fmt..Debug$GT$3fmt17hd5efb7c269c31082E"(%"sync::atomic::AtomicU8"* dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca i8 %_15 = alloca i8 %_8 = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %_8, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.cl, i32 0, i32 0), i16 8) br label %bb1 bb1: ; preds = %start store i8 4, i8* %_17 %2 = load i8, i8* %_17 %3 = call i8 @_ZN4core4sync6atomic8AtomicU84load17hb328877d45949374E(%"sync::atomic::AtomicU8"* dereferenceable(1) %0, i8 %2) store i8 %3, i8* %_15 br label %bb2 bb2: ; preds = %bb1 %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %_8, i8* nonnull %_15, void (i8*)** noalias nonnull readonly getelementptr inbounds ({ void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* }, { void (i8*)*, i16, i16, i8 (i8*, %"fmt::Formatter"*)* }* @vtable.cm, i32 0, i32 0)) br label %bb3 bb3: ; preds = %bb2 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %4) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal i8 @_ZN4core4sync6atomic8AtomicU83new17h018e65b3c6da95a7E(i8) unnamed_addr #0 { entry-block: %abi_cast = alloca i8 %_3 = alloca %"cell::UnsafeCell" %_0 = alloca %"sync::atomic::AtomicU8" br label %start start: ; preds = %entry-block %1 = call i8 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17h5c7e5e9956564933E"(i8 %0) store i8 %1, i8* %abi_cast %2 = bitcast %"cell::UnsafeCell"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"sync::atomic::AtomicU8", %"sync::atomic::AtomicU8"* %_0, i32 0, i32 0 %4 = bitcast %"cell::UnsafeCell"* %_3 to i8* %5 = bitcast %"cell::UnsafeCell"* %3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 1, i32 1, i1 false) %6 = bitcast %"sync::atomic::AtomicU8"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: inlinehint uwtable define internal i8 @_ZN4core4sync6atomic8AtomicU84load17hb328877d45949374E(%"sync::atomic::AtomicU8"* dereferenceable(1), i8) unnamed_addr #0 { entry-block: %_8 = alloca i8 %order = alloca i8 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = getelementptr inbounds %"sync::atomic::AtomicU8", %"sync::atomic::AtomicU8"* %0, i32 0, i32 0 %4 = call i8* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17hb5c398caebcdac3aE"(%"cell::UnsafeCell"* dereferenceable(1) %3) br label %bb1 bb1: ; preds = %start %5 = load i8, i8* %order store i8 %5, i8* %_8 %6 = load i8, i8* %_8 %7 = call i8 @_ZN4core4sync6atomic11atomic_load17h518c66146e8854a4E(i8* %4, i8 %6) br label %bb2 bb2: ; preds = %bb1 ret i8 %7 } ; Function Attrs: uwtable define i16 @"_ZN72_$LT$core..sync..atomic..AtomicI16$u20$as$u20$core..default..Default$GT$7default17h7bc78e6db18b1e9cE"() unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"sync::atomic::AtomicI16" br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN46_$LT$i16$u20$as$u20$core..default..Default$GT$7default17h3daa0064dd06075dE"() br label %bb1 bb1: ; preds = %start %1 = call i16 @_ZN4core4sync6atomic9AtomicI163new17h17b821b2ad16e09aE(i16 %0) store i16 %1, i16* %abi_cast %2 = bitcast %"sync::atomic::AtomicI16"* %_0 to i8* %3 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %bb2 bb2: ; preds = %bb1 %4 = bitcast %"sync::atomic::AtomicI16"* %_0 to i16* %5 = load i16, i16* %4, align 2 ret i16 %5 } ; Function Attrs: uwtable define i8 @"_ZN66_$LT$core..sync..atomic..AtomicI16$u20$as$u20$core..fmt..Debug$GT$3fmt17hb2ceae027ac3bcd8E"(%"sync::atomic::AtomicI16"* dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca i8 %_15 = alloca i16 %_8 = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %_8, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([9 x i8], [9 x i8]* @str.cn, i32 0, i32 0), i16 9) br label %bb1 bb1: ; preds = %start store i8 4, i8* %_17 %2 = load i8, i8* %_17 %3 = call i16 @_ZN4core4sync6atomic9AtomicI164load17hd3af8638ca921d7eE(%"sync::atomic::AtomicI16"* dereferenceable(2) %0, i8 %2) store i16 %3, i16* %_15 br label %bb2 bb2: ; preds = %bb1 %4 = bitcast i16* %_15 to i8* %5 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %_8, i8* nonnull %4, void (i8*)** noalias nonnull readonly bitcast ({ void (i16*)*, i16, i16, i8 (i16*, %"fmt::Formatter"*)* }* @vtable.co to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 %6 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %5) store i8 %6, i8* %abi_cast %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %8 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %9 = load i8, i8* %8, align 1 ret i8 %9 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4sync6atomic9AtomicI163new17h17b821b2ad16e09aE(i16) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %_3 = alloca %"cell::UnsafeCell" %_0 = alloca %"sync::atomic::AtomicI16" br label %start start: ; preds = %entry-block %1 = call i16 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17h2aab5f7b74395a98E"(i16 %0) store i16 %1, i16* %abi_cast %2 = bitcast %"cell::UnsafeCell"* %_3 to i8* %3 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %bb1 bb1: ; preds = %start %4 = getelementptr inbounds %"sync::atomic::AtomicI16", %"sync::atomic::AtomicI16"* %_0, i32 0, i32 0 %5 = bitcast %"cell::UnsafeCell"* %_3 to i8* %6 = bitcast %"cell::UnsafeCell"* %4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = bitcast %"sync::atomic::AtomicI16"* %_0 to i16* %8 = load i16, i16* %7, align 2 ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4sync6atomic9AtomicI164load17hd3af8638ca921d7eE(%"sync::atomic::AtomicI16"* dereferenceable(2), i8) unnamed_addr #0 { entry-block: %_8 = alloca i8 %order = alloca i8 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = getelementptr inbounds %"sync::atomic::AtomicI16", %"sync::atomic::AtomicI16"* %0, i32 0, i32 0 %4 = call i16* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17h25c5c5327ac56599E"(%"cell::UnsafeCell"* dereferenceable(2) %3) br label %bb1 bb1: ; preds = %start %5 = load i8, i8* %order store i8 %5, i8* %_8 %6 = load i8, i8* %_8 %7 = call i16 @_ZN4core4sync6atomic11atomic_load17h9977d1b8983da2bdE(i16* %4, i8 %6) br label %bb2 bb2: ; preds = %bb1 ret i16 %7 } ; Function Attrs: uwtable define i16 @"_ZN72_$LT$core..sync..atomic..AtomicU16$u20$as$u20$core..default..Default$GT$7default17h193a1cd813c4773fE"() unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"sync::atomic::AtomicU16" br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN46_$LT$u16$u20$as$u20$core..default..Default$GT$7default17habf4fcb936bdbf75E"() br label %bb1 bb1: ; preds = %start %1 = call i16 @_ZN4core4sync6atomic9AtomicU163new17h0b85324dc4a7d100E(i16 %0) store i16 %1, i16* %abi_cast %2 = bitcast %"sync::atomic::AtomicU16"* %_0 to i8* %3 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %bb2 bb2: ; preds = %bb1 %4 = bitcast %"sync::atomic::AtomicU16"* %_0 to i16* %5 = load i16, i16* %4, align 2 ret i16 %5 } ; Function Attrs: uwtable define i8 @"_ZN66_$LT$core..sync..atomic..AtomicU16$u20$as$u20$core..fmt..Debug$GT$3fmt17h0262aa5202fa4921E"(%"sync::atomic::AtomicU16"* dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca i8 %_15 = alloca i16 %_8 = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %_8, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([9 x i8], [9 x i8]* @str.cp, i32 0, i32 0), i16 9) br label %bb1 bb1: ; preds = %start store i8 4, i8* %_17 %2 = load i8, i8* %_17 %3 = call i16 @_ZN4core4sync6atomic9AtomicU164load17hc3dcf85b386ea418E(%"sync::atomic::AtomicU16"* dereferenceable(2) %0, i8 %2) store i16 %3, i16* %_15 br label %bb2 bb2: ; preds = %bb1 %4 = bitcast i16* %_15 to i8* %5 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %_8, i8* nonnull %4, void (i8*)** noalias nonnull readonly bitcast ({ void (i16*)*, i16, i16, i8 (i16*, %"fmt::Formatter"*)* }* @vtable.cq to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 %6 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %5) store i8 %6, i8* %abi_cast %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %8 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %9 = load i8, i8* %8, align 1 ret i8 %9 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4sync6atomic9AtomicU163new17h0b85324dc4a7d100E(i16) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %_3 = alloca %"cell::UnsafeCell" %_0 = alloca %"sync::atomic::AtomicU16" br label %start start: ; preds = %entry-block %1 = call i16 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17h6365d3ee211b3949E"(i16 %0) store i16 %1, i16* %abi_cast %2 = bitcast %"cell::UnsafeCell"* %_3 to i8* %3 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %bb1 bb1: ; preds = %start %4 = getelementptr inbounds %"sync::atomic::AtomicU16", %"sync::atomic::AtomicU16"* %_0, i32 0, i32 0 %5 = bitcast %"cell::UnsafeCell"* %_3 to i8* %6 = bitcast %"cell::UnsafeCell"* %4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = bitcast %"sync::atomic::AtomicU16"* %_0 to i16* %8 = load i16, i16* %7, align 2 ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4sync6atomic9AtomicU164load17hc3dcf85b386ea418E(%"sync::atomic::AtomicU16"* dereferenceable(2), i8) unnamed_addr #0 { entry-block: %_8 = alloca i8 %order = alloca i8 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = getelementptr inbounds %"sync::atomic::AtomicU16", %"sync::atomic::AtomicU16"* %0, i32 0, i32 0 %4 = call i16* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17h5ef9df888c47a84bE"(%"cell::UnsafeCell"* dereferenceable(2) %3) br label %bb1 bb1: ; preds = %start %5 = load i8, i8* %order store i8 %5, i8* %_8 %6 = load i8, i8* %_8 %7 = call i16 @_ZN4core4sync6atomic11atomic_load17he3a0f9f90bbc3738E(i16* %4, i8 %6) br label %bb2 bb2: ; preds = %bb1 ret i16 %7 } ; Function Attrs: uwtable define i16 @"_ZN74_$LT$core..sync..atomic..AtomicIsize$u20$as$u20$core..default..Default$GT$7default17h8712f3724cc62bfbE"() unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"sync::atomic::AtomicIsize" br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN48_$LT$isize$u20$as$u20$core..default..Default$GT$7default17h29df30e8827b3f03E"() br label %bb1 bb1: ; preds = %start %1 = call i16 @_ZN4core4sync6atomic11AtomicIsize3new17h3738d3a523b23bf5E(i16 %0) store i16 %1, i16* %abi_cast %2 = bitcast %"sync::atomic::AtomicIsize"* %_0 to i8* %3 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %bb2 bb2: ; preds = %bb1 %4 = bitcast %"sync::atomic::AtomicIsize"* %_0 to i16* %5 = load i16, i16* %4, align 2 ret i16 %5 } ; Function Attrs: uwtable define i8 @"_ZN68_$LT$core..sync..atomic..AtomicIsize$u20$as$u20$core..fmt..Debug$GT$3fmt17h9f60b5049b92da83E"(%"sync::atomic::AtomicIsize"* dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca i8 %_15 = alloca i16 %_8 = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %_8, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.cr, i32 0, i32 0), i16 11) br label %bb1 bb1: ; preds = %start store i8 4, i8* %_17 %2 = load i8, i8* %_17 %3 = call i16 @_ZN4core4sync6atomic11AtomicIsize4load17h80bd2e7c79476846E(%"sync::atomic::AtomicIsize"* dereferenceable(2) %0, i8 %2) store i16 %3, i16* %_15 br label %bb2 bb2: ; preds = %bb1 %4 = bitcast i16* %_15 to i8* %5 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %_8, i8* nonnull %4, void (i8*)** noalias nonnull readonly bitcast ({ void (i16*)*, i16, i16, i8 (i16*, %"fmt::Formatter"*)* }* @vtable.cs to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 %6 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %5) store i8 %6, i8* %abi_cast %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %8 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %9 = load i8, i8* %8, align 1 ret i8 %9 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4sync6atomic11AtomicIsize3new17h3738d3a523b23bf5E(i16) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %_3 = alloca %"cell::UnsafeCell" %_0 = alloca %"sync::atomic::AtomicIsize" br label %start start: ; preds = %entry-block %1 = call i16 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17hb16c050b07acf792E"(i16 %0) store i16 %1, i16* %abi_cast %2 = bitcast %"cell::UnsafeCell"* %_3 to i8* %3 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %bb1 bb1: ; preds = %start %4 = getelementptr inbounds %"sync::atomic::AtomicIsize", %"sync::atomic::AtomicIsize"* %_0, i32 0, i32 0 %5 = bitcast %"cell::UnsafeCell"* %_3 to i8* %6 = bitcast %"cell::UnsafeCell"* %4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = bitcast %"sync::atomic::AtomicIsize"* %_0 to i16* %8 = load i16, i16* %7, align 2 ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4sync6atomic11AtomicIsize4load17h80bd2e7c79476846E(%"sync::atomic::AtomicIsize"* dereferenceable(2), i8) unnamed_addr #0 { entry-block: %_8 = alloca i8 %order = alloca i8 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = getelementptr inbounds %"sync::atomic::AtomicIsize", %"sync::atomic::AtomicIsize"* %0, i32 0, i32 0 %4 = call i16* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17h408bf2f41791f228E"(%"cell::UnsafeCell"* dereferenceable(2) %3) br label %bb1 bb1: ; preds = %start %5 = load i8, i8* %order store i8 %5, i8* %_8 %6 = load i8, i8* %_8 %7 = call i16 @_ZN4core4sync6atomic11atomic_load17hc1e218785bc77d4cE(i16* %4, i8 %6) br label %bb2 bb2: ; preds = %bb1 ret i16 %7 } ; Function Attrs: uwtable define i16 @"_ZN74_$LT$core..sync..atomic..AtomicUsize$u20$as$u20$core..default..Default$GT$7default17h5b6a16ec647d9e04E"() unnamed_addr #1 { entry-block: %abi_cast = alloca i16 %_0 = alloca %"sync::atomic::AtomicUsize" br label %start start: ; preds = %entry-block %0 = call i16 @"_ZN48_$LT$usize$u20$as$u20$core..default..Default$GT$7default17h2467186eae080a15E"() br label %bb1 bb1: ; preds = %start %1 = call i16 @_ZN4core4sync6atomic11AtomicUsize3new17h7c6f02dbc7005f3bE(i16 %0) store i16 %1, i16* %abi_cast %2 = bitcast %"sync::atomic::AtomicUsize"* %_0 to i8* %3 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %bb2 bb2: ; preds = %bb1 %4 = bitcast %"sync::atomic::AtomicUsize"* %_0 to i16* %5 = load i16, i16* %4, align 2 ret i16 %5 } ; Function Attrs: uwtable define i8 @"_ZN68_$LT$core..sync..atomic..AtomicUsize$u20$as$u20$core..fmt..Debug$GT$3fmt17h9cbd7c048862c4b9E"(%"sync::atomic::AtomicUsize"* dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca i8 %_15 = alloca i16 %_8 = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %_8, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.ct, i32 0, i32 0), i16 11) br label %bb1 bb1: ; preds = %start store i8 4, i8* %_17 %2 = load i8, i8* %_17 %3 = call i16 @_ZN4core4sync6atomic11AtomicUsize4load17hfd3c4537f02412aaE(%"sync::atomic::AtomicUsize"* dereferenceable(2) %0, i8 %2) store i16 %3, i16* %_15 br label %bb2 bb2: ; preds = %bb1 %4 = bitcast i16* %_15 to i8* %5 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %_8, i8* nonnull %4, void (i8*)** noalias nonnull readonly bitcast ({ void (i16*)*, i16, i16, i8 (i16*, %"fmt::Formatter"*)* }* @vtable.7f to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 %6 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %5) store i8 %6, i8* %abi_cast %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %8 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %9 = load i8, i8* %8, align 1 ret i8 %9 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4sync6atomic11AtomicUsize3new17h7c6f02dbc7005f3bE(i16) unnamed_addr #0 { entry-block: %abi_cast = alloca i16 %_3 = alloca %"cell::UnsafeCell" %_0 = alloca %"sync::atomic::AtomicUsize" br label %start start: ; preds = %entry-block %1 = call i16 @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3new17h37351fa840c991e4E"(i16 %0) store i16 %1, i16* %abi_cast %2 = bitcast %"cell::UnsafeCell"* %_3 to i8* %3 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %bb1 bb1: ; preds = %start %4 = getelementptr inbounds %"sync::atomic::AtomicUsize", %"sync::atomic::AtomicUsize"* %_0, i32 0, i32 0 %5 = bitcast %"cell::UnsafeCell"* %_3 to i8* %6 = bitcast %"cell::UnsafeCell"* %4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) %7 = bitcast %"sync::atomic::AtomicUsize"* %_0 to i16* %8 = load i16, i16* %7, align 2 ret i16 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @_ZN4core4sync6atomic11AtomicUsize4load17hfd3c4537f02412aaE(%"sync::atomic::AtomicUsize"* dereferenceable(2), i8) unnamed_addr #0 { entry-block: %_8 = alloca i8 %order = alloca i8 %arg1 = alloca i8 store i8 %1, i8* %arg1 br label %start start: ; preds = %entry-block %2 = load i8, i8* %arg1 store i8 %2, i8* %order %3 = getelementptr inbounds %"sync::atomic::AtomicUsize", %"sync::atomic::AtomicUsize"* %0, i32 0, i32 0 %4 = call i16* @"_ZN40_$LT$core..cell..UnsafeCell$LT$T$GT$$GT$3get17hcf72752d01708f0aE"(%"cell::UnsafeCell"* dereferenceable(2) %3) br label %bb1 bb1: ; preds = %start %5 = load i8, i8* %order store i8 %5, i8* %_8 %6 = load i8, i8* %_8 %7 = call i16 @_ZN4core4sync6atomic11atomic_load17he12e354b35788fd6E(i16* %4, i8 %6) br label %bb2 bb2: ; preds = %bb1 ret i16 %7 } ; Function Attrs: uwtable define i8 @"_ZN60_$LT$core..cell..BorrowState$u20$as$u20$core..fmt..Debug$GT$3fmt17h0f070ec0b9e45700E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast = alloca i8 %builder2 = alloca %"fmt::builders::DebugTuple" %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { i8* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = load i8, i8* %4, !range !13 %6 = zext i8 %5 to i16 switch i16 %6, label %bb3 [ i16 0, label %bb1 i16 1, label %bb2 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.cG, i32 0, i32 0), i16 7) br label %bb5 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.cF, i32 0, i32 0), i16 7) br label %bb7 bb3: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.cE, i32 0, i32 0), i16 6) br label %bb9 bb4: ; preds = %bb6, %bb8, %bb10 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 bb5: ; preds = %bb1 %9 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %9, i8* %abi_cast4 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb6 bb6: ; preds = %bb5 br label %bb4 bb7: ; preds = %bb2 %11 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %11, i8* %abi_cast3 %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb8 bb8: ; preds = %bb7 br label %bb4 bb9: ; preds = %bb3 %13 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %13, i8* %abi_cast %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 br label %bb4 } ; Function Attrs: uwtable define i8 @"_ZN65_$LT$core..char..CharTryFromError$u20$as$u20$core..fmt..Debug$GT$3fmt17h7c510d1e60b92ef8E"(%"char::CharTryFromError"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_15 = alloca {}* %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"char::CharTryFromError", %"char::CharTryFromError"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([16 x i8], [16 x i8]* @str.cN, i32 0, i32 0), i16 16) br label %bb1 bb1: ; preds = %start store {}* %2, {}** %_15 %3 = bitcast {}** %_15 to i8* %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void ({}**)*, i16, i16, i8 ({}**, %"fmt::Formatter"*)* }* @vtable.bS to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @"_ZN62_$LT$core..char..EscapeUnicode$u20$as$u20$core..fmt..Debug$GT$3fmt17hb899fa13a7c247abE"(%"char::EscapeUnicode"* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_35 = alloca i16* %_27 = alloca i8* %_19 = alloca i32* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i32 0, i32 1 %4 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i32 0, i32 2 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([13 x i8], [13 x i8]* @str.cX, i32 0, i32 0), i16 13) br label %bb1 bb1: ; preds = %start store i32* %2, i32** %_19 %5 = bitcast i32** %_19 to i8* %6 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.cY, i32 0, i32 0), i16 1, i8* nonnull %5, void (i8*)** noalias nonnull readonly bitcast ({ void (i32**)*, i16, i16, i8 (i32**, %"fmt::Formatter"*)* }* @vtable.85 to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store i8* %3, i8** %_27 %7 = bitcast i8** %_27 to i8* %8 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.cZ, i32 0, i32 0), i16 5, i8* nonnull %7, void (i8*)** noalias nonnull readonly bitcast ({ void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* }* @vtable.d0 to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 store i16* %4, i16** %_35 %9 = bitcast i16** %_35 to i8* %10 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([13 x i8], [13 x i8]* @str.d1, i32 0, i32 0), i16 13, i8* nonnull %9, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb4 bb4: ; preds = %bb3 %11 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %11, i8* %abi_cast %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb5 bb5: ; preds = %bb4 %13 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %14 = load i8, i8* %13, align 1 ret i8 %14 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN64_$LT$core..char..EscapeUnicode$u20$as$u20$core..clone..Clone$GT$5clone17h699138db81c9ddb0E"(%"char::EscapeUnicode"* noalias nocapture sret dereferenceable(8), %"char::EscapeUnicode"* noalias readonly dereferenceable(8)) unnamed_addr #0 { entry-block: %_9 = alloca i8 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 0 %3 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 1 %4 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %1, i32 0, i32 2 %5 = call i32 @"_ZN43_$LT$char$u20$as$u20$core..clone..Clone$GT$5clone17h7cee3b9f233ba54aE"(i32* noalias readonly dereferenceable(4) %2) br label %bb1 bb1: ; preds = %start %6 = call i8 @"_ZN69_$LT$core..char..EscapeUnicodeState$u20$as$u20$core..clone..Clone$GT$5clone17h45021d6abfa7147cE"(i8* noalias readonly dereferenceable(1) %3) store i8 %6, i8* %_9 br label %bb2 bb2: ; preds = %bb1 %7 = call i16 @"_ZN44_$LT$usize$u20$as$u20$core..clone..Clone$GT$5clone17h3ef31ba81d0b2e31E"(i16* noalias readonly dereferenceable(2) %4) br label %bb3 bb3: ; preds = %bb2 %8 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i32 0, i32 0 store i32 %5, i32* %8 %9 = load i8, i8* %_9 %10 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i32 0, i32 1 store i8 %9, i8* %10 %11 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i32 0, i32 2 store i16 %7, i16* %11 ret void } ; Function Attrs: uwtable define i8 @"_ZN67_$LT$core..char..EscapeUnicodeState$u20$as$u20$core..fmt..Debug$GT$3fmt17h052b24b021d1d841E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast10 = alloca i8 %abi_cast9 = alloca i8 %abi_cast8 = alloca i8 %abi_cast7 = alloca i8 %abi_cast6 = alloca i8 %abi_cast = alloca i8 %builder5 = alloca %"fmt::builders::DebugTuple" %builder4 = alloca %"fmt::builders::DebugTuple" %builder3 = alloca %"fmt::builders::DebugTuple" %builder2 = alloca %"fmt::builders::DebugTuple" %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { i8* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = load i8, i8* %4, !range !10 %6 = zext i8 %5 to i16 switch i16 %6, label %bb6 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 i16 3, label %bb4 i16 4, label %bb5 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.d7, i32 0, i32 0), i16 4) br label %bb8 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([10 x i8], [10 x i8]* @str.d6, i32 0, i32 0), i16 10) br label %bb10 bb3: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.d5, i32 0, i32 0), i16 5) br label %bb12 bb4: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder3, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([9 x i8], [9 x i8]* @str.d4, i32 0, i32 0), i16 9) br label %bb14 bb5: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder4, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.d3, i32 0, i32 0), i16 4) br label %bb16 bb6: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder5, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([9 x i8], [9 x i8]* @str.d2, i32 0, i32 0), i16 9) br label %bb18 bb7: ; preds = %bb9, %bb11, %bb13, %bb15, %bb17, %bb19 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 bb8: ; preds = %bb1 %9 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %9, i8* %abi_cast10 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast10, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 br label %bb7 bb10: ; preds = %bb2 %11 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %11, i8* %abi_cast9 %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast9, i16 1, i32 1, i1 false) br label %bb11 bb11: ; preds = %bb10 br label %bb7 bb12: ; preds = %bb3 %13 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %13, i8* %abi_cast8 %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %abi_cast8, i16 1, i32 1, i1 false) br label %bb13 bb13: ; preds = %bb12 br label %bb7 bb14: ; preds = %bb4 %15 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder3) store i8 %15, i8* %abi_cast7 %16 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %abi_cast7, i16 1, i32 1, i1 false) br label %bb15 bb15: ; preds = %bb14 br label %bb7 bb16: ; preds = %bb5 %17 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder4) store i8 %17, i8* %abi_cast6 %18 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb17 bb17: ; preds = %bb16 br label %bb7 bb18: ; preds = %bb6 %19 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder5) store i8 %19, i8* %abi_cast %20 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %20, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb19 bb19: ; preds = %bb18 br label %bb7 } ; Function Attrs: inlinehint uwtable define internal i8 @"_ZN69_$LT$core..char..EscapeUnicodeState$u20$as$u20$core..clone..Clone$GT$5clone17h45021d6abfa7147cE"(i8* noalias readonly dereferenceable(1)) unnamed_addr #0 { entry-block: %_3 = alloca { i8* } %_0 = alloca i8 br label %start start: ; preds = %entry-block %1 = getelementptr inbounds { i8* }, { i8* }* %_3, i32 0, i32 0 store i8* %0, i8** %1 %2 = getelementptr inbounds { i8* }, { i8* }* %_3, i32 0, i32 0 %3 = load i8*, i8** %2, !nonnull !1 %4 = load i8, i8* %3, !range !10 %5 = zext i8 %4 to i16 switch i16 %5, label %bb6 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 i16 3, label %bb4 i16 4, label %bb5 ] bb1: ; preds = %start store i8 0, i8* %_0 br label %bb7 bb2: ; preds = %start store i8 1, i8* %_0 br label %bb7 bb3: ; preds = %start store i8 2, i8* %_0 br label %bb7 bb4: ; preds = %start store i8 3, i8* %_0 br label %bb7 bb5: ; preds = %start store i8 4, i8* %_0 br label %bb7 bb6: ; preds = %start store i8 5, i8* %_0 br label %bb7 bb7: ; preds = %bb1, %bb2, %bb3, %bb4, %bb5, %bb6 %6 = load i8, i8* %_0 ret i8 %6 } ; Function Attrs: uwtable define i8 @"_ZN62_$LT$core..char..EscapeDefault$u20$as$u20$core..fmt..Debug$GT$3fmt17h0cbed507e9c971a2E"(%"char::EscapeDefault"* noalias readonly dereferenceable(12), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca %"char::EscapeDefaultState"* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([13 x i8], [13 x i8]* @str.d8, i32 0, i32 0), i16 13) br label %bb1 bb1: ; preds = %start store %"char::EscapeDefaultState"* %2, %"char::EscapeDefaultState"** %_17 %3 = bitcast %"char::EscapeDefaultState"** %_17 to i8* %4 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.cZ, i32 0, i32 0), i16 5, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"char::EscapeDefaultState"**)*, i16, i16, i8 (%"char::EscapeDefaultState"**, %"fmt::Formatter"*)* }* @vtable.d9 to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..clone..Clone$GT$5clone17h8210ddb626e0e3c4E"(%"char::EscapeDefault"* noalias nocapture sret dereferenceable(12), %"char::EscapeDefault"* noalias readonly dereferenceable(12)) unnamed_addr #0 { entry-block: %_4 = alloca %"char::EscapeDefaultState" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %1, i32 0, i32 0 call void @"_ZN69_$LT$core..char..EscapeDefaultState$u20$as$u20$core..clone..Clone$GT$5clone17h188cea935d0e6e98E"(%"char::EscapeDefaultState"* noalias nocapture sret dereferenceable(12) %_4, %"char::EscapeDefaultState"* noalias readonly dereferenceable(12) %2) br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i32 0, i32 0 %4 = bitcast %"char::EscapeDefaultState"* %_4 to i8* %5 = bitcast %"char::EscapeDefaultState"* %3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 12, i32 4, i1 false) ret void } ; Function Attrs: uwtable define i8 @"_ZN67_$LT$core..char..EscapeDefaultState$u20$as$u20$core..fmt..Debug$GT$3fmt17hac81f9b384fb1580E"(%"char::EscapeDefaultState"* noalias readonly dereferenceable(12), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast = alloca i8 %_47 = alloca %"char::EscapeUnicode"* %builder3 = alloca %"fmt::builders::DebugTuple" %_36 = alloca i32* %builder2 = alloca %"fmt::builders::DebugTuple" %_25 = alloca i32* %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { %"char::EscapeDefaultState"* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { %"char::EscapeDefaultState"* }, { %"char::EscapeDefaultState"* }* %_5, i32 0, i32 0 store %"char::EscapeDefaultState"* %0, %"char::EscapeDefaultState"** %2 %3 = getelementptr inbounds { %"char::EscapeDefaultState"* }, { %"char::EscapeDefaultState"* }* %_5, i32 0, i32 0 %4 = load %"char::EscapeDefaultState"*, %"char::EscapeDefaultState"** %3, !nonnull !1 %5 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %4, i32 0, i32 0 %6 = load i32, i32* %5, !range !12 %7 = trunc i32 %6 to i16 switch i16 %7, label %bb4 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.d7, i32 0, i32 0), i16 4) br label %bb6 bb2: ; preds = %start %8 = getelementptr inbounds { %"char::EscapeDefaultState"* }, { %"char::EscapeDefaultState"* }* %_5, i32 0, i32 0 %9 = load %"char::EscapeDefaultState"*, %"char::EscapeDefaultState"** %8, !nonnull !1 %10 = bitcast %"char::EscapeDefaultState"* %9 to { i32, i32 }* %11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.dc, i32 0, i32 0), i16 4) br label %bb8 bb3: ; preds = %start %12 = getelementptr inbounds { %"char::EscapeDefaultState"* }, { %"char::EscapeDefaultState"* }* %_5, i32 0, i32 0 %13 = load %"char::EscapeDefaultState"*, %"char::EscapeDefaultState"** %12, !nonnull !1 %14 = bitcast %"char::EscapeDefaultState"* %13 to { i32, i32 }* %15 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %14, i32 0, i32 1 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([9 x i8], [9 x i8]* @str.d2, i32 0, i32 0), i16 9) br label %bb11 bb4: ; preds = %start %16 = getelementptr inbounds { %"char::EscapeDefaultState"* }, { %"char::EscapeDefaultState"* }* %_5, i32 0, i32 0 %17 = load %"char::EscapeDefaultState"*, %"char::EscapeDefaultState"** %16, !nonnull !1 %18 = bitcast %"char::EscapeDefaultState"* %17 to { i32, %"char::EscapeUnicode" }* %19 = getelementptr inbounds { i32, %"char::EscapeUnicode" }, { i32, %"char::EscapeUnicode" }* %18, i32 0, i32 1 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder3, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.da, i32 0, i32 0), i16 7) br label %bb14 bb5: ; preds = %bb7, %bb10, %bb13, %bb16 %20 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %21 = load i8, i8* %20, align 1 ret i8 %21 bb6: ; preds = %bb1 %22 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %22, i8* %abi_cast6 %23 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %23, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 br label %bb5 bb8: ; preds = %bb2 store i32* %11, i32** %_25 %24 = bitcast i32** %_25 to i8* %25 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1, i8* nonnull %24, void (i8*)** noalias nonnull readonly bitcast ({ void (i32**)*, i16, i16, i8 (i32**, %"fmt::Formatter"*)* }* @vtable.85 to void (i8*)**)) br label %bb9 bb9: ; preds = %bb8 %26 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %26, i8* %abi_cast5 %27 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %27, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 br label %bb5 bb11: ; preds = %bb3 store i32* %15, i32** %_36 %28 = bitcast i32** %_36 to i8* %29 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2, i8* nonnull %28, void (i8*)** noalias nonnull readonly bitcast ({ void (i32**)*, i16, i16, i8 (i32**, %"fmt::Formatter"*)* }* @vtable.85 to void (i8*)**)) br label %bb12 bb12: ; preds = %bb11 %30 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %30, i8* %abi_cast4 %31 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %31, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb13 bb13: ; preds = %bb12 br label %bb5 bb14: ; preds = %bb4 store %"char::EscapeUnicode"* %19, %"char::EscapeUnicode"** %_47 %32 = bitcast %"char::EscapeUnicode"** %_47 to i8* %33 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder3, i8* nonnull %32, void (i8*)** noalias nonnull readonly bitcast ({ void (%"char::EscapeUnicode"**)*, i16, i16, i8 (%"char::EscapeUnicode"**, %"fmt::Formatter"*)* }* @vtable.db to void (i8*)**)) br label %bb15 bb15: ; preds = %bb14 %34 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder3) store i8 %34, i8* %abi_cast %35 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %35, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb16 bb16: ; preds = %bb15 br label %bb5 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN69_$LT$core..char..EscapeDefaultState$u20$as$u20$core..clone..Clone$GT$5clone17h188cea935d0e6e98E"(%"char::EscapeDefaultState"* noalias nocapture sret dereferenceable(12), %"char::EscapeDefaultState"* noalias readonly dereferenceable(12)) unnamed_addr #0 { entry-block: %_15 = alloca %"char::EscapeUnicode" %_3 = alloca { %"char::EscapeDefaultState"* } br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { %"char::EscapeDefaultState"* }, { %"char::EscapeDefaultState"* }* %_3, i32 0, i32 0 store %"char::EscapeDefaultState"* %1, %"char::EscapeDefaultState"** %2 %3 = getelementptr inbounds { %"char::EscapeDefaultState"* }, { %"char::EscapeDefaultState"* }* %_3, i32 0, i32 0 %4 = load %"char::EscapeDefaultState"*, %"char::EscapeDefaultState"** %3, !nonnull !1 %5 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %4, i32 0, i32 0 %6 = load i32, i32* %5, !range !12 %7 = trunc i32 %6 to i16 switch i16 %7, label %bb4 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 ] bb1: ; preds = %start %8 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %0, i32 0, i32 0 store i32 0, i32* %8 br label %bb5 bb2: ; preds = %start %9 = getelementptr inbounds { %"char::EscapeDefaultState"* }, { %"char::EscapeDefaultState"* }* %_3, i32 0, i32 0 %10 = load %"char::EscapeDefaultState"*, %"char::EscapeDefaultState"** %9, !nonnull !1 %11 = bitcast %"char::EscapeDefaultState"* %10 to { i32, i32 }* %12 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %11, i32 0, i32 1 %13 = call i32 @"_ZN43_$LT$char$u20$as$u20$core..clone..Clone$GT$5clone17h7cee3b9f233ba54aE"(i32* noalias readonly dereferenceable(4) %12) br label %bb6 bb3: ; preds = %start %14 = getelementptr inbounds { %"char::EscapeDefaultState"* }, { %"char::EscapeDefaultState"* }* %_3, i32 0, i32 0 %15 = load %"char::EscapeDefaultState"*, %"char::EscapeDefaultState"** %14, !nonnull !1 %16 = bitcast %"char::EscapeDefaultState"* %15 to { i32, i32 }* %17 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %16, i32 0, i32 1 %18 = call i32 @"_ZN43_$LT$char$u20$as$u20$core..clone..Clone$GT$5clone17h7cee3b9f233ba54aE"(i32* noalias readonly dereferenceable(4) %17) br label %bb7 bb4: ; preds = %start %19 = getelementptr inbounds { %"char::EscapeDefaultState"* }, { %"char::EscapeDefaultState"* }* %_3, i32 0, i32 0 %20 = load %"char::EscapeDefaultState"*, %"char::EscapeDefaultState"** %19, !nonnull !1 %21 = bitcast %"char::EscapeDefaultState"* %20 to { i32, %"char::EscapeUnicode" }* %22 = getelementptr inbounds { i32, %"char::EscapeUnicode" }, { i32, %"char::EscapeUnicode" }* %21, i32 0, i32 1 call void @"_ZN64_$LT$core..char..EscapeUnicode$u20$as$u20$core..clone..Clone$GT$5clone17h699138db81c9ddb0E"(%"char::EscapeUnicode"* noalias nocapture sret dereferenceable(8) %_15, %"char::EscapeUnicode"* noalias readonly dereferenceable(8) %22) br label %bb8 bb5: ; preds = %bb1, %bb6, %bb7, %bb8 ret void bb6: ; preds = %bb2 %23 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %0, i32 0, i32 0 store i32 1, i32* %23 %24 = bitcast %"char::EscapeDefaultState"* %0 to { i32, i32 }* %25 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %24, i32 0, i32 1 store i32 %13, i32* %25 br label %bb5 bb7: ; preds = %bb3 %26 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %0, i32 0, i32 0 store i32 2, i32* %26 %27 = bitcast %"char::EscapeDefaultState"* %0 to { i32, i32 }* %28 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %27, i32 0, i32 1 store i32 %18, i32* %28 br label %bb5 bb8: ; preds = %bb4 %29 = getelementptr inbounds %"char::EscapeDefaultState", %"char::EscapeDefaultState"* %0, i32 0, i32 0 store i32 3, i32* %29 %30 = bitcast %"char::EscapeDefaultState"* %0 to { i32, %"char::EscapeUnicode" }* %31 = getelementptr inbounds { i32, %"char::EscapeUnicode" }, { i32, %"char::EscapeUnicode" }* %30, i32 0, i32 1 %32 = bitcast %"char::EscapeUnicode"* %_15 to i8* %33 = bitcast %"char::EscapeUnicode"* %31 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %33, i8* %32, i16 8, i32 4, i1 false) br label %bb5 } ; Function Attrs: uwtable define i8 @"_ZN60_$LT$core..char..EscapeDebug$u20$as$u20$core..fmt..Debug$GT$3fmt17h7dd63fd46a88c936E"(%"char::EscapeDebug"* noalias readonly dereferenceable(12), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_15 = alloca %"char::EscapeDefault"* %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.dd, i32 0, i32 0), i16 11) br label %bb1 bb1: ; preds = %start store %"char::EscapeDefault"* %2, %"char::EscapeDefault"** %_15 %3 = bitcast %"char::EscapeDefault"** %_15 to i8* %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"char::EscapeDefault"**)*, i16, i16, i8 (%"char::EscapeDefault"**, %"fmt::Formatter"*)* }* @vtable.de to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @"_ZN64_$LT$core..char..InvalidSequence$u20$as$u20$core..fmt..Debug$GT$3fmt17h0ccebc4d98922c95E"(%"char::InvalidSequence"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_15 = alloca {}* %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"char::InvalidSequence", %"char::InvalidSequence"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([15 x i8], [15 x i8]* @str.df, i32 0, i32 0), i16 15) br label %bb1 bb1: ; preds = %start store {}* %2, {}** %_15 %3 = bitcast {}** %_15 to i8* %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void ({}**)*, i16, i16, i8 ({}**, %"fmt::Formatter"*)* }* @vtable.bS to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN49_$LT$usize$u20$as$u20$core..iter..range..Step$GT$7add_one17h71cb0ab5fb63bde9E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Add$GT$3add17h83c24e603ca0e0e9E"(i16 %1, i16 1) br label %bb1 bb1: ; preds = %start ret i16 %2 } ; Function Attrs: inlinehint uwtable define internal i16 @"_ZN49_$LT$usize$u20$as$u20$core..iter..range..Step$GT$7sub_one17hf1124236a59235a0E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = call i16 @"_ZN40_$LT$usize$u20$as$u20$core..ops..Sub$GT$3sub17h43d509d548839514E"(i16 %1, i16 1) br label %bb1 bb1: ; preds = %start ret i16 %2 } ; Function Attrs: uwtable define internal i16 @"_ZN49_$LT$usize$u20$as$u20$core..iter..traits..Sum$GT$3sum17h01f0682a63b4d6fbE"(%"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* noalias nocapture dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_3 = alloca %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>" %iter = alloca %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>" br label %start start: ; preds = %entry-block %1 = bitcast %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* %0 to i8* %2 = bitcast %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %1, i16 4, i32 2, i1 false) %3 = bitcast %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* %iter to i8* %4 = bitcast %"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* %_3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %3, i16 4, i32 2, i1 false) %5 = invoke i16 @"_ZN84_$LT$core..iter..Map$LT$I$C$$u20$F$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4fold17h51a904ece9053850E"(%"iter::Map, fmt::{{impl}}::estimated_capacity::{{closure}}>"* noalias nocapture dereferenceable(4) %_3, i16 0) to label %bb2 unwind label %cleanup bb1: ; preds = %cleanup %6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %6 bb2: ; preds = %start ret i16 %5 cleanup: ; preds = %start %7 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %7, { i8*, i32 }* %personalityslot br label %bb1 } ; Function Attrs: uwtable define internal i8 @"_ZN64_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hfd83521531263fb9E"(%"iter::Cloned>"* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca %"slice::Iter"* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"iter::Cloned>", %"iter::Cloned>"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.dk, i32 0, i32 0), i16 6) br label %bb1 bb1: ; preds = %start store %"slice::Iter"* %2, %"slice::Iter"** %_17 %3 = bitcast %"slice::Iter"** %_17 to i8* %4 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.dl, i32 0, i32 0), i16 2, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"slice::Iter"**)*, i16, i16, i8 (%"slice::Iter"**, %"fmt::Formatter"*)* }* @vtable.dm to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @"_ZN59_$LT$core..iter..ChainState$u20$as$u20$core..fmt..Debug$GT$3fmt17haa1a6de7ba99f30dE"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast = alloca i8 %builder2 = alloca %"fmt::builders::DebugTuple" %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { i8* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = load i8, i8* %4, !range !13 %6 = zext i8 %5 to i16 switch i16 %6, label %bb3 [ i16 0, label %bb1 i16 1, label %bb2 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.dp, i32 0, i32 0), i16 4) br label %bb5 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.do, i32 0, i32 0), i16 5) br label %bb7 bb3: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.dn, i32 0, i32 0), i16 4) br label %bb9 bb4: ; preds = %bb6, %bb8, %bb10 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 bb5: ; preds = %bb1 %9 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %9, i8* %abi_cast4 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb6 bb6: ; preds = %bb5 br label %bb4 bb7: ; preds = %bb2 %11 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %11, i8* %abi_cast3 %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb8 bb8: ; preds = %bb7 br label %bb4 bb9: ; preds = %bb3 %13 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %13, i8* %abi_cast %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 br label %bb4 } ; Function Attrs: uwtable define internal i8 @"_ZN66_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h31f6125e60ed0b6aE"(%"option::Option"* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast2 = alloca i8 %abi_cast = alloca i8 %_23 = alloca i16* %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { %"option::Option"* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { %"option::Option"* }, { %"option::Option"* }* %_5, i32 0, i32 0 store %"option::Option"* %0, %"option::Option"** %2 %3 = getelementptr inbounds { %"option::Option"* }, { %"option::Option"* }* %_5, i32 0, i32 0 %4 = load %"option::Option"*, %"option::Option"** %3, !nonnull !1 %5 = getelementptr inbounds %"option::Option", %"option::Option"* %4, i32 0, i32 0 %6 = load i16, i16* %5, !range !3 switch i16 %6, label %bb2 [ i16 0, label %bb1 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.ds, i32 0, i32 0), i16 4) br label %bb4 bb2: ; preds = %start %7 = getelementptr inbounds { %"option::Option"* }, { %"option::Option"* }* %_5, i32 0, i32 0 %8 = load %"option::Option"*, %"option::Option"** %7, !nonnull !1 %9 = bitcast %"option::Option"* %8 to { i16, i16 }* %10 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %9, i32 0, i32 1 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.dr, i32 0, i32 0), i16 4) br label %bb6 bb3: ; preds = %bb5, %bb8 %11 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %12 = load i8, i8* %11, align 1 ret i8 %12 bb4: ; preds = %bb1 %13 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %13, i8* %abi_cast2 %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb5 bb5: ; preds = %bb4 br label %bb3 bb6: ; preds = %bb2 store i16* %10, i16** %_23 %15 = bitcast i16** %_23 to i8* %16 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1, i8* nonnull %15, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb7 bb7: ; preds = %bb6 %17 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %17, i8* %abi_cast %18 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb8 bb8: ; preds = %bb7 br label %bb3 } ; Function Attrs: uwtable define internal i8 @"_ZN66_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h49aaac194122d38cE"(%"option::Option"* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast2 = alloca i8 %abi_cast = alloca i8 %_23 = alloca i8* %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { %"option::Option"* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { %"option::Option"* }, { %"option::Option"* }* %_5, i32 0, i32 0 store %"option::Option"* %0, %"option::Option"** %2 %3 = getelementptr inbounds { %"option::Option"* }, { %"option::Option"* }* %_5, i32 0, i32 0 %4 = load %"option::Option"*, %"option::Option"** %3, !nonnull !1 %5 = getelementptr inbounds %"option::Option", %"option::Option"* %4, i32 0, i32 0 %6 = load i8, i8* %5, !range !2 %7 = zext i8 %6 to i16 switch i16 %7, label %bb2 [ i16 0, label %bb1 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.ds, i32 0, i32 0), i16 4) br label %bb4 bb2: ; preds = %start %8 = getelementptr inbounds { %"option::Option"* }, { %"option::Option"* }* %_5, i32 0, i32 0 %9 = load %"option::Option"*, %"option::Option"** %8, !nonnull !1 %10 = bitcast %"option::Option"* %9 to { i8, i8 }* %11 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %10, i32 0, i32 1 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.dr, i32 0, i32 0), i16 4) br label %bb6 bb3: ; preds = %bb5, %bb8 %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %13 = load i8, i8* %12, align 1 ret i8 %13 bb4: ; preds = %bb1 %14 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %14, i8* %abi_cast2 %15 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb5 bb5: ; preds = %bb4 br label %bb3 bb6: ; preds = %bb2 store i8* %11, i8** %_23 %16 = bitcast i8** %_23 to i8* %17 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1, i8* nonnull %16, void (i8*)** noalias nonnull readonly bitcast ({ void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* }* @vtable.84 to void (i8*)**)) br label %bb7 bb7: ; preds = %bb6 %18 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %18, i8* %abi_cast %19 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %19, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb8 bb8: ; preds = %bb7 br label %bb3 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17h13d25a2c9398245fE"(%"option::Option"* noalias readonly dereferenceable(4), %"option::Option"* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %tmp_ret1 = alloca i64 %tmp_ret = alloca i64 %_17 = alloca { %"option::Option"*, %"option::Option"* } %_13 = alloca i8 %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"option::Option", %"option::Option"* %0, i32 0, i32 0 %3 = load i16, i16* %2, !range !3 %4 = zext i16 %3 to i64 store i64 %4, i64* %tmp_ret %5 = load i64, i64* %tmp_ret br label %bb1 bb1: ; preds = %start %6 = trunc i64 %5 to i16 %7 = getelementptr inbounds %"option::Option", %"option::Option"* %1, i32 0, i32 0 %8 = load i16, i16* %7, !range !3 %9 = zext i16 %8 to i64 store i64 %9, i64* %tmp_ret1 %10 = load i64, i64* %tmp_ret1 br label %bb2 bb2: ; preds = %bb1 %11 = trunc i64 %10 to i16 %12 = icmp eq i16 %6, %11 br i1 %12, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 1, i8* %_13 br label %bb5 bb4: ; preds = %bb2 store i8 0, i8* %_13 br label %bb5 bb5: ; preds = %bb4, %bb3 %13 = load i8, i8* %_13, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb6, label %bb7 bb6: ; preds = %bb5 %15 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_17, i32 0, i32 0 store %"option::Option"* %0, %"option::Option"** %15 %16 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_17, i32 0, i32 1 store %"option::Option"* %1, %"option::Option"** %16 %17 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_17, i32 0, i32 0 %18 = load %"option::Option"*, %"option::Option"** %17, !nonnull !1 %19 = getelementptr inbounds %"option::Option", %"option::Option"* %18, i32 0, i32 0 %20 = load i16, i16* %19, !range !3 switch i16 %20, label %bb8 [ i16 1, label %bb9 ] bb7: ; preds = %bb5 store i8 0, i8* %_0 br label %bb16 bb8: ; preds = %bb9, %bb6 store i8 1, i8* %_0 br label %bb11 bb9: ; preds = %bb6 %21 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_17, i32 0, i32 1 %22 = load %"option::Option"*, %"option::Option"** %21, !nonnull !1 %23 = getelementptr inbounds %"option::Option", %"option::Option"* %22, i32 0, i32 0 %24 = load i16, i16* %23, !range !3 switch i16 %24, label %bb8 [ i16 1, label %bb10 ] bb10: ; preds = %bb9 %25 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_17, i32 0, i32 0 %26 = load %"option::Option"*, %"option::Option"** %25, !nonnull !1 %27 = bitcast %"option::Option"* %26 to { i16, i16 }* %28 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %27, i32 0, i32 1 %29 = getelementptr inbounds { %"option::Option"*, %"option::Option"* }, { %"option::Option"*, %"option::Option"* }* %_17, i32 0, i32 1 %30 = load %"option::Option"*, %"option::Option"** %29, !nonnull !1 %31 = bitcast %"option::Option"* %30 to { i16, i16 }* %32 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %31, i32 0, i32 1 %33 = call zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$usize$GT$2eq17hdb10e390a5ae9eaaE"(i16* noalias readonly dereferenceable(2) %28, i16* noalias readonly dereferenceable(2) %32) br label %bb15 bb11: ; preds = %bb14, %bb8 br label %bb16 bb12: ; preds = %bb15 store i8 1, i8* %_0 br label %bb14 bb13: ; preds = %bb15 store i8 0, i8* %_0 br label %bb14 bb14: ; preds = %bb13, %bb12 br label %bb11 bb15: ; preds = %bb10 br i1 %33, label %bb12, label %bb13 bb16: ; preds = %bb7, %bb11 %34 = load i8, i8* %_0, !range !2 %35 = trunc i8 %34 to i1 ret i1 %35 } ; Function Attrs: inlinehint uwtable define internal zeroext i1 @"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17he70541b2e267b1f9E"(i8** noalias readonly dereferenceable(2), i8** noalias readonly dereferenceable(2)) unnamed_addr #0 { entry-block: %tmp_ret1 = alloca i64 %tmp_ret = alloca i64 %_17 = alloca { i8**, i8** } %_13 = alloca i8 %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = load i8*, i8** %0 %3 = icmp ne i8* %2, null %4 = zext i1 %3 to i64 store i64 %4, i64* %tmp_ret %5 = load i64, i64* %tmp_ret br label %bb1 bb1: ; preds = %start %6 = trunc i64 %5 to i16 %7 = load i8*, i8** %1 %8 = icmp ne i8* %7, null %9 = zext i1 %8 to i64 store i64 %9, i64* %tmp_ret1 %10 = load i64, i64* %tmp_ret1 br label %bb2 bb2: ; preds = %bb1 %11 = trunc i64 %10 to i16 %12 = icmp eq i16 %6, %11 br i1 %12, label %bb3, label %bb4 bb3: ; preds = %bb2 store i8 1, i8* %_13 br label %bb5 bb4: ; preds = %bb2 store i8 0, i8* %_13 br label %bb5 bb5: ; preds = %bb4, %bb3 %13 = load i8, i8* %_13, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb6, label %bb7 bb6: ; preds = %bb5 %15 = getelementptr inbounds { i8**, i8** }, { i8**, i8** }* %_17, i32 0, i32 0 store i8** %0, i8*** %15 %16 = getelementptr inbounds { i8**, i8** }, { i8**, i8** }* %_17, i32 0, i32 1 store i8** %1, i8*** %16 %17 = getelementptr inbounds { i8**, i8** }, { i8**, i8** }* %_17, i32 0, i32 0 %18 = load i8**, i8*** %17, !nonnull !1 %19 = load i8*, i8** %18 %20 = icmp ne i8* %19, null %21 = zext i1 %20 to i16 switch i16 %21, label %bb8 [ i16 1, label %bb9 ] bb7: ; preds = %bb5 store i8 0, i8* %_0 br label %bb16 bb8: ; preds = %bb9, %bb6 store i8 1, i8* %_0 br label %bb11 bb9: ; preds = %bb6 %22 = getelementptr inbounds { i8**, i8** }, { i8**, i8** }* %_17, i32 0, i32 1 %23 = load i8**, i8*** %22, !nonnull !1 %24 = load i8*, i8** %23 %25 = icmp ne i8* %24, null %26 = zext i1 %25 to i16 switch i16 %26, label %bb8 [ i16 1, label %bb10 ] bb10: ; preds = %bb9 %27 = getelementptr inbounds { i8**, i8** }, { i8**, i8** }* %_17, i32 0, i32 0 %28 = load i8**, i8*** %27, !nonnull !1 %29 = getelementptr inbounds { i8**, i8** }, { i8**, i8** }* %_17, i32 0, i32 1 %30 = load i8**, i8*** %29, !nonnull !1 %31 = call zeroext i1 @"_ZN4core3cmp5impls91_$LT$impl$u20$core..cmp..PartialEq$LT$$RF$$u27$b$u20$B$GT$$u20$for$u20$$RF$$u27$a$u20$A$GT$2eq17h9b8517854c4565d5E"(i8** noalias readonly dereferenceable(2) %28, i8** noalias readonly dereferenceable(2) %30) br label %bb15 bb11: ; preds = %bb14, %bb8 br label %bb16 bb12: ; preds = %bb15 store i8 1, i8* %_0 br label %bb14 bb13: ; preds = %bb15 store i8 0, i8* %_0 br label %bb14 bb14: ; preds = %bb13, %bb12 br label %bb11 bb15: ; preds = %bb10 br i1 %31, label %bb12, label %bb13 bb16: ; preds = %bb7, %bb11 %32 = load i8, i8* %_0, !range !2 %33 = trunc i8 %32 to i1 ret i1 %33 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h042eea4aa13cb73cE"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca %"fmt::ArgumentV1"* %_17 = alloca %"fmt::ArgumentV1"* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17hc1b9ae5696c2eb4dE() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %4 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %3 %5 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h7af5f3ff29a6c847E"(%"fmt::ArgumentV1"* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %8 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %7 %9 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h7af5f3ff29a6c847E"(%"fmt::ArgumentV1"* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %12 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %11 %13 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %14 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %13 %15 = icmp eq %"fmt::ArgumentV1"* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %17 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %16 %18 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %16 %19 = call i16 @_ZN4core3mem7size_of17hc1b9ae5696c2eb4dE() %20 = icmp eq i16 %19, 0 br i1 %20, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %21 = bitcast %"fmt::ArgumentV1"* %18 to i8* %22 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %21, i16 1) %23 = bitcast i8* %22 to %"fmt::ArgumentV1"* store %"fmt::ArgumentV1"* %23, %"fmt::ArgumentV1"** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17hcbb3cb8edd96123bE.exit bb3.i.i: ; preds = %bb10 %24 = call %"fmt::ArgumentV1"* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h4c05f99b7bf1470fE"(%"fmt::ArgumentV1"* %18, i16 1) store %"fmt::ArgumentV1"* %24, %"fmt::ArgumentV1"** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17hcbb3cb8edd96123bE.exit _ZN4core5slice10PointerExt8post_inc17hcbb3cb8edd96123bE.exit: ; preds = %bb2.i.i, %bb3.i.i %25 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %_0.i.i store %"fmt::ArgumentV1"* %25, %"fmt::ArgumentV1"** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt8post_inc17hcbb3cb8edd96123bE.exit %26 = call i16 @_ZN4core3mem7size_of17hc1b9ae5696c2eb4dE() br label %bb12 bb12: ; preds = %bb11 %27 = icmp eq i16 %26, 0 br i1 %27, label %bb13, label %bb14 bb13: ; preds = %bb12 store %"fmt::ArgumentV1"* inttoptr (i16 1 to %"fmt::ArgumentV1"*), %"fmt::ArgumentV1"** %_17 br label %bb15 bb14: ; preds = %bb12 store %"fmt::ArgumentV1"* %17, %"fmt::ArgumentV1"** %_17 br label %bb15 bb15: ; preds = %bb14, %bb13 %28 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %_17, !nonnull !1 %29 = bitcast i8** %_0 to %"fmt::ArgumentV1"** store %"fmt::ArgumentV1"* %28, %"fmt::ArgumentV1"** %29 br label %bb16 bb16: ; preds = %bb15, %bb9 %30 = load i8*, i8** %_0 ret i8* %30 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h8120470cd0974b63E"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca i32* %_17 = alloca i32* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h71b326904f99a0adE() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %4 = load i32*, i32** %3 %5 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h9493170a785858c4E"(i32* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %8 = load i32*, i32** %7 %9 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h9493170a785858c4E"(i32* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %12 = load i32*, i32** %11 %13 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %14 = load i32*, i32** %13 %15 = icmp eq i32* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %17 = load i32*, i32** %16 %18 = load i32*, i32** %16 %19 = call i16 @_ZN4core3mem7size_of17h71b326904f99a0adE() %20 = icmp eq i16 %19, 0 br i1 %20, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %21 = bitcast i32* %18 to i8* %22 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %21, i16 1) %23 = bitcast i8* %22 to i32* store i32* %23, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE.exit bb3.i.i: ; preds = %bb10 %24 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h360b324363152bdfE"(i32* %18, i16 1) store i32* %24, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE.exit _ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE.exit: ; preds = %bb2.i.i, %bb3.i.i %25 = load i32*, i32** %_0.i.i store i32* %25, i32** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE.exit %26 = call i16 @_ZN4core3mem7size_of17h71b326904f99a0adE() br label %bb12 bb12: ; preds = %bb11 %27 = icmp eq i16 %26, 0 br i1 %27, label %bb13, label %bb14 bb13: ; preds = %bb12 store i32* inttoptr (i16 1 to i32*), i32** %_17 br label %bb15 bb14: ; preds = %bb12 store i32* %17, i32** %_17 br label %bb15 bb15: ; preds = %bb14, %bb13 %28 = load i32*, i32** %_17, !nonnull !1 %29 = bitcast i8** %_0 to i32** store i32* %28, i32** %29 br label %bb16 bb16: ; preds = %bb15, %bb9 %30 = load i8*, i8** %_0 ret i8* %30 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h91be2a78f30b3f18E"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca i8* %_17 = alloca i8* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %4 = load i8*, i8** %3 %5 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h906caa45cc6dd689E"(i8* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %8 = load i8*, i8** %7 %9 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h906caa45cc6dd689E"(i8* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %12 = load i8*, i8** %11 %13 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %14 = load i8*, i8** %13 %15 = icmp eq i8* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %17 = load i8*, i8** %16 %18 = load i8*, i8** %16 %19 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() %20 = icmp eq i16 %19, 0 br i1 %20, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %21 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %18, i16 1) store i8* %21, i8** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit bb3.i.i: ; preds = %bb10 %22 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %18, i16 1) store i8* %22, i8** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit: ; preds = %bb2.i.i, %bb3.i.i %23 = load i8*, i8** %_0.i.i store i8* %23, i8** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit %24 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb12 bb12: ; preds = %bb11 %25 = icmp eq i16 %24, 0 br i1 %25, label %bb13, label %bb14 bb13: ; preds = %bb12 store i8* inttoptr (i16 1 to i8*), i8** %_17 br label %bb15 bb14: ; preds = %bb12 store i8* %17, i8** %_17 br label %bb15 bb15: ; preds = %bb14, %bb13 %26 = load i8*, i8** %_17, !nonnull !1 store i8* %26, i8** %_0 br label %bb16 bb16: ; preds = %bb15, %bb9 %27 = load i8*, i8** %_0 ret i8* %27 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h967ead58429e5968E"(%"slice::Iter<(u8, u8)>"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca { i8, i8 }* %_17 = alloca { i8, i8 }* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17hd469b45475411e2eE() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::Iter<(u8, u8)>", %"slice::Iter<(u8, u8)>"* %0, i32 0, i32 0 %4 = load { i8, i8 }*, { i8, i8 }** %3 %5 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h730dd8153a9c1223E"({ i8, i8 }* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::Iter<(u8, u8)>", %"slice::Iter<(u8, u8)>"* %0, i32 0, i32 1 %8 = load { i8, i8 }*, { i8, i8 }** %7 %9 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h730dd8153a9c1223E"({ i8, i8 }* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::Iter<(u8, u8)>", %"slice::Iter<(u8, u8)>"* %0, i32 0, i32 0 %12 = load { i8, i8 }*, { i8, i8 }** %11 %13 = getelementptr inbounds %"slice::Iter<(u8, u8)>", %"slice::Iter<(u8, u8)>"* %0, i32 0, i32 1 %14 = load { i8, i8 }*, { i8, i8 }** %13 %15 = icmp eq { i8, i8 }* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::Iter<(u8, u8)>", %"slice::Iter<(u8, u8)>"* %0, i32 0, i32 0 %17 = load { i8, i8 }*, { i8, i8 }** %16 %18 = load { i8, i8 }*, { i8, i8 }** %16 %19 = call i16 @_ZN4core3mem7size_of17hd469b45475411e2eE() %20 = icmp eq i16 %19, 0 br i1 %20, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %21 = bitcast { i8, i8 }* %18 to i8* %22 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %21, i16 1) %23 = bitcast i8* %22 to { i8, i8 }* store { i8, i8 }* %23, { i8, i8 }** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h974d1a8be4ea2eb1E.exit bb3.i.i: ; preds = %bb10 %24 = call { i8, i8 }* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17hdee3ae921d7f2cceE"({ i8, i8 }* %18, i16 1) store { i8, i8 }* %24, { i8, i8 }** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h974d1a8be4ea2eb1E.exit _ZN4core5slice10PointerExt8post_inc17h974d1a8be4ea2eb1E.exit: ; preds = %bb2.i.i, %bb3.i.i %25 = load { i8, i8 }*, { i8, i8 }** %_0.i.i store { i8, i8 }* %25, { i8, i8 }** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt8post_inc17h974d1a8be4ea2eb1E.exit %26 = call i16 @_ZN4core3mem7size_of17hd469b45475411e2eE() br label %bb12 bb12: ; preds = %bb11 %27 = icmp eq i16 %26, 0 br i1 %27, label %bb13, label %bb14 bb13: ; preds = %bb12 store { i8, i8 }* inttoptr (i16 1 to { i8, i8 }*), { i8, i8 }** %_17 br label %bb15 bb14: ; preds = %bb12 store { i8, i8 }* %17, { i8, i8 }** %_17 br label %bb15 bb15: ; preds = %bb14, %bb13 %28 = load { i8, i8 }*, { i8, i8 }** %_17, !nonnull !1 %29 = bitcast i8** %_0 to { i8, i8 }** store { i8, i8 }* %28, { i8, i8 }** %29 br label %bb16 bb16: ; preds = %bb15, %bb9 %30 = load i8*, i8** %_0 ret i8* %30 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha0286f79396f2247E"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca %"num::flt2dec::Part"* %_17 = alloca %"num::flt2dec::Part"* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h0b6fe43aba1ff0a7E() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %4 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %3 %5 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h98cbd775bcc6c0cdE"(%"num::flt2dec::Part"* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %8 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %7 %9 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h98cbd775bcc6c0cdE"(%"num::flt2dec::Part"* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %12 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %11 %13 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %14 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %13 %15 = icmp eq %"num::flt2dec::Part"* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %17 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %16 %18 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %16 %19 = call i16 @_ZN4core3mem7size_of17h0b6fe43aba1ff0a7E() %20 = icmp eq i16 %19, 0 br i1 %20, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %21 = bitcast %"num::flt2dec::Part"* %18 to i8* %22 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %21, i16 1) %23 = bitcast i8* %22 to %"num::flt2dec::Part"* store %"num::flt2dec::Part"* %23, %"num::flt2dec::Part"** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17hb978efb438119902E.exit bb3.i.i: ; preds = %bb10 %24 = call %"num::flt2dec::Part"* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17hc6783221b028e272E"(%"num::flt2dec::Part"* %18, i16 1) store %"num::flt2dec::Part"* %24, %"num::flt2dec::Part"** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17hb978efb438119902E.exit _ZN4core5slice10PointerExt8post_inc17hb978efb438119902E.exit: ; preds = %bb2.i.i, %bb3.i.i %25 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %_0.i.i store %"num::flt2dec::Part"* %25, %"num::flt2dec::Part"** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt8post_inc17hb978efb438119902E.exit %26 = call i16 @_ZN4core3mem7size_of17h0b6fe43aba1ff0a7E() br label %bb12 bb12: ; preds = %bb11 %27 = icmp eq i16 %26, 0 br i1 %27, label %bb13, label %bb14 bb13: ; preds = %bb12 store %"num::flt2dec::Part"* inttoptr (i16 1 to %"num::flt2dec::Part"*), %"num::flt2dec::Part"** %_17 br label %bb15 bb14: ; preds = %bb12 store %"num::flt2dec::Part"* %17, %"num::flt2dec::Part"** %_17 br label %bb15 bb15: ; preds = %bb14, %bb13 %28 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %_17, !nonnull !1 %29 = bitcast i8** %_0 to %"num::flt2dec::Part"** store %"num::flt2dec::Part"* %28, %"num::flt2dec::Part"** %29 br label %bb16 bb16: ; preds = %bb15, %bb9 %30 = load i8*, i8** %_0 ret i8* %30 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hcef1a24bbc98966fE"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca %"fmt::rt::v1::Argument"* %_17 = alloca %"fmt::rt::v1::Argument"* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17ha9d8ae27bc8815a5E() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %4 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %3 %5 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h707422bda7debb80E"(%"fmt::rt::v1::Argument"* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %8 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %7 %9 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h707422bda7debb80E"(%"fmt::rt::v1::Argument"* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %12 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %11 %13 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %14 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %13 %15 = icmp eq %"fmt::rt::v1::Argument"* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %17 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %16 %18 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %16 %19 = call i16 @_ZN4core3mem7size_of17ha9d8ae27bc8815a5E() %20 = icmp eq i16 %19, 0 br i1 %20, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %21 = bitcast %"fmt::rt::v1::Argument"* %18 to i8* %22 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %21, i16 1) %23 = bitcast i8* %22 to %"fmt::rt::v1::Argument"* store %"fmt::rt::v1::Argument"* %23, %"fmt::rt::v1::Argument"** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h399d4050c36cc20aE.exit bb3.i.i: ; preds = %bb10 %24 = call %"fmt::rt::v1::Argument"* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17hdc114130aac1ef30E"(%"fmt::rt::v1::Argument"* %18, i16 1) store %"fmt::rt::v1::Argument"* %24, %"fmt::rt::v1::Argument"** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h399d4050c36cc20aE.exit _ZN4core5slice10PointerExt8post_inc17h399d4050c36cc20aE.exit: ; preds = %bb2.i.i, %bb3.i.i %25 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %_0.i.i store %"fmt::rt::v1::Argument"* %25, %"fmt::rt::v1::Argument"** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt8post_inc17h399d4050c36cc20aE.exit %26 = call i16 @_ZN4core3mem7size_of17ha9d8ae27bc8815a5E() br label %bb12 bb12: ; preds = %bb11 %27 = icmp eq i16 %26, 0 br i1 %27, label %bb13, label %bb14 bb13: ; preds = %bb12 store %"fmt::rt::v1::Argument"* inttoptr (i16 1 to %"fmt::rt::v1::Argument"*), %"fmt::rt::v1::Argument"** %_17 br label %bb15 bb14: ; preds = %bb12 store %"fmt::rt::v1::Argument"* %17, %"fmt::rt::v1::Argument"** %_17 br label %bb15 bb15: ; preds = %bb14, %bb13 %28 = load %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"** %_17, !nonnull !1 %29 = bitcast i8** %_0 to %"fmt::rt::v1::Argument"** store %"fmt::rt::v1::Argument"* %28, %"fmt::rt::v1::Argument"** %29 br label %bb16 bb16: ; preds = %bb15, %bb9 %30 = load i8*, i8** %_0 ret i8* %30 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd30b4fbc2b8c8f5cE"(%"slice::Iter<&str>"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca %str_slice* %_17 = alloca %str_slice* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h0ac890a8161c5786E() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::Iter<&str>", %"slice::Iter<&str>"* %0, i32 0, i32 0 %4 = load %str_slice*, %str_slice** %3 %5 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h03e606deb25b5e10E"(%str_slice* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::Iter<&str>", %"slice::Iter<&str>"* %0, i32 0, i32 1 %8 = load %str_slice*, %str_slice** %7 %9 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h03e606deb25b5e10E"(%str_slice* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::Iter<&str>", %"slice::Iter<&str>"* %0, i32 0, i32 0 %12 = load %str_slice*, %str_slice** %11 %13 = getelementptr inbounds %"slice::Iter<&str>", %"slice::Iter<&str>"* %0, i32 0, i32 1 %14 = load %str_slice*, %str_slice** %13 %15 = icmp eq %str_slice* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::Iter<&str>", %"slice::Iter<&str>"* %0, i32 0, i32 0 %17 = load %str_slice*, %str_slice** %16 %18 = load %str_slice*, %str_slice** %16 %19 = call i16 @_ZN4core3mem7size_of17h0ac890a8161c5786E() %20 = icmp eq i16 %19, 0 br i1 %20, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %21 = bitcast %str_slice* %18 to i8* %22 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %21, i16 1) %23 = bitcast i8* %22 to %str_slice* store %str_slice* %23, %str_slice** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h431ce27df262115dE.exit bb3.i.i: ; preds = %bb10 %24 = call %str_slice* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h7689fe68e66ad088E"(%str_slice* %18, i16 1) store %str_slice* %24, %str_slice** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h431ce27df262115dE.exit _ZN4core5slice10PointerExt8post_inc17h431ce27df262115dE.exit: ; preds = %bb2.i.i, %bb3.i.i %25 = load %str_slice*, %str_slice** %_0.i.i store %str_slice* %25, %str_slice** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt8post_inc17h431ce27df262115dE.exit %26 = call i16 @_ZN4core3mem7size_of17h0ac890a8161c5786E() br label %bb12 bb12: ; preds = %bb11 %27 = icmp eq i16 %26, 0 br i1 %27, label %bb13, label %bb14 bb13: ; preds = %bb12 store %str_slice* inttoptr (i16 1 to %str_slice*), %str_slice** %_17 br label %bb15 bb14: ; preds = %bb12 store %str_slice* %17, %str_slice** %_17 br label %bb15 bb15: ; preds = %bb14, %bb13 %28 = load %str_slice*, %str_slice** %_17, !nonnull !1 %29 = bitcast i8** %_0 to %str_slice** store %str_slice* %28, %str_slice** %29 br label %bb16 bb16: ; preds = %bb15, %bb9 %30 = load i8*, i8** %_0 ret i8* %30 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hfd2871eaf71eec16E"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca i32* %_17 = alloca i32* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %4 = load i32*, i32** %3 %5 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h120af63052ada8bcE"(i32* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %8 = load i32*, i32** %7 %9 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h120af63052ada8bcE"(i32* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %12 = load i32*, i32** %11 %13 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %14 = load i32*, i32** %13 %15 = icmp eq i32* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %17 = load i32*, i32** %16 %18 = load i32*, i32** %16 %19 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() %20 = icmp eq i16 %19, 0 br i1 %20, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %21 = bitcast i32* %18 to i8* %22 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %21, i16 1) %23 = bitcast i8* %22 to i32* store i32* %23, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit bb3.i.i: ; preds = %bb10 %24 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %18, i16 1) store i32* %24, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit: ; preds = %bb2.i.i, %bb3.i.i %25 = load i32*, i32** %_0.i.i store i32* %25, i32** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit %26 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb12 bb12: ; preds = %bb11 %27 = icmp eq i16 %26, 0 br i1 %27, label %bb13, label %bb14 bb13: ; preds = %bb12 store i32* inttoptr (i16 1 to i32*), i32** %_17 br label %bb15 bb14: ; preds = %bb12 store i32* %17, i32** %_17 br label %bb15 bb15: ; preds = %bb14, %bb13 %28 = load i32*, i32** %_17, !nonnull !1 %29 = bitcast i8** %_0 to i32** store i32* %28, i32** %29 br label %bb16 bb16: ; preds = %bb15, %bb9 %30 = load i8*, i8** %_0 ret i8* %30 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h6fb8fe91f0e258fdE"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6), %"slice::Iter"* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %_5.i = alloca %"option::Option" %_0.i = alloca i16 %_7 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 0 %3 = load i32*, i32** %2 %4 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 1 %5 = load i32*, i32** %4 call void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h4b91a05d9203a938E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i32* %3, i32* %5) %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %7 = load i16, i16* %6, !range !3 %cond = icmp eq i16 %7, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %start %8 = ptrtoint i32* %5 to i16 %9 = ptrtoint i32* %3 to i16 %10 = call i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %8, i16 %9) store i16 %10, i16* %_0.i br label %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit bb3.i: ; preds = %start %11 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 store i16 %13, i16* %_0.i br label %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit _ZN4core5slice11ptrdistance17he3964f8501e26525E.exit: ; preds = %bb3.i, %bb2.i %14 = load i16, i16* %_0.i br label %bb1 bb1: ; preds = %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit %15 = getelementptr inbounds %"option::Option", %"option::Option"* %_7, i32 0, i32 0 store i16 1, i16* %15 %16 = bitcast %"option::Option"* %_7 to { i16, i16 }* %17 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %16, i32 0, i32 1 store i16 %14, i16* %17 %18 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %0, i32 0, i32 0 store i16 %14, i16* %18 %19 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %0, i32 0, i32 1 %20 = bitcast %"option::Option"* %_7 to i8* %21 = bitcast %"option::Option"* %19 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 4, i32 2, i1 false) ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17hde50e38c0d8ed228E"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6), %"slice::Iter"* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %_5.i = alloca %"option::Option" %_0.i = alloca i16 %_7 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 0 %3 = load i8*, i8** %2 %4 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 1 %5 = load i8*, i8** %4 call void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h36c1ff4935521ce9E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i8* %3, i8* %5) %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %7 = load i16, i16* %6, !range !3 %cond = icmp eq i16 %7, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %start %8 = ptrtoint i8* %5 to i16 %9 = ptrtoint i8* %3 to i16 %10 = call i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %8, i16 %9) store i16 %10, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit bb3.i: ; preds = %start %11 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 store i16 %13, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit _ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit: ; preds = %bb3.i, %bb2.i %14 = load i16, i16* %_0.i br label %bb1 bb1: ; preds = %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit %15 = getelementptr inbounds %"option::Option", %"option::Option"* %_7, i32 0, i32 0 store i16 1, i16* %15 %16 = bitcast %"option::Option"* %_7 to { i16, i16 }* %17 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %16, i32 0, i32 1 store i16 %14, i16* %17 %18 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %0, i32 0, i32 0 store i16 %14, i16* %18 %19 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %0, i32 0, i32 1 %20 = bitcast %"option::Option"* %_7 to i8* %21 = bitcast %"option::Option"* %19 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h0970e09ac22451deE"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %_6 = alloca %closure.55 br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 0, i8* %_8 %1 = invoke zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17h1d6fa1e4241017e5E"(%"slice::Iter"* dereferenceable(4) %0, i1 zeroext true) to label %bb3 unwind label %cleanup bb1: ; preds = %bb4, %bb2 %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %cleanup %3 = load i8, i8* %_8, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb4, label %bb1 bb3: ; preds = %start ret i1 %1 bb4: ; preds = %bb2 store i8 0, i8* %_8 br label %bb1 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h1d2005befbe42b0fE"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %_6 = alloca %closure.58 br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 0, i8* %_8 %1 = invoke zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17hf77bf46b51425985E"(%"slice::Iter"* dereferenceable(4) %0, i1 zeroext true) to label %bb3 unwind label %cleanup bb1: ; preds = %bb4, %bb2 %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %cleanup %3 = load i8, i8* %_8, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb4, label %bb1 bb3: ; preds = %start ret i1 %1 bb4: ; preds = %bb2 store i8 0, i8* %_8 br label %bb1 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h2aa2acf6c3794840E"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %_6 = alloca %closure.57 br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 0, i8* %_8 %1 = invoke zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17h74fdc86d4478e2aaE"(%"slice::Iter"* dereferenceable(4) %0, i1 zeroext true) to label %bb3 unwind label %cleanup bb1: ; preds = %bb4, %bb2 %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %cleanup %3 = load i8, i8* %_8, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb4, label %bb1 bb3: ; preds = %start ret i1 %1 bb4: ; preds = %bb2 store i8 0, i8* %_8 br label %bb1 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h3106061a82081a9cE"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %_6 = alloca %closure.56 br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 0, i8* %_8 %1 = invoke zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17hddf92594f87f9699E"(%"slice::Iter"* dereferenceable(4) %0, i1 zeroext true) to label %bb3 unwind label %cleanup bb1: ; preds = %bb4, %bb2 %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %cleanup %3 = load i8, i8* %_8, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb4, label %bb1 bb3: ; preds = %start ret i1 %1 bb4: ; preds = %bb2 store i8 0, i8* %_8 br label %bb1 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h32cceede8c6c41e6E"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %_6 = alloca %closure.62 br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 0, i8* %_8 %1 = invoke zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17hc66918e18b574f70E"(%"slice::Iter"* dereferenceable(4) %0, i1 zeroext true) to label %bb3 unwind label %cleanup bb1: ; preds = %bb4, %bb2 %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %cleanup %3 = load i8, i8* %_8, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb4, label %bb1 bb3: ; preds = %start ret i1 %1 bb4: ; preds = %bb2 store i8 0, i8* %_8 br label %bb1 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h38ff66cbd24c548bE"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %_6 = alloca %closure.59 br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 0, i8* %_8 %1 = invoke zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17h358aaa5968e60a28E"(%"slice::Iter"* dereferenceable(4) %0, i1 zeroext true) to label %bb3 unwind label %cleanup bb1: ; preds = %bb4, %bb2 %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %cleanup %3 = load i8, i8* %_8, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb4, label %bb1 bb3: ; preds = %start ret i1 %1 bb4: ; preds = %bb2 store i8 0, i8* %_8 br label %bb1 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17h5b32bac03b1c4599E"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %_6 = alloca %closure.61 br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 0, i8* %_8 %1 = invoke zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17hffe98f567e19b0a5E"(%"slice::Iter"* dereferenceable(4) %0, i1 zeroext true) to label %bb3 unwind label %cleanup bb1: ; preds = %bb4, %bb2 %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %cleanup %3 = load i8, i8* %_8, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb4, label %bb1 bb3: ; preds = %start ret i1 %1 bb4: ; preds = %bb2 store i8 0, i8* %_8 br label %bb1 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17ha2916d238c4f2003E"(%"slice::Iter"* dereferenceable(4), i8*) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %_7 = alloca %closure.54 %_6 = alloca %closure.64 %predicate = alloca %closure.54 %abi_cast = alloca i8* %arg1 = alloca %closure.54 store i8* %1, i8** %abi_cast %2 = bitcast %closure.54* %arg1 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_8 %4 = bitcast %closure.54* %arg1 to i8* %5 = bitcast %closure.54* %predicate to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 2, i32 2, i1 false) %6 = bitcast %closure.54* %predicate to i8* %7 = bitcast %closure.54* %_7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 2, i32 2, i1 false) store i8 1, i8* %_8 %8 = getelementptr inbounds %closure.64, %closure.64* %_6, i32 0, i32 0 %9 = bitcast %closure.54* %_7 to i8* %10 = bitcast %closure.54* %8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 2, i32 2, i1 false) store i8 0, i8* %_8 %11 = bitcast %closure.64* %_6 to i8** %12 = load i8*, i8** %11, align 2 %13 = invoke zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17h25a4c4e0b2f6b058E"(%"slice::Iter"* dereferenceable(4) %0, i1 zeroext true, i8* %12) to label %bb3 unwind label %cleanup bb1: ; preds = %bb4, %bb2 %14 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %14 bb2: ; preds = %cleanup %15 = load i8, i8* %_8, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb4, label %bb1 bb3: ; preds = %start ret i1 %13 bb4: ; preds = %bb2 store i8 0, i8* %_8 br label %bb1 cleanup: ; preds = %start %17 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %17, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17hda243ab982c432aeE"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %_6 = alloca %closure.60 br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 0, i8* %_8 %1 = invoke zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17hbcee394895fa0a74E"(%"slice::Iter"* dereferenceable(4) %0, i1 zeroext true) to label %bb3 unwind label %cleanup bb1: ; preds = %bb4, %bb2 %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %cleanup %3 = load i8, i8* %_8, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb4, label %bb1 bb3: ; preds = %start ret i1 %1 bb4: ; preds = %bb2 store i8 0, i8* %_8 br label %bb1 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17he88efb31aeef7751E"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_8 = alloca i8 %_6 = alloca %closure.63 br label %start start: ; preds = %entry-block store i8 0, i8* %_8 store i8 1, i8* %_8 store i8 0, i8* %_8 %1 = invoke zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17h5757cb3a3b1c0285E"(%"slice::Iter"* dereferenceable(4) %0, i1 zeroext true) to label %bb3 unwind label %cleanup bb1: ; preds = %bb4, %bb2 %2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %2 bb2: ; preds = %cleanup %3 = load i8, i8* %_8, !range !2 %4 = trunc i8 %3 to i1 br i1 %4, label %bb4, label %bb1 bb3: ; preds = %start ret i1 %1 bb4: ; preds = %bb2 store i8 0, i8* %_8 br label %bb1 cleanup: ; preds = %start %5 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %5, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h05e510031969d46cE"(%closure.55*, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_6 = alloca { i32* } %_0 = alloca %"slice::SearchWhile" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.55, %closure.55* %0, i32 0, i32 0 %3 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 store i32* %1, i32** %3 %4 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 %5 = load i32*, i32** %4 %6 = call zeroext i1 @"_ZN4core3num6bignum8Big32x407div_rem28_$u7b$$u7b$closure$u7d$$u7d$17h8d895e732f53b809E"(%closure.49* %2, i32* noalias readonly dereferenceable(4) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 0, i8* %7 br label %bb4 bb3: ; preds = %bb1 %8 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 1, i8* %8 %9 = bitcast %"slice::SearchWhile"* %_0 to { i8, i8 }* %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %9, i32 0, i32 1 store i8 0, i8* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 %11 = bitcast %"slice::SearchWhile"* %_0 to i16* %12 = load i16, i16* %11, align 1 ret i16 %12 } ; Function Attrs: uwtable define internal i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h0b4a149aa990e1eaE"(%closure.56*, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_6 = alloca { i32* } %_0 = alloca %"slice::SearchWhile" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.56, %closure.56* %0, i32 0, i32 0 %3 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 store i32* %1, i32** %3 %4 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 %5 = load i32*, i32** %4 %6 = call zeroext i1 @"_ZN76_$LT$$RF$$u27$a$u20$$u5b$char$u5d$$u20$as$u20$core..str..pattern..CharEq$GT$10only_ascii28_$u7b$$u7b$closure$u7d$$u7d$17h4fbf25044587cd53E"(%closure.40* %2, i32* noalias readonly dereferenceable(4) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 0, i8* %7 br label %bb4 bb3: ; preds = %bb1 %8 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 1, i8* %8 %9 = bitcast %"slice::SearchWhile"* %_0 to { i8, i8 }* %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %9, i32 0, i32 1 store i8 0, i8* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 %11 = bitcast %"slice::SearchWhile"* %_0 to i16* %12 = load i16, i16* %11, align 1 ret i16 %12 } ; Function Attrs: uwtable define internal i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h20e2974ba4757155E"(%closure.57*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: %_6 = alloca { i8* } %_0 = alloca %"slice::SearchWhile" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.57, %closure.57* %0, i32 0, i32 0 %3 = getelementptr inbounds { i8* }, { i8* }* %_6, i32 0, i32 0 store i8* %1, i8** %3 %4 = getelementptr inbounds { i8* }, { i8* }* %_6, i32 0, i32 0 %5 = load i8*, i8** %4 %6 = call zeroext i1 @"_ZN4core3num6bignum5tests6Big8x37div_rem28_$u7b$$u7b$closure$u7d$$u7d$17ha2026c1e9fc28090E"(%closure.53* %2, i8* noalias readonly dereferenceable(1) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 0, i8* %7 br label %bb4 bb3: ; preds = %bb1 %8 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 1, i8* %8 %9 = bitcast %"slice::SearchWhile"* %_0 to { i8, i8 }* %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %9, i32 0, i32 1 store i8 0, i8* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 %11 = bitcast %"slice::SearchWhile"* %_0 to i16* %12 = load i16, i16* %11, align 1 ret i16 %12 } ; Function Attrs: uwtable define internal i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h25b511f45ad051cfE"(%closure.58*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: %_6 = alloca { i8* } %_0 = alloca %"slice::SearchWhile" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.58, %closure.58* %0, i32 0, i32 0 %3 = getelementptr inbounds { i8* }, { i8* }* %_6, i32 0, i32 0 store i8* %1, i8** %3 %4 = getelementptr inbounds { i8* }, { i8* }* %_6, i32 0, i32 0 %5 = load i8*, i8** %4 %6 = call zeroext i1 @"_ZN4core3num6bignum5tests6Big8x37is_zero28_$u7b$$u7b$closure$u7d$$u7d$17h93be6c1cde77e53eE"(%closure.50* %2, i8* noalias readonly dereferenceable(1) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 0, i8* %7 br label %bb4 bb3: ; preds = %bb1 %8 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 1, i8* %8 %9 = bitcast %"slice::SearchWhile"* %_0 to { i8, i8 }* %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %9, i32 0, i32 1 store i8 0, i8* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 %11 = bitcast %"slice::SearchWhile"* %_0 to i16* %12 = load i16, i16* %11, align 1 ret i16 %12 } ; Function Attrs: uwtable define internal i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h7a75a6edfcda676fE"(%closure.59*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: %_6 = alloca { i8* } %_0 = alloca %"slice::SearchWhile" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.59, %closure.59* %0, i32 0, i32 0 %3 = getelementptr inbounds { i8* }, { i8* }* %_6, i32 0, i32 0 store i8* %1, i8** %3 %4 = getelementptr inbounds { i8* }, { i8* }* %_6, i32 0, i32 0 %5 = load i8*, i8** %4 %6 = call zeroext i1 @"_ZN4core3num6bignum5tests6Big8x38mul_pow228_$u7b$$u7b$closure$u7d$$u7d$17hbf43e1db2329b2c9E"(%closure.51* %2, i8* noalias readonly dereferenceable(1) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 0, i8* %7 br label %bb4 bb3: ; preds = %bb1 %8 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 1, i8* %8 %9 = bitcast %"slice::SearchWhile"* %_0 to { i8, i8 }* %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %9, i32 0, i32 1 store i8 0, i8* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 %11 = bitcast %"slice::SearchWhile"* %_0 to i16* %12 = load i16, i16* %11, align 1 ret i16 %12 } ; Function Attrs: uwtable define internal i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h930bada91290ac70E"(%closure.60*, i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: %_6 = alloca { i8* } %_0 = alloca %"slice::SearchWhile" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.60, %closure.60* %0, i32 0, i32 0 %3 = getelementptr inbounds { i8* }, { i8* }* %_6, i32 0, i32 0 store i8* %1, i8** %3 %4 = getelementptr inbounds { i8* }, { i8* }* %_6, i32 0, i32 0 %5 = load i8*, i8** %4 %6 = call zeroext i1 @"_ZN4core3num6bignum5tests6Big8x37div_rem28_$u7b$$u7b$closure$u7d$$u7d$17hc1c8636d8adb49b6E"(%closure.52* %2, i8* noalias readonly dereferenceable(1) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 0, i8* %7 br label %bb4 bb3: ; preds = %bb1 %8 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 1, i8* %8 %9 = bitcast %"slice::SearchWhile"* %_0 to { i8, i8 }* %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %9, i32 0, i32 1 store i8 0, i8* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 %11 = bitcast %"slice::SearchWhile"* %_0 to i16* %12 = load i16, i16* %11, align 1 ret i16 %12 } ; Function Attrs: uwtable define internal i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hd18509cfe884c26bE"(%closure.61*, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_6 = alloca { i32* } %_0 = alloca %"slice::SearchWhile" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.61, %closure.61* %0, i32 0, i32 0 %3 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 store i32* %1, i32** %3 %4 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 %5 = load i32*, i32** %4 %6 = call zeroext i1 @"_ZN4core3num6bignum8Big32x407is_zero28_$u7b$$u7b$closure$u7d$$u7d$17hade006385022775fE"(%closure.46* %2, i32* noalias readonly dereferenceable(4) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 0, i8* %7 br label %bb4 bb3: ; preds = %bb1 %8 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 1, i8* %8 %9 = bitcast %"slice::SearchWhile"* %_0 to { i8, i8 }* %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %9, i32 0, i32 1 store i8 0, i8* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 %11 = bitcast %"slice::SearchWhile"* %_0 to i16* %12 = load i16, i16* %11, align 1 ret i16 %12 } ; Function Attrs: uwtable define internal i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hee5d2c4a82eac4cbE"(%closure.62*, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_6 = alloca { i32* } %_0 = alloca %"slice::SearchWhile" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.62, %closure.62* %0, i32 0, i32 0 %3 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 store i32* %1, i32** %3 %4 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 %5 = load i32*, i32** %4 %6 = call zeroext i1 @"_ZN4core3num6bignum8Big32x408mul_pow228_$u7b$$u7b$closure$u7d$$u7d$17hd3bcc76d6e0f2383E"(%closure.47* %2, i32* noalias readonly dereferenceable(4) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 0, i8* %7 br label %bb4 bb3: ; preds = %bb1 %8 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 1, i8* %8 %9 = bitcast %"slice::SearchWhile"* %_0 to { i8, i8 }* %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %9, i32 0, i32 1 store i8 0, i8* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 %11 = bitcast %"slice::SearchWhile"* %_0 to i16* %12 = load i16, i16* %11, align 1 ret i16 %12 } ; Function Attrs: uwtable define internal i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hfa421669f963dae0E"(%closure.63*, i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_6 = alloca { i32* } %_0 = alloca %"slice::SearchWhile" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.63, %closure.63* %0, i32 0, i32 0 %3 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 store i32* %1, i32** %3 %4 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 %5 = load i32*, i32** %4 %6 = call zeroext i1 @"_ZN4core3num6bignum8Big32x407div_rem28_$u7b$$u7b$closure$u7d$$u7d$17h831b4f98ac158820E"(%closure.48* %2, i32* noalias readonly dereferenceable(4) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 0, i8* %7 br label %bb4 bb3: ; preds = %bb1 %8 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 1, i8* %8 %9 = bitcast %"slice::SearchWhile"* %_0 to { i8, i8 }* %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %9, i32 0, i32 1 store i8 0, i8* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 %11 = bitcast %"slice::SearchWhile"* %_0 to i16* %12 = load i16, i16* %11, align 1 ret i16 %12 } ; Function Attrs: uwtable define internal i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hfc6a30c68ca9be33E"(%closure.64* dereferenceable(2), i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_6 = alloca { i32* } %_0 = alloca %"slice::SearchWhile" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.64, %closure.64* %0, i32 0, i32 0 %3 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 store i32* %1, i32** %3 %4 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 %5 = load i32*, i32** %4 %6 = call zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3any28_$u7b$$u7b$closure$u7d$$u7d$17hd7cd91a72a44e7efE"(%closure.54* dereferenceable(2) %2, i32* noalias readonly dereferenceable(4) %5) br label %bb1 bb1: ; preds = %start br i1 %6, label %bb2, label %bb3 bb2: ; preds = %bb1 %7 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 0, i8* %7 br label %bb4 bb3: ; preds = %bb1 %8 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_0, i32 0, i32 0 store i8 1, i8* %8 %9 = bitcast %"slice::SearchWhile"* %_0 to { i8, i8 }* %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %9, i32 0, i32 1 store i8 0, i8* %10 br label %bb4 bb4: ; preds = %bb3, %bb2 %11 = bitcast %"slice::SearchWhile"* %_0 to i16* %12 = load i16, i16* %11, align 1 ret i16 %12 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3any17h8b7e67c3650a5d5dE"(%"slice::Iter"* dereferenceable(4), i8*) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_9 = alloca i8 %_8 = alloca %closure.39 %_7 = alloca %closure.54 %predicate = alloca %closure.39 %abi_cast = alloca i8* %arg1 = alloca %closure.39 store i8* %1, i8** %abi_cast %2 = bitcast %closure.39* %arg1 to i8* %3 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %2, i8* %3, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_9 %4 = bitcast %closure.39* %arg1 to i8* %5 = bitcast %closure.39* %predicate to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 2, i32 2, i1 false) %6 = bitcast %closure.39* %predicate to i8* %7 = bitcast %closure.39* %_8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 2, i32 2, i1 false) store i8 1, i8* %_9 %8 = getelementptr inbounds %closure.54, %closure.54* %_7, i32 0, i32 0 %9 = bitcast %closure.39* %_8 to i8* %10 = bitcast %closure.39* %8 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %9, i16 2, i32 2, i1 false) store i8 0, i8* %_9 %11 = bitcast %closure.54* %_7 to i8** %12 = load i8*, i8** %11, align 2 %13 = invoke zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all17ha2916d238c4f2003E"(%"slice::Iter"* dereferenceable(4) %0, i8* %12) to label %bb3 unwind label %cleanup bb1: ; preds = %bb4, %bb2 %14 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %14 bb2: ; preds = %cleanup %15 = load i8, i8* %_9, !range !2 %16 = trunc i8 %15 to i1 br i1 %16, label %bb4, label %bb1 bb3: ; preds = %start %17 = xor i1 %13, true ret i1 %17 bb4: ; preds = %bb2 store i8 0, i8* %_9 br label %bb1 cleanup: ; preds = %start %18 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %18, { i8*, i32 }* %personalityslot br label %bb2 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3any28_$u7b$$u7b$closure$u7d$$u7d$17hd7cd91a72a44e7efE"(%closure.54* dereferenceable(2), i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: %_6 = alloca { i32* } br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %closure.54, %closure.54* %0, i32 0, i32 0 %3 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 store i32* %1, i32** %3 %4 = getelementptr inbounds { i32* }, { i32* }* %_6, i32 0, i32 0 %5 = load i32*, i32** %4 %6 = call zeroext i1 @"_ZN76_$LT$$RF$$u27$a$u20$$u5b$char$u5d$$u20$as$u20$core..str..pattern..CharEq$GT$7matches28_$u7b$$u7b$closure$u7d$$u7d$17h14751ce9772c8823E"(%closure.39* dereferenceable(2) %2, i32* noalias readonly dereferenceable(4) %5) br label %bb1 bb1: ; preds = %start %7 = xor i1 %6, true ret i1 %7 } ; Function Attrs: uwtable define internal void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9rposition17hd792fffa72235e1bE"(%"option::Option"* noalias nocapture sret dereferenceable(4), %"slice::Iter"* dereferenceable(4)) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %arg = alloca %closure.65 %personalityslot = alloca { i8*, i32 } %_13 = alloca i8 %_12 = alloca i8 %_9 = alloca %closure.65 %_8 = alloca %"option::Option" %self = alloca %"slice::Iter"* br label %start start: ; preds = %entry-block store i8 0, i8* %_13 store i8 0, i8* %_12 store %"slice::Iter"* %1, %"slice::Iter"** %self store i8 1, i8* %_12 %2 = invoke i16 @"_ZN82_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..traits..ExactSizeIterator$GT$3len17he758f464c70b2c85E"(%"slice::Iter"** noalias readonly dereferenceable(2) %self) to label %bb2 unwind label %cleanup bb1: ; preds = %bb5, %bb6 %3 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %3 bb2: ; preds = %start %4 = load %"slice::Iter"*, %"slice::Iter"** %self, !nonnull !1 %5 = getelementptr inbounds %"option::Option", %"option::Option"* %_8, i32 0, i32 0 store i16 0, i16* %5 store i8 0, i8* %_12 store i8 1, i8* %_13 %6 = getelementptr inbounds %closure.65, %closure.65* %_9, i32 0, i32 0 store i16 %2, i16* %6 store i8 0, i8* %_13 %7 = getelementptr inbounds %closure.65, %closure.65* %_9, i32 0, i32 0 %8 = getelementptr inbounds %closure.65, %closure.65* %_9, i32 0, i32 1 %9 = load i16, i16* %7 %10 = getelementptr inbounds %closure.65, %closure.65* %arg, i32 0, i32 0 store i16 %9, i16* %10 %11 = getelementptr inbounds %closure.65, %closure.65* %arg, i32 0, i32 1 store %closure undef, %closure* %11 %12 = bitcast %closure.65* %arg to i16* %13 = load i16, i16* %12, align 2 invoke void @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$13rsearch_while17h6faf128ae98a7804E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %0, %"slice::Iter"* dereferenceable(4) %4, %"option::Option"* noalias nocapture dereferenceable(4) %_8, i16 %13) to label %bb4 unwind label %cleanup1 bb3: ; preds = %cleanup1 %14 = load i8, i8* %_13, !range !2 %15 = trunc i8 %14 to i1 br i1 %15, label %bb7, label %bb6 bb4: ; preds = %bb2 ret void bb5: ; preds = %bb6 store i8 0, i8* %_12 br label %bb1 bb6: ; preds = %bb7, %bb3, %cleanup %16 = load i8, i8* %_12, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb5, label %bb1 bb7: ; preds = %bb3 store i8 0, i8* %_13 br label %bb6 cleanup: ; preds = %start %18 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %18, { i8*, i32 }* %personalityslot br label %bb6 cleanup1: ; preds = %bb2 %19 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %19, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: uwtable define internal void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9rposition28_$u7b$$u7b$closure$u7d$$u7d$17hfdacb90499dffd0eE"(%"slice::SearchWhile>"* noalias nocapture sret dereferenceable(6), %closure.65* dereferenceable(2), i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: %_9 = alloca %"option::Option" %_7 = alloca { i8* } br label %start start: ; preds = %entry-block %3 = getelementptr inbounds %closure.65, %closure.65* %1, i32 0, i32 0 %4 = load i16, i16* %3 %5 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 1) %6 = extractvalue { i16, i1 } %5, 0 %7 = extractvalue { i16, i1 } %5, 1 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic, label %bb1 bb1: ; preds = %start %9 = getelementptr inbounds %closure.65, %closure.65* %1, i32 0, i32 0 store i16 %6, i16* %9 %10 = getelementptr inbounds %closure.65, %closure.65* %1, i32 0, i32 1 %11 = getelementptr inbounds { i8* }, { i8* }* %_7, i32 0, i32 0 store i8* %2, i8** %11 %12 = getelementptr inbounds { i8* }, { i8* }* %_7, i32 0, i32 0 %13 = load i8*, i8** %12 %14 = call zeroext i1 @"_ZN4core3num7flt2dec8round_up28_$u7b$$u7b$closure$u7d$$u7d$17h60b46e2503297567E"(%closure* %10, i8* noalias readonly dereferenceable(1) %13) br label %bb2 bb2: ; preds = %bb1 br i1 %14, label %bb3, label %bb4 bb3: ; preds = %bb2 %15 = getelementptr inbounds %closure.65, %closure.65* %1, i32 0, i32 0 %16 = load i16, i16* %15 %17 = getelementptr inbounds %"option::Option", %"option::Option"* %_9, i32 0, i32 0 store i16 1, i16* %17 %18 = bitcast %"option::Option"* %_9 to { i16, i16 }* %19 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %18, i32 0, i32 1 store i16 %16, i16* %19 %20 = getelementptr inbounds %"slice::SearchWhile>", %"slice::SearchWhile>"* %0, i32 0, i32 0 store i16 1, i16* %20 %21 = bitcast %"slice::SearchWhile>"* %0 to { i16, %"option::Option" }* %22 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %21, i32 0, i32 1 %23 = bitcast %"option::Option"* %_9 to i8* %24 = bitcast %"option::Option"* %22 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %23, i16 4, i32 2, i1 false) br label %bb5 bb4: ; preds = %bb2 %25 = getelementptr inbounds %"slice::SearchWhile>", %"slice::SearchWhile>"* %0, i32 0, i32 0 store i16 0, i16* %25 br label %bb5 bb5: ; preds = %bb4, %bb3 ret void panic: ; preds = %start call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.dN) unreachable } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc313ae25f96c851cE"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca i32* %_17 = alloca i32* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %4 = load i32*, i32** %3 %5 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h120af63052ada8bcE"(i32* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %8 = load i32*, i32** %7 %9 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h120af63052ada8bcE"(i32* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %12 = load i32*, i32** %11 %13 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %14 = load i32*, i32** %13 %15 = icmp eq i32* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %17 = load i32*, i32** %16 %18 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() %19 = icmp eq i16 %18, 0 br i1 %19, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %20 = bitcast i32* %17 to i8* %21 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %20, i16 -1) %22 = bitcast i8* %21 to i32* store i32* %22, i32** %_0.i.i br label %_ZN4core5slice10PointerExt7pre_dec17h36a91287f76af486E.exit bb3.i.i: ; preds = %bb10 %23 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %17, i16 -1) store i32* %23, i32** %_0.i.i br label %_ZN4core5slice10PointerExt7pre_dec17h36a91287f76af486E.exit _ZN4core5slice10PointerExt7pre_dec17h36a91287f76af486E.exit: ; preds = %bb2.i.i, %bb3.i.i %24 = load i32*, i32** %_0.i.i store i32* %24, i32** %16 %25 = load i32*, i32** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt7pre_dec17h36a91287f76af486E.exit %26 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb12 bb12: ; preds = %bb11 %27 = icmp eq i16 %26, 0 br i1 %27, label %bb13, label %bb14 bb13: ; preds = %bb12 store i32* inttoptr (i16 1 to i32*), i32** %_17 br label %bb15 bb14: ; preds = %bb12 store i32* %25, i32** %_17 br label %bb15 bb15: ; preds = %bb14, %bb13 %28 = load i32*, i32** %_17, !nonnull !1 %29 = bitcast i8** %_0 to i32** store i32* %28, i32** %29 br label %bb16 bb16: ; preds = %bb15, %bb9 %30 = load i8*, i8** %_0 ret i8* %30 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hf0e04bed97ba5f83E"(%"slice::Iter"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca i8* %_17 = alloca i8* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %4 = load i8*, i8** %3 %5 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h906caa45cc6dd689E"(i8* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %8 = load i8*, i8** %7 %9 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h906caa45cc6dd689E"(i8* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %12 = load i8*, i8** %11 %13 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %14 = load i8*, i8** %13 %15 = icmp eq i8* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %17 = load i8*, i8** %16 %18 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() %19 = icmp eq i16 %18, 0 br i1 %19, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %20 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %17, i16 -1) store i8* %20, i8** %_0.i.i br label %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit bb3.i.i: ; preds = %bb10 %21 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %17, i16 -1) store i8* %21, i8** %_0.i.i br label %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit _ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit: ; preds = %bb2.i.i, %bb3.i.i %22 = load i8*, i8** %_0.i.i store i8* %22, i8** %16 %23 = load i8*, i8** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit %24 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb12 bb12: ; preds = %bb11 %25 = icmp eq i16 %24, 0 br i1 %25, label %bb13, label %bb14 bb13: ; preds = %bb12 store i8* inttoptr (i16 1 to i8*), i8** %_17 br label %bb15 bb14: ; preds = %bb12 store i8* %23, i8** %_17 br label %bb15 bb15: ; preds = %bb14, %bb13 %26 = load i8*, i8** %_17, !nonnull !1 store i8* %26, i8** %_0 br label %bb16 bb16: ; preds = %bb15, %bb9 %27 = load i8*, i8** %_0 ret i8* %27 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17h1d6fa1e4241017e5E"(%"slice::Iter"* dereferenceable(4), i1 zeroext) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %_0.i.i37 = alloca i32* %_0.i.i28 = alloca i32* %_0.i.i19 = alloca i32* %_0.i.i10 = alloca i32* %_0.i.i = alloca i32* %_5.i = alloca %"option::Option" %_0.i = alloca i16 %abi_cast4 = alloca i16 %abi_cast3 = alloca i16 %abi_cast2 = alloca i16 %abi_cast1 = alloca i16 %abi_cast = alloca i16 %personalityslot = alloca { i8*, i32 } %_103 = alloca i8 %_102 = alloca i8 %_101 = alloca i8 %_100 = alloca i8 %_99 = alloca i8 %_98 = alloca i8 %_85 = alloca i32* %_84 = alloca { i32* } %_82 = alloca %"slice::SearchWhile" %_81 = alloca {} %_66 = alloca i32* %_65 = alloca { i32* } %_63 = alloca %"slice::SearchWhile" %_62 = alloca {} %_50 = alloca i32* %_49 = alloca { i32* } %_47 = alloca %"slice::SearchWhile" %_46 = alloca {} %_34 = alloca i32* %_33 = alloca { i32* } %_31 = alloca %"slice::SearchWhile" %_30 = alloca {} %_18 = alloca i32* %_17 = alloca { i32* } %_15 = alloca %"slice::SearchWhile" %_14 = alloca {} %_11 = alloca {} %_8 = alloca {} %_7 = alloca {} %g = alloca %closure.55 %_0 = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %_103 store i8 0, i8* %_100 store i8 0, i8* %_101 store i8 0, i8* %_102 store i8 0, i8* %_99 store i8 0, i8* %_98 store i8 1, i8* %_98 br label %bb1 bb1: ; preds = %bb52, %start %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %3 = load i32*, i32** %2 %4 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %5 = load i32*, i32** %4 invoke void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h4b91a05d9203a938E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i32* %3, i32* %5) to label %.noexc unwind label %cleanup .noexc: ; preds = %bb1 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %7 = load i16, i16* %6, !range !3 %cond = icmp eq i16 %7, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %.noexc %8 = ptrtoint i32* %5 to i16 %9 = ptrtoint i32* %3 to i16 %10 = invoke i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %8, i16 %9) to label %.noexc5 unwind label %cleanup .noexc5: ; preds = %bb2.i store i16 %10, i16* %_0.i br label %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit bb3.i: ; preds = %.noexc %11 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 store i16 %13, i16* %_0.i br label %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit _ZN4core5slice11ptrdistance17he3964f8501e26525E.exit: ; preds = %bb3.i, %.noexc5 %14 = load i16, i16* %_0.i br label %bb6 bb2: ; preds = %bb6 br label %bb53 bb3: ; preds = %bb67, %bb4 %15 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %15 bb4: ; preds = %bb5 %16 = load i8, i8* %_98, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb67, label %bb3 bb5: ; preds = %cleanup br label %bb4 bb6: ; preds = %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit %18 = icmp uge i16 %14, 4 br i1 %18, label %bb7, label %bb2 bb7: ; preds = %bb6 %19 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %20 = load i32*, i32** %19 %21 = load i32*, i32** %19 %22 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc6 unwind label %cleanup .noexc6: ; preds = %bb7 %23 = icmp eq i16 %22, 0 br i1 %23, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %.noexc6 %24 = bitcast i32* %21 to i8* %25 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %24, i16 1) to label %.noexc7 unwind label %cleanup .noexc7: ; preds = %bb2.i.i %26 = bitcast i8* %25 to i32* store i32* %26, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit bb3.i.i: ; preds = %.noexc6 %27 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %21, i16 1) to label %.noexc8 unwind label %cleanup .noexc8: ; preds = %bb3.i.i store i32* %27, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit: ; preds = %.noexc7, %.noexc8 %28 = load i32*, i32** %_0.i.i store i32* %28, i32** %19 br label %bb8 bb8: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit %29 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit: ; preds = %bb8 br label %bb9 bb9: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit %30 = icmp eq i16 %29, 0 br i1 %30, label %bb10, label %bb11 bb10: ; preds = %bb9 store i32* inttoptr (i16 1 to i32*), i32** %_18 br label %bb12 bb11: ; preds = %bb9 store i32* %20, i32** %_18 br label %bb12 bb12: ; preds = %bb11, %bb10 %31 = load i32*, i32** %_18, !nonnull !1 %32 = getelementptr inbounds { i32* }, { i32* }* %_17, i32 0, i32 0 store i32* %31, i32** %32 %33 = getelementptr inbounds { i32* }, { i32* }* %_17, i32 0, i32 0 %34 = load i32*, i32** %33 %35 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h05e510031969d46cE"(%closure.55* %g, i32* noalias readonly dereferenceable(4) %34) to label %bb13 unwind label %cleanup bb13: ; preds = %bb12 store i16 %35, i16* %abi_cast %36 = bitcast %"slice::SearchWhile"* %_15 to i8* %37 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %36, i8* %37, i16 2, i32 1, i1 false) store i8 1, i8* %_99 %38 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %39 = load i8, i8* %38, !range !2 %40 = zext i8 %39 to i16 switch i16 %40, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 store i8 0, i8* %_99 br label %bb22 bb15: ; preds = %bb13 store i8 0, i8* %_99 %41 = bitcast %"slice::SearchWhile"* %_15 to { i8, i8 }* %42 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %41, i32 0, i32 1 %43 = load i8, i8* %42, !range !2 %44 = trunc i8 %43 to i1 %45 = zext i1 %44 to i8 store i8 %45, i8* %_0 %46 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %47 = load i8, i8* %46, !range !2 %48 = zext i8 %47 to i16 switch i16 %48, label %bb68 [ i16 1, label %bb17 ] bb16: ; preds = %bb66, %bb21 %49 = load i8, i8* %_0, !range !2 %50 = trunc i8 %49 to i1 ret i1 %50 bb17: ; preds = %bb68, %bb15 br label %bb18 bb18: ; preds = %bb51, %bb41, %bb31, %bb17 br label %bb19 bb19: ; preds = %bb64, %bb18 br label %bb20 bb20: ; preds = %bb19 store i8 0, i8* %_98 br label %bb21 bb21: ; preds = %bb20 br label %bb16 bb22: ; preds = %bb14 %51 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %52 = load i32*, i32** %51 %53 = load i32*, i32** %51 %54 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc13 unwind label %cleanup .noexc13: ; preds = %bb22 %55 = icmp eq i16 %54, 0 br i1 %55, label %bb2.i.i11, label %bb3.i.i12 bb2.i.i11: ; preds = %.noexc13 %56 = bitcast i32* %53 to i8* %57 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %56, i16 1) to label %.noexc14 unwind label %cleanup .noexc14: ; preds = %bb2.i.i11 %58 = bitcast i8* %57 to i32* store i32* %58, i32** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16 bb3.i.i12: ; preds = %.noexc13 %59 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %53, i16 1) to label %.noexc15 unwind label %cleanup .noexc15: ; preds = %bb3.i.i12 store i32* %59, i32** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16: ; preds = %.noexc14, %.noexc15 %60 = load i32*, i32** %_0.i.i10 store i32* %60, i32** %51 br label %bb23 bb23: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16 %61 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit18 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit18: ; preds = %bb23 br label %bb24 bb24: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit18 %62 = icmp eq i16 %61, 0 br i1 %62, label %bb25, label %bb26 bb25: ; preds = %bb24 store i32* inttoptr (i16 1 to i32*), i32** %_34 br label %bb27 bb26: ; preds = %bb24 store i32* %52, i32** %_34 br label %bb27 bb27: ; preds = %bb26, %bb25 %63 = load i32*, i32** %_34, !nonnull !1 %64 = getelementptr inbounds { i32* }, { i32* }* %_33, i32 0, i32 0 store i32* %63, i32** %64 %65 = getelementptr inbounds { i32* }, { i32* }* %_33, i32 0, i32 0 %66 = load i32*, i32** %65 %67 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h05e510031969d46cE"(%closure.55* %g, i32* noalias readonly dereferenceable(4) %66) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 store i16 %67, i16* %abi_cast1 %68 = bitcast %"slice::SearchWhile"* %_31 to i8* %69 = bitcast i16* %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %68, i8* %69, i16 2, i32 1, i1 false) store i8 1, i8* %_100 %70 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %71 = load i8, i8* %70, !range !2 %72 = zext i8 %71 to i16 switch i16 %72, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 store i8 0, i8* %_100 br label %bb32 bb30: ; preds = %bb28 store i8 0, i8* %_100 %73 = bitcast %"slice::SearchWhile"* %_31 to { i8, i8 }* %74 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %73, i32 0, i32 1 %75 = load i8, i8* %74, !range !2 %76 = trunc i8 %75 to i1 %77 = zext i1 %76 to i8 store i8 %77, i8* %_0 %78 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %79 = load i8, i8* %78, !range !2 %80 = zext i8 %79 to i16 switch i16 %80, label %bb69 [ i16 1, label %bb31 ] bb31: ; preds = %bb69, %bb30 br label %bb18 bb32: ; preds = %bb29 %81 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %82 = load i32*, i32** %81 %83 = load i32*, i32** %81 %84 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc22 unwind label %cleanup .noexc22: ; preds = %bb32 %85 = icmp eq i16 %84, 0 br i1 %85, label %bb2.i.i20, label %bb3.i.i21 bb2.i.i20: ; preds = %.noexc22 %86 = bitcast i32* %83 to i8* %87 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %86, i16 1) to label %.noexc23 unwind label %cleanup .noexc23: ; preds = %bb2.i.i20 %88 = bitcast i8* %87 to i32* store i32* %88, i32** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25 bb3.i.i21: ; preds = %.noexc22 %89 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %83, i16 1) to label %.noexc24 unwind label %cleanup .noexc24: ; preds = %bb3.i.i21 store i32* %89, i32** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25: ; preds = %.noexc23, %.noexc24 %90 = load i32*, i32** %_0.i.i19 store i32* %90, i32** %81 br label %bb33 bb33: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25 %91 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit27 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit27: ; preds = %bb33 br label %bb34 bb34: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit27 %92 = icmp eq i16 %91, 0 br i1 %92, label %bb35, label %bb36 bb35: ; preds = %bb34 store i32* inttoptr (i16 1 to i32*), i32** %_50 br label %bb37 bb36: ; preds = %bb34 store i32* %82, i32** %_50 br label %bb37 bb37: ; preds = %bb36, %bb35 %93 = load i32*, i32** %_50, !nonnull !1 %94 = getelementptr inbounds { i32* }, { i32* }* %_49, i32 0, i32 0 store i32* %93, i32** %94 %95 = getelementptr inbounds { i32* }, { i32* }* %_49, i32 0, i32 0 %96 = load i32*, i32** %95 %97 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h05e510031969d46cE"(%closure.55* %g, i32* noalias readonly dereferenceable(4) %96) to label %bb38 unwind label %cleanup bb38: ; preds = %bb37 store i16 %97, i16* %abi_cast2 %98 = bitcast %"slice::SearchWhile"* %_47 to i8* %99 = bitcast i16* %abi_cast2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %98, i8* %99, i16 2, i32 1, i1 false) store i8 1, i8* %_101 %100 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %101 = load i8, i8* %100, !range !2 %102 = zext i8 %101 to i16 switch i16 %102, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 0, i8* %_101 br label %bb42 bb40: ; preds = %bb38 store i8 0, i8* %_101 %103 = bitcast %"slice::SearchWhile"* %_47 to { i8, i8 }* %104 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %103, i32 0, i32 1 %105 = load i8, i8* %104, !range !2 %106 = trunc i8 %105 to i1 %107 = zext i1 %106 to i8 store i8 %107, i8* %_0 %108 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %109 = load i8, i8* %108, !range !2 %110 = zext i8 %109 to i16 switch i16 %110, label %bb70 [ i16 1, label %bb41 ] bb41: ; preds = %bb70, %bb40 br label %bb18 bb42: ; preds = %bb39 %111 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %112 = load i32*, i32** %111 %113 = load i32*, i32** %111 %114 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc31 unwind label %cleanup .noexc31: ; preds = %bb42 %115 = icmp eq i16 %114, 0 br i1 %115, label %bb2.i.i29, label %bb3.i.i30 bb2.i.i29: ; preds = %.noexc31 %116 = bitcast i32* %113 to i8* %117 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %116, i16 1) to label %.noexc32 unwind label %cleanup .noexc32: ; preds = %bb2.i.i29 %118 = bitcast i8* %117 to i32* store i32* %118, i32** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34 bb3.i.i30: ; preds = %.noexc31 %119 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %113, i16 1) to label %.noexc33 unwind label %cleanup .noexc33: ; preds = %bb3.i.i30 store i32* %119, i32** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34: ; preds = %.noexc32, %.noexc33 %120 = load i32*, i32** %_0.i.i28 store i32* %120, i32** %111 br label %bb43 bb43: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34 %121 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit36 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit36: ; preds = %bb43 br label %bb44 bb44: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit36 %122 = icmp eq i16 %121, 0 br i1 %122, label %bb45, label %bb46 bb45: ; preds = %bb44 store i32* inttoptr (i16 1 to i32*), i32** %_66 br label %bb47 bb46: ; preds = %bb44 store i32* %112, i32** %_66 br label %bb47 bb47: ; preds = %bb46, %bb45 %123 = load i32*, i32** %_66, !nonnull !1 %124 = getelementptr inbounds { i32* }, { i32* }* %_65, i32 0, i32 0 store i32* %123, i32** %124 %125 = getelementptr inbounds { i32* }, { i32* }* %_65, i32 0, i32 0 %126 = load i32*, i32** %125 %127 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h05e510031969d46cE"(%closure.55* %g, i32* noalias readonly dereferenceable(4) %126) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 store i16 %127, i16* %abi_cast3 %128 = bitcast %"slice::SearchWhile"* %_63 to i8* %129 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %128, i8* %129, i16 2, i32 1, i1 false) store i8 1, i8* %_102 %130 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %131 = load i8, i8* %130, !range !2 %132 = zext i8 %131 to i16 switch i16 %132, label %bb50 [ i16 0, label %bb49 ] bb49: ; preds = %bb48 store i8 0, i8* %_102 br label %bb52 bb50: ; preds = %bb48 store i8 0, i8* %_102 %133 = bitcast %"slice::SearchWhile"* %_63 to { i8, i8 }* %134 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %133, i32 0, i32 1 %135 = load i8, i8* %134, !range !2 %136 = trunc i8 %135 to i1 %137 = zext i1 %136 to i8 store i8 %137, i8* %_0 %138 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %139 = load i8, i8* %138, !range !2 %140 = zext i8 %139 to i16 switch i16 %140, label %bb71 [ i16 1, label %bb51 ] bb51: ; preds = %bb71, %bb50 br label %bb18 bb52: ; preds = %bb49 br label %bb1 bb53: ; preds = %bb65, %bb2 %141 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %142 = load i32*, i32** %141 %143 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %144 = load i32*, i32** %143 %145 = icmp ne i32* %142, %144 br i1 %145, label %bb55, label %bb54 bb54: ; preds = %bb53 store i8 0, i8* %_98 %146 = zext i1 %1 to i8 store i8 %146, i8* %_0 br label %bb66 bb55: ; preds = %bb53 %147 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %148 = load i32*, i32** %147 %149 = load i32*, i32** %147 %150 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc40 unwind label %cleanup .noexc40: ; preds = %bb55 %151 = icmp eq i16 %150, 0 br i1 %151, label %bb2.i.i38, label %bb3.i.i39 bb2.i.i38: ; preds = %.noexc40 %152 = bitcast i32* %149 to i8* %153 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %152, i16 1) to label %.noexc41 unwind label %cleanup .noexc41: ; preds = %bb2.i.i38 %154 = bitcast i8* %153 to i32* store i32* %154, i32** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43 bb3.i.i39: ; preds = %.noexc40 %155 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %149, i16 1) to label %.noexc42 unwind label %cleanup .noexc42: ; preds = %bb3.i.i39 store i32* %155, i32** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43: ; preds = %.noexc41, %.noexc42 %156 = load i32*, i32** %_0.i.i37 store i32* %156, i32** %147 br label %bb56 bb56: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43 %157 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit45 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit45: ; preds = %bb56 br label %bb57 bb57: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit45 %158 = icmp eq i16 %157, 0 br i1 %158, label %bb58, label %bb59 bb58: ; preds = %bb57 store i32* inttoptr (i16 1 to i32*), i32** %_85 br label %bb60 bb59: ; preds = %bb57 store i32* %148, i32** %_85 br label %bb60 bb60: ; preds = %bb59, %bb58 %159 = load i32*, i32** %_85, !nonnull !1 %160 = getelementptr inbounds { i32* }, { i32* }* %_84, i32 0, i32 0 store i32* %159, i32** %160 %161 = getelementptr inbounds { i32* }, { i32* }* %_84, i32 0, i32 0 %162 = load i32*, i32** %161 %163 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h05e510031969d46cE"(%closure.55* %g, i32* noalias readonly dereferenceable(4) %162) to label %bb61 unwind label %cleanup bb61: ; preds = %bb60 store i16 %163, i16* %abi_cast4 %164 = bitcast %"slice::SearchWhile"* %_82 to i8* %165 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %164, i8* %165, i16 2, i32 1, i1 false) store i8 1, i8* %_103 %166 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %167 = load i8, i8* %166, !range !2 %168 = zext i8 %167 to i16 switch i16 %168, label %bb63 [ i16 0, label %bb62 ] bb62: ; preds = %bb61 store i8 0, i8* %_103 br label %bb65 bb63: ; preds = %bb61 store i8 0, i8* %_103 %169 = bitcast %"slice::SearchWhile"* %_82 to { i8, i8 }* %170 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %169, i32 0, i32 1 %171 = load i8, i8* %170, !range !2 %172 = trunc i8 %171 to i1 %173 = zext i1 %172 to i8 store i8 %173, i8* %_0 %174 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %175 = load i8, i8* %174, !range !2 %176 = zext i8 %175 to i16 switch i16 %176, label %bb72 [ i16 1, label %bb64 ] bb64: ; preds = %bb72, %bb63 br label %bb19 bb65: ; preds = %bb62 br label %bb53 bb66: ; preds = %bb54 br label %bb16 bb67: ; preds = %bb4 store i8 0, i8* %_98 br label %bb3 bb68: ; preds = %bb15 br label %bb17 bb69: ; preds = %bb30 br label %bb31 bb70: ; preds = %bb40 br label %bb41 bb71: ; preds = %bb50 br label %bb51 bb72: ; preds = %bb63 br label %bb64 cleanup: ; preds = %bb56, %bb3.i.i39, %bb2.i.i38, %bb55, %bb43, %bb3.i.i30, %bb2.i.i29, %bb42, %bb33, %bb3.i.i21, %bb2.i.i20, %bb32, %bb23, %bb3.i.i12, %bb2.i.i11, %bb22, %bb8, %bb3.i.i, %bb2.i.i, %bb7, %bb2.i, %bb1, %bb60, %bb47, %bb37, %bb27, %bb12 %177 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %177, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17h25a4c4e0b2f6b058E"(%"slice::Iter"* dereferenceable(4), i1 zeroext, i8*) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast5 = alloca i16 %abi_cast4 = alloca i16 %abi_cast3 = alloca i16 %abi_cast2 = alloca i16 %abi_cast1 = alloca i16 %personalityslot = alloca { i8*, i32 } %_103 = alloca i8 %_102 = alloca i8 %_101 = alloca i8 %_100 = alloca i8 %_99 = alloca i8 %_98 = alloca i8 %_85 = alloca i32* %_84 = alloca { i32* } %_82 = alloca %"slice::SearchWhile" %_81 = alloca {} %_66 = alloca i32* %_65 = alloca { i32* } %_63 = alloca %"slice::SearchWhile" %_62 = alloca {} %_50 = alloca i32* %_49 = alloca { i32* } %_47 = alloca %"slice::SearchWhile" %_46 = alloca {} %_34 = alloca i32* %_33 = alloca { i32* } %_31 = alloca %"slice::SearchWhile" %_30 = alloca {} %_18 = alloca i32* %_17 = alloca { i32* } %_15 = alloca %"slice::SearchWhile" %_14 = alloca {} %_11 = alloca {} %_8 = alloca {} %_7 = alloca {} %g = alloca %closure.64 %_0 = alloca i8 %abi_cast = alloca i8* %arg2 = alloca %closure.64 store i8* %2, i8** %abi_cast %3 = bitcast %closure.64* %arg2 to i8* %4 = bitcast i8** %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %4, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_103 store i8 0, i8* %_100 store i8 0, i8* %_101 store i8 0, i8* %_102 store i8 0, i8* %_99 store i8 0, i8* %_98 store i8 1, i8* %_98 %5 = bitcast %closure.64* %arg2 to i8* %6 = bitcast %closure.64* %g to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %5, i16 2, i32 2, i1 false) br label %bb1 bb1: ; preds = %bb52, %start %7 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %8 = load i32*, i32** %7 %9 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %10 = load i32*, i32** %9 %11 = invoke i16 @_ZN4core5slice11ptrdistance17h42e4f1abab57ca8fE(i32* %8, i32* %10) to label %bb6 unwind label %cleanup bb2: ; preds = %bb6 br label %bb53 bb3: ; preds = %bb67, %bb4 %12 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %12 bb4: ; preds = %bb5 %13 = load i8, i8* %_98, !range !2 %14 = trunc i8 %13 to i1 br i1 %14, label %bb67, label %bb3 bb5: ; preds = %cleanup br label %bb4 bb6: ; preds = %bb1 %15 = icmp uge i16 %11, 4 br i1 %15, label %bb7, label %bb2 bb7: ; preds = %bb6 %16 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %17 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE(i32** dereferenceable(2) %16) to label %bb8 unwind label %cleanup bb8: ; preds = %bb7 %18 = invoke i16 @_ZN4core5slice13size_from_ptr17h5b91925189f404d3E(i32* %17) to label %bb9 unwind label %cleanup bb9: ; preds = %bb8 %19 = icmp eq i16 %18, 0 br i1 %19, label %bb10, label %bb11 bb10: ; preds = %bb9 store i32* inttoptr (i16 1 to i32*), i32** %_18 br label %bb12 bb11: ; preds = %bb9 store i32* %17, i32** %_18 br label %bb12 bb12: ; preds = %bb11, %bb10 %20 = load i32*, i32** %_18, !nonnull !1 %21 = getelementptr inbounds { i32* }, { i32* }* %_17, i32 0, i32 0 store i32* %20, i32** %21 %22 = getelementptr inbounds { i32* }, { i32* }* %_17, i32 0, i32 0 %23 = load i32*, i32** %22 %24 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hfc6a30c68ca9be33E"(%closure.64* dereferenceable(2) %g, i32* noalias readonly dereferenceable(4) %23) to label %bb13 unwind label %cleanup bb13: ; preds = %bb12 store i16 %24, i16* %abi_cast1 %25 = bitcast %"slice::SearchWhile"* %_15 to i8* %26 = bitcast i16* %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %25, i8* %26, i16 2, i32 1, i1 false) store i8 1, i8* %_99 %27 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %28 = load i8, i8* %27, !range !2 %29 = zext i8 %28 to i16 switch i16 %29, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 store i8 0, i8* %_99 br label %bb22 bb15: ; preds = %bb13 store i8 0, i8* %_99 %30 = bitcast %"slice::SearchWhile"* %_15 to { i8, i8 }* %31 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %30, i32 0, i32 1 %32 = load i8, i8* %31, !range !2 %33 = trunc i8 %32 to i1 %34 = zext i1 %33 to i8 store i8 %34, i8* %_0 %35 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %36 = load i8, i8* %35, !range !2 %37 = zext i8 %36 to i16 switch i16 %37, label %bb68 [ i16 1, label %bb17 ] bb16: ; preds = %bb66, %bb21 %38 = load i8, i8* %_0, !range !2 %39 = trunc i8 %38 to i1 ret i1 %39 bb17: ; preds = %bb68, %bb15 br label %bb18 bb18: ; preds = %bb51, %bb41, %bb31, %bb17 br label %bb19 bb19: ; preds = %bb64, %bb18 br label %bb20 bb20: ; preds = %bb19 store i8 0, i8* %_98 br label %bb21 bb21: ; preds = %bb20 br label %bb16 bb22: ; preds = %bb14 %40 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %41 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE(i32** dereferenceable(2) %40) to label %bb23 unwind label %cleanup bb23: ; preds = %bb22 %42 = invoke i16 @_ZN4core5slice13size_from_ptr17h5b91925189f404d3E(i32* %41) to label %bb24 unwind label %cleanup bb24: ; preds = %bb23 %43 = icmp eq i16 %42, 0 br i1 %43, label %bb25, label %bb26 bb25: ; preds = %bb24 store i32* inttoptr (i16 1 to i32*), i32** %_34 br label %bb27 bb26: ; preds = %bb24 store i32* %41, i32** %_34 br label %bb27 bb27: ; preds = %bb26, %bb25 %44 = load i32*, i32** %_34, !nonnull !1 %45 = getelementptr inbounds { i32* }, { i32* }* %_33, i32 0, i32 0 store i32* %44, i32** %45 %46 = getelementptr inbounds { i32* }, { i32* }* %_33, i32 0, i32 0 %47 = load i32*, i32** %46 %48 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hfc6a30c68ca9be33E"(%closure.64* dereferenceable(2) %g, i32* noalias readonly dereferenceable(4) %47) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 store i16 %48, i16* %abi_cast2 %49 = bitcast %"slice::SearchWhile"* %_31 to i8* %50 = bitcast i16* %abi_cast2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %49, i8* %50, i16 2, i32 1, i1 false) store i8 1, i8* %_100 %51 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %52 = load i8, i8* %51, !range !2 %53 = zext i8 %52 to i16 switch i16 %53, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 store i8 0, i8* %_100 br label %bb32 bb30: ; preds = %bb28 store i8 0, i8* %_100 %54 = bitcast %"slice::SearchWhile"* %_31 to { i8, i8 }* %55 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %54, i32 0, i32 1 %56 = load i8, i8* %55, !range !2 %57 = trunc i8 %56 to i1 %58 = zext i1 %57 to i8 store i8 %58, i8* %_0 %59 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %60 = load i8, i8* %59, !range !2 %61 = zext i8 %60 to i16 switch i16 %61, label %bb69 [ i16 1, label %bb31 ] bb31: ; preds = %bb69, %bb30 br label %bb18 bb32: ; preds = %bb29 %62 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %63 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE(i32** dereferenceable(2) %62) to label %bb33 unwind label %cleanup bb33: ; preds = %bb32 %64 = invoke i16 @_ZN4core5slice13size_from_ptr17h5b91925189f404d3E(i32* %63) to label %bb34 unwind label %cleanup bb34: ; preds = %bb33 %65 = icmp eq i16 %64, 0 br i1 %65, label %bb35, label %bb36 bb35: ; preds = %bb34 store i32* inttoptr (i16 1 to i32*), i32** %_50 br label %bb37 bb36: ; preds = %bb34 store i32* %63, i32** %_50 br label %bb37 bb37: ; preds = %bb36, %bb35 %66 = load i32*, i32** %_50, !nonnull !1 %67 = getelementptr inbounds { i32* }, { i32* }* %_49, i32 0, i32 0 store i32* %66, i32** %67 %68 = getelementptr inbounds { i32* }, { i32* }* %_49, i32 0, i32 0 %69 = load i32*, i32** %68 %70 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hfc6a30c68ca9be33E"(%closure.64* dereferenceable(2) %g, i32* noalias readonly dereferenceable(4) %69) to label %bb38 unwind label %cleanup bb38: ; preds = %bb37 store i16 %70, i16* %abi_cast3 %71 = bitcast %"slice::SearchWhile"* %_47 to i8* %72 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %71, i8* %72, i16 2, i32 1, i1 false) store i8 1, i8* %_101 %73 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %74 = load i8, i8* %73, !range !2 %75 = zext i8 %74 to i16 switch i16 %75, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 0, i8* %_101 br label %bb42 bb40: ; preds = %bb38 store i8 0, i8* %_101 %76 = bitcast %"slice::SearchWhile"* %_47 to { i8, i8 }* %77 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %76, i32 0, i32 1 %78 = load i8, i8* %77, !range !2 %79 = trunc i8 %78 to i1 %80 = zext i1 %79 to i8 store i8 %80, i8* %_0 %81 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %82 = load i8, i8* %81, !range !2 %83 = zext i8 %82 to i16 switch i16 %83, label %bb70 [ i16 1, label %bb41 ] bb41: ; preds = %bb70, %bb40 br label %bb18 bb42: ; preds = %bb39 %84 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %85 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE(i32** dereferenceable(2) %84) to label %bb43 unwind label %cleanup bb43: ; preds = %bb42 %86 = invoke i16 @_ZN4core5slice13size_from_ptr17h5b91925189f404d3E(i32* %85) to label %bb44 unwind label %cleanup bb44: ; preds = %bb43 %87 = icmp eq i16 %86, 0 br i1 %87, label %bb45, label %bb46 bb45: ; preds = %bb44 store i32* inttoptr (i16 1 to i32*), i32** %_66 br label %bb47 bb46: ; preds = %bb44 store i32* %85, i32** %_66 br label %bb47 bb47: ; preds = %bb46, %bb45 %88 = load i32*, i32** %_66, !nonnull !1 %89 = getelementptr inbounds { i32* }, { i32* }* %_65, i32 0, i32 0 store i32* %88, i32** %89 %90 = getelementptr inbounds { i32* }, { i32* }* %_65, i32 0, i32 0 %91 = load i32*, i32** %90 %92 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hfc6a30c68ca9be33E"(%closure.64* dereferenceable(2) %g, i32* noalias readonly dereferenceable(4) %91) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 store i16 %92, i16* %abi_cast4 %93 = bitcast %"slice::SearchWhile"* %_63 to i8* %94 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %93, i8* %94, i16 2, i32 1, i1 false) store i8 1, i8* %_102 %95 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %96 = load i8, i8* %95, !range !2 %97 = zext i8 %96 to i16 switch i16 %97, label %bb50 [ i16 0, label %bb49 ] bb49: ; preds = %bb48 store i8 0, i8* %_102 br label %bb52 bb50: ; preds = %bb48 store i8 0, i8* %_102 %98 = bitcast %"slice::SearchWhile"* %_63 to { i8, i8 }* %99 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %98, i32 0, i32 1 %100 = load i8, i8* %99, !range !2 %101 = trunc i8 %100 to i1 %102 = zext i1 %101 to i8 store i8 %102, i8* %_0 %103 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %104 = load i8, i8* %103, !range !2 %105 = zext i8 %104 to i16 switch i16 %105, label %bb71 [ i16 1, label %bb51 ] bb51: ; preds = %bb71, %bb50 br label %bb18 bb52: ; preds = %bb49 br label %bb1 bb53: ; preds = %bb65, %bb2 %106 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %107 = load i32*, i32** %106 %108 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %109 = load i32*, i32** %108 %110 = icmp ne i32* %107, %109 br i1 %110, label %bb55, label %bb54 bb54: ; preds = %bb53 store i8 0, i8* %_98 %111 = zext i1 %1 to i8 store i8 %111, i8* %_0 br label %bb66 bb55: ; preds = %bb53 %112 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %113 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE(i32** dereferenceable(2) %112) to label %bb56 unwind label %cleanup bb56: ; preds = %bb55 %114 = invoke i16 @_ZN4core5slice13size_from_ptr17h5b91925189f404d3E(i32* %113) to label %bb57 unwind label %cleanup bb57: ; preds = %bb56 %115 = icmp eq i16 %114, 0 br i1 %115, label %bb58, label %bb59 bb58: ; preds = %bb57 store i32* inttoptr (i16 1 to i32*), i32** %_85 br label %bb60 bb59: ; preds = %bb57 store i32* %113, i32** %_85 br label %bb60 bb60: ; preds = %bb59, %bb58 %116 = load i32*, i32** %_85, !nonnull !1 %117 = getelementptr inbounds { i32* }, { i32* }* %_84, i32 0, i32 0 store i32* %116, i32** %117 %118 = getelementptr inbounds { i32* }, { i32* }* %_84, i32 0, i32 0 %119 = load i32*, i32** %118 %120 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hfc6a30c68ca9be33E"(%closure.64* dereferenceable(2) %g, i32* noalias readonly dereferenceable(4) %119) to label %bb61 unwind label %cleanup bb61: ; preds = %bb60 store i16 %120, i16* %abi_cast5 %121 = bitcast %"slice::SearchWhile"* %_82 to i8* %122 = bitcast i16* %abi_cast5 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %121, i8* %122, i16 2, i32 1, i1 false) store i8 1, i8* %_103 %123 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %124 = load i8, i8* %123, !range !2 %125 = zext i8 %124 to i16 switch i16 %125, label %bb63 [ i16 0, label %bb62 ] bb62: ; preds = %bb61 store i8 0, i8* %_103 br label %bb65 bb63: ; preds = %bb61 store i8 0, i8* %_103 %126 = bitcast %"slice::SearchWhile"* %_82 to { i8, i8 }* %127 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %126, i32 0, i32 1 %128 = load i8, i8* %127, !range !2 %129 = trunc i8 %128 to i1 %130 = zext i1 %129 to i8 store i8 %130, i8* %_0 %131 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %132 = load i8, i8* %131, !range !2 %133 = zext i8 %132 to i16 switch i16 %133, label %bb72 [ i16 1, label %bb64 ] bb64: ; preds = %bb72, %bb63 br label %bb19 bb65: ; preds = %bb62 br label %bb53 bb66: ; preds = %bb54 br label %bb16 bb67: ; preds = %bb4 store i8 0, i8* %_98 br label %bb3 bb68: ; preds = %bb15 br label %bb17 bb69: ; preds = %bb30 br label %bb31 bb70: ; preds = %bb40 br label %bb41 bb71: ; preds = %bb50 br label %bb51 bb72: ; preds = %bb63 br label %bb64 cleanup: ; preds = %bb60, %bb56, %bb55, %bb47, %bb43, %bb42, %bb37, %bb33, %bb32, %bb27, %bb23, %bb22, %bb12, %bb8, %bb7, %bb1 %134 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %134, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17h358aaa5968e60a28E"(%"slice::Iter"* dereferenceable(4), i1 zeroext) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %_0.i.i37 = alloca i8* %_0.i.i28 = alloca i8* %_0.i.i19 = alloca i8* %_0.i.i10 = alloca i8* %_0.i.i = alloca i8* %_5.i = alloca %"option::Option" %_0.i = alloca i16 %abi_cast4 = alloca i16 %abi_cast3 = alloca i16 %abi_cast2 = alloca i16 %abi_cast1 = alloca i16 %abi_cast = alloca i16 %personalityslot = alloca { i8*, i32 } %_103 = alloca i8 %_102 = alloca i8 %_101 = alloca i8 %_100 = alloca i8 %_99 = alloca i8 %_98 = alloca i8 %_85 = alloca i8* %_84 = alloca { i8* } %_82 = alloca %"slice::SearchWhile" %_81 = alloca {} %_66 = alloca i8* %_65 = alloca { i8* } %_63 = alloca %"slice::SearchWhile" %_62 = alloca {} %_50 = alloca i8* %_49 = alloca { i8* } %_47 = alloca %"slice::SearchWhile" %_46 = alloca {} %_34 = alloca i8* %_33 = alloca { i8* } %_31 = alloca %"slice::SearchWhile" %_30 = alloca {} %_18 = alloca i8* %_17 = alloca { i8* } %_15 = alloca %"slice::SearchWhile" %_14 = alloca {} %_11 = alloca {} %_8 = alloca {} %_7 = alloca {} %g = alloca %closure.59 %_0 = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %_103 store i8 0, i8* %_100 store i8 0, i8* %_101 store i8 0, i8* %_102 store i8 0, i8* %_99 store i8 0, i8* %_98 store i8 1, i8* %_98 br label %bb1 bb1: ; preds = %bb52, %start %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %3 = load i8*, i8** %2 %4 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %5 = load i8*, i8** %4 invoke void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h36c1ff4935521ce9E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i8* %3, i8* %5) to label %.noexc unwind label %cleanup .noexc: ; preds = %bb1 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %7 = load i16, i16* %6, !range !3 %cond = icmp eq i16 %7, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %.noexc %8 = ptrtoint i8* %5 to i16 %9 = ptrtoint i8* %3 to i16 %10 = invoke i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %8, i16 %9) to label %.noexc5 unwind label %cleanup .noexc5: ; preds = %bb2.i store i16 %10, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit bb3.i: ; preds = %.noexc %11 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 store i16 %13, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit _ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit: ; preds = %bb3.i, %.noexc5 %14 = load i16, i16* %_0.i br label %bb6 bb2: ; preds = %bb6 br label %bb53 bb3: ; preds = %bb67, %bb4 %15 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %15 bb4: ; preds = %bb5 %16 = load i8, i8* %_98, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb67, label %bb3 bb5: ; preds = %cleanup br label %bb4 bb6: ; preds = %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit %18 = icmp uge i16 %14, 4 br i1 %18, label %bb7, label %bb2 bb7: ; preds = %bb6 %19 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %20 = load i8*, i8** %19 %21 = load i8*, i8** %19 %22 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc6 unwind label %cleanup .noexc6: ; preds = %bb7 %23 = icmp eq i16 %22, 0 br i1 %23, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %.noexc6 %24 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %21, i16 1) to label %.noexc7 unwind label %cleanup .noexc7: ; preds = %bb2.i.i store i8* %24, i8** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit bb3.i.i: ; preds = %.noexc6 %25 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %21, i16 1) to label %.noexc8 unwind label %cleanup .noexc8: ; preds = %bb3.i.i store i8* %25, i8** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit: ; preds = %.noexc7, %.noexc8 %26 = load i8*, i8** %_0.i.i store i8* %26, i8** %19 br label %bb8 bb8: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit %27 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit: ; preds = %bb8 br label %bb9 bb9: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit %28 = icmp eq i16 %27, 0 br i1 %28, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8* inttoptr (i16 1 to i8*), i8** %_18 br label %bb12 bb11: ; preds = %bb9 store i8* %20, i8** %_18 br label %bb12 bb12: ; preds = %bb11, %bb10 %29 = load i8*, i8** %_18, !nonnull !1 %30 = getelementptr inbounds { i8* }, { i8* }* %_17, i32 0, i32 0 store i8* %29, i8** %30 %31 = getelementptr inbounds { i8* }, { i8* }* %_17, i32 0, i32 0 %32 = load i8*, i8** %31 %33 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h7a75a6edfcda676fE"(%closure.59* %g, i8* noalias readonly dereferenceable(1) %32) to label %bb13 unwind label %cleanup bb13: ; preds = %bb12 store i16 %33, i16* %abi_cast %34 = bitcast %"slice::SearchWhile"* %_15 to i8* %35 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %34, i8* %35, i16 2, i32 1, i1 false) store i8 1, i8* %_99 %36 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %37 = load i8, i8* %36, !range !2 %38 = zext i8 %37 to i16 switch i16 %38, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 store i8 0, i8* %_99 br label %bb22 bb15: ; preds = %bb13 store i8 0, i8* %_99 %39 = bitcast %"slice::SearchWhile"* %_15 to { i8, i8 }* %40 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %39, i32 0, i32 1 %41 = load i8, i8* %40, !range !2 %42 = trunc i8 %41 to i1 %43 = zext i1 %42 to i8 store i8 %43, i8* %_0 %44 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %45 = load i8, i8* %44, !range !2 %46 = zext i8 %45 to i16 switch i16 %46, label %bb68 [ i16 1, label %bb17 ] bb16: ; preds = %bb66, %bb21 %47 = load i8, i8* %_0, !range !2 %48 = trunc i8 %47 to i1 ret i1 %48 bb17: ; preds = %bb68, %bb15 br label %bb18 bb18: ; preds = %bb51, %bb41, %bb31, %bb17 br label %bb19 bb19: ; preds = %bb64, %bb18 br label %bb20 bb20: ; preds = %bb19 store i8 0, i8* %_98 br label %bb21 bb21: ; preds = %bb20 br label %bb16 bb22: ; preds = %bb14 %49 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %50 = load i8*, i8** %49 %51 = load i8*, i8** %49 %52 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc13 unwind label %cleanup .noexc13: ; preds = %bb22 %53 = icmp eq i16 %52, 0 br i1 %53, label %bb2.i.i11, label %bb3.i.i12 bb2.i.i11: ; preds = %.noexc13 %54 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %51, i16 1) to label %.noexc14 unwind label %cleanup .noexc14: ; preds = %bb2.i.i11 store i8* %54, i8** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16 bb3.i.i12: ; preds = %.noexc13 %55 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %51, i16 1) to label %.noexc15 unwind label %cleanup .noexc15: ; preds = %bb3.i.i12 store i8* %55, i8** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16: ; preds = %.noexc14, %.noexc15 %56 = load i8*, i8** %_0.i.i10 store i8* %56, i8** %49 br label %bb23 bb23: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16 %57 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18: ; preds = %bb23 br label %bb24 bb24: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18 %58 = icmp eq i16 %57, 0 br i1 %58, label %bb25, label %bb26 bb25: ; preds = %bb24 store i8* inttoptr (i16 1 to i8*), i8** %_34 br label %bb27 bb26: ; preds = %bb24 store i8* %50, i8** %_34 br label %bb27 bb27: ; preds = %bb26, %bb25 %59 = load i8*, i8** %_34, !nonnull !1 %60 = getelementptr inbounds { i8* }, { i8* }* %_33, i32 0, i32 0 store i8* %59, i8** %60 %61 = getelementptr inbounds { i8* }, { i8* }* %_33, i32 0, i32 0 %62 = load i8*, i8** %61 %63 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h7a75a6edfcda676fE"(%closure.59* %g, i8* noalias readonly dereferenceable(1) %62) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 store i16 %63, i16* %abi_cast1 %64 = bitcast %"slice::SearchWhile"* %_31 to i8* %65 = bitcast i16* %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %64, i8* %65, i16 2, i32 1, i1 false) store i8 1, i8* %_100 %66 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %67 = load i8, i8* %66, !range !2 %68 = zext i8 %67 to i16 switch i16 %68, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 store i8 0, i8* %_100 br label %bb32 bb30: ; preds = %bb28 store i8 0, i8* %_100 %69 = bitcast %"slice::SearchWhile"* %_31 to { i8, i8 }* %70 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %69, i32 0, i32 1 %71 = load i8, i8* %70, !range !2 %72 = trunc i8 %71 to i1 %73 = zext i1 %72 to i8 store i8 %73, i8* %_0 %74 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %75 = load i8, i8* %74, !range !2 %76 = zext i8 %75 to i16 switch i16 %76, label %bb69 [ i16 1, label %bb31 ] bb31: ; preds = %bb69, %bb30 br label %bb18 bb32: ; preds = %bb29 %77 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %78 = load i8*, i8** %77 %79 = load i8*, i8** %77 %80 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc22 unwind label %cleanup .noexc22: ; preds = %bb32 %81 = icmp eq i16 %80, 0 br i1 %81, label %bb2.i.i20, label %bb3.i.i21 bb2.i.i20: ; preds = %.noexc22 %82 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %79, i16 1) to label %.noexc23 unwind label %cleanup .noexc23: ; preds = %bb2.i.i20 store i8* %82, i8** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25 bb3.i.i21: ; preds = %.noexc22 %83 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %79, i16 1) to label %.noexc24 unwind label %cleanup .noexc24: ; preds = %bb3.i.i21 store i8* %83, i8** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25: ; preds = %.noexc23, %.noexc24 %84 = load i8*, i8** %_0.i.i19 store i8* %84, i8** %77 br label %bb33 bb33: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25 %85 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27: ; preds = %bb33 br label %bb34 bb34: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27 %86 = icmp eq i16 %85, 0 br i1 %86, label %bb35, label %bb36 bb35: ; preds = %bb34 store i8* inttoptr (i16 1 to i8*), i8** %_50 br label %bb37 bb36: ; preds = %bb34 store i8* %78, i8** %_50 br label %bb37 bb37: ; preds = %bb36, %bb35 %87 = load i8*, i8** %_50, !nonnull !1 %88 = getelementptr inbounds { i8* }, { i8* }* %_49, i32 0, i32 0 store i8* %87, i8** %88 %89 = getelementptr inbounds { i8* }, { i8* }* %_49, i32 0, i32 0 %90 = load i8*, i8** %89 %91 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h7a75a6edfcda676fE"(%closure.59* %g, i8* noalias readonly dereferenceable(1) %90) to label %bb38 unwind label %cleanup bb38: ; preds = %bb37 store i16 %91, i16* %abi_cast2 %92 = bitcast %"slice::SearchWhile"* %_47 to i8* %93 = bitcast i16* %abi_cast2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %92, i8* %93, i16 2, i32 1, i1 false) store i8 1, i8* %_101 %94 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %95 = load i8, i8* %94, !range !2 %96 = zext i8 %95 to i16 switch i16 %96, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 0, i8* %_101 br label %bb42 bb40: ; preds = %bb38 store i8 0, i8* %_101 %97 = bitcast %"slice::SearchWhile"* %_47 to { i8, i8 }* %98 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %97, i32 0, i32 1 %99 = load i8, i8* %98, !range !2 %100 = trunc i8 %99 to i1 %101 = zext i1 %100 to i8 store i8 %101, i8* %_0 %102 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %103 = load i8, i8* %102, !range !2 %104 = zext i8 %103 to i16 switch i16 %104, label %bb70 [ i16 1, label %bb41 ] bb41: ; preds = %bb70, %bb40 br label %bb18 bb42: ; preds = %bb39 %105 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %106 = load i8*, i8** %105 %107 = load i8*, i8** %105 %108 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc31 unwind label %cleanup .noexc31: ; preds = %bb42 %109 = icmp eq i16 %108, 0 br i1 %109, label %bb2.i.i29, label %bb3.i.i30 bb2.i.i29: ; preds = %.noexc31 %110 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %107, i16 1) to label %.noexc32 unwind label %cleanup .noexc32: ; preds = %bb2.i.i29 store i8* %110, i8** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34 bb3.i.i30: ; preds = %.noexc31 %111 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %107, i16 1) to label %.noexc33 unwind label %cleanup .noexc33: ; preds = %bb3.i.i30 store i8* %111, i8** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34: ; preds = %.noexc32, %.noexc33 %112 = load i8*, i8** %_0.i.i28 store i8* %112, i8** %105 br label %bb43 bb43: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34 %113 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36: ; preds = %bb43 br label %bb44 bb44: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36 %114 = icmp eq i16 %113, 0 br i1 %114, label %bb45, label %bb46 bb45: ; preds = %bb44 store i8* inttoptr (i16 1 to i8*), i8** %_66 br label %bb47 bb46: ; preds = %bb44 store i8* %106, i8** %_66 br label %bb47 bb47: ; preds = %bb46, %bb45 %115 = load i8*, i8** %_66, !nonnull !1 %116 = getelementptr inbounds { i8* }, { i8* }* %_65, i32 0, i32 0 store i8* %115, i8** %116 %117 = getelementptr inbounds { i8* }, { i8* }* %_65, i32 0, i32 0 %118 = load i8*, i8** %117 %119 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h7a75a6edfcda676fE"(%closure.59* %g, i8* noalias readonly dereferenceable(1) %118) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 store i16 %119, i16* %abi_cast3 %120 = bitcast %"slice::SearchWhile"* %_63 to i8* %121 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %121, i16 2, i32 1, i1 false) store i8 1, i8* %_102 %122 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %123 = load i8, i8* %122, !range !2 %124 = zext i8 %123 to i16 switch i16 %124, label %bb50 [ i16 0, label %bb49 ] bb49: ; preds = %bb48 store i8 0, i8* %_102 br label %bb52 bb50: ; preds = %bb48 store i8 0, i8* %_102 %125 = bitcast %"slice::SearchWhile"* %_63 to { i8, i8 }* %126 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %125, i32 0, i32 1 %127 = load i8, i8* %126, !range !2 %128 = trunc i8 %127 to i1 %129 = zext i1 %128 to i8 store i8 %129, i8* %_0 %130 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %131 = load i8, i8* %130, !range !2 %132 = zext i8 %131 to i16 switch i16 %132, label %bb71 [ i16 1, label %bb51 ] bb51: ; preds = %bb71, %bb50 br label %bb18 bb52: ; preds = %bb49 br label %bb1 bb53: ; preds = %bb65, %bb2 %133 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %134 = load i8*, i8** %133 %135 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %136 = load i8*, i8** %135 %137 = icmp ne i8* %134, %136 br i1 %137, label %bb55, label %bb54 bb54: ; preds = %bb53 store i8 0, i8* %_98 %138 = zext i1 %1 to i8 store i8 %138, i8* %_0 br label %bb66 bb55: ; preds = %bb53 %139 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %140 = load i8*, i8** %139 %141 = load i8*, i8** %139 %142 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc40 unwind label %cleanup .noexc40: ; preds = %bb55 %143 = icmp eq i16 %142, 0 br i1 %143, label %bb2.i.i38, label %bb3.i.i39 bb2.i.i38: ; preds = %.noexc40 %144 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %141, i16 1) to label %.noexc41 unwind label %cleanup .noexc41: ; preds = %bb2.i.i38 store i8* %144, i8** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43 bb3.i.i39: ; preds = %.noexc40 %145 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %141, i16 1) to label %.noexc42 unwind label %cleanup .noexc42: ; preds = %bb3.i.i39 store i8* %145, i8** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43: ; preds = %.noexc41, %.noexc42 %146 = load i8*, i8** %_0.i.i37 store i8* %146, i8** %139 br label %bb56 bb56: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43 %147 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45: ; preds = %bb56 br label %bb57 bb57: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45 %148 = icmp eq i16 %147, 0 br i1 %148, label %bb58, label %bb59 bb58: ; preds = %bb57 store i8* inttoptr (i16 1 to i8*), i8** %_85 br label %bb60 bb59: ; preds = %bb57 store i8* %140, i8** %_85 br label %bb60 bb60: ; preds = %bb59, %bb58 %149 = load i8*, i8** %_85, !nonnull !1 %150 = getelementptr inbounds { i8* }, { i8* }* %_84, i32 0, i32 0 store i8* %149, i8** %150 %151 = getelementptr inbounds { i8* }, { i8* }* %_84, i32 0, i32 0 %152 = load i8*, i8** %151 %153 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h7a75a6edfcda676fE"(%closure.59* %g, i8* noalias readonly dereferenceable(1) %152) to label %bb61 unwind label %cleanup bb61: ; preds = %bb60 store i16 %153, i16* %abi_cast4 %154 = bitcast %"slice::SearchWhile"* %_82 to i8* %155 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %154, i8* %155, i16 2, i32 1, i1 false) store i8 1, i8* %_103 %156 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %157 = load i8, i8* %156, !range !2 %158 = zext i8 %157 to i16 switch i16 %158, label %bb63 [ i16 0, label %bb62 ] bb62: ; preds = %bb61 store i8 0, i8* %_103 br label %bb65 bb63: ; preds = %bb61 store i8 0, i8* %_103 %159 = bitcast %"slice::SearchWhile"* %_82 to { i8, i8 }* %160 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %159, i32 0, i32 1 %161 = load i8, i8* %160, !range !2 %162 = trunc i8 %161 to i1 %163 = zext i1 %162 to i8 store i8 %163, i8* %_0 %164 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %165 = load i8, i8* %164, !range !2 %166 = zext i8 %165 to i16 switch i16 %166, label %bb72 [ i16 1, label %bb64 ] bb64: ; preds = %bb72, %bb63 br label %bb19 bb65: ; preds = %bb62 br label %bb53 bb66: ; preds = %bb54 br label %bb16 bb67: ; preds = %bb4 store i8 0, i8* %_98 br label %bb3 bb68: ; preds = %bb15 br label %bb17 bb69: ; preds = %bb30 br label %bb31 bb70: ; preds = %bb40 br label %bb41 bb71: ; preds = %bb50 br label %bb51 bb72: ; preds = %bb63 br label %bb64 cleanup: ; preds = %bb56, %bb3.i.i39, %bb2.i.i38, %bb55, %bb43, %bb3.i.i30, %bb2.i.i29, %bb42, %bb33, %bb3.i.i21, %bb2.i.i20, %bb32, %bb23, %bb3.i.i12, %bb2.i.i11, %bb22, %bb8, %bb3.i.i, %bb2.i.i, %bb7, %bb2.i, %bb1, %bb60, %bb47, %bb37, %bb27, %bb12 %167 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %167, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17h5757cb3a3b1c0285E"(%"slice::Iter"* dereferenceable(4), i1 zeroext) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %_0.i.i37 = alloca i32* %_0.i.i28 = alloca i32* %_0.i.i19 = alloca i32* %_0.i.i10 = alloca i32* %_0.i.i = alloca i32* %_5.i = alloca %"option::Option" %_0.i = alloca i16 %abi_cast4 = alloca i16 %abi_cast3 = alloca i16 %abi_cast2 = alloca i16 %abi_cast1 = alloca i16 %abi_cast = alloca i16 %personalityslot = alloca { i8*, i32 } %_103 = alloca i8 %_102 = alloca i8 %_101 = alloca i8 %_100 = alloca i8 %_99 = alloca i8 %_98 = alloca i8 %_85 = alloca i32* %_84 = alloca { i32* } %_82 = alloca %"slice::SearchWhile" %_81 = alloca {} %_66 = alloca i32* %_65 = alloca { i32* } %_63 = alloca %"slice::SearchWhile" %_62 = alloca {} %_50 = alloca i32* %_49 = alloca { i32* } %_47 = alloca %"slice::SearchWhile" %_46 = alloca {} %_34 = alloca i32* %_33 = alloca { i32* } %_31 = alloca %"slice::SearchWhile" %_30 = alloca {} %_18 = alloca i32* %_17 = alloca { i32* } %_15 = alloca %"slice::SearchWhile" %_14 = alloca {} %_11 = alloca {} %_8 = alloca {} %_7 = alloca {} %g = alloca %closure.63 %_0 = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %_103 store i8 0, i8* %_100 store i8 0, i8* %_101 store i8 0, i8* %_102 store i8 0, i8* %_99 store i8 0, i8* %_98 store i8 1, i8* %_98 br label %bb1 bb1: ; preds = %bb52, %start %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %3 = load i32*, i32** %2 %4 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %5 = load i32*, i32** %4 invoke void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h4b91a05d9203a938E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i32* %3, i32* %5) to label %.noexc unwind label %cleanup .noexc: ; preds = %bb1 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %7 = load i16, i16* %6, !range !3 %cond = icmp eq i16 %7, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %.noexc %8 = ptrtoint i32* %5 to i16 %9 = ptrtoint i32* %3 to i16 %10 = invoke i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %8, i16 %9) to label %.noexc5 unwind label %cleanup .noexc5: ; preds = %bb2.i store i16 %10, i16* %_0.i br label %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit bb3.i: ; preds = %.noexc %11 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 store i16 %13, i16* %_0.i br label %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit _ZN4core5slice11ptrdistance17he3964f8501e26525E.exit: ; preds = %bb3.i, %.noexc5 %14 = load i16, i16* %_0.i br label %bb6 bb2: ; preds = %bb6 br label %bb53 bb3: ; preds = %bb67, %bb4 %15 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %15 bb4: ; preds = %bb5 %16 = load i8, i8* %_98, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb67, label %bb3 bb5: ; preds = %cleanup br label %bb4 bb6: ; preds = %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit %18 = icmp uge i16 %14, 4 br i1 %18, label %bb7, label %bb2 bb7: ; preds = %bb6 %19 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %20 = load i32*, i32** %19 %21 = load i32*, i32** %19 %22 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc6 unwind label %cleanup .noexc6: ; preds = %bb7 %23 = icmp eq i16 %22, 0 br i1 %23, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %.noexc6 %24 = bitcast i32* %21 to i8* %25 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %24, i16 1) to label %.noexc7 unwind label %cleanup .noexc7: ; preds = %bb2.i.i %26 = bitcast i8* %25 to i32* store i32* %26, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit bb3.i.i: ; preds = %.noexc6 %27 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %21, i16 1) to label %.noexc8 unwind label %cleanup .noexc8: ; preds = %bb3.i.i store i32* %27, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit: ; preds = %.noexc7, %.noexc8 %28 = load i32*, i32** %_0.i.i store i32* %28, i32** %19 br label %bb8 bb8: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit %29 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit: ; preds = %bb8 br label %bb9 bb9: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit %30 = icmp eq i16 %29, 0 br i1 %30, label %bb10, label %bb11 bb10: ; preds = %bb9 store i32* inttoptr (i16 1 to i32*), i32** %_18 br label %bb12 bb11: ; preds = %bb9 store i32* %20, i32** %_18 br label %bb12 bb12: ; preds = %bb11, %bb10 %31 = load i32*, i32** %_18, !nonnull !1 %32 = getelementptr inbounds { i32* }, { i32* }* %_17, i32 0, i32 0 store i32* %31, i32** %32 %33 = getelementptr inbounds { i32* }, { i32* }* %_17, i32 0, i32 0 %34 = load i32*, i32** %33 %35 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hfa421669f963dae0E"(%closure.63* %g, i32* noalias readonly dereferenceable(4) %34) to label %bb13 unwind label %cleanup bb13: ; preds = %bb12 store i16 %35, i16* %abi_cast %36 = bitcast %"slice::SearchWhile"* %_15 to i8* %37 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %36, i8* %37, i16 2, i32 1, i1 false) store i8 1, i8* %_99 %38 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %39 = load i8, i8* %38, !range !2 %40 = zext i8 %39 to i16 switch i16 %40, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 store i8 0, i8* %_99 br label %bb22 bb15: ; preds = %bb13 store i8 0, i8* %_99 %41 = bitcast %"slice::SearchWhile"* %_15 to { i8, i8 }* %42 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %41, i32 0, i32 1 %43 = load i8, i8* %42, !range !2 %44 = trunc i8 %43 to i1 %45 = zext i1 %44 to i8 store i8 %45, i8* %_0 %46 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %47 = load i8, i8* %46, !range !2 %48 = zext i8 %47 to i16 switch i16 %48, label %bb68 [ i16 1, label %bb17 ] bb16: ; preds = %bb66, %bb21 %49 = load i8, i8* %_0, !range !2 %50 = trunc i8 %49 to i1 ret i1 %50 bb17: ; preds = %bb68, %bb15 br label %bb18 bb18: ; preds = %bb51, %bb41, %bb31, %bb17 br label %bb19 bb19: ; preds = %bb64, %bb18 br label %bb20 bb20: ; preds = %bb19 store i8 0, i8* %_98 br label %bb21 bb21: ; preds = %bb20 br label %bb16 bb22: ; preds = %bb14 %51 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %52 = load i32*, i32** %51 %53 = load i32*, i32** %51 %54 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc13 unwind label %cleanup .noexc13: ; preds = %bb22 %55 = icmp eq i16 %54, 0 br i1 %55, label %bb2.i.i11, label %bb3.i.i12 bb2.i.i11: ; preds = %.noexc13 %56 = bitcast i32* %53 to i8* %57 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %56, i16 1) to label %.noexc14 unwind label %cleanup .noexc14: ; preds = %bb2.i.i11 %58 = bitcast i8* %57 to i32* store i32* %58, i32** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16 bb3.i.i12: ; preds = %.noexc13 %59 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %53, i16 1) to label %.noexc15 unwind label %cleanup .noexc15: ; preds = %bb3.i.i12 store i32* %59, i32** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16: ; preds = %.noexc14, %.noexc15 %60 = load i32*, i32** %_0.i.i10 store i32* %60, i32** %51 br label %bb23 bb23: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16 %61 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit18 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit18: ; preds = %bb23 br label %bb24 bb24: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit18 %62 = icmp eq i16 %61, 0 br i1 %62, label %bb25, label %bb26 bb25: ; preds = %bb24 store i32* inttoptr (i16 1 to i32*), i32** %_34 br label %bb27 bb26: ; preds = %bb24 store i32* %52, i32** %_34 br label %bb27 bb27: ; preds = %bb26, %bb25 %63 = load i32*, i32** %_34, !nonnull !1 %64 = getelementptr inbounds { i32* }, { i32* }* %_33, i32 0, i32 0 store i32* %63, i32** %64 %65 = getelementptr inbounds { i32* }, { i32* }* %_33, i32 0, i32 0 %66 = load i32*, i32** %65 %67 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hfa421669f963dae0E"(%closure.63* %g, i32* noalias readonly dereferenceable(4) %66) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 store i16 %67, i16* %abi_cast1 %68 = bitcast %"slice::SearchWhile"* %_31 to i8* %69 = bitcast i16* %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %68, i8* %69, i16 2, i32 1, i1 false) store i8 1, i8* %_100 %70 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %71 = load i8, i8* %70, !range !2 %72 = zext i8 %71 to i16 switch i16 %72, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 store i8 0, i8* %_100 br label %bb32 bb30: ; preds = %bb28 store i8 0, i8* %_100 %73 = bitcast %"slice::SearchWhile"* %_31 to { i8, i8 }* %74 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %73, i32 0, i32 1 %75 = load i8, i8* %74, !range !2 %76 = trunc i8 %75 to i1 %77 = zext i1 %76 to i8 store i8 %77, i8* %_0 %78 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %79 = load i8, i8* %78, !range !2 %80 = zext i8 %79 to i16 switch i16 %80, label %bb69 [ i16 1, label %bb31 ] bb31: ; preds = %bb69, %bb30 br label %bb18 bb32: ; preds = %bb29 %81 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %82 = load i32*, i32** %81 %83 = load i32*, i32** %81 %84 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc22 unwind label %cleanup .noexc22: ; preds = %bb32 %85 = icmp eq i16 %84, 0 br i1 %85, label %bb2.i.i20, label %bb3.i.i21 bb2.i.i20: ; preds = %.noexc22 %86 = bitcast i32* %83 to i8* %87 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %86, i16 1) to label %.noexc23 unwind label %cleanup .noexc23: ; preds = %bb2.i.i20 %88 = bitcast i8* %87 to i32* store i32* %88, i32** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25 bb3.i.i21: ; preds = %.noexc22 %89 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %83, i16 1) to label %.noexc24 unwind label %cleanup .noexc24: ; preds = %bb3.i.i21 store i32* %89, i32** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25: ; preds = %.noexc23, %.noexc24 %90 = load i32*, i32** %_0.i.i19 store i32* %90, i32** %81 br label %bb33 bb33: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25 %91 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit27 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit27: ; preds = %bb33 br label %bb34 bb34: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit27 %92 = icmp eq i16 %91, 0 br i1 %92, label %bb35, label %bb36 bb35: ; preds = %bb34 store i32* inttoptr (i16 1 to i32*), i32** %_50 br label %bb37 bb36: ; preds = %bb34 store i32* %82, i32** %_50 br label %bb37 bb37: ; preds = %bb36, %bb35 %93 = load i32*, i32** %_50, !nonnull !1 %94 = getelementptr inbounds { i32* }, { i32* }* %_49, i32 0, i32 0 store i32* %93, i32** %94 %95 = getelementptr inbounds { i32* }, { i32* }* %_49, i32 0, i32 0 %96 = load i32*, i32** %95 %97 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hfa421669f963dae0E"(%closure.63* %g, i32* noalias readonly dereferenceable(4) %96) to label %bb38 unwind label %cleanup bb38: ; preds = %bb37 store i16 %97, i16* %abi_cast2 %98 = bitcast %"slice::SearchWhile"* %_47 to i8* %99 = bitcast i16* %abi_cast2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %98, i8* %99, i16 2, i32 1, i1 false) store i8 1, i8* %_101 %100 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %101 = load i8, i8* %100, !range !2 %102 = zext i8 %101 to i16 switch i16 %102, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 0, i8* %_101 br label %bb42 bb40: ; preds = %bb38 store i8 0, i8* %_101 %103 = bitcast %"slice::SearchWhile"* %_47 to { i8, i8 }* %104 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %103, i32 0, i32 1 %105 = load i8, i8* %104, !range !2 %106 = trunc i8 %105 to i1 %107 = zext i1 %106 to i8 store i8 %107, i8* %_0 %108 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %109 = load i8, i8* %108, !range !2 %110 = zext i8 %109 to i16 switch i16 %110, label %bb70 [ i16 1, label %bb41 ] bb41: ; preds = %bb70, %bb40 br label %bb18 bb42: ; preds = %bb39 %111 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %112 = load i32*, i32** %111 %113 = load i32*, i32** %111 %114 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc31 unwind label %cleanup .noexc31: ; preds = %bb42 %115 = icmp eq i16 %114, 0 br i1 %115, label %bb2.i.i29, label %bb3.i.i30 bb2.i.i29: ; preds = %.noexc31 %116 = bitcast i32* %113 to i8* %117 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %116, i16 1) to label %.noexc32 unwind label %cleanup .noexc32: ; preds = %bb2.i.i29 %118 = bitcast i8* %117 to i32* store i32* %118, i32** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34 bb3.i.i30: ; preds = %.noexc31 %119 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %113, i16 1) to label %.noexc33 unwind label %cleanup .noexc33: ; preds = %bb3.i.i30 store i32* %119, i32** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34: ; preds = %.noexc32, %.noexc33 %120 = load i32*, i32** %_0.i.i28 store i32* %120, i32** %111 br label %bb43 bb43: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34 %121 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit36 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit36: ; preds = %bb43 br label %bb44 bb44: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit36 %122 = icmp eq i16 %121, 0 br i1 %122, label %bb45, label %bb46 bb45: ; preds = %bb44 store i32* inttoptr (i16 1 to i32*), i32** %_66 br label %bb47 bb46: ; preds = %bb44 store i32* %112, i32** %_66 br label %bb47 bb47: ; preds = %bb46, %bb45 %123 = load i32*, i32** %_66, !nonnull !1 %124 = getelementptr inbounds { i32* }, { i32* }* %_65, i32 0, i32 0 store i32* %123, i32** %124 %125 = getelementptr inbounds { i32* }, { i32* }* %_65, i32 0, i32 0 %126 = load i32*, i32** %125 %127 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hfa421669f963dae0E"(%closure.63* %g, i32* noalias readonly dereferenceable(4) %126) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 store i16 %127, i16* %abi_cast3 %128 = bitcast %"slice::SearchWhile"* %_63 to i8* %129 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %128, i8* %129, i16 2, i32 1, i1 false) store i8 1, i8* %_102 %130 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %131 = load i8, i8* %130, !range !2 %132 = zext i8 %131 to i16 switch i16 %132, label %bb50 [ i16 0, label %bb49 ] bb49: ; preds = %bb48 store i8 0, i8* %_102 br label %bb52 bb50: ; preds = %bb48 store i8 0, i8* %_102 %133 = bitcast %"slice::SearchWhile"* %_63 to { i8, i8 }* %134 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %133, i32 0, i32 1 %135 = load i8, i8* %134, !range !2 %136 = trunc i8 %135 to i1 %137 = zext i1 %136 to i8 store i8 %137, i8* %_0 %138 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %139 = load i8, i8* %138, !range !2 %140 = zext i8 %139 to i16 switch i16 %140, label %bb71 [ i16 1, label %bb51 ] bb51: ; preds = %bb71, %bb50 br label %bb18 bb52: ; preds = %bb49 br label %bb1 bb53: ; preds = %bb65, %bb2 %141 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %142 = load i32*, i32** %141 %143 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %144 = load i32*, i32** %143 %145 = icmp ne i32* %142, %144 br i1 %145, label %bb55, label %bb54 bb54: ; preds = %bb53 store i8 0, i8* %_98 %146 = zext i1 %1 to i8 store i8 %146, i8* %_0 br label %bb66 bb55: ; preds = %bb53 %147 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %148 = load i32*, i32** %147 %149 = load i32*, i32** %147 %150 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc40 unwind label %cleanup .noexc40: ; preds = %bb55 %151 = icmp eq i16 %150, 0 br i1 %151, label %bb2.i.i38, label %bb3.i.i39 bb2.i.i38: ; preds = %.noexc40 %152 = bitcast i32* %149 to i8* %153 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %152, i16 1) to label %.noexc41 unwind label %cleanup .noexc41: ; preds = %bb2.i.i38 %154 = bitcast i8* %153 to i32* store i32* %154, i32** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43 bb3.i.i39: ; preds = %.noexc40 %155 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %149, i16 1) to label %.noexc42 unwind label %cleanup .noexc42: ; preds = %bb3.i.i39 store i32* %155, i32** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43: ; preds = %.noexc41, %.noexc42 %156 = load i32*, i32** %_0.i.i37 store i32* %156, i32** %147 br label %bb56 bb56: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43 %157 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit45 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit45: ; preds = %bb56 br label %bb57 bb57: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit45 %158 = icmp eq i16 %157, 0 br i1 %158, label %bb58, label %bb59 bb58: ; preds = %bb57 store i32* inttoptr (i16 1 to i32*), i32** %_85 br label %bb60 bb59: ; preds = %bb57 store i32* %148, i32** %_85 br label %bb60 bb60: ; preds = %bb59, %bb58 %159 = load i32*, i32** %_85, !nonnull !1 %160 = getelementptr inbounds { i32* }, { i32* }* %_84, i32 0, i32 0 store i32* %159, i32** %160 %161 = getelementptr inbounds { i32* }, { i32* }* %_84, i32 0, i32 0 %162 = load i32*, i32** %161 %163 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hfa421669f963dae0E"(%closure.63* %g, i32* noalias readonly dereferenceable(4) %162) to label %bb61 unwind label %cleanup bb61: ; preds = %bb60 store i16 %163, i16* %abi_cast4 %164 = bitcast %"slice::SearchWhile"* %_82 to i8* %165 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %164, i8* %165, i16 2, i32 1, i1 false) store i8 1, i8* %_103 %166 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %167 = load i8, i8* %166, !range !2 %168 = zext i8 %167 to i16 switch i16 %168, label %bb63 [ i16 0, label %bb62 ] bb62: ; preds = %bb61 store i8 0, i8* %_103 br label %bb65 bb63: ; preds = %bb61 store i8 0, i8* %_103 %169 = bitcast %"slice::SearchWhile"* %_82 to { i8, i8 }* %170 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %169, i32 0, i32 1 %171 = load i8, i8* %170, !range !2 %172 = trunc i8 %171 to i1 %173 = zext i1 %172 to i8 store i8 %173, i8* %_0 %174 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %175 = load i8, i8* %174, !range !2 %176 = zext i8 %175 to i16 switch i16 %176, label %bb72 [ i16 1, label %bb64 ] bb64: ; preds = %bb72, %bb63 br label %bb19 bb65: ; preds = %bb62 br label %bb53 bb66: ; preds = %bb54 br label %bb16 bb67: ; preds = %bb4 store i8 0, i8* %_98 br label %bb3 bb68: ; preds = %bb15 br label %bb17 bb69: ; preds = %bb30 br label %bb31 bb70: ; preds = %bb40 br label %bb41 bb71: ; preds = %bb50 br label %bb51 bb72: ; preds = %bb63 br label %bb64 cleanup: ; preds = %bb56, %bb3.i.i39, %bb2.i.i38, %bb55, %bb43, %bb3.i.i30, %bb2.i.i29, %bb42, %bb33, %bb3.i.i21, %bb2.i.i20, %bb32, %bb23, %bb3.i.i12, %bb2.i.i11, %bb22, %bb8, %bb3.i.i, %bb2.i.i, %bb7, %bb2.i, %bb1, %bb60, %bb47, %bb37, %bb27, %bb12 %177 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %177, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17h74fdc86d4478e2aaE"(%"slice::Iter"* dereferenceable(4), i1 zeroext) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %_0.i.i37 = alloca i8* %_0.i.i28 = alloca i8* %_0.i.i19 = alloca i8* %_0.i.i10 = alloca i8* %_0.i.i = alloca i8* %_5.i = alloca %"option::Option" %_0.i = alloca i16 %abi_cast4 = alloca i16 %abi_cast3 = alloca i16 %abi_cast2 = alloca i16 %abi_cast1 = alloca i16 %abi_cast = alloca i16 %personalityslot = alloca { i8*, i32 } %_103 = alloca i8 %_102 = alloca i8 %_101 = alloca i8 %_100 = alloca i8 %_99 = alloca i8 %_98 = alloca i8 %_85 = alloca i8* %_84 = alloca { i8* } %_82 = alloca %"slice::SearchWhile" %_81 = alloca {} %_66 = alloca i8* %_65 = alloca { i8* } %_63 = alloca %"slice::SearchWhile" %_62 = alloca {} %_50 = alloca i8* %_49 = alloca { i8* } %_47 = alloca %"slice::SearchWhile" %_46 = alloca {} %_34 = alloca i8* %_33 = alloca { i8* } %_31 = alloca %"slice::SearchWhile" %_30 = alloca {} %_18 = alloca i8* %_17 = alloca { i8* } %_15 = alloca %"slice::SearchWhile" %_14 = alloca {} %_11 = alloca {} %_8 = alloca {} %_7 = alloca {} %g = alloca %closure.57 %_0 = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %_103 store i8 0, i8* %_100 store i8 0, i8* %_101 store i8 0, i8* %_102 store i8 0, i8* %_99 store i8 0, i8* %_98 store i8 1, i8* %_98 br label %bb1 bb1: ; preds = %bb52, %start %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %3 = load i8*, i8** %2 %4 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %5 = load i8*, i8** %4 invoke void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h36c1ff4935521ce9E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i8* %3, i8* %5) to label %.noexc unwind label %cleanup .noexc: ; preds = %bb1 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %7 = load i16, i16* %6, !range !3 %cond = icmp eq i16 %7, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %.noexc %8 = ptrtoint i8* %5 to i16 %9 = ptrtoint i8* %3 to i16 %10 = invoke i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %8, i16 %9) to label %.noexc5 unwind label %cleanup .noexc5: ; preds = %bb2.i store i16 %10, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit bb3.i: ; preds = %.noexc %11 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 store i16 %13, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit _ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit: ; preds = %bb3.i, %.noexc5 %14 = load i16, i16* %_0.i br label %bb6 bb2: ; preds = %bb6 br label %bb53 bb3: ; preds = %bb67, %bb4 %15 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %15 bb4: ; preds = %bb5 %16 = load i8, i8* %_98, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb67, label %bb3 bb5: ; preds = %cleanup br label %bb4 bb6: ; preds = %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit %18 = icmp uge i16 %14, 4 br i1 %18, label %bb7, label %bb2 bb7: ; preds = %bb6 %19 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %20 = load i8*, i8** %19 %21 = load i8*, i8** %19 %22 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc6 unwind label %cleanup .noexc6: ; preds = %bb7 %23 = icmp eq i16 %22, 0 br i1 %23, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %.noexc6 %24 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %21, i16 1) to label %.noexc7 unwind label %cleanup .noexc7: ; preds = %bb2.i.i store i8* %24, i8** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit bb3.i.i: ; preds = %.noexc6 %25 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %21, i16 1) to label %.noexc8 unwind label %cleanup .noexc8: ; preds = %bb3.i.i store i8* %25, i8** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit: ; preds = %.noexc7, %.noexc8 %26 = load i8*, i8** %_0.i.i store i8* %26, i8** %19 br label %bb8 bb8: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit %27 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit: ; preds = %bb8 br label %bb9 bb9: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit %28 = icmp eq i16 %27, 0 br i1 %28, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8* inttoptr (i16 1 to i8*), i8** %_18 br label %bb12 bb11: ; preds = %bb9 store i8* %20, i8** %_18 br label %bb12 bb12: ; preds = %bb11, %bb10 %29 = load i8*, i8** %_18, !nonnull !1 %30 = getelementptr inbounds { i8* }, { i8* }* %_17, i32 0, i32 0 store i8* %29, i8** %30 %31 = getelementptr inbounds { i8* }, { i8* }* %_17, i32 0, i32 0 %32 = load i8*, i8** %31 %33 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h20e2974ba4757155E"(%closure.57* %g, i8* noalias readonly dereferenceable(1) %32) to label %bb13 unwind label %cleanup bb13: ; preds = %bb12 store i16 %33, i16* %abi_cast %34 = bitcast %"slice::SearchWhile"* %_15 to i8* %35 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %34, i8* %35, i16 2, i32 1, i1 false) store i8 1, i8* %_99 %36 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %37 = load i8, i8* %36, !range !2 %38 = zext i8 %37 to i16 switch i16 %38, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 store i8 0, i8* %_99 br label %bb22 bb15: ; preds = %bb13 store i8 0, i8* %_99 %39 = bitcast %"slice::SearchWhile"* %_15 to { i8, i8 }* %40 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %39, i32 0, i32 1 %41 = load i8, i8* %40, !range !2 %42 = trunc i8 %41 to i1 %43 = zext i1 %42 to i8 store i8 %43, i8* %_0 %44 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %45 = load i8, i8* %44, !range !2 %46 = zext i8 %45 to i16 switch i16 %46, label %bb68 [ i16 1, label %bb17 ] bb16: ; preds = %bb66, %bb21 %47 = load i8, i8* %_0, !range !2 %48 = trunc i8 %47 to i1 ret i1 %48 bb17: ; preds = %bb68, %bb15 br label %bb18 bb18: ; preds = %bb51, %bb41, %bb31, %bb17 br label %bb19 bb19: ; preds = %bb64, %bb18 br label %bb20 bb20: ; preds = %bb19 store i8 0, i8* %_98 br label %bb21 bb21: ; preds = %bb20 br label %bb16 bb22: ; preds = %bb14 %49 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %50 = load i8*, i8** %49 %51 = load i8*, i8** %49 %52 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc13 unwind label %cleanup .noexc13: ; preds = %bb22 %53 = icmp eq i16 %52, 0 br i1 %53, label %bb2.i.i11, label %bb3.i.i12 bb2.i.i11: ; preds = %.noexc13 %54 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %51, i16 1) to label %.noexc14 unwind label %cleanup .noexc14: ; preds = %bb2.i.i11 store i8* %54, i8** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16 bb3.i.i12: ; preds = %.noexc13 %55 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %51, i16 1) to label %.noexc15 unwind label %cleanup .noexc15: ; preds = %bb3.i.i12 store i8* %55, i8** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16: ; preds = %.noexc14, %.noexc15 %56 = load i8*, i8** %_0.i.i10 store i8* %56, i8** %49 br label %bb23 bb23: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16 %57 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18: ; preds = %bb23 br label %bb24 bb24: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18 %58 = icmp eq i16 %57, 0 br i1 %58, label %bb25, label %bb26 bb25: ; preds = %bb24 store i8* inttoptr (i16 1 to i8*), i8** %_34 br label %bb27 bb26: ; preds = %bb24 store i8* %50, i8** %_34 br label %bb27 bb27: ; preds = %bb26, %bb25 %59 = load i8*, i8** %_34, !nonnull !1 %60 = getelementptr inbounds { i8* }, { i8* }* %_33, i32 0, i32 0 store i8* %59, i8** %60 %61 = getelementptr inbounds { i8* }, { i8* }* %_33, i32 0, i32 0 %62 = load i8*, i8** %61 %63 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h20e2974ba4757155E"(%closure.57* %g, i8* noalias readonly dereferenceable(1) %62) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 store i16 %63, i16* %abi_cast1 %64 = bitcast %"slice::SearchWhile"* %_31 to i8* %65 = bitcast i16* %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %64, i8* %65, i16 2, i32 1, i1 false) store i8 1, i8* %_100 %66 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %67 = load i8, i8* %66, !range !2 %68 = zext i8 %67 to i16 switch i16 %68, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 store i8 0, i8* %_100 br label %bb32 bb30: ; preds = %bb28 store i8 0, i8* %_100 %69 = bitcast %"slice::SearchWhile"* %_31 to { i8, i8 }* %70 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %69, i32 0, i32 1 %71 = load i8, i8* %70, !range !2 %72 = trunc i8 %71 to i1 %73 = zext i1 %72 to i8 store i8 %73, i8* %_0 %74 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %75 = load i8, i8* %74, !range !2 %76 = zext i8 %75 to i16 switch i16 %76, label %bb69 [ i16 1, label %bb31 ] bb31: ; preds = %bb69, %bb30 br label %bb18 bb32: ; preds = %bb29 %77 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %78 = load i8*, i8** %77 %79 = load i8*, i8** %77 %80 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc22 unwind label %cleanup .noexc22: ; preds = %bb32 %81 = icmp eq i16 %80, 0 br i1 %81, label %bb2.i.i20, label %bb3.i.i21 bb2.i.i20: ; preds = %.noexc22 %82 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %79, i16 1) to label %.noexc23 unwind label %cleanup .noexc23: ; preds = %bb2.i.i20 store i8* %82, i8** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25 bb3.i.i21: ; preds = %.noexc22 %83 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %79, i16 1) to label %.noexc24 unwind label %cleanup .noexc24: ; preds = %bb3.i.i21 store i8* %83, i8** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25: ; preds = %.noexc23, %.noexc24 %84 = load i8*, i8** %_0.i.i19 store i8* %84, i8** %77 br label %bb33 bb33: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25 %85 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27: ; preds = %bb33 br label %bb34 bb34: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27 %86 = icmp eq i16 %85, 0 br i1 %86, label %bb35, label %bb36 bb35: ; preds = %bb34 store i8* inttoptr (i16 1 to i8*), i8** %_50 br label %bb37 bb36: ; preds = %bb34 store i8* %78, i8** %_50 br label %bb37 bb37: ; preds = %bb36, %bb35 %87 = load i8*, i8** %_50, !nonnull !1 %88 = getelementptr inbounds { i8* }, { i8* }* %_49, i32 0, i32 0 store i8* %87, i8** %88 %89 = getelementptr inbounds { i8* }, { i8* }* %_49, i32 0, i32 0 %90 = load i8*, i8** %89 %91 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h20e2974ba4757155E"(%closure.57* %g, i8* noalias readonly dereferenceable(1) %90) to label %bb38 unwind label %cleanup bb38: ; preds = %bb37 store i16 %91, i16* %abi_cast2 %92 = bitcast %"slice::SearchWhile"* %_47 to i8* %93 = bitcast i16* %abi_cast2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %92, i8* %93, i16 2, i32 1, i1 false) store i8 1, i8* %_101 %94 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %95 = load i8, i8* %94, !range !2 %96 = zext i8 %95 to i16 switch i16 %96, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 0, i8* %_101 br label %bb42 bb40: ; preds = %bb38 store i8 0, i8* %_101 %97 = bitcast %"slice::SearchWhile"* %_47 to { i8, i8 }* %98 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %97, i32 0, i32 1 %99 = load i8, i8* %98, !range !2 %100 = trunc i8 %99 to i1 %101 = zext i1 %100 to i8 store i8 %101, i8* %_0 %102 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %103 = load i8, i8* %102, !range !2 %104 = zext i8 %103 to i16 switch i16 %104, label %bb70 [ i16 1, label %bb41 ] bb41: ; preds = %bb70, %bb40 br label %bb18 bb42: ; preds = %bb39 %105 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %106 = load i8*, i8** %105 %107 = load i8*, i8** %105 %108 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc31 unwind label %cleanup .noexc31: ; preds = %bb42 %109 = icmp eq i16 %108, 0 br i1 %109, label %bb2.i.i29, label %bb3.i.i30 bb2.i.i29: ; preds = %.noexc31 %110 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %107, i16 1) to label %.noexc32 unwind label %cleanup .noexc32: ; preds = %bb2.i.i29 store i8* %110, i8** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34 bb3.i.i30: ; preds = %.noexc31 %111 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %107, i16 1) to label %.noexc33 unwind label %cleanup .noexc33: ; preds = %bb3.i.i30 store i8* %111, i8** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34: ; preds = %.noexc32, %.noexc33 %112 = load i8*, i8** %_0.i.i28 store i8* %112, i8** %105 br label %bb43 bb43: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34 %113 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36: ; preds = %bb43 br label %bb44 bb44: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36 %114 = icmp eq i16 %113, 0 br i1 %114, label %bb45, label %bb46 bb45: ; preds = %bb44 store i8* inttoptr (i16 1 to i8*), i8** %_66 br label %bb47 bb46: ; preds = %bb44 store i8* %106, i8** %_66 br label %bb47 bb47: ; preds = %bb46, %bb45 %115 = load i8*, i8** %_66, !nonnull !1 %116 = getelementptr inbounds { i8* }, { i8* }* %_65, i32 0, i32 0 store i8* %115, i8** %116 %117 = getelementptr inbounds { i8* }, { i8* }* %_65, i32 0, i32 0 %118 = load i8*, i8** %117 %119 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h20e2974ba4757155E"(%closure.57* %g, i8* noalias readonly dereferenceable(1) %118) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 store i16 %119, i16* %abi_cast3 %120 = bitcast %"slice::SearchWhile"* %_63 to i8* %121 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %121, i16 2, i32 1, i1 false) store i8 1, i8* %_102 %122 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %123 = load i8, i8* %122, !range !2 %124 = zext i8 %123 to i16 switch i16 %124, label %bb50 [ i16 0, label %bb49 ] bb49: ; preds = %bb48 store i8 0, i8* %_102 br label %bb52 bb50: ; preds = %bb48 store i8 0, i8* %_102 %125 = bitcast %"slice::SearchWhile"* %_63 to { i8, i8 }* %126 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %125, i32 0, i32 1 %127 = load i8, i8* %126, !range !2 %128 = trunc i8 %127 to i1 %129 = zext i1 %128 to i8 store i8 %129, i8* %_0 %130 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %131 = load i8, i8* %130, !range !2 %132 = zext i8 %131 to i16 switch i16 %132, label %bb71 [ i16 1, label %bb51 ] bb51: ; preds = %bb71, %bb50 br label %bb18 bb52: ; preds = %bb49 br label %bb1 bb53: ; preds = %bb65, %bb2 %133 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %134 = load i8*, i8** %133 %135 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %136 = load i8*, i8** %135 %137 = icmp ne i8* %134, %136 br i1 %137, label %bb55, label %bb54 bb54: ; preds = %bb53 store i8 0, i8* %_98 %138 = zext i1 %1 to i8 store i8 %138, i8* %_0 br label %bb66 bb55: ; preds = %bb53 %139 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %140 = load i8*, i8** %139 %141 = load i8*, i8** %139 %142 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc40 unwind label %cleanup .noexc40: ; preds = %bb55 %143 = icmp eq i16 %142, 0 br i1 %143, label %bb2.i.i38, label %bb3.i.i39 bb2.i.i38: ; preds = %.noexc40 %144 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %141, i16 1) to label %.noexc41 unwind label %cleanup .noexc41: ; preds = %bb2.i.i38 store i8* %144, i8** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43 bb3.i.i39: ; preds = %.noexc40 %145 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %141, i16 1) to label %.noexc42 unwind label %cleanup .noexc42: ; preds = %bb3.i.i39 store i8* %145, i8** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43: ; preds = %.noexc41, %.noexc42 %146 = load i8*, i8** %_0.i.i37 store i8* %146, i8** %139 br label %bb56 bb56: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43 %147 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45: ; preds = %bb56 br label %bb57 bb57: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45 %148 = icmp eq i16 %147, 0 br i1 %148, label %bb58, label %bb59 bb58: ; preds = %bb57 store i8* inttoptr (i16 1 to i8*), i8** %_85 br label %bb60 bb59: ; preds = %bb57 store i8* %140, i8** %_85 br label %bb60 bb60: ; preds = %bb59, %bb58 %149 = load i8*, i8** %_85, !nonnull !1 %150 = getelementptr inbounds { i8* }, { i8* }* %_84, i32 0, i32 0 store i8* %149, i8** %150 %151 = getelementptr inbounds { i8* }, { i8* }* %_84, i32 0, i32 0 %152 = load i8*, i8** %151 %153 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h20e2974ba4757155E"(%closure.57* %g, i8* noalias readonly dereferenceable(1) %152) to label %bb61 unwind label %cleanup bb61: ; preds = %bb60 store i16 %153, i16* %abi_cast4 %154 = bitcast %"slice::SearchWhile"* %_82 to i8* %155 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %154, i8* %155, i16 2, i32 1, i1 false) store i8 1, i8* %_103 %156 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %157 = load i8, i8* %156, !range !2 %158 = zext i8 %157 to i16 switch i16 %158, label %bb63 [ i16 0, label %bb62 ] bb62: ; preds = %bb61 store i8 0, i8* %_103 br label %bb65 bb63: ; preds = %bb61 store i8 0, i8* %_103 %159 = bitcast %"slice::SearchWhile"* %_82 to { i8, i8 }* %160 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %159, i32 0, i32 1 %161 = load i8, i8* %160, !range !2 %162 = trunc i8 %161 to i1 %163 = zext i1 %162 to i8 store i8 %163, i8* %_0 %164 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %165 = load i8, i8* %164, !range !2 %166 = zext i8 %165 to i16 switch i16 %166, label %bb72 [ i16 1, label %bb64 ] bb64: ; preds = %bb72, %bb63 br label %bb19 bb65: ; preds = %bb62 br label %bb53 bb66: ; preds = %bb54 br label %bb16 bb67: ; preds = %bb4 store i8 0, i8* %_98 br label %bb3 bb68: ; preds = %bb15 br label %bb17 bb69: ; preds = %bb30 br label %bb31 bb70: ; preds = %bb40 br label %bb41 bb71: ; preds = %bb50 br label %bb51 bb72: ; preds = %bb63 br label %bb64 cleanup: ; preds = %bb56, %bb3.i.i39, %bb2.i.i38, %bb55, %bb43, %bb3.i.i30, %bb2.i.i29, %bb42, %bb33, %bb3.i.i21, %bb2.i.i20, %bb32, %bb23, %bb3.i.i12, %bb2.i.i11, %bb22, %bb8, %bb3.i.i, %bb2.i.i, %bb7, %bb2.i, %bb1, %bb60, %bb47, %bb37, %bb27, %bb12 %167 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %167, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17hbcee394895fa0a74E"(%"slice::Iter"* dereferenceable(4), i1 zeroext) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %_0.i.i37 = alloca i8* %_0.i.i28 = alloca i8* %_0.i.i19 = alloca i8* %_0.i.i10 = alloca i8* %_0.i.i = alloca i8* %_5.i = alloca %"option::Option" %_0.i = alloca i16 %abi_cast4 = alloca i16 %abi_cast3 = alloca i16 %abi_cast2 = alloca i16 %abi_cast1 = alloca i16 %abi_cast = alloca i16 %personalityslot = alloca { i8*, i32 } %_103 = alloca i8 %_102 = alloca i8 %_101 = alloca i8 %_100 = alloca i8 %_99 = alloca i8 %_98 = alloca i8 %_85 = alloca i8* %_84 = alloca { i8* } %_82 = alloca %"slice::SearchWhile" %_81 = alloca {} %_66 = alloca i8* %_65 = alloca { i8* } %_63 = alloca %"slice::SearchWhile" %_62 = alloca {} %_50 = alloca i8* %_49 = alloca { i8* } %_47 = alloca %"slice::SearchWhile" %_46 = alloca {} %_34 = alloca i8* %_33 = alloca { i8* } %_31 = alloca %"slice::SearchWhile" %_30 = alloca {} %_18 = alloca i8* %_17 = alloca { i8* } %_15 = alloca %"slice::SearchWhile" %_14 = alloca {} %_11 = alloca {} %_8 = alloca {} %_7 = alloca {} %g = alloca %closure.60 %_0 = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %_103 store i8 0, i8* %_100 store i8 0, i8* %_101 store i8 0, i8* %_102 store i8 0, i8* %_99 store i8 0, i8* %_98 store i8 1, i8* %_98 br label %bb1 bb1: ; preds = %bb52, %start %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %3 = load i8*, i8** %2 %4 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %5 = load i8*, i8** %4 invoke void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h36c1ff4935521ce9E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i8* %3, i8* %5) to label %.noexc unwind label %cleanup .noexc: ; preds = %bb1 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %7 = load i16, i16* %6, !range !3 %cond = icmp eq i16 %7, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %.noexc %8 = ptrtoint i8* %5 to i16 %9 = ptrtoint i8* %3 to i16 %10 = invoke i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %8, i16 %9) to label %.noexc5 unwind label %cleanup .noexc5: ; preds = %bb2.i store i16 %10, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit bb3.i: ; preds = %.noexc %11 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 store i16 %13, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit _ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit: ; preds = %bb3.i, %.noexc5 %14 = load i16, i16* %_0.i br label %bb6 bb2: ; preds = %bb6 br label %bb53 bb3: ; preds = %bb67, %bb4 %15 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %15 bb4: ; preds = %bb5 %16 = load i8, i8* %_98, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb67, label %bb3 bb5: ; preds = %cleanup br label %bb4 bb6: ; preds = %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit %18 = icmp uge i16 %14, 4 br i1 %18, label %bb7, label %bb2 bb7: ; preds = %bb6 %19 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %20 = load i8*, i8** %19 %21 = load i8*, i8** %19 %22 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc6 unwind label %cleanup .noexc6: ; preds = %bb7 %23 = icmp eq i16 %22, 0 br i1 %23, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %.noexc6 %24 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %21, i16 1) to label %.noexc7 unwind label %cleanup .noexc7: ; preds = %bb2.i.i store i8* %24, i8** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit bb3.i.i: ; preds = %.noexc6 %25 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %21, i16 1) to label %.noexc8 unwind label %cleanup .noexc8: ; preds = %bb3.i.i store i8* %25, i8** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit: ; preds = %.noexc7, %.noexc8 %26 = load i8*, i8** %_0.i.i store i8* %26, i8** %19 br label %bb8 bb8: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit %27 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit: ; preds = %bb8 br label %bb9 bb9: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit %28 = icmp eq i16 %27, 0 br i1 %28, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8* inttoptr (i16 1 to i8*), i8** %_18 br label %bb12 bb11: ; preds = %bb9 store i8* %20, i8** %_18 br label %bb12 bb12: ; preds = %bb11, %bb10 %29 = load i8*, i8** %_18, !nonnull !1 %30 = getelementptr inbounds { i8* }, { i8* }* %_17, i32 0, i32 0 store i8* %29, i8** %30 %31 = getelementptr inbounds { i8* }, { i8* }* %_17, i32 0, i32 0 %32 = load i8*, i8** %31 %33 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h930bada91290ac70E"(%closure.60* %g, i8* noalias readonly dereferenceable(1) %32) to label %bb13 unwind label %cleanup bb13: ; preds = %bb12 store i16 %33, i16* %abi_cast %34 = bitcast %"slice::SearchWhile"* %_15 to i8* %35 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %34, i8* %35, i16 2, i32 1, i1 false) store i8 1, i8* %_99 %36 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %37 = load i8, i8* %36, !range !2 %38 = zext i8 %37 to i16 switch i16 %38, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 store i8 0, i8* %_99 br label %bb22 bb15: ; preds = %bb13 store i8 0, i8* %_99 %39 = bitcast %"slice::SearchWhile"* %_15 to { i8, i8 }* %40 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %39, i32 0, i32 1 %41 = load i8, i8* %40, !range !2 %42 = trunc i8 %41 to i1 %43 = zext i1 %42 to i8 store i8 %43, i8* %_0 %44 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %45 = load i8, i8* %44, !range !2 %46 = zext i8 %45 to i16 switch i16 %46, label %bb68 [ i16 1, label %bb17 ] bb16: ; preds = %bb66, %bb21 %47 = load i8, i8* %_0, !range !2 %48 = trunc i8 %47 to i1 ret i1 %48 bb17: ; preds = %bb68, %bb15 br label %bb18 bb18: ; preds = %bb51, %bb41, %bb31, %bb17 br label %bb19 bb19: ; preds = %bb64, %bb18 br label %bb20 bb20: ; preds = %bb19 store i8 0, i8* %_98 br label %bb21 bb21: ; preds = %bb20 br label %bb16 bb22: ; preds = %bb14 %49 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %50 = load i8*, i8** %49 %51 = load i8*, i8** %49 %52 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc13 unwind label %cleanup .noexc13: ; preds = %bb22 %53 = icmp eq i16 %52, 0 br i1 %53, label %bb2.i.i11, label %bb3.i.i12 bb2.i.i11: ; preds = %.noexc13 %54 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %51, i16 1) to label %.noexc14 unwind label %cleanup .noexc14: ; preds = %bb2.i.i11 store i8* %54, i8** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16 bb3.i.i12: ; preds = %.noexc13 %55 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %51, i16 1) to label %.noexc15 unwind label %cleanup .noexc15: ; preds = %bb3.i.i12 store i8* %55, i8** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16: ; preds = %.noexc14, %.noexc15 %56 = load i8*, i8** %_0.i.i10 store i8* %56, i8** %49 br label %bb23 bb23: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16 %57 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18: ; preds = %bb23 br label %bb24 bb24: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18 %58 = icmp eq i16 %57, 0 br i1 %58, label %bb25, label %bb26 bb25: ; preds = %bb24 store i8* inttoptr (i16 1 to i8*), i8** %_34 br label %bb27 bb26: ; preds = %bb24 store i8* %50, i8** %_34 br label %bb27 bb27: ; preds = %bb26, %bb25 %59 = load i8*, i8** %_34, !nonnull !1 %60 = getelementptr inbounds { i8* }, { i8* }* %_33, i32 0, i32 0 store i8* %59, i8** %60 %61 = getelementptr inbounds { i8* }, { i8* }* %_33, i32 0, i32 0 %62 = load i8*, i8** %61 %63 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h930bada91290ac70E"(%closure.60* %g, i8* noalias readonly dereferenceable(1) %62) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 store i16 %63, i16* %abi_cast1 %64 = bitcast %"slice::SearchWhile"* %_31 to i8* %65 = bitcast i16* %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %64, i8* %65, i16 2, i32 1, i1 false) store i8 1, i8* %_100 %66 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %67 = load i8, i8* %66, !range !2 %68 = zext i8 %67 to i16 switch i16 %68, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 store i8 0, i8* %_100 br label %bb32 bb30: ; preds = %bb28 store i8 0, i8* %_100 %69 = bitcast %"slice::SearchWhile"* %_31 to { i8, i8 }* %70 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %69, i32 0, i32 1 %71 = load i8, i8* %70, !range !2 %72 = trunc i8 %71 to i1 %73 = zext i1 %72 to i8 store i8 %73, i8* %_0 %74 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %75 = load i8, i8* %74, !range !2 %76 = zext i8 %75 to i16 switch i16 %76, label %bb69 [ i16 1, label %bb31 ] bb31: ; preds = %bb69, %bb30 br label %bb18 bb32: ; preds = %bb29 %77 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %78 = load i8*, i8** %77 %79 = load i8*, i8** %77 %80 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc22 unwind label %cleanup .noexc22: ; preds = %bb32 %81 = icmp eq i16 %80, 0 br i1 %81, label %bb2.i.i20, label %bb3.i.i21 bb2.i.i20: ; preds = %.noexc22 %82 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %79, i16 1) to label %.noexc23 unwind label %cleanup .noexc23: ; preds = %bb2.i.i20 store i8* %82, i8** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25 bb3.i.i21: ; preds = %.noexc22 %83 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %79, i16 1) to label %.noexc24 unwind label %cleanup .noexc24: ; preds = %bb3.i.i21 store i8* %83, i8** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25: ; preds = %.noexc23, %.noexc24 %84 = load i8*, i8** %_0.i.i19 store i8* %84, i8** %77 br label %bb33 bb33: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25 %85 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27: ; preds = %bb33 br label %bb34 bb34: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27 %86 = icmp eq i16 %85, 0 br i1 %86, label %bb35, label %bb36 bb35: ; preds = %bb34 store i8* inttoptr (i16 1 to i8*), i8** %_50 br label %bb37 bb36: ; preds = %bb34 store i8* %78, i8** %_50 br label %bb37 bb37: ; preds = %bb36, %bb35 %87 = load i8*, i8** %_50, !nonnull !1 %88 = getelementptr inbounds { i8* }, { i8* }* %_49, i32 0, i32 0 store i8* %87, i8** %88 %89 = getelementptr inbounds { i8* }, { i8* }* %_49, i32 0, i32 0 %90 = load i8*, i8** %89 %91 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h930bada91290ac70E"(%closure.60* %g, i8* noalias readonly dereferenceable(1) %90) to label %bb38 unwind label %cleanup bb38: ; preds = %bb37 store i16 %91, i16* %abi_cast2 %92 = bitcast %"slice::SearchWhile"* %_47 to i8* %93 = bitcast i16* %abi_cast2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %92, i8* %93, i16 2, i32 1, i1 false) store i8 1, i8* %_101 %94 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %95 = load i8, i8* %94, !range !2 %96 = zext i8 %95 to i16 switch i16 %96, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 0, i8* %_101 br label %bb42 bb40: ; preds = %bb38 store i8 0, i8* %_101 %97 = bitcast %"slice::SearchWhile"* %_47 to { i8, i8 }* %98 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %97, i32 0, i32 1 %99 = load i8, i8* %98, !range !2 %100 = trunc i8 %99 to i1 %101 = zext i1 %100 to i8 store i8 %101, i8* %_0 %102 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %103 = load i8, i8* %102, !range !2 %104 = zext i8 %103 to i16 switch i16 %104, label %bb70 [ i16 1, label %bb41 ] bb41: ; preds = %bb70, %bb40 br label %bb18 bb42: ; preds = %bb39 %105 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %106 = load i8*, i8** %105 %107 = load i8*, i8** %105 %108 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc31 unwind label %cleanup .noexc31: ; preds = %bb42 %109 = icmp eq i16 %108, 0 br i1 %109, label %bb2.i.i29, label %bb3.i.i30 bb2.i.i29: ; preds = %.noexc31 %110 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %107, i16 1) to label %.noexc32 unwind label %cleanup .noexc32: ; preds = %bb2.i.i29 store i8* %110, i8** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34 bb3.i.i30: ; preds = %.noexc31 %111 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %107, i16 1) to label %.noexc33 unwind label %cleanup .noexc33: ; preds = %bb3.i.i30 store i8* %111, i8** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34: ; preds = %.noexc32, %.noexc33 %112 = load i8*, i8** %_0.i.i28 store i8* %112, i8** %105 br label %bb43 bb43: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34 %113 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36: ; preds = %bb43 br label %bb44 bb44: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36 %114 = icmp eq i16 %113, 0 br i1 %114, label %bb45, label %bb46 bb45: ; preds = %bb44 store i8* inttoptr (i16 1 to i8*), i8** %_66 br label %bb47 bb46: ; preds = %bb44 store i8* %106, i8** %_66 br label %bb47 bb47: ; preds = %bb46, %bb45 %115 = load i8*, i8** %_66, !nonnull !1 %116 = getelementptr inbounds { i8* }, { i8* }* %_65, i32 0, i32 0 store i8* %115, i8** %116 %117 = getelementptr inbounds { i8* }, { i8* }* %_65, i32 0, i32 0 %118 = load i8*, i8** %117 %119 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h930bada91290ac70E"(%closure.60* %g, i8* noalias readonly dereferenceable(1) %118) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 store i16 %119, i16* %abi_cast3 %120 = bitcast %"slice::SearchWhile"* %_63 to i8* %121 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %121, i16 2, i32 1, i1 false) store i8 1, i8* %_102 %122 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %123 = load i8, i8* %122, !range !2 %124 = zext i8 %123 to i16 switch i16 %124, label %bb50 [ i16 0, label %bb49 ] bb49: ; preds = %bb48 store i8 0, i8* %_102 br label %bb52 bb50: ; preds = %bb48 store i8 0, i8* %_102 %125 = bitcast %"slice::SearchWhile"* %_63 to { i8, i8 }* %126 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %125, i32 0, i32 1 %127 = load i8, i8* %126, !range !2 %128 = trunc i8 %127 to i1 %129 = zext i1 %128 to i8 store i8 %129, i8* %_0 %130 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %131 = load i8, i8* %130, !range !2 %132 = zext i8 %131 to i16 switch i16 %132, label %bb71 [ i16 1, label %bb51 ] bb51: ; preds = %bb71, %bb50 br label %bb18 bb52: ; preds = %bb49 br label %bb1 bb53: ; preds = %bb65, %bb2 %133 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %134 = load i8*, i8** %133 %135 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %136 = load i8*, i8** %135 %137 = icmp ne i8* %134, %136 br i1 %137, label %bb55, label %bb54 bb54: ; preds = %bb53 store i8 0, i8* %_98 %138 = zext i1 %1 to i8 store i8 %138, i8* %_0 br label %bb66 bb55: ; preds = %bb53 %139 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %140 = load i8*, i8** %139 %141 = load i8*, i8** %139 %142 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc40 unwind label %cleanup .noexc40: ; preds = %bb55 %143 = icmp eq i16 %142, 0 br i1 %143, label %bb2.i.i38, label %bb3.i.i39 bb2.i.i38: ; preds = %.noexc40 %144 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %141, i16 1) to label %.noexc41 unwind label %cleanup .noexc41: ; preds = %bb2.i.i38 store i8* %144, i8** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43 bb3.i.i39: ; preds = %.noexc40 %145 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %141, i16 1) to label %.noexc42 unwind label %cleanup .noexc42: ; preds = %bb3.i.i39 store i8* %145, i8** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43: ; preds = %.noexc41, %.noexc42 %146 = load i8*, i8** %_0.i.i37 store i8* %146, i8** %139 br label %bb56 bb56: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43 %147 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45: ; preds = %bb56 br label %bb57 bb57: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45 %148 = icmp eq i16 %147, 0 br i1 %148, label %bb58, label %bb59 bb58: ; preds = %bb57 store i8* inttoptr (i16 1 to i8*), i8** %_85 br label %bb60 bb59: ; preds = %bb57 store i8* %140, i8** %_85 br label %bb60 bb60: ; preds = %bb59, %bb58 %149 = load i8*, i8** %_85, !nonnull !1 %150 = getelementptr inbounds { i8* }, { i8* }* %_84, i32 0, i32 0 store i8* %149, i8** %150 %151 = getelementptr inbounds { i8* }, { i8* }* %_84, i32 0, i32 0 %152 = load i8*, i8** %151 %153 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h930bada91290ac70E"(%closure.60* %g, i8* noalias readonly dereferenceable(1) %152) to label %bb61 unwind label %cleanup bb61: ; preds = %bb60 store i16 %153, i16* %abi_cast4 %154 = bitcast %"slice::SearchWhile"* %_82 to i8* %155 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %154, i8* %155, i16 2, i32 1, i1 false) store i8 1, i8* %_103 %156 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %157 = load i8, i8* %156, !range !2 %158 = zext i8 %157 to i16 switch i16 %158, label %bb63 [ i16 0, label %bb62 ] bb62: ; preds = %bb61 store i8 0, i8* %_103 br label %bb65 bb63: ; preds = %bb61 store i8 0, i8* %_103 %159 = bitcast %"slice::SearchWhile"* %_82 to { i8, i8 }* %160 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %159, i32 0, i32 1 %161 = load i8, i8* %160, !range !2 %162 = trunc i8 %161 to i1 %163 = zext i1 %162 to i8 store i8 %163, i8* %_0 %164 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %165 = load i8, i8* %164, !range !2 %166 = zext i8 %165 to i16 switch i16 %166, label %bb72 [ i16 1, label %bb64 ] bb64: ; preds = %bb72, %bb63 br label %bb19 bb65: ; preds = %bb62 br label %bb53 bb66: ; preds = %bb54 br label %bb16 bb67: ; preds = %bb4 store i8 0, i8* %_98 br label %bb3 bb68: ; preds = %bb15 br label %bb17 bb69: ; preds = %bb30 br label %bb31 bb70: ; preds = %bb40 br label %bb41 bb71: ; preds = %bb50 br label %bb51 bb72: ; preds = %bb63 br label %bb64 cleanup: ; preds = %bb56, %bb3.i.i39, %bb2.i.i38, %bb55, %bb43, %bb3.i.i30, %bb2.i.i29, %bb42, %bb33, %bb3.i.i21, %bb2.i.i20, %bb32, %bb23, %bb3.i.i12, %bb2.i.i11, %bb22, %bb8, %bb3.i.i, %bb2.i.i, %bb7, %bb2.i, %bb1, %bb60, %bb47, %bb37, %bb27, %bb12 %167 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %167, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17hc66918e18b574f70E"(%"slice::Iter"* dereferenceable(4), i1 zeroext) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %_0.i.i37 = alloca i32* %_0.i.i28 = alloca i32* %_0.i.i19 = alloca i32* %_0.i.i10 = alloca i32* %_0.i.i = alloca i32* %_5.i = alloca %"option::Option" %_0.i = alloca i16 %abi_cast4 = alloca i16 %abi_cast3 = alloca i16 %abi_cast2 = alloca i16 %abi_cast1 = alloca i16 %abi_cast = alloca i16 %personalityslot = alloca { i8*, i32 } %_103 = alloca i8 %_102 = alloca i8 %_101 = alloca i8 %_100 = alloca i8 %_99 = alloca i8 %_98 = alloca i8 %_85 = alloca i32* %_84 = alloca { i32* } %_82 = alloca %"slice::SearchWhile" %_81 = alloca {} %_66 = alloca i32* %_65 = alloca { i32* } %_63 = alloca %"slice::SearchWhile" %_62 = alloca {} %_50 = alloca i32* %_49 = alloca { i32* } %_47 = alloca %"slice::SearchWhile" %_46 = alloca {} %_34 = alloca i32* %_33 = alloca { i32* } %_31 = alloca %"slice::SearchWhile" %_30 = alloca {} %_18 = alloca i32* %_17 = alloca { i32* } %_15 = alloca %"slice::SearchWhile" %_14 = alloca {} %_11 = alloca {} %_8 = alloca {} %_7 = alloca {} %g = alloca %closure.62 %_0 = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %_103 store i8 0, i8* %_100 store i8 0, i8* %_101 store i8 0, i8* %_102 store i8 0, i8* %_99 store i8 0, i8* %_98 store i8 1, i8* %_98 br label %bb1 bb1: ; preds = %bb52, %start %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %3 = load i32*, i32** %2 %4 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %5 = load i32*, i32** %4 invoke void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h4b91a05d9203a938E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i32* %3, i32* %5) to label %.noexc unwind label %cleanup .noexc: ; preds = %bb1 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %7 = load i16, i16* %6, !range !3 %cond = icmp eq i16 %7, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %.noexc %8 = ptrtoint i32* %5 to i16 %9 = ptrtoint i32* %3 to i16 %10 = invoke i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %8, i16 %9) to label %.noexc5 unwind label %cleanup .noexc5: ; preds = %bb2.i store i16 %10, i16* %_0.i br label %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit bb3.i: ; preds = %.noexc %11 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 store i16 %13, i16* %_0.i br label %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit _ZN4core5slice11ptrdistance17he3964f8501e26525E.exit: ; preds = %bb3.i, %.noexc5 %14 = load i16, i16* %_0.i br label %bb6 bb2: ; preds = %bb6 br label %bb53 bb3: ; preds = %bb67, %bb4 %15 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %15 bb4: ; preds = %bb5 %16 = load i8, i8* %_98, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb67, label %bb3 bb5: ; preds = %cleanup br label %bb4 bb6: ; preds = %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit %18 = icmp uge i16 %14, 4 br i1 %18, label %bb7, label %bb2 bb7: ; preds = %bb6 %19 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %20 = load i32*, i32** %19 %21 = load i32*, i32** %19 %22 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc6 unwind label %cleanup .noexc6: ; preds = %bb7 %23 = icmp eq i16 %22, 0 br i1 %23, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %.noexc6 %24 = bitcast i32* %21 to i8* %25 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %24, i16 1) to label %.noexc7 unwind label %cleanup .noexc7: ; preds = %bb2.i.i %26 = bitcast i8* %25 to i32* store i32* %26, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit bb3.i.i: ; preds = %.noexc6 %27 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %21, i16 1) to label %.noexc8 unwind label %cleanup .noexc8: ; preds = %bb3.i.i store i32* %27, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit: ; preds = %.noexc7, %.noexc8 %28 = load i32*, i32** %_0.i.i store i32* %28, i32** %19 br label %bb8 bb8: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit %29 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit: ; preds = %bb8 br label %bb9 bb9: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit %30 = icmp eq i16 %29, 0 br i1 %30, label %bb10, label %bb11 bb10: ; preds = %bb9 store i32* inttoptr (i16 1 to i32*), i32** %_18 br label %bb12 bb11: ; preds = %bb9 store i32* %20, i32** %_18 br label %bb12 bb12: ; preds = %bb11, %bb10 %31 = load i32*, i32** %_18, !nonnull !1 %32 = getelementptr inbounds { i32* }, { i32* }* %_17, i32 0, i32 0 store i32* %31, i32** %32 %33 = getelementptr inbounds { i32* }, { i32* }* %_17, i32 0, i32 0 %34 = load i32*, i32** %33 %35 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hee5d2c4a82eac4cbE"(%closure.62* %g, i32* noalias readonly dereferenceable(4) %34) to label %bb13 unwind label %cleanup bb13: ; preds = %bb12 store i16 %35, i16* %abi_cast %36 = bitcast %"slice::SearchWhile"* %_15 to i8* %37 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %36, i8* %37, i16 2, i32 1, i1 false) store i8 1, i8* %_99 %38 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %39 = load i8, i8* %38, !range !2 %40 = zext i8 %39 to i16 switch i16 %40, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 store i8 0, i8* %_99 br label %bb22 bb15: ; preds = %bb13 store i8 0, i8* %_99 %41 = bitcast %"slice::SearchWhile"* %_15 to { i8, i8 }* %42 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %41, i32 0, i32 1 %43 = load i8, i8* %42, !range !2 %44 = trunc i8 %43 to i1 %45 = zext i1 %44 to i8 store i8 %45, i8* %_0 %46 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %47 = load i8, i8* %46, !range !2 %48 = zext i8 %47 to i16 switch i16 %48, label %bb68 [ i16 1, label %bb17 ] bb16: ; preds = %bb66, %bb21 %49 = load i8, i8* %_0, !range !2 %50 = trunc i8 %49 to i1 ret i1 %50 bb17: ; preds = %bb68, %bb15 br label %bb18 bb18: ; preds = %bb51, %bb41, %bb31, %bb17 br label %bb19 bb19: ; preds = %bb64, %bb18 br label %bb20 bb20: ; preds = %bb19 store i8 0, i8* %_98 br label %bb21 bb21: ; preds = %bb20 br label %bb16 bb22: ; preds = %bb14 %51 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %52 = load i32*, i32** %51 %53 = load i32*, i32** %51 %54 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc13 unwind label %cleanup .noexc13: ; preds = %bb22 %55 = icmp eq i16 %54, 0 br i1 %55, label %bb2.i.i11, label %bb3.i.i12 bb2.i.i11: ; preds = %.noexc13 %56 = bitcast i32* %53 to i8* %57 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %56, i16 1) to label %.noexc14 unwind label %cleanup .noexc14: ; preds = %bb2.i.i11 %58 = bitcast i8* %57 to i32* store i32* %58, i32** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16 bb3.i.i12: ; preds = %.noexc13 %59 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %53, i16 1) to label %.noexc15 unwind label %cleanup .noexc15: ; preds = %bb3.i.i12 store i32* %59, i32** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16: ; preds = %.noexc14, %.noexc15 %60 = load i32*, i32** %_0.i.i10 store i32* %60, i32** %51 br label %bb23 bb23: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16 %61 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit18 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit18: ; preds = %bb23 br label %bb24 bb24: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit18 %62 = icmp eq i16 %61, 0 br i1 %62, label %bb25, label %bb26 bb25: ; preds = %bb24 store i32* inttoptr (i16 1 to i32*), i32** %_34 br label %bb27 bb26: ; preds = %bb24 store i32* %52, i32** %_34 br label %bb27 bb27: ; preds = %bb26, %bb25 %63 = load i32*, i32** %_34, !nonnull !1 %64 = getelementptr inbounds { i32* }, { i32* }* %_33, i32 0, i32 0 store i32* %63, i32** %64 %65 = getelementptr inbounds { i32* }, { i32* }* %_33, i32 0, i32 0 %66 = load i32*, i32** %65 %67 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hee5d2c4a82eac4cbE"(%closure.62* %g, i32* noalias readonly dereferenceable(4) %66) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 store i16 %67, i16* %abi_cast1 %68 = bitcast %"slice::SearchWhile"* %_31 to i8* %69 = bitcast i16* %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %68, i8* %69, i16 2, i32 1, i1 false) store i8 1, i8* %_100 %70 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %71 = load i8, i8* %70, !range !2 %72 = zext i8 %71 to i16 switch i16 %72, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 store i8 0, i8* %_100 br label %bb32 bb30: ; preds = %bb28 store i8 0, i8* %_100 %73 = bitcast %"slice::SearchWhile"* %_31 to { i8, i8 }* %74 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %73, i32 0, i32 1 %75 = load i8, i8* %74, !range !2 %76 = trunc i8 %75 to i1 %77 = zext i1 %76 to i8 store i8 %77, i8* %_0 %78 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %79 = load i8, i8* %78, !range !2 %80 = zext i8 %79 to i16 switch i16 %80, label %bb69 [ i16 1, label %bb31 ] bb31: ; preds = %bb69, %bb30 br label %bb18 bb32: ; preds = %bb29 %81 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %82 = load i32*, i32** %81 %83 = load i32*, i32** %81 %84 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc22 unwind label %cleanup .noexc22: ; preds = %bb32 %85 = icmp eq i16 %84, 0 br i1 %85, label %bb2.i.i20, label %bb3.i.i21 bb2.i.i20: ; preds = %.noexc22 %86 = bitcast i32* %83 to i8* %87 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %86, i16 1) to label %.noexc23 unwind label %cleanup .noexc23: ; preds = %bb2.i.i20 %88 = bitcast i8* %87 to i32* store i32* %88, i32** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25 bb3.i.i21: ; preds = %.noexc22 %89 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %83, i16 1) to label %.noexc24 unwind label %cleanup .noexc24: ; preds = %bb3.i.i21 store i32* %89, i32** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25: ; preds = %.noexc23, %.noexc24 %90 = load i32*, i32** %_0.i.i19 store i32* %90, i32** %81 br label %bb33 bb33: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25 %91 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit27 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit27: ; preds = %bb33 br label %bb34 bb34: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit27 %92 = icmp eq i16 %91, 0 br i1 %92, label %bb35, label %bb36 bb35: ; preds = %bb34 store i32* inttoptr (i16 1 to i32*), i32** %_50 br label %bb37 bb36: ; preds = %bb34 store i32* %82, i32** %_50 br label %bb37 bb37: ; preds = %bb36, %bb35 %93 = load i32*, i32** %_50, !nonnull !1 %94 = getelementptr inbounds { i32* }, { i32* }* %_49, i32 0, i32 0 store i32* %93, i32** %94 %95 = getelementptr inbounds { i32* }, { i32* }* %_49, i32 0, i32 0 %96 = load i32*, i32** %95 %97 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hee5d2c4a82eac4cbE"(%closure.62* %g, i32* noalias readonly dereferenceable(4) %96) to label %bb38 unwind label %cleanup bb38: ; preds = %bb37 store i16 %97, i16* %abi_cast2 %98 = bitcast %"slice::SearchWhile"* %_47 to i8* %99 = bitcast i16* %abi_cast2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %98, i8* %99, i16 2, i32 1, i1 false) store i8 1, i8* %_101 %100 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %101 = load i8, i8* %100, !range !2 %102 = zext i8 %101 to i16 switch i16 %102, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 0, i8* %_101 br label %bb42 bb40: ; preds = %bb38 store i8 0, i8* %_101 %103 = bitcast %"slice::SearchWhile"* %_47 to { i8, i8 }* %104 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %103, i32 0, i32 1 %105 = load i8, i8* %104, !range !2 %106 = trunc i8 %105 to i1 %107 = zext i1 %106 to i8 store i8 %107, i8* %_0 %108 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %109 = load i8, i8* %108, !range !2 %110 = zext i8 %109 to i16 switch i16 %110, label %bb70 [ i16 1, label %bb41 ] bb41: ; preds = %bb70, %bb40 br label %bb18 bb42: ; preds = %bb39 %111 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %112 = load i32*, i32** %111 %113 = load i32*, i32** %111 %114 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc31 unwind label %cleanup .noexc31: ; preds = %bb42 %115 = icmp eq i16 %114, 0 br i1 %115, label %bb2.i.i29, label %bb3.i.i30 bb2.i.i29: ; preds = %.noexc31 %116 = bitcast i32* %113 to i8* %117 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %116, i16 1) to label %.noexc32 unwind label %cleanup .noexc32: ; preds = %bb2.i.i29 %118 = bitcast i8* %117 to i32* store i32* %118, i32** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34 bb3.i.i30: ; preds = %.noexc31 %119 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %113, i16 1) to label %.noexc33 unwind label %cleanup .noexc33: ; preds = %bb3.i.i30 store i32* %119, i32** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34: ; preds = %.noexc32, %.noexc33 %120 = load i32*, i32** %_0.i.i28 store i32* %120, i32** %111 br label %bb43 bb43: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34 %121 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit36 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit36: ; preds = %bb43 br label %bb44 bb44: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit36 %122 = icmp eq i16 %121, 0 br i1 %122, label %bb45, label %bb46 bb45: ; preds = %bb44 store i32* inttoptr (i16 1 to i32*), i32** %_66 br label %bb47 bb46: ; preds = %bb44 store i32* %112, i32** %_66 br label %bb47 bb47: ; preds = %bb46, %bb45 %123 = load i32*, i32** %_66, !nonnull !1 %124 = getelementptr inbounds { i32* }, { i32* }* %_65, i32 0, i32 0 store i32* %123, i32** %124 %125 = getelementptr inbounds { i32* }, { i32* }* %_65, i32 0, i32 0 %126 = load i32*, i32** %125 %127 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hee5d2c4a82eac4cbE"(%closure.62* %g, i32* noalias readonly dereferenceable(4) %126) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 store i16 %127, i16* %abi_cast3 %128 = bitcast %"slice::SearchWhile"* %_63 to i8* %129 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %128, i8* %129, i16 2, i32 1, i1 false) store i8 1, i8* %_102 %130 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %131 = load i8, i8* %130, !range !2 %132 = zext i8 %131 to i16 switch i16 %132, label %bb50 [ i16 0, label %bb49 ] bb49: ; preds = %bb48 store i8 0, i8* %_102 br label %bb52 bb50: ; preds = %bb48 store i8 0, i8* %_102 %133 = bitcast %"slice::SearchWhile"* %_63 to { i8, i8 }* %134 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %133, i32 0, i32 1 %135 = load i8, i8* %134, !range !2 %136 = trunc i8 %135 to i1 %137 = zext i1 %136 to i8 store i8 %137, i8* %_0 %138 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %139 = load i8, i8* %138, !range !2 %140 = zext i8 %139 to i16 switch i16 %140, label %bb71 [ i16 1, label %bb51 ] bb51: ; preds = %bb71, %bb50 br label %bb18 bb52: ; preds = %bb49 br label %bb1 bb53: ; preds = %bb65, %bb2 %141 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %142 = load i32*, i32** %141 %143 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %144 = load i32*, i32** %143 %145 = icmp ne i32* %142, %144 br i1 %145, label %bb55, label %bb54 bb54: ; preds = %bb53 store i8 0, i8* %_98 %146 = zext i1 %1 to i8 store i8 %146, i8* %_0 br label %bb66 bb55: ; preds = %bb53 %147 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %148 = load i32*, i32** %147 %149 = load i32*, i32** %147 %150 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc40 unwind label %cleanup .noexc40: ; preds = %bb55 %151 = icmp eq i16 %150, 0 br i1 %151, label %bb2.i.i38, label %bb3.i.i39 bb2.i.i38: ; preds = %.noexc40 %152 = bitcast i32* %149 to i8* %153 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %152, i16 1) to label %.noexc41 unwind label %cleanup .noexc41: ; preds = %bb2.i.i38 %154 = bitcast i8* %153 to i32* store i32* %154, i32** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43 bb3.i.i39: ; preds = %.noexc40 %155 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %149, i16 1) to label %.noexc42 unwind label %cleanup .noexc42: ; preds = %bb3.i.i39 store i32* %155, i32** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43: ; preds = %.noexc41, %.noexc42 %156 = load i32*, i32** %_0.i.i37 store i32* %156, i32** %147 br label %bb56 bb56: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43 %157 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit45 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit45: ; preds = %bb56 br label %bb57 bb57: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit45 %158 = icmp eq i16 %157, 0 br i1 %158, label %bb58, label %bb59 bb58: ; preds = %bb57 store i32* inttoptr (i16 1 to i32*), i32** %_85 br label %bb60 bb59: ; preds = %bb57 store i32* %148, i32** %_85 br label %bb60 bb60: ; preds = %bb59, %bb58 %159 = load i32*, i32** %_85, !nonnull !1 %160 = getelementptr inbounds { i32* }, { i32* }* %_84, i32 0, i32 0 store i32* %159, i32** %160 %161 = getelementptr inbounds { i32* }, { i32* }* %_84, i32 0, i32 0 %162 = load i32*, i32** %161 %163 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hee5d2c4a82eac4cbE"(%closure.62* %g, i32* noalias readonly dereferenceable(4) %162) to label %bb61 unwind label %cleanup bb61: ; preds = %bb60 store i16 %163, i16* %abi_cast4 %164 = bitcast %"slice::SearchWhile"* %_82 to i8* %165 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %164, i8* %165, i16 2, i32 1, i1 false) store i8 1, i8* %_103 %166 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %167 = load i8, i8* %166, !range !2 %168 = zext i8 %167 to i16 switch i16 %168, label %bb63 [ i16 0, label %bb62 ] bb62: ; preds = %bb61 store i8 0, i8* %_103 br label %bb65 bb63: ; preds = %bb61 store i8 0, i8* %_103 %169 = bitcast %"slice::SearchWhile"* %_82 to { i8, i8 }* %170 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %169, i32 0, i32 1 %171 = load i8, i8* %170, !range !2 %172 = trunc i8 %171 to i1 %173 = zext i1 %172 to i8 store i8 %173, i8* %_0 %174 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %175 = load i8, i8* %174, !range !2 %176 = zext i8 %175 to i16 switch i16 %176, label %bb72 [ i16 1, label %bb64 ] bb64: ; preds = %bb72, %bb63 br label %bb19 bb65: ; preds = %bb62 br label %bb53 bb66: ; preds = %bb54 br label %bb16 bb67: ; preds = %bb4 store i8 0, i8* %_98 br label %bb3 bb68: ; preds = %bb15 br label %bb17 bb69: ; preds = %bb30 br label %bb31 bb70: ; preds = %bb40 br label %bb41 bb71: ; preds = %bb50 br label %bb51 bb72: ; preds = %bb63 br label %bb64 cleanup: ; preds = %bb56, %bb3.i.i39, %bb2.i.i38, %bb55, %bb43, %bb3.i.i30, %bb2.i.i29, %bb42, %bb33, %bb3.i.i21, %bb2.i.i20, %bb32, %bb23, %bb3.i.i12, %bb2.i.i11, %bb22, %bb8, %bb3.i.i, %bb2.i.i, %bb7, %bb2.i, %bb1, %bb60, %bb47, %bb37, %bb27, %bb12 %177 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %177, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17hddf92594f87f9699E"(%"slice::Iter"* dereferenceable(4), i1 zeroext) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %abi_cast4 = alloca i16 %abi_cast3 = alloca i16 %abi_cast2 = alloca i16 %abi_cast1 = alloca i16 %abi_cast = alloca i16 %personalityslot = alloca { i8*, i32 } %_103 = alloca i8 %_102 = alloca i8 %_101 = alloca i8 %_100 = alloca i8 %_99 = alloca i8 %_98 = alloca i8 %_85 = alloca i32* %_84 = alloca { i32* } %_82 = alloca %"slice::SearchWhile" %_81 = alloca {} %_66 = alloca i32* %_65 = alloca { i32* } %_63 = alloca %"slice::SearchWhile" %_62 = alloca {} %_50 = alloca i32* %_49 = alloca { i32* } %_47 = alloca %"slice::SearchWhile" %_46 = alloca {} %_34 = alloca i32* %_33 = alloca { i32* } %_31 = alloca %"slice::SearchWhile" %_30 = alloca {} %_18 = alloca i32* %_17 = alloca { i32* } %_15 = alloca %"slice::SearchWhile" %_14 = alloca {} %_11 = alloca {} %_8 = alloca {} %_7 = alloca {} %g = alloca %closure.56 %_0 = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %_103 store i8 0, i8* %_100 store i8 0, i8* %_101 store i8 0, i8* %_102 store i8 0, i8* %_99 store i8 0, i8* %_98 store i8 1, i8* %_98 br label %bb1 bb1: ; preds = %bb52, %start %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %3 = load i32*, i32** %2 %4 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %5 = load i32*, i32** %4 %6 = invoke i16 @_ZN4core5slice11ptrdistance17h42e4f1abab57ca8fE(i32* %3, i32* %5) to label %bb6 unwind label %cleanup bb2: ; preds = %bb6 br label %bb53 bb3: ; preds = %bb67, %bb4 %7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %7 bb4: ; preds = %bb5 %8 = load i8, i8* %_98, !range !2 %9 = trunc i8 %8 to i1 br i1 %9, label %bb67, label %bb3 bb5: ; preds = %cleanup br label %bb4 bb6: ; preds = %bb1 %10 = icmp uge i16 %6, 4 br i1 %10, label %bb7, label %bb2 bb7: ; preds = %bb6 %11 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %12 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE(i32** dereferenceable(2) %11) to label %bb8 unwind label %cleanup bb8: ; preds = %bb7 %13 = invoke i16 @_ZN4core5slice13size_from_ptr17h5b91925189f404d3E(i32* %12) to label %bb9 unwind label %cleanup bb9: ; preds = %bb8 %14 = icmp eq i16 %13, 0 br i1 %14, label %bb10, label %bb11 bb10: ; preds = %bb9 store i32* inttoptr (i16 1 to i32*), i32** %_18 br label %bb12 bb11: ; preds = %bb9 store i32* %12, i32** %_18 br label %bb12 bb12: ; preds = %bb11, %bb10 %15 = load i32*, i32** %_18, !nonnull !1 %16 = getelementptr inbounds { i32* }, { i32* }* %_17, i32 0, i32 0 store i32* %15, i32** %16 %17 = getelementptr inbounds { i32* }, { i32* }* %_17, i32 0, i32 0 %18 = load i32*, i32** %17 %19 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h0b4a149aa990e1eaE"(%closure.56* %g, i32* noalias readonly dereferenceable(4) %18) to label %bb13 unwind label %cleanup bb13: ; preds = %bb12 store i16 %19, i16* %abi_cast %20 = bitcast %"slice::SearchWhile"* %_15 to i8* %21 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %20, i8* %21, i16 2, i32 1, i1 false) store i8 1, i8* %_99 %22 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %23 = load i8, i8* %22, !range !2 %24 = zext i8 %23 to i16 switch i16 %24, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 store i8 0, i8* %_99 br label %bb22 bb15: ; preds = %bb13 store i8 0, i8* %_99 %25 = bitcast %"slice::SearchWhile"* %_15 to { i8, i8 }* %26 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %25, i32 0, i32 1 %27 = load i8, i8* %26, !range !2 %28 = trunc i8 %27 to i1 %29 = zext i1 %28 to i8 store i8 %29, i8* %_0 %30 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %31 = load i8, i8* %30, !range !2 %32 = zext i8 %31 to i16 switch i16 %32, label %bb68 [ i16 1, label %bb17 ] bb16: ; preds = %bb66, %bb21 %33 = load i8, i8* %_0, !range !2 %34 = trunc i8 %33 to i1 ret i1 %34 bb17: ; preds = %bb68, %bb15 br label %bb18 bb18: ; preds = %bb51, %bb41, %bb31, %bb17 br label %bb19 bb19: ; preds = %bb64, %bb18 br label %bb20 bb20: ; preds = %bb19 store i8 0, i8* %_98 br label %bb21 bb21: ; preds = %bb20 br label %bb16 bb22: ; preds = %bb14 %35 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %36 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE(i32** dereferenceable(2) %35) to label %bb23 unwind label %cleanup bb23: ; preds = %bb22 %37 = invoke i16 @_ZN4core5slice13size_from_ptr17h5b91925189f404d3E(i32* %36) to label %bb24 unwind label %cleanup bb24: ; preds = %bb23 %38 = icmp eq i16 %37, 0 br i1 %38, label %bb25, label %bb26 bb25: ; preds = %bb24 store i32* inttoptr (i16 1 to i32*), i32** %_34 br label %bb27 bb26: ; preds = %bb24 store i32* %36, i32** %_34 br label %bb27 bb27: ; preds = %bb26, %bb25 %39 = load i32*, i32** %_34, !nonnull !1 %40 = getelementptr inbounds { i32* }, { i32* }* %_33, i32 0, i32 0 store i32* %39, i32** %40 %41 = getelementptr inbounds { i32* }, { i32* }* %_33, i32 0, i32 0 %42 = load i32*, i32** %41 %43 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h0b4a149aa990e1eaE"(%closure.56* %g, i32* noalias readonly dereferenceable(4) %42) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 store i16 %43, i16* %abi_cast1 %44 = bitcast %"slice::SearchWhile"* %_31 to i8* %45 = bitcast i16* %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %44, i8* %45, i16 2, i32 1, i1 false) store i8 1, i8* %_100 %46 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %47 = load i8, i8* %46, !range !2 %48 = zext i8 %47 to i16 switch i16 %48, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 store i8 0, i8* %_100 br label %bb32 bb30: ; preds = %bb28 store i8 0, i8* %_100 %49 = bitcast %"slice::SearchWhile"* %_31 to { i8, i8 }* %50 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %49, i32 0, i32 1 %51 = load i8, i8* %50, !range !2 %52 = trunc i8 %51 to i1 %53 = zext i1 %52 to i8 store i8 %53, i8* %_0 %54 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %55 = load i8, i8* %54, !range !2 %56 = zext i8 %55 to i16 switch i16 %56, label %bb69 [ i16 1, label %bb31 ] bb31: ; preds = %bb69, %bb30 br label %bb18 bb32: ; preds = %bb29 %57 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %58 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE(i32** dereferenceable(2) %57) to label %bb33 unwind label %cleanup bb33: ; preds = %bb32 %59 = invoke i16 @_ZN4core5slice13size_from_ptr17h5b91925189f404d3E(i32* %58) to label %bb34 unwind label %cleanup bb34: ; preds = %bb33 %60 = icmp eq i16 %59, 0 br i1 %60, label %bb35, label %bb36 bb35: ; preds = %bb34 store i32* inttoptr (i16 1 to i32*), i32** %_50 br label %bb37 bb36: ; preds = %bb34 store i32* %58, i32** %_50 br label %bb37 bb37: ; preds = %bb36, %bb35 %61 = load i32*, i32** %_50, !nonnull !1 %62 = getelementptr inbounds { i32* }, { i32* }* %_49, i32 0, i32 0 store i32* %61, i32** %62 %63 = getelementptr inbounds { i32* }, { i32* }* %_49, i32 0, i32 0 %64 = load i32*, i32** %63 %65 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h0b4a149aa990e1eaE"(%closure.56* %g, i32* noalias readonly dereferenceable(4) %64) to label %bb38 unwind label %cleanup bb38: ; preds = %bb37 store i16 %65, i16* %abi_cast2 %66 = bitcast %"slice::SearchWhile"* %_47 to i8* %67 = bitcast i16* %abi_cast2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %66, i8* %67, i16 2, i32 1, i1 false) store i8 1, i8* %_101 %68 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %69 = load i8, i8* %68, !range !2 %70 = zext i8 %69 to i16 switch i16 %70, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 0, i8* %_101 br label %bb42 bb40: ; preds = %bb38 store i8 0, i8* %_101 %71 = bitcast %"slice::SearchWhile"* %_47 to { i8, i8 }* %72 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %71, i32 0, i32 1 %73 = load i8, i8* %72, !range !2 %74 = trunc i8 %73 to i1 %75 = zext i1 %74 to i8 store i8 %75, i8* %_0 %76 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %77 = load i8, i8* %76, !range !2 %78 = zext i8 %77 to i16 switch i16 %78, label %bb70 [ i16 1, label %bb41 ] bb41: ; preds = %bb70, %bb40 br label %bb18 bb42: ; preds = %bb39 %79 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %80 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE(i32** dereferenceable(2) %79) to label %bb43 unwind label %cleanup bb43: ; preds = %bb42 %81 = invoke i16 @_ZN4core5slice13size_from_ptr17h5b91925189f404d3E(i32* %80) to label %bb44 unwind label %cleanup bb44: ; preds = %bb43 %82 = icmp eq i16 %81, 0 br i1 %82, label %bb45, label %bb46 bb45: ; preds = %bb44 store i32* inttoptr (i16 1 to i32*), i32** %_66 br label %bb47 bb46: ; preds = %bb44 store i32* %80, i32** %_66 br label %bb47 bb47: ; preds = %bb46, %bb45 %83 = load i32*, i32** %_66, !nonnull !1 %84 = getelementptr inbounds { i32* }, { i32* }* %_65, i32 0, i32 0 store i32* %83, i32** %84 %85 = getelementptr inbounds { i32* }, { i32* }* %_65, i32 0, i32 0 %86 = load i32*, i32** %85 %87 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h0b4a149aa990e1eaE"(%closure.56* %g, i32* noalias readonly dereferenceable(4) %86) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 store i16 %87, i16* %abi_cast3 %88 = bitcast %"slice::SearchWhile"* %_63 to i8* %89 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %88, i8* %89, i16 2, i32 1, i1 false) store i8 1, i8* %_102 %90 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %91 = load i8, i8* %90, !range !2 %92 = zext i8 %91 to i16 switch i16 %92, label %bb50 [ i16 0, label %bb49 ] bb49: ; preds = %bb48 store i8 0, i8* %_102 br label %bb52 bb50: ; preds = %bb48 store i8 0, i8* %_102 %93 = bitcast %"slice::SearchWhile"* %_63 to { i8, i8 }* %94 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %93, i32 0, i32 1 %95 = load i8, i8* %94, !range !2 %96 = trunc i8 %95 to i1 %97 = zext i1 %96 to i8 store i8 %97, i8* %_0 %98 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %99 = load i8, i8* %98, !range !2 %100 = zext i8 %99 to i16 switch i16 %100, label %bb71 [ i16 1, label %bb51 ] bb51: ; preds = %bb71, %bb50 br label %bb18 bb52: ; preds = %bb49 br label %bb1 bb53: ; preds = %bb65, %bb2 %101 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %102 = load i32*, i32** %101 %103 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %104 = load i32*, i32** %103 %105 = icmp ne i32* %102, %104 br i1 %105, label %bb55, label %bb54 bb54: ; preds = %bb53 store i8 0, i8* %_98 %106 = zext i1 %1 to i8 store i8 %106, i8* %_0 br label %bb66 bb55: ; preds = %bb53 %107 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %108 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17h88ef80bde2ee2a9bE(i32** dereferenceable(2) %107) to label %bb56 unwind label %cleanup bb56: ; preds = %bb55 %109 = invoke i16 @_ZN4core5slice13size_from_ptr17h5b91925189f404d3E(i32* %108) to label %bb57 unwind label %cleanup bb57: ; preds = %bb56 %110 = icmp eq i16 %109, 0 br i1 %110, label %bb58, label %bb59 bb58: ; preds = %bb57 store i32* inttoptr (i16 1 to i32*), i32** %_85 br label %bb60 bb59: ; preds = %bb57 store i32* %108, i32** %_85 br label %bb60 bb60: ; preds = %bb59, %bb58 %111 = load i32*, i32** %_85, !nonnull !1 %112 = getelementptr inbounds { i32* }, { i32* }* %_84, i32 0, i32 0 store i32* %111, i32** %112 %113 = getelementptr inbounds { i32* }, { i32* }* %_84, i32 0, i32 0 %114 = load i32*, i32** %113 %115 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h0b4a149aa990e1eaE"(%closure.56* %g, i32* noalias readonly dereferenceable(4) %114) to label %bb61 unwind label %cleanup bb61: ; preds = %bb60 store i16 %115, i16* %abi_cast4 %116 = bitcast %"slice::SearchWhile"* %_82 to i8* %117 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %116, i8* %117, i16 2, i32 1, i1 false) store i8 1, i8* %_103 %118 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %119 = load i8, i8* %118, !range !2 %120 = zext i8 %119 to i16 switch i16 %120, label %bb63 [ i16 0, label %bb62 ] bb62: ; preds = %bb61 store i8 0, i8* %_103 br label %bb65 bb63: ; preds = %bb61 store i8 0, i8* %_103 %121 = bitcast %"slice::SearchWhile"* %_82 to { i8, i8 }* %122 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %121, i32 0, i32 1 %123 = load i8, i8* %122, !range !2 %124 = trunc i8 %123 to i1 %125 = zext i1 %124 to i8 store i8 %125, i8* %_0 %126 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %127 = load i8, i8* %126, !range !2 %128 = zext i8 %127 to i16 switch i16 %128, label %bb72 [ i16 1, label %bb64 ] bb64: ; preds = %bb72, %bb63 br label %bb19 bb65: ; preds = %bb62 br label %bb53 bb66: ; preds = %bb54 br label %bb16 bb67: ; preds = %bb4 store i8 0, i8* %_98 br label %bb3 bb68: ; preds = %bb15 br label %bb17 bb69: ; preds = %bb30 br label %bb31 bb70: ; preds = %bb40 br label %bb41 bb71: ; preds = %bb50 br label %bb51 bb72: ; preds = %bb63 br label %bb64 cleanup: ; preds = %bb60, %bb56, %bb55, %bb47, %bb43, %bb42, %bb37, %bb33, %bb32, %bb27, %bb23, %bb22, %bb12, %bb8, %bb7, %bb1 %129 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %129, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17hf77bf46b51425985E"(%"slice::Iter"* dereferenceable(4), i1 zeroext) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %_0.i.i37 = alloca i8* %_0.i.i28 = alloca i8* %_0.i.i19 = alloca i8* %_0.i.i10 = alloca i8* %_0.i.i = alloca i8* %_5.i = alloca %"option::Option" %_0.i = alloca i16 %abi_cast4 = alloca i16 %abi_cast3 = alloca i16 %abi_cast2 = alloca i16 %abi_cast1 = alloca i16 %abi_cast = alloca i16 %personalityslot = alloca { i8*, i32 } %_103 = alloca i8 %_102 = alloca i8 %_101 = alloca i8 %_100 = alloca i8 %_99 = alloca i8 %_98 = alloca i8 %_85 = alloca i8* %_84 = alloca { i8* } %_82 = alloca %"slice::SearchWhile" %_81 = alloca {} %_66 = alloca i8* %_65 = alloca { i8* } %_63 = alloca %"slice::SearchWhile" %_62 = alloca {} %_50 = alloca i8* %_49 = alloca { i8* } %_47 = alloca %"slice::SearchWhile" %_46 = alloca {} %_34 = alloca i8* %_33 = alloca { i8* } %_31 = alloca %"slice::SearchWhile" %_30 = alloca {} %_18 = alloca i8* %_17 = alloca { i8* } %_15 = alloca %"slice::SearchWhile" %_14 = alloca {} %_11 = alloca {} %_8 = alloca {} %_7 = alloca {} %g = alloca %closure.58 %_0 = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %_103 store i8 0, i8* %_100 store i8 0, i8* %_101 store i8 0, i8* %_102 store i8 0, i8* %_99 store i8 0, i8* %_98 store i8 1, i8* %_98 br label %bb1 bb1: ; preds = %bb52, %start %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %3 = load i8*, i8** %2 %4 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %5 = load i8*, i8** %4 invoke void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h36c1ff4935521ce9E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i8* %3, i8* %5) to label %.noexc unwind label %cleanup .noexc: ; preds = %bb1 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %7 = load i16, i16* %6, !range !3 %cond = icmp eq i16 %7, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %.noexc %8 = ptrtoint i8* %5 to i16 %9 = ptrtoint i8* %3 to i16 %10 = invoke i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %8, i16 %9) to label %.noexc5 unwind label %cleanup .noexc5: ; preds = %bb2.i store i16 %10, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit bb3.i: ; preds = %.noexc %11 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 store i16 %13, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit _ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit: ; preds = %bb3.i, %.noexc5 %14 = load i16, i16* %_0.i br label %bb6 bb2: ; preds = %bb6 br label %bb53 bb3: ; preds = %bb67, %bb4 %15 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %15 bb4: ; preds = %bb5 %16 = load i8, i8* %_98, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb67, label %bb3 bb5: ; preds = %cleanup br label %bb4 bb6: ; preds = %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit %18 = icmp uge i16 %14, 4 br i1 %18, label %bb7, label %bb2 bb7: ; preds = %bb6 %19 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %20 = load i8*, i8** %19 %21 = load i8*, i8** %19 %22 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc6 unwind label %cleanup .noexc6: ; preds = %bb7 %23 = icmp eq i16 %22, 0 br i1 %23, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %.noexc6 %24 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %21, i16 1) to label %.noexc7 unwind label %cleanup .noexc7: ; preds = %bb2.i.i store i8* %24, i8** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit bb3.i.i: ; preds = %.noexc6 %25 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %21, i16 1) to label %.noexc8 unwind label %cleanup .noexc8: ; preds = %bb3.i.i store i8* %25, i8** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit: ; preds = %.noexc7, %.noexc8 %26 = load i8*, i8** %_0.i.i store i8* %26, i8** %19 br label %bb8 bb8: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit %27 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit: ; preds = %bb8 br label %bb9 bb9: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit %28 = icmp eq i16 %27, 0 br i1 %28, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8* inttoptr (i16 1 to i8*), i8** %_18 br label %bb12 bb11: ; preds = %bb9 store i8* %20, i8** %_18 br label %bb12 bb12: ; preds = %bb11, %bb10 %29 = load i8*, i8** %_18, !nonnull !1 %30 = getelementptr inbounds { i8* }, { i8* }* %_17, i32 0, i32 0 store i8* %29, i8** %30 %31 = getelementptr inbounds { i8* }, { i8* }* %_17, i32 0, i32 0 %32 = load i8*, i8** %31 %33 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h25b511f45ad051cfE"(%closure.58* %g, i8* noalias readonly dereferenceable(1) %32) to label %bb13 unwind label %cleanup bb13: ; preds = %bb12 store i16 %33, i16* %abi_cast %34 = bitcast %"slice::SearchWhile"* %_15 to i8* %35 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %34, i8* %35, i16 2, i32 1, i1 false) store i8 1, i8* %_99 %36 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %37 = load i8, i8* %36, !range !2 %38 = zext i8 %37 to i16 switch i16 %38, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 store i8 0, i8* %_99 br label %bb22 bb15: ; preds = %bb13 store i8 0, i8* %_99 %39 = bitcast %"slice::SearchWhile"* %_15 to { i8, i8 }* %40 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %39, i32 0, i32 1 %41 = load i8, i8* %40, !range !2 %42 = trunc i8 %41 to i1 %43 = zext i1 %42 to i8 store i8 %43, i8* %_0 %44 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %45 = load i8, i8* %44, !range !2 %46 = zext i8 %45 to i16 switch i16 %46, label %bb68 [ i16 1, label %bb17 ] bb16: ; preds = %bb66, %bb21 %47 = load i8, i8* %_0, !range !2 %48 = trunc i8 %47 to i1 ret i1 %48 bb17: ; preds = %bb68, %bb15 br label %bb18 bb18: ; preds = %bb51, %bb41, %bb31, %bb17 br label %bb19 bb19: ; preds = %bb64, %bb18 br label %bb20 bb20: ; preds = %bb19 store i8 0, i8* %_98 br label %bb21 bb21: ; preds = %bb20 br label %bb16 bb22: ; preds = %bb14 %49 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %50 = load i8*, i8** %49 %51 = load i8*, i8** %49 %52 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc13 unwind label %cleanup .noexc13: ; preds = %bb22 %53 = icmp eq i16 %52, 0 br i1 %53, label %bb2.i.i11, label %bb3.i.i12 bb2.i.i11: ; preds = %.noexc13 %54 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %51, i16 1) to label %.noexc14 unwind label %cleanup .noexc14: ; preds = %bb2.i.i11 store i8* %54, i8** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16 bb3.i.i12: ; preds = %.noexc13 %55 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %51, i16 1) to label %.noexc15 unwind label %cleanup .noexc15: ; preds = %bb3.i.i12 store i8* %55, i8** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16: ; preds = %.noexc14, %.noexc15 %56 = load i8*, i8** %_0.i.i10 store i8* %56, i8** %49 br label %bb23 bb23: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit16 %57 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18: ; preds = %bb23 br label %bb24 bb24: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18 %58 = icmp eq i16 %57, 0 br i1 %58, label %bb25, label %bb26 bb25: ; preds = %bb24 store i8* inttoptr (i16 1 to i8*), i8** %_34 br label %bb27 bb26: ; preds = %bb24 store i8* %50, i8** %_34 br label %bb27 bb27: ; preds = %bb26, %bb25 %59 = load i8*, i8** %_34, !nonnull !1 %60 = getelementptr inbounds { i8* }, { i8* }* %_33, i32 0, i32 0 store i8* %59, i8** %60 %61 = getelementptr inbounds { i8* }, { i8* }* %_33, i32 0, i32 0 %62 = load i8*, i8** %61 %63 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h25b511f45ad051cfE"(%closure.58* %g, i8* noalias readonly dereferenceable(1) %62) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 store i16 %63, i16* %abi_cast1 %64 = bitcast %"slice::SearchWhile"* %_31 to i8* %65 = bitcast i16* %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %64, i8* %65, i16 2, i32 1, i1 false) store i8 1, i8* %_100 %66 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %67 = load i8, i8* %66, !range !2 %68 = zext i8 %67 to i16 switch i16 %68, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 store i8 0, i8* %_100 br label %bb32 bb30: ; preds = %bb28 store i8 0, i8* %_100 %69 = bitcast %"slice::SearchWhile"* %_31 to { i8, i8 }* %70 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %69, i32 0, i32 1 %71 = load i8, i8* %70, !range !2 %72 = trunc i8 %71 to i1 %73 = zext i1 %72 to i8 store i8 %73, i8* %_0 %74 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %75 = load i8, i8* %74, !range !2 %76 = zext i8 %75 to i16 switch i16 %76, label %bb69 [ i16 1, label %bb31 ] bb31: ; preds = %bb69, %bb30 br label %bb18 bb32: ; preds = %bb29 %77 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %78 = load i8*, i8** %77 %79 = load i8*, i8** %77 %80 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc22 unwind label %cleanup .noexc22: ; preds = %bb32 %81 = icmp eq i16 %80, 0 br i1 %81, label %bb2.i.i20, label %bb3.i.i21 bb2.i.i20: ; preds = %.noexc22 %82 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %79, i16 1) to label %.noexc23 unwind label %cleanup .noexc23: ; preds = %bb2.i.i20 store i8* %82, i8** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25 bb3.i.i21: ; preds = %.noexc22 %83 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %79, i16 1) to label %.noexc24 unwind label %cleanup .noexc24: ; preds = %bb3.i.i21 store i8* %83, i8** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25: ; preds = %.noexc23, %.noexc24 %84 = load i8*, i8** %_0.i.i19 store i8* %84, i8** %77 br label %bb33 bb33: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit25 %85 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27: ; preds = %bb33 br label %bb34 bb34: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27 %86 = icmp eq i16 %85, 0 br i1 %86, label %bb35, label %bb36 bb35: ; preds = %bb34 store i8* inttoptr (i16 1 to i8*), i8** %_50 br label %bb37 bb36: ; preds = %bb34 store i8* %78, i8** %_50 br label %bb37 bb37: ; preds = %bb36, %bb35 %87 = load i8*, i8** %_50, !nonnull !1 %88 = getelementptr inbounds { i8* }, { i8* }* %_49, i32 0, i32 0 store i8* %87, i8** %88 %89 = getelementptr inbounds { i8* }, { i8* }* %_49, i32 0, i32 0 %90 = load i8*, i8** %89 %91 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h25b511f45ad051cfE"(%closure.58* %g, i8* noalias readonly dereferenceable(1) %90) to label %bb38 unwind label %cleanup bb38: ; preds = %bb37 store i16 %91, i16* %abi_cast2 %92 = bitcast %"slice::SearchWhile"* %_47 to i8* %93 = bitcast i16* %abi_cast2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %92, i8* %93, i16 2, i32 1, i1 false) store i8 1, i8* %_101 %94 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %95 = load i8, i8* %94, !range !2 %96 = zext i8 %95 to i16 switch i16 %96, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 0, i8* %_101 br label %bb42 bb40: ; preds = %bb38 store i8 0, i8* %_101 %97 = bitcast %"slice::SearchWhile"* %_47 to { i8, i8 }* %98 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %97, i32 0, i32 1 %99 = load i8, i8* %98, !range !2 %100 = trunc i8 %99 to i1 %101 = zext i1 %100 to i8 store i8 %101, i8* %_0 %102 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %103 = load i8, i8* %102, !range !2 %104 = zext i8 %103 to i16 switch i16 %104, label %bb70 [ i16 1, label %bb41 ] bb41: ; preds = %bb70, %bb40 br label %bb18 bb42: ; preds = %bb39 %105 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %106 = load i8*, i8** %105 %107 = load i8*, i8** %105 %108 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc31 unwind label %cleanup .noexc31: ; preds = %bb42 %109 = icmp eq i16 %108, 0 br i1 %109, label %bb2.i.i29, label %bb3.i.i30 bb2.i.i29: ; preds = %.noexc31 %110 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %107, i16 1) to label %.noexc32 unwind label %cleanup .noexc32: ; preds = %bb2.i.i29 store i8* %110, i8** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34 bb3.i.i30: ; preds = %.noexc31 %111 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %107, i16 1) to label %.noexc33 unwind label %cleanup .noexc33: ; preds = %bb3.i.i30 store i8* %111, i8** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34: ; preds = %.noexc32, %.noexc33 %112 = load i8*, i8** %_0.i.i28 store i8* %112, i8** %105 br label %bb43 bb43: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit34 %113 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36: ; preds = %bb43 br label %bb44 bb44: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36 %114 = icmp eq i16 %113, 0 br i1 %114, label %bb45, label %bb46 bb45: ; preds = %bb44 store i8* inttoptr (i16 1 to i8*), i8** %_66 br label %bb47 bb46: ; preds = %bb44 store i8* %106, i8** %_66 br label %bb47 bb47: ; preds = %bb46, %bb45 %115 = load i8*, i8** %_66, !nonnull !1 %116 = getelementptr inbounds { i8* }, { i8* }* %_65, i32 0, i32 0 store i8* %115, i8** %116 %117 = getelementptr inbounds { i8* }, { i8* }* %_65, i32 0, i32 0 %118 = load i8*, i8** %117 %119 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h25b511f45ad051cfE"(%closure.58* %g, i8* noalias readonly dereferenceable(1) %118) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 store i16 %119, i16* %abi_cast3 %120 = bitcast %"slice::SearchWhile"* %_63 to i8* %121 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %121, i16 2, i32 1, i1 false) store i8 1, i8* %_102 %122 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %123 = load i8, i8* %122, !range !2 %124 = zext i8 %123 to i16 switch i16 %124, label %bb50 [ i16 0, label %bb49 ] bb49: ; preds = %bb48 store i8 0, i8* %_102 br label %bb52 bb50: ; preds = %bb48 store i8 0, i8* %_102 %125 = bitcast %"slice::SearchWhile"* %_63 to { i8, i8 }* %126 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %125, i32 0, i32 1 %127 = load i8, i8* %126, !range !2 %128 = trunc i8 %127 to i1 %129 = zext i1 %128 to i8 store i8 %129, i8* %_0 %130 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %131 = load i8, i8* %130, !range !2 %132 = zext i8 %131 to i16 switch i16 %132, label %bb71 [ i16 1, label %bb51 ] bb51: ; preds = %bb71, %bb50 br label %bb18 bb52: ; preds = %bb49 br label %bb1 bb53: ; preds = %bb65, %bb2 %133 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %134 = load i8*, i8** %133 %135 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %136 = load i8*, i8** %135 %137 = icmp ne i8* %134, %136 br i1 %137, label %bb55, label %bb54 bb54: ; preds = %bb53 store i8 0, i8* %_98 %138 = zext i1 %1 to i8 store i8 %138, i8* %_0 br label %bb66 bb55: ; preds = %bb53 %139 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %140 = load i8*, i8** %139 %141 = load i8*, i8** %139 %142 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc40 unwind label %cleanup .noexc40: ; preds = %bb55 %143 = icmp eq i16 %142, 0 br i1 %143, label %bb2.i.i38, label %bb3.i.i39 bb2.i.i38: ; preds = %.noexc40 %144 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %141, i16 1) to label %.noexc41 unwind label %cleanup .noexc41: ; preds = %bb2.i.i38 store i8* %144, i8** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43 bb3.i.i39: ; preds = %.noexc40 %145 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %141, i16 1) to label %.noexc42 unwind label %cleanup .noexc42: ; preds = %bb3.i.i39 store i8* %145, i8** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43 _ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43: ; preds = %.noexc41, %.noexc42 %146 = load i8*, i8** %_0.i.i37 store i8* %146, i8** %139 br label %bb56 bb56: ; preds = %_ZN4core5slice10PointerExt8post_inc17h4d80dc63b9a239e2E.exit43 %147 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45: ; preds = %bb56 br label %bb57 bb57: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45 %148 = icmp eq i16 %147, 0 br i1 %148, label %bb58, label %bb59 bb58: ; preds = %bb57 store i8* inttoptr (i16 1 to i8*), i8** %_85 br label %bb60 bb59: ; preds = %bb57 store i8* %140, i8** %_85 br label %bb60 bb60: ; preds = %bb59, %bb58 %149 = load i8*, i8** %_85, !nonnull !1 %150 = getelementptr inbounds { i8* }, { i8* }* %_84, i32 0, i32 0 store i8* %149, i8** %150 %151 = getelementptr inbounds { i8* }, { i8* }* %_84, i32 0, i32 0 %152 = load i8*, i8** %151 %153 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h25b511f45ad051cfE"(%closure.58* %g, i8* noalias readonly dereferenceable(1) %152) to label %bb61 unwind label %cleanup bb61: ; preds = %bb60 store i16 %153, i16* %abi_cast4 %154 = bitcast %"slice::SearchWhile"* %_82 to i8* %155 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %154, i8* %155, i16 2, i32 1, i1 false) store i8 1, i8* %_103 %156 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %157 = load i8, i8* %156, !range !2 %158 = zext i8 %157 to i16 switch i16 %158, label %bb63 [ i16 0, label %bb62 ] bb62: ; preds = %bb61 store i8 0, i8* %_103 br label %bb65 bb63: ; preds = %bb61 store i8 0, i8* %_103 %159 = bitcast %"slice::SearchWhile"* %_82 to { i8, i8 }* %160 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %159, i32 0, i32 1 %161 = load i8, i8* %160, !range !2 %162 = trunc i8 %161 to i1 %163 = zext i1 %162 to i8 store i8 %163, i8* %_0 %164 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %165 = load i8, i8* %164, !range !2 %166 = zext i8 %165 to i16 switch i16 %166, label %bb72 [ i16 1, label %bb64 ] bb64: ; preds = %bb72, %bb63 br label %bb19 bb65: ; preds = %bb62 br label %bb53 bb66: ; preds = %bb54 br label %bb16 bb67: ; preds = %bb4 store i8 0, i8* %_98 br label %bb3 bb68: ; preds = %bb15 br label %bb17 bb69: ; preds = %bb30 br label %bb31 bb70: ; preds = %bb40 br label %bb41 bb71: ; preds = %bb50 br label %bb51 bb72: ; preds = %bb63 br label %bb64 cleanup: ; preds = %bb56, %bb3.i.i39, %bb2.i.i38, %bb55, %bb43, %bb3.i.i30, %bb2.i.i29, %bb42, %bb33, %bb3.i.i21, %bb2.i.i20, %bb32, %bb23, %bb3.i.i12, %bb2.i.i11, %bb22, %bb8, %bb3.i.i, %bb2.i.i, %bb7, %bb2.i, %bb1, %bb60, %bb47, %bb37, %bb27, %bb12 %167 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %167, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: uwtable define internal zeroext i1 @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$12search_while17hffe98f567e19b0a5E"(%"slice::Iter"* dereferenceable(4), i1 zeroext) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %_0.i.i37 = alloca i32* %_0.i.i28 = alloca i32* %_0.i.i19 = alloca i32* %_0.i.i10 = alloca i32* %_0.i.i = alloca i32* %_5.i = alloca %"option::Option" %_0.i = alloca i16 %abi_cast4 = alloca i16 %abi_cast3 = alloca i16 %abi_cast2 = alloca i16 %abi_cast1 = alloca i16 %abi_cast = alloca i16 %personalityslot = alloca { i8*, i32 } %_103 = alloca i8 %_102 = alloca i8 %_101 = alloca i8 %_100 = alloca i8 %_99 = alloca i8 %_98 = alloca i8 %_85 = alloca i32* %_84 = alloca { i32* } %_82 = alloca %"slice::SearchWhile" %_81 = alloca {} %_66 = alloca i32* %_65 = alloca { i32* } %_63 = alloca %"slice::SearchWhile" %_62 = alloca {} %_50 = alloca i32* %_49 = alloca { i32* } %_47 = alloca %"slice::SearchWhile" %_46 = alloca {} %_34 = alloca i32* %_33 = alloca { i32* } %_31 = alloca %"slice::SearchWhile" %_30 = alloca {} %_18 = alloca i32* %_17 = alloca { i32* } %_15 = alloca %"slice::SearchWhile" %_14 = alloca {} %_11 = alloca {} %_8 = alloca {} %_7 = alloca {} %g = alloca %closure.61 %_0 = alloca i8 br label %start start: ; preds = %entry-block store i8 0, i8* %_103 store i8 0, i8* %_100 store i8 0, i8* %_101 store i8 0, i8* %_102 store i8 0, i8* %_99 store i8 0, i8* %_98 store i8 1, i8* %_98 br label %bb1 bb1: ; preds = %bb52, %start %2 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %3 = load i32*, i32** %2 %4 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %5 = load i32*, i32** %4 invoke void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h4b91a05d9203a938E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i32* %3, i32* %5) to label %.noexc unwind label %cleanup .noexc: ; preds = %bb1 %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %7 = load i16, i16* %6, !range !3 %cond = icmp eq i16 %7, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %.noexc %8 = ptrtoint i32* %5 to i16 %9 = ptrtoint i32* %3 to i16 %10 = invoke i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %8, i16 %9) to label %.noexc5 unwind label %cleanup .noexc5: ; preds = %bb2.i store i16 %10, i16* %_0.i br label %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit bb3.i: ; preds = %.noexc %11 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 store i16 %13, i16* %_0.i br label %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit _ZN4core5slice11ptrdistance17he3964f8501e26525E.exit: ; preds = %bb3.i, %.noexc5 %14 = load i16, i16* %_0.i br label %bb6 bb2: ; preds = %bb6 br label %bb53 bb3: ; preds = %bb67, %bb4 %15 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %15 bb4: ; preds = %bb5 %16 = load i8, i8* %_98, !range !2 %17 = trunc i8 %16 to i1 br i1 %17, label %bb67, label %bb3 bb5: ; preds = %cleanup br label %bb4 bb6: ; preds = %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit %18 = icmp uge i16 %14, 4 br i1 %18, label %bb7, label %bb2 bb7: ; preds = %bb6 %19 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %20 = load i32*, i32** %19 %21 = load i32*, i32** %19 %22 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc6 unwind label %cleanup .noexc6: ; preds = %bb7 %23 = icmp eq i16 %22, 0 br i1 %23, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %.noexc6 %24 = bitcast i32* %21 to i8* %25 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %24, i16 1) to label %.noexc7 unwind label %cleanup .noexc7: ; preds = %bb2.i.i %26 = bitcast i8* %25 to i32* store i32* %26, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit bb3.i.i: ; preds = %.noexc6 %27 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %21, i16 1) to label %.noexc8 unwind label %cleanup .noexc8: ; preds = %bb3.i.i store i32* %27, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit: ; preds = %.noexc7, %.noexc8 %28 = load i32*, i32** %_0.i.i store i32* %28, i32** %19 br label %bb8 bb8: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit %29 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit: ; preds = %bb8 br label %bb9 bb9: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit %30 = icmp eq i16 %29, 0 br i1 %30, label %bb10, label %bb11 bb10: ; preds = %bb9 store i32* inttoptr (i16 1 to i32*), i32** %_18 br label %bb12 bb11: ; preds = %bb9 store i32* %20, i32** %_18 br label %bb12 bb12: ; preds = %bb11, %bb10 %31 = load i32*, i32** %_18, !nonnull !1 %32 = getelementptr inbounds { i32* }, { i32* }* %_17, i32 0, i32 0 store i32* %31, i32** %32 %33 = getelementptr inbounds { i32* }, { i32* }* %_17, i32 0, i32 0 %34 = load i32*, i32** %33 %35 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hd18509cfe884c26bE"(%closure.61* %g, i32* noalias readonly dereferenceable(4) %34) to label %bb13 unwind label %cleanup bb13: ; preds = %bb12 store i16 %35, i16* %abi_cast %36 = bitcast %"slice::SearchWhile"* %_15 to i8* %37 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %36, i8* %37, i16 2, i32 1, i1 false) store i8 1, i8* %_99 %38 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %39 = load i8, i8* %38, !range !2 %40 = zext i8 %39 to i16 switch i16 %40, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 store i8 0, i8* %_99 br label %bb22 bb15: ; preds = %bb13 store i8 0, i8* %_99 %41 = bitcast %"slice::SearchWhile"* %_15 to { i8, i8 }* %42 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %41, i32 0, i32 1 %43 = load i8, i8* %42, !range !2 %44 = trunc i8 %43 to i1 %45 = zext i1 %44 to i8 store i8 %45, i8* %_0 %46 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_15, i32 0, i32 0 %47 = load i8, i8* %46, !range !2 %48 = zext i8 %47 to i16 switch i16 %48, label %bb68 [ i16 1, label %bb17 ] bb16: ; preds = %bb66, %bb21 %49 = load i8, i8* %_0, !range !2 %50 = trunc i8 %49 to i1 ret i1 %50 bb17: ; preds = %bb68, %bb15 br label %bb18 bb18: ; preds = %bb51, %bb41, %bb31, %bb17 br label %bb19 bb19: ; preds = %bb64, %bb18 br label %bb20 bb20: ; preds = %bb19 store i8 0, i8* %_98 br label %bb21 bb21: ; preds = %bb20 br label %bb16 bb22: ; preds = %bb14 %51 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %52 = load i32*, i32** %51 %53 = load i32*, i32** %51 %54 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc13 unwind label %cleanup .noexc13: ; preds = %bb22 %55 = icmp eq i16 %54, 0 br i1 %55, label %bb2.i.i11, label %bb3.i.i12 bb2.i.i11: ; preds = %.noexc13 %56 = bitcast i32* %53 to i8* %57 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %56, i16 1) to label %.noexc14 unwind label %cleanup .noexc14: ; preds = %bb2.i.i11 %58 = bitcast i8* %57 to i32* store i32* %58, i32** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16 bb3.i.i12: ; preds = %.noexc13 %59 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %53, i16 1) to label %.noexc15 unwind label %cleanup .noexc15: ; preds = %bb3.i.i12 store i32* %59, i32** %_0.i.i10 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16: ; preds = %.noexc14, %.noexc15 %60 = load i32*, i32** %_0.i.i10 store i32* %60, i32** %51 br label %bb23 bb23: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit16 %61 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit18 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit18: ; preds = %bb23 br label %bb24 bb24: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit18 %62 = icmp eq i16 %61, 0 br i1 %62, label %bb25, label %bb26 bb25: ; preds = %bb24 store i32* inttoptr (i16 1 to i32*), i32** %_34 br label %bb27 bb26: ; preds = %bb24 store i32* %52, i32** %_34 br label %bb27 bb27: ; preds = %bb26, %bb25 %63 = load i32*, i32** %_34, !nonnull !1 %64 = getelementptr inbounds { i32* }, { i32* }* %_33, i32 0, i32 0 store i32* %63, i32** %64 %65 = getelementptr inbounds { i32* }, { i32* }* %_33, i32 0, i32 0 %66 = load i32*, i32** %65 %67 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hd18509cfe884c26bE"(%closure.61* %g, i32* noalias readonly dereferenceable(4) %66) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 store i16 %67, i16* %abi_cast1 %68 = bitcast %"slice::SearchWhile"* %_31 to i8* %69 = bitcast i16* %abi_cast1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %68, i8* %69, i16 2, i32 1, i1 false) store i8 1, i8* %_100 %70 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %71 = load i8, i8* %70, !range !2 %72 = zext i8 %71 to i16 switch i16 %72, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 store i8 0, i8* %_100 br label %bb32 bb30: ; preds = %bb28 store i8 0, i8* %_100 %73 = bitcast %"slice::SearchWhile"* %_31 to { i8, i8 }* %74 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %73, i32 0, i32 1 %75 = load i8, i8* %74, !range !2 %76 = trunc i8 %75 to i1 %77 = zext i1 %76 to i8 store i8 %77, i8* %_0 %78 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_31, i32 0, i32 0 %79 = load i8, i8* %78, !range !2 %80 = zext i8 %79 to i16 switch i16 %80, label %bb69 [ i16 1, label %bb31 ] bb31: ; preds = %bb69, %bb30 br label %bb18 bb32: ; preds = %bb29 %81 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %82 = load i32*, i32** %81 %83 = load i32*, i32** %81 %84 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc22 unwind label %cleanup .noexc22: ; preds = %bb32 %85 = icmp eq i16 %84, 0 br i1 %85, label %bb2.i.i20, label %bb3.i.i21 bb2.i.i20: ; preds = %.noexc22 %86 = bitcast i32* %83 to i8* %87 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %86, i16 1) to label %.noexc23 unwind label %cleanup .noexc23: ; preds = %bb2.i.i20 %88 = bitcast i8* %87 to i32* store i32* %88, i32** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25 bb3.i.i21: ; preds = %.noexc22 %89 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %83, i16 1) to label %.noexc24 unwind label %cleanup .noexc24: ; preds = %bb3.i.i21 store i32* %89, i32** %_0.i.i19 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25: ; preds = %.noexc23, %.noexc24 %90 = load i32*, i32** %_0.i.i19 store i32* %90, i32** %81 br label %bb33 bb33: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit25 %91 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit27 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit27: ; preds = %bb33 br label %bb34 bb34: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit27 %92 = icmp eq i16 %91, 0 br i1 %92, label %bb35, label %bb36 bb35: ; preds = %bb34 store i32* inttoptr (i16 1 to i32*), i32** %_50 br label %bb37 bb36: ; preds = %bb34 store i32* %82, i32** %_50 br label %bb37 bb37: ; preds = %bb36, %bb35 %93 = load i32*, i32** %_50, !nonnull !1 %94 = getelementptr inbounds { i32* }, { i32* }* %_49, i32 0, i32 0 store i32* %93, i32** %94 %95 = getelementptr inbounds { i32* }, { i32* }* %_49, i32 0, i32 0 %96 = load i32*, i32** %95 %97 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hd18509cfe884c26bE"(%closure.61* %g, i32* noalias readonly dereferenceable(4) %96) to label %bb38 unwind label %cleanup bb38: ; preds = %bb37 store i16 %97, i16* %abi_cast2 %98 = bitcast %"slice::SearchWhile"* %_47 to i8* %99 = bitcast i16* %abi_cast2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %98, i8* %99, i16 2, i32 1, i1 false) store i8 1, i8* %_101 %100 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %101 = load i8, i8* %100, !range !2 %102 = zext i8 %101 to i16 switch i16 %102, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 0, i8* %_101 br label %bb42 bb40: ; preds = %bb38 store i8 0, i8* %_101 %103 = bitcast %"slice::SearchWhile"* %_47 to { i8, i8 }* %104 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %103, i32 0, i32 1 %105 = load i8, i8* %104, !range !2 %106 = trunc i8 %105 to i1 %107 = zext i1 %106 to i8 store i8 %107, i8* %_0 %108 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_47, i32 0, i32 0 %109 = load i8, i8* %108, !range !2 %110 = zext i8 %109 to i16 switch i16 %110, label %bb70 [ i16 1, label %bb41 ] bb41: ; preds = %bb70, %bb40 br label %bb18 bb42: ; preds = %bb39 %111 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %112 = load i32*, i32** %111 %113 = load i32*, i32** %111 %114 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc31 unwind label %cleanup .noexc31: ; preds = %bb42 %115 = icmp eq i16 %114, 0 br i1 %115, label %bb2.i.i29, label %bb3.i.i30 bb2.i.i29: ; preds = %.noexc31 %116 = bitcast i32* %113 to i8* %117 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %116, i16 1) to label %.noexc32 unwind label %cleanup .noexc32: ; preds = %bb2.i.i29 %118 = bitcast i8* %117 to i32* store i32* %118, i32** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34 bb3.i.i30: ; preds = %.noexc31 %119 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %113, i16 1) to label %.noexc33 unwind label %cleanup .noexc33: ; preds = %bb3.i.i30 store i32* %119, i32** %_0.i.i28 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34: ; preds = %.noexc32, %.noexc33 %120 = load i32*, i32** %_0.i.i28 store i32* %120, i32** %111 br label %bb43 bb43: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit34 %121 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit36 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit36: ; preds = %bb43 br label %bb44 bb44: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit36 %122 = icmp eq i16 %121, 0 br i1 %122, label %bb45, label %bb46 bb45: ; preds = %bb44 store i32* inttoptr (i16 1 to i32*), i32** %_66 br label %bb47 bb46: ; preds = %bb44 store i32* %112, i32** %_66 br label %bb47 bb47: ; preds = %bb46, %bb45 %123 = load i32*, i32** %_66, !nonnull !1 %124 = getelementptr inbounds { i32* }, { i32* }* %_65, i32 0, i32 0 store i32* %123, i32** %124 %125 = getelementptr inbounds { i32* }, { i32* }* %_65, i32 0, i32 0 %126 = load i32*, i32** %125 %127 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hd18509cfe884c26bE"(%closure.61* %g, i32* noalias readonly dereferenceable(4) %126) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 store i16 %127, i16* %abi_cast3 %128 = bitcast %"slice::SearchWhile"* %_63 to i8* %129 = bitcast i16* %abi_cast3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %128, i8* %129, i16 2, i32 1, i1 false) store i8 1, i8* %_102 %130 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %131 = load i8, i8* %130, !range !2 %132 = zext i8 %131 to i16 switch i16 %132, label %bb50 [ i16 0, label %bb49 ] bb49: ; preds = %bb48 store i8 0, i8* %_102 br label %bb52 bb50: ; preds = %bb48 store i8 0, i8* %_102 %133 = bitcast %"slice::SearchWhile"* %_63 to { i8, i8 }* %134 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %133, i32 0, i32 1 %135 = load i8, i8* %134, !range !2 %136 = trunc i8 %135 to i1 %137 = zext i1 %136 to i8 store i8 %137, i8* %_0 %138 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_63, i32 0, i32 0 %139 = load i8, i8* %138, !range !2 %140 = zext i8 %139 to i16 switch i16 %140, label %bb71 [ i16 1, label %bb51 ] bb51: ; preds = %bb71, %bb50 br label %bb18 bb52: ; preds = %bb49 br label %bb1 bb53: ; preds = %bb65, %bb2 %141 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %142 = load i32*, i32** %141 %143 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 1 %144 = load i32*, i32** %143 %145 = icmp ne i32* %142, %144 br i1 %145, label %bb55, label %bb54 bb54: ; preds = %bb53 store i8 0, i8* %_98 %146 = zext i1 %1 to i8 store i8 %146, i8* %_0 br label %bb66 bb55: ; preds = %bb53 %147 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %0, i32 0, i32 0 %148 = load i32*, i32** %147 %149 = load i32*, i32** %147 %150 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %.noexc40 unwind label %cleanup .noexc40: ; preds = %bb55 %151 = icmp eq i16 %150, 0 br i1 %151, label %bb2.i.i38, label %bb3.i.i39 bb2.i.i38: ; preds = %.noexc40 %152 = bitcast i32* %149 to i8* %153 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %152, i16 1) to label %.noexc41 unwind label %cleanup .noexc41: ; preds = %bb2.i.i38 %154 = bitcast i8* %153 to i32* store i32* %154, i32** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43 bb3.i.i39: ; preds = %.noexc40 %155 = invoke i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h20c2070cdcf691bdE"(i32* %149, i16 1) to label %.noexc42 unwind label %cleanup .noexc42: ; preds = %bb3.i.i39 store i32* %155, i32** %_0.i.i37 br label %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43 _ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43: ; preds = %.noexc41, %.noexc42 %156 = load i32*, i32** %_0.i.i37 store i32* %156, i32** %147 br label %bb56 bb56: ; preds = %_ZN4core5slice10PointerExt8post_inc17h8eb60f2f57b16488E.exit43 %157 = invoke i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() to label %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit45 unwind label %cleanup _ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit45: ; preds = %bb56 br label %bb57 bb57: ; preds = %_ZN4core5slice13size_from_ptr17h12005068c4757f91E.exit45 %158 = icmp eq i16 %157, 0 br i1 %158, label %bb58, label %bb59 bb58: ; preds = %bb57 store i32* inttoptr (i16 1 to i32*), i32** %_85 br label %bb60 bb59: ; preds = %bb57 store i32* %148, i32** %_85 br label %bb60 bb60: ; preds = %bb59, %bb58 %159 = load i32*, i32** %_85, !nonnull !1 %160 = getelementptr inbounds { i32* }, { i32* }* %_84, i32 0, i32 0 store i32* %159, i32** %160 %161 = getelementptr inbounds { i32* }, { i32* }* %_84, i32 0, i32 0 %162 = load i32*, i32** %161 %163 = invoke i16 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17hd18509cfe884c26bE"(%closure.61* %g, i32* noalias readonly dereferenceable(4) %162) to label %bb61 unwind label %cleanup bb61: ; preds = %bb60 store i16 %163, i16* %abi_cast4 %164 = bitcast %"slice::SearchWhile"* %_82 to i8* %165 = bitcast i16* %abi_cast4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %164, i8* %165, i16 2, i32 1, i1 false) store i8 1, i8* %_103 %166 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %167 = load i8, i8* %166, !range !2 %168 = zext i8 %167 to i16 switch i16 %168, label %bb63 [ i16 0, label %bb62 ] bb62: ; preds = %bb61 store i8 0, i8* %_103 br label %bb65 bb63: ; preds = %bb61 store i8 0, i8* %_103 %169 = bitcast %"slice::SearchWhile"* %_82 to { i8, i8 }* %170 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %169, i32 0, i32 1 %171 = load i8, i8* %170, !range !2 %172 = trunc i8 %171 to i1 %173 = zext i1 %172 to i8 store i8 %173, i8* %_0 %174 = getelementptr inbounds %"slice::SearchWhile", %"slice::SearchWhile"* %_82, i32 0, i32 0 %175 = load i8, i8* %174, !range !2 %176 = zext i8 %175 to i16 switch i16 %176, label %bb72 [ i16 1, label %bb64 ] bb64: ; preds = %bb72, %bb63 br label %bb19 bb65: ; preds = %bb62 br label %bb53 bb66: ; preds = %bb54 br label %bb16 bb67: ; preds = %bb4 store i8 0, i8* %_98 br label %bb3 bb68: ; preds = %bb15 br label %bb17 bb69: ; preds = %bb30 br label %bb31 bb70: ; preds = %bb40 br label %bb41 bb71: ; preds = %bb50 br label %bb51 bb72: ; preds = %bb63 br label %bb64 cleanup: ; preds = %bb56, %bb3.i.i39, %bb2.i.i38, %bb55, %bb43, %bb3.i.i30, %bb2.i.i29, %bb42, %bb33, %bb3.i.i21, %bb2.i.i20, %bb32, %bb23, %bb3.i.i12, %bb2.i.i11, %bb22, %bb8, %bb3.i.i, %bb2.i.i, %bb7, %bb2.i, %bb1, %bb60, %bb47, %bb37, %bb27, %bb12 %177 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %177, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: uwtable define internal void @"_ZN49_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$GT$13rsearch_while17h6faf128ae98a7804E"(%"option::Option"* noalias nocapture sret dereferenceable(4), %"slice::Iter"* dereferenceable(4), %"option::Option"* noalias nocapture dereferenceable(4), i16) unnamed_addr #1 personality i32 (...)* @rust_eh_personality { entry-block: %_0.i.i37 = alloca i8* %_0.i.i28 = alloca i8* %_0.i.i19 = alloca i8* %_0.i.i10 = alloca i8* %_0.i.i = alloca i8* %_5.i = alloca %"option::Option" %_0.i = alloca i16 %personalityslot = alloca { i8*, i32 } %_103 = alloca i8 %_102 = alloca i8 %_101 = alloca i8 %_100 = alloca i8 %_99 = alloca i8 %_98 = alloca i8 %_97 = alloca %"option::Option" %_96 = alloca %"option::Option" %done4 = alloca %"option::Option" %_85 = alloca i8* %_84 = alloca { i8* } %_82 = alloca %"slice::SearchWhile>" %_81 = alloca {} %_77 = alloca %"option::Option" %done3 = alloca %"option::Option" %_66 = alloca i8* %_65 = alloca { i8* } %_63 = alloca %"slice::SearchWhile>" %_62 = alloca {} %_61 = alloca %"option::Option" %done2 = alloca %"option::Option" %_50 = alloca i8* %_49 = alloca { i8* } %_47 = alloca %"slice::SearchWhile>" %_46 = alloca {} %_45 = alloca %"option::Option" %done1 = alloca %"option::Option" %_34 = alloca i8* %_33 = alloca { i8* } %_31 = alloca %"slice::SearchWhile>" %_30 = alloca {} %_29 = alloca %"option::Option" %done = alloca %"option::Option" %_18 = alloca i8* %_17 = alloca { i8* } %_15 = alloca %"slice::SearchWhile>" %_14 = alloca {} %_11 = alloca {} %_8 = alloca {} %_7 = alloca {} %g = alloca %closure.65 %default = alloca %"option::Option" %abi_cast = alloca i16 %arg2 = alloca %closure.65 store i16 %3, i16* %abi_cast %4 = bitcast %closure.65* %arg2 to i8* %5 = bitcast i16* %abi_cast to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %5, i16 2, i32 2, i1 false) br label %start start: ; preds = %entry-block store i8 0, i8* %_103 store i8 0, i8* %_100 store i8 0, i8* %_101 store i8 0, i8* %_102 store i8 0, i8* %_99 store i8 0, i8* %_98 store i8 1, i8* %_98 %6 = bitcast %"option::Option"* %2 to i8* %7 = bitcast %"option::Option"* %default to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %6, i16 4, i32 2, i1 false) %8 = getelementptr inbounds %closure.65, %closure.65* %arg2, i32 0, i32 0 %9 = getelementptr inbounds %closure.65, %closure.65* %arg2, i32 0, i32 1 %10 = load i16, i16* %8 %11 = getelementptr inbounds %closure.65, %closure.65* %g, i32 0, i32 0 store i16 %10, i16* %11 %12 = getelementptr inbounds %closure.65, %closure.65* %g, i32 0, i32 1 store %closure undef, %closure* %12 br label %bb1 bb1: ; preds = %bb52, %start %13 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 0 %14 = load i8*, i8** %13 %15 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 1 %16 = load i8*, i8** %15 invoke void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h36c1ff4935521ce9E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i8* %14, i8* %16) to label %.noexc unwind label %cleanup .noexc: ; preds = %bb1 %17 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %18 = load i16, i16* %17, !range !3 %cond = icmp eq i16 %18, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %.noexc %19 = ptrtoint i8* %16 to i16 %20 = ptrtoint i8* %14 to i16 %21 = invoke i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %19, i16 %20) to label %.noexc5 unwind label %cleanup .noexc5: ; preds = %bb2.i store i16 %21, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit bb3.i: ; preds = %.noexc %22 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %23 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %22, i32 0, i32 1 %24 = load i16, i16* %23 store i16 %24, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit _ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit: ; preds = %bb3.i, %.noexc5 %25 = load i16, i16* %_0.i br label %bb6 bb2: ; preds = %bb6 br label %bb53 bb3: ; preds = %bb67, %bb4 %26 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %26 bb4: ; preds = %bb5 %27 = load i8, i8* %_98, !range !2 %28 = trunc i8 %27 to i1 br i1 %28, label %bb67, label %bb3 bb5: ; preds = %cleanup br label %bb4 bb6: ; preds = %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit %29 = icmp uge i16 %25, 4 br i1 %29, label %bb7, label %bb2 bb7: ; preds = %bb6 %30 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 1 %31 = load i8*, i8** %30 %32 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc6 unwind label %cleanup .noexc6: ; preds = %bb7 %33 = icmp eq i16 %32, 0 br i1 %33, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %.noexc6 %34 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %31, i16 -1) to label %.noexc7 unwind label %cleanup .noexc7: ; preds = %bb2.i.i store i8* %34, i8** %_0.i.i br label %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit bb3.i.i: ; preds = %.noexc6 %35 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %31, i16 -1) to label %.noexc8 unwind label %cleanup .noexc8: ; preds = %bb3.i.i store i8* %35, i8** %_0.i.i br label %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit _ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit: ; preds = %.noexc7, %.noexc8 %36 = load i8*, i8** %_0.i.i store i8* %36, i8** %30 %37 = load i8*, i8** %30 br label %bb8 bb8: ; preds = %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit %38 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit: ; preds = %bb8 br label %bb9 bb9: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit %39 = icmp eq i16 %38, 0 br i1 %39, label %bb10, label %bb11 bb10: ; preds = %bb9 store i8* inttoptr (i16 1 to i8*), i8** %_18 br label %bb12 bb11: ; preds = %bb9 store i8* %37, i8** %_18 br label %bb12 bb12: ; preds = %bb11, %bb10 %40 = load i8*, i8** %_18, !nonnull !1 %41 = getelementptr inbounds { i8* }, { i8* }* %_17, i32 0, i32 0 store i8* %40, i8** %41 %42 = getelementptr inbounds { i8* }, { i8* }* %_17, i32 0, i32 0 %43 = load i8*, i8** %42 invoke void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9rposition28_$u7b$$u7b$closure$u7d$$u7d$17hfdacb90499dffd0eE"(%"slice::SearchWhile>"* noalias nocapture sret dereferenceable(6) %_15, %closure.65* dereferenceable(2) %g, i8* noalias readonly dereferenceable(1) %43) to label %bb13 unwind label %cleanup bb13: ; preds = %bb12 store i8 1, i8* %_99 %44 = getelementptr inbounds %"slice::SearchWhile>", %"slice::SearchWhile>"* %_15, i32 0, i32 0 %45 = load i16, i16* %44, !range !3 switch i16 %45, label %bb15 [ i16 0, label %bb14 ] bb14: ; preds = %bb13 store i8 0, i8* %_99 br label %bb22 bb15: ; preds = %bb13 store i8 0, i8* %_99 %46 = bitcast %"slice::SearchWhile>"* %_15 to { i16, %"option::Option" }* %47 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %46, i32 0, i32 1 %48 = bitcast %"option::Option"* %47 to i8* %49 = bitcast %"option::Option"* %done to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %49, i8* %48, i16 4, i32 2, i1 false) %50 = bitcast %"option::Option"* %done to i8* %51 = bitcast %"option::Option"* %_29 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %51, i8* %50, i16 4, i32 2, i1 false) %52 = bitcast %"option::Option"* %_29 to i8* %53 = bitcast %"option::Option"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %53, i8* %52, i16 4, i32 2, i1 false) %54 = getelementptr inbounds %"slice::SearchWhile>", %"slice::SearchWhile>"* %_15, i32 0, i32 0 %55 = load i16, i16* %54, !range !3 switch i16 %55, label %bb68 [ i16 1, label %bb17 ] bb16: ; preds = %bb66, %bb21 ret void bb17: ; preds = %bb68, %bb15 br label %bb18 bb18: ; preds = %bb51, %bb41, %bb31, %bb17 br label %bb19 bb19: ; preds = %bb64, %bb18 br label %bb20 bb20: ; preds = %bb19 store i8 0, i8* %_98 br label %bb21 bb21: ; preds = %bb20 br label %bb16 bb22: ; preds = %bb14 %56 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 1 %57 = load i8*, i8** %56 %58 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc13 unwind label %cleanup .noexc13: ; preds = %bb22 %59 = icmp eq i16 %58, 0 br i1 %59, label %bb2.i.i11, label %bb3.i.i12 bb2.i.i11: ; preds = %.noexc13 %60 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %57, i16 -1) to label %.noexc14 unwind label %cleanup .noexc14: ; preds = %bb2.i.i11 store i8* %60, i8** %_0.i.i10 br label %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit16 bb3.i.i12: ; preds = %.noexc13 %61 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %57, i16 -1) to label %.noexc15 unwind label %cleanup .noexc15: ; preds = %bb3.i.i12 store i8* %61, i8** %_0.i.i10 br label %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit16 _ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit16: ; preds = %.noexc14, %.noexc15 %62 = load i8*, i8** %_0.i.i10 store i8* %62, i8** %56 %63 = load i8*, i8** %56 br label %bb23 bb23: ; preds = %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit16 %64 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18: ; preds = %bb23 br label %bb24 bb24: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit18 %65 = icmp eq i16 %64, 0 br i1 %65, label %bb25, label %bb26 bb25: ; preds = %bb24 store i8* inttoptr (i16 1 to i8*), i8** %_34 br label %bb27 bb26: ; preds = %bb24 store i8* %63, i8** %_34 br label %bb27 bb27: ; preds = %bb26, %bb25 %66 = load i8*, i8** %_34, !nonnull !1 %67 = getelementptr inbounds { i8* }, { i8* }* %_33, i32 0, i32 0 store i8* %66, i8** %67 %68 = getelementptr inbounds { i8* }, { i8* }* %_33, i32 0, i32 0 %69 = load i8*, i8** %68 invoke void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9rposition28_$u7b$$u7b$closure$u7d$$u7d$17hfdacb90499dffd0eE"(%"slice::SearchWhile>"* noalias nocapture sret dereferenceable(6) %_31, %closure.65* dereferenceable(2) %g, i8* noalias readonly dereferenceable(1) %69) to label %bb28 unwind label %cleanup bb28: ; preds = %bb27 store i8 1, i8* %_100 %70 = getelementptr inbounds %"slice::SearchWhile>", %"slice::SearchWhile>"* %_31, i32 0, i32 0 %71 = load i16, i16* %70, !range !3 switch i16 %71, label %bb30 [ i16 0, label %bb29 ] bb29: ; preds = %bb28 store i8 0, i8* %_100 br label %bb32 bb30: ; preds = %bb28 store i8 0, i8* %_100 %72 = bitcast %"slice::SearchWhile>"* %_31 to { i16, %"option::Option" }* %73 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %72, i32 0, i32 1 %74 = bitcast %"option::Option"* %73 to i8* %75 = bitcast %"option::Option"* %done1 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %75, i8* %74, i16 4, i32 2, i1 false) %76 = bitcast %"option::Option"* %done1 to i8* %77 = bitcast %"option::Option"* %_45 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %77, i8* %76, i16 4, i32 2, i1 false) %78 = bitcast %"option::Option"* %_45 to i8* %79 = bitcast %"option::Option"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %79, i8* %78, i16 4, i32 2, i1 false) %80 = getelementptr inbounds %"slice::SearchWhile>", %"slice::SearchWhile>"* %_31, i32 0, i32 0 %81 = load i16, i16* %80, !range !3 switch i16 %81, label %bb69 [ i16 1, label %bb31 ] bb31: ; preds = %bb69, %bb30 br label %bb18 bb32: ; preds = %bb29 %82 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 1 %83 = load i8*, i8** %82 %84 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc22 unwind label %cleanup .noexc22: ; preds = %bb32 %85 = icmp eq i16 %84, 0 br i1 %85, label %bb2.i.i20, label %bb3.i.i21 bb2.i.i20: ; preds = %.noexc22 %86 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %83, i16 -1) to label %.noexc23 unwind label %cleanup .noexc23: ; preds = %bb2.i.i20 store i8* %86, i8** %_0.i.i19 br label %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit25 bb3.i.i21: ; preds = %.noexc22 %87 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %83, i16 -1) to label %.noexc24 unwind label %cleanup .noexc24: ; preds = %bb3.i.i21 store i8* %87, i8** %_0.i.i19 br label %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit25 _ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit25: ; preds = %.noexc23, %.noexc24 %88 = load i8*, i8** %_0.i.i19 store i8* %88, i8** %82 %89 = load i8*, i8** %82 br label %bb33 bb33: ; preds = %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit25 %90 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27: ; preds = %bb33 br label %bb34 bb34: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit27 %91 = icmp eq i16 %90, 0 br i1 %91, label %bb35, label %bb36 bb35: ; preds = %bb34 store i8* inttoptr (i16 1 to i8*), i8** %_50 br label %bb37 bb36: ; preds = %bb34 store i8* %89, i8** %_50 br label %bb37 bb37: ; preds = %bb36, %bb35 %92 = load i8*, i8** %_50, !nonnull !1 %93 = getelementptr inbounds { i8* }, { i8* }* %_49, i32 0, i32 0 store i8* %92, i8** %93 %94 = getelementptr inbounds { i8* }, { i8* }* %_49, i32 0, i32 0 %95 = load i8*, i8** %94 invoke void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9rposition28_$u7b$$u7b$closure$u7d$$u7d$17hfdacb90499dffd0eE"(%"slice::SearchWhile>"* noalias nocapture sret dereferenceable(6) %_47, %closure.65* dereferenceable(2) %g, i8* noalias readonly dereferenceable(1) %95) to label %bb38 unwind label %cleanup bb38: ; preds = %bb37 store i8 1, i8* %_101 %96 = getelementptr inbounds %"slice::SearchWhile>", %"slice::SearchWhile>"* %_47, i32 0, i32 0 %97 = load i16, i16* %96, !range !3 switch i16 %97, label %bb40 [ i16 0, label %bb39 ] bb39: ; preds = %bb38 store i8 0, i8* %_101 br label %bb42 bb40: ; preds = %bb38 store i8 0, i8* %_101 %98 = bitcast %"slice::SearchWhile>"* %_47 to { i16, %"option::Option" }* %99 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %98, i32 0, i32 1 %100 = bitcast %"option::Option"* %99 to i8* %101 = bitcast %"option::Option"* %done2 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %101, i8* %100, i16 4, i32 2, i1 false) %102 = bitcast %"option::Option"* %done2 to i8* %103 = bitcast %"option::Option"* %_61 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %103, i8* %102, i16 4, i32 2, i1 false) %104 = bitcast %"option::Option"* %_61 to i8* %105 = bitcast %"option::Option"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %105, i8* %104, i16 4, i32 2, i1 false) %106 = getelementptr inbounds %"slice::SearchWhile>", %"slice::SearchWhile>"* %_47, i32 0, i32 0 %107 = load i16, i16* %106, !range !3 switch i16 %107, label %bb70 [ i16 1, label %bb41 ] bb41: ; preds = %bb70, %bb40 br label %bb18 bb42: ; preds = %bb39 %108 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 1 %109 = load i8*, i8** %108 %110 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc31 unwind label %cleanup .noexc31: ; preds = %bb42 %111 = icmp eq i16 %110, 0 br i1 %111, label %bb2.i.i29, label %bb3.i.i30 bb2.i.i29: ; preds = %.noexc31 %112 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %109, i16 -1) to label %.noexc32 unwind label %cleanup .noexc32: ; preds = %bb2.i.i29 store i8* %112, i8** %_0.i.i28 br label %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit34 bb3.i.i30: ; preds = %.noexc31 %113 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %109, i16 -1) to label %.noexc33 unwind label %cleanup .noexc33: ; preds = %bb3.i.i30 store i8* %113, i8** %_0.i.i28 br label %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit34 _ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit34: ; preds = %.noexc32, %.noexc33 %114 = load i8*, i8** %_0.i.i28 store i8* %114, i8** %108 %115 = load i8*, i8** %108 br label %bb43 bb43: ; preds = %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit34 %116 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36: ; preds = %bb43 br label %bb44 bb44: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit36 %117 = icmp eq i16 %116, 0 br i1 %117, label %bb45, label %bb46 bb45: ; preds = %bb44 store i8* inttoptr (i16 1 to i8*), i8** %_66 br label %bb47 bb46: ; preds = %bb44 store i8* %115, i8** %_66 br label %bb47 bb47: ; preds = %bb46, %bb45 %118 = load i8*, i8** %_66, !nonnull !1 %119 = getelementptr inbounds { i8* }, { i8* }* %_65, i32 0, i32 0 store i8* %118, i8** %119 %120 = getelementptr inbounds { i8* }, { i8* }* %_65, i32 0, i32 0 %121 = load i8*, i8** %120 invoke void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9rposition28_$u7b$$u7b$closure$u7d$$u7d$17hfdacb90499dffd0eE"(%"slice::SearchWhile>"* noalias nocapture sret dereferenceable(6) %_63, %closure.65* dereferenceable(2) %g, i8* noalias readonly dereferenceable(1) %121) to label %bb48 unwind label %cleanup bb48: ; preds = %bb47 store i8 1, i8* %_102 %122 = getelementptr inbounds %"slice::SearchWhile>", %"slice::SearchWhile>"* %_63, i32 0, i32 0 %123 = load i16, i16* %122, !range !3 switch i16 %123, label %bb50 [ i16 0, label %bb49 ] bb49: ; preds = %bb48 store i8 0, i8* %_102 br label %bb52 bb50: ; preds = %bb48 store i8 0, i8* %_102 %124 = bitcast %"slice::SearchWhile>"* %_63 to { i16, %"option::Option" }* %125 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %124, i32 0, i32 1 %126 = bitcast %"option::Option"* %125 to i8* %127 = bitcast %"option::Option"* %done3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %127, i8* %126, i16 4, i32 2, i1 false) %128 = bitcast %"option::Option"* %done3 to i8* %129 = bitcast %"option::Option"* %_77 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %129, i8* %128, i16 4, i32 2, i1 false) %130 = bitcast %"option::Option"* %_77 to i8* %131 = bitcast %"option::Option"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %131, i8* %130, i16 4, i32 2, i1 false) %132 = getelementptr inbounds %"slice::SearchWhile>", %"slice::SearchWhile>"* %_63, i32 0, i32 0 %133 = load i16, i16* %132, !range !3 switch i16 %133, label %bb71 [ i16 1, label %bb51 ] bb51: ; preds = %bb71, %bb50 br label %bb18 bb52: ; preds = %bb49 br label %bb1 bb53: ; preds = %bb65, %bb2 %134 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 0 %135 = load i8*, i8** %134 %136 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 1 %137 = load i8*, i8** %136 %138 = icmp ne i8* %135, %137 br i1 %138, label %bb55, label %bb54 bb54: ; preds = %bb53 store i8 0, i8* %_98 %139 = bitcast %"option::Option"* %default to i8* %140 = bitcast %"option::Option"* %_97 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %140, i8* %139, i16 4, i32 2, i1 false) %141 = bitcast %"option::Option"* %_97 to i8* %142 = bitcast %"option::Option"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %142, i8* %141, i16 4, i32 2, i1 false) br label %bb66 bb55: ; preds = %bb53 %143 = getelementptr inbounds %"slice::Iter", %"slice::Iter"* %1, i32 0, i32 1 %144 = load i8*, i8** %143 %145 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %.noexc40 unwind label %cleanup .noexc40: ; preds = %bb55 %146 = icmp eq i16 %145, 0 br i1 %146, label %bb2.i.i38, label %bb3.i.i39 bb2.i.i38: ; preds = %.noexc40 %147 = invoke i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %144, i16 -1) to label %.noexc41 unwind label %cleanup .noexc41: ; preds = %bb2.i.i38 store i8* %147, i8** %_0.i.i37 br label %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit43 bb3.i.i39: ; preds = %.noexc40 %148 = invoke i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %144, i16 -1) to label %.noexc42 unwind label %cleanup .noexc42: ; preds = %bb3.i.i39 store i8* %148, i8** %_0.i.i37 br label %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit43 _ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit43: ; preds = %.noexc41, %.noexc42 %149 = load i8*, i8** %_0.i.i37 store i8* %149, i8** %143 %150 = load i8*, i8** %143 br label %bb56 bb56: ; preds = %_ZN4core5slice10PointerExt7pre_dec17hc43d2eee4f3a6da4E.exit43 %151 = invoke i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() to label %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45 unwind label %cleanup _ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45: ; preds = %bb56 br label %bb57 bb57: ; preds = %_ZN4core5slice13size_from_ptr17h97cd743619316a2fE.exit45 %152 = icmp eq i16 %151, 0 br i1 %152, label %bb58, label %bb59 bb58: ; preds = %bb57 store i8* inttoptr (i16 1 to i8*), i8** %_85 br label %bb60 bb59: ; preds = %bb57 store i8* %150, i8** %_85 br label %bb60 bb60: ; preds = %bb59, %bb58 %153 = load i8*, i8** %_85, !nonnull !1 %154 = getelementptr inbounds { i8* }, { i8* }* %_84, i32 0, i32 0 store i8* %153, i8** %154 %155 = getelementptr inbounds { i8* }, { i8* }* %_84, i32 0, i32 0 %156 = load i8*, i8** %155 invoke void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9rposition28_$u7b$$u7b$closure$u7d$$u7d$17hfdacb90499dffd0eE"(%"slice::SearchWhile>"* noalias nocapture sret dereferenceable(6) %_82, %closure.65* dereferenceable(2) %g, i8* noalias readonly dereferenceable(1) %156) to label %bb61 unwind label %cleanup bb61: ; preds = %bb60 store i8 1, i8* %_103 %157 = getelementptr inbounds %"slice::SearchWhile>", %"slice::SearchWhile>"* %_82, i32 0, i32 0 %158 = load i16, i16* %157, !range !3 switch i16 %158, label %bb63 [ i16 0, label %bb62 ] bb62: ; preds = %bb61 store i8 0, i8* %_103 br label %bb65 bb63: ; preds = %bb61 store i8 0, i8* %_103 %159 = bitcast %"slice::SearchWhile>"* %_82 to { i16, %"option::Option" }* %160 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %159, i32 0, i32 1 %161 = bitcast %"option::Option"* %160 to i8* %162 = bitcast %"option::Option"* %done4 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %162, i8* %161, i16 4, i32 2, i1 false) %163 = bitcast %"option::Option"* %done4 to i8* %164 = bitcast %"option::Option"* %_96 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %164, i8* %163, i16 4, i32 2, i1 false) %165 = bitcast %"option::Option"* %_96 to i8* %166 = bitcast %"option::Option"* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %166, i8* %165, i16 4, i32 2, i1 false) %167 = getelementptr inbounds %"slice::SearchWhile>", %"slice::SearchWhile>"* %_82, i32 0, i32 0 %168 = load i16, i16* %167, !range !3 switch i16 %168, label %bb72 [ i16 1, label %bb64 ] bb64: ; preds = %bb72, %bb63 br label %bb19 bb65: ; preds = %bb62 br label %bb53 bb66: ; preds = %bb54 br label %bb16 bb67: ; preds = %bb4 store i8 0, i8* %_98 br label %bb3 bb68: ; preds = %bb15 br label %bb17 bb69: ; preds = %bb30 br label %bb31 bb70: ; preds = %bb40 br label %bb41 bb71: ; preds = %bb50 br label %bb51 bb72: ; preds = %bb63 br label %bb64 cleanup: ; preds = %bb56, %bb3.i.i39, %bb2.i.i38, %bb55, %bb43, %bb3.i.i30, %bb2.i.i29, %bb42, %bb33, %bb3.i.i21, %bb2.i.i20, %bb32, %bb23, %bb3.i.i12, %bb2.i.i11, %bb22, %bb8, %bb3.i.i, %bb2.i.i, %bb7, %bb2.i, %bb1, %bb60, %bb47, %bb37, %bb27, %bb12 %169 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %169, { i8*, i32 }* %personalityslot br label %bb5 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h38e164638445c538E"(%"slice::IterMut"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca i32* %_21 = alloca i32* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 %4 = load i32*, i32** %3 %5 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h34bb43728f1fbdcfE"(i32* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 1 %8 = load i32*, i32** %7 %9 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h34bb43728f1fbdcfE"(i32* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 %12 = load i32*, i32** %11 %13 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 1 %14 = load i32*, i32** %13 %15 = icmp eq i32* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 %17 = load i32*, i32** %16 %18 = load i32*, i32** %16 %19 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() %20 = icmp eq i16 %19, 0 br i1 %20, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %21 = bitcast i32* %18 to i8* %22 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %21, i16 1) %23 = bitcast i8* %22 to i32* store i32* %23, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17he68c4b0b73762f3dE.exit bb3.i.i: ; preds = %bb10 %24 = call i32* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hc806dda48d9cf3c3E"(i32* %18, i16 1) store i32* %24, i32** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17he68c4b0b73762f3dE.exit _ZN4core5slice10PointerExt8post_inc17he68c4b0b73762f3dE.exit: ; preds = %bb2.i.i, %bb3.i.i %25 = load i32*, i32** %_0.i.i store i32* %25, i32** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt8post_inc17he68c4b0b73762f3dE.exit %26 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb12 bb12: ; preds = %bb11 %27 = icmp eq i16 %26, 0 br i1 %27, label %bb13, label %bb14 bb13: ; preds = %bb12 store i32* inttoptr (i16 1 to i32*), i32** %_21 br label %bb15 bb14: ; preds = %bb12 store i32* %17, i32** %_21 br label %bb15 bb15: ; preds = %bb14, %bb13 %28 = load i32*, i32** %_21, !nonnull !1 %29 = bitcast i8** %_0 to i32** store i32* %28, i32** %29 br label %bb16 bb16: ; preds = %bb15, %bb9 %30 = load i8*, i8** %_0 ret i8* %30 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha98f667bd924c796E"(%"slice::IterMut"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca i8* %_21 = alloca i8* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 %4 = load i8*, i8** %3 %5 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17ha242a11802a91753E"(i8* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 1 %8 = load i8*, i8** %7 %9 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17ha242a11802a91753E"(i8* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 %12 = load i8*, i8** %11 %13 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 1 %14 = load i8*, i8** %13 %15 = icmp eq i8* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 %17 = load i8*, i8** %16 %18 = load i8*, i8** %16 %19 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() %20 = icmp eq i16 %19, 0 br i1 %20, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %21 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %18, i16 1) store i8* %21, i8** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17hc52d0d04ab5b8078E.exit bb3.i.i: ; preds = %bb10 %22 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %18, i16 1) store i8* %22, i8** %_0.i.i br label %_ZN4core5slice10PointerExt8post_inc17hc52d0d04ab5b8078E.exit _ZN4core5slice10PointerExt8post_inc17hc52d0d04ab5b8078E.exit: ; preds = %bb2.i.i, %bb3.i.i %23 = load i8*, i8** %_0.i.i store i8* %23, i8** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt8post_inc17hc52d0d04ab5b8078E.exit %24 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb12 bb12: ; preds = %bb11 %25 = icmp eq i16 %24, 0 br i1 %25, label %bb13, label %bb14 bb13: ; preds = %bb12 store i8* inttoptr (i16 1 to i8*), i8** %_21 br label %bb15 bb14: ; preds = %bb12 store i8* %17, i8** %_21 br label %bb15 bb15: ; preds = %bb14, %bb13 %26 = load i8*, i8** %_21, !nonnull !1 store i8* %26, i8** %_0 br label %bb16 bb16: ; preds = %bb15, %bb9 %27 = load i8*, i8** %_0 ret i8* %27 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h8c48ad3bfb93c5b4E"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6), %"slice::IterMut"* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %_5.i = alloca %"option::Option" %_0.i = alloca i16 %_9 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %1, i32 0, i32 0 %3 = load i32*, i32** %2 %4 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %1, i32 0, i32 1 %5 = load i32*, i32** %4 call void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h4b91a05d9203a938E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i32* %3, i32* %5) %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %7 = load i16, i16* %6, !range !3 %cond = icmp eq i16 %7, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %start %8 = ptrtoint i32* %5 to i16 %9 = ptrtoint i32* %3 to i16 %10 = call i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %8, i16 %9) store i16 %10, i16* %_0.i br label %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit bb3.i: ; preds = %start %11 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 store i16 %13, i16* %_0.i br label %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit _ZN4core5slice11ptrdistance17he3964f8501e26525E.exit: ; preds = %bb3.i, %bb2.i %14 = load i16, i16* %_0.i br label %bb1 bb1: ; preds = %_ZN4core5slice11ptrdistance17he3964f8501e26525E.exit %15 = getelementptr inbounds %"option::Option", %"option::Option"* %_9, i32 0, i32 0 store i16 1, i16* %15 %16 = bitcast %"option::Option"* %_9 to { i16, i16 }* %17 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %16, i32 0, i32 1 store i16 %14, i16* %17 %18 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %0, i32 0, i32 0 store i16 %14, i16* %18 %19 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %0, i32 0, i32 1 %20 = bitcast %"option::Option"* %_9 to i8* %21 = bitcast %"option::Option"* %19 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 4, i32 2, i1 false) ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN94_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17hadaf217ab5d2dd1eE"({ i16, %"option::Option" }* noalias nocapture sret dereferenceable(6), %"slice::IterMut"* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %_5.i = alloca %"option::Option" %_0.i = alloca i16 %_9 = alloca %"option::Option" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %1, i32 0, i32 0 %3 = load i8*, i8** %2 %4 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %1, i32 0, i32 1 %5 = load i8*, i8** %4 call void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h36c1ff4935521ce9E"(%"option::Option"* noalias nocapture sret dereferenceable(4) %_5.i, i8* %3, i8* %5) %6 = getelementptr inbounds %"option::Option", %"option::Option"* %_5.i, i32 0, i32 0 %7 = load i16, i16* %6, !range !3 %cond = icmp eq i16 %7, 0 br i1 %cond, label %bb2.i, label %bb3.i bb2.i: ; preds = %start %8 = ptrtoint i8* %5 to i16 %9 = ptrtoint i8* %3 to i16 %10 = call i16 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17hfcc0ddf1cfdce713E"(i16 %8, i16 %9) store i16 %10, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit bb3.i: ; preds = %start %11 = bitcast %"option::Option"* %_5.i to { i16, i16 }* %12 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %11, i32 0, i32 1 %13 = load i16, i16* %12 store i16 %13, i16* %_0.i br label %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit _ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit: ; preds = %bb3.i, %bb2.i %14 = load i16, i16* %_0.i br label %bb1 bb1: ; preds = %_ZN4core5slice11ptrdistance17h9e5710ed54b72839E.exit %15 = getelementptr inbounds %"option::Option", %"option::Option"* %_9, i32 0, i32 0 store i16 1, i16* %15 %16 = bitcast %"option::Option"* %_9 to { i16, i16 }* %17 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %16, i32 0, i32 1 store i16 %14, i16* %17 %18 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %0, i32 0, i32 0 store i16 %14, i16* %18 %19 = getelementptr inbounds { i16, %"option::Option" }, { i16, %"option::Option" }* %0, i32 0, i32 1 %20 = bitcast %"option::Option"* %_9 to i8* %21 = bitcast %"option::Option"* %19 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %21, i8* %20, i16 4, i32 2, i1 false) ret void } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17h551b305463ff3feaE"(%"slice::IterMut"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca i32* %_21 = alloca i32* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 %4 = load i32*, i32** %3 %5 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h34bb43728f1fbdcfE"(i32* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 1 %8 = load i32*, i32** %7 %9 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h34bb43728f1fbdcfE"(i32* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 1 %12 = load i32*, i32** %11 %13 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 %14 = load i32*, i32** %13 %15 = icmp eq i32* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 1 %17 = load i32*, i32** %16 %18 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() %19 = icmp eq i16 %18, 0 br i1 %19, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %20 = bitcast i32* %17 to i8* %21 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %20, i16 -1) %22 = bitcast i8* %21 to i32* store i32* %22, i32** %_0.i.i br label %_ZN4core5slice10PointerExt7pre_dec17h8d4fc95ba5d0630cE.exit bb3.i.i: ; preds = %bb10 %23 = call i32* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hc806dda48d9cf3c3E"(i32* %17, i16 -1) store i32* %23, i32** %_0.i.i br label %_ZN4core5slice10PointerExt7pre_dec17h8d4fc95ba5d0630cE.exit _ZN4core5slice10PointerExt7pre_dec17h8d4fc95ba5d0630cE.exit: ; preds = %bb2.i.i, %bb3.i.i %24 = load i32*, i32** %_0.i.i store i32* %24, i32** %16 %25 = load i32*, i32** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt7pre_dec17h8d4fc95ba5d0630cE.exit %26 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb12 bb12: ; preds = %bb11 %27 = icmp eq i16 %26, 0 br i1 %27, label %bb13, label %bb14 bb13: ; preds = %bb12 store i32* inttoptr (i16 1 to i32*), i32** %_21 br label %bb15 bb14: ; preds = %bb12 store i32* %25, i32** %_21 br label %bb15 bb15: ; preds = %bb14, %bb13 %28 = load i32*, i32** %_21, !nonnull !1 %29 = bitcast i8** %_0 to i32** store i32* %28, i32** %29 br label %bb16 bb16: ; preds = %bb15, %bb9 %30 = load i8*, i8** %_0 ret i8* %30 } ; Function Attrs: inlinehint uwtable define internal i8* @"_ZN103_$LT$core..slice..IterMut$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17h6f376137354938d6E"(%"slice::IterMut"* dereferenceable(4)) unnamed_addr #0 { entry-block: %_0.i.i = alloca i8* %_21 = alloca i8* %_3 = alloca {} %_0 = alloca i8* br label %start start: ; preds = %entry-block %1 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb1 bb1: ; preds = %start %2 = icmp ne i16 %1, 0 br i1 %2, label %bb2, label %bb3 bb2: ; preds = %bb1 %3 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 %4 = load i8*, i8** %3 %5 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17ha242a11802a91753E"(i8* %4) br label %bb4 bb3: ; preds = %bb1 br label %bb8 bb4: ; preds = %bb2 %6 = xor i1 %5, true call void @llvm.assume(i1 %6) br label %bb5 bb5: ; preds = %bb4 %7 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 1 %8 = load i8*, i8** %7 %9 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17ha242a11802a91753E"(i8* %8) br label %bb6 bb6: ; preds = %bb5 %10 = xor i1 %9, true call void @llvm.assume(i1 %10) br label %bb7 bb7: ; preds = %bb6 br label %bb8 bb8: ; preds = %bb3, %bb7 %11 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 1 %12 = load i8*, i8** %11 %13 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 0 %14 = load i8*, i8** %13 %15 = icmp eq i8* %12, %14 br i1 %15, label %bb9, label %bb10 bb9: ; preds = %bb8 store i8* null, i8** %_0 br label %bb16 bb10: ; preds = %bb8 %16 = getelementptr inbounds %"slice::IterMut", %"slice::IterMut"* %0, i32 0, i32 1 %17 = load i8*, i8** %16 %18 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() %19 = icmp eq i16 %18, 0 br i1 %19, label %bb2.i.i, label %bb3.i.i bb2.i.i: ; preds = %bb10 %20 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1faaf0e3dc858eeeE"(i8* %17, i16 -1) store i8* %20, i8** %_0.i.i br label %_ZN4core5slice10PointerExt7pre_dec17hc48033709524614fE.exit bb3.i.i: ; preds = %bb10 %21 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %17, i16 -1) store i8* %21, i8** %_0.i.i br label %_ZN4core5slice10PointerExt7pre_dec17hc48033709524614fE.exit _ZN4core5slice10PointerExt7pre_dec17hc48033709524614fE.exit: ; preds = %bb2.i.i, %bb3.i.i %22 = load i8*, i8** %_0.i.i store i8* %22, i8** %16 %23 = load i8*, i8** %16 br label %bb11 bb11: ; preds = %_ZN4core5slice10PointerExt7pre_dec17hc48033709524614fE.exit %24 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb12 bb12: ; preds = %bb11 %25 = icmp eq i16 %24, 0 br i1 %25, label %bb13, label %bb14 bb13: ; preds = %bb12 store i8* inttoptr (i16 1 to i8*), i8** %_21 br label %bb15 bb14: ; preds = %bb12 store i8* %23, i8** %_21 br label %bb15 bb15: ; preds = %bb14, %bb13 %26 = load i8*, i8** %_21, !nonnull !1 store i8* %26, i8** %_0 br label %bb16 bb16: ; preds = %bb15, %bb9 %27 = load i8*, i8** %_0 ret i8* %27 } ; Function Attrs: uwtable define i8 @"_ZN67_$LT$core..str..pattern..SearchStep$u20$as$u20$core..fmt..Debug$GT$3fmt17h5a1036737d5400f3E"(%"str::pattern::SearchStep"* noalias readonly dereferenceable(6), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast4 = alloca i8 %abi_cast3 = alloca i8 %abi_cast = alloca i8 %builder2 = alloca %"fmt::builders::DebugTuple" %_44 = alloca i16* %_38 = alloca i16* %builder1 = alloca %"fmt::builders::DebugTuple" %_27 = alloca i16* %_21 = alloca i16* %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { %"str::pattern::SearchStep"* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { %"str::pattern::SearchStep"* }, { %"str::pattern::SearchStep"* }* %_5, i32 0, i32 0 store %"str::pattern::SearchStep"* %0, %"str::pattern::SearchStep"** %2 %3 = getelementptr inbounds { %"str::pattern::SearchStep"* }, { %"str::pattern::SearchStep"* }* %_5, i32 0, i32 0 %4 = load %"str::pattern::SearchStep"*, %"str::pattern::SearchStep"** %3, !nonnull !1 %5 = getelementptr inbounds %"str::pattern::SearchStep", %"str::pattern::SearchStep"* %4, i32 0, i32 0 %6 = load i16, i16* %5, !range !4 switch i16 %6, label %bb1 [ i16 0, label %bb2 i16 1, label %bb3 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.d7, i32 0, i32 0), i16 4) br label %bb13 bb2: ; preds = %start %7 = getelementptr inbounds { %"str::pattern::SearchStep"* }, { %"str::pattern::SearchStep"* }* %_5, i32 0, i32 0 %8 = load %"str::pattern::SearchStep"*, %"str::pattern::SearchStep"** %7, !nonnull !1 %9 = bitcast %"str::pattern::SearchStep"* %8 to { i16, i16, i16 }* %10 = getelementptr inbounds { i16, i16, i16 }, { i16, i16, i16 }* %9, i32 0, i32 1 %11 = getelementptr inbounds { %"str::pattern::SearchStep"* }, { %"str::pattern::SearchStep"* }* %_5, i32 0, i32 0 %12 = load %"str::pattern::SearchStep"*, %"str::pattern::SearchStep"** %11, !nonnull !1 %13 = bitcast %"str::pattern::SearchStep"* %12 to { i16, i16, i16 }* %14 = getelementptr inbounds { i16, i16, i16 }, { i16, i16, i16 }* %13, i32 0, i32 2 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.dP, i32 0, i32 0), i16 5) br label %bb5 bb3: ; preds = %start %15 = getelementptr inbounds { %"str::pattern::SearchStep"* }, { %"str::pattern::SearchStep"* }* %_5, i32 0, i32 0 %16 = load %"str::pattern::SearchStep"*, %"str::pattern::SearchStep"** %15, !nonnull !1 %17 = bitcast %"str::pattern::SearchStep"* %16 to { i16, i16, i16 }* %18 = getelementptr inbounds { i16, i16, i16 }, { i16, i16, i16 }* %17, i32 0, i32 1 %19 = getelementptr inbounds { %"str::pattern::SearchStep"* }, { %"str::pattern::SearchStep"* }* %_5, i32 0, i32 0 %20 = load %"str::pattern::SearchStep"*, %"str::pattern::SearchStep"** %19, !nonnull !1 %21 = bitcast %"str::pattern::SearchStep"* %20 to { i16, i16, i16 }* %22 = getelementptr inbounds { i16, i16, i16 }, { i16, i16, i16 }* %21, i32 0, i32 2 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.dO, i32 0, i32 0), i16 6) br label %bb9 bb4: ; preds = %bb8, %bb12, %bb14 %23 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %24 = load i8, i8* %23, align 1 ret i8 %24 bb5: ; preds = %bb2 store i16* %10, i16** %_21 %25 = bitcast i16** %_21 to i8* %26 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %25, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb6 bb6: ; preds = %bb5 store i16* %14, i16** %_27 %27 = bitcast i16** %_27 to i8* %28 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %27, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb7 bb7: ; preds = %bb6 %29 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %29, i8* %abi_cast4 %30 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %30, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb8 bb8: ; preds = %bb7 br label %bb4 bb9: ; preds = %bb3 store i16* %18, i16** %_38 %31 = bitcast i16** %_38 to i8* %32 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1, i8* nonnull %31, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb10 bb10: ; preds = %bb9 store i16* %22, i16** %_44 %33 = bitcast i16** %_44 to i8* %34 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1, i8* nonnull %33, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb11 bb11: ; preds = %bb10 %35 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %35, i8* %abi_cast3 %36 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %36, i8* %abi_cast3, i16 1, i32 1, i1 false) br label %bb12 bb12: ; preds = %bb11 br label %bb4 bb13: ; preds = %bb1 %37 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %37, i8* %abi_cast %38 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %38, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb14 bb14: ; preds = %bb13 br label %bb4 } ; Function Attrs: uwtable define internal i8 @"_ZN94_$LT$core..str..pattern..CharEqSearcher$LT$$u27$a$C$$u20$C$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h201d2b795ee3f796E"(%"str::pattern::CharEqSearcher"* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_44 = alloca i8* %_36 = alloca %"str::CharIndices"* %_28 = alloca %str_slice* %_20 = alloca i32* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %0, i32 0, i32 1 %4 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %0, i32 0, i32 2 %5 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %0, i32 0, i32 3 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([14 x i8], [14 x i8]* @str.dQ, i32 0, i32 0), i16 14) br label %bb1 bb1: ; preds = %start store i32* %2, i32** %_20 %6 = bitcast i32** %_20 to i8* %7 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.dR, i32 0, i32 0), i16 7, i8* nonnull %6, void (i8*)** noalias nonnull readonly bitcast ({ void (i32**)*, i16, i16, i8 (i32**, %"fmt::Formatter"*)* }* @vtable.85 to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store %str_slice* %3, %str_slice** %_28 %8 = bitcast %str_slice** %_28 to i8* %9 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.dS, i32 0, i32 0), i16 8, i8* nonnull %8, void (i8*)** noalias nonnull readonly bitcast ({ void (%str_slice**)*, i16, i16, i8 (%str_slice**, %"fmt::Formatter"*)* }* @vtable.dT to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 store %"str::CharIndices"* %4, %"str::CharIndices"** %_36 %10 = bitcast %"str::CharIndices"** %_36 to i8* %11 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([12 x i8], [12 x i8]* @str.dU, i32 0, i32 0), i16 12, i8* nonnull %10, void (i8*)** noalias nonnull readonly bitcast ({ void (%"str::CharIndices"**)*, i16, i16, i8 (%"str::CharIndices"**, %"fmt::Formatter"*)* }* @vtable.dV to void (i8*)**)) br label %bb4 bb4: ; preds = %bb3 store i8* %5, i8** %_44 %12 = bitcast i8** %_44 to i8* %13 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([10 x i8], [10 x i8]* @str.dW, i32 0, i32 0), i16 10, i8* nonnull %12, void (i8*)** noalias nonnull readonly bitcast ({ void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* }* @vtable.8P to void (i8*)**)) br label %bb5 bb5: ; preds = %bb4 %14 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %14, i8* %abi_cast %15 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb6 bb6: ; preds = %bb5 %16 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %17 = load i8, i8* %16, align 1 ret i8 %17 } ; Function Attrs: uwtable define internal i8 @"_ZN94_$LT$core..str..pattern..CharEqSearcher$LT$$u27$a$C$$u20$C$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hf18d8f2473df017bE"(%"str::pattern::CharEqSearcher<&[char]>"* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_44 = alloca i8* %_36 = alloca %"str::CharIndices"* %_28 = alloca %str_slice* %_20 = alloca { i32*, i16 }* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::pattern::CharEqSearcher<&[char]>", %"str::pattern::CharEqSearcher<&[char]>"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"str::pattern::CharEqSearcher<&[char]>", %"str::pattern::CharEqSearcher<&[char]>"* %0, i32 0, i32 1 %4 = getelementptr inbounds %"str::pattern::CharEqSearcher<&[char]>", %"str::pattern::CharEqSearcher<&[char]>"* %0, i32 0, i32 2 %5 = getelementptr inbounds %"str::pattern::CharEqSearcher<&[char]>", %"str::pattern::CharEqSearcher<&[char]>"* %0, i32 0, i32 3 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([14 x i8], [14 x i8]* @str.dQ, i32 0, i32 0), i16 14) br label %bb1 bb1: ; preds = %start store { i32*, i16 }* %2, { i32*, i16 }** %_20 %6 = bitcast { i32*, i16 }** %_20 to i8* %7 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.dR, i32 0, i32 0), i16 7, i8* nonnull %6, void (i8*)** noalias nonnull readonly bitcast ({ void ({ i32*, i16 }**)*, i16, i16, i8 ({ i32*, i16 }**, %"fmt::Formatter"*)* }* @vtable.dX to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store %str_slice* %3, %str_slice** %_28 %8 = bitcast %str_slice** %_28 to i8* %9 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.dS, i32 0, i32 0), i16 8, i8* nonnull %8, void (i8*)** noalias nonnull readonly bitcast ({ void (%str_slice**)*, i16, i16, i8 (%str_slice**, %"fmt::Formatter"*)* }* @vtable.dT to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 store %"str::CharIndices"* %4, %"str::CharIndices"** %_36 %10 = bitcast %"str::CharIndices"** %_36 to i8* %11 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([12 x i8], [12 x i8]* @str.dU, i32 0, i32 0), i16 12, i8* nonnull %10, void (i8*)** noalias nonnull readonly bitcast ({ void (%"str::CharIndices"**)*, i16, i16, i8 (%"str::CharIndices"**, %"fmt::Formatter"*)* }* @vtable.dV to void (i8*)**)) br label %bb4 bb4: ; preds = %bb3 store i8* %5, i8** %_44 %12 = bitcast i8** %_44 to i8* %13 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([10 x i8], [10 x i8]* @str.dW, i32 0, i32 0), i16 10, i8* nonnull %12, void (i8*)** noalias nonnull readonly bitcast ({ void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* }* @vtable.8P to void (i8*)**)) br label %bb5 bb5: ; preds = %bb4 %14 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %14, i8* %abi_cast %15 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb6 bb6: ; preds = %bb5 %16 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %17 = load i8, i8* %16, align 1 ret i8 %17 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN96_$LT$core..str..pattern..CharEqSearcher$LT$$u27$a$C$$u20$C$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h496537de852b3b4fE"(%"str::pattern::CharEqSearcher"* noalias nocapture sret dereferenceable(16), %"str::pattern::CharEqSearcher"* noalias readonly dereferenceable(16)) unnamed_addr #0 personality i32 (...)* @rust_eh_personality { entry-block: %personalityslot = alloca { i8*, i32 } %_14 = alloca %"str::CharIndices" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %1, i32 0, i32 0 %3 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %1, i32 0, i32 1 %4 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %1, i32 0, i32 2 %5 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %1, i32 0, i32 3 %6 = call i32 @"_ZN43_$LT$char$u20$as$u20$core..clone..Clone$GT$5clone17h7cee3b9f233ba54aE"(i32* noalias readonly dereferenceable(4) %2) br label %bb1 bb1: ; preds = %start %7 = invoke %str_slice @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..clone..Clone$GT$5clone17h7972d18625be493bE"(%str_slice* noalias readonly dereferenceable(4) %3) to label %bb4 unwind label %cleanup bb2: ; preds = %bb3 %8 = load { i8*, i32 }, { i8*, i32 }* %personalityslot resume { i8*, i32 } %8 bb3: ; preds = %cleanup br label %bb2 bb4: ; preds = %bb1 %9 = extractvalue %str_slice %7, 0 %10 = extractvalue %str_slice %7, 1 invoke void @"_ZN75_$LT$core..str..CharIndices$LT$$u27$a$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h0fd6c34b5fbfebccE"(%"str::CharIndices"* noalias nocapture sret dereferenceable(6) %_14, %"str::CharIndices"* noalias readonly dereferenceable(6) %4) to label %bb5 unwind label %cleanup bb5: ; preds = %bb4 %11 = invoke zeroext i1 @"_ZN43_$LT$bool$u20$as$u20$core..clone..Clone$GT$5clone17hfb3a0132b5837b45E"(i8* noalias readonly dereferenceable(1) %5) to label %bb6 unwind label %cleanup bb6: ; preds = %bb5 %12 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %0, i32 0, i32 0 store i32 %6, i32* %12 %13 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %0, i32 0, i32 1 %14 = getelementptr inbounds %str_slice, %str_slice* %13, i32 0, i32 0 store i8* %9, i8** %14 %15 = getelementptr inbounds %str_slice, %str_slice* %13, i32 0, i32 1 store i16 %10, i16* %15 %16 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %0, i32 0, i32 2 %17 = bitcast %"str::CharIndices"* %_14 to i8* %18 = bitcast %"str::CharIndices"* %16 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %18, i8* %17, i16 6, i32 2, i1 false) %19 = getelementptr inbounds %"str::pattern::CharEqSearcher", %"str::pattern::CharEqSearcher"* %0, i32 0, i32 3 %20 = zext i1 %11 to i8 store i8 %20, i8* %19 ret void cleanup: ; preds = %bb5, %bb4, %bb1 %21 = landingpad { i8*, i32 } cleanup store { i8*, i32 } %21, { i8*, i32 }* %personalityslot br label %bb3 } ; Function Attrs: uwtable define i8 @"_ZN83_$LT$core..str..pattern..CharSearcher$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hc7f86400b8a75f48E"(%"str::pattern::CharSearcher"* dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_15 = alloca %"str::pattern::CharEqSearcher"* %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::pattern::CharSearcher", %"str::pattern::CharSearcher"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([12 x i8], [12 x i8]* @str.dY, i32 0, i32 0), i16 12) br label %bb1 bb1: ; preds = %start store %"str::pattern::CharEqSearcher"* %2, %"str::pattern::CharEqSearcher"** %_15 %3 = bitcast %"str::pattern::CharEqSearcher"** %_15 to i8* %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"str::pattern::CharEqSearcher"**)*, i16, i16, i8 (%"str::pattern::CharEqSearcher"**, %"fmt::Formatter"*)* }* @vtable.dZ to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN85_$LT$core..str..pattern..CharSearcher$LT$$u27$a$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he9e5f03ebbdce10dE"(%"str::pattern::CharSearcher"* noalias nocapture sret dereferenceable(16), %"str::pattern::CharSearcher"* dereferenceable(16)) unnamed_addr #0 { entry-block: %_4 = alloca %"str::pattern::CharEqSearcher" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::pattern::CharSearcher", %"str::pattern::CharSearcher"* %1, i32 0, i32 0 call void @"_ZN96_$LT$core..str..pattern..CharEqSearcher$LT$$u27$a$C$$u20$C$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h496537de852b3b4fE"(%"str::pattern::CharEqSearcher"* noalias nocapture sret dereferenceable(16) %_4, %"str::pattern::CharEqSearcher"* noalias readonly dereferenceable(16) %2) br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"str::pattern::CharSearcher", %"str::pattern::CharSearcher"* %0, i32 0, i32 0 %4 = bitcast %"str::pattern::CharEqSearcher"* %_4 to i8* %5 = bitcast %"str::pattern::CharEqSearcher"* %3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 16, i32 4, i1 false) ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN109_$LT$core..str..pattern..CharSearcher$LT$$u27$a$GT$$u20$as$u20$core..str..pattern..Searcher$LT$$u27$a$GT$$GT$10next_match17h1504213c4b3b6ac4E"(%"option::Option<(usize, usize)>"* noalias nocapture sret dereferenceable(6), %"str::pattern::CharSearcher"* dereferenceable(16)) unnamed_addr #0 { entry-block: br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::pattern::CharSearcher", %"str::pattern::CharSearcher"* %1, i32 0, i32 0 call void @_ZN4core3str7pattern8Searcher10next_match17h5b9bd066b5b8f096E(%"option::Option<(usize, usize)>"* noalias nocapture sret dereferenceable(6) %0, %"str::pattern::CharEqSearcher"* dereferenceable(16) %2) br label %bb1 bb1: ; preds = %start ret void } ; Function Attrs: inlinehint uwtable define internal void @"_ZN66_$LT$char$u20$as$u20$core..str..pattern..Pattern$LT$$u27$a$GT$$GT$13into_searcher17hc3c7d8d4e7ef0cc5E"(%"str::pattern::CharSearcher"* noalias nocapture sret dereferenceable(16), i32, i8* noalias nonnull readonly, i16) unnamed_addr #0 { entry-block: %_6 = alloca %"str::pattern::CharEqPattern" %_5 = alloca %"str::pattern::CharEqSearcher" br label %start start: ; preds = %entry-block %4 = getelementptr inbounds %"str::pattern::CharEqPattern", %"str::pattern::CharEqPattern"* %_6, i32 0, i32 0 store i32 %1, i32* %4 %5 = bitcast %"str::pattern::CharEqPattern"* %_6 to i32* %6 = load i32, i32* %5, align 4 call void @"_ZN104_$LT$core..str..pattern..CharEqPattern$LT$C$GT$$u20$as$u20$core..str..pattern..Pattern$LT$$u27$a$GT$$GT$13into_searcher17hbba0899849f0ac3bE"(%"str::pattern::CharEqSearcher"* noalias nocapture sret dereferenceable(16) %_5, i32 %6, i8* noalias nonnull readonly %2, i16 %3) br label %bb1 bb1: ; preds = %start %7 = getelementptr inbounds %"str::pattern::CharSearcher", %"str::pattern::CharSearcher"* %0, i32 0, i32 0 %8 = bitcast %"str::pattern::CharEqSearcher"* %_5 to i8* %9 = bitcast %"str::pattern::CharEqSearcher"* %7 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %8, i16 16, i32 4, i1 false) ret void } ; Function Attrs: uwtable define i8 @"_ZN102_$LT$core..str..pattern..CharSliceSearcher$LT$$u27$a$C$$u20$$u27$b$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h33f6a22415f104d6E"(%"str::pattern::CharSliceSearcher"* dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_15 = alloca %"str::pattern::CharEqSearcher<&[char]>"* %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::pattern::CharSliceSearcher", %"str::pattern::CharSliceSearcher"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([17 x i8], [17 x i8]* @str.e0, i32 0, i32 0), i16 17) br label %bb1 bb1: ; preds = %start store %"str::pattern::CharEqSearcher<&[char]>"* %2, %"str::pattern::CharEqSearcher<&[char]>"** %_15 %3 = bitcast %"str::pattern::CharEqSearcher<&[char]>"** %_15 to i8* %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"str::pattern::CharEqSearcher<&[char]>"**)*, i16, i16, i8 (%"str::pattern::CharEqSearcher<&[char]>"**, %"fmt::Formatter"*)* }* @vtable.e1 to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @"_ZN96_$LT$core..str..pattern..StrSearcher$LT$$u27$a$C$$u20$$u27$b$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17ha0a13ce2b80bfe74E"(%"str::pattern::StrSearcher"* noalias readonly dereferenceable(40), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_35 = alloca %"str::pattern::StrSearcherImpl"* %_27 = alloca %str_slice* %_19 = alloca %str_slice* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::pattern::StrSearcher", %"str::pattern::StrSearcher"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"str::pattern::StrSearcher", %"str::pattern::StrSearcher"* %0, i32 0, i32 1 %4 = getelementptr inbounds %"str::pattern::StrSearcher", %"str::pattern::StrSearcher"* %0, i32 0, i32 2 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.e2, i32 0, i32 0), i16 11) br label %bb1 bb1: ; preds = %start store %str_slice* %2, %str_slice** %_19 %5 = bitcast %str_slice** %_19 to i8* %6 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.dS, i32 0, i32 0), i16 8, i8* nonnull %5, void (i8*)** noalias nonnull readonly bitcast ({ void (%str_slice**)*, i16, i16, i8 (%str_slice**, %"fmt::Formatter"*)* }* @vtable.dT to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store %str_slice* %3, %str_slice** %_27 %7 = bitcast %str_slice** %_27 to i8* %8 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.e3, i32 0, i32 0), i16 6, i8* nonnull %7, void (i8*)** noalias nonnull readonly bitcast ({ void (%str_slice**)*, i16, i16, i8 (%str_slice**, %"fmt::Formatter"*)* }* @vtable.dT to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 store %"str::pattern::StrSearcherImpl"* %4, %"str::pattern::StrSearcherImpl"** %_35 %9 = bitcast %"str::pattern::StrSearcherImpl"** %_35 to i8* %10 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.e4, i32 0, i32 0), i16 8, i8* nonnull %9, void (i8*)** noalias nonnull readonly bitcast ({ void (%"str::pattern::StrSearcherImpl"**)*, i16, i16, i8 (%"str::pattern::StrSearcherImpl"**, %"fmt::Formatter"*)* }* @vtable.e5 to void (i8*)**)) br label %bb4 bb4: ; preds = %bb3 %11 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %11, i8* %abi_cast %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb5 bb5: ; preds = %bb4 %13 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %14 = load i8, i8* %13, align 1 ret i8 %14 } ; Function Attrs: uwtable define i8 @"_ZN72_$LT$core..str..pattern..StrSearcherImpl$u20$as$u20$core..fmt..Debug$GT$3fmt17h03b7d829666c2649E"(%"str::pattern::StrSearcherImpl"* noalias readonly dereferenceable(32), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast2 = alloca i8 %abi_cast = alloca i8 %_30 = alloca %"str::pattern::TwoWaySearcher"* %builder1 = alloca %"fmt::builders::DebugTuple" %_19 = alloca %"str::pattern::EmptyNeedle"* %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { %"str::pattern::StrSearcherImpl"* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { %"str::pattern::StrSearcherImpl"* }, { %"str::pattern::StrSearcherImpl"* }* %_5, i32 0, i32 0 store %"str::pattern::StrSearcherImpl"* %0, %"str::pattern::StrSearcherImpl"** %2 %3 = getelementptr inbounds { %"str::pattern::StrSearcherImpl"* }, { %"str::pattern::StrSearcherImpl"* }* %_5, i32 0, i32 0 %4 = load %"str::pattern::StrSearcherImpl"*, %"str::pattern::StrSearcherImpl"** %3, !nonnull !1 %5 = getelementptr inbounds %"str::pattern::StrSearcherImpl", %"str::pattern::StrSearcherImpl"* %4, i32 0, i32 0 %6 = load i16, i16* %5, !range !3 switch i16 %6, label %bb2 [ i16 0, label %bb1 ] bb1: ; preds = %start %7 = getelementptr inbounds { %"str::pattern::StrSearcherImpl"* }, { %"str::pattern::StrSearcherImpl"* }* %_5, i32 0, i32 0 %8 = load %"str::pattern::StrSearcherImpl"*, %"str::pattern::StrSearcherImpl"** %7, !nonnull !1 %9 = bitcast %"str::pattern::StrSearcherImpl"* %8 to { i16, %"str::pattern::EmptyNeedle" }* %10 = getelementptr inbounds { i16, %"str::pattern::EmptyNeedle" }, { i16, %"str::pattern::EmptyNeedle" }* %9, i32 0, i32 1 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.aa, i32 0, i32 0), i16 5) br label %bb4 bb2: ; preds = %start %11 = getelementptr inbounds { %"str::pattern::StrSearcherImpl"* }, { %"str::pattern::StrSearcherImpl"* }* %_5, i32 0, i32 0 %12 = load %"str::pattern::StrSearcherImpl"*, %"str::pattern::StrSearcherImpl"** %11, !nonnull !1 %13 = bitcast %"str::pattern::StrSearcherImpl"* %12 to { i16, %"str::pattern::TwoWaySearcher" }* %14 = getelementptr inbounds { i16, %"str::pattern::TwoWaySearcher" }, { i16, %"str::pattern::TwoWaySearcher" }* %13, i32 0, i32 1 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.e6, i32 0, i32 0), i16 6) br label %bb7 bb3: ; preds = %bb6, %bb9 %15 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %16 = load i8, i8* %15, align 1 ret i8 %16 bb4: ; preds = %bb1 store %"str::pattern::EmptyNeedle"* %10, %"str::pattern::EmptyNeedle"** %_19 %17 = bitcast %"str::pattern::EmptyNeedle"** %_19 to i8* %18 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %17, void (i8*)** noalias nonnull readonly bitcast ({ void (%"str::pattern::EmptyNeedle"**)*, i16, i16, i8 (%"str::pattern::EmptyNeedle"**, %"fmt::Formatter"*)* }* @vtable.e8 to void (i8*)**)) br label %bb5 bb5: ; preds = %bb4 %19 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %19, i8* %abi_cast2 %20 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %20, i8* %abi_cast2, i16 1, i32 1, i1 false) br label %bb6 bb6: ; preds = %bb5 br label %bb3 bb7: ; preds = %bb2 store %"str::pattern::TwoWaySearcher"* %14, %"str::pattern::TwoWaySearcher"** %_30 %21 = bitcast %"str::pattern::TwoWaySearcher"** %_30 to i8* %22 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1, i8* nonnull %21, void (i8*)** noalias nonnull readonly bitcast ({ void (%"str::pattern::TwoWaySearcher"**)*, i16, i16, i8 (%"str::pattern::TwoWaySearcher"**, %"fmt::Formatter"*)* }* @vtable.e7 to void (i8*)**)) br label %bb8 bb8: ; preds = %bb7 %23 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %23, i8* %abi_cast %24 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 br label %bb3 } ; Function Attrs: uwtable define i8 @"_ZN68_$LT$core..str..pattern..EmptyNeedle$u20$as$u20$core..fmt..Debug$GT$3fmt17h1a5c61040fadd888E"(%"str::pattern::EmptyNeedle"* noalias readonly dereferenceable(6), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_44 = alloca i8* %_36 = alloca i8* %_28 = alloca i16* %_20 = alloca i16* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::pattern::EmptyNeedle", %"str::pattern::EmptyNeedle"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"str::pattern::EmptyNeedle", %"str::pattern::EmptyNeedle"* %0, i32 0, i32 1 %4 = getelementptr inbounds %"str::pattern::EmptyNeedle", %"str::pattern::EmptyNeedle"* %0, i32 0, i32 2 %5 = getelementptr inbounds %"str::pattern::EmptyNeedle", %"str::pattern::EmptyNeedle"* %0, i32 0, i32 3 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.e9, i32 0, i32 0), i16 11) br label %bb1 bb1: ; preds = %start store i16* %2, i16** %_20 %6 = bitcast i16** %_20 to i8* %7 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.ea, i32 0, i32 0), i16 8, i8* nonnull %6, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store i16* %3, i16** %_28 %8 = bitcast i16** %_28 to i8* %9 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.7g, i32 0, i32 0), i16 3, i8* nonnull %8, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 store i8* %4, i8** %_36 %10 = bitcast i8** %_36 to i8* %11 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.eb, i32 0, i32 0), i16 11, i8* nonnull %10, void (i8*)** noalias nonnull readonly bitcast ({ void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* }* @vtable.8P to void (i8*)**)) br label %bb4 bb4: ; preds = %bb3 store i8* %5, i8** %_44 %12 = bitcast i8** %_44 to i8* %13 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.ec, i32 0, i32 0), i16 11, i8* nonnull %12, void (i8*)** noalias nonnull readonly bitcast ({ void (i8**)*, i16, i16, i8 (i8**, %"fmt::Formatter"*)* }* @vtable.8P to void (i8*)**)) br label %bb5 bb5: ; preds = %bb4 %14 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %14, i8* %abi_cast %15 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb6 bb6: ; preds = %bb5 %16 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %17 = load i8, i8* %16, align 1 ret i8 %17 } ; Function Attrs: uwtable define i8 @"_ZN71_$LT$core..str..pattern..TwoWaySearcher$u20$as$u20$core..fmt..Debug$GT$3fmt17hf1ca58ef8d64a486E"(%"str::pattern::TwoWaySearcher"* noalias readonly dereferenceable(24), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_80 = alloca i16* %_72 = alloca i16* %_64 = alloca i16* %_56 = alloca i16* %_48 = alloca i64* %_40 = alloca i16* %_32 = alloca i16* %_24 = alloca i16* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 1 %4 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 2 %5 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 3 %6 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 4 %7 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 5 %8 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 6 %9 = getelementptr inbounds %"str::pattern::TwoWaySearcher", %"str::pattern::TwoWaySearcher"* %0, i32 0, i32 7 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([14 x i8], [14 x i8]* @str.ed, i32 0, i32 0), i16 14) br label %bb1 bb1: ; preds = %start store i16* %2, i16** %_24 %10 = bitcast i16** %_24 to i8* %11 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.ee, i32 0, i32 0), i16 8, i8* nonnull %10, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store i16* %3, i16** %_32 %12 = bitcast i16** %_32 to i8* %13 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([13 x i8], [13 x i8]* @str.ef, i32 0, i32 0), i16 13, i8* nonnull %12, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 store i16* %4, i16** %_40 %14 = bitcast i16** %_40 to i8* %15 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.eg, i32 0, i32 0), i16 6, i8* nonnull %14, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb4 bb4: ; preds = %bb3 store i64* %5, i64** %_48 %16 = bitcast i64** %_48 to i8* %17 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.eh, i32 0, i32 0), i16 7, i8* nonnull %16, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb5 bb5: ; preds = %bb4 store i16* %6, i16** %_56 %18 = bitcast i16** %_56 to i8* %19 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.ea, i32 0, i32 0), i16 8, i8* nonnull %18, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb6 bb6: ; preds = %bb5 store i16* %7, i16** %_64 %20 = bitcast i16** %_64 to i8* %21 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.7g, i32 0, i32 0), i16 3, i8* nonnull %20, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb7 bb7: ; preds = %bb6 store i16* %8, i16** %_72 %22 = bitcast i16** %_72 to i8* %23 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.ei, i32 0, i32 0), i16 6, i8* nonnull %22, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb8 bb8: ; preds = %bb7 store i16* %9, i16** %_80 %24 = bitcast i16** %_80 to i8* %25 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.ej, i32 0, i32 0), i16 11, i8* nonnull %24, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb9 bb9: ; preds = %bb8 %26 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %26, i8* %abi_cast %27 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %27, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb10 bb10: ; preds = %bb9 %28 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %29 = load i8, i8* %28, align 1 ret i8 %29 } ; Function Attrs: uwtable define i8 @"_ZN62_$LT$core..str..ParseBoolError$u20$as$u20$core..fmt..Debug$GT$3fmt17h48db2877e3862612E"(%"str::ParseBoolError"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca {}* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::ParseBoolError", %"str::ParseBoolError"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([14 x i8], [14 x i8]* @str.el, i32 0, i32 0), i16 14) br label %bb1 bb1: ; preds = %start store {}* %2, {}** %_17 %3 = bitcast {}** %_17 to i8* %4 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.em, i32 0, i32 0), i16 5, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void ({}**)*, i16, i16, i8 ({}**, %"fmt::Formatter"*)* }* @vtable.bS to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @"_ZN57_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h58d044909ee46237E"(%"str::Utf8Error"* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_26 = alloca %"option::Option"* %_18 = alloca i16* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"str::Utf8Error", %"str::Utf8Error"* %0, i32 0, i32 1 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([9 x i8], [9 x i8]* @str.en, i32 0, i32 0), i16 9) br label %bb1 bb1: ; preds = %start store i16* %2, i16** %_18 %4 = bitcast i16** %_18 to i8* %5 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.eo, i32 0, i32 0), i16 11, i8* nonnull %4, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store %"option::Option"* %3, %"option::Option"** %_26 %6 = bitcast %"option::Option"** %_26 to i8* %7 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([9 x i8], [9 x i8]* @str.ep, i32 0, i32 0), i16 9, i8* nonnull %6, void (i8*)** noalias nonnull readonly bitcast ({ void (%"option::Option"**)*, i16, i16, i8 (%"option::Option"**, %"fmt::Formatter"*)* }* @vtable.eq to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 %8 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %8, i8* %abi_cast %9 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %11 = load i8, i8* %10, align 1 ret i8 %11 } ; Function Attrs: uwtable define i8 @"_ZN67_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h60f6a831042b5f49E"(%"str::Chars"* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca %"slice::Iter"* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::Chars", %"str::Chars"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.ew, i32 0, i32 0), i16 5) br label %bb1 bb1: ; preds = %start store %"slice::Iter"* %2, %"slice::Iter"** %_17 %3 = bitcast %"slice::Iter"** %_17 to i8* %4 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.6r, i32 0, i32 0), i16 4, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"slice::Iter"**)*, i16, i16, i8 (%"slice::Iter"**, %"fmt::Formatter"*)* }* @vtable.dm to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN69_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h3b7429528b9f8e56E"(%"str::Chars"* noalias nocapture sret dereferenceable(4), %"str::Chars"* noalias readonly dereferenceable(4)) unnamed_addr #0 { entry-block: %_4 = alloca %"slice::Iter" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::Chars", %"str::Chars"* %1, i32 0, i32 0 call void @"_ZN79_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h70dac1d7c0e3b8e4E"(%"slice::Iter"* noalias nocapture sret dereferenceable(4) %_4, %"slice::Iter"* noalias readonly dereferenceable(4) %2) br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"str::Chars", %"str::Chars"* %0, i32 0, i32 0 %4 = bitcast %"slice::Iter"* %_4 to i8* %5 = bitcast %"slice::Iter"* %3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define i8 @"_ZN73_$LT$core..str..CharIndices$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h68add5d3b272f35fE"(%"str::CharIndices"* noalias readonly dereferenceable(6), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_26 = alloca %"str::Chars"* %_18 = alloca i16* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %0, i32 0, i32 1 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.ex, i32 0, i32 0), i16 11) br label %bb1 bb1: ; preds = %start store i16* %2, i16** %_18 %4 = bitcast i16** %_18 to i8* %5 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([12 x i8], [12 x i8]* @str.ey, i32 0, i32 0), i16 12, i8* nonnull %4, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store %"str::Chars"* %3, %"str::Chars"** %_26 %6 = bitcast %"str::Chars"** %_26 to i8* %7 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.6r, i32 0, i32 0), i16 4, i8* nonnull %6, void (i8*)** noalias nonnull readonly bitcast ({ void (%"str::Chars"**)*, i16, i16, i8 (%"str::Chars"**, %"fmt::Formatter"*)* }* @vtable.ez to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 %8 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %8, i8* %abi_cast %9 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %9, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb4 bb4: ; preds = %bb3 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %11 = load i8, i8* %10, align 1 ret i8 %11 } ; Function Attrs: inlinehint uwtable define internal void @"_ZN75_$LT$core..str..CharIndices$LT$$u27$a$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h0fd6c34b5fbfebccE"(%"str::CharIndices"* noalias nocapture sret dereferenceable(6), %"str::CharIndices"* noalias readonly dereferenceable(6)) unnamed_addr #0 { entry-block: %_8 = alloca %"str::Chars" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %1, i32 0, i32 0 %3 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %1, i32 0, i32 1 %4 = call i16 @"_ZN44_$LT$usize$u20$as$u20$core..clone..Clone$GT$5clone17h3ef31ba81d0b2e31E"(i16* noalias readonly dereferenceable(2) %2) br label %bb1 bb1: ; preds = %start call void @"_ZN69_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h3b7429528b9f8e56E"(%"str::Chars"* noalias nocapture sret dereferenceable(4) %_8, %"str::Chars"* noalias readonly dereferenceable(4) %3) br label %bb2 bb2: ; preds = %bb1 %5 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %0, i32 0, i32 0 store i16 %4, i16* %5 %6 = getelementptr inbounds %"str::CharIndices", %"str::CharIndices"* %0, i32 0, i32 1 %7 = bitcast %"str::Chars"* %_8 to i8* %8 = bitcast %"str::Chars"* %6 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %8, i8* %7, i16 4, i32 2, i1 false) ret void } ; Function Attrs: uwtable define i8 @"_ZN67_$LT$core..str..Bytes$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h93bc8e8857f37108E"(%"str::Bytes"* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_15 = alloca %"iter::Cloned>"* %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::Bytes", %"str::Bytes"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.eA, i32 0, i32 0), i16 5) br label %bb1 bb1: ; preds = %start store %"iter::Cloned>"* %2, %"iter::Cloned>"** %_15 %3 = bitcast %"iter::Cloned>"** %_15 to i8* %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"iter::Cloned>"**)*, i16, i16, i8 (%"iter::Cloned>"**, %"fmt::Formatter"*)* }* @vtable.eB to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define internal void @"_ZN86_$LT$core..str..SplitInternal$LT$$u27$a$C$$u20$P$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hff3a14352ad7a7afE"(%"str::SplitInternal"* noalias nocapture sret dereferenceable(24), %"str::SplitInternal"* dereferenceable(24)) unnamed_addr #1 { entry-block: %_5 = alloca %"str::pattern::CharSearcher" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %1, i32 0, i32 2 call void @"_ZN85_$LT$core..str..pattern..CharSearcher$LT$$u27$a$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he9e5f03ebbdce10dE"(%"str::pattern::CharSearcher"* noalias nocapture sret dereferenceable(16) %_5, %"str::pattern::CharSearcher"* dereferenceable(16) %2) br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %1, i32 0, i32 0 %4 = load i16, i16* %3 %5 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %0, i32 0, i32 0 store i16 %4, i16* %5 %6 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %1, i32 0, i32 1 %7 = load i16, i16* %6 %8 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %0, i32 0, i32 1 store i16 %7, i16* %8 %9 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %0, i32 0, i32 2 %10 = bitcast %"str::pattern::CharSearcher"* %_5 to i8* %11 = bitcast %"str::pattern::CharSearcher"* %9 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %11, i8* %10, i16 16, i32 4, i1 false) %12 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %1, i32 0, i32 3 %13 = load i8, i8* %12, !range !2 %14 = trunc i8 %13 to i1 %15 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %0, i32 0, i32 3 %16 = zext i1 %14 to i8 store i8 %16, i8* %15 %17 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %1, i32 0, i32 4 %18 = load i8, i8* %17, !range !2 %19 = trunc i8 %18 to i1 %20 = getelementptr inbounds %"str::SplitInternal", %"str::SplitInternal"* %0, i32 0, i32 4 %21 = zext i1 %19 to i8 store i8 %21, i8* %20 ret void } ; Function Attrs: uwtable define internal i8 @"_ZN86_$LT$core..str..SplitTerminator$LT$$u27$a$C$$u20$P$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h207aaef5b13163c7E"(%"str::SplitTerminator"* dereferenceable(24), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_8 = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %_8, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([15 x i8], [15 x i8]* @str.eC, i32 0, i32 0), i16 15) br label %bb1 bb1: ; preds = %start %2 = getelementptr inbounds %"str::SplitTerminator", %"str::SplitTerminator"* %0, i32 0, i32 0 %3 = bitcast %"str::SplitInternal"* %2 to i8* %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %_8, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"str::SplitInternal"*)*, i16, i16, i8 (%"str::SplitInternal"*, %"fmt::Formatter"*)* }* @vtable.eD to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %4) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define internal void @"_ZN88_$LT$core..str..SplitTerminator$LT$$u27$a$C$$u20$P$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h8ea4d97fe636a405E"(%"str::SplitTerminator"* noalias nocapture sret dereferenceable(24), %"str::SplitTerminator"* dereferenceable(24)) unnamed_addr #1 { entry-block: %_3 = alloca %"str::SplitInternal" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::SplitTerminator", %"str::SplitTerminator"* %1, i32 0, i32 0 call void @"_ZN86_$LT$core..str..SplitInternal$LT$$u27$a$C$$u20$P$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hff3a14352ad7a7afE"(%"str::SplitInternal"* noalias nocapture sret dereferenceable(24) %_3, %"str::SplitInternal"* dereferenceable(24) %2) br label %bb1 bb1: ; preds = %start %3 = getelementptr inbounds %"str::SplitTerminator", %"str::SplitTerminator"* %0, i32 0, i32 0 %4 = bitcast %"str::SplitInternal"* %_3 to i8* %5 = bitcast %"str::SplitInternal"* %3 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %4, i16 24, i32 4, i1 false) ret void } ; Function Attrs: uwtable define i8 @"_ZN67_$LT$core..str..Lines$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h766f34bc86c6bea5E"(%"str::Lines"* dereferenceable(24), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_15 = alloca %"iter::Map, str::LinesAnyMap>"* %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::Lines", %"str::Lines"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.eE, i32 0, i32 0), i16 5) br label %bb1 bb1: ; preds = %start store %"iter::Map, str::LinesAnyMap>"* %2, %"iter::Map, str::LinesAnyMap>"** %_15 %3 = bitcast %"iter::Map, str::LinesAnyMap>"** %_15 to i8* %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"iter::Map, str::LinesAnyMap>"**)*, i16, i16, i8 (%"iter::Map, str::LinesAnyMap>"**, %"fmt::Formatter"*)* }* @vtable.eF to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @"_ZN70_$LT$core..str..LinesAny$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h0d6e51c45755fd88E"(%"str::LinesAny"* dereferenceable(24), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_15 = alloca %"str::Lines"* %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"str::LinesAny", %"str::LinesAny"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([8 x i8], [8 x i8]* @str.eG, i32 0, i32 0), i16 8) br label %bb1 bb1: ; preds = %start store %"str::Lines"* %2, %"str::Lines"** %_15 %3 = bitcast %"str::Lines"** %_15 to i8* %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"str::Lines"**)*, i16, i16, i8 (%"str::Lines"**, %"fmt::Formatter"*)* }* @vtable.eH to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @"_ZN65_$LT$core..hash..sip..SipHasher13$u20$as$u20$core..fmt..Debug$GT$3fmt17h889aab306f54941fE"(%"hash::sip::SipHasher13"* noalias readonly dereferenceable(72), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca %"hash::sip::Hasher"* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"hash::sip::SipHasher13", %"hash::sip::SipHasher13"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.eV, i32 0, i32 0), i16 11) br label %bb1 bb1: ; preds = %start store %"hash::sip::Hasher"* %2, %"hash::sip::Hasher"** %_17 %3 = bitcast %"hash::sip::Hasher"** %_17 to i8* %4 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.eW, i32 0, i32 0), i16 6, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"hash::sip::Hasher"**)*, i16, i16, i8 (%"hash::sip::Hasher"**, %"fmt::Formatter"*)* }* @vtable.eX to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @"_ZN65_$LT$core..hash..sip..SipHasher24$u20$as$u20$core..fmt..Debug$GT$3fmt17hb09de7982ee3b746E"(%"hash::sip::SipHasher24"* noalias readonly dereferenceable(72), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_17 = alloca %"hash::sip::Hasher"* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"hash::sip::SipHasher24", %"hash::sip::SipHasher24"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.eY, i32 0, i32 0), i16 11) br label %bb1 bb1: ; preds = %start store %"hash::sip::Hasher"* %2, %"hash::sip::Hasher"** %_17 %3 = bitcast %"hash::sip::Hasher"** %_17 to i8* %4 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.eW, i32 0, i32 0), i16 6, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"hash::sip::Hasher"**)*, i16, i16, i8 (%"hash::sip::Hasher"**, %"fmt::Formatter"*)* }* @vtable.eZ to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define i8 @"_ZN63_$LT$core..hash..sip..SipHasher$u20$as$u20$core..fmt..Debug$GT$3fmt17h8f173d0e8735a4aaE"(%"hash::sip::SipHasher"* noalias readonly dereferenceable(72), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_15 = alloca %"hash::sip::SipHasher24"* %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"hash::sip::SipHasher", %"hash::sip::SipHasher"* %0, i32 0, i32 0 call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([9 x i8], [9 x i8]* @str.f0, i32 0, i32 0), i16 9) br label %bb1 bb1: ; preds = %start store %"hash::sip::SipHasher24"* %2, %"hash::sip::SipHasher24"** %_15 %3 = bitcast %"hash::sip::SipHasher24"** %_15 to i8* %4 = call dereferenceable(8) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h1ed4c1644b8684deE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder, i8* nonnull %3, void (i8*)** noalias nonnull readonly bitcast ({ void (%"hash::sip::SipHasher24"**)*, i16, i16, i8 (%"hash::sip::SipHasher24"**, %"fmt::Formatter"*)* }* @vtable.f1 to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 %5 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %5, i8* %abi_cast %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %6, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb3 bb3: ; preds = %bb2 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 } ; Function Attrs: uwtable define internal i8 @"_ZN69_$LT$core..hash..sip..Hasher$LT$S$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h2c7641b4c7baa195E"(%"hash::sip::Hasher"* noalias readonly dereferenceable(72), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_71 = alloca %"marker::PhantomData"* %_63 = alloca i16* %_55 = alloca i64* %_47 = alloca %"hash::sip::State"* %_39 = alloca i16* %_31 = alloca i64* %_23 = alloca i64* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 1 %4 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 2 %5 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 3 %6 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 4 %7 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 5 %8 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 6 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.f2, i32 0, i32 0), i16 6) br label %bb1 bb1: ; preds = %start store i64* %2, i64** %_23 %9 = bitcast i64** %_23 to i8* %10 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.f3, i32 0, i32 0), i16 2, i8* nonnull %9, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store i64* %3, i64** %_31 %11 = bitcast i64** %_31 to i8* %12 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.f4, i32 0, i32 0), i16 2, i8* nonnull %11, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 store i16* %4, i16** %_39 %13 = bitcast i16** %_39 to i8* %14 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.f5, i32 0, i32 0), i16 6, i8* nonnull %13, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb4 bb4: ; preds = %bb3 store %"hash::sip::State"* %5, %"hash::sip::State"** %_47 %15 = bitcast %"hash::sip::State"** %_47 to i8* %16 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.cZ, i32 0, i32 0), i16 5, i8* nonnull %15, void (i8*)** noalias nonnull readonly bitcast ({ void (%"hash::sip::State"**)*, i16, i16, i8 (%"hash::sip::State"**, %"fmt::Formatter"*)* }* @vtable.f6 to void (i8*)**)) br label %bb5 bb5: ; preds = %bb4 store i64* %6, i64** %_55 %17 = bitcast i64** %_55 to i8* %18 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.f7, i32 0, i32 0), i16 4, i8* nonnull %17, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb6 bb6: ; preds = %bb5 store i16* %7, i16** %_63 %19 = bitcast i16** %_63 to i8* %20 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.f8, i32 0, i32 0), i16 5, i8* nonnull %19, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb7 bb7: ; preds = %bb6 store %"marker::PhantomData"* %8, %"marker::PhantomData"** %_71 %21 = bitcast %"marker::PhantomData"** %_71 to i8* %22 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.f9, i32 0, i32 0), i16 7, i8* nonnull %21, void (i8*)** noalias nonnull readonly bitcast ({ void (%"marker::PhantomData"**)*, i16, i16, i8 (%"marker::PhantomData"**, %"fmt::Formatter"*)* }* @vtable.fa to void (i8*)**)) br label %bb8 bb8: ; preds = %bb7 %23 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %23, i8* %abi_cast %24 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 %25 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %26 = load i8, i8* %25, align 1 ret i8 %26 } ; Function Attrs: uwtable define internal i8 @"_ZN69_$LT$core..hash..sip..Hasher$LT$S$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hd8c27620de34f938E"(%"hash::sip::Hasher"* noalias readonly dereferenceable(72), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_71 = alloca %"marker::PhantomData"* %_63 = alloca i16* %_55 = alloca i64* %_47 = alloca %"hash::sip::State"* %_39 = alloca i16* %_31 = alloca i64* %_23 = alloca i64* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 1 %4 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 2 %5 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 3 %6 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 4 %7 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 5 %8 = getelementptr inbounds %"hash::sip::Hasher", %"hash::sip::Hasher"* %0, i32 0, i32 6 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.f2, i32 0, i32 0), i16 6) br label %bb1 bb1: ; preds = %start store i64* %2, i64** %_23 %9 = bitcast i64** %_23 to i8* %10 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.f3, i32 0, i32 0), i16 2, i8* nonnull %9, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store i64* %3, i64** %_31 %11 = bitcast i64** %_31 to i8* %12 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.f4, i32 0, i32 0), i16 2, i8* nonnull %11, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 store i16* %4, i16** %_39 %13 = bitcast i16** %_39 to i8* %14 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.f5, i32 0, i32 0), i16 6, i8* nonnull %13, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb4 bb4: ; preds = %bb3 store %"hash::sip::State"* %5, %"hash::sip::State"** %_47 %15 = bitcast %"hash::sip::State"** %_47 to i8* %16 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.cZ, i32 0, i32 0), i16 5, i8* nonnull %15, void (i8*)** noalias nonnull readonly bitcast ({ void (%"hash::sip::State"**)*, i16, i16, i8 (%"hash::sip::State"**, %"fmt::Formatter"*)* }* @vtable.f6 to void (i8*)**)) br label %bb5 bb5: ; preds = %bb4 store i64* %6, i64** %_55 %17 = bitcast i64** %_55 to i8* %18 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.f7, i32 0, i32 0), i16 4, i8* nonnull %17, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb6 bb6: ; preds = %bb5 store i16* %7, i16** %_63 %19 = bitcast i16** %_63 to i8* %20 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.f8, i32 0, i32 0), i16 5, i8* nonnull %19, void (i8*)** noalias nonnull readonly bitcast ({ void (i16**)*, i16, i16, i8 (i16**, %"fmt::Formatter"*)* }* @vtable.9m to void (i8*)**)) br label %bb7 bb7: ; preds = %bb6 store %"marker::PhantomData"* %8, %"marker::PhantomData"** %_71 %21 = bitcast %"marker::PhantomData"** %_71 to i8* %22 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.f9, i32 0, i32 0), i16 7, i8* nonnull %21, void (i8*)** noalias nonnull readonly bitcast ({ void (%"marker::PhantomData"**)*, i16, i16, i8 (%"marker::PhantomData"**, %"fmt::Formatter"*)* }* @vtable.fb to void (i8*)**)) br label %bb8 bb8: ; preds = %bb7 %23 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %23, i8* %abi_cast %24 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %24, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 %25 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %26 = load i8, i8* %25, align 1 ret i8 %26 } ; Function Attrs: uwtable define i8 @"_ZN59_$LT$core..hash..sip..State$u20$as$u20$core..fmt..Debug$GT$3fmt17h6bc1182b1de2c998E"(%"hash::sip::State"* noalias readonly dereferenceable(32), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_44 = alloca i64* %_36 = alloca i64* %_28 = alloca i64* %_20 = alloca i64* %builder = alloca %"fmt::builders::DebugStruct" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %"hash::sip::State", %"hash::sip::State"* %0, i32 0, i32 0 %3 = getelementptr inbounds %"hash::sip::State", %"hash::sip::State"* %0, i32 0, i32 1 %4 = getelementptr inbounds %"hash::sip::State", %"hash::sip::State"* %0, i32 0, i32 2 %5 = getelementptr inbounds %"hash::sip::State", %"hash::sip::State"* %0, i32 0, i32 3 call void @_ZN4core3fmt9Formatter12debug_struct17h0cba5f9dbc0fe041E(%"fmt::builders::DebugStruct"* noalias nocapture sret dereferenceable(4) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.fc, i32 0, i32 0), i16 5) br label %bb1 bb1: ; preds = %start store i64* %2, i64** %_20 %6 = bitcast i64** %_20 to i8* %7 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.fd, i32 0, i32 0), i16 2, i8* nonnull %6, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb2 bb2: ; preds = %bb1 store i64* %3, i64** %_28 %8 = bitcast i64** %_28 to i8* %9 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.fe, i32 0, i32 0), i16 2, i8* nonnull %8, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb3 bb3: ; preds = %bb2 store i64* %4, i64** %_36 %10 = bitcast i64** %_36 to i8* %11 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.ff, i32 0, i32 0), i16 2, i8* nonnull %10, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb4 bb4: ; preds = %bb3 store i64* %5, i64** %_44 %12 = bitcast i64** %_44 to i8* %13 = call dereferenceable(4) %"fmt::builders::DebugStruct"* @_ZN4core3fmt8builders11DebugStruct5field17h9f36d14ca8389293E(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder, i8* noalias nonnull readonly getelementptr inbounds ([2 x i8], [2 x i8]* @str.fg, i32 0, i32 0), i16 2, i8* nonnull %12, void (i8*)** noalias nonnull readonly bitcast ({ void (i64**)*, i16, i16, i8 (i64**, %"fmt::Formatter"*)* }* @vtable.8J to void (i8*)**)) br label %bb5 bb5: ; preds = %bb4 %14 = call i8 @_ZN4core3fmt8builders11DebugStruct6finish17h62e73494fe4a847eE(%"fmt::builders::DebugStruct"* dereferenceable(4) %builder) store i8 %14, i8* %abi_cast %15 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %15, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb6 bb6: ; preds = %bb5 %16 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %17 = load i8, i8* %16, align 1 ret i8 %17 } ; Function Attrs: uwtable define i8 @"_ZN65_$LT$core..hash..sip..Sip13Rounds$u20$as$u20$core..fmt..Debug$GT$3fmt17h125785fb45eaf7feE"(%"hash::sip::Sip13Rounds"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.fo, i32 0, i32 0), i16 11) br label %bb1 bb1: ; preds = %start %2 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN65_$LT$core..hash..sip..Sip24Rounds$u20$as$u20$core..fmt..Debug$GT$3fmt17hde53da094b774447E"(%"hash::sip::Sip24Rounds"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.fp, i32 0, i32 0), i16 11) br label %bb1 bb1: ; preds = %start %2 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt5float50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$f32$GT$3fmt17h15cbcda329919feaE"(float* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @_ZN4core3fmt5float23float_to_decimal_common17hd539a824d57bfb87E(%"fmt::Formatter"* dereferenceable(32) %1, float* noalias readonly dereferenceable(4) %0, i1 zeroext true) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f32$GT$3fmt17h15411e61e6688201E"(float* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @_ZN4core3fmt5float23float_to_decimal_common17hd539a824d57bfb87E(%"fmt::Formatter"* dereferenceable(32) %1, float* noalias readonly dereferenceable(4) %0, i1 zeroext false) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt5float53_$LT$impl$u20$core..fmt..LowerExp$u20$for$u20$f32$GT$3fmt17h3d33b4f00b104a75E"(float* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @_ZN4core3fmt5float27float_to_exponential_common17h9aa69cf3212d1f30E(%"fmt::Formatter"* dereferenceable(32) %1, float* noalias readonly dereferenceable(4) %0, i1 zeroext false) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt5float53_$LT$impl$u20$core..fmt..UpperExp$u20$for$u20$f32$GT$3fmt17h3a0135c6b8478b46E"(float* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @_ZN4core3fmt5float27float_to_exponential_common17h9aa69cf3212d1f30E(%"fmt::Formatter"* dereferenceable(32) %1, float* noalias readonly dereferenceable(4) %0, i1 zeroext true) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt5float50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$f64$GT$3fmt17hc0f2da64a3396961E"(double* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @_ZN4core3fmt5float23float_to_decimal_common17h83fda1f1bf728726E(%"fmt::Formatter"* dereferenceable(32) %1, double* noalias readonly dereferenceable(8) %0, i1 zeroext true) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17h8cac4af20ddaef11E"(double* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @_ZN4core3fmt5float23float_to_decimal_common17h83fda1f1bf728726E(%"fmt::Formatter"* dereferenceable(32) %1, double* noalias readonly dereferenceable(8) %0, i1 zeroext false) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt5float53_$LT$impl$u20$core..fmt..LowerExp$u20$for$u20$f64$GT$3fmt17h651df3dc0cb4fdcbE"(double* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @_ZN4core3fmt5float27float_to_exponential_common17h233797d69151cdb8E(%"fmt::Formatter"* dereferenceable(32) %1, double* noalias readonly dereferenceable(8) %0, i1 zeroext false) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt5float53_$LT$impl$u20$core..fmt..UpperExp$u20$for$u20$f64$GT$3fmt17hea1e5609eb68d05dE"(double* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @_ZN4core3fmt5float27float_to_exponential_common17h233797d69151cdb8E(%"fmt::Formatter"* dereferenceable(32) %1, double* noalias readonly dereferenceable(8) %0, i1 zeroext true) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN42_$LT$i8$u20$as$u20$core..fmt..num..Int$GT$7from_u817h9d3f66f44f674ee8E"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i8 %0 } ; Function Attrs: uwtable define i8 @"_ZN42_$LT$i8$u20$as$u20$core..fmt..num..Int$GT$5to_u817hf4b721e54b0326c4E"(i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i8, i8* %0 ret i8 %1 } ; Function Attrs: uwtable define i16 @"_ZN42_$LT$i8$u20$as$u20$core..fmt..num..Int$GT$6to_u1617he648e8c47dce459aE"(i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i8, i8* %0 %2 = sext i8 %1 to i16 ret i16 %2 } ; Function Attrs: uwtable define i32 @"_ZN42_$LT$i8$u20$as$u20$core..fmt..num..Int$GT$6to_u3217h2d98603a84b0d4caE"(i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i8, i8* %0 %2 = sext i8 %1 to i32 ret i32 %2 } ; Function Attrs: uwtable define i64 @"_ZN42_$LT$i8$u20$as$u20$core..fmt..num..Int$GT$6to_u6417hc4dcaf679aa0a66cE"(i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i8, i8* %0 %2 = sext i8 %1 to i64 ret i64 %2 } ; Function Attrs: uwtable define i128 @"_ZN42_$LT$i8$u20$as$u20$core..fmt..num..Int$GT$7to_u12817hb06a1324d6b8cbf4E"(i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i8, i8* %0 %2 = sext i8 %1 to i128 ret i128 %2 } ; Function Attrs: uwtable define i16 @"_ZN43_$LT$i16$u20$as$u20$core..fmt..num..Int$GT$7from_u817h07158627f3ace805E"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i8 %0 to i16 ret i16 %1 } ; Function Attrs: uwtable define i8 @"_ZN43_$LT$i16$u20$as$u20$core..fmt..num..Int$GT$5to_u817h98c1d8c2910463d4E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = trunc i16 %1 to i8 ret i8 %2 } ; Function Attrs: uwtable define i16 @"_ZN43_$LT$i16$u20$as$u20$core..fmt..num..Int$GT$6to_u1617hbbc1858bbe3e0f28E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 ret i16 %1 } ; Function Attrs: uwtable define i32 @"_ZN43_$LT$i16$u20$as$u20$core..fmt..num..Int$GT$6to_u3217hd642b04a897dd0c9E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = sext i16 %1 to i32 ret i32 %2 } ; Function Attrs: uwtable define i64 @"_ZN43_$LT$i16$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h13cf757706c16878E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = sext i16 %1 to i64 ret i64 %2 } ; Function Attrs: uwtable define i128 @"_ZN43_$LT$i16$u20$as$u20$core..fmt..num..Int$GT$7to_u12817he7b0836f0b91e80bE"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = sext i16 %1 to i128 ret i128 %2 } ; Function Attrs: uwtable define i32 @"_ZN43_$LT$i32$u20$as$u20$core..fmt..num..Int$GT$7from_u817hfcfd8164a5724528E"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i8 %0 to i32 ret i32 %1 } ; Function Attrs: uwtable define i8 @"_ZN43_$LT$i32$u20$as$u20$core..fmt..num..Int$GT$5to_u817h93f28c8ee67ae6c2E"(i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0 %2 = trunc i32 %1 to i8 ret i8 %2 } ; Function Attrs: uwtable define i16 @"_ZN43_$LT$i32$u20$as$u20$core..fmt..num..Int$GT$6to_u1617h1043247131513430E"(i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0 %2 = trunc i32 %1 to i16 ret i16 %2 } ; Function Attrs: uwtable define i32 @"_ZN43_$LT$i32$u20$as$u20$core..fmt..num..Int$GT$6to_u3217h8f02e9e619e5fc48E"(i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0 ret i32 %1 } ; Function Attrs: uwtable define i64 @"_ZN43_$LT$i32$u20$as$u20$core..fmt..num..Int$GT$6to_u6417hadc71a43c5a12e85E"(i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0 %2 = sext i32 %1 to i64 ret i64 %2 } ; Function Attrs: uwtable define i128 @"_ZN43_$LT$i32$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h241133d5b3a303beE"(i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0 %2 = sext i32 %1 to i128 ret i128 %2 } ; Function Attrs: uwtable define i64 @"_ZN43_$LT$i64$u20$as$u20$core..fmt..num..Int$GT$7from_u817h3370f086e70bd30fE"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i8 %0 to i64 ret i64 %1 } ; Function Attrs: uwtable define i8 @"_ZN43_$LT$i64$u20$as$u20$core..fmt..num..Int$GT$5to_u817hae1d97a2d17c63ceE"(i64* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i64, i64* %0 %2 = trunc i64 %1 to i8 ret i8 %2 } ; Function Attrs: uwtable define i16 @"_ZN43_$LT$i64$u20$as$u20$core..fmt..num..Int$GT$6to_u1617hfd4d0d432441acd4E"(i64* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i64, i64* %0 %2 = trunc i64 %1 to i16 ret i16 %2 } ; Function Attrs: uwtable define i32 @"_ZN43_$LT$i64$u20$as$u20$core..fmt..num..Int$GT$6to_u3217ha7297f623d6daaf7E"(i64* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i64, i64* %0 %2 = trunc i64 %1 to i32 ret i32 %2 } ; Function Attrs: uwtable define i64 @"_ZN43_$LT$i64$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h1eadc6919b4e3604E"(i64* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i64, i64* %0 ret i64 %1 } ; Function Attrs: uwtable define i128 @"_ZN43_$LT$i64$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h1dc79342c6b3caa5E"(i64* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i64, i64* %0 %2 = sext i64 %1 to i128 ret i128 %2 } ; Function Attrs: uwtable define i128 @"_ZN44_$LT$i128$u20$as$u20$core..fmt..num..Int$GT$7from_u817h1be6e1e095264266E"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i8 %0 to i128 ret i128 %1 } ; Function Attrs: uwtable define i8 @"_ZN44_$LT$i128$u20$as$u20$core..fmt..num..Int$GT$5to_u817h5e97ca3b8cf60e10E"(i128* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i128, i128* %0 %2 = trunc i128 %1 to i8 ret i8 %2 } ; Function Attrs: uwtable define i16 @"_ZN44_$LT$i128$u20$as$u20$core..fmt..num..Int$GT$6to_u1617h8a05e0e0aacddaefE"(i128* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i128, i128* %0 %2 = trunc i128 %1 to i16 ret i16 %2 } ; Function Attrs: uwtable define i32 @"_ZN44_$LT$i128$u20$as$u20$core..fmt..num..Int$GT$6to_u3217hf9737ea797e4f52bE"(i128* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i128, i128* %0 %2 = trunc i128 %1 to i32 ret i32 %2 } ; Function Attrs: uwtable define i64 @"_ZN44_$LT$i128$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h9812710c31efa491E"(i128* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i128, i128* %0 %2 = trunc i128 %1 to i64 ret i64 %2 } ; Function Attrs: uwtable define i128 @"_ZN44_$LT$i128$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h2c1d64f1d5d71571E"(i128* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i128, i128* %0 ret i128 %1 } ; Function Attrs: uwtable define i16 @"_ZN45_$LT$isize$u20$as$u20$core..fmt..num..Int$GT$7from_u817hd2108cc54a04cb4dE"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i8 %0 to i16 ret i16 %1 } ; Function Attrs: uwtable define i8 @"_ZN45_$LT$isize$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1b39d7ee9fee6259E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = trunc i16 %1 to i8 ret i8 %2 } ; Function Attrs: uwtable define i16 @"_ZN45_$LT$isize$u20$as$u20$core..fmt..num..Int$GT$6to_u1617hacf58a041eb381f7E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 ret i16 %1 } ; Function Attrs: uwtable define i32 @"_ZN45_$LT$isize$u20$as$u20$core..fmt..num..Int$GT$6to_u3217h464c1ed806eecd8aE"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = sext i16 %1 to i32 ret i32 %2 } ; Function Attrs: uwtable define i64 @"_ZN45_$LT$isize$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h75b3480c620be612E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = sext i16 %1 to i64 ret i64 %2 } ; Function Attrs: uwtable define i128 @"_ZN45_$LT$isize$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h7792f0be55ef795cE"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = sext i16 %1 to i128 ret i128 %2 } ; Function Attrs: uwtable define i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$7from_u817hf46cdeeb7c29d2b4E"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i8 %0 } ; Function Attrs: uwtable define i8 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$5to_u817h77f4259bfa39adaeE"(i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i8, i8* %0 ret i8 %1 } ; Function Attrs: uwtable define i16 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$6to_u1617h6383d267055e8065E"(i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i8, i8* %0 %2 = zext i8 %1 to i16 ret i16 %2 } ; Function Attrs: uwtable define i32 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$6to_u3217hbf8b53003b989566E"(i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i8, i8* %0 %2 = zext i8 %1 to i32 ret i32 %2 } ; Function Attrs: uwtable define i64 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h8ce459583c3b1978E"(i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i8, i8* %0 %2 = zext i8 %1 to i64 ret i64 %2 } ; Function Attrs: uwtable define i128 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h7c5a68b8b930bbb2E"(i8* noalias readonly dereferenceable(1)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i8, i8* %0 %2 = zext i8 %1 to i128 ret i128 %2 } ; Function Attrs: uwtable define i16 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$7from_u817h6f155ef69c48922cE"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i8 %0 to i16 ret i16 %1 } ; Function Attrs: uwtable define i8 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1e6d4b1cb4a13872E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = trunc i16 %1 to i8 ret i8 %2 } ; Function Attrs: uwtable define i16 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$6to_u1617h6253dfafcfd5b7baE"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 ret i16 %1 } ; Function Attrs: uwtable define i32 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$6to_u3217hcb974eb05b174745E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = zext i16 %1 to i32 ret i32 %2 } ; Function Attrs: uwtable define i64 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h5403603582867743E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = zext i16 %1 to i64 ret i64 %2 } ; Function Attrs: uwtable define i128 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$7to_u12817hd84cd38450bbc87fE"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = zext i16 %1 to i128 ret i128 %2 } ; Function Attrs: uwtable define i32 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$7from_u817he619e7a5eae46b8bE"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i8 %0 to i32 ret i32 %1 } ; Function Attrs: uwtable define i8 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$5to_u817h1bfd26ec9e470dc6E"(i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0 %2 = trunc i32 %1 to i8 ret i8 %2 } ; Function Attrs: uwtable define i16 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$6to_u1617h0ed3df4e036d4f8eE"(i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0 %2 = trunc i32 %1 to i16 ret i16 %2 } ; Function Attrs: uwtable define i32 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$6to_u3217ha75fba5cc0f681d1E"(i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0 ret i32 %1 } ; Function Attrs: uwtable define i64 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h9f7ed3899a635487E"(i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0 %2 = zext i32 %1 to i64 ret i64 %2 } ; Function Attrs: uwtable define i128 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h70670fd6ac9325f1E"(i32* noalias readonly dereferenceable(4)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i32, i32* %0 %2 = zext i32 %1 to i128 ret i128 %2 } ; Function Attrs: uwtable define i64 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$7from_u817hff5f14816808e3a1E"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i8 %0 to i64 ret i64 %1 } ; Function Attrs: uwtable define i8 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$5to_u817h0cd4fc1bc8d71258E"(i64* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i64, i64* %0 %2 = trunc i64 %1 to i8 ret i8 %2 } ; Function Attrs: uwtable define i16 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$6to_u1617h4f5c62c2c4b447dbE"(i64* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i64, i64* %0 %2 = trunc i64 %1 to i16 ret i16 %2 } ; Function Attrs: uwtable define i32 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$6to_u3217hffe57cb799f4c446E"(i64* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i64, i64* %0 %2 = trunc i64 %1 to i32 ret i32 %2 } ; Function Attrs: uwtable define i64 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h37cbcd5a65c28fc9E"(i64* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i64, i64* %0 ret i64 %1 } ; Function Attrs: uwtable define i128 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h59cace8d9a435de1E"(i64* noalias readonly dereferenceable(8)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i64, i64* %0 %2 = zext i64 %1 to i128 ret i128 %2 } ; Function Attrs: uwtable define i128 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$7from_u817hfd7b29934aaa8c04E"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i8 %0 to i128 ret i128 %1 } ; Function Attrs: uwtable define i8 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$5to_u817h93e73f8ceccc467aE"(i128* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i128, i128* %0 %2 = trunc i128 %1 to i8 ret i8 %2 } ; Function Attrs: uwtable define i16 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$6to_u1617h69977c31c377f7aaE"(i128* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i128, i128* %0 %2 = trunc i128 %1 to i16 ret i16 %2 } ; Function Attrs: uwtable define i32 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$6to_u3217h0d2a9f38ef47fbb6E"(i128* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i128, i128* %0 %2 = trunc i128 %1 to i32 ret i32 %2 } ; Function Attrs: uwtable define i64 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h48d4308228f1c3c0E"(i128* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i128, i128* %0 %2 = trunc i128 %1 to i64 ret i64 %2 } ; Function Attrs: uwtable define i128 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h3b44d74c82c7d33fE"(i128* noalias readonly dereferenceable(16)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i128, i128* %0 ret i128 %1 } ; Function Attrs: uwtable define i16 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$7from_u817heb92f4c51988edfbE"(i8) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = zext i8 %0 to i16 ret i16 %1 } ; Function Attrs: uwtable define i8 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$5to_u817hb28ce15011623ff1E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = trunc i16 %1 to i8 ret i8 %2 } ; Function Attrs: uwtable define i16 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$6to_u1617h7ea0fa10b9134074E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 ret i16 %1 } ; Function Attrs: uwtable define i32 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$6to_u3217he40a074334239d9cE"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = zext i16 %1 to i32 ret i32 %2 } ; Function Attrs: uwtable define i64 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$6to_u6417he112c936a43b60fdE"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = zext i16 %1 to i64 ret i64 %2 } ; Function Attrs: uwtable define i128 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h71b1a589f3442328E"(i16* noalias readonly dereferenceable(2)) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block %1 = load i16, i16* %0 %2 = zext i16 %1 to i128 ret i128 %2 } ; Function Attrs: uwtable define i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h2c1af011f092a7c0E"(%"fmt::num::Binary"* noalias readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i8 2 } ; Function Attrs: uwtable define %str_slice @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17hc5f3e10559b4ab93E"(%"fmt::num::Binary"* noalias readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.fq, i32 0, i32 0), i16 2 } } ; Function Attrs: uwtable define i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17hba2f05483480f561E"(%"fmt::num::Binary"* noalias readonly, i8) unnamed_addr #1 { entry-block: %tmp_ret2 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_19 = alloca i8 %_17 = alloca { i8*, i8* } %_16 = alloca [2 x %"fmt::ArgumentV1"] %_11 = alloca %"fmt::Arguments" %x = alloca i8 br label %start start: ; preds = %entry-block %2 = icmp ule i8 0, %1 br i1 %2, label %bb2, label %bb1 bb1: ; preds = %bb2, %start store i8 %1, i8* %x %3 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17h388419605fe5bc60E", i32 0, i32 0), !nonnull !1 %4 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17h388419605fe5bc60E", i32 0, i32 1) %5 = call i8 @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h2c1af011f092a7c0E"(%"fmt::num::Binary"* noalias readonly %0) br label %bb5 bb2: ; preds = %start %6 = icmp ule i8 %1, 2 br i1 %6, label %bb3, label %bb1 bb3: ; preds = %bb2 %7 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %1) %8 = extractvalue { i8, i1 } %7, 0 %9 = extractvalue { i8, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic, label %bb4 bb4: ; preds = %bb3 ret i8 %8 bb5: ; preds = %bb1 %11 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %5, i8 1) %12 = extractvalue { i8, i1 } %11, 0 %13 = extractvalue { i8, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic1, label %bb6 bb6: ; preds = %bb5 store i8 %12, i8* %_19 %15 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 0 store i8* %_19, i8** %15 %16 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 1 store i8* %x, i8** %16 %17 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 0 %18 = load i8*, i8** %17, !nonnull !1 %19 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 1 %20 = load i8*, i8** %19, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i8* noalias readonly dereferenceable(1) %18, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE") %21 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %23 = load %"fmt::Void"*, %"fmt::Void"** %21, !nonnull !1 %24 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %22, !nonnull !1 br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret2, i8* noalias readonly dereferenceable(1) %20, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE") %25 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 0 %26 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 1 %27 = load %"fmt::Void"*, %"fmt::Void"** %25, !nonnull !1 %28 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %26, !nonnull !1 br label %bb8 bb8: ; preds = %bb7 %29 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_16, i32 0, i32 0 %30 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 0 store %"fmt::Void"* %23, %"fmt::Void"** %30 %31 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %24, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %31 %32 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_16, i32 0, i32 1 %33 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %32, i32 0, i32 0 store %"fmt::Void"* %27, %"fmt::Void"** %33 %34 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %32, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %28, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %34 %35 = bitcast [2 x %"fmt::ArgumentV1"]* %_16 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_11, %str_slice* noalias nonnull readonly %3, i16 %4, %"fmt::ArgumentV1"* noalias nonnull readonly %35, i16 2) br label %bb9 bb9: ; preds = %bb8 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_11, { %str_slice, i32 }* noalias readonly dereferenceable(8) @"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17hdf2f8a2013dc2cccE") unreachable panic: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fr) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fs) unreachable } ; Function Attrs: uwtable define i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17ha4927511710c5a06E"(%"fmt::num::Octal"* noalias readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i8 8 } ; Function Attrs: uwtable define %str_slice @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17ha24730c64d8c8e34E"(%"fmt::num::Octal"* noalias readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.fv, i32 0, i32 0), i16 2 } } ; Function Attrs: uwtable define i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17he38215a87e3a92c6E"(%"fmt::num::Octal"* noalias readonly, i8) unnamed_addr #1 { entry-block: %tmp_ret2 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_19 = alloca i8 %_17 = alloca { i8*, i8* } %_16 = alloca [2 x %"fmt::ArgumentV1"] %_11 = alloca %"fmt::Arguments" %x = alloca i8 br label %start start: ; preds = %entry-block %2 = icmp ule i8 0, %1 br i1 %2, label %bb2, label %bb1 bb1: ; preds = %bb2, %start store i8 %1, i8* %x %3 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17h988f0c5e39c5818fE", i32 0, i32 0), !nonnull !1 %4 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17h988f0c5e39c5818fE", i32 0, i32 1) %5 = call i8 @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17ha4927511710c5a06E"(%"fmt::num::Octal"* noalias readonly %0) br label %bb5 bb2: ; preds = %start %6 = icmp ule i8 %1, 7 br i1 %6, label %bb3, label %bb1 bb3: ; preds = %bb2 %7 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %1) %8 = extractvalue { i8, i1 } %7, 0 %9 = extractvalue { i8, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic, label %bb4 bb4: ; preds = %bb3 ret i8 %8 bb5: ; preds = %bb1 %11 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %5, i8 1) %12 = extractvalue { i8, i1 } %11, 0 %13 = extractvalue { i8, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic1, label %bb6 bb6: ; preds = %bb5 store i8 %12, i8* %_19 %15 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 0 store i8* %_19, i8** %15 %16 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 1 store i8* %x, i8** %16 %17 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 0 %18 = load i8*, i8** %17, !nonnull !1 %19 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 1 %20 = load i8*, i8** %19, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i8* noalias readonly dereferenceable(1) %18, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE") %21 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %23 = load %"fmt::Void"*, %"fmt::Void"** %21, !nonnull !1 %24 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %22, !nonnull !1 br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret2, i8* noalias readonly dereferenceable(1) %20, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE") %25 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 0 %26 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 1 %27 = load %"fmt::Void"*, %"fmt::Void"** %25, !nonnull !1 %28 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %26, !nonnull !1 br label %bb8 bb8: ; preds = %bb7 %29 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_16, i32 0, i32 0 %30 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 0 store %"fmt::Void"* %23, %"fmt::Void"** %30 %31 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %24, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %31 %32 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_16, i32 0, i32 1 %33 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %32, i32 0, i32 0 store %"fmt::Void"* %27, %"fmt::Void"** %33 %34 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %32, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %28, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %34 %35 = bitcast [2 x %"fmt::ArgumentV1"]* %_16 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_11, %str_slice* noalias nonnull readonly %3, i16 %4, %"fmt::ArgumentV1"* noalias nonnull readonly %35, i16 2) br label %bb9 bb9: ; preds = %bb8 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_11, { %str_slice, i32 }* noalias readonly dereferenceable(8) @"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17hbee463269442fc67E") unreachable panic: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fw) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fs) unreachable } ; Function Attrs: uwtable define i8 @"_ZN72_$LT$core..fmt..num..Decimal$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h20252a0e1328938cE"(%"fmt::num::Decimal"* noalias readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i8 10 } ; Function Attrs: uwtable define %str_slice @"_ZN72_$LT$core..fmt..num..Decimal$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17hee1c2d410230d38bE"(%"fmt::num::Decimal"* noalias readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0 } } ; Function Attrs: uwtable define i8 @"_ZN72_$LT$core..fmt..num..Decimal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17ha4a6eef832673c32E"(%"fmt::num::Decimal"* noalias readonly, i8) unnamed_addr #1 { entry-block: %tmp_ret2 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_19 = alloca i8 %_17 = alloca { i8*, i8* } %_16 = alloca [2 x %"fmt::ArgumentV1"] %_11 = alloca %"fmt::Arguments" %x = alloca i8 br label %start start: ; preds = %entry-block %2 = icmp ule i8 0, %1 br i1 %2, label %bb2, label %bb1 bb1: ; preds = %bb2, %start store i8 %1, i8* %x %3 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN72_$LT$core..fmt..num..Decimal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17h5c63de77a8c6c262E", i32 0, i32 0), !nonnull !1 %4 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN72_$LT$core..fmt..num..Decimal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17h5c63de77a8c6c262E", i32 0, i32 1) %5 = call i8 @"_ZN72_$LT$core..fmt..num..Decimal$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h20252a0e1328938cE"(%"fmt::num::Decimal"* noalias readonly %0) br label %bb5 bb2: ; preds = %start %6 = icmp ule i8 %1, 9 br i1 %6, label %bb3, label %bb1 bb3: ; preds = %bb2 %7 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %1) %8 = extractvalue { i8, i1 } %7, 0 %9 = extractvalue { i8, i1 } %7, 1 %10 = call i1 @llvm.expect.i1(i1 %9, i1 false) br i1 %10, label %panic, label %bb4 bb4: ; preds = %bb3 ret i8 %8 bb5: ; preds = %bb1 %11 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %5, i8 1) %12 = extractvalue { i8, i1 } %11, 0 %13 = extractvalue { i8, i1 } %11, 1 %14 = call i1 @llvm.expect.i1(i1 %13, i1 false) br i1 %14, label %panic1, label %bb6 bb6: ; preds = %bb5 store i8 %12, i8* %_19 %15 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 0 store i8* %_19, i8** %15 %16 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 1 store i8* %x, i8** %16 %17 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 0 %18 = load i8*, i8** %17, !nonnull !1 %19 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_17, i32 0, i32 1 %20 = load i8*, i8** %19, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i8* noalias readonly dereferenceable(1) %18, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE") %21 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %22 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %23 = load %"fmt::Void"*, %"fmt::Void"** %21, !nonnull !1 %24 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %22, !nonnull !1 br label %bb7 bb7: ; preds = %bb6 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret2, i8* noalias readonly dereferenceable(1) %20, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE") %25 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 0 %26 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret2, i32 0, i32 1 %27 = load %"fmt::Void"*, %"fmt::Void"** %25, !nonnull !1 %28 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %26, !nonnull !1 br label %bb8 bb8: ; preds = %bb7 %29 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_16, i32 0, i32 0 %30 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 0 store %"fmt::Void"* %23, %"fmt::Void"** %30 %31 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %29, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %24, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %31 %32 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_16, i32 0, i32 1 %33 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %32, i32 0, i32 0 store %"fmt::Void"* %27, %"fmt::Void"** %33 %34 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %32, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %28, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %34 %35 = bitcast [2 x %"fmt::ArgumentV1"]* %_16 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_11, %str_slice* noalias nonnull readonly %3, i16 %4, %"fmt::ArgumentV1"* noalias nonnull readonly %35, i16 2) br label %bb9 bb9: ; preds = %bb8 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_11, { %str_slice, i32 }* noalias readonly dereferenceable(8) @"_ZN72_$LT$core..fmt..num..Decimal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17hc14371f069146e5bE") unreachable panic: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fx) unreachable panic1: ; preds = %bb5 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fs) unreachable } ; Function Attrs: uwtable define i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h08e7d6f8960cdd12E"(%"fmt::num::LowerHex"* noalias readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i8 16 } ; Function Attrs: uwtable define %str_slice @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h81ec4c74a76915ceE"(%"fmt::num::LowerHex"* noalias readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.fy, i32 0, i32 0), i16 2 } } ; Function Attrs: uwtable define i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h91261cf5a1b28e78E"(%"fmt::num::LowerHex"* noalias readonly, i8) unnamed_addr #1 { entry-block: %tmp_ret4 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_26 = alloca i8 %_24 = alloca { i8*, i8* } %_23 = alloca [2 x %"fmt::ArgumentV1"] %_18 = alloca %"fmt::Arguments" %x = alloca i8 %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = icmp ule i8 0, %1 br i1 %2, label %bb2, label %bb1 bb1: ; preds = %bb2, %start %3 = icmp ule i8 10, %1 br i1 %3, label %bb5, label %bb4 bb2: ; preds = %start %4 = icmp ule i8 %1, 9 br i1 %4, label %bb3, label %bb1 bb3: ; preds = %bb2 %5 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %1) %6 = extractvalue { i8, i1 } %5, 0 %7 = extractvalue { i8, i1 } %5, 1 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic, label %bb8 bb4: ; preds = %bb5, %bb1 store i8 %1, i8* %x %9 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17h3c93a5d01fc99bc3E", i32 0, i32 0), !nonnull !1 %10 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17h3c93a5d01fc99bc3E", i32 0, i32 1) %11 = call i8 @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17h08e7d6f8960cdd12E"(%"fmt::num::LowerHex"* noalias readonly %0) br label %bb11 bb5: ; preds = %bb1 %12 = icmp ule i8 %1, 15 br i1 %12, label %bb6, label %bb4 bb6: ; preds = %bb5 %13 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %1, i8 10) %14 = extractvalue { i8, i1 } %13, 0 %15 = extractvalue { i8, i1 } %13, 1 %16 = call i1 @llvm.expect.i1(i1 %15, i1 false) br i1 %16, label %panic1, label %bb9 bb7: ; preds = %bb10, %bb8 %17 = load i8, i8* %_0 ret i8 %17 bb8: ; preds = %bb3 store i8 %6, i8* %_0 br label %bb7 bb9: ; preds = %bb6 %18 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 97, i8 %14) %19 = extractvalue { i8, i1 } %18, 0 %20 = extractvalue { i8, i1 } %18, 1 %21 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %21, label %panic2, label %bb10 bb10: ; preds = %bb9 store i8 %19, i8* %_0 br label %bb7 bb11: ; preds = %bb4 %22 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %11, i8 1) %23 = extractvalue { i8, i1 } %22, 0 %24 = extractvalue { i8, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic3, label %bb12 bb12: ; preds = %bb11 store i8 %23, i8* %_26 %26 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_24, i32 0, i32 0 store i8* %_26, i8** %26 %27 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_24, i32 0, i32 1 store i8* %x, i8** %27 %28 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_24, i32 0, i32 0 %29 = load i8*, i8** %28, !nonnull !1 %30 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_24, i32 0, i32 1 %31 = load i8*, i8** %30, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i8* noalias readonly dereferenceable(1) %29, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE") %32 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %33 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %34 = load %"fmt::Void"*, %"fmt::Void"** %32, !nonnull !1 %35 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %33, !nonnull !1 br label %bb13 bb13: ; preds = %bb12 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret4, i8* noalias readonly dereferenceable(1) %31, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE") %36 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 0 %37 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 1 %38 = load %"fmt::Void"*, %"fmt::Void"** %36, !nonnull !1 %39 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %37, !nonnull !1 br label %bb14 bb14: ; preds = %bb13 %40 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_23, i32 0, i32 0 %41 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %40, i32 0, i32 0 store %"fmt::Void"* %34, %"fmt::Void"** %41 %42 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %40, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %35, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %42 %43 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_23, i32 0, i32 1 %44 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %43, i32 0, i32 0 store %"fmt::Void"* %38, %"fmt::Void"** %44 %45 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %43, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %39, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %45 %46 = bitcast [2 x %"fmt::ArgumentV1"]* %_23 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_18, %str_slice* noalias nonnull readonly %9, i16 %10, %"fmt::ArgumentV1"* noalias nonnull readonly %46, i16 2) br label %bb15 bb15: ; preds = %bb14 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_18, { %str_slice, i32 }* noalias readonly dereferenceable(8) @"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17he32bf21ec38c5135E") unreachable panic: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fz) unreachable panic1: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fA) unreachable panic2: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fB) unreachable panic3: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fs) unreachable } ; Function Attrs: uwtable define i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17he638a23c8f24d79dE"(%"fmt::num::UpperHex"* noalias readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret i8 16 } ; Function Attrs: uwtable define %str_slice @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$6prefix17h3bf396af34e53fc9E"(%"fmt::num::UpperHex"* noalias readonly) unnamed_addr #1 { entry-block: br label %start start: ; preds = %entry-block ret %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.fy, i32 0, i32 0), i16 2 } } ; Function Attrs: uwtable define i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit17h0054ba7a4937ef05E"(%"fmt::num::UpperHex"* noalias readonly, i8) unnamed_addr #1 { entry-block: %tmp_ret4 = alloca %"fmt::ArgumentV1" %tmp_ret = alloca %"fmt::ArgumentV1" %_26 = alloca i8 %_24 = alloca { i8*, i8* } %_23 = alloca [2 x %"fmt::ArgumentV1"] %_18 = alloca %"fmt::Arguments" %x = alloca i8 %_0 = alloca i8 br label %start start: ; preds = %entry-block %2 = icmp ule i8 0, %1 br i1 %2, label %bb2, label %bb1 bb1: ; preds = %bb2, %start %3 = icmp ule i8 10, %1 br i1 %3, label %bb5, label %bb4 bb2: ; preds = %start %4 = icmp ule i8 %1, 9 br i1 %4, label %bb3, label %bb1 bb3: ; preds = %bb2 %5 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 48, i8 %1) %6 = extractvalue { i8, i1 } %5, 0 %7 = extractvalue { i8, i1 } %5, 1 %8 = call i1 @llvm.expect.i1(i1 %7, i1 false) br i1 %8, label %panic, label %bb8 bb4: ; preds = %bb5, %bb1 store i8 %1, i8* %x %9 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17hdcb2e6b19593ad2eE", i32 0, i32 0), !nonnull !1 %10 = load i16, i16* getelementptr inbounds ({ %str_slice*, i16 }, { %str_slice*, i16 }* @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit15__STATIC_FMTSTR17hdcb2e6b19593ad2eE", i32 0, i32 1) %11 = call i8 @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$4base17he638a23c8f24d79dE"(%"fmt::num::UpperHex"* noalias readonly %0) br label %bb11 bb5: ; preds = %bb1 %12 = icmp ule i8 %1, 15 br i1 %12, label %bb6, label %bb4 bb6: ; preds = %bb5 %13 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %1, i8 10) %14 = extractvalue { i8, i1 } %13, 0 %15 = extractvalue { i8, i1 } %13, 1 %16 = call i1 @llvm.expect.i1(i1 %15, i1 false) br i1 %16, label %panic1, label %bb9 bb7: ; preds = %bb10, %bb8 %17 = load i8, i8* %_0 ret i8 %17 bb8: ; preds = %bb3 store i8 %6, i8* %_0 br label %bb7 bb9: ; preds = %bb6 %18 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 65, i8 %14) %19 = extractvalue { i8, i1 } %18, 0 %20 = extractvalue { i8, i1 } %18, 1 %21 = call i1 @llvm.expect.i1(i1 %20, i1 false) br i1 %21, label %panic2, label %bb10 bb10: ; preds = %bb9 store i8 %19, i8* %_0 br label %bb7 bb11: ; preds = %bb4 %22 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %11, i8 1) %23 = extractvalue { i8, i1 } %22, 0 %24 = extractvalue { i8, i1 } %22, 1 %25 = call i1 @llvm.expect.i1(i1 %24, i1 false) br i1 %25, label %panic3, label %bb12 bb12: ; preds = %bb11 store i8 %23, i8* %_26 %26 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_24, i32 0, i32 0 store i8* %_26, i8** %26 %27 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_24, i32 0, i32 1 store i8* %x, i8** %27 %28 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_24, i32 0, i32 0 %29 = load i8*, i8** %28, !nonnull !1 %30 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %_24, i32 0, i32 1 %31 = load i8*, i8** %30, !nonnull !1 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret, i8* noalias readonly dereferenceable(1) %29, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE") %32 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 %33 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 %34 = load %"fmt::Void"*, %"fmt::Void"** %32, !nonnull !1 %35 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %33, !nonnull !1 br label %bb13 bb13: ; preds = %bb12 call void @_ZN4core3fmt10ArgumentV13new17h2a740f37e6ed74d2E(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(4) %tmp_ret4, i8* noalias readonly dereferenceable(1) %31, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE") %36 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 0 %37 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %tmp_ret4, i32 0, i32 1 %38 = load %"fmt::Void"*, %"fmt::Void"** %36, !nonnull !1 %39 = load i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %37, !nonnull !1 br label %bb14 bb14: ; preds = %bb13 %40 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_23, i32 0, i32 0 %41 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %40, i32 0, i32 0 store %"fmt::Void"* %34, %"fmt::Void"** %41 %42 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %40, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %35, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %42 %43 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_23, i32 0, i32 1 %44 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %43, i32 0, i32 0 store %"fmt::Void"* %38, %"fmt::Void"** %44 %45 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %43, i32 0, i32 1 store i8 (%"fmt::Void"*, %"fmt::Formatter"*)* %39, i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %45 %46 = bitcast [2 x %"fmt::ArgumentV1"]* %_23 to %"fmt::ArgumentV1"* call void @_ZN4core3fmt9Arguments6new_v117h52654f182b7aa322E(%"fmt::Arguments"* noalias nocapture sret dereferenceable(12) %_18, %str_slice* noalias nonnull readonly %9, i16 %10, %"fmt::ArgumentV1"* noalias nonnull readonly %46, i16 2) br label %bb15 bb15: ; preds = %bb14 call void @_ZN4core9panicking9panic_fmt17hf950510775ecd60aE(%"fmt::Arguments"* noalias nocapture dereferenceable(12) %_18, { %str_slice, i32 }* noalias readonly dereferenceable(8) @"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17h5c181ed6d434c76dE") unreachable panic: ; preds = %bb3 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fC) unreachable panic1: ; preds = %bb6 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fD) unreachable panic2: ; preds = %bb9 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fE) unreachable panic3: ; preds = %bb11 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fs) unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..Binary$u20$for$u20$isize$GT$3fmt17h20e8ca3566acd8b2E"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Binary"*, %"fmt::num::Binary"** bitcast ({}** @const.5l to %"fmt::num::Binary"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h0a66d6185d2c4347E(%"fmt::num::Binary"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Octal$u20$for$u20$isize$GT$3fmt17h6075b3a07dd3df2dE"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Octal"*, %"fmt::num::Octal"** bitcast ({}** @const.5l to %"fmt::num::Octal"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h51e8adb7da56dd64E(%"fmt::num::Octal"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num55_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$isize$GT$3fmt17hb7e71f1f51fd6f69E"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::LowerHex"*, %"fmt::num::LowerHex"** bitcast ({}** @const.5l to %"fmt::num::LowerHex"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17haa6ee160d92b0fc9E(%"fmt::num::LowerHex"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num55_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$isize$GT$3fmt17hb4f3234140201d0cE"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::UpperHex"*, %"fmt::num::UpperHex"** bitcast ({}** @const.5l to %"fmt::num::UpperHex"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h228dad88d55822b1E(%"fmt::num::UpperHex"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$isize$GT$3fmt17h600858a2fe38fc4bE"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$isize$GT$3fmt17h34544303d9f52d81E"(i16* noalias readonly dereferenceable(2) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..Binary$u20$for$u20$usize$GT$3fmt17hc359d8961073a517E"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Binary"*, %"fmt::num::Binary"** bitcast ({}** @const.5l to %"fmt::num::Binary"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h0a66d6185d2c4347E(%"fmt::num::Binary"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Octal$u20$for$u20$usize$GT$3fmt17h4df5627bc5cdfa45E"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Octal"*, %"fmt::num::Octal"** bitcast ({}** @const.5l to %"fmt::num::Octal"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h51e8adb7da56dd64E(%"fmt::num::Octal"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num55_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$usize$GT$3fmt17h90aab4316f745a04E"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::LowerHex"*, %"fmt::num::LowerHex"** bitcast ({}** @const.5l to %"fmt::num::LowerHex"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17haa6ee160d92b0fc9E(%"fmt::num::LowerHex"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num55_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$usize$GT$3fmt17h76debb8ee1bc29ccE"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::UpperHex"*, %"fmt::num::UpperHex"** bitcast ({}** @const.5l to %"fmt::num::UpperHex"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h228dad88d55822b1E(%"fmt::num::UpperHex"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h6522a18f19176b1eE"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE"(i16* noalias readonly dereferenceable(2) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Binary$u20$for$u20$i8$GT$3fmt17h2e555dac69df37d2E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Binary"*, %"fmt::num::Binary"** bitcast ({}** @const.5l to %"fmt::num::Binary"**), !nonnull !1 %3 = load i8, i8* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h738f4c70b60353aaE(%"fmt::num::Binary"* noalias readonly %2, i8 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Octal$u20$for$u20$i8$GT$3fmt17h6d3845a35749aa39E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Octal"*, %"fmt::num::Octal"** bitcast ({}** @const.5l to %"fmt::num::Octal"**), !nonnull !1 %3 = load i8, i8* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h95c7d65ed9ecc9feE(%"fmt::num::Octal"* noalias readonly %2, i8 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i8$GT$3fmt17h59ae86f0eb24f30fE"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::LowerHex"*, %"fmt::num::LowerHex"** bitcast ({}** @const.5l to %"fmt::num::LowerHex"**), !nonnull !1 %3 = load i8, i8* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h11a3ca130e0e3b19E(%"fmt::num::LowerHex"* noalias readonly %2, i8 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i8$GT$3fmt17h5652f45756628963E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::UpperHex"*, %"fmt::num::UpperHex"** bitcast ({}** @const.5l to %"fmt::num::UpperHex"**), !nonnull !1 %3 = load i8, i8* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h18c0a12335e61ae3E(%"fmt::num::UpperHex"* noalias readonly %2, i8 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i8$GT$3fmt17ha8cb49c8b8a2202cE"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$i8$GT$3fmt17h377a13f087e71477E"(i8* noalias readonly dereferenceable(1) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Binary$u20$for$u20$u8$GT$3fmt17h3ffbcb6e3a531439E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Binary"*, %"fmt::num::Binary"** bitcast ({}** @const.5l to %"fmt::num::Binary"**), !nonnull !1 %3 = load i8, i8* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h738f4c70b60353aaE(%"fmt::num::Binary"* noalias readonly %2, i8 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Octal$u20$for$u20$u8$GT$3fmt17h0bb94c0ecac921caE"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Octal"*, %"fmt::num::Octal"** bitcast ({}** @const.5l to %"fmt::num::Octal"**), !nonnull !1 %3 = load i8, i8* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h95c7d65ed9ecc9feE(%"fmt::num::Octal"* noalias readonly %2, i8 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u8$GT$3fmt17hd1901b22359abd0cE"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::LowerHex"*, %"fmt::num::LowerHex"** bitcast ({}** @const.5l to %"fmt::num::LowerHex"**), !nonnull !1 %3 = load i8, i8* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h11a3ca130e0e3b19E(%"fmt::num::LowerHex"* noalias readonly %2, i8 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u8$GT$3fmt17h2f0ac85940f9827eE"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::UpperHex"*, %"fmt::num::UpperHex"** bitcast ({}** @const.5l to %"fmt::num::UpperHex"**), !nonnull !1 %3 = load i8, i8* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h18c0a12335e61ae3E(%"fmt::num::UpperHex"* noalias readonly %2, i8 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u8$GT$3fmt17hc9485a28da9d8db0E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE"(i8* noalias readonly dereferenceable(1) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Binary$u20$for$u20$i16$GT$3fmt17hfc79aa356a69b07aE"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Binary"*, %"fmt::num::Binary"** bitcast ({}** @const.5l to %"fmt::num::Binary"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17ha2a337fec0722cc9E(%"fmt::num::Binary"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Octal$u20$for$u20$i16$GT$3fmt17hb240fbde858857e0E"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Octal"*, %"fmt::num::Octal"** bitcast ({}** @const.5l to %"fmt::num::Octal"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h43ad2f90f249e318E(%"fmt::num::Octal"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i16$GT$3fmt17h7285b9177b7ef615E"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::LowerHex"*, %"fmt::num::LowerHex"** bitcast ({}** @const.5l to %"fmt::num::LowerHex"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h93a3593f6ae88eb9E(%"fmt::num::LowerHex"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i16$GT$3fmt17hc335fb932220a46dE"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::UpperHex"*, %"fmt::num::UpperHex"** bitcast ({}** @const.5l to %"fmt::num::UpperHex"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h2d63e13421eceb94E(%"fmt::num::UpperHex"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i16$GT$3fmt17hcc604328e0447177E"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i16$GT$3fmt17he76e9e28e878c60dE"(i16* noalias readonly dereferenceable(2) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Binary$u20$for$u20$u16$GT$3fmt17he82962c8baa2e1c7E"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Binary"*, %"fmt::num::Binary"** bitcast ({}** @const.5l to %"fmt::num::Binary"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17ha2a337fec0722cc9E(%"fmt::num::Binary"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Octal$u20$for$u20$u16$GT$3fmt17hf98e7bd5449f8d1bE"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Octal"*, %"fmt::num::Octal"** bitcast ({}** @const.5l to %"fmt::num::Octal"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h43ad2f90f249e318E(%"fmt::num::Octal"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u16$GT$3fmt17hbf4c9a4921a37136E"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::LowerHex"*, %"fmt::num::LowerHex"** bitcast ({}** @const.5l to %"fmt::num::LowerHex"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h93a3593f6ae88eb9E(%"fmt::num::LowerHex"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u16$GT$3fmt17h9a96c4b976dc5bdbE"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::UpperHex"*, %"fmt::num::UpperHex"** bitcast ({}** @const.5l to %"fmt::num::UpperHex"**), !nonnull !1 %3 = load i16, i16* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h2d63e13421eceb94E(%"fmt::num::UpperHex"* noalias readonly %2, i16 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u16$GT$3fmt17he77858b6931c345fE"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u16$GT$3fmt17h8c09cb759eb9d2a1E"(i16* noalias readonly dereferenceable(2) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Binary$u20$for$u20$i32$GT$3fmt17ha640534b353498c0E"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Binary"*, %"fmt::num::Binary"** bitcast ({}** @const.5l to %"fmt::num::Binary"**), !nonnull !1 %3 = load i32, i32* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h0c643e05d2ec33ffE(%"fmt::num::Binary"* noalias readonly %2, i32 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Octal$u20$for$u20$i32$GT$3fmt17hfe038b85c2f290bfE"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Octal"*, %"fmt::num::Octal"** bitcast ({}** @const.5l to %"fmt::num::Octal"**), !nonnull !1 %3 = load i32, i32* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17he41cdabe33f06db4E(%"fmt::num::Octal"* noalias readonly %2, i32 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h977babbe4e8ae785E"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::LowerHex"*, %"fmt::num::LowerHex"** bitcast ({}** @const.5l to %"fmt::num::LowerHex"**), !nonnull !1 %3 = load i32, i32* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h605da95b8b61cc84E(%"fmt::num::LowerHex"* noalias readonly %2, i32 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17h6bd492045871be3eE"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::UpperHex"*, %"fmt::num::UpperHex"** bitcast ({}** @const.5l to %"fmt::num::UpperHex"**), !nonnull !1 %3 = load i32, i32* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h83f6376d6175de44E(%"fmt::num::UpperHex"* noalias readonly %2, i32 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i32$GT$3fmt17h34820998fe3117daE"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i32$GT$3fmt17hc4644b9ec21a9f32E"(i32* noalias readonly dereferenceable(4) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Binary$u20$for$u20$u32$GT$3fmt17h0bc3c2e17d6054cdE"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Binary"*, %"fmt::num::Binary"** bitcast ({}** @const.5l to %"fmt::num::Binary"**), !nonnull !1 %3 = load i32, i32* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h0c643e05d2ec33ffE(%"fmt::num::Binary"* noalias readonly %2, i32 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Octal$u20$for$u20$u32$GT$3fmt17h7bd8a26d8484b6f9E"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Octal"*, %"fmt::num::Octal"** bitcast ({}** @const.5l to %"fmt::num::Octal"**), !nonnull !1 %3 = load i32, i32* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17he41cdabe33f06db4E(%"fmt::num::Octal"* noalias readonly %2, i32 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u32$GT$3fmt17hda89edb67f5a061fE"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::LowerHex"*, %"fmt::num::LowerHex"** bitcast ({}** @const.5l to %"fmt::num::LowerHex"**), !nonnull !1 %3 = load i32, i32* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h605da95b8b61cc84E(%"fmt::num::LowerHex"* noalias readonly %2, i32 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u32$GT$3fmt17h64f22a7e449212b7E"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::UpperHex"*, %"fmt::num::UpperHex"** bitcast ({}** @const.5l to %"fmt::num::UpperHex"**), !nonnull !1 %3 = load i32, i32* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h83f6376d6175de44E(%"fmt::num::UpperHex"* noalias readonly %2, i32 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u32$GT$3fmt17h4bb12bbec5f6a2caE"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE"(i32* noalias readonly dereferenceable(4) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Binary$u20$for$u20$i64$GT$3fmt17h46073d4976c93182E"(i64* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Binary"*, %"fmt::num::Binary"** bitcast ({}** @const.5l to %"fmt::num::Binary"**), !nonnull !1 %3 = load i64, i64* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h75d8177c6dc50222E(%"fmt::num::Binary"* noalias readonly %2, i64 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Octal$u20$for$u20$i64$GT$3fmt17h950a0604b5b271a0E"(i64* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Octal"*, %"fmt::num::Octal"** bitcast ({}** @const.5l to %"fmt::num::Octal"**), !nonnull !1 %3 = load i64, i64* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17hb9a2bc22a65dba42E(%"fmt::num::Octal"* noalias readonly %2, i64 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i64$GT$3fmt17h054edcc4224d637fE"(i64* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::LowerHex"*, %"fmt::num::LowerHex"** bitcast ({}** @const.5l to %"fmt::num::LowerHex"**), !nonnull !1 %3 = load i64, i64* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h020ea1d0a95e10caE(%"fmt::num::LowerHex"* noalias readonly %2, i64 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i64$GT$3fmt17hb060e7e771ac88aeE"(i64* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::UpperHex"*, %"fmt::num::UpperHex"** bitcast ({}** @const.5l to %"fmt::num::UpperHex"**), !nonnull !1 %3 = load i64, i64* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h4f3755466cc25816E(%"fmt::num::UpperHex"* noalias readonly %2, i64 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i64$GT$3fmt17h5aa941f66d07b993E"(i64* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i64$GT$3fmt17h7dd877c3cc9f11f0E"(i64* noalias readonly dereferenceable(8) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Binary$u20$for$u20$u64$GT$3fmt17hbba51214b31e0cfaE"(i64* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Binary"*, %"fmt::num::Binary"** bitcast ({}** @const.5l to %"fmt::num::Binary"**), !nonnull !1 %3 = load i64, i64* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h75d8177c6dc50222E(%"fmt::num::Binary"* noalias readonly %2, i64 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Octal$u20$for$u20$u64$GT$3fmt17h04b62ef34c1ca10bE"(i64* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Octal"*, %"fmt::num::Octal"** bitcast ({}** @const.5l to %"fmt::num::Octal"**), !nonnull !1 %3 = load i64, i64* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17hb9a2bc22a65dba42E(%"fmt::num::Octal"* noalias readonly %2, i64 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u64$GT$3fmt17h1c8622a6fd343aa7E"(i64* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::LowerHex"*, %"fmt::num::LowerHex"** bitcast ({}** @const.5l to %"fmt::num::LowerHex"**), !nonnull !1 %3 = load i64, i64* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h020ea1d0a95e10caE(%"fmt::num::LowerHex"* noalias readonly %2, i64 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u64$GT$3fmt17h63a2125e2572f72eE"(i64* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::UpperHex"*, %"fmt::num::UpperHex"** bitcast ({}** @const.5l to %"fmt::num::UpperHex"**), !nonnull !1 %3 = load i64, i64* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h4f3755466cc25816E(%"fmt::num::UpperHex"* noalias readonly %2, i64 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u64$GT$3fmt17h6b280842c8efb34bE"(i64* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17h389b5936f1be7175E"(i64* noalias readonly dereferenceable(8) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Binary$u20$for$u20$i128$GT$3fmt17h7ef15a50ff386cc6E"(i128* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Binary"*, %"fmt::num::Binary"** bitcast ({}** @const.5l to %"fmt::num::Binary"**), !nonnull !1 %3 = load i128, i128* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h2690e315d7543e66E(%"fmt::num::Binary"* noalias readonly %2, i128 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Octal$u20$for$u20$i128$GT$3fmt17h9bb976c6d7986cb1E"(i128* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Octal"*, %"fmt::num::Octal"** bitcast ({}** @const.5l to %"fmt::num::Octal"**), !nonnull !1 %3 = load i128, i128* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17hd692c2bfac14a3b8E(%"fmt::num::Octal"* noalias readonly %2, i128 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i128$GT$3fmt17hda6920b231870cb0E"(i128* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::LowerHex"*, %"fmt::num::LowerHex"** bitcast ({}** @const.5l to %"fmt::num::LowerHex"**), !nonnull !1 %3 = load i128, i128* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h72779453b92e7cddE(%"fmt::num::LowerHex"* noalias readonly %2, i128 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i128$GT$3fmt17h2448ad044ca583c0E"(i128* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::UpperHex"*, %"fmt::num::UpperHex"** bitcast ({}** @const.5l to %"fmt::num::UpperHex"**), !nonnull !1 %3 = load i128, i128* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17hde514d0233275031E(%"fmt::num::UpperHex"* noalias readonly %2, i128 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i128$GT$3fmt17h9ccd2dff8e1bdde9E"(i128* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..Display$u20$for$u20$i128$GT$3fmt17h35da4951d7224e12E"(i128* noalias readonly dereferenceable(16) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Binary$u20$for$u20$u128$GT$3fmt17h68517b808f081e36E"(i128* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Binary"*, %"fmt::num::Binary"** bitcast ({}** @const.5l to %"fmt::num::Binary"**), !nonnull !1 %3 = load i128, i128* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h2690e315d7543e66E(%"fmt::num::Binary"* noalias readonly %2, i128 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Octal$u20$for$u20$u128$GT$3fmt17h40b37496e20ac91bE"(i128* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::Octal"*, %"fmt::num::Octal"** bitcast ({}** @const.5l to %"fmt::num::Octal"**), !nonnull !1 %3 = load i128, i128* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17hd692c2bfac14a3b8E(%"fmt::num::Octal"* noalias readonly %2, i128 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u128$GT$3fmt17h817c8087d5d897fbE"(i128* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::LowerHex"*, %"fmt::num::LowerHex"** bitcast ({}** @const.5l to %"fmt::num::LowerHex"**), !nonnull !1 %3 = load i128, i128* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17h72779453b92e7cddE(%"fmt::num::LowerHex"* noalias readonly %2, i128 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u128$GT$3fmt17h02e94cc3c53ec9e7E"(i128* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"fmt::num::UpperHex"*, %"fmt::num::UpperHex"** bitcast ({}** @const.5l to %"fmt::num::UpperHex"**), !nonnull !1 %3 = load i128, i128* %0 %4 = call i8 @_ZN4core3fmt3num12GenericRadix7fmt_int17hde514d0233275031E(%"fmt::num::UpperHex"* noalias readonly %2, i128 %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %4, i8* %abi_cast %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %5, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %6 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %7 = load i8, i8* %6, align 1 ret i8 %7 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u128$GT$3fmt17hf703ff6da2315537E"(i128* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = call i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..Display$u20$for$u20$u128$GT$3fmt17h508c16741bfec35fE"(i128* noalias readonly dereferenceable(16) %0, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$i8$GT$3fmt17h377a13f087e71477E"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_71 = alloca {} %n1 = alloca i16 %_30 = alloca {} %_25 = alloca {} %_24 = alloca {} %curr = alloca i16 %buf = alloca [39 x i8] %n = alloca i32 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = icmp sge i8 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = call i32 @"_ZN42_$LT$i8$u20$as$u20$core..fmt..num..Int$GT$6to_u3217h2d98603a84b0d4caE"(i8* noalias readonly dereferenceable(1) %0) store i32 %4, i32* %n br label %bb3 bb2: ; preds = %start %5 = call i32 @"_ZN42_$LT$i8$u20$as$u20$core..fmt..num..Int$GT$6to_u3217h2d98603a84b0d4caE"(i8* noalias readonly dereferenceable(1) %0) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %6 = xor i32 %5, -1 %7 = call i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$12wrapping_add17h615e0b4a2606ad0aE"(i32 %6, i32 1) store i32 %7, i32* %n br label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5, %bb3 call void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39) %buf) br label %bb7 bb7: ; preds = %bb6 %8 = bitcast [39 x i8]* %buf to i8* %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %8, i16 39) br label %bb8 bb8: ; preds = %bb7 store i16 %9, i16* %curr %10 = bitcast [39 x i8]* %buf to i8* %11 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %10, i16 39) br label %bb9 bb9: ; preds = %bb8 %12 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly getelementptr inbounds ([200 x i8], [200 x i8]* @byte_str.fF, i32 0, i32 0), i16 200) br label %bb10 bb10: ; preds = %bb9 %13 = call i16 @_ZN4core3mem7size_of17h9768570c5a4b4873E() br label %bb11 bb11: ; preds = %bb10 %14 = icmp uge i16 %13, 2 br i1 %14, label %bb13, label %bb12 bb12: ; preds = %bb11 br label %bb32 bb13: ; preds = %bb31, %bb11 %15 = load i32, i32* %n %16 = icmp uge i32 %15, 10000 br i1 %16, label %bb15, label %bb14 bb14: ; preds = %bb13 br label %bb32 bb15: ; preds = %bb13 %17 = load i32, i32* %n br label %bb16 bb16: ; preds = %bb15 %18 = urem i32 %17, 10000 %19 = trunc i32 %18 to i16 br label %bb17 bb17: ; preds = %bb16 %20 = load i32, i32* %n %21 = udiv i32 %20, 10000 store i32 %21, i32* %n br label %bb18 bb18: ; preds = %bb17 %22 = icmp eq i16 %19, -32768 %23 = and i1 false, %22 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb19 bb19: ; preds = %bb18 %25 = sdiv i16 %19, 100 %26 = shl i16 %25, 1 br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20 %27 = icmp eq i16 %19, -32768 %28 = and i1 false, %27 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic2, label %bb22 bb22: ; preds = %bb21 %30 = srem i16 %19, 100 %31 = shl i16 %30, 1 br label %bb23 bb23: ; preds = %bb22 %32 = load i16, i16* %curr %33 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %32, i16 4) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic3, label %bb24 bb24: ; preds = %bb23 store i16 %34, i16* %curr %37 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %26) br label %bb25 bb25: ; preds = %bb24 %38 = load i16, i16* %curr %39 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %38) br label %bb26 bb26: ; preds = %bb25 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %37, i16 2, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %40 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %31) br label %bb28 bb28: ; preds = %bb27 %41 = load i16, i16* %curr %42 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %41, i16 2) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic4, label %bb29 bb29: ; preds = %bb28 %46 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %43) br label %bb30 bb30: ; preds = %bb29 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %40, i16 2, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb13 bb32: ; preds = %bb12, %bb14 %47 = load i32, i32* %n %48 = trunc i32 %47 to i16 store i16 %48, i16* %n1 %49 = load i16, i16* %n1 %50 = icmp sge i16 %49, 100 br i1 %50, label %bb33, label %bb34 bb33: ; preds = %bb32 %51 = load i16, i16* %n1 br label %bb35 bb34: ; preds = %bb32 br label %bb44 bb35: ; preds = %bb33 %52 = icmp eq i16 %51, -32768 %53 = and i1 false, %52 %54 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %54, label %panic5, label %bb36 bb36: ; preds = %bb35 %55 = srem i16 %51, 100 %56 = shl i16 %55, 1 br label %bb37 bb37: ; preds = %bb36 br label %bb38 bb38: ; preds = %bb37 %57 = load i16, i16* %n1 %58 = icmp eq i16 %57, -32768 %59 = and i1 false, %58 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic6, label %bb39 bb39: ; preds = %bb38 %61 = load i16, i16* %n1 %62 = sdiv i16 %61, 100 store i16 %62, i16* %n1 %63 = load i16, i16* %curr %64 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %63, i16 2) %65 = extractvalue { i16, i1 } %64, 0 %66 = extractvalue { i16, i1 } %64, 1 %67 = call i1 @llvm.expect.i1(i1 %66, i1 false) br i1 %67, label %panic7, label %bb40 bb40: ; preds = %bb39 store i16 %65, i16* %curr %68 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %56) br label %bb41 bb41: ; preds = %bb40 %69 = load i16, i16* %curr %70 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %69) br label %bb42 bb42: ; preds = %bb41 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %68, i16 2, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb34, %bb43 %71 = load i16, i16* %n1 %72 = icmp slt i16 %71, 10 br i1 %72, label %bb45, label %bb46 bb45: ; preds = %bb44 %73 = load i16, i16* %curr %74 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %73, i16 1) %75 = extractvalue { i16, i1 } %74, 0 %76 = extractvalue { i16, i1 } %74, 1 %77 = call i1 @llvm.expect.i1(i1 %76, i1 false) br i1 %77, label %panic8, label %bb47 bb46: ; preds = %bb44 %78 = load i16, i16* %n1 %79 = shl i16 %78, 1 br label %bb50 bb47: ; preds = %bb45 store i16 %75, i16* %curr %80 = load i16, i16* %n1 %81 = trunc i16 %80 to i8 %82 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %81, i8 48) %83 = extractvalue { i8, i1 } %82, 0 %84 = extractvalue { i8, i1 } %82, 1 %85 = call i1 @llvm.expect.i1(i1 %84, i1 false) br i1 %85, label %panic9, label %bb48 bb48: ; preds = %bb47 %86 = load i16, i16* %curr %87 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %86) br label %bb49 bb49: ; preds = %bb48 store i8 %83, i8* %87 br label %bb55 bb50: ; preds = %bb46 %88 = load i16, i16* %curr %89 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %88, i16 2) %90 = extractvalue { i16, i1 } %89, 0 %91 = extractvalue { i16, i1 } %89, 1 %92 = call i1 @llvm.expect.i1(i1 %91, i1 false) br i1 %92, label %panic10, label %bb51 bb51: ; preds = %bb50 store i16 %90, i16* %curr %93 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %79) br label %bb52 bb52: ; preds = %bb51 %94 = load i16, i16* %curr %95 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %94) br label %bb53 bb53: ; preds = %bb52 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %95, i8* %93, i16 2, i32 1, i1 false) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb49 %96 = load i16, i16* %curr %97 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %96) br label %bb56 bb56: ; preds = %bb55 %98 = bitcast [39 x i8]* %buf to i8* %99 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %98, i16 39) br label %bb57 bb57: ; preds = %bb56 %100 = load i16, i16* %curr %101 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %99, i16 %100) %102 = extractvalue { i16, i1 } %101, 0 %103 = extractvalue { i16, i1 } %101, 1 %104 = call i1 @llvm.expect.i1(i1 %103, i1 false) br i1 %104, label %panic11, label %bb58 bb58: ; preds = %bb57 %105 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %97, i16 %102) %106 = extractvalue { i8*, i16 } %105, 0 %107 = extractvalue { i8*, i16 } %105, 1 br label %bb59 bb59: ; preds = %bb58 %108 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 0 store i8* %106, i8** %109, align 2, !noalias !105 %110 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 1 store i16 %107, i16* %110, align 2, !noalias !105 %111 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %112 = load i8*, i8** %111, !noalias !105, !nonnull !1 %113 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %114 = load i16, i16* %113, !noalias !105 %115 = insertvalue %str_slice undef, i8* %112, 0 %116 = insertvalue %str_slice %115, i16 %114, 1 %117 = extractvalue %str_slice %116, 0 %118 = extractvalue %str_slice %116, 1 br label %bb60 bb60: ; preds = %bb59 %119 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %1, i1 zeroext %3, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %117, i16 %118) store i8 %119, i8* %abi_cast %120 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb61 bb61: ; preds = %bb60 %121 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %122 = load i8, i8* %121, align 1 ret i8 %122 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fG) unreachable panic2: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fI) unreachable panic3: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fJ) unreachable panic4: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fK) unreachable panic5: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fL) unreachable panic6: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fM) unreachable panic7: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fN) unreachable panic8: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fO) unreachable panic9: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fP) unreachable panic10: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fQ) unreachable panic11: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fR) unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h02436fbc7cb6615eE"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_71 = alloca {} %n1 = alloca i16 %_30 = alloca {} %_25 = alloca {} %_24 = alloca {} %curr = alloca i16 %buf = alloca [39 x i8] %n = alloca i32 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i8, i8* %0 %3 = icmp uge i8 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = call i32 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$6to_u3217hbf8b53003b989566E"(i8* noalias readonly dereferenceable(1) %0) store i32 %4, i32* %n br label %bb3 bb2: ; preds = %start %5 = call i32 @"_ZN42_$LT$u8$u20$as$u20$core..fmt..num..Int$GT$6to_u3217hbf8b53003b989566E"(i8* noalias readonly dereferenceable(1) %0) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %6 = xor i32 %5, -1 %7 = call i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$12wrapping_add17h615e0b4a2606ad0aE"(i32 %6, i32 1) store i32 %7, i32* %n br label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5, %bb3 call void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39) %buf) br label %bb7 bb7: ; preds = %bb6 %8 = bitcast [39 x i8]* %buf to i8* %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %8, i16 39) br label %bb8 bb8: ; preds = %bb7 store i16 %9, i16* %curr %10 = bitcast [39 x i8]* %buf to i8* %11 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %10, i16 39) br label %bb9 bb9: ; preds = %bb8 %12 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly getelementptr inbounds ([200 x i8], [200 x i8]* @byte_str.fF, i32 0, i32 0), i16 200) br label %bb10 bb10: ; preds = %bb9 %13 = call i16 @_ZN4core3mem7size_of17h32f4c1d48e7014d7E() br label %bb11 bb11: ; preds = %bb10 %14 = icmp uge i16 %13, 2 br i1 %14, label %bb13, label %bb12 bb12: ; preds = %bb11 br label %bb32 bb13: ; preds = %bb31, %bb11 %15 = load i32, i32* %n %16 = icmp uge i32 %15, 10000 br i1 %16, label %bb15, label %bb14 bb14: ; preds = %bb13 br label %bb32 bb15: ; preds = %bb13 %17 = load i32, i32* %n br label %bb16 bb16: ; preds = %bb15 %18 = urem i32 %17, 10000 %19 = trunc i32 %18 to i16 br label %bb17 bb17: ; preds = %bb16 %20 = load i32, i32* %n %21 = udiv i32 %20, 10000 store i32 %21, i32* %n br label %bb18 bb18: ; preds = %bb17 %22 = icmp eq i16 %19, -32768 %23 = and i1 false, %22 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb19 bb19: ; preds = %bb18 %25 = sdiv i16 %19, 100 %26 = shl i16 %25, 1 br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20 %27 = icmp eq i16 %19, -32768 %28 = and i1 false, %27 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic2, label %bb22 bb22: ; preds = %bb21 %30 = srem i16 %19, 100 %31 = shl i16 %30, 1 br label %bb23 bb23: ; preds = %bb22 %32 = load i16, i16* %curr %33 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %32, i16 4) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic3, label %bb24 bb24: ; preds = %bb23 store i16 %34, i16* %curr %37 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %26) br label %bb25 bb25: ; preds = %bb24 %38 = load i16, i16* %curr %39 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %38) br label %bb26 bb26: ; preds = %bb25 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %37, i16 2, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %40 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %31) br label %bb28 bb28: ; preds = %bb27 %41 = load i16, i16* %curr %42 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %41, i16 2) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic4, label %bb29 bb29: ; preds = %bb28 %46 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %43) br label %bb30 bb30: ; preds = %bb29 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %40, i16 2, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb13 bb32: ; preds = %bb12, %bb14 %47 = load i32, i32* %n %48 = trunc i32 %47 to i16 store i16 %48, i16* %n1 %49 = load i16, i16* %n1 %50 = icmp sge i16 %49, 100 br i1 %50, label %bb33, label %bb34 bb33: ; preds = %bb32 %51 = load i16, i16* %n1 br label %bb35 bb34: ; preds = %bb32 br label %bb44 bb35: ; preds = %bb33 %52 = icmp eq i16 %51, -32768 %53 = and i1 false, %52 %54 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %54, label %panic5, label %bb36 bb36: ; preds = %bb35 %55 = srem i16 %51, 100 %56 = shl i16 %55, 1 br label %bb37 bb37: ; preds = %bb36 br label %bb38 bb38: ; preds = %bb37 %57 = load i16, i16* %n1 %58 = icmp eq i16 %57, -32768 %59 = and i1 false, %58 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic6, label %bb39 bb39: ; preds = %bb38 %61 = load i16, i16* %n1 %62 = sdiv i16 %61, 100 store i16 %62, i16* %n1 %63 = load i16, i16* %curr %64 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %63, i16 2) %65 = extractvalue { i16, i1 } %64, 0 %66 = extractvalue { i16, i1 } %64, 1 %67 = call i1 @llvm.expect.i1(i1 %66, i1 false) br i1 %67, label %panic7, label %bb40 bb40: ; preds = %bb39 store i16 %65, i16* %curr %68 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %56) br label %bb41 bb41: ; preds = %bb40 %69 = load i16, i16* %curr %70 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %69) br label %bb42 bb42: ; preds = %bb41 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %68, i16 2, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb34, %bb43 %71 = load i16, i16* %n1 %72 = icmp slt i16 %71, 10 br i1 %72, label %bb45, label %bb46 bb45: ; preds = %bb44 %73 = load i16, i16* %curr %74 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %73, i16 1) %75 = extractvalue { i16, i1 } %74, 0 %76 = extractvalue { i16, i1 } %74, 1 %77 = call i1 @llvm.expect.i1(i1 %76, i1 false) br i1 %77, label %panic8, label %bb47 bb46: ; preds = %bb44 %78 = load i16, i16* %n1 %79 = shl i16 %78, 1 br label %bb50 bb47: ; preds = %bb45 store i16 %75, i16* %curr %80 = load i16, i16* %n1 %81 = trunc i16 %80 to i8 %82 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %81, i8 48) %83 = extractvalue { i8, i1 } %82, 0 %84 = extractvalue { i8, i1 } %82, 1 %85 = call i1 @llvm.expect.i1(i1 %84, i1 false) br i1 %85, label %panic9, label %bb48 bb48: ; preds = %bb47 %86 = load i16, i16* %curr %87 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %86) br label %bb49 bb49: ; preds = %bb48 store i8 %83, i8* %87 br label %bb55 bb50: ; preds = %bb46 %88 = load i16, i16* %curr %89 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %88, i16 2) %90 = extractvalue { i16, i1 } %89, 0 %91 = extractvalue { i16, i1 } %89, 1 %92 = call i1 @llvm.expect.i1(i1 %91, i1 false) br i1 %92, label %panic10, label %bb51 bb51: ; preds = %bb50 store i16 %90, i16* %curr %93 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %79) br label %bb52 bb52: ; preds = %bb51 %94 = load i16, i16* %curr %95 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %94) br label %bb53 bb53: ; preds = %bb52 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %95, i8* %93, i16 2, i32 1, i1 false) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb49 %96 = load i16, i16* %curr %97 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %96) br label %bb56 bb56: ; preds = %bb55 %98 = bitcast [39 x i8]* %buf to i8* %99 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %98, i16 39) br label %bb57 bb57: ; preds = %bb56 %100 = load i16, i16* %curr %101 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %99, i16 %100) %102 = extractvalue { i16, i1 } %101, 0 %103 = extractvalue { i16, i1 } %101, 1 %104 = call i1 @llvm.expect.i1(i1 %103, i1 false) br i1 %104, label %panic11, label %bb58 bb58: ; preds = %bb57 %105 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %97, i16 %102) %106 = extractvalue { i8*, i16 } %105, 0 %107 = extractvalue { i8*, i16 } %105, 1 br label %bb59 bb59: ; preds = %bb58 %108 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 0 store i8* %106, i8** %109, align 2, !noalias !108 %110 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 1 store i16 %107, i16* %110, align 2, !noalias !108 %111 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %112 = load i8*, i8** %111, !noalias !108, !nonnull !1 %113 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %114 = load i16, i16* %113, !noalias !108 %115 = insertvalue %str_slice undef, i8* %112, 0 %116 = insertvalue %str_slice %115, i16 %114, 1 %117 = extractvalue %str_slice %116, 0 %118 = extractvalue %str_slice %116, 1 br label %bb60 bb60: ; preds = %bb59 %119 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %1, i1 zeroext %3, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %117, i16 %118) store i8 %119, i8* %abi_cast %120 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb61 bb61: ; preds = %bb60 %121 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %122 = load i8, i8* %121, align 1 ret i8 %122 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fG) unreachable panic2: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fI) unreachable panic3: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fJ) unreachable panic4: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fK) unreachable panic5: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fL) unreachable panic6: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fM) unreachable panic7: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fN) unreachable panic8: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fO) unreachable panic9: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fP) unreachable panic10: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fQ) unreachable panic11: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fR) unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i16$GT$3fmt17he76e9e28e878c60dE"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_71 = alloca {} %n1 = alloca i16 %_30 = alloca {} %_25 = alloca {} %_24 = alloca {} %curr = alloca i16 %buf = alloca [39 x i8] %n = alloca i32 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = icmp sge i16 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = call i32 @"_ZN43_$LT$i16$u20$as$u20$core..fmt..num..Int$GT$6to_u3217hd642b04a897dd0c9E"(i16* noalias readonly dereferenceable(2) %0) store i32 %4, i32* %n br label %bb3 bb2: ; preds = %start %5 = call i32 @"_ZN43_$LT$i16$u20$as$u20$core..fmt..num..Int$GT$6to_u3217hd642b04a897dd0c9E"(i16* noalias readonly dereferenceable(2) %0) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %6 = xor i32 %5, -1 %7 = call i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$12wrapping_add17h615e0b4a2606ad0aE"(i32 %6, i32 1) store i32 %7, i32* %n br label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5, %bb3 call void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39) %buf) br label %bb7 bb7: ; preds = %bb6 %8 = bitcast [39 x i8]* %buf to i8* %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %8, i16 39) br label %bb8 bb8: ; preds = %bb7 store i16 %9, i16* %curr %10 = bitcast [39 x i8]* %buf to i8* %11 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %10, i16 39) br label %bb9 bb9: ; preds = %bb8 %12 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly getelementptr inbounds ([200 x i8], [200 x i8]* @byte_str.fF, i32 0, i32 0), i16 200) br label %bb10 bb10: ; preds = %bb9 %13 = call i16 @_ZN4core3mem7size_of17hb8411ae28e68b594E() br label %bb11 bb11: ; preds = %bb10 %14 = icmp uge i16 %13, 2 br i1 %14, label %bb13, label %bb12 bb12: ; preds = %bb11 br label %bb32 bb13: ; preds = %bb31, %bb11 %15 = load i32, i32* %n %16 = icmp uge i32 %15, 10000 br i1 %16, label %bb15, label %bb14 bb14: ; preds = %bb13 br label %bb32 bb15: ; preds = %bb13 %17 = load i32, i32* %n br label %bb16 bb16: ; preds = %bb15 %18 = urem i32 %17, 10000 %19 = trunc i32 %18 to i16 br label %bb17 bb17: ; preds = %bb16 %20 = load i32, i32* %n %21 = udiv i32 %20, 10000 store i32 %21, i32* %n br label %bb18 bb18: ; preds = %bb17 %22 = icmp eq i16 %19, -32768 %23 = and i1 false, %22 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb19 bb19: ; preds = %bb18 %25 = sdiv i16 %19, 100 %26 = shl i16 %25, 1 br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20 %27 = icmp eq i16 %19, -32768 %28 = and i1 false, %27 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic2, label %bb22 bb22: ; preds = %bb21 %30 = srem i16 %19, 100 %31 = shl i16 %30, 1 br label %bb23 bb23: ; preds = %bb22 %32 = load i16, i16* %curr %33 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %32, i16 4) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic3, label %bb24 bb24: ; preds = %bb23 store i16 %34, i16* %curr %37 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %26) br label %bb25 bb25: ; preds = %bb24 %38 = load i16, i16* %curr %39 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %38) br label %bb26 bb26: ; preds = %bb25 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %37, i16 2, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %40 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %31) br label %bb28 bb28: ; preds = %bb27 %41 = load i16, i16* %curr %42 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %41, i16 2) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic4, label %bb29 bb29: ; preds = %bb28 %46 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %43) br label %bb30 bb30: ; preds = %bb29 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %40, i16 2, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb13 bb32: ; preds = %bb12, %bb14 %47 = load i32, i32* %n %48 = trunc i32 %47 to i16 store i16 %48, i16* %n1 %49 = load i16, i16* %n1 %50 = icmp sge i16 %49, 100 br i1 %50, label %bb33, label %bb34 bb33: ; preds = %bb32 %51 = load i16, i16* %n1 br label %bb35 bb34: ; preds = %bb32 br label %bb44 bb35: ; preds = %bb33 %52 = icmp eq i16 %51, -32768 %53 = and i1 false, %52 %54 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %54, label %panic5, label %bb36 bb36: ; preds = %bb35 %55 = srem i16 %51, 100 %56 = shl i16 %55, 1 br label %bb37 bb37: ; preds = %bb36 br label %bb38 bb38: ; preds = %bb37 %57 = load i16, i16* %n1 %58 = icmp eq i16 %57, -32768 %59 = and i1 false, %58 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic6, label %bb39 bb39: ; preds = %bb38 %61 = load i16, i16* %n1 %62 = sdiv i16 %61, 100 store i16 %62, i16* %n1 %63 = load i16, i16* %curr %64 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %63, i16 2) %65 = extractvalue { i16, i1 } %64, 0 %66 = extractvalue { i16, i1 } %64, 1 %67 = call i1 @llvm.expect.i1(i1 %66, i1 false) br i1 %67, label %panic7, label %bb40 bb40: ; preds = %bb39 store i16 %65, i16* %curr %68 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %56) br label %bb41 bb41: ; preds = %bb40 %69 = load i16, i16* %curr %70 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %69) br label %bb42 bb42: ; preds = %bb41 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %68, i16 2, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb34, %bb43 %71 = load i16, i16* %n1 %72 = icmp slt i16 %71, 10 br i1 %72, label %bb45, label %bb46 bb45: ; preds = %bb44 %73 = load i16, i16* %curr %74 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %73, i16 1) %75 = extractvalue { i16, i1 } %74, 0 %76 = extractvalue { i16, i1 } %74, 1 %77 = call i1 @llvm.expect.i1(i1 %76, i1 false) br i1 %77, label %panic8, label %bb47 bb46: ; preds = %bb44 %78 = load i16, i16* %n1 %79 = shl i16 %78, 1 br label %bb50 bb47: ; preds = %bb45 store i16 %75, i16* %curr %80 = load i16, i16* %n1 %81 = trunc i16 %80 to i8 %82 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %81, i8 48) %83 = extractvalue { i8, i1 } %82, 0 %84 = extractvalue { i8, i1 } %82, 1 %85 = call i1 @llvm.expect.i1(i1 %84, i1 false) br i1 %85, label %panic9, label %bb48 bb48: ; preds = %bb47 %86 = load i16, i16* %curr %87 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %86) br label %bb49 bb49: ; preds = %bb48 store i8 %83, i8* %87 br label %bb55 bb50: ; preds = %bb46 %88 = load i16, i16* %curr %89 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %88, i16 2) %90 = extractvalue { i16, i1 } %89, 0 %91 = extractvalue { i16, i1 } %89, 1 %92 = call i1 @llvm.expect.i1(i1 %91, i1 false) br i1 %92, label %panic10, label %bb51 bb51: ; preds = %bb50 store i16 %90, i16* %curr %93 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %79) br label %bb52 bb52: ; preds = %bb51 %94 = load i16, i16* %curr %95 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %94) br label %bb53 bb53: ; preds = %bb52 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %95, i8* %93, i16 2, i32 1, i1 false) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb49 %96 = load i16, i16* %curr %97 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %96) br label %bb56 bb56: ; preds = %bb55 %98 = bitcast [39 x i8]* %buf to i8* %99 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %98, i16 39) br label %bb57 bb57: ; preds = %bb56 %100 = load i16, i16* %curr %101 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %99, i16 %100) %102 = extractvalue { i16, i1 } %101, 0 %103 = extractvalue { i16, i1 } %101, 1 %104 = call i1 @llvm.expect.i1(i1 %103, i1 false) br i1 %104, label %panic11, label %bb58 bb58: ; preds = %bb57 %105 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %97, i16 %102) %106 = extractvalue { i8*, i16 } %105, 0 %107 = extractvalue { i8*, i16 } %105, 1 br label %bb59 bb59: ; preds = %bb58 %108 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 0 store i8* %106, i8** %109, align 2, !noalias !111 %110 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 1 store i16 %107, i16* %110, align 2, !noalias !111 %111 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %112 = load i8*, i8** %111, !noalias !111, !nonnull !1 %113 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %114 = load i16, i16* %113, !noalias !111 %115 = insertvalue %str_slice undef, i8* %112, 0 %116 = insertvalue %str_slice %115, i16 %114, 1 %117 = extractvalue %str_slice %116, 0 %118 = extractvalue %str_slice %116, 1 br label %bb60 bb60: ; preds = %bb59 %119 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %1, i1 zeroext %3, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %117, i16 %118) store i8 %119, i8* %abi_cast %120 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb61 bb61: ; preds = %bb60 %121 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %122 = load i8, i8* %121, align 1 ret i8 %122 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fG) unreachable panic2: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fI) unreachable panic3: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fJ) unreachable panic4: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fK) unreachable panic5: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fL) unreachable panic6: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fM) unreachable panic7: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fN) unreachable panic8: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fO) unreachable panic9: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fP) unreachable panic10: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fQ) unreachable panic11: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fR) unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u16$GT$3fmt17h8c09cb759eb9d2a1E"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_71 = alloca {} %n1 = alloca i16 %_30 = alloca {} %_25 = alloca {} %_24 = alloca {} %curr = alloca i16 %buf = alloca [39 x i8] %n = alloca i32 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = icmp uge i16 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = call i32 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$6to_u3217hcb974eb05b174745E"(i16* noalias readonly dereferenceable(2) %0) store i32 %4, i32* %n br label %bb3 bb2: ; preds = %start %5 = call i32 @"_ZN43_$LT$u16$u20$as$u20$core..fmt..num..Int$GT$6to_u3217hcb974eb05b174745E"(i16* noalias readonly dereferenceable(2) %0) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %6 = xor i32 %5, -1 %7 = call i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$12wrapping_add17h615e0b4a2606ad0aE"(i32 %6, i32 1) store i32 %7, i32* %n br label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5, %bb3 call void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39) %buf) br label %bb7 bb7: ; preds = %bb6 %8 = bitcast [39 x i8]* %buf to i8* %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %8, i16 39) br label %bb8 bb8: ; preds = %bb7 store i16 %9, i16* %curr %10 = bitcast [39 x i8]* %buf to i8* %11 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %10, i16 39) br label %bb9 bb9: ; preds = %bb8 %12 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly getelementptr inbounds ([200 x i8], [200 x i8]* @byte_str.fF, i32 0, i32 0), i16 200) br label %bb10 bb10: ; preds = %bb9 %13 = call i16 @_ZN4core3mem7size_of17h258355fe3958deaaE() br label %bb11 bb11: ; preds = %bb10 %14 = icmp uge i16 %13, 2 br i1 %14, label %bb13, label %bb12 bb12: ; preds = %bb11 br label %bb32 bb13: ; preds = %bb31, %bb11 %15 = load i32, i32* %n %16 = icmp uge i32 %15, 10000 br i1 %16, label %bb15, label %bb14 bb14: ; preds = %bb13 br label %bb32 bb15: ; preds = %bb13 %17 = load i32, i32* %n br label %bb16 bb16: ; preds = %bb15 %18 = urem i32 %17, 10000 %19 = trunc i32 %18 to i16 br label %bb17 bb17: ; preds = %bb16 %20 = load i32, i32* %n %21 = udiv i32 %20, 10000 store i32 %21, i32* %n br label %bb18 bb18: ; preds = %bb17 %22 = icmp eq i16 %19, -32768 %23 = and i1 false, %22 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb19 bb19: ; preds = %bb18 %25 = sdiv i16 %19, 100 %26 = shl i16 %25, 1 br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20 %27 = icmp eq i16 %19, -32768 %28 = and i1 false, %27 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic2, label %bb22 bb22: ; preds = %bb21 %30 = srem i16 %19, 100 %31 = shl i16 %30, 1 br label %bb23 bb23: ; preds = %bb22 %32 = load i16, i16* %curr %33 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %32, i16 4) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic3, label %bb24 bb24: ; preds = %bb23 store i16 %34, i16* %curr %37 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %26) br label %bb25 bb25: ; preds = %bb24 %38 = load i16, i16* %curr %39 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %38) br label %bb26 bb26: ; preds = %bb25 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %37, i16 2, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %40 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %31) br label %bb28 bb28: ; preds = %bb27 %41 = load i16, i16* %curr %42 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %41, i16 2) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic4, label %bb29 bb29: ; preds = %bb28 %46 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %43) br label %bb30 bb30: ; preds = %bb29 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %40, i16 2, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb13 bb32: ; preds = %bb12, %bb14 %47 = load i32, i32* %n %48 = trunc i32 %47 to i16 store i16 %48, i16* %n1 %49 = load i16, i16* %n1 %50 = icmp sge i16 %49, 100 br i1 %50, label %bb33, label %bb34 bb33: ; preds = %bb32 %51 = load i16, i16* %n1 br label %bb35 bb34: ; preds = %bb32 br label %bb44 bb35: ; preds = %bb33 %52 = icmp eq i16 %51, -32768 %53 = and i1 false, %52 %54 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %54, label %panic5, label %bb36 bb36: ; preds = %bb35 %55 = srem i16 %51, 100 %56 = shl i16 %55, 1 br label %bb37 bb37: ; preds = %bb36 br label %bb38 bb38: ; preds = %bb37 %57 = load i16, i16* %n1 %58 = icmp eq i16 %57, -32768 %59 = and i1 false, %58 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic6, label %bb39 bb39: ; preds = %bb38 %61 = load i16, i16* %n1 %62 = sdiv i16 %61, 100 store i16 %62, i16* %n1 %63 = load i16, i16* %curr %64 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %63, i16 2) %65 = extractvalue { i16, i1 } %64, 0 %66 = extractvalue { i16, i1 } %64, 1 %67 = call i1 @llvm.expect.i1(i1 %66, i1 false) br i1 %67, label %panic7, label %bb40 bb40: ; preds = %bb39 store i16 %65, i16* %curr %68 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %56) br label %bb41 bb41: ; preds = %bb40 %69 = load i16, i16* %curr %70 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %69) br label %bb42 bb42: ; preds = %bb41 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %68, i16 2, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb34, %bb43 %71 = load i16, i16* %n1 %72 = icmp slt i16 %71, 10 br i1 %72, label %bb45, label %bb46 bb45: ; preds = %bb44 %73 = load i16, i16* %curr %74 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %73, i16 1) %75 = extractvalue { i16, i1 } %74, 0 %76 = extractvalue { i16, i1 } %74, 1 %77 = call i1 @llvm.expect.i1(i1 %76, i1 false) br i1 %77, label %panic8, label %bb47 bb46: ; preds = %bb44 %78 = load i16, i16* %n1 %79 = shl i16 %78, 1 br label %bb50 bb47: ; preds = %bb45 store i16 %75, i16* %curr %80 = load i16, i16* %n1 %81 = trunc i16 %80 to i8 %82 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %81, i8 48) %83 = extractvalue { i8, i1 } %82, 0 %84 = extractvalue { i8, i1 } %82, 1 %85 = call i1 @llvm.expect.i1(i1 %84, i1 false) br i1 %85, label %panic9, label %bb48 bb48: ; preds = %bb47 %86 = load i16, i16* %curr %87 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %86) br label %bb49 bb49: ; preds = %bb48 store i8 %83, i8* %87 br label %bb55 bb50: ; preds = %bb46 %88 = load i16, i16* %curr %89 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %88, i16 2) %90 = extractvalue { i16, i1 } %89, 0 %91 = extractvalue { i16, i1 } %89, 1 %92 = call i1 @llvm.expect.i1(i1 %91, i1 false) br i1 %92, label %panic10, label %bb51 bb51: ; preds = %bb50 store i16 %90, i16* %curr %93 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %79) br label %bb52 bb52: ; preds = %bb51 %94 = load i16, i16* %curr %95 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %94) br label %bb53 bb53: ; preds = %bb52 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %95, i8* %93, i16 2, i32 1, i1 false) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb49 %96 = load i16, i16* %curr %97 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %96) br label %bb56 bb56: ; preds = %bb55 %98 = bitcast [39 x i8]* %buf to i8* %99 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %98, i16 39) br label %bb57 bb57: ; preds = %bb56 %100 = load i16, i16* %curr %101 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %99, i16 %100) %102 = extractvalue { i16, i1 } %101, 0 %103 = extractvalue { i16, i1 } %101, 1 %104 = call i1 @llvm.expect.i1(i1 %103, i1 false) br i1 %104, label %panic11, label %bb58 bb58: ; preds = %bb57 %105 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %97, i16 %102) %106 = extractvalue { i8*, i16 } %105, 0 %107 = extractvalue { i8*, i16 } %105, 1 br label %bb59 bb59: ; preds = %bb58 %108 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 0 store i8* %106, i8** %109, align 2, !noalias !114 %110 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 1 store i16 %107, i16* %110, align 2, !noalias !114 %111 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %112 = load i8*, i8** %111, !noalias !114, !nonnull !1 %113 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %114 = load i16, i16* %113, !noalias !114 %115 = insertvalue %str_slice undef, i8* %112, 0 %116 = insertvalue %str_slice %115, i16 %114, 1 %117 = extractvalue %str_slice %116, 0 %118 = extractvalue %str_slice %116, 1 br label %bb60 bb60: ; preds = %bb59 %119 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %1, i1 zeroext %3, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %117, i16 %118) store i8 %119, i8* %abi_cast %120 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb61 bb61: ; preds = %bb60 %121 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %122 = load i8, i8* %121, align 1 ret i8 %122 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fG) unreachable panic2: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fI) unreachable panic3: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fJ) unreachable panic4: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fK) unreachable panic5: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fL) unreachable panic6: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fM) unreachable panic7: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fN) unreachable panic8: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fO) unreachable panic9: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fP) unreachable panic10: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fQ) unreachable panic11: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fR) unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i32$GT$3fmt17hc4644b9ec21a9f32E"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_71 = alloca {} %n1 = alloca i16 %_30 = alloca {} %_25 = alloca {} %_24 = alloca {} %curr = alloca i16 %buf = alloca [39 x i8] %n = alloca i32 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i32, i32* %0 %3 = icmp sge i32 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = call i32 @"_ZN43_$LT$i32$u20$as$u20$core..fmt..num..Int$GT$6to_u3217h8f02e9e619e5fc48E"(i32* noalias readonly dereferenceable(4) %0) store i32 %4, i32* %n br label %bb3 bb2: ; preds = %start %5 = call i32 @"_ZN43_$LT$i32$u20$as$u20$core..fmt..num..Int$GT$6to_u3217h8f02e9e619e5fc48E"(i32* noalias readonly dereferenceable(4) %0) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %6 = xor i32 %5, -1 %7 = call i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$12wrapping_add17h615e0b4a2606ad0aE"(i32 %6, i32 1) store i32 %7, i32* %n br label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5, %bb3 call void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39) %buf) br label %bb7 bb7: ; preds = %bb6 %8 = bitcast [39 x i8]* %buf to i8* %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %8, i16 39) br label %bb8 bb8: ; preds = %bb7 store i16 %9, i16* %curr %10 = bitcast [39 x i8]* %buf to i8* %11 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %10, i16 39) br label %bb9 bb9: ; preds = %bb8 %12 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly getelementptr inbounds ([200 x i8], [200 x i8]* @byte_str.fF, i32 0, i32 0), i16 200) br label %bb10 bb10: ; preds = %bb9 %13 = call i16 @_ZN4core3mem7size_of17h7907533061a00e55E() br label %bb11 bb11: ; preds = %bb10 %14 = icmp uge i16 %13, 2 br i1 %14, label %bb13, label %bb12 bb12: ; preds = %bb11 br label %bb32 bb13: ; preds = %bb31, %bb11 %15 = load i32, i32* %n %16 = icmp uge i32 %15, 10000 br i1 %16, label %bb15, label %bb14 bb14: ; preds = %bb13 br label %bb32 bb15: ; preds = %bb13 %17 = load i32, i32* %n br label %bb16 bb16: ; preds = %bb15 %18 = urem i32 %17, 10000 %19 = trunc i32 %18 to i16 br label %bb17 bb17: ; preds = %bb16 %20 = load i32, i32* %n %21 = udiv i32 %20, 10000 store i32 %21, i32* %n br label %bb18 bb18: ; preds = %bb17 %22 = icmp eq i16 %19, -32768 %23 = and i1 false, %22 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb19 bb19: ; preds = %bb18 %25 = sdiv i16 %19, 100 %26 = shl i16 %25, 1 br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20 %27 = icmp eq i16 %19, -32768 %28 = and i1 false, %27 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic2, label %bb22 bb22: ; preds = %bb21 %30 = srem i16 %19, 100 %31 = shl i16 %30, 1 br label %bb23 bb23: ; preds = %bb22 %32 = load i16, i16* %curr %33 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %32, i16 4) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic3, label %bb24 bb24: ; preds = %bb23 store i16 %34, i16* %curr %37 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %26) br label %bb25 bb25: ; preds = %bb24 %38 = load i16, i16* %curr %39 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %38) br label %bb26 bb26: ; preds = %bb25 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %37, i16 2, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %40 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %31) br label %bb28 bb28: ; preds = %bb27 %41 = load i16, i16* %curr %42 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %41, i16 2) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic4, label %bb29 bb29: ; preds = %bb28 %46 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %43) br label %bb30 bb30: ; preds = %bb29 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %40, i16 2, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb13 bb32: ; preds = %bb12, %bb14 %47 = load i32, i32* %n %48 = trunc i32 %47 to i16 store i16 %48, i16* %n1 %49 = load i16, i16* %n1 %50 = icmp sge i16 %49, 100 br i1 %50, label %bb33, label %bb34 bb33: ; preds = %bb32 %51 = load i16, i16* %n1 br label %bb35 bb34: ; preds = %bb32 br label %bb44 bb35: ; preds = %bb33 %52 = icmp eq i16 %51, -32768 %53 = and i1 false, %52 %54 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %54, label %panic5, label %bb36 bb36: ; preds = %bb35 %55 = srem i16 %51, 100 %56 = shl i16 %55, 1 br label %bb37 bb37: ; preds = %bb36 br label %bb38 bb38: ; preds = %bb37 %57 = load i16, i16* %n1 %58 = icmp eq i16 %57, -32768 %59 = and i1 false, %58 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic6, label %bb39 bb39: ; preds = %bb38 %61 = load i16, i16* %n1 %62 = sdiv i16 %61, 100 store i16 %62, i16* %n1 %63 = load i16, i16* %curr %64 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %63, i16 2) %65 = extractvalue { i16, i1 } %64, 0 %66 = extractvalue { i16, i1 } %64, 1 %67 = call i1 @llvm.expect.i1(i1 %66, i1 false) br i1 %67, label %panic7, label %bb40 bb40: ; preds = %bb39 store i16 %65, i16* %curr %68 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %56) br label %bb41 bb41: ; preds = %bb40 %69 = load i16, i16* %curr %70 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %69) br label %bb42 bb42: ; preds = %bb41 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %68, i16 2, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb34, %bb43 %71 = load i16, i16* %n1 %72 = icmp slt i16 %71, 10 br i1 %72, label %bb45, label %bb46 bb45: ; preds = %bb44 %73 = load i16, i16* %curr %74 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %73, i16 1) %75 = extractvalue { i16, i1 } %74, 0 %76 = extractvalue { i16, i1 } %74, 1 %77 = call i1 @llvm.expect.i1(i1 %76, i1 false) br i1 %77, label %panic8, label %bb47 bb46: ; preds = %bb44 %78 = load i16, i16* %n1 %79 = shl i16 %78, 1 br label %bb50 bb47: ; preds = %bb45 store i16 %75, i16* %curr %80 = load i16, i16* %n1 %81 = trunc i16 %80 to i8 %82 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %81, i8 48) %83 = extractvalue { i8, i1 } %82, 0 %84 = extractvalue { i8, i1 } %82, 1 %85 = call i1 @llvm.expect.i1(i1 %84, i1 false) br i1 %85, label %panic9, label %bb48 bb48: ; preds = %bb47 %86 = load i16, i16* %curr %87 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %86) br label %bb49 bb49: ; preds = %bb48 store i8 %83, i8* %87 br label %bb55 bb50: ; preds = %bb46 %88 = load i16, i16* %curr %89 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %88, i16 2) %90 = extractvalue { i16, i1 } %89, 0 %91 = extractvalue { i16, i1 } %89, 1 %92 = call i1 @llvm.expect.i1(i1 %91, i1 false) br i1 %92, label %panic10, label %bb51 bb51: ; preds = %bb50 store i16 %90, i16* %curr %93 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %79) br label %bb52 bb52: ; preds = %bb51 %94 = load i16, i16* %curr %95 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %94) br label %bb53 bb53: ; preds = %bb52 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %95, i8* %93, i16 2, i32 1, i1 false) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb49 %96 = load i16, i16* %curr %97 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %96) br label %bb56 bb56: ; preds = %bb55 %98 = bitcast [39 x i8]* %buf to i8* %99 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %98, i16 39) br label %bb57 bb57: ; preds = %bb56 %100 = load i16, i16* %curr %101 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %99, i16 %100) %102 = extractvalue { i16, i1 } %101, 0 %103 = extractvalue { i16, i1 } %101, 1 %104 = call i1 @llvm.expect.i1(i1 %103, i1 false) br i1 %104, label %panic11, label %bb58 bb58: ; preds = %bb57 %105 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %97, i16 %102) %106 = extractvalue { i8*, i16 } %105, 0 %107 = extractvalue { i8*, i16 } %105, 1 br label %bb59 bb59: ; preds = %bb58 %108 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 0 store i8* %106, i8** %109, align 2, !noalias !117 %110 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 1 store i16 %107, i16* %110, align 2, !noalias !117 %111 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %112 = load i8*, i8** %111, !noalias !117, !nonnull !1 %113 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %114 = load i16, i16* %113, !noalias !117 %115 = insertvalue %str_slice undef, i8* %112, 0 %116 = insertvalue %str_slice %115, i16 %114, 1 %117 = extractvalue %str_slice %116, 0 %118 = extractvalue %str_slice %116, 1 br label %bb60 bb60: ; preds = %bb59 %119 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %1, i1 zeroext %3, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %117, i16 %118) store i8 %119, i8* %abi_cast %120 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb61 bb61: ; preds = %bb60 %121 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %122 = load i8, i8* %121, align 1 ret i8 %122 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fG) unreachable panic2: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fI) unreachable panic3: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fJ) unreachable panic4: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fK) unreachable panic5: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fL) unreachable panic6: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fM) unreachable panic7: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fN) unreachable panic8: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fO) unreachable panic9: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fP) unreachable panic10: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fQ) unreachable panic11: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fR) unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h1f0d56a09606bd8eE"(i32* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_71 = alloca {} %n1 = alloca i16 %_30 = alloca {} %_25 = alloca {} %_24 = alloca {} %curr = alloca i16 %buf = alloca [39 x i8] %n = alloca i32 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i32, i32* %0 %3 = icmp uge i32 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = call i32 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$6to_u3217ha75fba5cc0f681d1E"(i32* noalias readonly dereferenceable(4) %0) store i32 %4, i32* %n br label %bb3 bb2: ; preds = %start %5 = call i32 @"_ZN43_$LT$u32$u20$as$u20$core..fmt..num..Int$GT$6to_u3217ha75fba5cc0f681d1E"(i32* noalias readonly dereferenceable(4) %0) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %6 = xor i32 %5, -1 %7 = call i32 @"_ZN4core3num21_$LT$impl$u20$u32$GT$12wrapping_add17h615e0b4a2606ad0aE"(i32 %6, i32 1) store i32 %7, i32* %n br label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5, %bb3 call void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39) %buf) br label %bb7 bb7: ; preds = %bb6 %8 = bitcast [39 x i8]* %buf to i8* %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %8, i16 39) br label %bb8 bb8: ; preds = %bb7 store i16 %9, i16* %curr %10 = bitcast [39 x i8]* %buf to i8* %11 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %10, i16 39) br label %bb9 bb9: ; preds = %bb8 %12 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly getelementptr inbounds ([200 x i8], [200 x i8]* @byte_str.fF, i32 0, i32 0), i16 200) br label %bb10 bb10: ; preds = %bb9 %13 = call i16 @_ZN4core3mem7size_of17h81a8dbcbd37e520dE() br label %bb11 bb11: ; preds = %bb10 %14 = icmp uge i16 %13, 2 br i1 %14, label %bb13, label %bb12 bb12: ; preds = %bb11 br label %bb32 bb13: ; preds = %bb31, %bb11 %15 = load i32, i32* %n %16 = icmp uge i32 %15, 10000 br i1 %16, label %bb15, label %bb14 bb14: ; preds = %bb13 br label %bb32 bb15: ; preds = %bb13 %17 = load i32, i32* %n br label %bb16 bb16: ; preds = %bb15 %18 = urem i32 %17, 10000 %19 = trunc i32 %18 to i16 br label %bb17 bb17: ; preds = %bb16 %20 = load i32, i32* %n %21 = udiv i32 %20, 10000 store i32 %21, i32* %n br label %bb18 bb18: ; preds = %bb17 %22 = icmp eq i16 %19, -32768 %23 = and i1 false, %22 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb19 bb19: ; preds = %bb18 %25 = sdiv i16 %19, 100 %26 = shl i16 %25, 1 br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20 %27 = icmp eq i16 %19, -32768 %28 = and i1 false, %27 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic2, label %bb22 bb22: ; preds = %bb21 %30 = srem i16 %19, 100 %31 = shl i16 %30, 1 br label %bb23 bb23: ; preds = %bb22 %32 = load i16, i16* %curr %33 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %32, i16 4) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic3, label %bb24 bb24: ; preds = %bb23 store i16 %34, i16* %curr %37 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %26) br label %bb25 bb25: ; preds = %bb24 %38 = load i16, i16* %curr %39 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %38) br label %bb26 bb26: ; preds = %bb25 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %37, i16 2, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %40 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %31) br label %bb28 bb28: ; preds = %bb27 %41 = load i16, i16* %curr %42 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %41, i16 2) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic4, label %bb29 bb29: ; preds = %bb28 %46 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %43) br label %bb30 bb30: ; preds = %bb29 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %40, i16 2, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb13 bb32: ; preds = %bb12, %bb14 %47 = load i32, i32* %n %48 = trunc i32 %47 to i16 store i16 %48, i16* %n1 %49 = load i16, i16* %n1 %50 = icmp sge i16 %49, 100 br i1 %50, label %bb33, label %bb34 bb33: ; preds = %bb32 %51 = load i16, i16* %n1 br label %bb35 bb34: ; preds = %bb32 br label %bb44 bb35: ; preds = %bb33 %52 = icmp eq i16 %51, -32768 %53 = and i1 false, %52 %54 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %54, label %panic5, label %bb36 bb36: ; preds = %bb35 %55 = srem i16 %51, 100 %56 = shl i16 %55, 1 br label %bb37 bb37: ; preds = %bb36 br label %bb38 bb38: ; preds = %bb37 %57 = load i16, i16* %n1 %58 = icmp eq i16 %57, -32768 %59 = and i1 false, %58 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic6, label %bb39 bb39: ; preds = %bb38 %61 = load i16, i16* %n1 %62 = sdiv i16 %61, 100 store i16 %62, i16* %n1 %63 = load i16, i16* %curr %64 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %63, i16 2) %65 = extractvalue { i16, i1 } %64, 0 %66 = extractvalue { i16, i1 } %64, 1 %67 = call i1 @llvm.expect.i1(i1 %66, i1 false) br i1 %67, label %panic7, label %bb40 bb40: ; preds = %bb39 store i16 %65, i16* %curr %68 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %56) br label %bb41 bb41: ; preds = %bb40 %69 = load i16, i16* %curr %70 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %69) br label %bb42 bb42: ; preds = %bb41 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %68, i16 2, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb34, %bb43 %71 = load i16, i16* %n1 %72 = icmp slt i16 %71, 10 br i1 %72, label %bb45, label %bb46 bb45: ; preds = %bb44 %73 = load i16, i16* %curr %74 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %73, i16 1) %75 = extractvalue { i16, i1 } %74, 0 %76 = extractvalue { i16, i1 } %74, 1 %77 = call i1 @llvm.expect.i1(i1 %76, i1 false) br i1 %77, label %panic8, label %bb47 bb46: ; preds = %bb44 %78 = load i16, i16* %n1 %79 = shl i16 %78, 1 br label %bb50 bb47: ; preds = %bb45 store i16 %75, i16* %curr %80 = load i16, i16* %n1 %81 = trunc i16 %80 to i8 %82 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %81, i8 48) %83 = extractvalue { i8, i1 } %82, 0 %84 = extractvalue { i8, i1 } %82, 1 %85 = call i1 @llvm.expect.i1(i1 %84, i1 false) br i1 %85, label %panic9, label %bb48 bb48: ; preds = %bb47 %86 = load i16, i16* %curr %87 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %86) br label %bb49 bb49: ; preds = %bb48 store i8 %83, i8* %87 br label %bb55 bb50: ; preds = %bb46 %88 = load i16, i16* %curr %89 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %88, i16 2) %90 = extractvalue { i16, i1 } %89, 0 %91 = extractvalue { i16, i1 } %89, 1 %92 = call i1 @llvm.expect.i1(i1 %91, i1 false) br i1 %92, label %panic10, label %bb51 bb51: ; preds = %bb50 store i16 %90, i16* %curr %93 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %79) br label %bb52 bb52: ; preds = %bb51 %94 = load i16, i16* %curr %95 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %94) br label %bb53 bb53: ; preds = %bb52 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %95, i8* %93, i16 2, i32 1, i1 false) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb49 %96 = load i16, i16* %curr %97 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %96) br label %bb56 bb56: ; preds = %bb55 %98 = bitcast [39 x i8]* %buf to i8* %99 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %98, i16 39) br label %bb57 bb57: ; preds = %bb56 %100 = load i16, i16* %curr %101 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %99, i16 %100) %102 = extractvalue { i16, i1 } %101, 0 %103 = extractvalue { i16, i1 } %101, 1 %104 = call i1 @llvm.expect.i1(i1 %103, i1 false) br i1 %104, label %panic11, label %bb58 bb58: ; preds = %bb57 %105 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %97, i16 %102) %106 = extractvalue { i8*, i16 } %105, 0 %107 = extractvalue { i8*, i16 } %105, 1 br label %bb59 bb59: ; preds = %bb58 %108 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 0 store i8* %106, i8** %109, align 2, !noalias !120 %110 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 1 store i16 %107, i16* %110, align 2, !noalias !120 %111 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %112 = load i8*, i8** %111, !noalias !120, !nonnull !1 %113 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %114 = load i16, i16* %113, !noalias !120 %115 = insertvalue %str_slice undef, i8* %112, 0 %116 = insertvalue %str_slice %115, i16 %114, 1 %117 = extractvalue %str_slice %116, 0 %118 = extractvalue %str_slice %116, 1 br label %bb60 bb60: ; preds = %bb59 %119 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %1, i1 zeroext %3, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %117, i16 %118) store i8 %119, i8* %abi_cast %120 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb61 bb61: ; preds = %bb60 %121 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %122 = load i8, i8* %121, align 1 ret i8 %122 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fG) unreachable panic2: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fI) unreachable panic3: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fJ) unreachable panic4: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fK) unreachable panic5: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fL) unreachable panic6: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fM) unreachable panic7: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fN) unreachable panic8: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fO) unreachable panic9: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fP) unreachable panic10: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fQ) unreachable panic11: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fR) unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i64$GT$3fmt17h7dd877c3cc9f11f0E"(i64* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_71 = alloca {} %n1 = alloca i16 %_30 = alloca {} %_25 = alloca {} %_24 = alloca {} %curr = alloca i16 %buf = alloca [39 x i8] %n = alloca i64 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i64, i64* %0 %3 = icmp sge i64 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = call i64 @"_ZN43_$LT$i64$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h1eadc6919b4e3604E"(i64* noalias readonly dereferenceable(8) %0) store i64 %4, i64* %n br label %bb3 bb2: ; preds = %start %5 = call i64 @"_ZN43_$LT$i64$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h1eadc6919b4e3604E"(i64* noalias readonly dereferenceable(8) %0) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %6 = xor i64 %5, -1 %7 = call i64 @"_ZN4core3num21_$LT$impl$u20$u64$GT$12wrapping_add17h3c155c9d3a93084aE"(i64 %6, i64 1) store i64 %7, i64* %n br label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5, %bb3 call void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39) %buf) br label %bb7 bb7: ; preds = %bb6 %8 = bitcast [39 x i8]* %buf to i8* %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %8, i16 39) br label %bb8 bb8: ; preds = %bb7 store i16 %9, i16* %curr %10 = bitcast [39 x i8]* %buf to i8* %11 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %10, i16 39) br label %bb9 bb9: ; preds = %bb8 %12 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly getelementptr inbounds ([200 x i8], [200 x i8]* @byte_str.fF, i32 0, i32 0), i16 200) br label %bb10 bb10: ; preds = %bb9 %13 = call i16 @_ZN4core3mem7size_of17h6051e93fa5457880E() br label %bb11 bb11: ; preds = %bb10 %14 = icmp uge i16 %13, 2 br i1 %14, label %bb13, label %bb12 bb12: ; preds = %bb11 br label %bb32 bb13: ; preds = %bb31, %bb11 %15 = load i64, i64* %n %16 = icmp uge i64 %15, 10000 br i1 %16, label %bb15, label %bb14 bb14: ; preds = %bb13 br label %bb32 bb15: ; preds = %bb13 %17 = load i64, i64* %n br label %bb16 bb16: ; preds = %bb15 %18 = urem i64 %17, 10000 %19 = trunc i64 %18 to i16 br label %bb17 bb17: ; preds = %bb16 %20 = load i64, i64* %n %21 = udiv i64 %20, 10000 store i64 %21, i64* %n br label %bb18 bb18: ; preds = %bb17 %22 = icmp eq i16 %19, -32768 %23 = and i1 false, %22 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb19 bb19: ; preds = %bb18 %25 = sdiv i16 %19, 100 %26 = shl i16 %25, 1 br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20 %27 = icmp eq i16 %19, -32768 %28 = and i1 false, %27 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic2, label %bb22 bb22: ; preds = %bb21 %30 = srem i16 %19, 100 %31 = shl i16 %30, 1 br label %bb23 bb23: ; preds = %bb22 %32 = load i16, i16* %curr %33 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %32, i16 4) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic3, label %bb24 bb24: ; preds = %bb23 store i16 %34, i16* %curr %37 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %26) br label %bb25 bb25: ; preds = %bb24 %38 = load i16, i16* %curr %39 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %38) br label %bb26 bb26: ; preds = %bb25 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %37, i16 2, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %40 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %31) br label %bb28 bb28: ; preds = %bb27 %41 = load i16, i16* %curr %42 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %41, i16 2) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic4, label %bb29 bb29: ; preds = %bb28 %46 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %43) br label %bb30 bb30: ; preds = %bb29 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %40, i16 2, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb13 bb32: ; preds = %bb12, %bb14 %47 = load i64, i64* %n %48 = trunc i64 %47 to i16 store i16 %48, i16* %n1 %49 = load i16, i16* %n1 %50 = icmp sge i16 %49, 100 br i1 %50, label %bb33, label %bb34 bb33: ; preds = %bb32 %51 = load i16, i16* %n1 br label %bb35 bb34: ; preds = %bb32 br label %bb44 bb35: ; preds = %bb33 %52 = icmp eq i16 %51, -32768 %53 = and i1 false, %52 %54 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %54, label %panic5, label %bb36 bb36: ; preds = %bb35 %55 = srem i16 %51, 100 %56 = shl i16 %55, 1 br label %bb37 bb37: ; preds = %bb36 br label %bb38 bb38: ; preds = %bb37 %57 = load i16, i16* %n1 %58 = icmp eq i16 %57, -32768 %59 = and i1 false, %58 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic6, label %bb39 bb39: ; preds = %bb38 %61 = load i16, i16* %n1 %62 = sdiv i16 %61, 100 store i16 %62, i16* %n1 %63 = load i16, i16* %curr %64 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %63, i16 2) %65 = extractvalue { i16, i1 } %64, 0 %66 = extractvalue { i16, i1 } %64, 1 %67 = call i1 @llvm.expect.i1(i1 %66, i1 false) br i1 %67, label %panic7, label %bb40 bb40: ; preds = %bb39 store i16 %65, i16* %curr %68 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %56) br label %bb41 bb41: ; preds = %bb40 %69 = load i16, i16* %curr %70 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %69) br label %bb42 bb42: ; preds = %bb41 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %68, i16 2, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb34, %bb43 %71 = load i16, i16* %n1 %72 = icmp slt i16 %71, 10 br i1 %72, label %bb45, label %bb46 bb45: ; preds = %bb44 %73 = load i16, i16* %curr %74 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %73, i16 1) %75 = extractvalue { i16, i1 } %74, 0 %76 = extractvalue { i16, i1 } %74, 1 %77 = call i1 @llvm.expect.i1(i1 %76, i1 false) br i1 %77, label %panic8, label %bb47 bb46: ; preds = %bb44 %78 = load i16, i16* %n1 %79 = shl i16 %78, 1 br label %bb50 bb47: ; preds = %bb45 store i16 %75, i16* %curr %80 = load i16, i16* %n1 %81 = trunc i16 %80 to i8 %82 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %81, i8 48) %83 = extractvalue { i8, i1 } %82, 0 %84 = extractvalue { i8, i1 } %82, 1 %85 = call i1 @llvm.expect.i1(i1 %84, i1 false) br i1 %85, label %panic9, label %bb48 bb48: ; preds = %bb47 %86 = load i16, i16* %curr %87 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %86) br label %bb49 bb49: ; preds = %bb48 store i8 %83, i8* %87 br label %bb55 bb50: ; preds = %bb46 %88 = load i16, i16* %curr %89 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %88, i16 2) %90 = extractvalue { i16, i1 } %89, 0 %91 = extractvalue { i16, i1 } %89, 1 %92 = call i1 @llvm.expect.i1(i1 %91, i1 false) br i1 %92, label %panic10, label %bb51 bb51: ; preds = %bb50 store i16 %90, i16* %curr %93 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %79) br label %bb52 bb52: ; preds = %bb51 %94 = load i16, i16* %curr %95 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %94) br label %bb53 bb53: ; preds = %bb52 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %95, i8* %93, i16 2, i32 1, i1 false) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb49 %96 = load i16, i16* %curr %97 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %96) br label %bb56 bb56: ; preds = %bb55 %98 = bitcast [39 x i8]* %buf to i8* %99 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %98, i16 39) br label %bb57 bb57: ; preds = %bb56 %100 = load i16, i16* %curr %101 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %99, i16 %100) %102 = extractvalue { i16, i1 } %101, 0 %103 = extractvalue { i16, i1 } %101, 1 %104 = call i1 @llvm.expect.i1(i1 %103, i1 false) br i1 %104, label %panic11, label %bb58 bb58: ; preds = %bb57 %105 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %97, i16 %102) %106 = extractvalue { i8*, i16 } %105, 0 %107 = extractvalue { i8*, i16 } %105, 1 br label %bb59 bb59: ; preds = %bb58 %108 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 0 store i8* %106, i8** %109, align 2, !noalias !123 %110 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 1 store i16 %107, i16* %110, align 2, !noalias !123 %111 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %112 = load i8*, i8** %111, !noalias !123, !nonnull !1 %113 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %114 = load i16, i16* %113, !noalias !123 %115 = insertvalue %str_slice undef, i8* %112, 0 %116 = insertvalue %str_slice %115, i16 %114, 1 %117 = extractvalue %str_slice %116, 0 %118 = extractvalue %str_slice %116, 1 br label %bb60 bb60: ; preds = %bb59 %119 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %1, i1 zeroext %3, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %117, i16 %118) store i8 %119, i8* %abi_cast %120 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb61 bb61: ; preds = %bb60 %121 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %122 = load i8, i8* %121, align 1 ret i8 %122 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fG) unreachable panic2: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fI) unreachable panic3: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fJ) unreachable panic4: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fK) unreachable panic5: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fL) unreachable panic6: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fM) unreachable panic7: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fN) unreachable panic8: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fO) unreachable panic9: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fP) unreachable panic10: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fQ) unreachable panic11: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fR) unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17h389b5936f1be7175E"(i64* noalias readonly dereferenceable(8), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_71 = alloca {} %n1 = alloca i16 %_30 = alloca {} %_25 = alloca {} %_24 = alloca {} %curr = alloca i16 %buf = alloca [39 x i8] %n = alloca i64 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i64, i64* %0 %3 = icmp uge i64 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = call i64 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h37cbcd5a65c28fc9E"(i64* noalias readonly dereferenceable(8) %0) store i64 %4, i64* %n br label %bb3 bb2: ; preds = %start %5 = call i64 @"_ZN43_$LT$u64$u20$as$u20$core..fmt..num..Int$GT$6to_u6417h37cbcd5a65c28fc9E"(i64* noalias readonly dereferenceable(8) %0) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %6 = xor i64 %5, -1 %7 = call i64 @"_ZN4core3num21_$LT$impl$u20$u64$GT$12wrapping_add17h3c155c9d3a93084aE"(i64 %6, i64 1) store i64 %7, i64* %n br label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5, %bb3 call void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39) %buf) br label %bb7 bb7: ; preds = %bb6 %8 = bitcast [39 x i8]* %buf to i8* %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %8, i16 39) br label %bb8 bb8: ; preds = %bb7 store i16 %9, i16* %curr %10 = bitcast [39 x i8]* %buf to i8* %11 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %10, i16 39) br label %bb9 bb9: ; preds = %bb8 %12 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly getelementptr inbounds ([200 x i8], [200 x i8]* @byte_str.fF, i32 0, i32 0), i16 200) br label %bb10 bb10: ; preds = %bb9 %13 = call i16 @_ZN4core3mem7size_of17hd4220f602efa4a57E() br label %bb11 bb11: ; preds = %bb10 %14 = icmp uge i16 %13, 2 br i1 %14, label %bb13, label %bb12 bb12: ; preds = %bb11 br label %bb32 bb13: ; preds = %bb31, %bb11 %15 = load i64, i64* %n %16 = icmp uge i64 %15, 10000 br i1 %16, label %bb15, label %bb14 bb14: ; preds = %bb13 br label %bb32 bb15: ; preds = %bb13 %17 = load i64, i64* %n br label %bb16 bb16: ; preds = %bb15 %18 = urem i64 %17, 10000 %19 = trunc i64 %18 to i16 br label %bb17 bb17: ; preds = %bb16 %20 = load i64, i64* %n %21 = udiv i64 %20, 10000 store i64 %21, i64* %n br label %bb18 bb18: ; preds = %bb17 %22 = icmp eq i16 %19, -32768 %23 = and i1 false, %22 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb19 bb19: ; preds = %bb18 %25 = sdiv i16 %19, 100 %26 = shl i16 %25, 1 br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20 %27 = icmp eq i16 %19, -32768 %28 = and i1 false, %27 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic2, label %bb22 bb22: ; preds = %bb21 %30 = srem i16 %19, 100 %31 = shl i16 %30, 1 br label %bb23 bb23: ; preds = %bb22 %32 = load i16, i16* %curr %33 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %32, i16 4) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic3, label %bb24 bb24: ; preds = %bb23 store i16 %34, i16* %curr %37 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %26) br label %bb25 bb25: ; preds = %bb24 %38 = load i16, i16* %curr %39 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %38) br label %bb26 bb26: ; preds = %bb25 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %37, i16 2, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %40 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %31) br label %bb28 bb28: ; preds = %bb27 %41 = load i16, i16* %curr %42 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %41, i16 2) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic4, label %bb29 bb29: ; preds = %bb28 %46 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %43) br label %bb30 bb30: ; preds = %bb29 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %40, i16 2, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb13 bb32: ; preds = %bb12, %bb14 %47 = load i64, i64* %n %48 = trunc i64 %47 to i16 store i16 %48, i16* %n1 %49 = load i16, i16* %n1 %50 = icmp sge i16 %49, 100 br i1 %50, label %bb33, label %bb34 bb33: ; preds = %bb32 %51 = load i16, i16* %n1 br label %bb35 bb34: ; preds = %bb32 br label %bb44 bb35: ; preds = %bb33 %52 = icmp eq i16 %51, -32768 %53 = and i1 false, %52 %54 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %54, label %panic5, label %bb36 bb36: ; preds = %bb35 %55 = srem i16 %51, 100 %56 = shl i16 %55, 1 br label %bb37 bb37: ; preds = %bb36 br label %bb38 bb38: ; preds = %bb37 %57 = load i16, i16* %n1 %58 = icmp eq i16 %57, -32768 %59 = and i1 false, %58 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic6, label %bb39 bb39: ; preds = %bb38 %61 = load i16, i16* %n1 %62 = sdiv i16 %61, 100 store i16 %62, i16* %n1 %63 = load i16, i16* %curr %64 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %63, i16 2) %65 = extractvalue { i16, i1 } %64, 0 %66 = extractvalue { i16, i1 } %64, 1 %67 = call i1 @llvm.expect.i1(i1 %66, i1 false) br i1 %67, label %panic7, label %bb40 bb40: ; preds = %bb39 store i16 %65, i16* %curr %68 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %56) br label %bb41 bb41: ; preds = %bb40 %69 = load i16, i16* %curr %70 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %69) br label %bb42 bb42: ; preds = %bb41 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %68, i16 2, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb34, %bb43 %71 = load i16, i16* %n1 %72 = icmp slt i16 %71, 10 br i1 %72, label %bb45, label %bb46 bb45: ; preds = %bb44 %73 = load i16, i16* %curr %74 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %73, i16 1) %75 = extractvalue { i16, i1 } %74, 0 %76 = extractvalue { i16, i1 } %74, 1 %77 = call i1 @llvm.expect.i1(i1 %76, i1 false) br i1 %77, label %panic8, label %bb47 bb46: ; preds = %bb44 %78 = load i16, i16* %n1 %79 = shl i16 %78, 1 br label %bb50 bb47: ; preds = %bb45 store i16 %75, i16* %curr %80 = load i16, i16* %n1 %81 = trunc i16 %80 to i8 %82 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %81, i8 48) %83 = extractvalue { i8, i1 } %82, 0 %84 = extractvalue { i8, i1 } %82, 1 %85 = call i1 @llvm.expect.i1(i1 %84, i1 false) br i1 %85, label %panic9, label %bb48 bb48: ; preds = %bb47 %86 = load i16, i16* %curr %87 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %86) br label %bb49 bb49: ; preds = %bb48 store i8 %83, i8* %87 br label %bb55 bb50: ; preds = %bb46 %88 = load i16, i16* %curr %89 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %88, i16 2) %90 = extractvalue { i16, i1 } %89, 0 %91 = extractvalue { i16, i1 } %89, 1 %92 = call i1 @llvm.expect.i1(i1 %91, i1 false) br i1 %92, label %panic10, label %bb51 bb51: ; preds = %bb50 store i16 %90, i16* %curr %93 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %79) br label %bb52 bb52: ; preds = %bb51 %94 = load i16, i16* %curr %95 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %94) br label %bb53 bb53: ; preds = %bb52 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %95, i8* %93, i16 2, i32 1, i1 false) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb49 %96 = load i16, i16* %curr %97 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %96) br label %bb56 bb56: ; preds = %bb55 %98 = bitcast [39 x i8]* %buf to i8* %99 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %98, i16 39) br label %bb57 bb57: ; preds = %bb56 %100 = load i16, i16* %curr %101 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %99, i16 %100) %102 = extractvalue { i16, i1 } %101, 0 %103 = extractvalue { i16, i1 } %101, 1 %104 = call i1 @llvm.expect.i1(i1 %103, i1 false) br i1 %104, label %panic11, label %bb58 bb58: ; preds = %bb57 %105 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %97, i16 %102) %106 = extractvalue { i8*, i16 } %105, 0 %107 = extractvalue { i8*, i16 } %105, 1 br label %bb59 bb59: ; preds = %bb58 %108 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 0 store i8* %106, i8** %109, align 2, !noalias !126 %110 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 1 store i16 %107, i16* %110, align 2, !noalias !126 %111 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %112 = load i8*, i8** %111, !noalias !126, !nonnull !1 %113 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %114 = load i16, i16* %113, !noalias !126 %115 = insertvalue %str_slice undef, i8* %112, 0 %116 = insertvalue %str_slice %115, i16 %114, 1 %117 = extractvalue %str_slice %116, 0 %118 = extractvalue %str_slice %116, 1 br label %bb60 bb60: ; preds = %bb59 %119 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %1, i1 zeroext %3, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %117, i16 %118) store i8 %119, i8* %abi_cast %120 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb61 bb61: ; preds = %bb60 %121 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %122 = load i8, i8* %121, align 1 ret i8 %122 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fG) unreachable panic2: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fI) unreachable panic3: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fJ) unreachable panic4: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fK) unreachable panic5: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fL) unreachable panic6: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fM) unreachable panic7: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fN) unreachable panic8: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fO) unreachable panic9: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fP) unreachable panic10: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fQ) unreachable panic11: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fR) unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..Display$u20$for$u20$i128$GT$3fmt17h35da4951d7224e12E"(i128* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_71 = alloca {} %n1 = alloca i16 %_30 = alloca {} %_25 = alloca {} %_24 = alloca {} %curr = alloca i16 %buf = alloca [39 x i8] %n = alloca i128 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i128, i128* %0 %3 = icmp sge i128 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = call i128 @"_ZN44_$LT$i128$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h2c1d64f1d5d71571E"(i128* noalias readonly dereferenceable(16) %0) store i128 %4, i128* %n br label %bb3 bb2: ; preds = %start %5 = call i128 @"_ZN44_$LT$i128$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h2c1d64f1d5d71571E"(i128* noalias readonly dereferenceable(16) %0) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %6 = xor i128 %5, -1 %7 = call i128 @"_ZN4core3num22_$LT$impl$u20$u128$GT$12wrapping_add17h2711ad20f25bcfa8E"(i128 %6, i128 1) store i128 %7, i128* %n br label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5, %bb3 call void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39) %buf) br label %bb7 bb7: ; preds = %bb6 %8 = bitcast [39 x i8]* %buf to i8* %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %8, i16 39) br label %bb8 bb8: ; preds = %bb7 store i16 %9, i16* %curr %10 = bitcast [39 x i8]* %buf to i8* %11 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %10, i16 39) br label %bb9 bb9: ; preds = %bb8 %12 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly getelementptr inbounds ([200 x i8], [200 x i8]* @byte_str.fF, i32 0, i32 0), i16 200) br label %bb10 bb10: ; preds = %bb9 %13 = call i16 @_ZN4core3mem7size_of17hfade06df2d9fa45fE() br label %bb11 bb11: ; preds = %bb10 %14 = icmp uge i16 %13, 2 br i1 %14, label %bb13, label %bb12 bb12: ; preds = %bb11 br label %bb32 bb13: ; preds = %bb31, %bb11 %15 = load i128, i128* %n %16 = icmp uge i128 %15, 10000 br i1 %16, label %bb15, label %bb14 bb14: ; preds = %bb13 br label %bb32 bb15: ; preds = %bb13 %17 = load i128, i128* %n br label %bb16 bb16: ; preds = %bb15 %18 = urem i128 %17, 10000 %19 = trunc i128 %18 to i16 br label %bb17 bb17: ; preds = %bb16 %20 = load i128, i128* %n %21 = udiv i128 %20, 10000 store i128 %21, i128* %n br label %bb18 bb18: ; preds = %bb17 %22 = icmp eq i16 %19, -32768 %23 = and i1 false, %22 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb19 bb19: ; preds = %bb18 %25 = sdiv i16 %19, 100 %26 = shl i16 %25, 1 br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20 %27 = icmp eq i16 %19, -32768 %28 = and i1 false, %27 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic2, label %bb22 bb22: ; preds = %bb21 %30 = srem i16 %19, 100 %31 = shl i16 %30, 1 br label %bb23 bb23: ; preds = %bb22 %32 = load i16, i16* %curr %33 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %32, i16 4) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic3, label %bb24 bb24: ; preds = %bb23 store i16 %34, i16* %curr %37 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %26) br label %bb25 bb25: ; preds = %bb24 %38 = load i16, i16* %curr %39 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %38) br label %bb26 bb26: ; preds = %bb25 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %37, i16 2, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %40 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %31) br label %bb28 bb28: ; preds = %bb27 %41 = load i16, i16* %curr %42 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %41, i16 2) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic4, label %bb29 bb29: ; preds = %bb28 %46 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %43) br label %bb30 bb30: ; preds = %bb29 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %40, i16 2, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb13 bb32: ; preds = %bb12, %bb14 %47 = load i128, i128* %n %48 = trunc i128 %47 to i16 store i16 %48, i16* %n1 %49 = load i16, i16* %n1 %50 = icmp sge i16 %49, 100 br i1 %50, label %bb33, label %bb34 bb33: ; preds = %bb32 %51 = load i16, i16* %n1 br label %bb35 bb34: ; preds = %bb32 br label %bb44 bb35: ; preds = %bb33 %52 = icmp eq i16 %51, -32768 %53 = and i1 false, %52 %54 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %54, label %panic5, label %bb36 bb36: ; preds = %bb35 %55 = srem i16 %51, 100 %56 = shl i16 %55, 1 br label %bb37 bb37: ; preds = %bb36 br label %bb38 bb38: ; preds = %bb37 %57 = load i16, i16* %n1 %58 = icmp eq i16 %57, -32768 %59 = and i1 false, %58 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic6, label %bb39 bb39: ; preds = %bb38 %61 = load i16, i16* %n1 %62 = sdiv i16 %61, 100 store i16 %62, i16* %n1 %63 = load i16, i16* %curr %64 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %63, i16 2) %65 = extractvalue { i16, i1 } %64, 0 %66 = extractvalue { i16, i1 } %64, 1 %67 = call i1 @llvm.expect.i1(i1 %66, i1 false) br i1 %67, label %panic7, label %bb40 bb40: ; preds = %bb39 store i16 %65, i16* %curr %68 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %56) br label %bb41 bb41: ; preds = %bb40 %69 = load i16, i16* %curr %70 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %69) br label %bb42 bb42: ; preds = %bb41 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %68, i16 2, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb34, %bb43 %71 = load i16, i16* %n1 %72 = icmp slt i16 %71, 10 br i1 %72, label %bb45, label %bb46 bb45: ; preds = %bb44 %73 = load i16, i16* %curr %74 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %73, i16 1) %75 = extractvalue { i16, i1 } %74, 0 %76 = extractvalue { i16, i1 } %74, 1 %77 = call i1 @llvm.expect.i1(i1 %76, i1 false) br i1 %77, label %panic8, label %bb47 bb46: ; preds = %bb44 %78 = load i16, i16* %n1 %79 = shl i16 %78, 1 br label %bb50 bb47: ; preds = %bb45 store i16 %75, i16* %curr %80 = load i16, i16* %n1 %81 = trunc i16 %80 to i8 %82 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %81, i8 48) %83 = extractvalue { i8, i1 } %82, 0 %84 = extractvalue { i8, i1 } %82, 1 %85 = call i1 @llvm.expect.i1(i1 %84, i1 false) br i1 %85, label %panic9, label %bb48 bb48: ; preds = %bb47 %86 = load i16, i16* %curr %87 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %86) br label %bb49 bb49: ; preds = %bb48 store i8 %83, i8* %87 br label %bb55 bb50: ; preds = %bb46 %88 = load i16, i16* %curr %89 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %88, i16 2) %90 = extractvalue { i16, i1 } %89, 0 %91 = extractvalue { i16, i1 } %89, 1 %92 = call i1 @llvm.expect.i1(i1 %91, i1 false) br i1 %92, label %panic10, label %bb51 bb51: ; preds = %bb50 store i16 %90, i16* %curr %93 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %79) br label %bb52 bb52: ; preds = %bb51 %94 = load i16, i16* %curr %95 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %94) br label %bb53 bb53: ; preds = %bb52 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %95, i8* %93, i16 2, i32 1, i1 false) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb49 %96 = load i16, i16* %curr %97 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %96) br label %bb56 bb56: ; preds = %bb55 %98 = bitcast [39 x i8]* %buf to i8* %99 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %98, i16 39) br label %bb57 bb57: ; preds = %bb56 %100 = load i16, i16* %curr %101 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %99, i16 %100) %102 = extractvalue { i16, i1 } %101, 0 %103 = extractvalue { i16, i1 } %101, 1 %104 = call i1 @llvm.expect.i1(i1 %103, i1 false) br i1 %104, label %panic11, label %bb58 bb58: ; preds = %bb57 %105 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %97, i16 %102) %106 = extractvalue { i8*, i16 } %105, 0 %107 = extractvalue { i8*, i16 } %105, 1 br label %bb59 bb59: ; preds = %bb58 %108 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 0 store i8* %106, i8** %109, align 2, !noalias !129 %110 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 1 store i16 %107, i16* %110, align 2, !noalias !129 %111 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %112 = load i8*, i8** %111, !noalias !129, !nonnull !1 %113 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %114 = load i16, i16* %113, !noalias !129 %115 = insertvalue %str_slice undef, i8* %112, 0 %116 = insertvalue %str_slice %115, i16 %114, 1 %117 = extractvalue %str_slice %116, 0 %118 = extractvalue %str_slice %116, 1 br label %bb60 bb60: ; preds = %bb59 %119 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %1, i1 zeroext %3, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %117, i16 %118) store i8 %119, i8* %abi_cast %120 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb61 bb61: ; preds = %bb60 %121 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %122 = load i8, i8* %121, align 1 ret i8 %122 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fG) unreachable panic2: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fI) unreachable panic3: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fJ) unreachable panic4: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fK) unreachable panic5: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fL) unreachable panic6: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fM) unreachable panic7: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fN) unreachable panic8: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fO) unreachable panic9: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fP) unreachable panic10: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fQ) unreachable panic11: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fR) unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..Display$u20$for$u20$u128$GT$3fmt17h508c16741bfec35fE"(i128* noalias readonly dereferenceable(16), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_71 = alloca {} %n1 = alloca i16 %_30 = alloca {} %_25 = alloca {} %_24 = alloca {} %curr = alloca i16 %buf = alloca [39 x i8] %n = alloca i128 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i128, i128* %0 %3 = icmp uge i128 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = call i128 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h3b44d74c82c7d33fE"(i128* noalias readonly dereferenceable(16) %0) store i128 %4, i128* %n br label %bb3 bb2: ; preds = %start %5 = call i128 @"_ZN44_$LT$u128$u20$as$u20$core..fmt..num..Int$GT$7to_u12817h3b44d74c82c7d33fE"(i128* noalias readonly dereferenceable(16) %0) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %6 = xor i128 %5, -1 %7 = call i128 @"_ZN4core3num22_$LT$impl$u20$u128$GT$12wrapping_add17h2711ad20f25bcfa8E"(i128 %6, i128 1) store i128 %7, i128* %n br label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5, %bb3 call void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39) %buf) br label %bb7 bb7: ; preds = %bb6 %8 = bitcast [39 x i8]* %buf to i8* %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %8, i16 39) br label %bb8 bb8: ; preds = %bb7 store i16 %9, i16* %curr %10 = bitcast [39 x i8]* %buf to i8* %11 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %10, i16 39) br label %bb9 bb9: ; preds = %bb8 %12 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly getelementptr inbounds ([200 x i8], [200 x i8]* @byte_str.fF, i32 0, i32 0), i16 200) br label %bb10 bb10: ; preds = %bb9 %13 = call i16 @_ZN4core3mem7size_of17ha28fc9877225dbd8E() br label %bb11 bb11: ; preds = %bb10 %14 = icmp uge i16 %13, 2 br i1 %14, label %bb13, label %bb12 bb12: ; preds = %bb11 br label %bb32 bb13: ; preds = %bb31, %bb11 %15 = load i128, i128* %n %16 = icmp uge i128 %15, 10000 br i1 %16, label %bb15, label %bb14 bb14: ; preds = %bb13 br label %bb32 bb15: ; preds = %bb13 %17 = load i128, i128* %n br label %bb16 bb16: ; preds = %bb15 %18 = urem i128 %17, 10000 %19 = trunc i128 %18 to i16 br label %bb17 bb17: ; preds = %bb16 %20 = load i128, i128* %n %21 = udiv i128 %20, 10000 store i128 %21, i128* %n br label %bb18 bb18: ; preds = %bb17 %22 = icmp eq i16 %19, -32768 %23 = and i1 false, %22 %24 = call i1 @llvm.expect.i1(i1 %23, i1 false) br i1 %24, label %panic, label %bb19 bb19: ; preds = %bb18 %25 = sdiv i16 %19, 100 %26 = shl i16 %25, 1 br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20 %27 = icmp eq i16 %19, -32768 %28 = and i1 false, %27 %29 = call i1 @llvm.expect.i1(i1 %28, i1 false) br i1 %29, label %panic2, label %bb22 bb22: ; preds = %bb21 %30 = srem i16 %19, 100 %31 = shl i16 %30, 1 br label %bb23 bb23: ; preds = %bb22 %32 = load i16, i16* %curr %33 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %32, i16 4) %34 = extractvalue { i16, i1 } %33, 0 %35 = extractvalue { i16, i1 } %33, 1 %36 = call i1 @llvm.expect.i1(i1 %35, i1 false) br i1 %36, label %panic3, label %bb24 bb24: ; preds = %bb23 store i16 %34, i16* %curr %37 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %26) br label %bb25 bb25: ; preds = %bb24 %38 = load i16, i16* %curr %39 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %38) br label %bb26 bb26: ; preds = %bb25 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %39, i8* %37, i16 2, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %40 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %31) br label %bb28 bb28: ; preds = %bb27 %41 = load i16, i16* %curr %42 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %41, i16 2) %43 = extractvalue { i16, i1 } %42, 0 %44 = extractvalue { i16, i1 } %42, 1 %45 = call i1 @llvm.expect.i1(i1 %44, i1 false) br i1 %45, label %panic4, label %bb29 bb29: ; preds = %bb28 %46 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %43) br label %bb30 bb30: ; preds = %bb29 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %46, i8* %40, i16 2, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb13 bb32: ; preds = %bb12, %bb14 %47 = load i128, i128* %n %48 = trunc i128 %47 to i16 store i16 %48, i16* %n1 %49 = load i16, i16* %n1 %50 = icmp sge i16 %49, 100 br i1 %50, label %bb33, label %bb34 bb33: ; preds = %bb32 %51 = load i16, i16* %n1 br label %bb35 bb34: ; preds = %bb32 br label %bb44 bb35: ; preds = %bb33 %52 = icmp eq i16 %51, -32768 %53 = and i1 false, %52 %54 = call i1 @llvm.expect.i1(i1 %53, i1 false) br i1 %54, label %panic5, label %bb36 bb36: ; preds = %bb35 %55 = srem i16 %51, 100 %56 = shl i16 %55, 1 br label %bb37 bb37: ; preds = %bb36 br label %bb38 bb38: ; preds = %bb37 %57 = load i16, i16* %n1 %58 = icmp eq i16 %57, -32768 %59 = and i1 false, %58 %60 = call i1 @llvm.expect.i1(i1 %59, i1 false) br i1 %60, label %panic6, label %bb39 bb39: ; preds = %bb38 %61 = load i16, i16* %n1 %62 = sdiv i16 %61, 100 store i16 %62, i16* %n1 %63 = load i16, i16* %curr %64 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %63, i16 2) %65 = extractvalue { i16, i1 } %64, 0 %66 = extractvalue { i16, i1 } %64, 1 %67 = call i1 @llvm.expect.i1(i1 %66, i1 false) br i1 %67, label %panic7, label %bb40 bb40: ; preds = %bb39 store i16 %65, i16* %curr %68 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %56) br label %bb41 bb41: ; preds = %bb40 %69 = load i16, i16* %curr %70 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %69) br label %bb42 bb42: ; preds = %bb41 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %70, i8* %68, i16 2, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb34, %bb43 %71 = load i16, i16* %n1 %72 = icmp slt i16 %71, 10 br i1 %72, label %bb45, label %bb46 bb45: ; preds = %bb44 %73 = load i16, i16* %curr %74 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %73, i16 1) %75 = extractvalue { i16, i1 } %74, 0 %76 = extractvalue { i16, i1 } %74, 1 %77 = call i1 @llvm.expect.i1(i1 %76, i1 false) br i1 %77, label %panic8, label %bb47 bb46: ; preds = %bb44 %78 = load i16, i16* %n1 %79 = shl i16 %78, 1 br label %bb50 bb47: ; preds = %bb45 store i16 %75, i16* %curr %80 = load i16, i16* %n1 %81 = trunc i16 %80 to i8 %82 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %81, i8 48) %83 = extractvalue { i8, i1 } %82, 0 %84 = extractvalue { i8, i1 } %82, 1 %85 = call i1 @llvm.expect.i1(i1 %84, i1 false) br i1 %85, label %panic9, label %bb48 bb48: ; preds = %bb47 %86 = load i16, i16* %curr %87 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %86) br label %bb49 bb49: ; preds = %bb48 store i8 %83, i8* %87 br label %bb55 bb50: ; preds = %bb46 %88 = load i16, i16* %curr %89 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %88, i16 2) %90 = extractvalue { i16, i1 } %89, 0 %91 = extractvalue { i16, i1 } %89, 1 %92 = call i1 @llvm.expect.i1(i1 %91, i1 false) br i1 %92, label %panic10, label %bb51 bb51: ; preds = %bb50 store i16 %90, i16* %curr %93 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %79) br label %bb52 bb52: ; preds = %bb51 %94 = load i16, i16* %curr %95 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %94) br label %bb53 bb53: ; preds = %bb52 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %95, i8* %93, i16 2, i32 1, i1 false) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb49 %96 = load i16, i16* %curr %97 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %96) br label %bb56 bb56: ; preds = %bb55 %98 = bitcast [39 x i8]* %buf to i8* %99 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %98, i16 39) br label %bb57 bb57: ; preds = %bb56 %100 = load i16, i16* %curr %101 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %99, i16 %100) %102 = extractvalue { i16, i1 } %101, 0 %103 = extractvalue { i16, i1 } %101, 1 %104 = call i1 @llvm.expect.i1(i1 %103, i1 false) br i1 %104, label %panic11, label %bb58 bb58: ; preds = %bb57 %105 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %97, i16 %102) %106 = extractvalue { i8*, i16 } %105, 0 %107 = extractvalue { i8*, i16 } %105, 1 br label %bb59 bb59: ; preds = %bb58 %108 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %109 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 0 store i8* %106, i8** %109, align 2, !noalias !132 %110 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %108, i32 0, i32 1 store i16 %107, i16* %110, align 2, !noalias !132 %111 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %112 = load i8*, i8** %111, !noalias !132, !nonnull !1 %113 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %114 = load i16, i16* %113, !noalias !132 %115 = insertvalue %str_slice undef, i8* %112, 0 %116 = insertvalue %str_slice %115, i16 %114, 1 %117 = extractvalue %str_slice %116, 0 %118 = extractvalue %str_slice %116, 1 br label %bb60 bb60: ; preds = %bb59 %119 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %1, i1 zeroext %3, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %117, i16 %118) store i8 %119, i8* %abi_cast %120 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %120, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb61 bb61: ; preds = %bb60 %121 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %122 = load i8, i8* %121, align 1 ret i8 %122 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fG) unreachable panic2: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fI) unreachable panic3: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fJ) unreachable panic4: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fK) unreachable panic5: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fL) unreachable panic6: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fM) unreachable panic7: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fN) unreachable panic8: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fO) unreachable panic9: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fP) unreachable panic10: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fQ) unreachable panic11: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fR) unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$isize$GT$3fmt17h34544303d9f52d81E"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_71 = alloca {} %n1 = alloca i16 %_30 = alloca {} %_25 = alloca {} %_24 = alloca {} %curr = alloca i16 %buf = alloca [39 x i8] %n = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = icmp sge i16 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = call i16 @"_ZN45_$LT$isize$u20$as$u20$core..fmt..num..Int$GT$6to_u1617hacf58a041eb381f7E"(i16* noalias readonly dereferenceable(2) %0) store i16 %4, i16* %n br label %bb3 bb2: ; preds = %start %5 = call i16 @"_ZN45_$LT$isize$u20$as$u20$core..fmt..num..Int$GT$6to_u1617hacf58a041eb381f7E"(i16* noalias readonly dereferenceable(2) %0) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %6 = xor i16 %5, -1 %7 = call i16 @"_ZN4core3num21_$LT$impl$u20$u16$GT$12wrapping_add17hc97be5047d970371E"(i16 %6, i16 1) store i16 %7, i16* %n br label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5, %bb3 call void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39) %buf) br label %bb7 bb7: ; preds = %bb6 %8 = bitcast [39 x i8]* %buf to i8* %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %8, i16 39) br label %bb8 bb8: ; preds = %bb7 store i16 %9, i16* %curr %10 = bitcast [39 x i8]* %buf to i8* %11 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %10, i16 39) br label %bb9 bb9: ; preds = %bb8 %12 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly getelementptr inbounds ([200 x i8], [200 x i8]* @byte_str.fF, i32 0, i32 0), i16 200) br label %bb10 bb10: ; preds = %bb9 %13 = call i16 @_ZN4core3mem7size_of17h20bd14735cb8538dE() br label %bb11 bb11: ; preds = %bb10 %14 = icmp uge i16 %13, 2 br i1 %14, label %bb13, label %bb12 bb12: ; preds = %bb11 br label %bb32 bb13: ; preds = %bb31, %bb11 %15 = load i16, i16* %n %16 = icmp uge i16 %15, 10000 br i1 %16, label %bb15, label %bb14 bb14: ; preds = %bb13 br label %bb32 bb15: ; preds = %bb13 %17 = load i16, i16* %n br label %bb16 bb16: ; preds = %bb15 %18 = urem i16 %17, 10000 br label %bb17 bb17: ; preds = %bb16 %19 = load i16, i16* %n %20 = udiv i16 %19, 10000 store i16 %20, i16* %n br label %bb18 bb18: ; preds = %bb17 %21 = icmp eq i16 %18, -32768 %22 = and i1 false, %21 %23 = call i1 @llvm.expect.i1(i1 %22, i1 false) br i1 %23, label %panic, label %bb19 bb19: ; preds = %bb18 %24 = sdiv i16 %18, 100 %25 = shl i16 %24, 1 br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20 %26 = icmp eq i16 %18, -32768 %27 = and i1 false, %26 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic2, label %bb22 bb22: ; preds = %bb21 %29 = srem i16 %18, 100 %30 = shl i16 %29, 1 br label %bb23 bb23: ; preds = %bb22 %31 = load i16, i16* %curr %32 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %31, i16 4) %33 = extractvalue { i16, i1 } %32, 0 %34 = extractvalue { i16, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic3, label %bb24 bb24: ; preds = %bb23 store i16 %33, i16* %curr %36 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %25) br label %bb25 bb25: ; preds = %bb24 %37 = load i16, i16* %curr %38 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %37) br label %bb26 bb26: ; preds = %bb25 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %38, i8* %36, i16 2, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %39 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %30) br label %bb28 bb28: ; preds = %bb27 %40 = load i16, i16* %curr %41 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %40, i16 2) %42 = extractvalue { i16, i1 } %41, 0 %43 = extractvalue { i16, i1 } %41, 1 %44 = call i1 @llvm.expect.i1(i1 %43, i1 false) br i1 %44, label %panic4, label %bb29 bb29: ; preds = %bb28 %45 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %42) br label %bb30 bb30: ; preds = %bb29 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %45, i8* %39, i16 2, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb13 bb32: ; preds = %bb12, %bb14 %46 = load i16, i16* %n store i16 %46, i16* %n1 %47 = load i16, i16* %n1 %48 = icmp sge i16 %47, 100 br i1 %48, label %bb33, label %bb34 bb33: ; preds = %bb32 %49 = load i16, i16* %n1 br label %bb35 bb34: ; preds = %bb32 br label %bb44 bb35: ; preds = %bb33 %50 = icmp eq i16 %49, -32768 %51 = and i1 false, %50 %52 = call i1 @llvm.expect.i1(i1 %51, i1 false) br i1 %52, label %panic5, label %bb36 bb36: ; preds = %bb35 %53 = srem i16 %49, 100 %54 = shl i16 %53, 1 br label %bb37 bb37: ; preds = %bb36 br label %bb38 bb38: ; preds = %bb37 %55 = load i16, i16* %n1 %56 = icmp eq i16 %55, -32768 %57 = and i1 false, %56 %58 = call i1 @llvm.expect.i1(i1 %57, i1 false) br i1 %58, label %panic6, label %bb39 bb39: ; preds = %bb38 %59 = load i16, i16* %n1 %60 = sdiv i16 %59, 100 store i16 %60, i16* %n1 %61 = load i16, i16* %curr %62 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %61, i16 2) %63 = extractvalue { i16, i1 } %62, 0 %64 = extractvalue { i16, i1 } %62, 1 %65 = call i1 @llvm.expect.i1(i1 %64, i1 false) br i1 %65, label %panic7, label %bb40 bb40: ; preds = %bb39 store i16 %63, i16* %curr %66 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %54) br label %bb41 bb41: ; preds = %bb40 %67 = load i16, i16* %curr %68 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %67) br label %bb42 bb42: ; preds = %bb41 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %68, i8* %66, i16 2, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb34, %bb43 %69 = load i16, i16* %n1 %70 = icmp slt i16 %69, 10 br i1 %70, label %bb45, label %bb46 bb45: ; preds = %bb44 %71 = load i16, i16* %curr %72 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %71, i16 1) %73 = extractvalue { i16, i1 } %72, 0 %74 = extractvalue { i16, i1 } %72, 1 %75 = call i1 @llvm.expect.i1(i1 %74, i1 false) br i1 %75, label %panic8, label %bb47 bb46: ; preds = %bb44 %76 = load i16, i16* %n1 %77 = shl i16 %76, 1 br label %bb50 bb47: ; preds = %bb45 store i16 %73, i16* %curr %78 = load i16, i16* %n1 %79 = trunc i16 %78 to i8 %80 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %79, i8 48) %81 = extractvalue { i8, i1 } %80, 0 %82 = extractvalue { i8, i1 } %80, 1 %83 = call i1 @llvm.expect.i1(i1 %82, i1 false) br i1 %83, label %panic9, label %bb48 bb48: ; preds = %bb47 %84 = load i16, i16* %curr %85 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %84) br label %bb49 bb49: ; preds = %bb48 store i8 %81, i8* %85 br label %bb55 bb50: ; preds = %bb46 %86 = load i16, i16* %curr %87 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %86, i16 2) %88 = extractvalue { i16, i1 } %87, 0 %89 = extractvalue { i16, i1 } %87, 1 %90 = call i1 @llvm.expect.i1(i1 %89, i1 false) br i1 %90, label %panic10, label %bb51 bb51: ; preds = %bb50 store i16 %88, i16* %curr %91 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %77) br label %bb52 bb52: ; preds = %bb51 %92 = load i16, i16* %curr %93 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %92) br label %bb53 bb53: ; preds = %bb52 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %93, i8* %91, i16 2, i32 1, i1 false) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb49 %94 = load i16, i16* %curr %95 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %94) br label %bb56 bb56: ; preds = %bb55 %96 = bitcast [39 x i8]* %buf to i8* %97 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %96, i16 39) br label %bb57 bb57: ; preds = %bb56 %98 = load i16, i16* %curr %99 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %97, i16 %98) %100 = extractvalue { i16, i1 } %99, 0 %101 = extractvalue { i16, i1 } %99, 1 %102 = call i1 @llvm.expect.i1(i1 %101, i1 false) br i1 %102, label %panic11, label %bb58 bb58: ; preds = %bb57 %103 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %95, i16 %100) %104 = extractvalue { i8*, i16 } %103, 0 %105 = extractvalue { i8*, i16 } %103, 1 br label %bb59 bb59: ; preds = %bb58 %106 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %107 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %106, i32 0, i32 0 store i8* %104, i8** %107, align 2, !noalias !135 %108 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %106, i32 0, i32 1 store i16 %105, i16* %108, align 2, !noalias !135 %109 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %110 = load i8*, i8** %109, !noalias !135, !nonnull !1 %111 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %112 = load i16, i16* %111, !noalias !135 %113 = insertvalue %str_slice undef, i8* %110, 0 %114 = insertvalue %str_slice %113, i16 %112, 1 %115 = extractvalue %str_slice %114, 0 %116 = extractvalue %str_slice %114, 1 br label %bb60 bb60: ; preds = %bb59 %117 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %1, i1 zeroext %3, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %115, i16 %116) store i8 %117, i8* %abi_cast %118 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %118, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb61 bb61: ; preds = %bb60 %119 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %120 = load i8, i8* %119, align 1 ret i8 %120 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fG) unreachable panic2: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fI) unreachable panic3: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fJ) unreachable panic4: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fK) unreachable panic5: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fL) unreachable panic6: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fM) unreachable panic7: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fN) unreachable panic8: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fO) unreachable panic9: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fP) unreachable panic10: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fQ) unreachable panic11: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fR) unreachable } ; Function Attrs: uwtable define i8 @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hc6b46770a71e0a0bE"(i16* noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %transmute_temp.i = alloca %str_slice %abi_cast = alloca i8 %_71 = alloca {} %n1 = alloca i16 %_30 = alloca {} %_25 = alloca {} %_24 = alloca {} %curr = alloca i16 %buf = alloca [39 x i8] %n = alloca i16 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i16, i16* %0 %3 = icmp uge i16 %2, 0 br i1 %3, label %bb1, label %bb2 bb1: ; preds = %start %4 = call i16 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$6to_u1617h7ea0fa10b9134074E"(i16* noalias readonly dereferenceable(2) %0) store i16 %4, i16* %n br label %bb3 bb2: ; preds = %start %5 = call i16 @"_ZN45_$LT$usize$u20$as$u20$core..fmt..num..Int$GT$6to_u1617h7ea0fa10b9134074E"(i16* noalias readonly dereferenceable(2) %0) br label %bb4 bb3: ; preds = %bb1 br label %bb6 bb4: ; preds = %bb2 %6 = xor i16 %5, -1 %7 = call i16 @"_ZN4core3num21_$LT$impl$u20$u16$GT$12wrapping_add17hc97be5047d970371E"(i16 %6, i16 1) store i16 %7, i16* %n br label %bb5 bb5: ; preds = %bb4 br label %bb6 bb6: ; preds = %bb5, %bb3 call void @_ZN4core3mem13uninitialized17h12474fbb90e84a9cE([39 x i8]* noalias nocapture sret dereferenceable(39) %buf) br label %bb7 bb7: ; preds = %bb6 %8 = bitcast [39 x i8]* %buf to i8* %9 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %8, i16 39) br label %bb8 bb8: ; preds = %bb7 store i16 %9, i16* %curr %10 = bitcast [39 x i8]* %buf to i8* %11 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h72ef303f55ca15adE"(i8* nonnull %10, i16 39) br label %bb9 bb9: ; preds = %bb8 %12 = call i8* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h962d7164ee5653f8E"(i8* noalias nonnull readonly getelementptr inbounds ([200 x i8], [200 x i8]* @byte_str.fF, i32 0, i32 0), i16 200) br label %bb10 bb10: ; preds = %bb9 %13 = call i16 @_ZN4core3mem7size_of17hc3fafdf0ad8d8c43E() br label %bb11 bb11: ; preds = %bb10 %14 = icmp uge i16 %13, 2 br i1 %14, label %bb13, label %bb12 bb12: ; preds = %bb11 br label %bb32 bb13: ; preds = %bb31, %bb11 %15 = load i16, i16* %n %16 = icmp uge i16 %15, 10000 br i1 %16, label %bb15, label %bb14 bb14: ; preds = %bb13 br label %bb32 bb15: ; preds = %bb13 %17 = load i16, i16* %n br label %bb16 bb16: ; preds = %bb15 %18 = urem i16 %17, 10000 br label %bb17 bb17: ; preds = %bb16 %19 = load i16, i16* %n %20 = udiv i16 %19, 10000 store i16 %20, i16* %n br label %bb18 bb18: ; preds = %bb17 %21 = icmp eq i16 %18, -32768 %22 = and i1 false, %21 %23 = call i1 @llvm.expect.i1(i1 %22, i1 false) br i1 %23, label %panic, label %bb19 bb19: ; preds = %bb18 %24 = sdiv i16 %18, 100 %25 = shl i16 %24, 1 br label %bb20 bb20: ; preds = %bb19 br label %bb21 bb21: ; preds = %bb20 %26 = icmp eq i16 %18, -32768 %27 = and i1 false, %26 %28 = call i1 @llvm.expect.i1(i1 %27, i1 false) br i1 %28, label %panic2, label %bb22 bb22: ; preds = %bb21 %29 = srem i16 %18, 100 %30 = shl i16 %29, 1 br label %bb23 bb23: ; preds = %bb22 %31 = load i16, i16* %curr %32 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %31, i16 4) %33 = extractvalue { i16, i1 } %32, 0 %34 = extractvalue { i16, i1 } %32, 1 %35 = call i1 @llvm.expect.i1(i1 %34, i1 false) br i1 %35, label %panic3, label %bb24 bb24: ; preds = %bb23 store i16 %33, i16* %curr %36 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %25) br label %bb25 bb25: ; preds = %bb24 %37 = load i16, i16* %curr %38 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %37) br label %bb26 bb26: ; preds = %bb25 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %38, i8* %36, i16 2, i32 1, i1 false) br label %bb27 bb27: ; preds = %bb26 %39 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %30) br label %bb28 bb28: ; preds = %bb27 %40 = load i16, i16* %curr %41 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %40, i16 2) %42 = extractvalue { i16, i1 } %41, 0 %43 = extractvalue { i16, i1 } %41, 1 %44 = call i1 @llvm.expect.i1(i1 %43, i1 false) br i1 %44, label %panic4, label %bb29 bb29: ; preds = %bb28 %45 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %42) br label %bb30 bb30: ; preds = %bb29 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %45, i8* %39, i16 2, i32 1, i1 false) br label %bb31 bb31: ; preds = %bb30 br label %bb13 bb32: ; preds = %bb12, %bb14 %46 = load i16, i16* %n store i16 %46, i16* %n1 %47 = load i16, i16* %n1 %48 = icmp sge i16 %47, 100 br i1 %48, label %bb33, label %bb34 bb33: ; preds = %bb32 %49 = load i16, i16* %n1 br label %bb35 bb34: ; preds = %bb32 br label %bb44 bb35: ; preds = %bb33 %50 = icmp eq i16 %49, -32768 %51 = and i1 false, %50 %52 = call i1 @llvm.expect.i1(i1 %51, i1 false) br i1 %52, label %panic5, label %bb36 bb36: ; preds = %bb35 %53 = srem i16 %49, 100 %54 = shl i16 %53, 1 br label %bb37 bb37: ; preds = %bb36 br label %bb38 bb38: ; preds = %bb37 %55 = load i16, i16* %n1 %56 = icmp eq i16 %55, -32768 %57 = and i1 false, %56 %58 = call i1 @llvm.expect.i1(i1 %57, i1 false) br i1 %58, label %panic6, label %bb39 bb39: ; preds = %bb38 %59 = load i16, i16* %n1 %60 = sdiv i16 %59, 100 store i16 %60, i16* %n1 %61 = load i16, i16* %curr %62 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %61, i16 2) %63 = extractvalue { i16, i1 } %62, 0 %64 = extractvalue { i16, i1 } %62, 1 %65 = call i1 @llvm.expect.i1(i1 %64, i1 false) br i1 %65, label %panic7, label %bb40 bb40: ; preds = %bb39 store i16 %63, i16* %curr %66 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %54) br label %bb41 bb41: ; preds = %bb40 %67 = load i16, i16* %curr %68 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %67) br label %bb42 bb42: ; preds = %bb41 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %68, i8* %66, i16 2, i32 1, i1 false) br label %bb43 bb43: ; preds = %bb42 br label %bb44 bb44: ; preds = %bb34, %bb43 %69 = load i16, i16* %n1 %70 = icmp slt i16 %69, 10 br i1 %70, label %bb45, label %bb46 bb45: ; preds = %bb44 %71 = load i16, i16* %curr %72 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %71, i16 1) %73 = extractvalue { i16, i1 } %72, 0 %74 = extractvalue { i16, i1 } %72, 1 %75 = call i1 @llvm.expect.i1(i1 %74, i1 false) br i1 %75, label %panic8, label %bb47 bb46: ; preds = %bb44 %76 = load i16, i16* %n1 %77 = shl i16 %76, 1 br label %bb50 bb47: ; preds = %bb45 store i16 %73, i16* %curr %78 = load i16, i16* %n1 %79 = trunc i16 %78 to i8 %80 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %79, i8 48) %81 = extractvalue { i8, i1 } %80, 0 %82 = extractvalue { i8, i1 } %80, 1 %83 = call i1 @llvm.expect.i1(i1 %82, i1 false) br i1 %83, label %panic9, label %bb48 bb48: ; preds = %bb47 %84 = load i16, i16* %curr %85 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %84) br label %bb49 bb49: ; preds = %bb48 store i8 %81, i8* %85 br label %bb55 bb50: ; preds = %bb46 %86 = load i16, i16* %curr %87 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %86, i16 2) %88 = extractvalue { i16, i1 } %87, 0 %89 = extractvalue { i16, i1 } %87, 1 %90 = call i1 @llvm.expect.i1(i1 %89, i1 false) br i1 %90, label %panic10, label %bb51 bb51: ; preds = %bb50 store i16 %88, i16* %curr %91 = call i8* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h94169c2dc1fc1711E"(i8* %12, i16 %77) br label %bb52 bb52: ; preds = %bb51 %92 = load i16, i16* %curr %93 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %92) br label %bb53 bb53: ; preds = %bb52 call void @llvm.memcpy.p0i8.p0i8.i16(i8* %93, i8* %91, i16 2, i32 1, i1 false) br label %bb54 bb54: ; preds = %bb53 br label %bb55 bb55: ; preds = %bb54, %bb49 %94 = load i16, i16* %curr %95 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17hd41a35f62290a8a7E"(i8* %11, i16 %94) br label %bb56 bb56: ; preds = %bb55 %96 = bitcast [39 x i8]* %buf to i8* %97 = call i16 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17h902ea0b253547c79E"(i8* noalias nonnull readonly %96, i16 39) br label %bb57 bb57: ; preds = %bb56 %98 = load i16, i16* %curr %99 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %97, i16 %98) %100 = extractvalue { i16, i1 } %99, 0 %101 = extractvalue { i16, i1 } %99, 1 %102 = call i1 @llvm.expect.i1(i1 %101, i1 false) br i1 %102, label %panic11, label %bb58 bb58: ; preds = %bb57 %103 = call { i8*, i16 } @_ZN4core5slice14from_raw_parts17he78363ea8463231cE(i8* %95, i16 %100) %104 = extractvalue { i8*, i16 } %103, 0 %105 = extractvalue { i8*, i16 } %103, 1 br label %bb59 bb59: ; preds = %bb58 %106 = bitcast %str_slice* %transmute_temp.i to { i8*, i16 }* %107 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %106, i32 0, i32 0 store i8* %104, i8** %107, align 2, !noalias !138 %108 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %106, i32 0, i32 1 store i16 %105, i16* %108, align 2, !noalias !138 %109 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 0 %110 = load i8*, i8** %109, !noalias !138, !nonnull !1 %111 = getelementptr inbounds %str_slice, %str_slice* %transmute_temp.i, i32 0, i32 1 %112 = load i16, i16* %111, !noalias !138 %113 = insertvalue %str_slice undef, i8* %110, 0 %114 = insertvalue %str_slice %113, i16 %112, 1 %115 = extractvalue %str_slice %114, 0 %116 = extractvalue %str_slice %114, 1 br label %bb60 bb60: ; preds = %bb59 %117 = call i8 @_ZN4core3fmt9Formatter12pad_integral17h74fc2b9218e788c1E(%"fmt::Formatter"* dereferenceable(32) %1, i1 zeroext %3, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @str.7D, i32 0, i32 0), i16 0, i8* noalias nonnull readonly %115, i16 %116) store i8 %117, i8* %abi_cast %118 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %118, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb61 bb61: ; preds = %bb60 %119 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %120 = load i8, i8* %119, align 1 ret i8 %120 panic: ; preds = %bb18 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fG) unreachable panic2: ; preds = %bb21 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fI) unreachable panic3: ; preds = %bb23 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fJ) unreachable panic4: ; preds = %bb28 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fK) unreachable panic5: ; preds = %bb35 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fL) unreachable panic6: ; preds = %bb38 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fM) unreachable panic7: ; preds = %bb39 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fN) unreachable panic8: ; preds = %bb45 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fO) unreachable panic9: ; preds = %bb47 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fP) unreachable panic10: ; preds = %bb50 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fQ) unreachable panic11: ; preds = %bb57 call void @_ZN4core9panicking5panic17h4f7448e201d24490E({ %str_slice, %str_slice, i32 }* @panic_loc.fR) unreachable } ; Function Attrs: uwtable define i8 @"_ZN57_$LT$core..fmt..Alignment$u20$as$u20$core..fmt..Debug$GT$3fmt17h0f8aaa7e61a1a2ffE"(i8* noalias readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast6 = alloca i8 %abi_cast5 = alloca i8 %abi_cast4 = alloca i8 %abi_cast = alloca i8 %builder3 = alloca %"fmt::builders::DebugTuple" %builder2 = alloca %"fmt::builders::DebugTuple" %builder1 = alloca %"fmt::builders::DebugTuple" %builder = alloca %"fmt::builders::DebugTuple" %_5 = alloca { i8* } %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 store i8* %0, i8** %2 %3 = getelementptr inbounds { i8* }, { i8* }* %_5, i32 0, i32 0 %4 = load i8*, i8** %3, !nonnull !1 %5 = load i8, i8* %4, !range !6 %6 = zext i8 %5 to i16 switch i16 %6, label %bb4 [ i16 0, label %bb1 i16 1, label %bb2 i16 2, label %bb3 ] bb1: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([4 x i8], [4 x i8]* @str.g9, i32 0, i32 0), i16 4) br label %bb6 bb2: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder1, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.g8, i32 0, i32 0), i16 5) br label %bb8 bb3: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder2, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([6 x i8], [6 x i8]* @str.g7, i32 0, i32 0), i16 6) br label %bb10 bb4: ; preds = %start call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder3, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([7 x i8], [7 x i8]* @str.g6, i32 0, i32 0), i16 7) br label %bb12 bb5: ; preds = %bb7, %bb9, %bb11, %bb13 %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %8 = load i8, i8* %7, align 1 ret i8 %8 bb6: ; preds = %bb1 %9 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %9, i8* %abi_cast6 %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast6, i16 1, i32 1, i1 false) br label %bb7 bb7: ; preds = %bb6 br label %bb5 bb8: ; preds = %bb2 %11 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder1) store i8 %11, i8* %abi_cast5 %12 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %12, i8* %abi_cast5, i16 1, i32 1, i1 false) br label %bb9 bb9: ; preds = %bb8 br label %bb5 bb10: ; preds = %bb3 %13 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder2) store i8 %13, i8* %abi_cast4 %14 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %14, i8* %abi_cast4, i16 1, i32 1, i1 false) br label %bb11 bb11: ; preds = %bb10 br label %bb5 bb12: ; preds = %bb4 %15 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder3) store i8 %15, i8* %abi_cast %16 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %16, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb13 bb13: ; preds = %bb12 br label %bb5 } ; Function Attrs: uwtable define i8 @"_ZN53_$LT$core..fmt..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h69c70d4be61f4b29E"(%"fmt::Error"* noalias readonly, %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %builder = alloca %"fmt::builders::DebugTuple" %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block call void @_ZN4core3fmt9Formatter11debug_tuple17h32809b9aa426a603E(%"fmt::builders::DebugTuple"* noalias nocapture sret dereferenceable(8) %builder, %"fmt::Formatter"* dereferenceable(32) %1, i8* noalias nonnull readonly getelementptr inbounds ([5 x i8], [5 x i8]* @str.ga, i32 0, i32 0), i16 5) br label %bb1 bb1: ; preds = %start %2 = call i8 @_ZN4core3fmt8builders10DebugTuple6finish17h98ca7a011eb404bbE(%"fmt::builders::DebugTuple"* dereferenceable(8) %builder) store i8 %2, i8* %abi_cast %3 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %3, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb2 bb2: ; preds = %bb1 %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %5 = load i8, i8* %4, align 1 ret i8 %5 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h021fb8e45336fa8cE"(i64** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i64*, i64** %0, !nonnull !1 %3 = call i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i64$GT$3fmt17h5aa941f66d07b993E"(i64* noalias readonly dereferenceable(8) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h02adb0908191972eE"(%"str::CharIndices"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"str::CharIndices"*, %"str::CharIndices"** %0, !nonnull !1 %3 = call i8 @"_ZN73_$LT$core..str..CharIndices$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h68add5d3b272f35fE"(%"str::CharIndices"* noalias readonly dereferenceable(6) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h040c345661acf167E"(%"str::pattern::CharEqSearcher"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"str::pattern::CharEqSearcher"*, %"str::pattern::CharEqSearcher"** %0, !nonnull !1 %3 = call i8 @"_ZN94_$LT$core..str..pattern..CharEqSearcher$LT$$u27$a$C$$u20$C$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h201d2b795ee3f796E"(%"str::pattern::CharEqSearcher"* noalias readonly dereferenceable(16) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0555eceffc55d495E"(i16** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i16*, i16** %0, !nonnull !1 %3 = call i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u16$GT$3fmt17he77858b6931c345fE"(i16* noalias readonly dereferenceable(2) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h07c0203af6558673E"(%"char::EscapeDefault"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"char::EscapeDefault"*, %"char::EscapeDefault"** %0, !nonnull !1 %3 = call i8 @"_ZN62_$LT$core..char..EscapeDefault$u20$as$u20$core..fmt..Debug$GT$3fmt17h0cbed507e9c971a2E"(%"char::EscapeDefault"* noalias readonly dereferenceable(12) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0a52dfbcf7070eaeE"(i8** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i8*, i8** %0, !nonnull !1 %3 = call i8 @"_ZN41_$LT$bool$u20$as$u20$core..fmt..Debug$GT$3fmt17h39b75d22877987b9E"(i8* noalias readonly dereferenceable(1) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0e077634f524ed68E"(i32** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i32*, i32** %0, !nonnull !1 %3 = call i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u32$GT$3fmt17h4bb12bbec5f6a2caE"(i32* noalias readonly dereferenceable(4) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h114eaef0ac3795d8E"(%"option::Option"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"option::Option"*, %"option::Option"** %0, !nonnull !1 %3 = call i8 @"_ZN66_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h49aaac194122d38cE"(%"option::Option"* noalias readonly dereferenceable(2) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h16dcbf5cbf3eb556E"(%"hash::sip::Hasher"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"hash::sip::Hasher"*, %"hash::sip::Hasher"** %0, !nonnull !1 %3 = call i8 @"_ZN69_$LT$core..hash..sip..Hasher$LT$S$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hd8c27620de34f938E"(%"hash::sip::Hasher"* noalias readonly dereferenceable(72) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h24fc3e1522fb664eE"({ i32*, i16 }** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load { i32*, i16 }*, { i32*, i16 }** %0, !nonnull !1 %3 = call i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h26275c772d64c503E"({ i32*, i16 }* noalias readonly dereferenceable(4) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h26275c772d64c503E"({ i32*, i16 }* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %0, i32 0, i32 0 %3 = load i32*, i32** %2, !nonnull !1 %4 = getelementptr inbounds { i32*, i16 }, { i32*, i16 }* %0, i32 0, i32 1 %5 = load i16, i16* %4 %6 = call i8 @"_ZN48_$LT$$u5b$T$u5d$$u20$as$u20$core..fmt..Debug$GT$3fmt17h1a8cf9a301e0170eE"(i32* noalias nonnull readonly %3, i16 %5, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %6, i8* %abi_cast %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %8 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %9 = load i8, i8* %8, align 1 ret i8 %9 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h30d310258df22f26E"(%"hash::sip::Hasher"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"hash::sip::Hasher"*, %"hash::sip::Hasher"** %0, !nonnull !1 %3 = call i8 @"_ZN69_$LT$core..hash..sip..Hasher$LT$S$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h2c7641b4c7baa195E"(%"hash::sip::Hasher"* noalias readonly dereferenceable(72) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h43b116534b6a1d9cE"(%"str::Chars"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"str::Chars"*, %"str::Chars"** %0, !nonnull !1 %3 = call i8 @"_ZN67_$LT$core..str..Chars$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h60f6a831042b5f49E"(%"str::Chars"* noalias readonly dereferenceable(4) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h476f9150a77a9f7dE"(%"str::pattern::EmptyNeedle"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"str::pattern::EmptyNeedle"*, %"str::pattern::EmptyNeedle"** %0, !nonnull !1 %3 = call i8 @"_ZN68_$LT$core..str..pattern..EmptyNeedle$u20$as$u20$core..fmt..Debug$GT$3fmt17h1a5c61040fadd888E"(%"str::pattern::EmptyNeedle"* noalias readonly dereferenceable(6) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4ac5fcaae806d36aE"(i32** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i32*, i32** %0, !nonnull !1 %3 = call i8 @"_ZN41_$LT$char$u20$as$u20$core..fmt..Debug$GT$3fmt17h231506979b24d292E"(i32* noalias readonly dereferenceable(4) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4bd5cbb0a4c6993fE"(%"str::pattern::StrSearcherImpl"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"str::pattern::StrSearcherImpl"*, %"str::pattern::StrSearcherImpl"** %0, !nonnull !1 %3 = call i8 @"_ZN72_$LT$core..str..pattern..StrSearcherImpl$u20$as$u20$core..fmt..Debug$GT$3fmt17h03b7d829666c2649E"(%"str::pattern::StrSearcherImpl"* noalias readonly dereferenceable(32) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4fd55fd4623c1a54E"(%str_slice** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %str_slice*, %str_slice** %0, !nonnull !1 %3 = call i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h5bd27be76aeb84feE"(%str_slice* noalias readonly dereferenceable(4) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h54bd37477622b536E"(%"marker::PhantomData"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"marker::PhantomData"*, %"marker::PhantomData"** %0, !nonnull !1 %3 = call i8 @"_ZN71_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h3b8ca1f1a1f3ff9dE"(%"marker::PhantomData"* noalias readonly %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h5bd27be76aeb84feE"(%str_slice* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %str_slice, %str_slice* %0, i32 0, i32 0 %3 = load i8*, i8** %2, !nonnull !1 %4 = getelementptr inbounds %str_slice, %str_slice* %0, i32 0, i32 1 %5 = load i16, i16* %4 %6 = call i8 @"_ZN40_$LT$str$u20$as$u20$core..fmt..Debug$GT$3fmt17h2859099716b7654bE"(i8* noalias nonnull readonly %3, i16 %5, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %6, i8* %abi_cast %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %8 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %9 = load i8, i8* %8, align 1 ret i8 %9 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h5bfe5dfea651b483E"(%"str::pattern::TwoWaySearcher"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"str::pattern::TwoWaySearcher"*, %"str::pattern::TwoWaySearcher"** %0, !nonnull !1 %3 = call i8 @"_ZN71_$LT$core..str..pattern..TwoWaySearcher$u20$as$u20$core..fmt..Debug$GT$3fmt17hf1ca58ef8d64a486E"(%"str::pattern::TwoWaySearcher"* noalias readonly dereferenceable(24) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h60da0c873e70a85aE"(%"char::EscapeDefaultState"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"char::EscapeDefaultState"*, %"char::EscapeDefaultState"** %0, !nonnull !1 %3 = call i8 @"_ZN67_$LT$core..char..EscapeDefaultState$u20$as$u20$core..fmt..Debug$GT$3fmt17hac81f9b384fb1580E"(%"char::EscapeDefaultState"* noalias readonly dereferenceable(12) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h616fa81013213fc5E"({ i8*, i16 }** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load { i8*, i16 }*, { i8*, i16 }** %0, !nonnull !1 %3 = call i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7b00f3d483be2e73E"({ i8*, i16 }* noalias readonly dereferenceable(4) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h66f8980708eb626cE"(%"str::Lines"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"str::Lines"*, %"str::Lines"** %0, !nonnull !1 %3 = call i8 @"_ZN67_$LT$core..str..Lines$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h766f34bc86c6bea5E"(%"str::Lines"* dereferenceable(24) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6731735a6e9ca86bE"(%"char::EscapeUnicode"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"char::EscapeUnicode"*, %"char::EscapeUnicode"** %0, !nonnull !1 %3 = call i8 @"_ZN62_$LT$core..char..EscapeUnicode$u20$as$u20$core..fmt..Debug$GT$3fmt17hb899fa13a7c247abE"(%"char::EscapeUnicode"* noalias readonly dereferenceable(8) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6911bd12d17307ffE"(i16** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i16*, i16** %0, !nonnull !1 %3 = call i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h6522a18f19176b1eE"(i16* noalias readonly dereferenceable(2) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f4bf9d3372efe6eE"({ i8*, void (i8*)** }* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %0, i32 0, i32 0 %3 = load i8*, i8** %2, !nonnull !1 %4 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %0, i32 0, i32 1 %5 = load void (i8*)**, void (i8*)*** %4, !nonnull !1 %6 = getelementptr inbounds void (i8*)*, void (i8*)** %5, i32 3 %7 = load void (i8*)*, void (i8*)** %6, !invariant.load !1, !nonnull !1 %8 = bitcast void (i8*)* %7 to i8 (i8*, %"fmt::Formatter"*)* %9 = call i8 %8(i8* nonnull %3, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %9, i8* %abi_cast %10 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %10, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %11 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %12 = load i8, i8* %11, align 1 ret i8 %12 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h746d1571f426d371E"(%"option::Option"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"option::Option"*, %"option::Option"** %0, !nonnull !1 %3 = call i8 @"_ZN66_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h31f6125e60ed0b6aE"(%"option::Option"* noalias readonly dereferenceable(4) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h767707744d2ddfebE"(%"iter::Map, str::LinesAnyMap>"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"iter::Map, str::LinesAnyMap>"*, %"iter::Map, str::LinesAnyMap>"** %0, !nonnull !1 %3 = call i8 @"_ZN70_$LT$core..iter..Map$LT$I$C$$u20$F$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h3bf3e326d931bcfeE"(%"iter::Map, str::LinesAnyMap>"* dereferenceable(24) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h79bdde62fbe8ab4cE"(i8** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i8*, i8** %0, !nonnull !1 %3 = call i8 @"_ZN60_$LT$core..num..IntErrorKind$u20$as$u20$core..fmt..Debug$GT$3fmt17hcec3a2c449dc093cE"(i8* noalias readonly dereferenceable(1) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7b00f3d483be2e73E"({ i8*, i16 }* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %0, i32 0, i32 0 %3 = load i8*, i8** %2, !nonnull !1 %4 = getelementptr inbounds { i8*, i16 }, { i8*, i16 }* %0, i32 0, i32 1 %5 = load i16, i16* %4 %6 = call i8 @"_ZN48_$LT$$u5b$T$u5d$$u20$as$u20$core..fmt..Debug$GT$3fmt17he365b22e375f5063E"(i8* noalias nonnull readonly %3, i16 %5, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %6, i8* %abi_cast %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %8 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %9 = load i8, i8* %8, align 1 ret i8 %9 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7dc37617bd1042e0E"(i16** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i16*, i16** %0, !nonnull !1 %3 = call i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i16$GT$3fmt17hcc604328e0447177E"(i16* noalias readonly dereferenceable(2) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h8607aeeda06719dcE"(%"str::pattern::CharEqSearcher<&[char]>"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"str::pattern::CharEqSearcher<&[char]>"*, %"str::pattern::CharEqSearcher<&[char]>"** %0, !nonnull !1 %3 = call i8 @"_ZN94_$LT$core..str..pattern..CharEqSearcher$LT$$u27$a$C$$u20$C$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hf18d8f2473df017bE"(%"str::pattern::CharEqSearcher<&[char]>"* noalias readonly dereferenceable(16) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h8aa282aa6b530220E"(%"marker::PhantomData"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"marker::PhantomData"*, %"marker::PhantomData"** %0, !nonnull !1 %3 = call i8 @"_ZN71_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hc1882bc8b058242eE"(%"marker::PhantomData"* noalias readonly %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h8fd42b272e3a069cE"(%"slice::Iter"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"slice::Iter"*, %"slice::Iter"** %0, !nonnull !1 %3 = call i8 @"_ZN77_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hbaae357819f88a29E"(%"slice::Iter"* noalias readonly dereferenceable(4) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h980b312471defcaeE"(%"num::dec2flt::parse::Decimal"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"num::dec2flt::parse::Decimal"*, %"num::dec2flt::parse::Decimal"** %0, !nonnull !1 %3 = call i8 @"_ZN85_$LT$core..num..dec2flt..parse..Decimal$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h7456c7adc599ae85E"(%"num::dec2flt::parse::Decimal"* noalias readonly dereferenceable(16) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h98e492d837d048d3E"(%"num::flt2dec::decoder::Decoded"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"num::flt2dec::decoder::Decoded"*, %"num::flt2dec::decoder::Decoded"** %0, !nonnull !1 %3 = call i8 @"_ZN73_$LT$core..num..flt2dec..decoder..Decoded$u20$as$u20$core..fmt..Debug$GT$3fmt17he90cf2b3b49188bdE"(%"num::flt2dec::decoder::Decoded"* noalias readonly dereferenceable(32) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17ha182f808b5684546E"({}** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load {}*, {}** %0, !nonnull !1 %3 = call i8 @"_ZN45_$LT$$LP$$RP$$u20$as$u20$core..fmt..Debug$GT$3fmt17h8a1083466d593d48E"({}* noalias readonly %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17ha2617f3974fd7eb8E"(%"hash::sip::State"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"hash::sip::State"*, %"hash::sip::State"** %0, !nonnull !1 %3 = call i8 @"_ZN59_$LT$core..hash..sip..State$u20$as$u20$core..fmt..Debug$GT$3fmt17h6bc1182b1de2c998E"(%"hash::sip::State"* noalias readonly dereferenceable(32) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17ha455224a66cd9dceE"(%"hash::sip::SipHasher24"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"hash::sip::SipHasher24"*, %"hash::sip::SipHasher24"** %0, !nonnull !1 %3 = call i8 @"_ZN65_$LT$core..hash..sip..SipHasher24$u20$as$u20$core..fmt..Debug$GT$3fmt17hb09de7982ee3b746E"(%"hash::sip::SipHasher24"* noalias readonly dereferenceable(72) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hc6bce8b1263db721E"(i64** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i64*, i64** %0, !nonnull !1 %3 = call i8 @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u64$GT$3fmt17h6b280842c8efb34bE"(i64* noalias readonly dereferenceable(8) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hd748daefd2dab943E"(i8** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i8*, i8** %0, !nonnull !1 %3 = call i8 @"_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u8$GT$3fmt17hc9485a28da9d8db0E"(i8* noalias readonly dereferenceable(1) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hd858bf7f4fba14b0E"(%"iter::Cloned>"** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load %"iter::Cloned>"*, %"iter::Cloned>"** %0, !nonnull !1 %3 = call i8 @"_ZN64_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hfd83521531263fb9E"(%"iter::Cloned>"* noalias readonly dereferenceable(4) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hdec4212963da18ecE"(i8** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i8*, i8** %0, !nonnull !1 %3 = call i8 @"_ZN67_$LT$core..char..EscapeUnicodeState$u20$as$u20$core..fmt..Debug$GT$3fmt17h052b24b021d1d841E"(i8* noalias readonly dereferenceable(1) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hfe303034ce655e2aE"(i8** noalias readonly dereferenceable(2), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = load i8*, i8** %0, !nonnull !1 %3 = call i8 @"_ZN71_$LT$core..num..dec2flt..FloatErrorKind$u20$as$u20$core..fmt..Debug$GT$3fmt17h1bb487da84b5a2caE"(i8* noalias readonly dereferenceable(1) %2, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %3, i8* %abi_cast %4 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %4, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %5 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %6 = load i8, i8* %5, align 1 ret i8 %6 } ; Function Attrs: uwtable define internal i8 @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17h4bbcc01e49225b74E"(%str_slice* noalias readonly dereferenceable(4), %"fmt::Formatter"* dereferenceable(32)) unnamed_addr #1 { entry-block: %abi_cast = alloca i8 %_0 = alloca %"result::Result<(), fmt::Error>" br label %start start: ; preds = %entry-block %2 = getelementptr inbounds %str_slice, %str_slice* %0, i32 0, i32 0 %3 = load i8*, i8** %2, !nonnull !1 %4 = getelementptr inbounds %str_slice, %str_slice* %0, i32 0, i32 1 %5 = load i16, i16* %4 %6 = call i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h885a7c667bb6b275E"(i8* noalias nonnull readonly %3, i16 %5, %"fmt::Formatter"* dereferenceable(32) %1) store i8 %6, i8* %abi_cast %7 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* call void @llvm.memcpy.p0i8.p0i8.i16(i8* %7, i8* %abi_cast, i16 1, i32 1, i1 false) br label %bb1 bb1: ; preds = %start %8 = bitcast %"result::Result<(), fmt::Error>"* %_0 to i8* %9 = load i8, i8* %8, align 1 ret i8 %9 } ; Function Attrs: nounwind readnone declare { i16, i1 } @llvm.ssub.with.overflow.i16(i16, i16) #5 ; Function Attrs: nounwind readnone declare i1 @llvm.expect.i1(i1, i1) #5 ; Function Attrs: nounwind readnone declare { i64, i1 } @llvm.usub.with.overflow.i64(i64, i64) #5 ; Function Attrs: nounwind readnone declare { i64, i1 } @llvm.ssub.with.overflow.i64(i64, i64) #5 ; Function Attrs: nounwind readnone declare { i64, i1 } @llvm.sadd.with.overflow.i64(i64, i64) #5 ; Function Attrs: nounwind readnone declare { i64, i1 } @llvm.smul.with.overflow.i64(i64, i64) #5 ; Function Attrs: argmemonly nounwind declare void @llvm.memcpy.p0i8.p0i8.i16(i8* nocapture writeonly, i8* nocapture readonly, i16, i32, i1) #6 ; Function Attrs: nounwind readnone declare { i16, i1 } @llvm.usub.with.overflow.i16(i16, i16) #5 ; Function Attrs: nounwind readnone declare { i8, i1 } @llvm.uadd.with.overflow.i8(i8, i8) #5 ; Function Attrs: nounwind readnone declare { i64, i1 } @llvm.uadd.with.overflow.i64(i64, i64) #5 ; Function Attrs: nounwind readnone declare { i16, i1 } @llvm.sadd.with.overflow.i16(i16, i16) #5 ; Function Attrs: nounwind readnone declare { i16, i1 } @llvm.uadd.with.overflow.i16(i16, i16) #5 ; Function Attrs: nounwind readnone declare { i32, i1 } @llvm.ssub.with.overflow.i32(i32, i32) #5 ; Function Attrs: nounwind readnone declare { i32, i1 } @llvm.smul.with.overflow.i32(i32, i32) #5 ; Function Attrs: nounwind readnone declare { i64, i1 } @llvm.umul.with.overflow.i64(i64, i64) #5 ; Function Attrs: nounwind readnone declare { i8, i1 } @llvm.usub.with.overflow.i8(i8, i8) #5 declare i32 @rust_eh_personality(...) unnamed_addr ; Function Attrs: nounwind readnone declare { i32, i1 } @llvm.usub.with.overflow.i32(i32, i32) #5 ; Function Attrs: nounwind readnone declare { i32, i1 } @llvm.uadd.with.overflow.i32(i32, i32) #5 ; Function Attrs: nounwind readnone declare { i16, i1 } @llvm.umul.with.overflow.i16(i16, i16) #5 ; Function Attrs: noreturn declare void @rust_begin_unwind({ i32, i32, i32 }, i8* noalias nonnull readonly, i16, i32) unnamed_addr #7 ; Function Attrs: nounwind declare void @llvm.assume(i1) #8 ; Function Attrs: nounwind declare i32 @memcmp(i8*, i8*, i16) unnamed_addr #8 ; Function Attrs: nounwind readnone declare { i32, i1 } @llvm.umul.with.overflow.i32(i32, i32) #5 ; Function Attrs: nounwind readnone declare { i8, i1 } @llvm.umul.with.overflow.i8(i8, i8) #5 ; Function Attrs: nounwind readnone declare { i8, i1 } @llvm.sadd.with.overflow.i8(i8, i8) #5 ; Function Attrs: nounwind readnone declare { i8, i1 } @llvm.ssub.with.overflow.i8(i8, i8) #5 ; Function Attrs: nounwind readnone declare { i8, i1 } @llvm.smul.with.overflow.i8(i8, i8) #5 ; Function Attrs: nounwind readnone declare { i16, i1 } @llvm.smul.with.overflow.i16(i16, i16) #5 ; Function Attrs: nounwind readnone declare { i32, i1 } @llvm.sadd.with.overflow.i32(i32, i32) #5 ; Function Attrs: nounwind readnone declare { i128, i1 } @llvm.sadd.with.overflow.i128(i128, i128) #5 ; Function Attrs: nounwind readnone declare { i128, i1 } @llvm.ssub.with.overflow.i128(i128, i128) #5 ; Function Attrs: nounwind readnone declare { i128, i1 } @llvm.smul.with.overflow.i128(i128, i128) #5 ; Function Attrs: nounwind readnone declare i8 @llvm.ctlz.i8(i8, i1) #5 ; Function Attrs: nounwind readnone declare i16 @llvm.ctlz.i16(i16, i1) #5 ; Function Attrs: nounwind readnone declare i32 @llvm.ctlz.i32(i32, i1) #5 ; Function Attrs: nounwind readnone declare i64 @llvm.ctlz.i64(i64, i1) #5 ; Function Attrs: nounwind readnone declare i128 @llvm.ctlz.i128(i128, i1) #5 ; Function Attrs: nounwind readnone declare { i128, i1 } @llvm.uadd.with.overflow.i128(i128, i128) #5 ; Function Attrs: nounwind readnone declare { i128, i1 } @llvm.usub.with.overflow.i128(i128, i128) #5 ; Function Attrs: nounwind readnone declare { i128, i1 } @llvm.umul.with.overflow.i128(i128, i128) #5 ; Function Attrs: nounwind readnone declare i16 @llvm.cttz.i16(i16, i1) #5 attributes #0 = { inlinehint uwtable } attributes #1 = { uwtable } attributes #2 = { alwaysinline uwtable } attributes #3 = { cold noinline noreturn uwtable } attributes #4 = { noinline uwtable } attributes #5 = { nounwind readnone } attributes #6 = { argmemonly nounwind } attributes #7 = { noreturn } attributes #8 = { nounwind } !0 = !{i8 0, i8 5} !1 = !{} !2 = !{i8 0, i8 2} !3 = !{i16 0, i16 2} !4 = !{i16 0, i16 3} !5 = !{i64 0, i64 4} !6 = !{i8 0, i8 4} !7 = !{i8 -1, i8 2} !8 = !{i64 0, i64 2} !9 = !{i32 0, i32 2} !10 = !{i8 0, i8 6} !11 = !{i32 0, i32 1114112} !12 = !{i32 0, i32 4} !13 = !{i8 0, i8 3} !14 = !{!15, !17} !15 = distinct !{!15, !16, !"_ZN4core3str19run_utf8_validation17hef3ba2e86b6e673cE: argument 0"} !16 = distinct !{!16, !"_ZN4core3str19run_utf8_validation17hef3ba2e86b6e673cE"} !17 = distinct !{!17, !16, !"_ZN4core3str19run_utf8_validation17hef3ba2e86b6e673cE: argument 1"} !18 = !{!15} !19 = !{!17} !20 = !{!21} !21 = distinct !{!21, !22, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !22 = distinct !{!22, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !23 = !{!24} !24 = distinct !{!24, !25, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !25 = distinct !{!25, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !26 = !{!27} !27 = distinct !{!27, !28, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !28 = distinct !{!28, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !29 = !{!30} !30 = distinct !{!30, !31, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !31 = distinct !{!31, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !32 = !{!33} !33 = distinct !{!33, !34, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !34 = distinct !{!34, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !35 = !{!36} !36 = distinct !{!36, !37, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !37 = distinct !{!37, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !38 = !{!39} !39 = distinct !{!39, !40, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !40 = distinct !{!40, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !41 = !{!42} !42 = distinct !{!42, !43, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !43 = distinct !{!43, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !44 = !{!45} !45 = distinct !{!45, !46, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !46 = distinct !{!46, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !47 = !{!48} !48 = distinct !{!48, !49, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !49 = distinct !{!49, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !50 = !{!51} !51 = distinct !{!51, !52, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !52 = distinct !{!52, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !53 = !{!54} !54 = distinct !{!54, !55, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !55 = distinct !{!55, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !56 = !{!57} !57 = distinct !{!57, !58, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !58 = distinct !{!58, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !59 = !{!60} !60 = distinct !{!60, !61, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !61 = distinct !{!61, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !62 = !{!63} !63 = distinct !{!63, !64, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !64 = distinct !{!64, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !65 = !{!66} !66 = distinct !{!66, !67, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !67 = distinct !{!67, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !68 = !{!69} !69 = distinct !{!69, !70, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !70 = distinct !{!70, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !71 = !{!72} !72 = distinct !{!72, !73, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !73 = distinct !{!73, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !74 = !{!75} !75 = distinct !{!75, !76, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !76 = distinct !{!76, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !77 = !{!78} !78 = distinct !{!78, !79, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !79 = distinct !{!79, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !80 = !{!81} !81 = distinct !{!81, !82, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !82 = distinct !{!82, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !83 = !{!84} !84 = distinct !{!84, !85, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !85 = distinct !{!85, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !86 = !{!87} !87 = distinct !{!87, !88, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !88 = distinct !{!88, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !89 = !{!90} !90 = distinct !{!90, !91, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !91 = distinct !{!91, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !92 = !{!93} !93 = distinct !{!93, !94, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !94 = distinct !{!94, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !95 = !{!96} !96 = distinct !{!96, !97, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !97 = distinct !{!97, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !98 = !{i16 0, i16 4} !99 = !{!100} !100 = distinct !{!100, !101, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !101 = distinct !{!101, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !102 = !{!103} !103 = distinct !{!103, !104, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !104 = distinct !{!104, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !105 = !{!106} !106 = distinct !{!106, !107, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !107 = distinct !{!107, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !108 = !{!109} !109 = distinct !{!109, !110, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !110 = distinct !{!110, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !111 = !{!112} !112 = distinct !{!112, !113, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !113 = distinct !{!113, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !114 = !{!115} !115 = distinct !{!115, !116, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !116 = distinct !{!116, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !117 = !{!118} !118 = distinct !{!118, !119, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !119 = distinct !{!119, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !120 = !{!121} !121 = distinct !{!121, !122, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !122 = distinct !{!122, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !123 = !{!124} !124 = distinct !{!124, !125, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !125 = distinct !{!125, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !126 = !{!127} !127 = distinct !{!127, !128, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !128 = distinct !{!128, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !129 = !{!130} !130 = distinct !{!130, !131, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !131 = distinct !{!131, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !132 = !{!133} !133 = distinct !{!133, !134, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !134 = distinct !{!134, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !135 = !{!136} !136 = distinct !{!136, !137, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !137 = distinct !{!137, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"} !138 = !{!139} !139 = distinct !{!139, !140, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E: argument 0"} !140 = distinct !{!140, !"_ZN4core3str19from_utf8_unchecked17hb22f628853b0f606E"}