-
-
Save japaric/c80ed7261da397c37822fd39afc9f6e2 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = 'core.cgu-0.rs' | |
source_filename = "core.cgu-0.rs" | |
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-unknown-linux-gnu" | |
%str_slice = type { i8*, i64 } | |
%"fmt::ArgumentV1" = type { %"fmt::Void"*, [0 x i8], i8 (%"fmt::Void"*, %"fmt::Formatter"*)*, [0 x i8] } | |
%"fmt::Void" = type { {}, [0 x i8] } | |
%"fmt::Formatter" = type { %"option::Option<usize>", [0 x i8], %"option::Option<usize>", [0 x i8], { i8*, void (i8*)** }, [0 x i8], %"slice::Iter<fmt::ArgumentV1>", [0 x i8], { %"fmt::ArgumentV1"*, i64 }, [0 x i8], i32, [0 x i8], i32, [0 x i8], i8, [7 x i8] } | |
%"option::Option<usize>" = type { i64, [0 x i64], [1 x i64] } | |
%"slice::Iter<fmt::ArgumentV1>" = type { %"fmt::ArgumentV1"*, [0 x i8], %"fmt::ArgumentV1"*, [0 x i8], %"marker::PhantomData<&fmt::ArgumentV1>", [0 x i8] } | |
%"marker::PhantomData<&fmt::ArgumentV1>" = type {} | |
%"str::SplitTerminator<char>" = type { %"str::SplitInternal<char>", [0 x i8] } | |
%"str::SplitInternal<char>" = type { i64, [0 x i8], i64, [0 x i8], %"str::pattern::CharSearcher", [0 x i8], i8, [0 x i8], i8, [6 x i8] } | |
%"str::pattern::CharSearcher" = type { %"str::pattern::CharEqSearcher<char>", [0 x i8] } | |
%"str::pattern::CharEqSearcher<char>" = type { %str_slice, [0 x i8], %"str::CharIndices", [0 x i8], i32, [0 x i8], i8, [3 x i8] } | |
%"str::CharIndices" = type { i64, [0 x i8], %"str::Chars", [0 x i8] } | |
%"str::Chars" = type { %"slice::Iter<u8>", [0 x i8] } | |
%"slice::Iter<u8>" = type { i8*, [0 x i8], i8*, [0 x i8], %"marker::PhantomData<&u8>", [0 x i8] } | |
%"marker::PhantomData<&u8>" = type {} | |
%"fmt::builders::PadAdapter" = type { %"fmt::Formatter"*, [0 x i8], i8, [7 x i8] } | |
%"fmt::Arguments" = type { { %str_slice*, i64 }, [0 x i8], %"option::Option<&[fmt::rt::v1::Argument]>", [0 x i8], { %"fmt::ArgumentV1"*, i64 }, [0 x i8] } | |
%"option::Option<&[fmt::rt::v1::Argument]>" = type { { %"fmt::rt::v1::Argument"*, i64 }, [0 x i8] } | |
%"fmt::rt::v1::Argument" = type { %"fmt::rt::v1::Position", [0 x i8], %"fmt::rt::v1::FormatSpec", [0 x i8] } | |
%"fmt::rt::v1::Position" = type { i64, [0 x i64], [1 x i64] } | |
%"fmt::rt::v1::FormatSpec" = type { %"fmt::rt::v1::Count", [0 x i8], %"fmt::rt::v1::Count", [0 x i8], i32, [0 x i8], i32, [0 x i8], i8, [7 x i8] } | |
%"fmt::rt::v1::Count" = type { i64, [0 x i64], [1 x i64] } | |
%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>" = type { %"fmt::builders::PadAdapter"*, [0 x i8] } | |
%"num::flt2dec::decoder::Decoded" = type { i64, [0 x i8], i64, [0 x i8], i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] } | |
%"num::dec2flt::parse::Decimal" = type { { i8*, i64 }, [0 x i8], { i8*, i64 }, [0 x i8], i64, [0 x i8] } | |
%"char::EscapeDefaultState" = type { i32, [1 x i32], [2 x i64] } | |
%"char::EscapeUnicode" = type { i64, [0 x i8], i32, [0 x i8], i8, [3 x i8] } | |
%"char::EscapeDefault" = type { %"char::EscapeDefaultState", [0 x i8] } | |
%"str::pattern::CharEqSearcher<&[char]>" = type { { i32*, i64 }, [0 x i8], %str_slice, [0 x i8], %"str::CharIndices", [0 x i8], i8, [7 x i8] } | |
%"str::pattern::StrSearcherImpl" = type { i64, [0 x i64], [8 x i64] } | |
%"str::pattern::TwoWaySearcher" = type { i64, [0 x i8], i64, [0 x i8], i64, [0 x i8], i64, [0 x i8], i64, [0 x i8], i64, [0 x i8], i64, [0 x i8], i64, [0 x i8] } | |
%"str::pattern::EmptyNeedle" = type { i64, [0 x i8], i64, [0 x i8], i8, [0 x i8], i8, [6 x i8] } | |
%"option::Option<u8>" = type { i8, [0 x i8], [1 x i8] } | |
%"iter::Cloned<slice::Iter<u8>>" = type { %"slice::Iter<u8>", [0 x i8] } | |
%"iter::Map<str::SplitTerminator<char>, str::LinesAnyMap>" = type { %"str::SplitTerminator<char>", [0 x i8], %"str::LinesAnyMap", [0 x i8] } | |
%"str::LinesAnyMap" = type {} | |
%"str::Lines" = type { %"iter::Map<str::SplitTerminator<char>, str::LinesAnyMap>", [0 x i8] } | |
%"hash::sip::Hasher<hash::sip::Sip13Rounds>" = type { i64, [0 x i8], i64, [0 x i8], i64, [0 x i8], %"hash::sip::State", [0 x i8], i64, [0 x i8], i64, [0 x i8], %"marker::PhantomData<hash::sip::Sip13Rounds>", [0 x i8] } | |
%"hash::sip::State" = type { i64, [0 x i8], i64, [0 x i8], i64, [0 x i8], i64, [0 x i8] } | |
%"marker::PhantomData<hash::sip::Sip13Rounds>" = type {} | |
%"hash::sip::Hasher<hash::sip::Sip24Rounds>" = type { i64, [0 x i8], i64, [0 x i8], i64, [0 x i8], %"hash::sip::State", [0 x i8], i64, [0 x i8], i64, [0 x i8], %"marker::PhantomData<hash::sip::Sip24Rounds>", [0 x i8] } | |
%"marker::PhantomData<hash::sip::Sip24Rounds>" = type {} | |
%"hash::sip::SipHasher24" = type { %"hash::sip::Hasher<hash::sip::Sip24Rounds>", [0 x i8] } | |
%"num::bignum::Big32x40" = type { i64, [0 x i8], [40 x i32], [0 x i8] } | |
%"num::diy_float::Fp" = type { i64, [0 x i8], i16, [6 x i8] } | |
%"option::Option<(usize, i16)>" = type { i64, [0 x i64], [2 x i64] } | |
%"num::flt2dec::Part" = type { i16, [3 x i16], [2 x i64] } | |
%"num::flt2dec::Formatted" = type { { i8*, i64 }, [0 x i8], { %"num::flt2dec::Part"*, i64 }, [0 x i8] } | |
%"num::flt2dec::decoder::FullDecoded" = type { i64, [0 x i64], [4 x i64] } | |
%"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>" = type { %"slice::Iter<u8>", [0 x i8], %"slice::Iter<u8>", [0 x i8], i8, [7 x i8] } | |
%"num::dec2flt::rawfp::Unpacked" = type { i64, [0 x i8], i16, [6 x i8] } | |
%"num::dec2flt::parse::ParseResult" = type { i64, [0 x i64], [5 x i64] } | |
%"num::dec2flt::ParseFloatError" = type { i8, [0 x i8] } | |
%"num::TryFromIntError" = type { {}, [0 x i8] } | |
%"result::Result<u64, num::ParseIntError>" = type { i8, [7 x i8], [1 x i64] } | |
%"result::Result<isize, num::ParseIntError>" = type { i8, [7 x i8], [1 x i64] } | |
%"result::Result<i128, num::ParseIntError>" = type { i8, [7 x i8], [2 x i64] } | |
%"result::Result<u128, num::ParseIntError>" = type { i8, [7 x i8], [2 x i64] } | |
%"num::ParseIntError" = type { i8, [0 x i8] } | |
%"ops::range::RangeFull" = type {} | |
%"ops::range::Range<usize>" = type { i64, [0 x i8], i64, [0 x i8] } | |
%"sync::atomic::AtomicBool" = type { %"cell::UnsafeCell<u8>", [0 x i8] } | |
%"cell::UnsafeCell<u8>" = type { i8, [0 x i8] } | |
%"fmt::builders::DebugTuple" = type { %"fmt::Formatter"*, [0 x i8], i64, [0 x i8], %"result::Result<(), fmt::Error>", [0 x i8], i8, [6 x i8] } | |
%"result::Result<(), fmt::Error>" = type { i8, [0 x i8], [0 x i8] } | |
%"cell::BorrowError" = type { {}, [0 x i8] } | |
%"cell::BorrowMutError" = type { {}, [0 x i8] } | |
%"char::ParseCharError" = type { i8, [0 x i8] } | |
%"char::CharTryFromError" = type { {}, [0 x i8] } | |
%"char::EscapeDebug" = type { %"char::EscapeDefault", [0 x i8] } | |
%"str::pattern::StrSearcher" = type { %str_slice, [0 x i8], %str_slice, [0 x i8], %"str::pattern::StrSearcherImpl", [0 x i8] } | |
%"str::ParseBoolError" = type { {}, [0 x i8] } | |
%"str::Utf8Error" = type { i64, [0 x i8], %"option::Option<u8>", [6 x i8] } | |
%"result::Result<&str, str::Utf8Error>" = type { i64, [0 x i64], [2 x i64] } | |
%"result::Result<&mut str, str::Utf8Error>" = type { i64, [0 x i64], [2 x i64] } | |
%"fmt::builders::DebugStruct" = type { %"fmt::Formatter"*, [0 x i8], %"result::Result<(), fmt::Error>", [0 x i8], i8, [6 x i8] } | |
%"fmt::builders::DebugInner" = type { %"fmt::Formatter"*, [0 x i8], %"result::Result<(), fmt::Error>", [0 x i8], i8, [6 x i8] } | |
%"fmt::builders::DebugSet" = type { %"fmt::builders::DebugInner", [0 x i8] } | |
%"fmt::builders::DebugList" = type { %"fmt::builders::DebugInner", [0 x i8] } | |
%"fmt::builders::DebugMap" = type { %"fmt::Formatter"*, [0 x i8], %"result::Result<(), fmt::Error>", [0 x i8], i8, [6 x i8] } | |
%"fmt::Error" = type {} | |
%"num::bignum::tests::Big8x3" = type { i64, [0 x i8], [3 x i8], [5 x i8] } | |
%"result::Result<i64, num::ParseIntError>" = type { i8, [7 x i8], [1 x i64] } | |
%"option::Option<u64>" = type { i64, [0 x i64], [1 x i64] } | |
%"option::Option<u128>" = type { i64, [0 x i64], [2 x i64] } | |
%"result::Result<usize, num::ParseIntError>" = type { i8, [7 x i8], [1 x i64] } | |
%"result::Result<i64, num::TryFromIntError>" = type { i64, [0 x i64], [1 x i64] } | |
%"result::Result<i128, num::TryFromIntError>" = type { i64, [0 x i64], [2 x i64] } | |
%"result::Result<u64, num::TryFromIntError>" = type { i64, [0 x i64], [1 x i64] } | |
%"result::Result<u128, num::TryFromIntError>" = type { i64, [0 x i64], [2 x i64] } | |
%"option::Option<i64>" = type { i64, [0 x i64], [1 x i64] } | |
%"option::Option<i128>" = type { i64, [0 x i64], [2 x i64] } | |
%"any::TypeId" = type { i64, [0 x i8] } | |
%"sync::atomic::AtomicI8" = type { %"cell::UnsafeCell<i8>", [0 x i8] } | |
%"cell::UnsafeCell<i8>" = type { i8, [0 x i8] } | |
%"sync::atomic::AtomicU8" = type { %"cell::UnsafeCell<u8>", [0 x i8] } | |
%"sync::atomic::AtomicI16" = type { %"cell::UnsafeCell<i16>", [0 x i8] } | |
%"cell::UnsafeCell<i16>" = type { i16, [0 x i8] } | |
%"sync::atomic::AtomicU16" = type { %"cell::UnsafeCell<u16>", [0 x i8] } | |
%"cell::UnsafeCell<u16>" = type { i16, [0 x i8] } | |
%"sync::atomic::AtomicI32" = type { %"cell::UnsafeCell<i32>", [0 x i8] } | |
%"cell::UnsafeCell<i32>" = type { i32, [0 x i8] } | |
%"sync::atomic::AtomicU32" = type { %"cell::UnsafeCell<u32>", [0 x i8] } | |
%"cell::UnsafeCell<u32>" = type { i32, [0 x i8] } | |
%"sync::atomic::AtomicI64" = type { %"cell::UnsafeCell<i64>", [0 x i8] } | |
%"cell::UnsafeCell<i64>" = type { i64, [0 x i8] } | |
%"sync::atomic::AtomicU64" = type { %"cell::UnsafeCell<u64>", [0 x i8] } | |
%"cell::UnsafeCell<u64>" = type { i64, [0 x i8] } | |
%"sync::atomic::AtomicIsize" = type { %"cell::UnsafeCell<isize>", [0 x i8] } | |
%"cell::UnsafeCell<isize>" = type { i64, [0 x i8] } | |
%"sync::atomic::AtomicUsize" = type { %"cell::UnsafeCell<usize>", [0 x i8] } | |
%"cell::UnsafeCell<usize>" = type { i64, [0 x i8] } | |
%"char::InvalidSequence" = type { {}, [0 x i8] } | |
%"str::pattern::SearchStep" = type { i64, [0 x i64], [2 x i64] } | |
%"str::pattern::CharSliceSearcher" = type { %"str::pattern::CharEqSearcher<&[char]>", [0 x i8] } | |
%"str::Bytes" = type { %"iter::Cloned<slice::Iter<u8>>", [0 x i8] } | |
%"str::LinesAny" = type { %"str::Lines", [0 x i8] } | |
%"hash::sip::SipHasher13" = type { %"hash::sip::Hasher<hash::sip::Sip13Rounds>", [0 x i8] } | |
%"hash::sip::SipHasher" = type { %"hash::sip::SipHasher24", [0 x i8] } | |
%"hash::sip::Sip13Rounds" = type {} | |
%"hash::sip::Sip24Rounds" = type {} | |
%"fmt::num::Binary" = type {} | |
%"fmt::num::Octal" = type {} | |
%"fmt::num::Decimal" = type {} | |
%"fmt::num::LowerHex" = type {} | |
%"fmt::num::UpperHex" = type {} | |
%"result::Result<isize, num::TryFromIntError>" = type { i64, [0 x i64], [1 x i64] } | |
%"result::Result<usize, num::TryFromIntError>" = type { i64, [0 x i64], [1 x i64] } | |
%"option::Option<isize>" = type { i64, [0 x i64], [1 x i64] } | |
@_ZN4core3num7flt2dec8strategy6dragon5POW1017hf0327ccee16c45aeE = 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 | |
@_ZN4core3num7flt2dec8strategy6dragon8TWOPOW1017h6c98a5ff94e6485fE = internal unnamed_addr 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 | |
@_ZN4core3num7flt2dec8strategy6dragon9POW10TO1617h36e563568261e693E = internal constant [2 x i32] [i32 1874919424, i32 2328306], align 4 | |
@_ZN4core3num7flt2dec8strategy6dragon9POW10TO3217heec5e85ad1a5a8d6E = internal constant [4 x i32] [i32 0, i32 -2052264063, i32 762134875, i32 1262], align 4 | |
@_ZN4core3num7flt2dec8strategy6dragon9POW10TO6417h6c44f56ffbd884d4E = internal constant [7 x i32] [i32 0, i32 0, i32 -1083564287, i32 1849224548, i32 -626550803, i32 -381683212, i32 1593091], align 4 | |
@_ZN4core3num7flt2dec8strategy6dragon10POW10TO12817ha71ad777a5684cd6E = 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 | |
@_ZN4core3num7flt2dec8strategy6dragon10POW10TO25617h2043c4da7df4220aE = 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_WIDTH17h9316ca283ec8ad10E = local_unnamed_addr 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 | |
@_ZN4core3num7flt2dec18to_exact_fixed_str15__STATIC_FMTSTR17hb7c8b21a69352204E = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.3x, i32 0, i32 0), i64 3 }, align 8 | |
@_ZN4core3num7dec2flt5rawfp11fp_to_float15__STATIC_FMTSTR17hb220b53ab15827aeE = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.46, i32 0, i32 0), i64 2 }, align 8 | |
@_ZN4core3num7dec2flt5rawfp11fp_to_float15__STATIC_FMTSTR17hc9b0494ef9a26aefE = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.48, i32 0, i32 0), i64 2 }, align 8 | |
@_ZN4core3num7dec2flt5rawfp12round_normal15__STATIC_FMTSTR17h94fdf1038c5e7f45E = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.3x, i32 0, i32 0), i64 3 }, align 8 | |
@"_ZN71_$LT$core..ops..range..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17hfad1f668a85ffeb5E" = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.5v, i32 0, i32 0), i64 2 }, align 8 | |
@"_ZN75_$LT$core..ops..range..RangeFrom$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h932b84b974820d33E" = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.5v, i32 0, i32 0), i64 2 }, align 8 | |
@"_ZN73_$LT$core..ops..range..RangeTo$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h5d0150e63eb17b04E" = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.5u, i32 0, i32 0), i64 1 }, align 8 | |
@"_ZN80_$LT$core..ops..range..RangeInclusive$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17h3427c3ecd077bbafE" = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.5x, i32 0, i32 0), i64 2 }, align 8 | |
@"_ZN82_$LT$core..ops..range..RangeToInclusive$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt15__STATIC_FMTSTR17hf9180516642c26efE" = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.5y, i32 0, i32 0), i64 1 }, align 8 | |
@"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf815__STATIC_FMTSTR17h88d4288bdb335556E" = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.6v, i32 0, i32 0), i64 3 }, align 8 | |
@"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$12encode_utf1615__STATIC_FMTSTR17h123780969ea1346cE" = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.6y, i32 0, i32 0), i64 3 }, align 8 | |
@_ZN4core4iter6traits17ExactSizeIterator3len15__STATIC_FMTSTR17h970c72ca202b0b47E = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.3x, i32 0, i32 0), i64 3 }, align 8 | |
@_ZN4core6result13unwrap_failed15__STATIC_FMTSTR17h983e691c63703ef1E = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.7c, i32 0, i32 0), i64 2 }, align 8 | |
@_ZN4core5slice4sort19partition_in_blocks15__STATIC_FMTSTR17h1deddfec9afe40fdE = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.3x, i32 0, i32 0), i64 3 }, align 8 | |
@_ZN4core5slice4sort19partition_in_blocks15__STATIC_FMTSTR17h33df6ef1d17f24c1E = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.3x, i32 0, i32 0), i64 3 }, align 8 | |
@_ZN4core4hash3sip9u8to64_le15__STATIC_FMTSTR17hf472cf8439a4210fE = local_unnamed_addr constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.3x, i32 0, i32 0), i64 3 }, align 8 | |
@str.0 = internal constant [62 x i8] c"/shared/rust/master/src/libcore/num/flt2dec/strategy/dragon.rs" | |
@panic_bounds_check_loc.3 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 164 }, align 8 | |
@panic_bounds_check_loc.4 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 218 }, align 8 | |
@panic_bounds_check_loc.5 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 301 }, align 8 | |
@_ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017hbb880931a269811cE = 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.9 = internal constant [61 x i8] c"/shared/rust/master/src/libcore/num/flt2dec/strategy/grisu.rs" | |
@panic_bounds_check_loc.c = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 131 }, align 8 | |
@str.d = internal constant [25 x i8] c"attempt to divide by zero" | |
@panic_loc.e = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.d, i32 0, i32 0), i64 25 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 263 }, align 8 | |
@panic_bounds_check_loc.h = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 266 }, align 8 | |
@panic_bounds_check_loc.i = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 309 }, align 8 | |
@panic_loc.j = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.d, i32 0, i32 0), i64 25 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 510 }, align 8 | |
@panic_bounds_check_loc.l = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 513 }, align 8 | |
@panic_bounds_check_loc.m = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 564 }, align 8 | |
@str.o = internal constant [50 x i8] c"/shared/rust/master/src/libcore/num/flt2dec/mod.rs" | |
@panic_bounds_check_loc.p = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 158 }, align 8 | |
@panic_bounds_check_loc.q = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 159 }, align 8 | |
@panic_bounds_check_loc.r = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 163 }, align 8 | |
@panic_bounds_check_loc.s = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 164 }, align 8 | |
@byte_str.u = internal unnamed_addr constant [2 x i8] c"0.", align 1 | |
@byte_str.A = internal unnamed_addr constant [1 x i8] c".", align 1 | |
@byte_str.M = internal unnamed_addr constant [2 x i8] c"E-", align 1 | |
@byte_str.N = internal unnamed_addr constant [2 x i8] c"e-", align 1 | |
@panic_bounds_check_loc.O = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 361 }, align 8 | |
@byte_str.P = internal unnamed_addr constant [1 x i8] c"E", align 1 | |
@byte_str.Q = internal constant [1 x i8] c"e", align 1 | |
@panic_bounds_check_loc.R = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 364 }, align 8 | |
@byte_str.S = internal unnamed_addr constant [1 x i8] c"-", align 1 | |
@byte_str.T = internal unnamed_addr constant [1 x i8] c"+", align 1 | |
@byte_str.U = internal constant [0 x i8] zeroinitializer, align 1 | |
@byte_str.X = internal unnamed_addr constant [1 x i8] c"0", align 1 | |
@byte_str.Z = internal unnamed_addr constant [3 x i8] c"inf", align 1 | |
@byte_str.11 = internal unnamed_addr constant [3 x i8] c"NaN", align 1 | |
@byte_str.13 = internal unnamed_addr constant [3 x i8] c"0E0", align 1 | |
@byte_str.14 = internal unnamed_addr constant [3 x i8] c"0e0", align 1 | |
@byte_str.1a = internal unnamed_addr constant [2 x i8] c"E0", align 1 | |
@byte_str.1b = internal unnamed_addr constant [2 x i8] c"e0", align 1 | |
@const.1o = 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 | |
@str.1p = internal constant [56 x i8] c"/shared/rust/master/src/libcore/num/dec2flt/algorithm.rs" | |
@panic_bounds_check_loc.1q = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([56 x i8], [56 x i8]* @str.1p, i32 0, i32 0), i64 56 }, i32 29 }, align 8 | |
@str.1s = internal constant [50 x i8] c"/shared/rust/master/src/libcore/num/dec2flt/num.rs" | |
@panic_bounds_check_loc.1t = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.1s, i32 0, i32 0), i64 50 }, i32 75 }, align 8 | |
@const.1v = 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 | |
@str.1w = internal constant [52 x i8] c"/shared/rust/master/src/libcore/num/dec2flt/rawfp.rs" | |
@panic_bounds_check_loc.1x = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 197 }, align 8 | |
@const.1y = 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.1z = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 247 }, align 8 | |
@str.1E = internal constant [21 x i8] c"invalid float literal" | |
@str.1F = internal constant [36 x i8] c"cannot parse float from empty string" | |
@str.1G = internal constant [50 x i8] c"/shared/rust/master/src/libcore/num/dec2flt/mod.rs" | |
@panic_bounds_check_loc.1H = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.1G, i32 0, i32 0), i64 50 }, i32 201 }, align 8 | |
@str.1M = internal constant [47 x i8] c"out of range integral type conversion attempted" | |
@str.1N = internal constant [42 x i8] c"/shared/rust/master/src/libcore/num/mod.rs" | |
@str.1P = internal constant [38 x i8] c"number too small to fit in target type" | |
@str.1Q = internal constant [38 x i8] c"number too large to fit in target type" | |
@str.1R = internal constant [29 x i8] c"invalid digit found in string" | |
@str.1S = internal constant [38 x i8] c"cannot parse integer from empty string" | |
@ref.1W = internal unnamed_addr constant [0 x %"fmt::ArgumentV1"] zeroinitializer, align 8 | |
@str.1X = internal constant [3 x i8] c"Any" | |
@str.1Y = internal constant [10 x i8] c"AtomicBool" | |
@vtable.1Z = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i8*, %"fmt::Formatter"*)* } { void (i8*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i8*)*), i64 1, i64 1, i8 (i8*, %"fmt::Formatter"*)* @"_ZN41_$LT$bool$u20$as$u20$core..fmt..Debug$GT$3fmt17h9eb6f058ca2d718cE" }, align 8 | |
@str.20 = internal constant [11 x i8] c"BorrowError" | |
@str.21 = internal constant [24 x i8] c"already mutably borrowed" | |
@str.22 = internal constant [14 x i8] c"BorrowMutError" | |
@str.23 = internal constant [16 x i8] c"already borrowed" | |
@str.25 = internal constant [29 x i8] c"too many characters in string" | |
@str.26 = internal constant [35 x i8] c"cannot parse char from empty string" | |
@str.27 = internal constant [41 x i8] c"converted integer out of range for `char`" | |
@str.28 = internal constant [3 x i8] c"Map" | |
@str.29 = internal constant [4 x i8] c"iter" | |
@vtable.2a = internal unnamed_addr constant { void (%"str::SplitTerminator<char>"*)*, i64, i64, i8 (%"str::SplitTerminator<char>"*, %"fmt::Formatter"*)* } { void (%"str::SplitTerminator<char>"*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"str::SplitTerminator<char>"*)*), i64 72, i64 8, i8 (%"str::SplitTerminator<char>"*, %"fmt::Formatter"*)* @"_ZN86_$LT$core..str..SplitTerminator$LT$$u27$a$C$$u20$P$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17ha9f27218dd41446cE" }, align 8 | |
@str.2b = internal constant [44 x i8] c"/shared/rust/master/src/libcore/slice/mod.rs" | |
@panic_bounds_check_loc.2d = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 815 }, align 8 | |
@panic_bounds_check_loc.2e = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 821 }, align 8 | |
@str.2f = internal constant [4 x i8] c"Iter" | |
@vtable.2g = internal unnamed_addr constant { void ({ i8*, i64 }*)*, i64, i64, i8 ({ i8*, i64 }*, %"fmt::Formatter"*)* } { void ({ i8*, i64 }*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void ({ i8*, i64 }*)*), i64 16, i64 8, i8 ({ i8*, i64 }*, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7d31f5024dcb553eE" }, align 8 | |
@str.2i = internal constant [41 x i8] c"provided string was not `true` or `false`" | |
@str.2j = internal constant [13 x i8] c"SplitInternal" | |
@str.2k = internal constant [5 x i8] c"start" | |
@vtable.2l = internal unnamed_addr constant { void (i64*)*, i64, i64, i8 (i64*, %"fmt::Formatter"*)* } { void (i64*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i64*)*), i64 8, i64 8, i8 (i64*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17hd96001b741994207E" }, align 8 | |
@str.2m = internal constant [3 x i8] c"end" | |
@str.2n = internal constant [7 x i8] c"matcher" | |
@vtable.2o = internal unnamed_addr constant { void (%"str::pattern::CharSearcher"*)*, i64, i64, i8 (%"str::pattern::CharSearcher"*, %"fmt::Formatter"*)* } { void (%"str::pattern::CharSearcher"*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"str::pattern::CharSearcher"*)*), i64 48, i64 8, i8 (%"str::pattern::CharSearcher"*, %"fmt::Formatter"*)* @"_ZN83_$LT$core..str..pattern..CharSearcher$LT$$u27$a$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h4f565347135394daE" }, align 8 | |
@str.2p = internal constant [20 x i8] c"allow_trailing_empty" | |
@str.2q = internal constant [8 x i8] c"finished" | |
@str.2r = internal constant [42 x i8] c"/shared/rust/master/src/libcore/str/mod.rs" | |
@str.2w = internal constant [5 x i8] c"[...]" | |
@str.2y = internal constant [4 x i8] c" " | |
@str.2z = internal constant [1 x i8] c"," | |
@str.2A = internal constant [2 x i8] c" {" | |
@vtable.2B = internal unnamed_addr constant { void (%"fmt::builders::PadAdapter"*)*, i64, i64, i8 (%"fmt::builders::PadAdapter"*, i8*, i64)*, i8 (%"fmt::builders::PadAdapter"*, i32)*, i8 (%"fmt::builders::PadAdapter"*, %"fmt::Arguments"*)* } { void (%"fmt::builders::PadAdapter"*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"fmt::builders::PadAdapter"*)*), i64 16, i64 8, i8 (%"fmt::builders::PadAdapter"*, i8*, i64)* @"_ZN96_$LT$core..fmt..builders..PadAdapter$LT$$u27$a$C$$u20$$u27$b$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17hda04628e55aace35E", i8 (%"fmt::builders::PadAdapter"*, i32)* @_ZN4core3fmt5Write10write_char17h016e4dd9fe653fbeE, i8 (%"fmt::builders::PadAdapter"*, %"fmt::Arguments"*)* @_ZN4core3fmt5Write9write_fmt17h3decfa32edaf57cdE }, align 8 | |
@str.2C = internal constant [2 x i8] c"\0A}" | |
@str.2D = internal constant [2 x i8] c" }" | |
@str.2E = internal constant [1 x i8] c" " | |
@str.2F = internal constant [1 x i8] c"(" | |
@str.2G = internal constant [1 x i8] c"\0A" | |
@str.2H = internal constant [1 x i8] c")" | |
@str.2I = internal constant [2 x i8] c", " | |
@str.2J = internal constant [1 x i8] c"}" | |
@vtable.2K = internal unnamed_addr constant { void (i8**)*, i64, i64, i8 (i8**, %"fmt::Formatter"*)* } { void (i8**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i8**)*), i64 8, i64 8, i8 (i8**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hfba509dd297befe8E" }, align 8 | |
@vtable.2L = internal unnamed_addr constant { void (i32**)*, i64, i64, i8 (i32**, %"fmt::Formatter"*)* } { void (i32**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i32**)*), i64 8, i64 8, i8 (i32**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7cbd7c8c300440d1E" }, align 8 | |
@str.2M = internal constant [1 x i8] c"]" | |
@vtable.2N = internal unnamed_addr constant { void (%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>"*)*, i64, i64, i8 (%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>"*, i8*, i64)*, i8 (%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>"*, i32)*, i8 (%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>"*, %"fmt::Arguments"*)* } { void (%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>"*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>"*)*), i64 8, i64 8, i8 (%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>"*, i8*, i64)* @"_ZN96_$LT$core..fmt..Write..write_fmt..Adapter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..fmt..Write$GT$9write_str17hdeac0ae1127da5eeE", i8 (%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>"*, i32)* @"_ZN96_$LT$core..fmt..Write..write_fmt..Adapter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..fmt..Write$GT$10write_char17ha5891a081a77519cE", i8 (%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>"*, %"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_fmt17h57c7f221ef98dbbbE" }, align 8 | |
@str.2O = internal constant [42 x i8] c"/shared/rust/master/src/libcore/fmt/mod.rs" | |
@panic_bounds_check_loc.2P = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.2O, i32 0, i32 0), i64 42 }, i32 990 }, align 8 | |
@panic_bounds_check_loc.2Q = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.2O, i32 0, i32 0), i64 42 }, i32 1002 }, align 8 | |
@str.2R = internal constant [64 x i8] c"0000000000000000000000000000000000000000000000000000000000000000" | |
@str.2S = internal constant [45 x i8] c"an error occurred when formatting an argument" | |
@str.2T = internal constant [4 x i8] c"true" | |
@str.2U = internal constant [5 x i8] c"false" | |
@str.2V = internal constant [2 x i8] c"()" | |
@str.2W = internal constant [11 x i8] c"PhantomData" | |
@ref.2X = internal unnamed_addr constant { { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { 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.2Y = 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;<EIde\80\81\84\B2\BC\BE\BF\D5\D7\F0\F1\83\85\86\89\8B\8C\98\A0\A4\A6\A8\A9\AC\BA\BE\BF\C5\C7\CE\CF\DA\DBH\98\BD\CD\C6\CE\CFINOWY^_\89\8E\8F\B1\B6\B7\BF\C1\C6\C7\D7\11\16\17[\5C\F6\F7\FE\FF\80\0Dmq\DE\DF\0E\0F\1Fno\1C\1D_}~\AE\AF\F7\16\17\1E\1FFGNOXZ\5C^~\7F\B5\C5\D4\D5\DC\F0\F1\F5rs\8F\FFtu\96\97\C9/_&./\A7\AF\B7\BF\C7\CF\D7\DF\9A@\97\98\8F\1F\FF\AF\FE\FF\CE\FFNOZ[\07\08\0F\10'/\EE\EFno7=?BE\90\91\FE\FFSgu\C8\C9\D0\D1\D8\D9\E7\FE\FF", align 1 | |
@ref.2Z = internal unnamed_addr constant [333 x i8] c"\00 _\22\82\DF\04\82D\08\1B\05\05\11\81\AC\0E;\05_A\1E\16\80\DF\03\19\08\01\04 \05\0A\044\04\07\03\01\07\06\07\10\0BP\0F\12\07\01\07M\08\02\04\1C\0A\09\03\08\03\07\03\02\03\03\03\0C\04\05\03\0B\06\01\0E\15\05:\03\11\07\06\05\10\08V\07\02\07\15\0EO\04C\03-\03\01\04\11\06\0F\0C:\04\1D%\0D\06L m\04j%\80\C8\05\82\B0\03\1A\06\82\FD\03Y\07\15\0B\17\09\14\0C\14\0Cj\06\0A\06\1A\06X\08+\05F\0A,\04\0C\04\01\031\0B,\04\1A\06\0B\03\80\AC\06\0A\06\1FAL\04-\03t\08<\03\0F\03<7\08\08*\06\80\F6\05\82\04\11\18\08/\11-\03\1F\11!\0F\80\8C\04\82\97\19\0B\15\87Z\03\15\1A\04\10\80\F4\05/\05;\07\02\0E\18\09\80\A5;t\0C\80\D6\1A\0C\05\80\FF\05)\03\80\8A\05$\0C\9B\C6\0A\D2\16*\84\8D\037\09\81\5C\14\80\B8\08\80\B8?5\04\0A\068\08F\08\0C\06t\0B\1E\03Z\04Y\09\80\83\18\1C\0A\16\09F\0A\80\8A\06\AB\A4\0C\17\041\A1\04\81\DA&\07\0C\05\05\80\A5\11\81m\10x(*\06L\04\80\8D\04\80\BE\03\1B\03\0F\0D", align 1 | |
@ref.30 = internal unnamed_addr constant { { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 }, { i8, i8 } } { { i8, i8 } { i8 0, i8 6 }, { i8, i8 } { i8 1, i8 1 }, { i8, i8 } { i8 3, i8 1 }, { i8, i8 } { i8 4, i8 2 }, { i8, i8 } { i8 8, i8 8 }, { i8, i8 } { i8 9, i8 2 }, { i8, i8 } { i8 10, i8 3 }, { i8, i8 } { i8 11, i8 2 }, { i8, i8 } { i8 16, i8 1 }, { i8, i8 } { i8 17, i8 4 }, { i8, i8 } { i8 18, i8 5 }, { i8, i8 } { i8 19, i8 18 }, { i8, i8 } { i8 20, i8 2 }, { i8, i8 } { i8 21, i8 2 }, { i8, i8 } { i8 28, i8 5 }, { i8, i8 } { i8 36, i8 1 }, { i8, i8 } { i8 106, i8 3 }, { i8, i8 } { i8 107, i8 2 }, { i8, i8 } { i8 -68, i8 2 }, { i8, i8 } { i8 -47, i8 2 }, { i8, i8 } { i8 -44, i8 12 }, { i8, i8 } { i8 -43, i8 9 }, { i8, i8 } { i8 -42, i8 2 }, { i8, i8 } { i8 -41, i8 2 }, { i8, i8 } { i8 -38, i8 1 }, { i8, i8 } { i8 -32, i8 5 }, { i8, i8 } { i8 -24, i8 2 }, { i8, i8 } { i8 -18, i8 32 }, { i8, i8 } { i8 -16, i8 4 }, { i8, i8 } { i8 -15, i8 1 }, { i8, i8 } { i8 -7, i8 4 } }, align 1 | |
@ref.31 = internal unnamed_addr constant [146 x i8] c"\0C';>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.32 = 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.33 = internal constant [7 x i8] c"Decoded" | |
@str.34 = internal constant [4 x i8] c"mant" | |
@vtable.35 = internal unnamed_addr constant { void (i64**)*, i64, i64, i8 (i64**, %"fmt::Formatter"*)* } { void (i64**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i64**)*), i64 8, i64 8, i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4bdf30265ff44dd6E" }, align 8 | |
@str.36 = internal constant [5 x i8] c"minus" | |
@str.37 = internal constant [4 x i8] c"plus" | |
@str.38 = internal constant [3 x i8] c"exp" | |
@vtable.39 = internal unnamed_addr constant { void (i16**)*, i64, i64, i8 (i16**, %"fmt::Formatter"*)* } { void (i16**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i16**)*), i64 8, i64 8, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6bbae556f9e5c027E" }, align 8 | |
@str.3a = internal constant [9 x i8] c"inclusive" | |
@vtable.3b = internal unnamed_addr constant { void (i8**)*, i64, i64, i8 (i8**, %"fmt::Formatter"*)* } { void (i8**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i8**)*), i64 8, i64 8, i8 (i8**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hb732de07cf15248aE" }, align 8 | |
@str.3c = internal constant [6 x i8] c"Finite" | |
@vtable.3d = internal unnamed_addr constant { void (%"num::flt2dec::decoder::Decoded"**)*, i64, i64, i8 (%"num::flt2dec::decoder::Decoded"**, %"fmt::Formatter"*)* } { void (%"num::flt2dec::decoder::Decoded"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"num::flt2dec::decoder::Decoded"**)*), i64 8, i64 8, i8 (%"num::flt2dec::decoder::Decoded"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h657deb732b282cceE" }, align 8 | |
@str.3e = internal constant [4 x i8] c"Zero" | |
@str.3f = internal constant [8 x i8] c"Infinite" | |
@str.3g = internal constant [3 x i8] c"Nan" | |
@str.3j = internal constant [28 x i8] c"assertion failed: d.mant > 0" | |
@_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h4713a116f8a0c522E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.3j, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 91, [4 x i8] undef }, align 8 | |
@str.3k = internal constant [29 x i8] c"assertion failed: d.minus > 0" | |
@_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h87dec07a13ba31adE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.3k, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 92, [4 x i8] undef }, align 8 | |
@str.3l = internal constant [28 x i8] c"assertion failed: d.plus > 0" | |
@_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h173d4a1132a475f6E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.3l, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 93, [4 x i8] undef }, align 8 | |
@str.3m = internal constant [54 x i8] c"assertion failed: d.mant.checked_add(d.plus).is_some()" | |
@_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17hed9db6ec816630a5E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.3m, i32 0, i32 0), i64 54 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 94, [4 x i8] undef }, align 8 | |
@str.3n = internal constant [55 x i8] c"assertion failed: d.mant.checked_sub(d.minus).is_some()" | |
@_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h65db9718b8ed2ebeE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.3n, i32 0, i32 0), i64 55 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 95, [4 x i8] undef }, align 8 | |
@str.3o = internal constant [45 x i8] c"assertion failed: buf.len() >= MAX_SIG_DIGITS" | |
@_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h931871e6d76be5cfE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.3o, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 96, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17ha445c8f94623a688E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.3j, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 229, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17hc27d4d0aab357fbeE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.3k, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 230, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h776fea105bc781ffE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.3l, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 231, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h143886f7836e23eaE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.3m, i32 0, i32 0), i64 54 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 232, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h69216136c606a806E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.3n, i32 0, i32 0), i64 55 }, %str_slice { i8* getelementptr inbounds ([62 x i8], [62 x i8]* @str.0, i32 0, i32 0), i64 62 }, i32 233, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h080c88a7226b45d5E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.3j, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 166, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17hf33bde18075a3235E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.3k, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 167, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17hc7d0a8da67eccedcE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.3l, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 168, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h8db95e0f4e90f938E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.3m, i32 0, i32 0), i64 54 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 169, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h854b02c68656b31aE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.3n, i32 0, i32 0), i64 55 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 170, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h7fcf8694fb79431fE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.3o, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 171, [4 x i8] undef }, align 8 | |
@str.3t = internal constant [45 x i8] c"assertion failed: d.mant + d.plus < (1 << 61)" | |
@_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h31be4e43f7df40abE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.3t, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 172, [4 x i8] undef }, align 8 | |
@str.3u = internal constant [45 x i8] c"assertion failed: `(left == right)`\0A left: `" | |
@str.3v = internal constant [12 x i8] c"`,\0A right: `" | |
@str.3w = internal constant [1 x i8] c"`" | |
@ref.3x = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.3u, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([12 x i8], [12 x i8]* @str.3v, i32 0, i32 0), i64 12 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.3w, i32 0, i32 0), i64 1 }], align 8 | |
@str.3z = internal constant [33 x i8] c"assertion failed: !buf.is_empty()" | |
@_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h6a93c40b8bf77ee9E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.3j, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 444, [4 x i8] undef }, align 8 | |
@str.3B = internal constant [36 x i8] c"assertion failed: d.mant < (1 << 61)" | |
@_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h38a127c36993cbbaE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.3B, i32 0, i32 0), i64 36 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 445, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h2ad745e254868d40E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.3z, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.9, i32 0, i32 0), i64 61 }, i32 446, [4 x i8] undef }, align 8 | |
@str.3E = internal constant [4 x i8] c"Copy" | |
@vtable.3F = internal unnamed_addr constant { void ({ i8*, i64 }**)*, i64, i64, i8 ({ i8*, i64 }**, %"fmt::Formatter"*)* } { void ({ i8*, i64 }**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void ({ i8*, i64 }**)*), i64 8, i64 8, i8 ({ i8*, i64 }**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17ha6def20ee6e42d15E" }, align 8 | |
@str.3G = internal constant [3 x i8] c"Num" | |
@vtable.3H = internal unnamed_addr constant { void (i16**)*, i64, i64, i8 (i16**, %"fmt::Formatter"*)* } { void (i16**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i16**)*), i64 8, i64 8, i8 (i16**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17heb232e5f0fbd9d34E" }, align 8 | |
@vtable.3I = internal unnamed_addr constant { void (i64**)*, i64, i64, i8 (i64**, %"fmt::Formatter"*)* } { void (i64**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i64**)*), i64 8, i64 8, i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4bdf30265ff44dd6E" }, align 8 | |
@_ZN4core3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE17he46ea409bfe52b3aE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.3z, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 271, [4 x i8] undef }, align 8 | |
@str.3J = internal constant [31 x i8] c"assertion failed: buf[0] > b'0'" | |
@_ZN4core3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE17h969cf0460267ed13E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.3J, i32 0, i32 0), i64 31 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 272, [4 x i8] undef }, align 8 | |
@str.3K = internal constant [34 x i8] c"assertion failed: parts.len() >= 4" | |
@_ZN4core3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE17h6e3030c15e33ee38E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.3K, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 273, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE17hf370fda7da123c2fE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.3z, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 339, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE17hfb09a232cc400edbE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str.3J, i32 0, i32 0), i64 31 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 340, [4 x i8] undef }, align 8 | |
@str.3L = internal constant [34 x i8] c"assertion failed: parts.len() >= 6" | |
@_ZN4core3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE17hc79c2089b42598faE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.3L, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 341, [4 x i8] undef }, align 8 | |
@str.3M = internal constant [12 x i8] c"MinusPlusRaw" | |
@str.3N = internal constant [9 x i8] c"MinusPlus" | |
@str.3O = internal constant [8 x i8] c"MinusRaw" | |
@str.3P = internal constant [5 x i8] c"Minus" | |
@_ZN4core3num7flt2dec15to_shortest_str14_MSG_FILE_LINE17h5096ca8e5ed40ad6E = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.3K, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 419, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec15to_shortest_str14_MSG_FILE_LINE17haaf1eccf54b09a2dE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.3o, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 420, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE17h826813bcb0d5f123E = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.3L, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 474, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE17he04330f05734d6a3E = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.3o, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 475, [4 x i8] undef }, align 8 | |
@str.3Q = internal constant [46 x i8] c"assertion failed: dec_bounds.0 <= dec_bounds.1" | |
@_ZN4core3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE17h6eb5fccbf5bc459bE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.3Q, i32 0, i32 0), i64 46 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 476, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE17hbec2330270dd4675E = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.3L, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 553, [4 x i8] undef }, align 8 | |
@str.3R = internal constant [29 x i8] c"assertion failed: ndigits > 0" | |
@_ZN4core3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE17h97af1e36f8180a1eE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.3R, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 554, [4 x i8] undef }, align 8 | |
@str.3S = internal constant [61 x i8] c"assertion failed: buf.len() >= ndigits || buf.len() >= maxlen" | |
@_ZN4core3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE17ha34fd979713f8b08E = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.3S, i32 0, i32 0), i64 61 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 580, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec18to_exact_fixed_str14_MSG_FILE_LINE17ha76735831913512aE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.3K, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 609, [4 x i8] undef }, align 8 | |
@str.3T = internal constant [37 x i8] c"assertion failed: buf.len() >= maxlen" | |
@_ZN4core3num7flt2dec18to_exact_fixed_str14_MSG_FILE_LINE17h392f407aad998bddE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([37 x i8], [37 x i8]* @str.3T, i32 0, i32 0), i64 37 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 634, [4 x i8] undef }, align 8 | |
@_ZN4core3num7flt2dec18to_exact_fixed_str10_FILE_LINE17hdd7256564fc4a0e1E = local_unnamed_addr constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.o, i32 0, i32 0), i64 50 }, i32 645, [4 x i8] undef }, align 8 | |
@str.3U = internal constant [35 x i8] c"assertion failed: e >= table::MIN_E" | |
@_ZN4core3num7dec2flt9algorithm12power_of_ten14_MSG_FILE_LINE17h3b7d76c72389c0b3E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.3U, i32 0, i32 0), i64 35 }, %str_slice { i8* getelementptr inbounds ([56 x i8], [56 x i8]* @str.1p, i32 0, i32 0), i64 56 }, i32 27, [4 x i8] undef }, align 8 | |
@str.3V = internal constant [25 x i8] c"assertion failed: *k == 0" | |
@_ZN4core3num7dec2flt9algorithm11quick_start14_MSG_FILE_LINE17hc910a4ebe920f950E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.3V, i32 0, i32 0), i64 25 }, %str_slice { i8* getelementptr inbounds ([56 x i8], [56 x i8]* @str.1p, i32 0, i32 0), i64 56 }, i32 353, [4 x i8] undef }, align 8 | |
@str.3W = internal constant [37 x i8] c"assertion failed: x.bit_length() < 64" | |
@_ZN4core3num7dec2flt3num6to_u6414_MSG_FILE_LINE17hb1073597c7152aacE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([37 x i8], [37 x i8]* @str.3W, i32 0, i32 0), i64 37 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.1s, i32 0, i32 0), i64 50 }, i32 72, [4 x i8] undef }, align 8 | |
@str.3X = internal constant [35 x i8] c"assertion failed: end - start <= 64" | |
@_ZN4core3num7dec2flt3num8get_bits14_MSG_FILE_LINE17h12c0a0414ee16166E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.3X, i32 0, i32 0), i64 35 }, %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.1s, i32 0, i32 0), i64 50 }, i32 87, [4 x i8] undef }, align 8 | |
@str.3Y = internal constant [8 x i8] c"Unpacked" | |
@str.3Z = internal constant [3 x i8] c"sig" | |
@str.40 = internal constant [1 x i8] c"k" | |
@str.41 = internal constant [29 x i8] c"f32::from_bits: too many bits" | |
@"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits14_MSG_FILE_LINE17h6e14a33d7f900e24E" = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.41, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 181, [4 x i8] undef }, align 8 | |
@_ZN4core3num7dec2flt5rawfp11fp_to_float10_FILE_LINE17h3fe27c0cc55b2f47E = local_unnamed_addr constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 258, [4 x i8] undef }, align 8 | |
@str.44 = internal constant [22 x i8] c"fp_to_float: exponent " | |
@str.45 = internal constant [10 x i8] c" too large" | |
@ref.46 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str.44, i32 0, i32 0), i64 22 }, %str_slice { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @str.45, i32 0, i32 0), i64 10 }], align 8 | |
@_ZN4core3num7dec2flt5rawfp11fp_to_float10_FILE_LINE17hfe8b3431dba07e11E = local_unnamed_addr constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 262, [4 x i8] undef }, align 8 | |
@str.47 = internal constant [10 x i8] c" too small" | |
@ref.48 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str.44, i32 0, i32 0), i64 22 }, %str_slice { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @str.47, i32 0, i32 0), i64 10 }], align 8 | |
@_ZN4core3num7dec2flt5rawfp12round_normal10_FILE_LINE17h1b4b453317804d0aE = local_unnamed_addr constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 272, [4 x i8] undef }, align 8 | |
@str.49 = internal constant [41 x i8] c"encode_normal: significand not normalized" | |
@_ZN4core3num7dec2flt5rawfp13encode_normal14_MSG_FILE_LINE17hf258190d743d088cE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str.49, i32 0, i32 0), i64 41 }, %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 289, [4 x i8] undef }, align 8 | |
@str.4a = internal constant [36 x i8] c"encode_normal: exponent out of range" | |
@_ZN4core3num7dec2flt5rawfp13encode_normal14_MSG_FILE_LINE17hc201253b8d55b39bE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.4a, i32 0, i32 0), i64 36 }, %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 295, [4 x i8] undef }, align 8 | |
@str.4b = internal constant [40 x i8] c"encode_subnormal: not actually subnormal" | |
@_ZN4core3num7dec2flt5rawfp16encode_subnormal14_MSG_FILE_LINE17h5927a103dd023a25E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.4b, i32 0, i32 0), i64 40 }, %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 304, [4 x i8] undef }, align 8 | |
@str.4c = internal constant [38 x i8] c"big_to_fp: unexpectedly, input is zero" | |
@_ZN4core3num7dec2flt5rawfp9big_to_fp14_MSG_FILE_LINE17h57900dbf66d550ebE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str.4c, i32 0, i32 0), i64 38 }, %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 312, [4 x i8] undef }, align 8 | |
@str.4d = internal constant [32 x i8] c"prev_float: argument is infinite" | |
@_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17h7e993a7e0a3ea383E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str.4d, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 334, [4 x i8] undef }, align 8 | |
@str.4e = internal constant [27 x i8] c"prev_float: argument is NaN" | |
@_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17h43d06f9627151c97E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.4e, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 335, [4 x i8] undef }, align 8 | |
@str.4f = internal constant [33 x i8] c"prev_float: argument is subnormal" | |
@_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17h1f18f4b6fd253432E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.4f, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 336, [4 x i8] undef }, align 8 | |
@str.4g = internal constant [28 x i8] c"prev_float: argument is zero" | |
@_ZN4core3num7dec2flt5rawfp10prev_float14_MSG_FILE_LINE17h2319560007a76335E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.4g, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 337, [4 x i8] undef }, align 8 | |
@str.4h = internal constant [27 x i8] c"next_float: argument is NaN" | |
@_ZN4core3num7dec2flt5rawfp10next_float14_MSG_FILE_LINE17hed5ce16be65a24e5E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.4h, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.1w, i32 0, i32 0), i64 52 }, i32 355, [4 x i8] undef }, align 8 | |
@str.4i = internal constant [8 x i8] c"Negative" | |
@str.4j = internal constant [8 x i8] c"Positive" | |
@str.4k = internal constant [7 x i8] c"Decimal" | |
@str.4l = internal constant [8 x i8] c"integral" | |
@str.4m = internal constant [10 x i8] c"fractional" | |
@vtable.4n = internal unnamed_addr constant { void (i64**)*, i64, i64, i8 (i64**, %"fmt::Formatter"*)* } { void (i64**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i64**)*), i64 8, i64 8, i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h161ff95e27a9a039E" }, align 8 | |
@str.4o = internal constant [7 x i8] c"Invalid" | |
@str.4p = internal constant [14 x i8] c"ShortcutToZero" | |
@str.4q = internal constant [13 x i8] c"ShortcutToInf" | |
@str.4r = internal constant [5 x i8] c"Valid" | |
@vtable.4s = internal unnamed_addr constant { void (%"num::dec2flt::parse::Decimal"**)*, i64, i64, i8 (%"num::dec2flt::parse::Decimal"**, %"fmt::Formatter"*)* } { void (%"num::dec2flt::parse::Decimal"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"num::dec2flt::parse::Decimal"**)*), i64 8, i64 8, i8 (%"num::dec2flt::parse::Decimal"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hf92adc236ccc2370E" }, align 8 | |
@str.4t = internal constant [15 x i8] c"ParseFloatError" | |
@str.4u = internal constant [4 x i8] c"kind" | |
@vtable.4v = internal unnamed_addr constant { void (i8**)*, i64, i64, i8 (i8**, %"fmt::Formatter"*)* } { void (i8**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i8**)*), i64 8, i64 8, i8 (i8**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h76ab494e8891b447E" }, align 8 | |
@str.4w = internal constant [5 x i8] c"Empty" | |
@str.4x = internal constant [45 x i8] c"/shared/rust/master/src/libcore/num/bignum.rs" | |
@panic_loc.4y = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.d, i32 0, i32 0), i64 25 }, %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 90 }, align 8 | |
@panic_bounds_check_loc.4B = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 144 }, align 8 | |
@panic_bounds_check_loc.4E = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 166 }, align 8 | |
@panic_bounds_check_loc.4F = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 212 }, align 8 | |
@panic_bounds_check_loc.4G = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 226 }, align 8 | |
@panic_bounds_check_loc.4I = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 267 }, align 8 | |
@panic_bounds_check_loc.4L = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 288 }, align 8 | |
@panic_bounds_check_loc.4M = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 291 }, align 8 | |
@panic_bounds_check_loc.4N = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 300 }, align 8 | |
@panic_bounds_check_loc.4O = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 304 }, align 8 | |
@str.4V = internal constant [26 x i8] c"assertion failed: noborrow" | |
@_ZN4core3num6bignum8Big32x403sub14_MSG_FILE_LINE17he6988b9083a66661E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str.4V, i32 0, i32 0), i64 26 }, %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 489, [4 x i8] undef }, align 8 | |
@str.4W = internal constant [29 x i8] c"assertion failed: digits < 40" | |
@_ZN4core3num6bignum8Big32x408mul_pow214_MSG_FILE_LINE17h21fef40b035fe110E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.4W, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 489, [4 x i8] undef }, align 8 | |
@str.4Z = internal constant [27 x i8] c"assertion failed: other > 0" | |
@_ZN4core3num6bignum8Big32x4013div_rem_small14_MSG_FILE_LINE17h0d7c916774a67670E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.4Z, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 489, [4 x i8] undef }, align 8 | |
@str.50 = internal constant [30 x i8] c"assertion failed: !d.is_zero()" | |
@_ZN4core3num6bignum8Big32x407div_rem14_MSG_FILE_LINE17he1f4607671fae315E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str.50, i32 0, i32 0), i64 30 }, %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 489, [4 x i8] undef }, align 8 | |
@ref.53 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }], align 8 | |
@ref.54 = internal unnamed_addr constant { { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } } { { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } { { i64, i64 } { i64 1, i64 0 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } { { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, i32 32, i32 4, i8 3, [7 x i8] undef } } }, align 8 | |
@str.55 = internal constant [1 x i8] c"_" | |
@ref.56 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.55, i32 0, i32 0), i64 1 }], align 8 | |
@ref.57 = internal unnamed_addr constant { { { i64, i64 }, { { i64, [8 x i8] }, { i64, i64 }, i32, i32, i8, [7 x i8] } } } { { { i64, i64 }, { { i64, [8 x i8] }, { i64, i64 }, i32, i32, i8, [7 x i8] } } { { i64, i64 } { i64 1, i64 0 }, { { i64, [8 x i8] }, { i64, i64 }, i32, i32, i8, [7 x i8] } { { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, i64 } { i64 1, i64 1 }, i32 32, i32 8, i8 3, [7 x i8] undef } } }, align 8 | |
@_ZN4core3num6bignum5tests6Big8x33sub14_MSG_FILE_LINE17h48e5680d1e0ce2dcE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str.4V, i32 0, i32 0), i64 26 }, %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 494, [4 x i8] undef }, align 8 | |
@str.58 = internal constant [28 x i8] c"assertion failed: digits < 3" | |
@_ZN4core3num6bignum5tests6Big8x38mul_pow214_MSG_FILE_LINE17hb1ec0ab15960ba11E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.58, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 494, [4 x i8] undef }, align 8 | |
@_ZN4core3num6bignum5tests6Big8x313div_rem_small14_MSG_FILE_LINE17hffa2f3f7c9afdb01E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.4Z, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 494, [4 x i8] undef }, align 8 | |
@_ZN4core3num6bignum5tests6Big8x37div_rem14_MSG_FILE_LINE17hf11819e499e1bc5cE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str.50, i32 0, i32 0), i64 30 }, %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.4x, i32 0, i32 0), i64 45 }, i32 494, [4 x i8] undef }, align 8 | |
@str.5b = internal constant [2 x i8] c"Fp" | |
@str.5c = internal constant [1 x i8] c"f" | |
@str.5f = internal constant [48 x i8] c"/shared/rust/master/src/libcore/num/diy_float.rs" | |
@str.5g = internal constant [29 x i8] c"assertion failed: edelta >= 0" | |
@_ZN4core3num9diy_float2Fp12normalize_to14_MSG_FILE_LINE17h2f2c83a59b92ffc4E = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.5g, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([48 x i8], [48 x i8]* @str.5f, i32 0, i32 0), i64 48 }, i32 84, [4 x i8] undef }, align 8 | |
@_ZN4core3num9diy_float2Fp12normalize_to10_FILE_LINE17h8c3fc481ef3ad19aE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([48 x i8], [48 x i8]* @str.5f, i32 0, i32 0), i64 48 }, i32 86, [4 x i8] undef }, align 8 | |
@str.5h = internal constant [6 x i8] c"Normal" | |
@str.5i = internal constant [9 x i8] c"Subnormal" | |
@str.5j = internal constant [15 x i8] c"TryFromIntError" | |
@vtable.5k = internal unnamed_addr constant { void ({}**)*, i64, i64, i8 ({}**, %"fmt::Formatter"*)* } { void ({}**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void ({}**)*), i64 8, i64 8, i8 ({}**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17he67f40bed8c89031E" }, align 8 | |
@_ZN4core3num14from_str_radix10_FILE_LINE17hfef39fd500266a2eE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.1N, i32 0, i32 0), i64 42 }, i32 2610, [4 x i8] undef }, align 8 | |
@str.5l = internal constant [13 x i8] c"ParseIntError" | |
@vtable.5m = internal unnamed_addr constant { void (i8**)*, i64, i64, i8 (i8**, %"fmt::Formatter"*)* } { void (i8**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i8**)*), i64 8, i64 8, i8 (i8**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hd6adb8a2493b12f3E" }, align 8 | |
@str.5n = internal constant [9 x i8] c"Underflow" | |
@str.5o = internal constant [8 x i8] c"Overflow" | |
@str.5p = internal constant [12 x i8] c"InvalidDigit" | |
@str.5t = internal constant [2 x i8] c".." | |
@ref.5u = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.5t, i32 0, i32 0), i64 2 }], align 8 | |
@ref.5v = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.5t, i32 0, i32 0), i64 2 }], align 8 | |
@str.5w = internal constant [3 x i8] c"..." | |
@ref.5x = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @str.5w, i32 0, i32 0), i64 3 }], align 8 | |
@ref.5y = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @str.5w, i32 0, i32 0), i64 3 }], align 8 | |
@str.5z = internal constant [7 x i8] c"Greater" | |
@str.5A = internal constant [5 x i8] c"Equal" | |
@str.5B = internal constant [4 x i8] c"Less" | |
@str.5C = internal constant [6 x i8] c"TypeId" | |
@str.5D = internal constant [1 x i8] c"t" | |
@str.5E = internal constant [15 x i8] c"__Nonexhaustive" | |
@str.5F = internal constant [6 x i8] c"SeqCst" | |
@str.5G = internal constant [6 x i8] c"AcqRel" | |
@str.5H = internal constant [7 x i8] c"Acquire" | |
@str.5I = internal constant [7 x i8] c"Release" | |
@str.5J = internal constant [7 x i8] c"Relaxed" | |
@str.5K = internal constant [8 x i8] c"AtomicI8" | |
@vtable.5L = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i8*, %"fmt::Formatter"*)* } { void (i8*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i8*)*), i64 1, i64 1, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i8$GT$3fmt17h2bfbdd0d188efe02E" }, align 8 | |
@str.5M = internal constant [8 x i8] c"AtomicU8" | |
@vtable.5N = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i8*, %"fmt::Formatter"*)* } { void (i8*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i8*)*), i64 1, i64 1, i8 (i8*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u8$GT$3fmt17h4370df586593c087E" }, align 8 | |
@str.5O = internal constant [9 x i8] c"AtomicI16" | |
@vtable.5P = internal unnamed_addr constant { void (i16*)*, i64, i64, i8 (i16*, %"fmt::Formatter"*)* } { void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E, i64 2, i64 2, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i16$GT$3fmt17h2742f1416f63af41E" }, align 8 | |
@str.5Q = internal constant [9 x i8] c"AtomicU16" | |
@vtable.5R = internal unnamed_addr constant { void (i16*)*, i64, i64, i8 (i16*, %"fmt::Formatter"*)* } { void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E, i64 2, i64 2, i8 (i16*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u16$GT$3fmt17hdb2789ea036dba36E" }, align 8 | |
@str.5S = internal constant [9 x i8] c"AtomicI32" | |
@vtable.5T = internal unnamed_addr constant { void (i32*)*, i64, i64, i8 (i32*, %"fmt::Formatter"*)* } { void (i32*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i32*)*), i64 4, i64 4, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i32$GT$3fmt17h212cd4d67c96404eE" }, align 8 | |
@str.5U = internal constant [9 x i8] c"AtomicU32" | |
@vtable.5V = internal unnamed_addr constant { void (i32*)*, i64, i64, i8 (i32*, %"fmt::Formatter"*)* } { void (i32*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i32*)*), i64 4, i64 4, i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u32$GT$3fmt17he339318ef5176cc3E" }, align 8 | |
@str.5W = internal constant [9 x i8] c"AtomicI64" | |
@vtable.5X = internal unnamed_addr constant { void (i64*)*, i64, i64, i8 (i64*, %"fmt::Formatter"*)* } { void (i64*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i64*)*), i64 8, i64 8, i8 (i64*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i64$GT$3fmt17h33e9259a09001024E" }, align 8 | |
@str.5Y = internal constant [9 x i8] c"AtomicU64" | |
@vtable.5Z = internal unnamed_addr constant { void (i64*)*, i64, i64, i8 (i64*, %"fmt::Formatter"*)* } { void (i64*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i64*)*), i64 8, i64 8, i8 (i64*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u64$GT$3fmt17he1c690d4ec32cdddE" }, align 8 | |
@str.60 = internal constant [11 x i8] c"AtomicIsize" | |
@vtable.61 = internal unnamed_addr constant { void (i64*)*, i64, i64, i8 (i64*, %"fmt::Formatter"*)* } { void (i64*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i64*)*), i64 8, i64 8, i8 (i64*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$isize$GT$3fmt17h4a64b4a80414beacE" }, align 8 | |
@str.62 = internal constant [11 x i8] c"AtomicUsize" | |
@str.63 = internal constant [42 x i8] c"there is no such thing as an acquire store" | |
@str.64 = internal constant [46 x i8] c"/shared/rust/master/src/libcore/sync/atomic.rs" | |
@_ZN4core4sync6atomic12atomic_store14_MSG_FILE_LINE17hf6c837b4243cfac2E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.63, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1431, [4 x i8] undef }, align 8 | |
@str.65 = internal constant [50 x i8] c"there is no such thing as an acquire/release store" | |
@_ZN4core4sync6atomic12atomic_store14_MSG_FILE_LINE17h6a2c7362a438afabE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.65, i32 0, i32 0), i64 50 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1432, [4 x i8] undef }, align 8 | |
@str.66 = internal constant [23 x i8] c"invalid memory ordering" | |
@_ZN4core4sync6atomic12atomic_store14_MSG_FILE_LINE17hc9082311d91749fcE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1433, [4 x i8] undef }, align 8 | |
@str.67 = internal constant [40 x i8] c"there is no such thing as a release load" | |
@_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17hc44a1b4e499bf459E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.67, i32 0, i32 0), i64 40 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1443, [4 x i8] undef }, align 8 | |
@str.68 = internal constant [49 x i8] c"there is no such thing as an acquire/release load" | |
@_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17hdbe8ddf5f268e871E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([49 x i8], [49 x i8]* @str.68, i32 0, i32 0), i64 49 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1444, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic11atomic_load14_MSG_FILE_LINE17hc91b96cf491e182eE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1445, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic11atomic_swap14_MSG_FILE_LINE17h32072eec963fcddcE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1457, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic10atomic_add14_MSG_FILE_LINE17h6844b7b3b91bc8cfE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1470, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic10atomic_sub14_MSG_FILE_LINE17hc076e3a6161edcc7E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1483, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic23atomic_compare_exchange14_MSG_FILE_LINE17hb65bba12636f3ec7E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1504, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic23atomic_compare_exchange14_MSG_FILE_LINE17h12f7db25de3dd184E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1505, [4 x i8] undef }, align 8 | |
@str.69 = internal constant [61 x i8] c"there is no such thing as an acquire/release failure ordering" | |
@_ZN4core4sync6atomic23atomic_compare_exchange14_MSG_FILE_LINE17h88127f1eae74449eE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.69, i32 0, i32 0), i64 61 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1506, [4 x i8] undef }, align 8 | |
@str.6a = internal constant [52 x i8] c"there is no such thing as a release failure ordering" | |
@_ZN4core4sync6atomic23atomic_compare_exchange14_MSG_FILE_LINE17h556c94ff527b0b2cE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.6a, i32 0, i32 0), i64 52 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1507, [4 x i8] undef }, align 8 | |
@str.6b = internal constant [60 x i8] c"a failure ordering can't be stronger than a success ordering" | |
@_ZN4core4sync6atomic23atomic_compare_exchange14_MSG_FILE_LINE17h90a938be048d4b1eE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6b, i32 0, i32 0), i64 60 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1508, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic28atomic_compare_exchange_weak14_MSG_FILE_LINE17hebd53539445295bcE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1530, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic28atomic_compare_exchange_weak14_MSG_FILE_LINE17h1d247a1c77f66f01E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1531, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic28atomic_compare_exchange_weak14_MSG_FILE_LINE17h5967ab6f5e3dc6c7E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str.69, i32 0, i32 0), i64 61 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1532, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic28atomic_compare_exchange_weak14_MSG_FILE_LINE17ha53fe2747216868dE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.6a, i32 0, i32 0), i64 52 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1533, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic28atomic_compare_exchange_weak14_MSG_FILE_LINE17h2f31424eb174b44bE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.6b, i32 0, i32 0), i64 60 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1534, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic10atomic_and14_MSG_FILE_LINE17h3eed471d57db119fE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1547, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic9atomic_or14_MSG_FILE_LINE17hd0a143f372b7cc12E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1559, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic10atomic_xor14_MSG_FILE_LINE17h105a7705c4a52427E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1571, [4 x i8] undef }, align 8 | |
@str.6c = internal constant [41 x i8] c"there is no such thing as a relaxed fence" | |
@_ZN4core4sync6atomic5fence14_MSG_FILE_LINE17h06bda9d79d4c82a5E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str.6c, i32 0, i32 0), i64 41 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1660, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic5fence14_MSG_FILE_LINE17hb3f82b648e8f31e8E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1661, [4 x i8] undef }, align 8 | |
@str.6d = internal constant [50 x i8] c"there is no such thing as a relaxed compiler fence" | |
@_ZN4core4sync6atomic14compiler_fence14_MSG_FILE_LINE17h5b760a8dcdf61950E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.6d, i32 0, i32 0), i64 50 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1701, [4 x i8] undef }, align 8 | |
@_ZN4core4sync6atomic14compiler_fence14_MSG_FILE_LINE17hd5443d5ef3630205E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.66, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.64, i32 0, i32 0), i64 46 }, i32 1702, [4 x i8] undef }, align 8 | |
@str.6e = internal constant [45 x i8] c"assertion failed: self.borrow.get() == UNUSED" | |
@str.6f = internal constant [39 x i8] c"/shared/rust/master/src/libcore/cell.rs" | |
@"_ZN37_$LT$core..cell..RefCell$LT$T$GT$$GT$10into_inner14_MSG_FILE_LINE17h395a6e6a6a2bfc66E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.6e, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([39 x i8], [39 x i8]* @str.6f, i32 0, i32 0), i64 39 }, i32 543, [4 x i8] undef }, align 8 | |
@str.6g = internal constant [55 x i8] c"assertion failed: borrow != WRITING && borrow != UNUSED" | |
@"_ZN77_$LT$core..cell..BorrowRef$LT$$u27$b$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop14_MSG_FILE_LINE17h7f41a74b890b10e6E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str.6g, i32 0, i32 0), i64 55 }, %str_slice { i8* getelementptr inbounds ([39 x i8], [39 x i8]* @str.6f, i32 0, i32 0), i64 39 }, i32 855, [4 x i8] undef }, align 8 | |
@str.6h = internal constant [34 x i8] c"assertion failed: borrow != UNUSED" | |
@"_ZN74_$LT$core..cell..BorrowRef$LT$$u27$b$GT$$u20$as$u20$core..clone..Clone$GT$5clone14_MSG_FILE_LINE17h45710bd02e7cd955E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.6h, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([39 x i8], [39 x i8]* @str.6f, i32 0, i32 0), i64 39 }, i32 866, [4 x i8] undef }, align 8 | |
@str.6i = internal constant [35 x i8] c"assertion failed: borrow != WRITING" | |
@"_ZN74_$LT$core..cell..BorrowRef$LT$$u27$b$GT$$u20$as$u20$core..clone..Clone$GT$5clone14_MSG_FILE_LINE17he4b6648a91a03f62E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.6i, i32 0, i32 0), i64 35 }, %str_slice { i8* getelementptr inbounds ([39 x i8], [39 x i8]* @str.6f, i32 0, i32 0), i64 39 }, i32 868, [4 x i8] undef }, align 8 | |
@str.6j = internal constant [35 x i8] c"assertion failed: borrow == WRITING" | |
@"_ZN80_$LT$core..cell..BorrowRefMut$LT$$u27$b$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop14_MSG_FILE_LINE17h00ad7a5efcbed2a2E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.6j, i32 0, i32 0), i64 35 }, %str_slice { i8* getelementptr inbounds ([39 x i8], [39 x i8]* @str.6f, i32 0, i32 0), i64 39 }, i32 996, [4 x i8] undef }, align 8 | |
@str.6k = internal constant [14 x i8] c"ParseCharError" | |
@vtable.6l = internal unnamed_addr constant { void (i8**)*, i64, i64, i8 (i8**, %"fmt::Formatter"*)* } { void (i8**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i8**)*), i64 8, i64 8, i8 (i8**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h78520a0883bad7a0E" }, align 8 | |
@str.6m = internal constant [12 x i8] c"TooManyChars" | |
@str.6n = internal constant [11 x i8] c"EmptyString" | |
@str.6o = internal constant [16 x i8] c"CharTryFromError" | |
@str.6p = internal constant [42 x i8] c"from_digit: radix is too high (maximum 36)" | |
@str.6q = internal constant [39 x i8] c"/shared/rust/master/src/libcore/char.rs" | |
@_ZN4core4char10from_digit14_MSG_FILE_LINE17h9a4668dbc5fcb3bbE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.6p, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([39 x i8], [39 x i8]* @str.6q, i32 0, i32 0), i64 39 }, i32 352, [4 x i8] undef }, align 8 | |
@str.6r = internal constant [40 x i8] c"to_digit: radix is too high (maximum 36)" | |
@"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17he73e9f4f7105b3e4E" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.6r, i32 0, i32 0), i64 40 }, %str_slice { i8* getelementptr inbounds ([39 x i8], [39 x i8]* @str.6q, i32 0, i32 0), i64 39 }, i32 404, [4 x i8] undef }, align 8 | |
@"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$11encode_utf810_FILE_LINE17h71e84d9715eef285E" = constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([39 x i8], [39 x i8]* @str.6q, i32 0, i32 0), i64 39 }, i32 504, [4 x i8] undef }, align 8 | |
@str.6s = internal constant [18 x i8] c"encode_utf8: need " | |
@str.6t = internal constant [19 x i8] c" bytes to encode U+" | |
@str.6u = internal constant [21 x i8] c", but the buffer has " | |
@ref.6v = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([18 x i8], [18 x i8]* @str.6s, i32 0, i32 0), i64 18 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str.6t, i32 0, i32 0), i64 19 }, %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str.6u, i32 0, i32 0), i64 21 }], align 8 | |
@"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$12encode_utf1610_FILE_LINE17he82e80065e1dade4E" = local_unnamed_addr constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([39 x i8], [39 x i8]* @str.6q, i32 0, i32 0), i64 39 }, i32 528, [4 x i8] undef }, align 8 | |
@str.6w = internal constant [19 x i8] c"encode_utf16: need " | |
@str.6x = internal constant [19 x i8] c" units to encode U+" | |
@ref.6y = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str.6w, i32 0, i32 0), i64 19 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str.6x, i32 0, i32 0), i64 19 }, %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str.6u, i32 0, i32 0), i64 21 }], align 8 | |
@str.6z = internal constant [13 x i8] c"EscapeUnicode" | |
@str.6A = internal constant [1 x i8] c"c" | |
@str.6B = internal constant [5 x i8] c"state" | |
@vtable.6C = internal unnamed_addr constant { void (i8**)*, i64, i64, i8 (i8**, %"fmt::Formatter"*)* } { void (i8**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (i8**)*), i64 8, i64 8, i8 (i8**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hfba214a2c3123f7aE" }, align 8 | |
@str.6D = internal constant [13 x i8] c"hex_digit_idx" | |
@str.6E = internal constant [9 x i8] c"Backslash" | |
@str.6F = internal constant [4 x i8] c"Type" | |
@str.6G = internal constant [9 x i8] c"LeftBrace" | |
@str.6H = internal constant [5 x i8] c"Value" | |
@str.6I = internal constant [10 x i8] c"RightBrace" | |
@str.6J = internal constant [4 x i8] c"Done" | |
@str.6K = internal constant [13 x i8] c"EscapeDefault" | |
@vtable.6L = internal unnamed_addr constant { void (%"char::EscapeDefaultState"**)*, i64, i64, i8 (%"char::EscapeDefaultState"**, %"fmt::Formatter"*)* } { void (%"char::EscapeDefaultState"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"char::EscapeDefaultState"**)*), i64 8, i64 8, i8 (%"char::EscapeDefaultState"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17he8750558182b51bbE" }, align 8 | |
@str.6M = internal constant [7 x i8] c"Unicode" | |
@vtable.6N = internal unnamed_addr constant { void (%"char::EscapeUnicode"**)*, i64, i64, i8 (%"char::EscapeUnicode"**, %"fmt::Formatter"*)* } { void (%"char::EscapeUnicode"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"char::EscapeUnicode"**)*), i64 8, i64 8, i8 (%"char::EscapeUnicode"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hfa79eba6b34f0f02E" }, align 8 | |
@str.6O = internal constant [4 x i8] c"Char" | |
@str.6P = internal constant [11 x i8] c"EscapeDebug" | |
@vtable.6Q = internal unnamed_addr constant { void (%"char::EscapeDefault"**)*, i64, i64, i8 (%"char::EscapeDefault"**, %"fmt::Formatter"*)* } { void (%"char::EscapeDefault"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"char::EscapeDefault"**)*), i64 8, i64 8, i8 (%"char::EscapeDefault"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h6a149e07f46b6c3cE" }, align 8 | |
@str.6R = internal constant [15 x i8] c"InvalidSequence" | |
@str.6S = internal constant [32 x i8] c"index out of bounds: the len is " | |
@str.6T = internal constant [18 x i8] c" but the index is " | |
@ref.6U = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str.6S, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([18 x i8], [18 x i8]* @str.6T, i32 0, i32 0), i64 18 }], align 8 | |
@str.6V = internal constant [27 x i8] c"assertion failed: step != 0" | |
@str.6W = internal constant [48 x i8] c"/shared/rust/master/src/libcore/iter/iterator.rs" | |
@_ZN4core4iter8iterator8Iterator7step_by14_MSG_FILE_LINE17h16c37d0d35935dcbE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.6V, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([48 x i8], [48 x i8]* @str.6W, i32 0, i32 0), i64 48 }, i32 291, [4 x i8] undef }, align 8 | |
@str.6X = internal constant [46 x i8] c"/shared/rust/master/src/libcore/iter/traits.rs" | |
@_ZN4core4iter6traits17ExactSizeIterator3len10_FILE_LINE17hf11b2f78f7798ae3E = constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str.6X, i32 0, i32 0), i64 46 }, i32 584, [4 x i8] undef }, align 8 | |
@str.6Y = internal constant [6 x i8] c"Cloned" | |
@str.6Z = internal constant [2 x i8] c"it" | |
@vtable.70 = internal unnamed_addr constant { void (%"slice::Iter<u8>"**)*, i64, i64, i8 (%"slice::Iter<u8>"**, %"fmt::Formatter"*)* } { void (%"slice::Iter<u8>"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"slice::Iter<u8>"**)*), i64 8, i64 8, i8 (%"slice::Iter<u8>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h822b33e27b7e9f37E" }, align 8 | |
@str.71 = internal constant [4 x i8] c"Back" | |
@str.72 = internal constant [5 x i8] c"Front" | |
@str.73 = internal constant [4 x i8] c"Both" | |
@str.74 = internal constant [40 x i8] c"internal error: entered unreachable code" | |
@str.75 = internal constant [43 x i8] c"/shared/rust/master/src/libcore/iter/mod.rs" | |
@"_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_LINE17hb26bdf3aa1b7c3c7E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.74, i32 0, i32 0), i64 40 }, %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str.75, i32 0, i32 0), i64 43 }, i32 875, [4 x i8] undef }, align 8 | |
@"_ZN38_$LT$core..iter..Peekable$LT$I$GT$$GT$4peek14_MSG_FILE_LINE17h88cfbf1d04e948e8E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.74, i32 0, i32 0), i64 40 }, %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str.75, i32 0, i32 0), i64 43 }, i32 1520, [4 x i8] undef }, align 8 | |
@str.76 = internal constant [4 x i8] c"Some" | |
@str.77 = internal constant [4 x i8] c"None" | |
@str.78 = internal constant [43 x i8] c"called `Option::unwrap()` on a `None` value" | |
@str.79 = internal constant [41 x i8] c"/shared/rust/master/src/libcore/option.rs" | |
@"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap14_MSG_FILE_LINE17h402d80e0681eef01E" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str.78, i32 0, i32 0), i64 43 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str.79, i32 0, i32 0), i64 41 }, i32 335, [4 x i8] undef }, align 8 | |
@"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$13get_or_insert14_MSG_FILE_LINE17h2c52c517b6554913E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.74, i32 0, i32 0), i64 40 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str.79, i32 0, i32 0), i64 41 }, i32 697, [4 x i8] undef }, align 8 | |
@"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$18get_or_insert_with14_MSG_FILE_LINE17h99646474600d090dE" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str.74, i32 0, i32 0), i64 40 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str.79, i32 0, i32 0), i64 41 }, i32 732, [4 x i8] undef }, align 8 | |
@_ZN4core6option13expect_failed10_FILE_LINE17hd4c8588abb736764E = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str.79, i32 0, i32 0), i64 41 }, i32 823, [4 x i8] undef }, align 8 | |
@str.7a = internal constant [41 x i8] c"/shared/rust/master/src/libcore/result.rs" | |
@_ZN4core6result13unwrap_failed10_FILE_LINE17h88a900456e4e3d4eE = local_unnamed_addr constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str.7a, i32 0, i32 0), i64 41 }, i32 860, [4 x i8] undef }, align 8 | |
@str.7b = internal constant [2 x i8] c": " | |
@ref.7c = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.7b, i32 0, i32 0), i64 2 }], align 8 | |
@str.7d = internal constant [41 x i8] c"assertion failed: mem::size_of::<T>() > 0" | |
@str.7e = internal constant [45 x i8] c"/shared/rust/master/src/libcore/slice/sort.rs" | |
@_ZN4core5slice4sort19partition_in_blocks5width14_MSG_FILE_LINE17h8fbe8421624ee15eE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str.7d, i32 0, i32 0), i64 41 }, %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.7e, i32 0, i32 0), i64 45 }, i32 243, [4 x i8] undef }, align 8 | |
@str.7f = internal constant [54 x i8] c"assertion failed: block_l <= BLOCK && block_r <= BLOCK" | |
@_ZN4core5slice4sort19partition_in_blocks14_MSG_FILE_LINE17hf76c00693c97d991E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str.7f, i32 0, i32 0), i64 54 }, %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.7e, i32 0, i32 0), i64 45 }, i32 269, [4 x i8] undef }, align 8 | |
@str.7g = internal constant [50 x i8] c"assertion failed: width(l, r) == block_l + block_r" | |
@_ZN4core5slice4sort19partition_in_blocks14_MSG_FILE_LINE17hf6f8c1b391de4c6eE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str.7g, i32 0, i32 0), i64 50 }, %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.7e, i32 0, i32 0), i64 45 }, i32 270, [4 x i8] undef }, align 8 | |
@_ZN4core5slice4sort19partition_in_blocks10_FILE_LINE17h64fcdb78a7d47aebE = local_unnamed_addr constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.7e, i32 0, i32 0), i64 45 }, i32 355, [4 x i8] undef }, align 8 | |
@_ZN4core5slice4sort19partition_in_blocks10_FILE_LINE17h61abb95e370beaa3E = local_unnamed_addr constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str.7e, i32 0, i32 0), i64 45 }, i32 367, [4 x i8] undef }, align 8 | |
@str.7h = internal constant [27 x i8] c"assertion failed: size != 0" | |
@"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$7windows14_MSG_FILE_LINE17h6c14a0feb7411512E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.7h, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 341, [4 x i8] undef }, align 8 | |
@"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6chunks14_MSG_FILE_LINE17haabb1cb939d11c55E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.7h, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 347, [4 x i8] undef }, align 8 | |
@str.7i = internal constant [28 x i8] c"assertion failed: mid <= len" | |
@"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$12split_at_mut14_MSG_FILE_LINE17h085b0e7d15f1f66dE" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.7i, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 433, [4 x i8] undef }, align 8 | |
@str.7j = internal constant [32 x i8] c"assertion failed: chunk_size > 0" | |
@"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10chunks_mut14_MSG_FILE_LINE17hbff3bcc21a3f7c17E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str.7j, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 528, [4 x i8] undef }, align 8 | |
@str.7k = internal constant [35 x i8] c"assertion failed: mid <= self.len()" | |
@"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6rotate14_MSG_FILE_LINE17h00f4689612ef33ccE" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.7k, i32 0, i32 0), i64 35 }, %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 643, [4 x i8] undef }, align 8 | |
@str.7l = internal constant [52 x i8] c"destination and source slices have different lengths" | |
@"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$16clone_from_slice14_MSG_FILE_LINE17h57fcbe2ebd0fa5feE" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.7l, i32 0, i32 0), i64 52 }, %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 654, [4 x i8] undef }, align 8 | |
@"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice14_MSG_FILE_LINE17h7abb920734f53c48E" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([52 x i8], [52 x i8]* @str.7l, i32 0, i32 0), i64 52 }, %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 668, [4 x i8] undef }, align 8 | |
@_ZN4core5slice20slice_index_len_fail10_FILE_LINE17hb90ee0655d771c92E = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 735, [4 x i8] undef }, align 8 | |
@str.7m = internal constant [6 x i8] c"index " | |
@str.7n = internal constant [34 x i8] c" out of range for slice of length " | |
@ref.7o = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str.7m, i32 0, i32 0), i64 6 }, %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str.7n, i32 0, i32 0), i64 34 }], align 8 | |
@_ZN4core5slice22slice_index_order_fail10_FILE_LINE17hbf6f627fef3216d9E = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 741, [4 x i8] undef }, align 8 | |
@str.7p = internal constant [22 x i8] c"slice index starts at " | |
@str.7q = internal constant [13 x i8] c" but ends at " | |
@ref.7r = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str.7p, i32 0, i32 0), i64 22 }, %str_slice { i8* getelementptr inbounds ([13 x i8], [13 x i8]* @str.7q, i32 0, i32 0), i64 13 }], align 8 | |
@str.7s = internal constant [44 x i8] c"attempted to index slice up to maximum usize" | |
@"_ZN108_$LT$core..ops..range..RangeInclusive$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index14_MSG_FILE_LINE17hf9b50f8500760d88E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.7s, i32 0, i32 0), i64 44 }, %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 1020, [4 x i8] undef }, align 8 | |
@"_ZN108_$LT$core..ops..range..RangeInclusive$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut14_MSG_FILE_LINE17h1f3407d346bed9e7E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.7s, i32 0, i32 0), i64 44 }, %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str.2b, i32 0, i32 0), i64 44 }, i32 1027, [4 x i8] undef }, align 8 | |
@str.7t = internal constant [6 x i8] c"Reject" | |
@str.7u = internal constant [5 x i8] c"Match" | |
@str.7v = internal constant [14 x i8] c"CharEqSearcher" | |
@str.7w = internal constant [7 x i8] c"char_eq" | |
@vtable.7x = internal unnamed_addr constant { void ({ i32*, i64 }**)*, i64, i64, i8 ({ i32*, i64 }**, %"fmt::Formatter"*)* } { void ({ i32*, i64 }**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void ({ i32*, i64 }**)*), i64 8, i64 8, i8 ({ i32*, i64 }**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4c3150676a467a93E" }, align 8 | |
@str.7y = internal constant [8 x i8] c"haystack" | |
@vtable.7z = internal unnamed_addr constant { void (%str_slice**)*, i64, i64, i8 (%str_slice**, %"fmt::Formatter"*)* } { void (%str_slice**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%str_slice**)*), i64 8, i64 8, i8 (%str_slice**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7fdbd35c8364fd0bE" }, align 8 | |
@str.7A = internal constant [12 x i8] c"char_indices" | |
@vtable.7B = internal unnamed_addr constant { void (%"str::CharIndices"**)*, i64, i64, i8 (%"str::CharIndices"**, %"fmt::Formatter"*)* } { void (%"str::CharIndices"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"str::CharIndices"**)*), i64 8, i64 8, i8 (%"str::CharIndices"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h55c41a6f7e073656E" }, align 8 | |
@str.7C = internal constant [10 x i8] c"ascii_only" | |
@str.7D = internal constant [12 x i8] c"CharSearcher" | |
@vtable.7E = internal unnamed_addr constant { void (%"str::pattern::CharEqSearcher<char>"**)*, i64, i64, i8 (%"str::pattern::CharEqSearcher<char>"**, %"fmt::Formatter"*)* } { void (%"str::pattern::CharEqSearcher<char>"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"str::pattern::CharEqSearcher<char>"**)*), i64 8, i64 8, i8 (%"str::pattern::CharEqSearcher<char>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h98701cec2edb7464E" }, align 8 | |
@str.7F = internal constant [17 x i8] c"CharSliceSearcher" | |
@vtable.7G = internal unnamed_addr constant { void (%"str::pattern::CharEqSearcher<&[char]>"**)*, i64, i64, i8 (%"str::pattern::CharEqSearcher<&[char]>"**, %"fmt::Formatter"*)* } { void (%"str::pattern::CharEqSearcher<&[char]>"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"str::pattern::CharEqSearcher<&[char]>"**)*), i64 8, i64 8, i8 (%"str::pattern::CharEqSearcher<&[char]>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h5b3b5211ab00c9deE" }, align 8 | |
@str.7H = internal constant [11 x i8] c"StrSearcher" | |
@str.7I = internal constant [6 x i8] c"needle" | |
@str.7J = internal constant [8 x i8] c"searcher" | |
@vtable.7K = internal unnamed_addr constant { void (%"str::pattern::StrSearcherImpl"**)*, i64, i64, i8 (%"str::pattern::StrSearcherImpl"**, %"fmt::Formatter"*)* } { void (%"str::pattern::StrSearcherImpl"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"str::pattern::StrSearcherImpl"**)*), i64 8, i64 8, i8 (%"str::pattern::StrSearcherImpl"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hc1892d82b21bed30E" }, align 8 | |
@str.7L = internal constant [6 x i8] c"TwoWay" | |
@vtable.7M = internal unnamed_addr constant { void (%"str::pattern::TwoWaySearcher"**)*, i64, i64, i8 (%"str::pattern::TwoWaySearcher"**, %"fmt::Formatter"*)* } { void (%"str::pattern::TwoWaySearcher"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"str::pattern::TwoWaySearcher"**)*), i64 8, i64 8, i8 (%"str::pattern::TwoWaySearcher"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17ha5fb590e70fb58abE" }, align 8 | |
@vtable.7N = internal unnamed_addr constant { void (%"str::pattern::EmptyNeedle"**)*, i64, i64, i8 (%"str::pattern::EmptyNeedle"**, %"fmt::Formatter"*)* } { void (%"str::pattern::EmptyNeedle"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"str::pattern::EmptyNeedle"**)*), i64 8, i64 8, i8 (%"str::pattern::EmptyNeedle"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hb7f51678b518730eE" }, align 8 | |
@str.7O = internal constant [11 x i8] c"EmptyNeedle" | |
@str.7P = internal constant [8 x i8] c"position" | |
@str.7Q = internal constant [11 x i8] c"is_match_fw" | |
@str.7R = internal constant [11 x i8] c"is_match_bw" | |
@str.7S = internal constant [14 x i8] c"TwoWaySearcher" | |
@str.7T = internal constant [8 x i8] c"crit_pos" | |
@str.7U = internal constant [13 x i8] c"crit_pos_back" | |
@str.7V = internal constant [6 x i8] c"period" | |
@str.7W = internal constant [7 x i8] c"byteset" | |
@str.7X = internal constant [6 x i8] c"memory" | |
@str.7Y = internal constant [11 x i8] c"memory_back" | |
@str.81 = internal constant [14 x i8] c"ParseBoolError" | |
@str.82 = internal constant [5 x i8] c"_priv" | |
@str.83 = internal constant [9 x i8] c"Utf8Error" | |
@str.84 = internal constant [11 x i8] c"valid_up_to" | |
@str.85 = internal constant [9 x i8] c"error_len" | |
@vtable.86 = internal unnamed_addr constant { void (%"option::Option<u8>"**)*, i64, i64, i8 (%"option::Option<u8>"**, %"fmt::Formatter"*)* } { void (%"option::Option<u8>"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"option::Option<u8>"**)*), i64 8, i64 8, i8 (%"option::Option<u8>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h60bf1bb448d5a0caE" }, align 8 | |
@str.87 = internal constant [26 x i8] c"invalid utf-8 sequence of " | |
@str.88 = internal constant [18 x i8] c" bytes from index " | |
@ref.89 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str.87, i32 0, i32 0), i64 26 }, %str_slice { i8* getelementptr inbounds ([18 x i8], [18 x i8]* @str.88, i32 0, i32 0), i64 18 }], align 8 | |
@str.8a = internal constant [42 x i8] c"incomplete utf-8 byte sequence from index " | |
@ref.8b = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.8a, i32 0, i32 0), i64 42 }], align 8 | |
@str.8c = internal constant [5 x i8] c"Chars" | |
@str.8d = internal constant [11 x i8] c"CharIndices" | |
@str.8e = internal constant [12 x i8] c"front_offset" | |
@vtable.8f = internal unnamed_addr constant { void (%"str::Chars"**)*, i64, i64, i8 (%"str::Chars"**, %"fmt::Formatter"*)* } { void (%"str::Chars"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"str::Chars"**)*), i64 8, i64 8, i8 (%"str::Chars"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h9f2c6f6b2377c3aeE" }, align 8 | |
@str.8g = internal constant [5 x i8] c"Bytes" | |
@vtable.8h = internal unnamed_addr constant { void (%"iter::Cloned<slice::Iter<u8>>"**)*, i64, i64, i8 (%"iter::Cloned<slice::Iter<u8>>"**, %"fmt::Formatter"*)* } { void (%"iter::Cloned<slice::Iter<u8>>"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"iter::Cloned<slice::Iter<u8>>"**)*), i64 8, i64 8, i8 (%"iter::Cloned<slice::Iter<u8>>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h884ca84fdc053a26E" }, align 8 | |
@str.8i = internal constant [15 x i8] c"SplitTerminator" | |
@vtable.8j = internal unnamed_addr constant { void (%"str::SplitInternal<char>"*)*, i64, i64, i8 (%"str::SplitInternal<char>"*, %"fmt::Formatter"*)* } { void (%"str::SplitInternal<char>"*)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"str::SplitInternal<char>"*)*), i64 72, i64 8, i8 (%"str::SplitInternal<char>"*, %"fmt::Formatter"*)* @"_ZN84_$LT$core..str..SplitInternal$LT$$u27$a$C$$u20$P$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h4560cf4af081110eE" }, align 8 | |
@str.8k = internal constant [5 x i8] c"Lines" | |
@vtable.8l = internal unnamed_addr constant { void (%"iter::Map<str::SplitTerminator<char>, str::LinesAnyMap>"**)*, i64, i64, i8 (%"iter::Map<str::SplitTerminator<char>, str::LinesAnyMap>"**, %"fmt::Formatter"*)* } { void (%"iter::Map<str::SplitTerminator<char>, str::LinesAnyMap>"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"iter::Map<str::SplitTerminator<char>, str::LinesAnyMap>"**)*), i64 8, i64 8, i8 (%"iter::Map<str::SplitTerminator<char>, str::LinesAnyMap>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h88dc73b0849dc38eE" }, align 8 | |
@str.8m = internal constant [8 x i8] c"LinesAny" | |
@vtable.8n = internal unnamed_addr constant { void (%"str::Lines"**)*, i64, i64, i8 (%"str::Lines"**, %"fmt::Formatter"*)* } { void (%"str::Lines"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"str::Lines"**)*), i64 8, i64 8, i8 (%"str::Lines"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h24ffa3d4cecb8192E" }, align 8 | |
@str.8o = internal constant [42 x i8] c"attempted to index str up to maximum usize" | |
@"_ZN4core3str6traits110_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..range..RangeInclusive$LT$usize$GT$$GT$5index14_MSG_FILE_LINE17h5000a3e47eac2a32E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.8o, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.2r, i32 0, i32 0), i64 42 }, i32 1945, [4 x i8] undef }, align 8 | |
@"_ZN4core3str6traits110_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..range..RangeInclusive$LT$usize$GT$$GT$9index_mut14_MSG_FILE_LINE17ha847ba167cc150aeE" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.8o, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.2r, i32 0, i32 0), i64 42 }, i32 1951, [4 x i8] undef }, align 8 | |
@"_ZN4core3str6traits112_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..range..RangeToInclusive$LT$usize$GT$$GT$5index14_MSG_FILE_LINE17h3c13c87439aa05fcE" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.8o, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.2r, i32 0, i32 0), i64 42 }, i32 1990, [4 x i8] undef }, align 8 | |
@"_ZN4core3str6traits112_$LT$impl$u20$core..slice..SliceIndex$LT$str$GT$$u20$for$u20$core..ops..range..RangeToInclusive$LT$usize$GT$$GT$9index_mut14_MSG_FILE_LINE17h0a16149b156bed1cE" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.8o, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.2r, i32 0, i32 0), i64 42 }, i32 1997, [4 x i8] undef }, align 8 | |
@_ZN4core3str16slice_error_fail10_FILE_LINE17hf305793037ab0a35E = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.2r, i32 0, i32 0), i64 42 }, i32 2133, [4 x i8] undef }, align 8 | |
@str.8p = internal constant [11 x i8] c"byte index " | |
@str.8q = internal constant [22 x i8] c" is out of bounds of `" | |
@ref.8r = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([11 x i8], [11 x i8]* @str.8p, i32 0, i32 0), i64 11 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str.8q, i32 0, i32 0), i64 22 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.3w, i32 0, i32 0), i64 1 }], align 8 | |
@_ZN4core3str16slice_error_fail10_FILE_LINE17h6fd1bc5d8912608aE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.2r, i32 0, i32 0), i64 42 }, i32 2137, [4 x i8] undef }, align 8 | |
@str.8s = internal constant [14 x i8] c"begin <= end (" | |
@str.8t = internal constant [4 x i8] c" <= " | |
@str.8u = internal constant [16 x i8] c") when slicing `" | |
@ref.8v = internal unnamed_addr constant [4 x %str_slice] [%str_slice { i8* getelementptr inbounds ([14 x i8], [14 x i8]* @str.8s, i32 0, i32 0), i64 14 }, %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str.8t, i32 0, i32 0), i64 4 }, %str_slice { i8* getelementptr inbounds ([16 x i8], [16 x i8]* @str.8u, i32 0, i32 0), i64 16 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.3w, i32 0, i32 0), i64 1 }], align 8 | |
@_ZN4core3str16slice_error_fail10_FILE_LINE17h5bdf793b758e73efE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.2r, i32 0, i32 0), i64 42 }, i32 2150, [4 x i8] undef }, align 8 | |
@str.8w = internal constant [38 x i8] c" is not a char boundary; it is inside " | |
@str.8x = internal constant [8 x i8] c" (bytes " | |
@str.8y = internal constant [6 x i8] c") of `" | |
@ref.8z = internal unnamed_addr constant [5 x %str_slice] [%str_slice { i8* getelementptr inbounds ([11 x i8], [11 x i8]* @str.8p, i32 0, i32 0), i64 11 }, %str_slice { i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str.8w, i32 0, i32 0), i64 38 }, %str_slice { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @str.8x, i32 0, i32 0), i64 8 }, %str_slice { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str.8y, i32 0, i32 0), i64 6 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.3w, i32 0, i32 0), i64 1 }], align 8 | |
@str.8A = internal constant [11 x i8] c"SipHasher13" | |
@str.8B = internal constant [6 x i8] c"hasher" | |
@vtable.8C = internal unnamed_addr constant { void (%"hash::sip::Hasher<hash::sip::Sip13Rounds>"**)*, i64, i64, i8 (%"hash::sip::Hasher<hash::sip::Sip13Rounds>"**, %"fmt::Formatter"*)* } { void (%"hash::sip::Hasher<hash::sip::Sip13Rounds>"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"hash::sip::Hasher<hash::sip::Sip13Rounds>"**)*), i64 8, i64 8, i8 (%"hash::sip::Hasher<hash::sip::Sip13Rounds>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hf711729a92005386E" }, align 8 | |
@str.8D = internal constant [11 x i8] c"SipHasher24" | |
@vtable.8E = internal unnamed_addr constant { void (%"hash::sip::Hasher<hash::sip::Sip24Rounds>"**)*, i64, i64, i8 (%"hash::sip::Hasher<hash::sip::Sip24Rounds>"**, %"fmt::Formatter"*)* } { void (%"hash::sip::Hasher<hash::sip::Sip24Rounds>"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"hash::sip::Hasher<hash::sip::Sip24Rounds>"**)*), i64 8, i64 8, i8 (%"hash::sip::Hasher<hash::sip::Sip24Rounds>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17he1c47d6df5780c3eE" }, align 8 | |
@str.8F = internal constant [9 x i8] c"SipHasher" | |
@vtable.8G = internal unnamed_addr constant { void (%"hash::sip::SipHasher24"**)*, i64, i64, i8 (%"hash::sip::SipHasher24"**, %"fmt::Formatter"*)* } { void (%"hash::sip::SipHasher24"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"hash::sip::SipHasher24"**)*), i64 8, i64 8, i8 (%"hash::sip::SipHasher24"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h53268e22c5180771E" }, align 8 | |
@str.8H = internal constant [6 x i8] c"Hasher" | |
@str.8I = internal constant [2 x i8] c"k0" | |
@str.8J = internal constant [2 x i8] c"k1" | |
@str.8K = internal constant [6 x i8] c"length" | |
@vtable.8L = internal unnamed_addr constant { void (%"hash::sip::State"**)*, i64, i64, i8 (%"hash::sip::State"**, %"fmt::Formatter"*)* } { void (%"hash::sip::State"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"hash::sip::State"**)*), i64 8, i64 8, i8 (%"hash::sip::State"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h997a960fbb4451e5E" }, align 8 | |
@str.8M = internal constant [4 x i8] c"tail" | |
@str.8N = internal constant [5 x i8] c"ntail" | |
@str.8O = internal constant [7 x i8] c"_marker" | |
@vtable.8P = internal unnamed_addr constant { void (%"marker::PhantomData<hash::sip::Sip13Rounds>"**)*, i64, i64, i8 (%"marker::PhantomData<hash::sip::Sip13Rounds>"**, %"fmt::Formatter"*)* } { void (%"marker::PhantomData<hash::sip::Sip13Rounds>"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"marker::PhantomData<hash::sip::Sip13Rounds>"**)*), i64 8, i64 8, i8 (%"marker::PhantomData<hash::sip::Sip13Rounds>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h55707701ac16bd71E" }, align 8 | |
@vtable.8Q = internal unnamed_addr constant { void (%"marker::PhantomData<hash::sip::Sip24Rounds>"**)*, i64, i64, i8 (%"marker::PhantomData<hash::sip::Sip24Rounds>"**, %"fmt::Formatter"*)* } { void (%"marker::PhantomData<hash::sip::Sip24Rounds>"**)* bitcast (void (i16*)* @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E to void (%"marker::PhantomData<hash::sip::Sip24Rounds>"**)*), i64 8, i64 8, i8 (%"marker::PhantomData<hash::sip::Sip24Rounds>"**, %"fmt::Formatter"*)* bitcast (i8 (%"marker::PhantomData<hash::sip::Sip13Rounds>"**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h55707701ac16bd71E" to i8 (%"marker::PhantomData<hash::sip::Sip24Rounds>"**, %"fmt::Formatter"*)*) }, align 8 | |
@str.8R = internal constant [5 x i8] c"State" | |
@str.8S = internal constant [2 x i8] c"v0" | |
@str.8T = internal constant [2 x i8] c"v2" | |
@str.8U = internal constant [2 x i8] c"v1" | |
@str.8V = internal constant [2 x i8] c"v3" | |
@str.8W = internal constant [25 x i8] c"assertion failed: len < 8" | |
@str.8X = internal constant [43 x i8] c"/shared/rust/master/src/libcore/hash/sip.rs" | |
@_ZN4core4hash3sip9u8to64_le14_MSG_FILE_LINE17hdd8080e0546df4baE = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.8W, i32 0, i32 0), i64 25 }, %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str.8X, i32 0, i32 0), i64 43 }, i32 123, [4 x i8] undef }, align 8 | |
@str.8Y = internal constant [64 x i8] c"assertion failed: start + i + mem::size_of::<u32>() <= buf.len()" | |
@_ZN4core4hash3sip9u8to64_le14_MSG_FILE_LINE17hdbdfc36b3ec0de84E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.8Y, i32 0, i32 0), i64 64 }, %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str.8X, i32 0, i32 0), i64 43 }, i32 127, [4 x i8] undef }, align 8 | |
@str.8Z = internal constant [64 x i8] c"assertion failed: start + i + mem::size_of::<u16>() <= buf.len()" | |
@_ZN4core4hash3sip9u8to64_le14_MSG_FILE_LINE17h598fa45372700385E = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str.8Z, i32 0, i32 0), i64 64 }, %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str.8X, i32 0, i32 0), i64 43 }, i32 131, [4 x i8] undef }, align 8 | |
@_ZN4core4hash3sip9u8to64_le10_FILE_LINE17h619270cc6fec8807E = local_unnamed_addr constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str.8X, i32 0, i32 0), i64 43 }, i32 138, [4 x i8] undef }, align 8 | |
@str.90 = internal constant [32 x i8] c"assertion failed: msg.len() <= 8" | |
@"_ZN41_$LT$core..hash..sip..Hasher$LT$S$GT$$GT$11short_write14_MSG_FILE_LINE17hcbd552f64a5fb560E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str.90, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str.8X, i32 0, i32 0), i64 43 }, i32 244, [4 x i8] undef }, align 8 | |
@str.91 = internal constant [56 x i8] c"assertion failed: 0 + mem::size_of::<u64>() <= msg.len()" | |
@"_ZN41_$LT$core..hash..sip..Hasher$LT$S$GT$$GT$11short_write14_MSG_FILE_LINE17h4522e0ed9768f94aE" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([56 x i8], [56 x i8]* @str.91, i32 0, i32 0), i64 56 }, %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str.8X, i32 0, i32 0), i64 43 }, i32 251, [4 x i8] undef }, align 8 | |
@str.92 = internal constant [56 x i8] c"assertion failed: i + mem::size_of::<u64>() <= msg.len()" | |
@"_ZN71_$LT$core..hash..sip..Hasher$LT$S$GT$$u20$as$u20$core..hash..Hasher$GT$5write14_MSG_FILE_LINE17h9727da43b74a6103E" = local_unnamed_addr constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([56 x i8], [56 x i8]* @str.92, i32 0, i32 0), i64 56 }, %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str.8X, i32 0, i32 0), i64 43 }, i32 351, [4 x i8] undef }, align 8 | |
@str.93 = internal constant [11 x i8] c"Sip13Rounds" | |
@str.94 = internal constant [11 x i8] c"Sip24Rounds" | |
@str.95 = internal constant [2 x i8] c"0b" | |
@str.96 = internal constant [42 x i8] c"/shared/rust/master/src/libcore/fmt/num.rs" | |
@"_ZN71_$LT$core..fmt..num..Binary$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17h8e896371157946f9E" = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.96, i32 0, i32 0), i64 42 }, i32 138, [4 x i8] undef }, align 8 | |
@str.97 = internal constant [27 x i8] c"number not in the range 0.." | |
@ref.98 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str.97, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.7b, i32 0, i32 0), i64 2 }], align 8 | |
@str.99 = internal constant [2 x i8] c"0o" | |
@"_ZN70_$LT$core..fmt..num..Octal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17hbca8d72dd64cd74cE" = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.96, i32 0, i32 0), i64 42 }, i32 139, [4 x i8] undef }, align 8 | |
@"_ZN72_$LT$core..fmt..num..Decimal$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17h829a9f4f164c7e19E" = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.96, i32 0, i32 0), i64 42 }, i32 140, [4 x i8] undef }, align 8 | |
@str.9a = internal constant [2 x i8] c"0x" | |
@"_ZN73_$LT$core..fmt..num..LowerHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17h14402f06f1c37da4E" = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.96, i32 0, i32 0), i64 42 }, i32 141, [4 x i8] undef }, align 8 | |
@"_ZN73_$LT$core..fmt..num..UpperHex$u20$as$u20$core..fmt..num..GenericRadix$GT$5digit10_FILE_LINE17h922454657ec966f3E" = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str.96, i32 0, i32 0), i64 42 }, i32 143, [4 x i8] undef }, align 8 | |
@byte_str.9b = internal unnamed_addr constant [200 x i8] c"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899", align 1 | |
@ref.9h = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.2G, i32 0, i32 0), i64 1 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.7b, i32 0, i32 0), i64 2 }], align 8 | |
@ref.9i = internal unnamed_addr constant { { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } }, { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } }, { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } } { { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } { { i64, i64 } { i64 1, i64 0 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } { { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, i32 32, i32 0, i8 3, [7 x i8] undef } }, { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } { { i64, i64 } { i64 1, i64 1 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } { { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, i32 32, i32 0, i8 3, [7 x i8] undef } }, { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } { { i64, i64 } { i64 1, i64 2 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } { { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, i32 32, i32 4, i8 3, [7 x i8] undef } } }, align 8 | |
@ref.9j = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.2E, i32 0, i32 0), i64 1 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.7b, i32 0, i32 0), i64 2 }], align 8 | |
@ref.9k = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.2G, i32 0, i32 0), i64 1 }], align 8 | |
@ref.9l = internal unnamed_addr constant { { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } }, { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } } { { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } { { i64, i64 } { i64 1, i64 0 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } { { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, i32 32, i32 0, i8 3, [7 x i8] undef } }, { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } { { i64, i64 } { i64 1, i64 1 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } { { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, i32 32, i32 4, i8 3, [7 x i8] undef } } }, align 8 | |
@ref.9m = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }], align 8 | |
@ref.9n = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }], align 8 | |
@str.9o = internal constant [1 x i8] c"{" | |
@ref.9p = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.9o, i32 0, i32 0), i64 1 }], align 8 | |
@str.9q = internal constant [1 x i8] c"[" | |
@ref.9r = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.9q, i32 0, i32 0), i64 1 }], align 8 | |
@ref.9s = internal unnamed_addr constant { { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } }, { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } }, { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } } { { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } { { i64, i64 } { i64 1, i64 0 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } { { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, i32 32, i32 0, i8 3, [7 x i8] undef } }, { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } { { i64, i64 } { i64 1, i64 1 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } { { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, i32 32, i32 4, i8 3, [7 x i8] undef } }, { { i64, i64 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } } { { i64, i64 } { i64 1, i64 2 }, { { i64, [8 x i8] }, { i64, [8 x i8] }, i32, i32, i8, [7 x i8] } { { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, i32 32, i32 4, i8 3, [7 x i8] undef } } }, align 8 | |
@ref.9t = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.7b, i32 0, i32 0), i64 2 }], align 8 | |
@ref.9u = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.2J, i32 0, i32 0), i64 1 }], align 8 | |
@str.9v = internal constant [7 x i8] c"Unknown" | |
@str.9w = internal constant [6 x i8] c"Center" | |
@str.9x = internal constant [5 x i8] c"Right" | |
@str.9y = internal constant [4 x i8] c"Left" | |
@str.9z = internal constant [5 x i8] c"Error" | |
@str.9A = internal constant [60 x i8] c"from_str_radix_int: must lie in the range `[2, 36]` - found " | |
@ref.9B = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str.9A, i32 0, i32 0), i64 60 }], align 8 | |
@switch.table = private unnamed_addr constant [3 x i8*] [i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str.1S, i32 0, i32 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.1R, i32 0, i32 0), i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str.1Q, i32 0, i32 0)] | |
@switch.table.1 = private unnamed_addr constant [3 x i64] [i64 38, i64 29, i64 38] | |
@switch.table.2 = private unnamed_addr constant [8 x i64] [i64 4, i64 5, i64 5, i64 5, i64 0, i64 1, i64 2, i64 3] | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define i8 @"_ZN4core3f3250_$LT$impl$u20$core..num..Float$u20$for$u20$f32$GT$8classify17h4b79793eb1dcb7cdE"(float) unnamed_addr #0 { | |
start: | |
%1 = bitcast float %0 to i32 | |
%2 = and i32 %1, 8388607 | |
%cond = icmp eq i32 %2, 0 | |
%3 = and i32 %1, 2147483647 | |
%4 = icmp eq i32 %3, 0 | |
br i1 %4, label %bb10, label %bb8 | |
bb6: ; preds = %bb8 | |
br label %bb10 | |
bb8: ; preds = %start | |
%5 = and i32 %1, 2139095040 | |
%trunc = trunc i32 %5 to i31 | |
switch i31 %trunc, label %bb6 [ | |
i31 0, label %bb10 | |
i31 -8388608, label %bb9 | |
] | |
bb9: ; preds = %bb8 | |
%. = zext i1 %cond to i8 | |
br label %bb10 | |
bb10: ; preds = %bb9, %start, %bb8, %bb6 | |
%_0.0 = phi i8 [ 4, %bb6 ], [ 3, %bb8 ], [ 2, %start ], [ %., %bb9 ] | |
ret i8 %_0.0 | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define i8 @"_ZN4core3f6450_$LT$impl$u20$core..num..Float$u20$for$u20$f64$GT$8classify17h993fe7798d3f1859E"(double) unnamed_addr #0 { | |
start: | |
%1 = bitcast double %0 to i64 | |
%2 = and i64 %1, 4503599627370495 | |
%cond = icmp eq i64 %2, 0 | |
%3 = and i64 %1, 9223372036854775807 | |
%4 = icmp eq i64 %3, 0 | |
br i1 %4, label %bb10, label %bb8 | |
bb6: ; preds = %bb8 | |
br label %bb10 | |
bb8: ; preds = %start | |
%5 = and i64 %1, 9218868437227405312 | |
%trunc = trunc i64 %5 to i63 | |
switch i63 %trunc, label %bb6 [ | |
i63 0, label %bb10 | |
i63 -4503599627370496, label %bb9 | |
] | |
bb9: ; preds = %bb8 | |
%. = zext i1 %cond to i8 | |
br label %bb10 | |
bb10: ; preds = %bb9, %start, %bb8, %bb6 | |
%_0.0 = phi i8 [ 4, %bb6 ], [ 3, %bb8 ], [ 2, %start ], [ %., %bb9 ] | |
ret i8 %_0.0 | |
} | |
; Function Attrs: nounwind readnone uwtable | |
define i16 @_ZN4core3num7flt2dec9estimator23estimate_scaling_factor17hfa067c7b342a3906E(i64, i16) unnamed_addr #1 { | |
start: | |
%2 = add i64 %0, -1 | |
%3 = tail call i64 @llvm.ctlz.i64(i64 %2, i1 false) #16 | |
%4 = sub nsw i64 64, %3 | |
%5 = sext i16 %1 to i64 | |
%6 = add nsw i64 %4, %5 | |
%7 = mul nsw i64 %6, 1292913986 | |
%8 = lshr i64 %7, 32 | |
%9 = trunc i64 %8 to i16 | |
ret i16 %9 | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define float @"_ZN67_$LT$f32$u20$as$u20$core..num..flt2dec..decoder..DecodableFloat$GT$18min_pos_norm_value17h2f6d5d61d1f07c32E"() unnamed_addr #0 { | |
start: | |
ret float 0x3810000000000000 | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define double @"_ZN67_$LT$f64$u20$as$u20$core..num..flt2dec..decoder..DecodableFloat$GT$18min_pos_norm_value17h7a567eacd9476009E"() unnamed_addr #0 { | |
start: | |
ret double 0x10000000000000 | |
} | |
; Function Attrs: uwtable | |
define nonnull dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hb60ad3477bd5a2b3E(%"num::bignum::Big32x40"* returned dereferenceable(168), i64) unnamed_addr #2 { | |
start: | |
%2 = and i64 %1, 7 | |
%3 = icmp eq i64 %2, 0 | |
br i1 %3, label %bb5, label %bb1 | |
bb1: ; preds = %start | |
%4 = getelementptr inbounds [10 x i32], [10 x i32]* @_ZN4core3num7flt2dec8strategy6dragon5POW1017hf0327ccee16c45aeE, i64 0, i64 %2 | |
%5 = load i32, i32* %4, align 4 | |
%6 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i64 0, i32 0 | |
%7 = load i64, i64* %6, align 8 | |
%8 = icmp ugt i64 %7, 40 | |
br i1 %8, label %bb4.i.i.i.i, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i" | |
bb4.i.i.i.i: ; preds = %bb1 | |
tail call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %7, i64 40), !noalias !0 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i": ; preds = %bb1 | |
%9 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i64 0, i32 2, i64 %7 | |
%10 = icmp eq i64 %7, 0 | |
br i1 %10, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit, label %bb6.lr.ph.i | |
bb6.lr.ph.i: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i" | |
%11 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i64 0, i32 2, i64 0 | |
%12 = zext i32 %5 to i64 | |
%13 = shl i64 %7, 2 | |
%14 = add i64 %13, -4 | |
%15 = lshr exact i64 %14, 2 | |
%16 = add nuw nsw i64 %15, 1 | |
%xtraiter20 = and i64 %16, 3 | |
%lcmp.mod21 = icmp eq i64 %xtraiter20, 0 | |
br i1 %lcmp.mod21, label %bb6.i.prol.loopexit, label %bb6.i.prol.preheader | |
bb6.i.prol.preheader: ; preds = %bb6.lr.ph.i | |
br label %bb6.i.prol | |
bb6.i.prol: ; preds = %bb6.i.prol, %bb6.i.prol.preheader | |
%carry.020.i.prol = phi i64 [ 0, %bb6.i.prol.preheader ], [ %22, %bb6.i.prol ] | |
%iter.sroa.0.019.i.prol = phi i32* [ %11, %bb6.i.prol.preheader ], [ %17, %bb6.i.prol ] | |
%prol.iter22 = phi i64 [ %xtraiter20, %bb6.i.prol.preheader ], [ %prol.iter22.sub, %bb6.i.prol ] | |
%17 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i.prol, i64 1 | |
%18 = load i32, i32* %iter.sroa.0.019.i.prol, align 4 | |
%19 = zext i32 %18 to i64 | |
%20 = mul nuw i64 %19, %12 | |
%21 = add i64 %20, %carry.020.i.prol | |
%22 = lshr i64 %21, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.prol = trunc i64 %21 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.prol, i32* %iter.sroa.0.019.i.prol, align 4 | |
%prol.iter22.sub = add i64 %prol.iter22, -1 | |
%prol.iter22.cmp = icmp eq i64 %prol.iter22.sub, 0 | |
br i1 %prol.iter22.cmp, label %bb6.i.prol.loopexit.unr-lcssa, label %bb6.i.prol, !llvm.loop !3 | |
bb6.i.prol.loopexit.unr-lcssa: ; preds = %bb6.i.prol | |
br label %bb6.i.prol.loopexit | |
bb6.i.prol.loopexit: ; preds = %bb6.lr.ph.i, %bb6.i.prol.loopexit.unr-lcssa | |
%.lcssa19.unr = phi i64 [ undef, %bb6.lr.ph.i ], [ %22, %bb6.i.prol.loopexit.unr-lcssa ] | |
%carry.020.i.unr = phi i64 [ 0, %bb6.lr.ph.i ], [ %22, %bb6.i.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.019.i.unr = phi i32* [ %11, %bb6.lr.ph.i ], [ %17, %bb6.i.prol.loopexit.unr-lcssa ] | |
%23 = icmp ult i64 %14, 12 | |
br i1 %23, label %bb5.i, label %bb6.lr.ph.i.new | |
bb6.lr.ph.i.new: ; preds = %bb6.i.prol.loopexit | |
br label %bb6.i | |
bb5.i.unr-lcssa: ; preds = %bb6.i | |
br label %bb5.i | |
bb5.i: ; preds = %bb6.i.prol.loopexit, %bb5.i.unr-lcssa | |
%.lcssa19 = phi i64 [ %.lcssa19.unr, %bb6.i.prol.loopexit ], [ %48, %bb5.i.unr-lcssa ] | |
%abi_cast.sroa.0.0.extract.trunc.i = trunc i64 %.lcssa19 to i32 | |
%24 = icmp eq i32 %abi_cast.sroa.0.0.extract.trunc.i, 0 | |
br i1 %24, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit, label %bb8.i | |
bb6.i: ; preds = %bb6.i, %bb6.lr.ph.i.new | |
%carry.020.i = phi i64 [ %carry.020.i.unr, %bb6.lr.ph.i.new ], [ %48, %bb6.i ] | |
%iter.sroa.0.019.i = phi i32* [ %iter.sroa.0.019.i.unr, %bb6.lr.ph.i.new ], [ %43, %bb6.i ] | |
%25 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 1 | |
%26 = load i32, i32* %iter.sroa.0.019.i, align 4 | |
%27 = zext i32 %26 to i64 | |
%28 = mul nuw i64 %27, %12 | |
%29 = add i64 %28, %carry.020.i | |
%30 = lshr i64 %29, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i = trunc i64 %29 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i, i32* %iter.sroa.0.019.i, align 4 | |
%31 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 2 | |
%32 = load i32, i32* %25, align 4 | |
%33 = zext i32 %32 to i64 | |
%34 = mul nuw i64 %33, %12 | |
%35 = add i64 %34, %30 | |
%36 = lshr i64 %35, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.1 = trunc i64 %35 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.1, i32* %25, align 4 | |
%37 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 3 | |
%38 = load i32, i32* %31, align 4 | |
%39 = zext i32 %38 to i64 | |
%40 = mul nuw i64 %39, %12 | |
%41 = add i64 %40, %36 | |
%42 = lshr i64 %41, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.2 = trunc i64 %41 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.2, i32* %31, align 4 | |
%43 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 4 | |
%44 = load i32, i32* %37, align 4 | |
%45 = zext i32 %44 to i64 | |
%46 = mul nuw i64 %45, %12 | |
%47 = add i64 %46, %42 | |
%48 = lshr i64 %47, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.3 = trunc i64 %47 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.3, i32* %37, align 4 | |
%49 = icmp eq i32* %43, %9 | |
br i1 %49, label %bb5.i.unr-lcssa, label %bb6.i | |
bb8.i: ; preds = %bb5.i | |
%50 = icmp ult i64 %7, 40 | |
br i1 %50, label %bb10.i, label %panic.i, !prof !5 | |
bb10.i: ; preds = %bb8.i | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i, i32* %9, align 4 | |
%51 = add i64 %7, 1 | |
br label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit | |
panic.i: ; preds = %bb8.i | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4I to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %7, i64 40) | |
unreachable | |
_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i", %bb5.i, %bb10.i | |
%sz.0.i = phi i64 [ %51, %bb10.i ], [ %7, %bb5.i ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i" ] | |
store i64 %sz.0.i, i64* %6, align 8 | |
br label %bb5 | |
bb5: ; preds = %start, %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit | |
%52 = and i64 %1, 8 | |
%53 = icmp eq i64 %52, 0 | |
br i1 %53, label %bb10, label %bb8 | |
bb8: ; preds = %bb5 | |
%54 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i64 0, i32 0 | |
%55 = load i64, i64* %54, align 8 | |
%56 = icmp ugt i64 %55, 40 | |
br i1 %56, label %bb4.i.i.i.i1, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i2" | |
bb4.i.i.i.i1: ; preds = %bb8 | |
tail call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %55, i64 40), !noalias !6 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i2": ; preds = %bb8 | |
%57 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i64 0, i32 2, i64 %55 | |
%58 = icmp eq i64 %55, 0 | |
br i1 %58, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit14, label %bb6.lr.ph.i3 | |
bb6.lr.ph.i3: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i2" | |
%59 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i64 0, i32 2, i64 0 | |
%60 = shl i64 %55, 2 | |
%61 = add i64 %60, -4 | |
%62 = lshr exact i64 %61, 2 | |
%63 = add nuw nsw i64 %62, 1 | |
%xtraiter = and i64 %63, 3 | |
%lcmp.mod = icmp eq i64 %xtraiter, 0 | |
br i1 %lcmp.mod, label %bb6.i9.prol.loopexit, label %bb6.i9.prol.preheader | |
bb6.i9.prol.preheader: ; preds = %bb6.lr.ph.i3 | |
br label %bb6.i9.prol | |
bb6.i9.prol: ; preds = %bb6.i9.prol, %bb6.i9.prol.preheader | |
%carry.020.i6.prol = phi i64 [ 0, %bb6.i9.prol.preheader ], [ %69, %bb6.i9.prol ] | |
%iter.sroa.0.019.i7.prol = phi i32* [ %59, %bb6.i9.prol.preheader ], [ %64, %bb6.i9.prol ] | |
%prol.iter = phi i64 [ %xtraiter, %bb6.i9.prol.preheader ], [ %prol.iter.sub, %bb6.i9.prol ] | |
%64 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i7.prol, i64 1 | |
%65 = load i32, i32* %iter.sroa.0.019.i7.prol, align 4 | |
%66 = zext i32 %65 to i64 | |
%67 = mul nuw nsw i64 %66, 100000000 | |
%68 = add nuw nsw i64 %67, %carry.020.i6.prol | |
%69 = lshr i64 %68, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i8.prol = trunc i64 %68 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i8.prol, i32* %iter.sroa.0.019.i7.prol, align 4 | |
%prol.iter.sub = add i64 %prol.iter, -1 | |
%prol.iter.cmp = icmp eq i64 %prol.iter.sub, 0 | |
br i1 %prol.iter.cmp, label %bb6.i9.prol.loopexit.unr-lcssa, label %bb6.i9.prol, !llvm.loop !9 | |
bb6.i9.prol.loopexit.unr-lcssa: ; preds = %bb6.i9.prol | |
br label %bb6.i9.prol.loopexit | |
bb6.i9.prol.loopexit: ; preds = %bb6.lr.ph.i3, %bb6.i9.prol.loopexit.unr-lcssa | |
%.lcssa.unr = phi i64 [ undef, %bb6.lr.ph.i3 ], [ %69, %bb6.i9.prol.loopexit.unr-lcssa ] | |
%carry.020.i6.unr = phi i64 [ 0, %bb6.lr.ph.i3 ], [ %69, %bb6.i9.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.019.i7.unr = phi i32* [ %59, %bb6.lr.ph.i3 ], [ %64, %bb6.i9.prol.loopexit.unr-lcssa ] | |
%70 = icmp ult i64 %61, 12 | |
br i1 %70, label %bb5.i5, label %bb6.lr.ph.i3.new | |
bb6.lr.ph.i3.new: ; preds = %bb6.i9.prol.loopexit | |
br label %bb6.i9 | |
bb5.i5.unr-lcssa: ; preds = %bb6.i9 | |
br label %bb5.i5 | |
bb5.i5: ; preds = %bb6.i9.prol.loopexit, %bb5.i5.unr-lcssa | |
%.lcssa = phi i64 [ %.lcssa.unr, %bb6.i9.prol.loopexit ], [ %95, %bb5.i5.unr-lcssa ] | |
%abi_cast.sroa.0.0.extract.trunc.i4 = trunc i64 %.lcssa to i32 | |
%71 = icmp eq i32 %abi_cast.sroa.0.0.extract.trunc.i4, 0 | |
br i1 %71, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit14, label %bb8.i10 | |
bb6.i9: ; preds = %bb6.i9, %bb6.lr.ph.i3.new | |
%carry.020.i6 = phi i64 [ %carry.020.i6.unr, %bb6.lr.ph.i3.new ], [ %95, %bb6.i9 ] | |
%iter.sroa.0.019.i7 = phi i32* [ %iter.sroa.0.019.i7.unr, %bb6.lr.ph.i3.new ], [ %90, %bb6.i9 ] | |
%72 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i7, i64 1 | |
%73 = load i32, i32* %iter.sroa.0.019.i7, align 4 | |
%74 = zext i32 %73 to i64 | |
%75 = mul nuw nsw i64 %74, 100000000 | |
%76 = add nuw nsw i64 %75, %carry.020.i6 | |
%77 = lshr i64 %76, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i8 = trunc i64 %76 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i8, i32* %iter.sroa.0.019.i7, align 4 | |
%78 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i7, i64 2 | |
%79 = load i32, i32* %72, align 4 | |
%80 = zext i32 %79 to i64 | |
%81 = mul nuw nsw i64 %80, 100000000 | |
%82 = add nuw nsw i64 %81, %77 | |
%83 = lshr i64 %82, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i8.1 = trunc i64 %82 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i8.1, i32* %72, align 4 | |
%84 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i7, i64 3 | |
%85 = load i32, i32* %78, align 4 | |
%86 = zext i32 %85 to i64 | |
%87 = mul nuw nsw i64 %86, 100000000 | |
%88 = add nuw nsw i64 %87, %83 | |
%89 = lshr i64 %88, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i8.2 = trunc i64 %88 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i8.2, i32* %78, align 4 | |
%90 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i7, i64 4 | |
%91 = load i32, i32* %84, align 4 | |
%92 = zext i32 %91 to i64 | |
%93 = mul nuw nsw i64 %92, 100000000 | |
%94 = add nuw nsw i64 %93, %89 | |
%95 = lshr i64 %94, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i8.3 = trunc i64 %94 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i8.3, i32* %84, align 4 | |
%96 = icmp eq i32* %90, %57 | |
br i1 %96, label %bb5.i5.unr-lcssa, label %bb6.i9 | |
bb8.i10: ; preds = %bb5.i5 | |
%97 = icmp ult i64 %55, 40 | |
br i1 %97, label %bb10.i11, label %panic.i13, !prof !5 | |
bb10.i11: ; preds = %bb8.i10 | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i4, i32* %57, align 4 | |
%98 = add i64 %55, 1 | |
br label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit14 | |
panic.i13: ; preds = %bb8.i10 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4I to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %55, i64 40) | |
unreachable | |
_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit14: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i2", %bb5.i5, %bb10.i11 | |
%sz.0.i12 = phi i64 [ %98, %bb10.i11 ], [ %55, %bb5.i5 ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i2" ] | |
store i64 %sz.0.i12, i64* %54, align 8 | |
br label %bb10 | |
bb10: ; preds = %bb5, %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit14 | |
%99 = and i64 %1, 16 | |
%100 = icmp eq i64 %99, 0 | |
br i1 %100, label %bb14, label %bb11 | |
bb11: ; preds = %bb10 | |
%101 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h3701b22d25dc8efcE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %0, i32* noalias nonnull readonly getelementptr inbounds ([2 x i32], [2 x i32]* @_ZN4core3num7flt2dec8strategy6dragon9POW10TO1617h36e563568261e693E, i64 0, i64 0), i64 2) | |
br label %bb14 | |
bb14: ; preds = %bb10, %bb11 | |
%102 = and i64 %1, 32 | |
%103 = icmp eq i64 %102, 0 | |
br i1 %103, label %bb18, label %bb15 | |
bb15: ; preds = %bb14 | |
%104 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h3701b22d25dc8efcE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %0, i32* noalias nonnull readonly getelementptr inbounds ([4 x i32], [4 x i32]* @_ZN4core3num7flt2dec8strategy6dragon9POW10TO3217heec5e85ad1a5a8d6E, i64 0, i64 0), i64 4) | |
br label %bb18 | |
bb18: ; preds = %bb14, %bb15 | |
%105 = and i64 %1, 64 | |
%106 = icmp eq i64 %105, 0 | |
br i1 %106, label %bb22, label %bb19 | |
bb19: ; preds = %bb18 | |
%107 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h3701b22d25dc8efcE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %0, i32* noalias nonnull readonly getelementptr inbounds ([7 x i32], [7 x i32]* @_ZN4core3num7flt2dec8strategy6dragon9POW10TO6417h6c44f56ffbd884d4E, i64 0, i64 0), i64 7) | |
br label %bb22 | |
bb22: ; preds = %bb18, %bb19 | |
%108 = trunc i64 %1 to i8 | |
%109 = icmp slt i8 %108, 0 | |
br i1 %109, label %bb23, label %bb26 | |
bb23: ; preds = %bb22 | |
%110 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h3701b22d25dc8efcE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %0, i32* noalias nonnull readonly getelementptr inbounds ([14 x i32], [14 x i32]* @_ZN4core3num7flt2dec8strategy6dragon10POW10TO12817ha71ad777a5684cd6E, i64 0, i64 0), i64 14) | |
br label %bb26 | |
bb26: ; preds = %bb22, %bb23 | |
%111 = and i64 %1, 256 | |
%112 = icmp eq i64 %111, 0 | |
br i1 %112, label %bb30, label %bb27 | |
bb27: ; preds = %bb26 | |
%113 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x4010mul_digits17h3701b22d25dc8efcE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %0, i32* noalias nonnull readonly getelementptr inbounds ([27 x i32], [27 x i32]* @_ZN4core3num7flt2dec8strategy6dragon10POW10TO25617h2043c4da7df4220aE, i64 0, i64 0), i64 27) | |
br label %bb30 | |
bb30: ; preds = %bb26, %bb27 | |
ret %"num::bignum::Big32x40"* %0 | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7flt2dec8strategy6dragon15format_shortest17h651d3ae832a9ed27E({ i64, [0 x i8], i16, [6 x i8] }* noalias nocapture sret dereferenceable(16), %"num::flt2dec::decoder::Decoded"* noalias nocapture readonly dereferenceable(32), i8* nonnull, i64) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%base.i = alloca [40 x i32], align 4 | |
%_175 = alloca %"num::bignum::Big32x40", align 8 | |
%scale8 = alloca %"num::bignum::Big32x40", align 8 | |
%scale4 = alloca %"num::bignum::Big32x40", align 8 | |
%scale2 = alloca %"num::bignum::Big32x40", align 8 | |
%_116 = alloca %"num::bignum::Big32x40", align 8 | |
%scale = alloca %"num::bignum::Big32x40", align 8 | |
%plus = alloca %"num::bignum::Big32x40", align 8 | |
%minus = alloca %"num::bignum::Big32x40", align 8 | |
%mant = alloca %"num::bignum::Big32x40", align 8 | |
%4 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 0 | |
%5 = load i64, i64* %4, align 8 | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %bb1, label %bb2 | |
bb1: ; preds = %start | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h4713a116f8a0c522E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb2: ; preds = %start | |
%7 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 2 | |
%8 = load i64, i64* %7, align 8 | |
%9 = icmp eq i64 %8, 0 | |
br i1 %9, label %bb3, label %bb4 | |
bb3: ; preds = %bb2 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h87dec07a13ba31adE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb4: ; preds = %bb2 | |
%10 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 4 | |
%11 = load i64, i64* %10, align 8 | |
%12 = icmp eq i64 %11, 0 | |
br i1 %12, label %bb5, label %bb6 | |
bb5: ; preds = %bb4 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h173d4a1132a475f6E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %bb4 | |
%13 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %5, i64 %11) #16 | |
%14 = extractvalue { i64, i1 } %13, 1 | |
br i1 %14, label %bb9, label %bb10 | |
bb9: ; preds = %bb6 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17hed9db6ec816630a5E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb10: ; preds = %bb6 | |
%15 = tail call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %5, i64 %8) #16 | |
%16 = extractvalue { i64, i1 } %15, 1 | |
br i1 %16, label %bb13, label %bb14 | |
bb13: ; preds = %bb10 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h65db9718b8ed2ebeE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb14: ; preds = %bb10 | |
%17 = icmp ult i64 %3, 17 | |
br i1 %17, label %bb16, label %bb3.i21.preheader | |
bb16: ; preds = %bb14 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE17h931871e6d76be5cfE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb3.i21.preheader: ; preds = %bb14 | |
%18 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 8 | |
%19 = load i8, i8* %18, align 1, !range !10 | |
%20 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 6 | |
%21 = load i16, i16* %20, align 2 | |
%22 = add i64 %5, -1 | |
%23 = add i64 %22, %11 | |
%24 = tail call i64 @llvm.ctlz.i64(i64 %23, i1 false) #16 | |
%25 = sext i16 %21 to i64 | |
%26 = add nsw i64 %25, 64 | |
%27 = sub nsw i64 %26, %24 | |
%28 = mul nsw i64 %27, 1292913986 | |
%29 = lshr i64 %28, 32 | |
%30 = trunc i64 %29 to i16 | |
%31 = bitcast %"num::bignum::Big32x40"* %mant to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %31) | |
%32 = bitcast [40 x i32]* %base.i to i8* | |
call void @llvm.lifetime.start(i64 160, i8* nonnull %32), !noalias !11 | |
call void @llvm.memset.p0i8.i64(i8* nonnull %32, i8 0, i64 160, i32 4, i1 false), !noalias !11 | |
br label %bb3.i21 | |
bb3.i21: ; preds = %bb3.i21.preheader, %bb4.i | |
%v.011.i = phi i64 [ %36, %bb4.i ], [ %5, %bb3.i21.preheader ] | |
%sz.010.i = phi i64 [ %37, %bb4.i ], [ 0, %bb3.i21.preheader ] | |
%33 = icmp ult i64 %sz.010.i, 40 | |
br i1 %33, label %bb4.i, label %panic.i22, !prof !5 | |
bb4.i: ; preds = %bb3.i21 | |
%34 = getelementptr inbounds [40 x i32], [40 x i32]* %base.i, i64 0, i64 %sz.010.i | |
%35 = trunc i64 %v.011.i to i32 | |
store i32 %35, i32* %34, align 4, !noalias !11 | |
%36 = lshr i64 %v.011.i, 32 | |
%37 = add nuw nsw i64 %sz.010.i, 1 | |
%38 = icmp eq i64 %36, 0 | |
br i1 %38, label %bb3.i28.preheader, label %bb3.i21 | |
panic.i22: ; preds = %bb3.i21 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4B to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %sz.010.i, i64 40), !noalias !11 | |
unreachable | |
bb3.i28.preheader: ; preds = %bb4.i | |
%39 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 0 | |
store i64 %37, i64* %39, align 8, !alias.scope !11 | |
%40 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2 | |
%41 = bitcast [40 x i32]* %40 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %41, i8* nonnull %32, i64 160, i32 4, i1 false) | |
call void @llvm.lifetime.end(i64 160, i8* nonnull %32), !noalias !11 | |
%42 = bitcast %"num::bignum::Big32x40"* %minus to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %42) | |
call void @llvm.lifetime.start(i64 160, i8* nonnull %32), !noalias !14 | |
call void @llvm.memset.p0i8.i64(i8* nonnull %32, i8 0, i64 160, i32 4, i1 false), !noalias !14 | |
br label %bb3.i28 | |
bb3.i28: ; preds = %bb3.i28.preheader, %bb4.i29 | |
%v.011.i26 = phi i64 [ %46, %bb4.i29 ], [ %8, %bb3.i28.preheader ] | |
%sz.010.i27 = phi i64 [ %47, %bb4.i29 ], [ 0, %bb3.i28.preheader ] | |
%43 = icmp ult i64 %sz.010.i27, 40 | |
br i1 %43, label %bb4.i29, label %panic.i30, !prof !5 | |
bb4.i29: ; preds = %bb3.i28 | |
%44 = getelementptr inbounds [40 x i32], [40 x i32]* %base.i, i64 0, i64 %sz.010.i27 | |
%45 = trunc i64 %v.011.i26 to i32 | |
store i32 %45, i32* %44, align 4, !noalias !14 | |
%46 = lshr i64 %v.011.i26, 32 | |
%47 = add nuw nsw i64 %sz.010.i27, 1 | |
%48 = icmp eq i64 %46, 0 | |
br i1 %48, label %bb3.i37.preheader, label %bb3.i28 | |
panic.i30: ; preds = %bb3.i28 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4B to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %sz.010.i27, i64 40), !noalias !14 | |
unreachable | |
bb3.i37.preheader: ; preds = %bb4.i29 | |
%49 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %minus, i64 0, i32 0 | |
store i64 %47, i64* %49, align 8, !alias.scope !14 | |
%50 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %minus, i64 0, i32 2 | |
%51 = bitcast [40 x i32]* %50 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %51, i8* nonnull %32, i64 160, i32 4, i1 false) | |
call void @llvm.lifetime.end(i64 160, i8* nonnull %32), !noalias !14 | |
%52 = bitcast %"num::bignum::Big32x40"* %plus to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %52) | |
call void @llvm.lifetime.start(i64 160, i8* nonnull %32), !noalias !17 | |
call void @llvm.memset.p0i8.i64(i8* nonnull %32, i8 0, i64 160, i32 4, i1 false), !noalias !17 | |
br label %bb3.i37 | |
bb3.i37: ; preds = %bb3.i37.preheader, %bb4.i38 | |
%v.011.i35 = phi i64 [ %56, %bb4.i38 ], [ %11, %bb3.i37.preheader ] | |
%sz.010.i36 = phi i64 [ %57, %bb4.i38 ], [ 0, %bb3.i37.preheader ] | |
%53 = icmp ult i64 %sz.010.i36, 40 | |
br i1 %53, label %bb4.i38, label %panic.i39, !prof !5 | |
bb4.i38: ; preds = %bb3.i37 | |
%54 = getelementptr inbounds [40 x i32], [40 x i32]* %base.i, i64 0, i64 %sz.010.i36 | |
%55 = trunc i64 %v.011.i35 to i32 | |
store i32 %55, i32* %54, align 4, !noalias !17 | |
%56 = lshr i64 %v.011.i35, 32 | |
%57 = add nuw nsw i64 %sz.010.i36, 1 | |
%58 = icmp eq i64 %56, 0 | |
br i1 %58, label %_ZN4core3num6bignum8Big32x408from_u6417h7ac65617bdfe7160E.exit40, label %bb3.i37 | |
panic.i39: ; preds = %bb3.i37 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4B to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %sz.010.i36, i64 40), !noalias !17 | |
unreachable | |
_ZN4core3num6bignum8Big32x408from_u6417h7ac65617bdfe7160E.exit40: ; preds = %bb4.i38 | |
%59 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %plus, i64 0, i32 0 | |
store i64 %57, i64* %59, align 8, !alias.scope !17 | |
%60 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %plus, i64 0, i32 2 | |
%61 = bitcast [40 x i32]* %60 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %61, i8* nonnull %32, i64 160, i32 4, i1 false) | |
call void @llvm.lifetime.end(i64 160, i8* nonnull %32), !noalias !17 | |
%62 = bitcast %"num::bignum::Big32x40"* %scale to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %62) | |
call void @llvm.lifetime.start(i64 160, i8* nonnull %32) #16, !noalias !20 | |
%63 = getelementptr inbounds [40 x i32], [40 x i32]* %base.i, i64 0, i64 0 | |
%64 = getelementptr inbounds [40 x i32], [40 x i32]* %base.i, i64 0, i64 1 | |
%65 = bitcast i32* %64 to i8* | |
call void @llvm.memset.p0i8.i64(i8* nonnull %65, i8 0, i64 156, i32 4, i1 false) #16, !noalias !20 | |
store i32 1, i32* %63, align 4, !noalias !20 | |
%66 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 0 | |
store i64 1, i64* %66, align 8, !alias.scope !20 | |
%67 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2 | |
%68 = bitcast [40 x i32]* %67 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %68, i8* nonnull %32, i64 160, i32 4, i1 false) #16 | |
call void @llvm.lifetime.end(i64 160, i8* nonnull %32) #16, !noalias !20 | |
%69 = icmp slt i16 %21, 0 | |
br i1 %69, label %bb26, label %bb27 | |
bb26: ; preds = %_ZN4core3num6bignum8Big32x408from_u6417h7ac65617bdfe7160E.exit40 | |
%70 = sub i16 0, %21 | |
%71 = sext i16 %70 to i64 | |
%72 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %scale, i64 %71) | |
br label %bb32 | |
bb27: ; preds = %_ZN4core3num6bignum8Big32x408from_u6417h7ac65617bdfe7160E.exit40 | |
%73 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %mant, i64 %25) | |
%74 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %minus, i64 %25) | |
%75 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %plus, i64 %25) | |
br label %bb32 | |
bb32: ; preds = %bb27, %bb26 | |
%76 = icmp sgt i16 %30, -1 | |
br i1 %76, label %bb33, label %bb34 | |
bb33: ; preds = %bb32 | |
%sext198 = shl i64 %29, 48 | |
%77 = ashr exact i64 %sext198, 48 | |
%78 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hb60ad3477bd5a2b3E(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %scale, i64 %77) | |
br label %bb39 | |
bb34: ; preds = %bb32 | |
%79 = sub nsw i64 0, %29 | |
%sext = shl i64 %79, 48 | |
%80 = ashr exact i64 %sext, 48 | |
%81 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hb60ad3477bd5a2b3E(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %mant, i64 %80) | |
%82 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hb60ad3477bd5a2b3E(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %minus, i64 %80) | |
%83 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hb60ad3477bd5a2b3E(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %plus, i64 %80) | |
br label %bb39 | |
bb39: ; preds = %bb34, %bb33 | |
%84 = bitcast %"num::bignum::Big32x40"* %_116 to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %84) | |
%85 = load i64, i64* %39, align 8, !alias.scope !23, !noalias !26 | |
%86 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_116, i64 0, i32 0 | |
store i64 %85, i64* %86, align 8, !alias.scope !26, !noalias !23 | |
%87 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_116, i64 0, i32 2 | |
%88 = bitcast [40 x i32]* %87 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %88, i8* %41, i64 160, i32 8, i1 false) #16, !alias.scope !28 | |
%89 = load i64, i64* %59, align 8, !alias.scope !29 | |
%90 = icmp uge i64 %89, %85 | |
%_0.0.sroa.speculated.i.i.i = select i1 %90, i64 %89, i64 %85 | |
%91 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i, 40 | |
br i1 %91, label %bb4.i.i.i.i56, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i" | |
bb4.i.i.i.i56: ; preds = %bb39 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i, i64 40), !noalias !32 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i": ; preds = %bb39 | |
%.idx.i = shl nuw i64 %_0.0.sroa.speculated.i.i.i, 2 | |
%92 = sdiv i64 %.idx.i, 4 | |
%.idx.off.i = or i64 %.idx.i, 3 | |
%93 = icmp ult i64 %.idx.off.i, 7 | |
br i1 %93, label %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.preheader" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.preheader": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i" | |
br label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i": ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.preheader", %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i" | |
%carry.055.i = phi i32 [ %105, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.preheader" ] | |
%iter.sroa.8.054.i = phi i64 [ %96, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.preheader" ] | |
%94 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_116, i64 0, i32 2, i64 %iter.sroa.8.054.i | |
%95 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %plus, i64 0, i32 2, i64 %iter.sroa.8.054.i | |
%96 = add nuw i64 %iter.sroa.8.054.i, 1 | |
%97 = load i32, i32* %94, align 4, !noalias !29 | |
%98 = load i32, i32* %95, align 4, !alias.scope !29 | |
%99 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %97, i32 %98) #16 | |
%100 = extractvalue { i32, i1 } %99, 0 | |
%101 = extractvalue { i32, i1 } %99, 1 | |
%102 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %100, i32 %carry.055.i) #16 | |
%103 = extractvalue { i32, i1 } %102, 0 | |
%104 = extractvalue { i32, i1 } %102, 1 | |
%brmerge.i.i = or i1 %101, %104 | |
store i32 %103, i32* %94, align 4, !noalias !29 | |
%105 = zext i1 %brmerge.i.i to i32 | |
%106 = icmp ult i64 %96, %92 | |
br i1 %106, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i", label %bb9.i | |
bb9.i: ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i" | |
br i1 %brmerge.i.i, label %bb12.i, label %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit | |
bb12.i: ; preds = %bb9.i | |
%107 = icmp ult i64 %_0.0.sroa.speculated.i.i.i, 40 | |
br i1 %107, label %bb14.i, label %panic.i58, !prof !5 | |
bb14.i: ; preds = %bb12.i | |
%108 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_116, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i | |
store i32 1, i32* %108, align 4, !noalias !29 | |
%109 = add i64 %_0.0.sroa.speculated.i.i.i, 1 | |
br label %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit | |
panic.i58: ; preds = %bb12.i | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4F to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %_0.0.sroa.speculated.i.i.i, i64 40), !noalias !29 | |
unreachable | |
_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit: ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i", %bb9.i, %bb14.i | |
%sz.0.i57 = phi i64 [ %109, %bb14.i ], [ %_0.0.sroa.speculated.i.i.i, %bb9.i ], [ %_0.0.sroa.speculated.i.i.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i" ] | |
store i64 %sz.0.i57, i64* %86, align 8, !noalias !29 | |
%110 = load i64, i64* %66, align 8, !alias.scope !35, !noalias !38 | |
%111 = icmp uge i64 %sz.0.i57, %110 | |
%_0.0.sroa.speculated.i.i.i59 = select i1 %111, i64 %sz.0.i57, i64 %110 | |
%112 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2, i64 0 | |
%113 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i59, 40 | |
br i1 %113, label %bb4.i.i.i3.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i60" | |
bb4.i.i.i3.i: ; preds = %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i59, i64 40), !noalias !40 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i60": ; preds = %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit | |
%114 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i59 | |
%115 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_116, i64 0, i32 2, i64 0 | |
%116 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_116, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i59 | |
br label %bb5.i.i | |
bb5.i.i: ; preds = %bb24.i.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i60" | |
%self.sroa.4.0.i.i = phi i32* [ %114, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i60" ], [ %self.sroa.4.1.i.i, %bb24.i.i ] | |
%other1.sroa.4.0.i.i = phi i32* [ %116, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i60" ], [ %other1.sroa.4.1.i.i, %bb24.i.i ] | |
%117 = icmp eq i32* %self.sroa.4.0.i.i, %112 | |
br i1 %117, label %bb6.i.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i": ; preds = %bb5.i.i | |
%118 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i, i64 -1 | |
%119 = load i32, i32* %118, align 4, !alias.scope !43, !noalias !48 | |
br label %bb6.i.i | |
bb6.i.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i", %bb5.i.i | |
%self.sroa.4.1.i.i = phi i32* [ %112, %bb5.i.i ], [ %118, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i = phi i32 [ 0, %bb5.i.i ], [ %119, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i = phi i64 [ 0, %bb5.i.i ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i" ] | |
%120 = icmp eq i32* %other1.sroa.4.0.i.i, %115 | |
br i1 %120, label %bb8.i.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i": ; preds = %bb6.i.i | |
%121 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i, i64 -1 | |
%122 = load i32, i32* %121, align 4, !alias.scope !52, !noalias !57 | |
br label %bb8.i.i | |
bb8.i.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i", %bb6.i.i | |
%other1.sroa.4.1.i.i = phi i32* [ %115, %bb6.i.i ], [ %121, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i" ] | |
%_0.sroa.3.0.i.i.i.i.i.i = phi i32 [ 0, %bb6.i.i ], [ %122, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i" ] | |
%_0.sroa.0.0.i.i.i.i.i.i = phi i1 [ true, %bb6.i.i ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i" ] | |
%cond.i.i = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i, 0 | |
br i1 %cond.i.i, label %bb14.i.i, label %bb15.i.i | |
bb14.i.i: ; preds = %bb8.i.i | |
%not.cond14.i.i = xor i1 %_0.sroa.0.0.i.i.i.i.i.i, true | |
%..i.i = sext i1 %not.cond14.i.i to i8 | |
br label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit" | |
bb15.i.i: ; preds = %bb8.i.i | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i, label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit.thread", label %bb24.i.i | |
"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit.thread": ; preds = %bb15.i.i | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %84) | |
br label %bb45 | |
bb24.i.i: ; preds = %bb15.i.i | |
%123 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i, %_0.sroa.3.0.i.i.i.i.i.i | |
br i1 %123, label %bb5.i.i, label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit.loopexit" | |
"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit.loopexit": ; preds = %bb24.i.i | |
%124 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i, %_0.sroa.3.0.i.i.i.i.i.i | |
%..i.i.i.le = select i1 %124, i8 -1, i8 1 | |
br label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit" | |
"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit": ; preds = %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit.loopexit", %bb14.i.i | |
%_0.0.i.i = phi i8 [ %..i.i, %bb14.i.i ], [ %..i.i.i.le, %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit.loopexit" ] | |
%125 = icmp slt i8 %_0.0.i.i, %19 | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %84) | |
br i1 %125, label %bb44, label %bb45 | |
bb44: ; preds = %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit" | |
%126 = add i16 %30, 1 | |
br label %bb49 | |
bb45: ; preds = %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit.thread", %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit" | |
%127 = icmp ugt i64 %85, 40 | |
br i1 %127, label %bb4.i.i.i.i61, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i62" | |
bb4.i.i.i.i61: ; preds = %bb45 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %85, i64 40), !noalias !58 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i62": ; preds = %bb45 | |
%128 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %85 | |
%129 = icmp eq i64 %85, 0 | |
br i1 %129, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit74, label %bb6.lr.ph.i63 | |
bb6.lr.ph.i63: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i62" | |
%130 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 0 | |
%131 = shl i64 %85, 2 | |
%132 = add i64 %131, -4 | |
%133 = lshr exact i64 %132, 2 | |
%134 = add nuw nsw i64 %133, 1 | |
%xtraiter1192 = and i64 %134, 3 | |
%lcmp.mod1193 = icmp eq i64 %xtraiter1192, 0 | |
br i1 %lcmp.mod1193, label %bb6.i69.prol.loopexit, label %bb6.i69.prol.preheader | |
bb6.i69.prol.preheader: ; preds = %bb6.lr.ph.i63 | |
br label %bb6.i69.prol | |
bb6.i69.prol: ; preds = %bb6.i69.prol, %bb6.i69.prol.preheader | |
%carry.020.i66.prol = phi i64 [ 0, %bb6.i69.prol.preheader ], [ %140, %bb6.i69.prol ] | |
%iter.sroa.0.019.i67.prol = phi i32* [ %130, %bb6.i69.prol.preheader ], [ %135, %bb6.i69.prol ] | |
%prol.iter1194 = phi i64 [ %xtraiter1192, %bb6.i69.prol.preheader ], [ %prol.iter1194.sub, %bb6.i69.prol ] | |
%135 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i67.prol, i64 1 | |
%136 = load i32, i32* %iter.sroa.0.019.i67.prol, align 4 | |
%137 = zext i32 %136 to i64 | |
%138 = mul nuw nsw i64 %137, 10 | |
%139 = add nuw nsw i64 %138, %carry.020.i66.prol | |
%140 = lshr i64 %139, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i68.prol = trunc i64 %139 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i68.prol, i32* %iter.sroa.0.019.i67.prol, align 4 | |
%prol.iter1194.sub = add i64 %prol.iter1194, -1 | |
%prol.iter1194.cmp = icmp eq i64 %prol.iter1194.sub, 0 | |
br i1 %prol.iter1194.cmp, label %bb6.i69.prol.loopexit.unr-lcssa, label %bb6.i69.prol, !llvm.loop !61 | |
bb6.i69.prol.loopexit.unr-lcssa: ; preds = %bb6.i69.prol | |
br label %bb6.i69.prol.loopexit | |
bb6.i69.prol.loopexit: ; preds = %bb6.lr.ph.i63, %bb6.i69.prol.loopexit.unr-lcssa | |
%.lcssa1167.unr = phi i64 [ undef, %bb6.lr.ph.i63 ], [ %140, %bb6.i69.prol.loopexit.unr-lcssa ] | |
%carry.020.i66.unr = phi i64 [ 0, %bb6.lr.ph.i63 ], [ %140, %bb6.i69.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.019.i67.unr = phi i32* [ %130, %bb6.lr.ph.i63 ], [ %135, %bb6.i69.prol.loopexit.unr-lcssa ] | |
%141 = icmp ult i64 %132, 12 | |
br i1 %141, label %bb5.i65, label %bb6.lr.ph.i63.new | |
bb6.lr.ph.i63.new: ; preds = %bb6.i69.prol.loopexit | |
br label %bb6.i69 | |
bb5.i65.unr-lcssa: ; preds = %bb6.i69 | |
br label %bb5.i65 | |
bb5.i65: ; preds = %bb6.i69.prol.loopexit, %bb5.i65.unr-lcssa | |
%.lcssa1167 = phi i64 [ %.lcssa1167.unr, %bb6.i69.prol.loopexit ], [ %166, %bb5.i65.unr-lcssa ] | |
%abi_cast.sroa.0.0.extract.trunc.i64 = trunc i64 %.lcssa1167 to i32 | |
%142 = icmp eq i32 %abi_cast.sroa.0.0.extract.trunc.i64, 0 | |
br i1 %142, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit74, label %bb8.i70 | |
bb6.i69: ; preds = %bb6.i69, %bb6.lr.ph.i63.new | |
%carry.020.i66 = phi i64 [ %carry.020.i66.unr, %bb6.lr.ph.i63.new ], [ %166, %bb6.i69 ] | |
%iter.sroa.0.019.i67 = phi i32* [ %iter.sroa.0.019.i67.unr, %bb6.lr.ph.i63.new ], [ %161, %bb6.i69 ] | |
%143 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i67, i64 1 | |
%144 = load i32, i32* %iter.sroa.0.019.i67, align 4 | |
%145 = zext i32 %144 to i64 | |
%146 = mul nuw nsw i64 %145, 10 | |
%147 = add nuw nsw i64 %146, %carry.020.i66 | |
%148 = lshr i64 %147, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i68 = trunc i64 %147 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i68, i32* %iter.sroa.0.019.i67, align 4 | |
%149 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i67, i64 2 | |
%150 = load i32, i32* %143, align 4 | |
%151 = zext i32 %150 to i64 | |
%152 = mul nuw nsw i64 %151, 10 | |
%153 = add nuw nsw i64 %152, %148 | |
%154 = lshr i64 %153, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i68.1 = trunc i64 %153 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i68.1, i32* %143, align 4 | |
%155 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i67, i64 3 | |
%156 = load i32, i32* %149, align 4 | |
%157 = zext i32 %156 to i64 | |
%158 = mul nuw nsw i64 %157, 10 | |
%159 = add nuw nsw i64 %158, %154 | |
%160 = lshr i64 %159, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i68.2 = trunc i64 %159 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i68.2, i32* %149, align 4 | |
%161 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i67, i64 4 | |
%162 = load i32, i32* %155, align 4 | |
%163 = zext i32 %162 to i64 | |
%164 = mul nuw nsw i64 %163, 10 | |
%165 = add nuw nsw i64 %164, %160 | |
%166 = lshr i64 %165, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i68.3 = trunc i64 %165 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i68.3, i32* %155, align 4 | |
%167 = icmp eq i32* %161, %128 | |
br i1 %167, label %bb5.i65.unr-lcssa, label %bb6.i69 | |
bb8.i70: ; preds = %bb5.i65 | |
%168 = icmp ult i64 %85, 40 | |
br i1 %168, label %bb10.i71, label %panic.i73, !prof !5 | |
bb10.i71: ; preds = %bb8.i70 | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i64, i32* %128, align 4 | |
%169 = add i64 %85, 1 | |
br label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit74 | |
panic.i73: ; preds = %bb8.i70 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4I to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %85, i64 40) | |
unreachable | |
_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit74: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i62", %bb5.i65, %bb10.i71 | |
%sz.0.i72 = phi i64 [ %169, %bb10.i71 ], [ %85, %bb5.i65 ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i62" ] | |
store i64 %sz.0.i72, i64* %39, align 8 | |
%170 = load i64, i64* %49, align 8 | |
%171 = icmp ugt i64 %170, 40 | |
br i1 %171, label %bb4.i.i.i.i75, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i76" | |
bb4.i.i.i.i75: ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit74 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %170, i64 40), !noalias !62 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i76": ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit74 | |
%172 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %minus, i64 0, i32 2, i64 %170 | |
%173 = icmp eq i64 %170, 0 | |
br i1 %173, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit88, label %bb6.lr.ph.i77 | |
bb6.lr.ph.i77: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i76" | |
%174 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %minus, i64 0, i32 2, i64 0 | |
%175 = shl i64 %170, 2 | |
%176 = add i64 %175, -4 | |
%177 = lshr exact i64 %176, 2 | |
%178 = add nuw nsw i64 %177, 1 | |
%xtraiter1189 = and i64 %178, 3 | |
%lcmp.mod1190 = icmp eq i64 %xtraiter1189, 0 | |
br i1 %lcmp.mod1190, label %bb6.i83.prol.loopexit, label %bb6.i83.prol.preheader | |
bb6.i83.prol.preheader: ; preds = %bb6.lr.ph.i77 | |
br label %bb6.i83.prol | |
bb6.i83.prol: ; preds = %bb6.i83.prol, %bb6.i83.prol.preheader | |
%carry.020.i80.prol = phi i64 [ 0, %bb6.i83.prol.preheader ], [ %184, %bb6.i83.prol ] | |
%iter.sroa.0.019.i81.prol = phi i32* [ %174, %bb6.i83.prol.preheader ], [ %179, %bb6.i83.prol ] | |
%prol.iter1191 = phi i64 [ %xtraiter1189, %bb6.i83.prol.preheader ], [ %prol.iter1191.sub, %bb6.i83.prol ] | |
%179 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i81.prol, i64 1 | |
%180 = load i32, i32* %iter.sroa.0.019.i81.prol, align 4 | |
%181 = zext i32 %180 to i64 | |
%182 = mul nuw nsw i64 %181, 10 | |
%183 = add nuw nsw i64 %182, %carry.020.i80.prol | |
%184 = lshr i64 %183, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i82.prol = trunc i64 %183 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i82.prol, i32* %iter.sroa.0.019.i81.prol, align 4 | |
%prol.iter1191.sub = add i64 %prol.iter1191, -1 | |
%prol.iter1191.cmp = icmp eq i64 %prol.iter1191.sub, 0 | |
br i1 %prol.iter1191.cmp, label %bb6.i83.prol.loopexit.unr-lcssa, label %bb6.i83.prol, !llvm.loop !65 | |
bb6.i83.prol.loopexit.unr-lcssa: ; preds = %bb6.i83.prol | |
br label %bb6.i83.prol.loopexit | |
bb6.i83.prol.loopexit: ; preds = %bb6.lr.ph.i77, %bb6.i83.prol.loopexit.unr-lcssa | |
%.lcssa1166.unr = phi i64 [ undef, %bb6.lr.ph.i77 ], [ %184, %bb6.i83.prol.loopexit.unr-lcssa ] | |
%carry.020.i80.unr = phi i64 [ 0, %bb6.lr.ph.i77 ], [ %184, %bb6.i83.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.019.i81.unr = phi i32* [ %174, %bb6.lr.ph.i77 ], [ %179, %bb6.i83.prol.loopexit.unr-lcssa ] | |
%185 = icmp ult i64 %176, 12 | |
br i1 %185, label %bb5.i79, label %bb6.lr.ph.i77.new | |
bb6.lr.ph.i77.new: ; preds = %bb6.i83.prol.loopexit | |
br label %bb6.i83 | |
bb5.i79.unr-lcssa: ; preds = %bb6.i83 | |
br label %bb5.i79 | |
bb5.i79: ; preds = %bb6.i83.prol.loopexit, %bb5.i79.unr-lcssa | |
%.lcssa1166 = phi i64 [ %.lcssa1166.unr, %bb6.i83.prol.loopexit ], [ %210, %bb5.i79.unr-lcssa ] | |
%abi_cast.sroa.0.0.extract.trunc.i78 = trunc i64 %.lcssa1166 to i32 | |
%186 = icmp eq i32 %abi_cast.sroa.0.0.extract.trunc.i78, 0 | |
br i1 %186, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit88, label %bb8.i84 | |
bb6.i83: ; preds = %bb6.i83, %bb6.lr.ph.i77.new | |
%carry.020.i80 = phi i64 [ %carry.020.i80.unr, %bb6.lr.ph.i77.new ], [ %210, %bb6.i83 ] | |
%iter.sroa.0.019.i81 = phi i32* [ %iter.sroa.0.019.i81.unr, %bb6.lr.ph.i77.new ], [ %205, %bb6.i83 ] | |
%187 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i81, i64 1 | |
%188 = load i32, i32* %iter.sroa.0.019.i81, align 4 | |
%189 = zext i32 %188 to i64 | |
%190 = mul nuw nsw i64 %189, 10 | |
%191 = add nuw nsw i64 %190, %carry.020.i80 | |
%192 = lshr i64 %191, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i82 = trunc i64 %191 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i82, i32* %iter.sroa.0.019.i81, align 4 | |
%193 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i81, i64 2 | |
%194 = load i32, i32* %187, align 4 | |
%195 = zext i32 %194 to i64 | |
%196 = mul nuw nsw i64 %195, 10 | |
%197 = add nuw nsw i64 %196, %192 | |
%198 = lshr i64 %197, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i82.1 = trunc i64 %197 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i82.1, i32* %187, align 4 | |
%199 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i81, i64 3 | |
%200 = load i32, i32* %193, align 4 | |
%201 = zext i32 %200 to i64 | |
%202 = mul nuw nsw i64 %201, 10 | |
%203 = add nuw nsw i64 %202, %198 | |
%204 = lshr i64 %203, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i82.2 = trunc i64 %203 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i82.2, i32* %193, align 4 | |
%205 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i81, i64 4 | |
%206 = load i32, i32* %199, align 4 | |
%207 = zext i32 %206 to i64 | |
%208 = mul nuw nsw i64 %207, 10 | |
%209 = add nuw nsw i64 %208, %204 | |
%210 = lshr i64 %209, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i82.3 = trunc i64 %209 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i82.3, i32* %199, align 4 | |
%211 = icmp eq i32* %205, %172 | |
br i1 %211, label %bb5.i79.unr-lcssa, label %bb6.i83 | |
bb8.i84: ; preds = %bb5.i79 | |
%212 = icmp ult i64 %170, 40 | |
br i1 %212, label %bb10.i85, label %panic.i87, !prof !5 | |
bb10.i85: ; preds = %bb8.i84 | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i78, i32* %172, align 4 | |
%213 = add i64 %170, 1 | |
br label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit88 | |
panic.i87: ; preds = %bb8.i84 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4I to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %170, i64 40) | |
unreachable | |
_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit88: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i76", %bb5.i79, %bb10.i85 | |
%sz.0.i86 = phi i64 [ %213, %bb10.i85 ], [ %170, %bb5.i79 ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i76" ] | |
store i64 %sz.0.i86, i64* %49, align 8 | |
%214 = load i64, i64* %59, align 8 | |
%215 = icmp ugt i64 %214, 40 | |
br i1 %215, label %bb4.i.i.i.i89, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i90" | |
bb4.i.i.i.i89: ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit88 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %214, i64 40), !noalias !66 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i90": ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit88 | |
%216 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %plus, i64 0, i32 2, i64 %214 | |
%217 = icmp eq i64 %214, 0 | |
br i1 %217, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit102, label %bb6.lr.ph.i91 | |
bb6.lr.ph.i91: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i90" | |
%218 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %plus, i64 0, i32 2, i64 0 | |
%219 = shl i64 %214, 2 | |
%220 = add i64 %219, -4 | |
%221 = lshr exact i64 %220, 2 | |
%222 = add nuw nsw i64 %221, 1 | |
%xtraiter1186 = and i64 %222, 3 | |
%lcmp.mod1187 = icmp eq i64 %xtraiter1186, 0 | |
br i1 %lcmp.mod1187, label %bb6.i97.prol.loopexit, label %bb6.i97.prol.preheader | |
bb6.i97.prol.preheader: ; preds = %bb6.lr.ph.i91 | |
br label %bb6.i97.prol | |
bb6.i97.prol: ; preds = %bb6.i97.prol, %bb6.i97.prol.preheader | |
%carry.020.i94.prol = phi i64 [ 0, %bb6.i97.prol.preheader ], [ %228, %bb6.i97.prol ] | |
%iter.sroa.0.019.i95.prol = phi i32* [ %218, %bb6.i97.prol.preheader ], [ %223, %bb6.i97.prol ] | |
%prol.iter1188 = phi i64 [ %xtraiter1186, %bb6.i97.prol.preheader ], [ %prol.iter1188.sub, %bb6.i97.prol ] | |
%223 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i95.prol, i64 1 | |
%224 = load i32, i32* %iter.sroa.0.019.i95.prol, align 4 | |
%225 = zext i32 %224 to i64 | |
%226 = mul nuw nsw i64 %225, 10 | |
%227 = add nuw nsw i64 %226, %carry.020.i94.prol | |
%228 = lshr i64 %227, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i96.prol = trunc i64 %227 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i96.prol, i32* %iter.sroa.0.019.i95.prol, align 4 | |
%prol.iter1188.sub = add i64 %prol.iter1188, -1 | |
%prol.iter1188.cmp = icmp eq i64 %prol.iter1188.sub, 0 | |
br i1 %prol.iter1188.cmp, label %bb6.i97.prol.loopexit.unr-lcssa, label %bb6.i97.prol, !llvm.loop !69 | |
bb6.i97.prol.loopexit.unr-lcssa: ; preds = %bb6.i97.prol | |
br label %bb6.i97.prol.loopexit | |
bb6.i97.prol.loopexit: ; preds = %bb6.lr.ph.i91, %bb6.i97.prol.loopexit.unr-lcssa | |
%.lcssa1165.unr = phi i64 [ undef, %bb6.lr.ph.i91 ], [ %228, %bb6.i97.prol.loopexit.unr-lcssa ] | |
%carry.020.i94.unr = phi i64 [ 0, %bb6.lr.ph.i91 ], [ %228, %bb6.i97.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.019.i95.unr = phi i32* [ %218, %bb6.lr.ph.i91 ], [ %223, %bb6.i97.prol.loopexit.unr-lcssa ] | |
%229 = icmp ult i64 %220, 12 | |
br i1 %229, label %bb5.i93, label %bb6.lr.ph.i91.new | |
bb6.lr.ph.i91.new: ; preds = %bb6.i97.prol.loopexit | |
br label %bb6.i97 | |
bb5.i93.unr-lcssa: ; preds = %bb6.i97 | |
br label %bb5.i93 | |
bb5.i93: ; preds = %bb6.i97.prol.loopexit, %bb5.i93.unr-lcssa | |
%.lcssa1165 = phi i64 [ %.lcssa1165.unr, %bb6.i97.prol.loopexit ], [ %254, %bb5.i93.unr-lcssa ] | |
%abi_cast.sroa.0.0.extract.trunc.i92 = trunc i64 %.lcssa1165 to i32 | |
%230 = icmp eq i32 %abi_cast.sroa.0.0.extract.trunc.i92, 0 | |
br i1 %230, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit102, label %bb8.i98 | |
bb6.i97: ; preds = %bb6.i97, %bb6.lr.ph.i91.new | |
%carry.020.i94 = phi i64 [ %carry.020.i94.unr, %bb6.lr.ph.i91.new ], [ %254, %bb6.i97 ] | |
%iter.sroa.0.019.i95 = phi i32* [ %iter.sroa.0.019.i95.unr, %bb6.lr.ph.i91.new ], [ %249, %bb6.i97 ] | |
%231 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i95, i64 1 | |
%232 = load i32, i32* %iter.sroa.0.019.i95, align 4 | |
%233 = zext i32 %232 to i64 | |
%234 = mul nuw nsw i64 %233, 10 | |
%235 = add nuw nsw i64 %234, %carry.020.i94 | |
%236 = lshr i64 %235, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i96 = trunc i64 %235 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i96, i32* %iter.sroa.0.019.i95, align 4 | |
%237 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i95, i64 2 | |
%238 = load i32, i32* %231, align 4 | |
%239 = zext i32 %238 to i64 | |
%240 = mul nuw nsw i64 %239, 10 | |
%241 = add nuw nsw i64 %240, %236 | |
%242 = lshr i64 %241, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i96.1 = trunc i64 %241 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i96.1, i32* %231, align 4 | |
%243 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i95, i64 3 | |
%244 = load i32, i32* %237, align 4 | |
%245 = zext i32 %244 to i64 | |
%246 = mul nuw nsw i64 %245, 10 | |
%247 = add nuw nsw i64 %246, %242 | |
%248 = lshr i64 %247, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i96.2 = trunc i64 %247 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i96.2, i32* %237, align 4 | |
%249 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i95, i64 4 | |
%250 = load i32, i32* %243, align 4 | |
%251 = zext i32 %250 to i64 | |
%252 = mul nuw nsw i64 %251, 10 | |
%253 = add nuw nsw i64 %252, %248 | |
%254 = lshr i64 %253, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i96.3 = trunc i64 %253 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i96.3, i32* %243, align 4 | |
%255 = icmp eq i32* %249, %216 | |
br i1 %255, label %bb5.i93.unr-lcssa, label %bb6.i97 | |
bb8.i98: ; preds = %bb5.i93 | |
%256 = icmp ult i64 %214, 40 | |
br i1 %256, label %bb10.i99, label %panic.i101, !prof !5 | |
bb10.i99: ; preds = %bb8.i98 | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i92, i32* %216, align 4 | |
%257 = add i64 %214, 1 | |
br label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit102 | |
panic.i101: ; preds = %bb8.i98 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4I to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %214, i64 40) | |
unreachable | |
_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit102: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i90", %bb5.i93, %bb10.i99 | |
%sz.0.i100 = phi i64 [ %257, %bb10.i99 ], [ %214, %bb5.i93 ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i90" ] | |
store i64 %sz.0.i100, i64* %59, align 8 | |
%.pre = load i64, i64* %66, align 8, !alias.scope !70, !noalias !73 | |
br label %bb49 | |
bb49: ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit102, %bb44 | |
%258 = phi i64 [ %110, %bb44 ], [ %.pre, %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit102 ] | |
%k.0 = phi i16 [ %126, %bb44 ], [ %30, %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit102 ] | |
%259 = bitcast %"num::bignum::Big32x40"* %scale2 to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %259) | |
%260 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale2, i64 0, i32 0 | |
store i64 %258, i64* %260, align 8, !alias.scope !73, !noalias !70 | |
%261 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale2, i64 0, i32 2 | |
%262 = bitcast [40 x i32]* %261 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %262, i8* %68, i64 160, i32 8, i1 false) #16, !alias.scope !75 | |
%263 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %scale2, i64 1) | |
%264 = bitcast %"num::bignum::Big32x40"* %scale4 to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %264) | |
%265 = load i64, i64* %66, align 8, !alias.scope !76, !noalias !79 | |
%266 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale4, i64 0, i32 0 | |
store i64 %265, i64* %266, align 8, !alias.scope !79, !noalias !76 | |
%267 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale4, i64 0, i32 2 | |
%268 = bitcast [40 x i32]* %267 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %268, i8* %68, i64 160, i32 8, i1 false) #16, !alias.scope !81 | |
%269 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %scale4, i64 2) | |
%270 = bitcast %"num::bignum::Big32x40"* %scale8 to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %270) | |
%271 = load i64, i64* %66, align 8, !alias.scope !82, !noalias !85 | |
%272 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale8, i64 0, i32 0 | |
store i64 %271, i64* %272, align 8, !alias.scope !85, !noalias !82 | |
%273 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale8, i64 0, i32 2 | |
%274 = bitcast [40 x i32]* %273 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %274, i8* %68, i64 160, i32 8, i1 false) #16, !alias.scope !87 | |
%275 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %scale8, i64 3) | |
%276 = load i64, i64* %39, align 8, !alias.scope !88, !noalias !95 | |
%277 = load i64, i64* %272, align 8, !alias.scope !105, !noalias !106 | |
%278 = icmp uge i64 %277, %276 | |
%_0.0.sroa.speculated.i.i.i.i.i.i390 = select i1 %278, i64 %277, i64 %276 | |
%279 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 0 | |
%280 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i.i.i.i390, 40 | |
br i1 %280, label %bb4.i.i.i3.i.i.i.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i.i.lr.ph" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i.i.lr.ph": ; preds = %bb49 | |
%281 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale8, i64 0, i32 2, i64 0 | |
%282 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale4, i64 0, i32 2, i64 0 | |
%283 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale2, i64 0, i32 2, i64 0 | |
%284 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %minus, i64 0, i32 2, i64 0 | |
%285 = bitcast %"num::bignum::Big32x40"* %_175 to i8* | |
%286 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_175, i64 0, i32 0 | |
%287 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_175, i64 0, i32 2 | |
%288 = bitcast [40 x i32]* %287 to i8* | |
%289 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_175, i64 0, i32 2, i64 0 | |
%290 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %plus, i64 0, i32 2, i64 0 | |
br label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i.i" | |
bb4.i.i.i3.i.i.i.i.loopexit: ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit | |
br label %bb4.i.i.i3.i.i.i.i | |
bb4.i.i.i3.i.i.i.i: ; preds = %bb4.i.i.i3.i.i.i.i.loopexit, %bb49 | |
%_0.0.sroa.speculated.i.i.i.i.i.i.lcssa = phi i64 [ %_0.0.sroa.speculated.i.i.i.i.i.i390, %bb49 ], [ %_0.0.sroa.speculated.i.i.i.i.i.i, %bb4.i.i.i3.i.i.i.i.loopexit ] | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i.i.i.i.lcssa, i64 40), !noalias !107 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i.i": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i.i.lr.ph", %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit | |
%_0.0.sroa.speculated.i.i.i.i.i.i392 = phi i64 [ %_0.0.sroa.speculated.i.i.i.i.i.i390, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i.i.lr.ph" ], [ %_0.0.sroa.speculated.i.i.i.i.i.i, %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit ] | |
%291 = phi i64 [ %276, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i.i.lr.ph" ], [ %592, %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit ] | |
%i.0391 = phi i64 [ 0, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i.i.lr.ph" ], [ %415, %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit ] | |
%292 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i.i392 | |
%293 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale8, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i.i392 | |
br label %bb5.i.i.i.i.i | |
bb5.i.i.i.i.i: ; preds = %bb24.i.i.i.i.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i.i" | |
%self.sroa.4.0.i.i.i.i.i = phi i32* [ %292, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i.i" ], [ %self.sroa.4.1.i.i.i.i.i, %bb24.i.i.i.i.i ] | |
%other1.sroa.4.0.i.i.i.i.i = phi i32* [ %293, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i.i" ], [ %other1.sroa.4.1.i.i.i.i.i, %bb24.i.i.i.i.i ] | |
%294 = icmp eq i32* %self.sroa.4.0.i.i.i.i.i, %279 | |
br i1 %294, label %bb6.i.i.i.i.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i.i": ; preds = %bb5.i.i.i.i.i | |
%295 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i.i.i.i, i64 -1 | |
%296 = load i32, i32* %295, align 4, !alias.scope !110, !noalias !115 | |
br label %bb6.i.i.i.i.i | |
bb6.i.i.i.i.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i.i", %bb5.i.i.i.i.i | |
%self.sroa.4.1.i.i.i.i.i = phi i32* [ %279, %bb5.i.i.i.i.i ], [ %295, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i.i" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i.i.i.i = phi i32 [ 0, %bb5.i.i.i.i.i ], [ %296, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i.i" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i.i.i.i = phi i64 [ 0, %bb5.i.i.i.i.i ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i.i" ] | |
%297 = icmp eq i32* %other1.sroa.4.0.i.i.i.i.i, %281 | |
br i1 %297, label %bb8.i.i.i.i.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i.i": ; preds = %bb6.i.i.i.i.i | |
%298 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i.i.i.i, i64 -1 | |
%299 = load i32, i32* %298, align 4, !alias.scope !119, !noalias !124 | |
br label %bb8.i.i.i.i.i | |
bb8.i.i.i.i.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i.i", %bb6.i.i.i.i.i | |
%other1.sroa.4.1.i.i.i.i.i = phi i32* [ %281, %bb6.i.i.i.i.i ], [ %298, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i.i" ] | |
%_0.sroa.3.0.i.i.i.i.i.i.i.i.i = phi i32 [ 0, %bb6.i.i.i.i.i ], [ %299, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i.i" ] | |
%_0.sroa.0.0.i.i.i.i.i.i.i.i.i = phi i1 [ true, %bb6.i.i.i.i.i ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i.i" ] | |
%cond.i.i.i.i.i = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i.i.i.i, 0 | |
br i1 %cond.i.i.i.i.i, label %bb14.i.i.i.i.i, label %bb15.i.i.i.i.i | |
bb14.i.i.i.i.i: ; preds = %bb8.i.i.i.i.i | |
%not.cond14.i.i.i.i.i = xor i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i.i, true | |
%..i.i.i.i.i103 = sext i1 %not.cond14.i.i.i.i.i to i64 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.i | |
bb15.i.i.i.i.i: ; preds = %bb8.i.i.i.i.i | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.loopexit", label %bb24.i.i.i.i.i | |
bb24.i.i.i.i.i: ; preds = %bb15.i.i.i.i.i | |
%300 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i.i, %_0.sroa.3.0.i.i.i.i.i.i.i.i.i | |
br i1 %300, label %bb5.i.i.i.i.i, label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.loopexit.i | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.loopexit.i: ; preds = %bb24.i.i.i.i.i | |
%301 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i.i, %_0.sroa.3.0.i.i.i.i.i.i.i.i.i | |
%..i.i.i.i.i.le.i = select i1 %301, i64 255, i64 1 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.i | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.i: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.loopexit.i, %bb14.i.i.i.i.i | |
%_0.0.i.i.i.i.i = phi i64 [ %..i.i.i.i.i103, %bb14.i.i.i.i.i ], [ %..i.i.i.i.i.le.i, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.loopexit.i ] | |
%abi_cast.sroa.4.0.extract.shift.i.i = shl i64 %_0.0.i.i.i.i.i, 56 | |
%sext.i.i = ashr exact i64 %abi_cast.sroa.4.0.extract.shift.i.i, 56 | |
%switch.i.i = icmp ult i64 %sext.i.i, 2 | |
br i1 %switch.i.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i", label %bb5.i104 | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.loopexit": ; preds = %bb15.i.i.i.i.i | |
br label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.loopexit", %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.i | |
%.idx.i.i = shl nuw i64 %_0.0.sroa.speculated.i.i.i.i.i.i392, 2 | |
%302 = sdiv i64 %.idx.i.i, 4 | |
%.idx.off.i.i = or i64 %.idx.i.i, 3 | |
%303 = icmp ult i64 %.idx.off.i.i, 7 | |
br i1 %303, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit.i, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.i.preheader" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.i.preheader": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i" | |
br label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.i" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.i": ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.i.preheader", %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.i" | |
%noborrow.050.i.i = phi i32 [ %316, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.i" ], [ 1, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.i.preheader" ] | |
%iter.sroa.8.049.i.i = phi i64 [ %306, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.i" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.i.preheader" ] | |
%304 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %iter.sroa.8.049.i.i | |
%305 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale8, i64 0, i32 2, i64 %iter.sroa.8.049.i.i | |
%306 = add nuw i64 %iter.sroa.8.049.i.i, 1 | |
%307 = load i32, i32* %304, align 4, !noalias !125 | |
%308 = load i32, i32* %305, align 4, !alias.scope !128, !noalias !129 | |
%309 = xor i32 %308, -1 | |
%310 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %307, i32 %309) #16 | |
%311 = extractvalue { i32, i1 } %310, 0 | |
%312 = extractvalue { i32, i1 } %310, 1 | |
%313 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %311, i32 %noborrow.050.i.i) #16 | |
%314 = extractvalue { i32, i1 } %313, 0 | |
%315 = extractvalue { i32, i1 } %313, 1 | |
%brmerge.i.i.i = or i1 %312, %315 | |
store i32 %314, i32* %304, align 4, !noalias !125 | |
%316 = zext i1 %brmerge.i.i.i to i32 | |
%317 = icmp ult i64 %306, %302 | |
br i1 %317, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.i", label %bb9.i.i | |
bb9.i.i: ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.i" | |
br i1 %brmerge.i.i.i, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit.i, label %bb12.i.i | |
bb12.i.i: ; preds = %bb9.i.i | |
call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num6bignum8Big32x403sub14_MSG_FILE_LINE17he6988b9083a66661E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)), !noalias !130 | |
unreachable | |
_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit.i: ; preds = %bb9.i.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i" | |
store i64 %_0.0.sroa.speculated.i.i.i.i.i.i392, i64* %39, align 8, !noalias !125 | |
br label %bb5.i104 | |
bb5.i104: ; preds = %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit.i, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.i | |
%318 = phi i64 [ %_0.0.sroa.speculated.i.i.i.i.i.i392, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit.i ], [ %291, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.i ] | |
%d.0.i = phi i8 [ 8, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit.i ], [ 0, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.i ] | |
%319 = load i64, i64* %266, align 8, !alias.scope !131, !noalias !138 | |
%320 = icmp uge i64 %319, %318 | |
%_0.0.sroa.speculated.i.i.i.i.i5.i = select i1 %320, i64 %319, i64 %318 | |
%321 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i.i.i5.i, 40 | |
br i1 %321, label %bb4.i.i.i3.i.i.i6.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i7.i" | |
bb4.i.i.i3.i.i.i6.i: ; preds = %bb5.i104 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i.i.i5.i, i64 40), !noalias !142 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i7.i": ; preds = %bb5.i104 | |
%322 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i5.i | |
%323 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale4, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i5.i | |
br label %bb5.i.i.i.i10.i | |
bb5.i.i.i.i10.i: ; preds = %bb24.i.i.i.i27.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i7.i" | |
%self.sroa.4.0.i.i.i.i8.i = phi i32* [ %322, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i7.i" ], [ %self.sroa.4.1.i.i.i.i12.i, %bb24.i.i.i.i27.i ] | |
%other1.sroa.4.0.i.i.i.i9.i = phi i32* [ %323, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i7.i" ], [ %other1.sroa.4.1.i.i.i.i17.i, %bb24.i.i.i.i27.i ] | |
%324 = icmp eq i32* %self.sroa.4.0.i.i.i.i8.i, %279 | |
br i1 %324, label %bb6.i.i.i.i15.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i11.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i11.i": ; preds = %bb5.i.i.i.i10.i | |
%325 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i.i.i8.i, i64 -1 | |
%326 = load i32, i32* %325, align 4, !alias.scope !145, !noalias !150 | |
br label %bb6.i.i.i.i15.i | |
bb6.i.i.i.i15.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i11.i", %bb5.i.i.i.i10.i | |
%self.sroa.4.1.i.i.i.i12.i = phi i32* [ %279, %bb5.i.i.i.i10.i ], [ %325, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i11.i" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i.i.i13.i = phi i32 [ 0, %bb5.i.i.i.i10.i ], [ %326, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i11.i" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i.i.i14.i = phi i64 [ 0, %bb5.i.i.i.i10.i ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i11.i" ] | |
%327 = icmp eq i32* %other1.sroa.4.0.i.i.i.i9.i, %282 | |
br i1 %327, label %bb8.i.i.i.i21.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i16.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i16.i": ; preds = %bb6.i.i.i.i15.i | |
%328 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i.i.i9.i, i64 -1 | |
%329 = load i32, i32* %328, align 4, !alias.scope !154, !noalias !159 | |
br label %bb8.i.i.i.i21.i | |
bb8.i.i.i.i21.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i16.i", %bb6.i.i.i.i15.i | |
%other1.sroa.4.1.i.i.i.i17.i = phi i32* [ %282, %bb6.i.i.i.i15.i ], [ %328, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i16.i" ] | |
%_0.sroa.3.0.i.i.i.i.i.i.i.i18.i = phi i32 [ 0, %bb6.i.i.i.i15.i ], [ %329, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i16.i" ] | |
%_0.sroa.0.0.i.i.i.i.i.i.i.i19.i = phi i1 [ true, %bb6.i.i.i.i15.i ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i16.i" ] | |
%cond.i.i.i.i20.i = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i.i.i14.i, 0 | |
br i1 %cond.i.i.i.i20.i, label %bb14.i.i.i.i24.i, label %bb15.i.i.i.i25.i | |
bb14.i.i.i.i24.i: ; preds = %bb8.i.i.i.i21.i | |
%not.cond14.i.i.i.i22.i = xor i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i19.i, true | |
%..i.i.i.i23.i = sext i1 %not.cond14.i.i.i.i22.i to i64 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit32.i | |
bb15.i.i.i.i25.i: ; preds = %bb8.i.i.i.i21.i | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i19.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i37.i.loopexit", label %bb24.i.i.i.i27.i | |
bb24.i.i.i.i27.i: ; preds = %bb15.i.i.i.i25.i | |
%330 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i13.i, %_0.sroa.3.0.i.i.i.i.i.i.i.i18.i | |
br i1 %330, label %bb5.i.i.i.i10.i, label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit32.loopexit.i | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit32.loopexit.i: ; preds = %bb24.i.i.i.i27.i | |
%331 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i13.i, %_0.sroa.3.0.i.i.i.i.i.i.i.i18.i | |
%..i.i.i.i.i26.le.i = select i1 %331, i64 255, i64 1 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit32.i | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit32.i: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit32.loopexit.i, %bb14.i.i.i.i24.i | |
%_0.0.i.i.i.i28.i = phi i64 [ %..i.i.i.i23.i, %bb14.i.i.i.i24.i ], [ %..i.i.i.i.i26.le.i, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit32.loopexit.i ] | |
%abi_cast.sroa.4.0.extract.shift.i29.i = shl i64 %_0.0.i.i.i.i28.i, 56 | |
%sext.i30.i = ashr exact i64 %abi_cast.sroa.4.0.extract.shift.i29.i, 56 | |
%switch.i31.i = icmp ult i64 %sext.i30.i, 2 | |
br i1 %switch.i31.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i37.i", label %bb10.i105 | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i37.i.loopexit": ; preds = %bb15.i.i.i.i25.i | |
br label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i37.i" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i37.i": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i37.i.loopexit", %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit32.i | |
%.idx.i35.i = shl nuw i64 %_0.0.sroa.speculated.i.i.i.i.i5.i, 2 | |
%332 = sdiv i64 %.idx.i35.i, 4 | |
%.idx.off.i36.i = or i64 %.idx.i35.i, 3 | |
%333 = icmp ult i64 %.idx.off.i36.i, 7 | |
br i1 %333, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit44.i, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i41.i.preheader" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i41.i.preheader": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i37.i" | |
br label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i41.i" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i41.i": ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i41.i.preheader", %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i41.i" | |
%noborrow.050.i38.i = phi i32 [ %346, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i41.i" ], [ 1, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i41.i.preheader" ] | |
%iter.sroa.8.049.i39.i = phi i64 [ %336, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i41.i" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i41.i.preheader" ] | |
%334 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %iter.sroa.8.049.i39.i | |
%335 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale4, i64 0, i32 2, i64 %iter.sroa.8.049.i39.i | |
%336 = add nuw i64 %iter.sroa.8.049.i39.i, 1 | |
%337 = load i32, i32* %334, align 4, !noalias !160 | |
%338 = load i32, i32* %335, align 4, !alias.scope !163, !noalias !164 | |
%339 = xor i32 %338, -1 | |
%340 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %337, i32 %339) #16 | |
%341 = extractvalue { i32, i1 } %340, 0 | |
%342 = extractvalue { i32, i1 } %340, 1 | |
%343 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %341, i32 %noborrow.050.i38.i) #16 | |
%344 = extractvalue { i32, i1 } %343, 0 | |
%345 = extractvalue { i32, i1 } %343, 1 | |
%brmerge.i.i40.i = or i1 %342, %345 | |
store i32 %344, i32* %334, align 4, !noalias !160 | |
%346 = zext i1 %brmerge.i.i40.i to i32 | |
%347 = icmp ult i64 %336, %332 | |
br i1 %347, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i41.i", label %bb9.i42.i | |
bb9.i42.i: ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i41.i" | |
br i1 %brmerge.i.i40.i, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit44.i, label %bb12.i43.i | |
bb12.i43.i: ; preds = %bb9.i42.i | |
call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num6bignum8Big32x403sub14_MSG_FILE_LINE17he6988b9083a66661E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)), !noalias !165 | |
unreachable | |
_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit44.i: ; preds = %bb9.i42.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i37.i" | |
store i64 %_0.0.sroa.speculated.i.i.i.i.i5.i, i64* %39, align 8, !noalias !160 | |
%348 = or i8 %d.0.i, 4 | |
br label %bb10.i105 | |
bb10.i105: ; preds = %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit44.i, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit32.i | |
%349 = phi i64 [ %_0.0.sroa.speculated.i.i.i.i.i5.i, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit44.i ], [ %318, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit32.i ] | |
%d.1.i = phi i8 [ %348, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit44.i ], [ %d.0.i, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit32.i ] | |
%350 = load i64, i64* %260, align 8, !alias.scope !166, !noalias !173 | |
%351 = icmp uge i64 %350, %349 | |
%_0.0.sroa.speculated.i.i.i.i.i45.i = select i1 %351, i64 %350, i64 %349 | |
%352 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i.i.i45.i, 40 | |
br i1 %352, label %bb4.i.i.i3.i.i.i46.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i47.i" | |
bb4.i.i.i3.i.i.i46.i: ; preds = %bb10.i105 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i.i.i45.i, i64 40), !noalias !177 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i47.i": ; preds = %bb10.i105 | |
%353 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i45.i | |
%354 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale2, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i45.i | |
br label %bb5.i.i.i.i50.i | |
bb5.i.i.i.i50.i: ; preds = %bb24.i.i.i.i67.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i47.i" | |
%self.sroa.4.0.i.i.i.i48.i = phi i32* [ %353, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i47.i" ], [ %self.sroa.4.1.i.i.i.i52.i, %bb24.i.i.i.i67.i ] | |
%other1.sroa.4.0.i.i.i.i49.i = phi i32* [ %354, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i47.i" ], [ %other1.sroa.4.1.i.i.i.i57.i, %bb24.i.i.i.i67.i ] | |
%355 = icmp eq i32* %self.sroa.4.0.i.i.i.i48.i, %279 | |
br i1 %355, label %bb6.i.i.i.i55.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i51.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i51.i": ; preds = %bb5.i.i.i.i50.i | |
%356 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i.i.i48.i, i64 -1 | |
%357 = load i32, i32* %356, align 4, !alias.scope !180, !noalias !185 | |
br label %bb6.i.i.i.i55.i | |
bb6.i.i.i.i55.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i51.i", %bb5.i.i.i.i50.i | |
%self.sroa.4.1.i.i.i.i52.i = phi i32* [ %279, %bb5.i.i.i.i50.i ], [ %356, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i51.i" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i.i.i53.i = phi i32 [ 0, %bb5.i.i.i.i50.i ], [ %357, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i51.i" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i.i.i54.i = phi i64 [ 0, %bb5.i.i.i.i50.i ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i51.i" ] | |
%358 = icmp eq i32* %other1.sroa.4.0.i.i.i.i49.i, %283 | |
br i1 %358, label %bb8.i.i.i.i61.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i56.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i56.i": ; preds = %bb6.i.i.i.i55.i | |
%359 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i.i.i49.i, i64 -1 | |
%360 = load i32, i32* %359, align 4, !alias.scope !189, !noalias !194 | |
br label %bb8.i.i.i.i61.i | |
bb8.i.i.i.i61.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i56.i", %bb6.i.i.i.i55.i | |
%other1.sroa.4.1.i.i.i.i57.i = phi i32* [ %283, %bb6.i.i.i.i55.i ], [ %359, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i56.i" ] | |
%_0.sroa.3.0.i.i.i.i.i.i.i.i58.i = phi i32 [ 0, %bb6.i.i.i.i55.i ], [ %360, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i56.i" ] | |
%_0.sroa.0.0.i.i.i.i.i.i.i.i59.i = phi i1 [ true, %bb6.i.i.i.i55.i ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i56.i" ] | |
%cond.i.i.i.i60.i = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i.i.i54.i, 0 | |
br i1 %cond.i.i.i.i60.i, label %bb14.i.i.i.i64.i, label %bb15.i.i.i.i65.i | |
bb14.i.i.i.i64.i: ; preds = %bb8.i.i.i.i61.i | |
%not.cond14.i.i.i.i62.i = xor i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i59.i, true | |
%..i.i.i.i63.i = sext i1 %not.cond14.i.i.i.i62.i to i64 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit72.i | |
bb15.i.i.i.i65.i: ; preds = %bb8.i.i.i.i61.i | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i59.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i77.i.loopexit", label %bb24.i.i.i.i67.i | |
bb24.i.i.i.i67.i: ; preds = %bb15.i.i.i.i65.i | |
%361 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i53.i, %_0.sroa.3.0.i.i.i.i.i.i.i.i58.i | |
br i1 %361, label %bb5.i.i.i.i50.i, label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit72.loopexit.i | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit72.loopexit.i: ; preds = %bb24.i.i.i.i67.i | |
%362 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i53.i, %_0.sroa.3.0.i.i.i.i.i.i.i.i58.i | |
%..i.i.i.i.i66.le.i = select i1 %362, i64 255, i64 1 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit72.i | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit72.i: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit72.loopexit.i, %bb14.i.i.i.i64.i | |
%_0.0.i.i.i.i68.i = phi i64 [ %..i.i.i.i63.i, %bb14.i.i.i.i64.i ], [ %..i.i.i.i.i66.le.i, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit72.loopexit.i ] | |
%abi_cast.sroa.4.0.extract.shift.i69.i = shl i64 %_0.0.i.i.i.i68.i, 56 | |
%sext.i70.i = ashr exact i64 %abi_cast.sroa.4.0.extract.shift.i69.i, 56 | |
%switch.i71.i = icmp ult i64 %sext.i70.i, 2 | |
br i1 %switch.i71.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i77.i", label %bb15.i | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i77.i.loopexit": ; preds = %bb15.i.i.i.i65.i | |
br label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i77.i" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i77.i": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i77.i.loopexit", %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit72.i | |
%.idx.i75.i = shl nuw i64 %_0.0.sroa.speculated.i.i.i.i.i45.i, 2 | |
%363 = sdiv i64 %.idx.i75.i, 4 | |
%.idx.off.i76.i = or i64 %.idx.i75.i, 3 | |
%364 = icmp ult i64 %.idx.off.i76.i, 7 | |
br i1 %364, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit84.i, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i81.i.preheader" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i81.i.preheader": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i77.i" | |
br label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i81.i" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i81.i": ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i81.i.preheader", %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i81.i" | |
%noborrow.050.i78.i = phi i32 [ %377, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i81.i" ], [ 1, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i81.i.preheader" ] | |
%iter.sroa.8.049.i79.i = phi i64 [ %367, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i81.i" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i81.i.preheader" ] | |
%365 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %iter.sroa.8.049.i79.i | |
%366 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale2, i64 0, i32 2, i64 %iter.sroa.8.049.i79.i | |
%367 = add nuw i64 %iter.sroa.8.049.i79.i, 1 | |
%368 = load i32, i32* %365, align 4, !noalias !195 | |
%369 = load i32, i32* %366, align 4, !alias.scope !198, !noalias !199 | |
%370 = xor i32 %369, -1 | |
%371 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %368, i32 %370) #16 | |
%372 = extractvalue { i32, i1 } %371, 0 | |
%373 = extractvalue { i32, i1 } %371, 1 | |
%374 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %372, i32 %noborrow.050.i78.i) #16 | |
%375 = extractvalue { i32, i1 } %374, 0 | |
%376 = extractvalue { i32, i1 } %374, 1 | |
%brmerge.i.i80.i = or i1 %373, %376 | |
store i32 %375, i32* %365, align 4, !noalias !195 | |
%377 = zext i1 %brmerge.i.i80.i to i32 | |
%378 = icmp ult i64 %367, %363 | |
br i1 %378, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i81.i", label %bb9.i82.i | |
bb9.i82.i: ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i81.i" | |
br i1 %brmerge.i.i80.i, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit84.i, label %bb12.i83.i | |
bb12.i83.i: ; preds = %bb9.i82.i | |
call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num6bignum8Big32x403sub14_MSG_FILE_LINE17he6988b9083a66661E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)), !noalias !200 | |
unreachable | |
_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit84.i: ; preds = %bb9.i82.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i77.i" | |
store i64 %_0.0.sroa.speculated.i.i.i.i.i45.i, i64* %39, align 8, !noalias !195 | |
%379 = add nsw i8 %d.1.i, 2 | |
br label %bb15.i | |
bb15.i: ; preds = %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit84.i, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit72.i | |
%380 = phi i64 [ %_0.0.sroa.speculated.i.i.i.i.i45.i, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit84.i ], [ %349, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit72.i ] | |
%d.2.i = phi i8 [ %379, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit84.i ], [ %d.1.i, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit72.i ] | |
%381 = load i64, i64* %66, align 8, !alias.scope !201, !noalias !208 | |
%382 = icmp uge i64 %381, %380 | |
%_0.0.sroa.speculated.i.i.i.i.i85.i = select i1 %382, i64 %381, i64 %380 | |
%383 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i.i.i85.i, 40 | |
br i1 %383, label %bb4.i.i.i3.i.i.i86.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i87.i" | |
bb4.i.i.i3.i.i.i86.i: ; preds = %bb15.i | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i.i.i85.i, i64 40), !noalias !212 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i87.i": ; preds = %bb15.i | |
%384 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i85.i | |
%385 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i85.i | |
br label %bb5.i.i.i.i90.i | |
bb5.i.i.i.i90.i: ; preds = %bb24.i.i.i.i107.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i87.i" | |
%self.sroa.4.0.i.i.i.i88.i = phi i32* [ %384, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i87.i" ], [ %self.sroa.4.1.i.i.i.i92.i, %bb24.i.i.i.i107.i ] | |
%other1.sroa.4.0.i.i.i.i89.i = phi i32* [ %385, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i87.i" ], [ %other1.sroa.4.1.i.i.i.i97.i, %bb24.i.i.i.i107.i ] | |
%386 = icmp eq i32* %self.sroa.4.0.i.i.i.i88.i, %279 | |
br i1 %386, label %bb6.i.i.i.i95.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i91.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i91.i": ; preds = %bb5.i.i.i.i90.i | |
%387 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i.i.i88.i, i64 -1 | |
%388 = load i32, i32* %387, align 4, !alias.scope !215, !noalias !220 | |
br label %bb6.i.i.i.i95.i | |
bb6.i.i.i.i95.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i91.i", %bb5.i.i.i.i90.i | |
%self.sroa.4.1.i.i.i.i92.i = phi i32* [ %279, %bb5.i.i.i.i90.i ], [ %387, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i91.i" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i.i.i93.i = phi i32 [ 0, %bb5.i.i.i.i90.i ], [ %388, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i91.i" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i.i.i94.i = phi i64 [ 0, %bb5.i.i.i.i90.i ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i91.i" ] | |
%389 = icmp eq i32* %other1.sroa.4.0.i.i.i.i89.i, %112 | |
br i1 %389, label %bb8.i.i.i.i101.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i96.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i96.i": ; preds = %bb6.i.i.i.i95.i | |
%390 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i.i.i89.i, i64 -1 | |
%391 = load i32, i32* %390, align 4, !alias.scope !224, !noalias !229 | |
br label %bb8.i.i.i.i101.i | |
bb8.i.i.i.i101.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i96.i", %bb6.i.i.i.i95.i | |
%other1.sroa.4.1.i.i.i.i97.i = phi i32* [ %112, %bb6.i.i.i.i95.i ], [ %390, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i96.i" ] | |
%_0.sroa.3.0.i.i.i.i.i.i.i.i98.i = phi i32 [ 0, %bb6.i.i.i.i95.i ], [ %391, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i96.i" ] | |
%_0.sroa.0.0.i.i.i.i.i.i.i.i99.i = phi i1 [ true, %bb6.i.i.i.i95.i ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i96.i" ] | |
%cond.i.i.i.i100.i = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i.i.i94.i, 0 | |
br i1 %cond.i.i.i.i100.i, label %bb14.i.i.i.i104.i, label %bb15.i.i.i.i105.i | |
bb14.i.i.i.i104.i: ; preds = %bb8.i.i.i.i101.i | |
%not.cond14.i.i.i.i102.i = xor i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i99.i, true | |
%..i.i.i.i103.i = sext i1 %not.cond14.i.i.i.i102.i to i64 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit112.i | |
bb15.i.i.i.i105.i: ; preds = %bb8.i.i.i.i101.i | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i99.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i117.i.loopexit", label %bb24.i.i.i.i107.i | |
bb24.i.i.i.i107.i: ; preds = %bb15.i.i.i.i105.i | |
%392 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i93.i, %_0.sroa.3.0.i.i.i.i.i.i.i.i98.i | |
br i1 %392, label %bb5.i.i.i.i90.i, label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit112.loopexit.i | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit112.loopexit.i: ; preds = %bb24.i.i.i.i107.i | |
%393 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i93.i, %_0.sroa.3.0.i.i.i.i.i.i.i.i98.i | |
%..i.i.i.i.i106.le.i = select i1 %393, i64 255, i64 1 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit112.i | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit112.i: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit112.loopexit.i, %bb14.i.i.i.i104.i | |
%_0.0.i.i.i.i108.i = phi i64 [ %..i.i.i.i103.i, %bb14.i.i.i.i104.i ], [ %..i.i.i.i.i106.le.i, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit112.loopexit.i ] | |
%abi_cast.sroa.4.0.extract.shift.i109.i = shl i64 %_0.0.i.i.i.i108.i, 56 | |
%sext.i110.i = ashr exact i64 %abi_cast.sroa.4.0.extract.shift.i109.i, 56 | |
%switch.i111.i = icmp ult i64 %sext.i110.i, 2 | |
br i1 %switch.i111.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i117.i", label %_ZN4core3num7flt2dec8strategy6dragon15div_rem_upto_1617h727601a82fdbd392E.exit | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i117.i.loopexit": ; preds = %bb15.i.i.i.i105.i | |
br label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i117.i" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i117.i": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i117.i.loopexit", %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit112.i | |
%.idx.i115.i = shl nuw i64 %_0.0.sroa.speculated.i.i.i.i.i85.i, 2 | |
%394 = sdiv i64 %.idx.i115.i, 4 | |
%.idx.off.i116.i = or i64 %.idx.i115.i, 3 | |
%395 = icmp ult i64 %.idx.off.i116.i, 7 | |
br i1 %395, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit124.i, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i121.i.preheader" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i121.i.preheader": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i117.i" | |
br label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i121.i" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i121.i": ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i121.i.preheader", %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i121.i" | |
%noborrow.050.i118.i = phi i32 [ %408, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i121.i" ], [ 1, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i121.i.preheader" ] | |
%iter.sroa.8.049.i119.i = phi i64 [ %398, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i121.i" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i121.i.preheader" ] | |
%396 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %iter.sroa.8.049.i119.i | |
%397 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2, i64 %iter.sroa.8.049.i119.i | |
%398 = add nuw i64 %iter.sroa.8.049.i119.i, 1 | |
%399 = load i32, i32* %396, align 4, !noalias !230 | |
%400 = load i32, i32* %397, align 4, !alias.scope !233, !noalias !234 | |
%401 = xor i32 %400, -1 | |
%402 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %399, i32 %401) #16 | |
%403 = extractvalue { i32, i1 } %402, 0 | |
%404 = extractvalue { i32, i1 } %402, 1 | |
%405 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %403, i32 %noborrow.050.i118.i) #16 | |
%406 = extractvalue { i32, i1 } %405, 0 | |
%407 = extractvalue { i32, i1 } %405, 1 | |
%brmerge.i.i120.i = or i1 %404, %407 | |
store i32 %406, i32* %396, align 4, !noalias !230 | |
%408 = zext i1 %brmerge.i.i120.i to i32 | |
%409 = icmp ult i64 %398, %394 | |
br i1 %409, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i121.i", label %bb9.i122.i | |
bb9.i122.i: ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i121.i" | |
br i1 %brmerge.i.i120.i, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit124.i, label %bb12.i123.i | |
bb12.i123.i: ; preds = %bb9.i122.i | |
call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num6bignum8Big32x403sub14_MSG_FILE_LINE17he6988b9083a66661E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)), !noalias !235 | |
unreachable | |
_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit124.i: ; preds = %bb9.i122.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i117.i" | |
store i64 %_0.0.sroa.speculated.i.i.i.i.i85.i, i64* %39, align 8, !noalias !230 | |
%410 = add nsw i8 %d.2.i, 1 | |
br label %_ZN4core3num7flt2dec8strategy6dragon15div_rem_upto_1617h727601a82fdbd392E.exit | |
_ZN4core3num7flt2dec8strategy6dragon15div_rem_upto_1617h727601a82fdbd392E.exit: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit112.i, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit124.i | |
%411 = phi i64 [ %_0.0.sroa.speculated.i.i.i.i.i85.i, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit124.i ], [ %380, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit112.i ] | |
%d.3.i = phi i8 [ %410, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit124.i ], [ %d.2.i, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit112.i ] | |
%412 = icmp ult i64 %i.0391, %3 | |
br i1 %412, label %bb58, label %panic, !prof !5 | |
bb58: ; preds = %_ZN4core3num7flt2dec8strategy6dragon15div_rem_upto_1617h727601a82fdbd392E.exit | |
%413 = getelementptr inbounds i8, i8* %2, i64 %i.0391 | |
%414 = add i8 %d.3.i, 48 | |
store i8 %414, i8* %413, align 1 | |
%415 = add i64 %i.0391, 1 | |
%416 = load i64, i64* %49, align 8, !alias.scope !236, !noalias !239 | |
%417 = icmp uge i64 %416, %411 | |
%_0.0.sroa.speculated.i.i.i106 = select i1 %417, i64 %416, i64 %411 | |
%418 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i106, 40 | |
br i1 %418, label %bb4.i.i.i3.i107, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i108" | |
bb4.i.i.i3.i107: ; preds = %bb58 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i106, i64 40), !noalias !241 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i108": ; preds = %bb58 | |
%419 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i106 | |
%420 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %minus, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i106 | |
br label %bb5.i.i111 | |
bb5.i.i111: ; preds = %bb24.i.i128, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i108" | |
%self.sroa.4.0.i.i109 = phi i32* [ %419, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i108" ], [ %self.sroa.4.1.i.i113, %bb24.i.i128 ] | |
%other1.sroa.4.0.i.i110 = phi i32* [ %420, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i108" ], [ %other1.sroa.4.1.i.i118, %bb24.i.i128 ] | |
%421 = icmp eq i32* %self.sroa.4.0.i.i109, %279 | |
br i1 %421, label %bb6.i.i116, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i112" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i112": ; preds = %bb5.i.i111 | |
%422 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i109, i64 -1 | |
%423 = load i32, i32* %422, align 4, !alias.scope !244, !noalias !249 | |
br label %bb6.i.i116 | |
bb6.i.i116: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i112", %bb5.i.i111 | |
%self.sroa.4.1.i.i113 = phi i32* [ %279, %bb5.i.i111 ], [ %422, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i112" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i114 = phi i32 [ 0, %bb5.i.i111 ], [ %423, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i112" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i115 = phi i64 [ 0, %bb5.i.i111 ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i112" ] | |
%424 = icmp eq i32* %other1.sroa.4.0.i.i110, %284 | |
br i1 %424, label %bb8.i.i122, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i117" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i117": ; preds = %bb6.i.i116 | |
%425 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i110, i64 -1 | |
%426 = load i32, i32* %425, align 4, !alias.scope !253, !noalias !258 | |
br label %bb8.i.i122 | |
bb8.i.i122: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i117", %bb6.i.i116 | |
%other1.sroa.4.1.i.i118 = phi i32* [ %284, %bb6.i.i116 ], [ %425, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i117" ] | |
%_0.sroa.3.0.i.i.i.i.i.i119 = phi i32 [ 0, %bb6.i.i116 ], [ %426, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i117" ] | |
%_0.sroa.0.0.i.i.i.i.i.i120 = phi i1 [ true, %bb6.i.i116 ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i117" ] | |
%cond.i.i121 = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i115, 0 | |
br i1 %cond.i.i121, label %bb14.i.i125, label %bb15.i.i126 | |
bb14.i.i125: ; preds = %bb8.i.i122 | |
%not.cond14.i.i123 = xor i1 %_0.sroa.0.0.i.i.i.i.i.i120, true | |
%..i.i124 = sext i1 %not.cond14.i.i123 to i8 | |
br label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit130" | |
bb15.i.i126: ; preds = %bb8.i.i122 | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i120, label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit130.loopexit", label %bb24.i.i128 | |
bb24.i.i128: ; preds = %bb15.i.i126 | |
%427 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i114, %_0.sroa.3.0.i.i.i.i.i.i119 | |
%428 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i114, %_0.sroa.3.0.i.i.i.i.i.i119 | |
%..i.i.i127 = select i1 %428, i8 -1, i8 1 | |
br i1 %427, label %bb5.i.i111, label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit130.loopexit" | |
"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit130.loopexit": ; preds = %bb24.i.i128, %bb15.i.i126 | |
%_0.0.i.i129.ph = phi i8 [ %..i.i.i127, %bb24.i.i128 ], [ 1, %bb15.i.i126 ] | |
br label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit130" | |
"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit130": ; preds = %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit130.loopexit", %bb14.i.i125 | |
%_0.0.i.i129 = phi i8 [ %..i.i124, %bb14.i.i125 ], [ %_0.0.i.i129.ph, %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit130.loopexit" ] | |
%429 = icmp slt i8 %_0.0.i.i129, %19 | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %285) | |
store i64 %411, i64* %286, align 8, !alias.scope !259, !noalias !262 | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %288, i8* %41, i64 160, i32 8, i1 false) #16, !alias.scope !264 | |
%430 = load i64, i64* %59, align 8, !alias.scope !265 | |
%431 = icmp uge i64 %430, %411 | |
%_0.0.sroa.speculated.i.i.i131 = select i1 %431, i64 %430, i64 %411 | |
%432 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i131, 40 | |
br i1 %432, label %bb4.i.i.i.i132, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i135" | |
bb4.i.i.i.i132: ; preds = %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit130" | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i131, i64 40), !noalias !268 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i135": ; preds = %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit130" | |
%.idx.i133 = shl nuw i64 %_0.0.sroa.speculated.i.i.i131, 2 | |
%433 = sdiv i64 %.idx.i133, 4 | |
%.idx.off.i134 = or i64 %.idx.i133, 3 | |
%434 = icmp ult i64 %.idx.off.i134, 7 | |
br i1 %434, label %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit146, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i139.preheader" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i139.preheader": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i135" | |
br label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i139" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i139": ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i139.preheader", %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i139" | |
%carry.055.i136 = phi i32 [ %446, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i139" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i139.preheader" ] | |
%iter.sroa.8.054.i137 = phi i64 [ %437, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i139" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i139.preheader" ] | |
%435 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_175, i64 0, i32 2, i64 %iter.sroa.8.054.i137 | |
%436 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %plus, i64 0, i32 2, i64 %iter.sroa.8.054.i137 | |
%437 = add nuw i64 %iter.sroa.8.054.i137, 1 | |
%438 = load i32, i32* %435, align 4, !noalias !265 | |
%439 = load i32, i32* %436, align 4, !alias.scope !265 | |
%440 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %438, i32 %439) #16 | |
%441 = extractvalue { i32, i1 } %440, 0 | |
%442 = extractvalue { i32, i1 } %440, 1 | |
%443 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %441, i32 %carry.055.i136) #16 | |
%444 = extractvalue { i32, i1 } %443, 0 | |
%445 = extractvalue { i32, i1 } %443, 1 | |
%brmerge.i.i138 = or i1 %442, %445 | |
store i32 %444, i32* %435, align 4, !noalias !265 | |
%446 = zext i1 %brmerge.i.i138 to i32 | |
%447 = icmp ult i64 %437, %433 | |
br i1 %447, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i139", label %bb9.i140 | |
bb9.i140: ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i139" | |
br i1 %brmerge.i.i138, label %bb12.i141, label %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit146 | |
bb12.i141: ; preds = %bb9.i140 | |
%448 = icmp ult i64 %_0.0.sroa.speculated.i.i.i131, 40 | |
br i1 %448, label %bb14.i142, label %panic.i145, !prof !5 | |
bb14.i142: ; preds = %bb12.i141 | |
%449 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_175, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i131 | |
store i32 1, i32* %449, align 4, !noalias !265 | |
%450 = add i64 %_0.0.sroa.speculated.i.i.i131, 1 | |
br label %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit146 | |
panic.i145: ; preds = %bb12.i141 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4F to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %_0.0.sroa.speculated.i.i.i131, i64 40), !noalias !265 | |
unreachable | |
_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit146: ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i135", %bb9.i140, %bb14.i142 | |
%sz.0.i143 = phi i64 [ %450, %bb14.i142 ], [ %_0.0.sroa.speculated.i.i.i131, %bb9.i140 ], [ %_0.0.sroa.speculated.i.i.i131, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i135" ] | |
store i64 %sz.0.i143, i64* %286, align 8, !noalias !265 | |
%451 = icmp uge i64 %sz.0.i143, %381 | |
%_0.0.sroa.speculated.i.i.i147 = select i1 %451, i64 %sz.0.i143, i64 %381 | |
%452 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i147, 40 | |
br i1 %452, label %bb4.i.i.i3.i148, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i149" | |
bb4.i.i.i3.i148: ; preds = %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit146 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i147, i64 40), !noalias !271 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i149": ; preds = %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit146 | |
%453 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i147 | |
%454 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_175, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i147 | |
br label %bb5.i.i152 | |
bb5.i.i152: ; preds = %bb24.i.i169, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i149" | |
%self.sroa.4.0.i.i150 = phi i32* [ %453, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i149" ], [ %self.sroa.4.1.i.i154, %bb24.i.i169 ] | |
%other1.sroa.4.0.i.i151 = phi i32* [ %454, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i149" ], [ %other1.sroa.4.1.i.i159, %bb24.i.i169 ] | |
%455 = icmp eq i32* %self.sroa.4.0.i.i150, %112 | |
br i1 %455, label %bb6.i.i157, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i153" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i153": ; preds = %bb5.i.i152 | |
%456 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i150, i64 -1 | |
%457 = load i32, i32* %456, align 4, !alias.scope !274, !noalias !281 | |
br label %bb6.i.i157 | |
bb6.i.i157: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i153", %bb5.i.i152 | |
%self.sroa.4.1.i.i154 = phi i32* [ %112, %bb5.i.i152 ], [ %456, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i153" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i155 = phi i32 [ 0, %bb5.i.i152 ], [ %457, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i153" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i156 = phi i64 [ 0, %bb5.i.i152 ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i153" ] | |
%458 = icmp eq i32* %other1.sroa.4.0.i.i151, %289 | |
br i1 %458, label %bb8.i.i163, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i158" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i158": ; preds = %bb6.i.i157 | |
%459 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i151, i64 -1 | |
%460 = load i32, i32* %459, align 4, !alias.scope !286, !noalias !291 | |
br label %bb8.i.i163 | |
bb8.i.i163: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i158", %bb6.i.i157 | |
%other1.sroa.4.1.i.i159 = phi i32* [ %289, %bb6.i.i157 ], [ %459, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i158" ] | |
%_0.sroa.3.0.i.i.i.i.i.i160 = phi i32 [ 0, %bb6.i.i157 ], [ %460, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i158" ] | |
%_0.sroa.0.0.i.i.i.i.i.i161 = phi i1 [ true, %bb6.i.i157 ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i158" ] | |
%cond.i.i162 = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i156, 0 | |
br i1 %cond.i.i162, label %bb14.i.i166, label %bb15.i.i167 | |
bb14.i.i166: ; preds = %bb8.i.i163 | |
%not.cond14.i.i164 = xor i1 %_0.sroa.0.0.i.i.i.i.i.i161, true | |
%..i.i165 = sext i1 %not.cond14.i.i164 to i8 | |
br label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit171" | |
bb15.i.i167: ; preds = %bb8.i.i163 | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i161, label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit171.loopexit", label %bb24.i.i169 | |
bb24.i.i169: ; preds = %bb15.i.i167 | |
%461 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i155, %_0.sroa.3.0.i.i.i.i.i.i160 | |
%462 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i155, %_0.sroa.3.0.i.i.i.i.i.i160 | |
%..i.i.i168 = select i1 %462, i8 -1, i8 1 | |
br i1 %461, label %bb5.i.i152, label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit171.loopexit" | |
"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit171.loopexit": ; preds = %bb24.i.i169, %bb15.i.i167 | |
%_0.0.i.i170.ph = phi i8 [ %..i.i.i168, %bb24.i.i169 ], [ 1, %bb15.i.i167 ] | |
br label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit171" | |
"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit171": ; preds = %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit171.loopexit", %bb14.i.i166 | |
%_0.0.i.i170 = phi i8 [ %..i.i165, %bb14.i.i166 ], [ %_0.0.i.i170.ph, %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit171.loopexit" ] | |
%463 = icmp slt i8 %_0.0.i.i170, %19 | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %285) | |
%.15 = or i1 %429, %463 | |
br i1 %.15, label %bb69, label %bb70 | |
bb69: ; preds = %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit171" | |
br i1 %463, label %bb76, label %bb91 | |
bb70: ; preds = %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit171" | |
%464 = icmp ugt i64 %411, 40 | |
br i1 %464, label %bb4.i.i.i.i172, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i173" | |
bb4.i.i.i.i172: ; preds = %bb70 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %411, i64 40), !noalias !292 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i173": ; preds = %bb70 | |
%465 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %411 | |
%466 = icmp eq i64 %411, 0 | |
br i1 %466, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit185, label %bb6.i180.preheader | |
bb6.i180.preheader: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i173" | |
%467 = shl i64 %411, 2 | |
%468 = add i64 %467, -4 | |
%469 = lshr exact i64 %468, 2 | |
%470 = add nuw nsw i64 %469, 1 | |
%xtraiter = and i64 %470, 3 | |
%lcmp.mod = icmp eq i64 %xtraiter, 0 | |
br i1 %lcmp.mod, label %bb6.i180.prol.loopexit, label %bb6.i180.prol.preheader | |
bb6.i180.prol.preheader: ; preds = %bb6.i180.preheader | |
br label %bb6.i180.prol | |
bb6.i180.prol: ; preds = %bb6.i180.prol, %bb6.i180.prol.preheader | |
%carry.020.i177.prol = phi i64 [ %476, %bb6.i180.prol ], [ 0, %bb6.i180.prol.preheader ] | |
%iter.sroa.0.019.i178.prol = phi i32* [ %471, %bb6.i180.prol ], [ %279, %bb6.i180.prol.preheader ] | |
%prol.iter = phi i64 [ %prol.iter.sub, %bb6.i180.prol ], [ %xtraiter, %bb6.i180.prol.preheader ] | |
%471 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i178.prol, i64 1 | |
%472 = load i32, i32* %iter.sroa.0.019.i178.prol, align 4 | |
%473 = zext i32 %472 to i64 | |
%474 = mul nuw nsw i64 %473, 10 | |
%475 = add nuw nsw i64 %474, %carry.020.i177.prol | |
%476 = lshr i64 %475, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i179.prol = trunc i64 %475 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i179.prol, i32* %iter.sroa.0.019.i178.prol, align 4 | |
%prol.iter.sub = add i64 %prol.iter, -1 | |
%prol.iter.cmp = icmp eq i64 %prol.iter.sub, 0 | |
br i1 %prol.iter.cmp, label %bb6.i180.prol.loopexit.unr-lcssa, label %bb6.i180.prol, !llvm.loop !295 | |
bb6.i180.prol.loopexit.unr-lcssa: ; preds = %bb6.i180.prol | |
br label %bb6.i180.prol.loopexit | |
bb6.i180.prol.loopexit: ; preds = %bb6.i180.preheader, %bb6.i180.prol.loopexit.unr-lcssa | |
%.lcssa.unr = phi i64 [ undef, %bb6.i180.preheader ], [ %476, %bb6.i180.prol.loopexit.unr-lcssa ] | |
%carry.020.i177.unr = phi i64 [ 0, %bb6.i180.preheader ], [ %476, %bb6.i180.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.019.i178.unr = phi i32* [ %279, %bb6.i180.preheader ], [ %471, %bb6.i180.prol.loopexit.unr-lcssa ] | |
%477 = icmp ult i64 %468, 12 | |
br i1 %477, label %bb5.i176, label %bb6.i180.preheader.new | |
bb6.i180.preheader.new: ; preds = %bb6.i180.prol.loopexit | |
br label %bb6.i180 | |
bb5.i176.unr-lcssa: ; preds = %bb6.i180 | |
br label %bb5.i176 | |
bb5.i176: ; preds = %bb6.i180.prol.loopexit, %bb5.i176.unr-lcssa | |
%.lcssa = phi i64 [ %.lcssa.unr, %bb6.i180.prol.loopexit ], [ %502, %bb5.i176.unr-lcssa ] | |
%abi_cast.sroa.0.0.extract.trunc.i175 = trunc i64 %.lcssa to i32 | |
%478 = icmp eq i32 %abi_cast.sroa.0.0.extract.trunc.i175, 0 | |
br i1 %478, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit185, label %bb8.i181 | |
bb6.i180: ; preds = %bb6.i180, %bb6.i180.preheader.new | |
%carry.020.i177 = phi i64 [ %carry.020.i177.unr, %bb6.i180.preheader.new ], [ %502, %bb6.i180 ] | |
%iter.sroa.0.019.i178 = phi i32* [ %iter.sroa.0.019.i178.unr, %bb6.i180.preheader.new ], [ %497, %bb6.i180 ] | |
%479 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i178, i64 1 | |
%480 = load i32, i32* %iter.sroa.0.019.i178, align 4 | |
%481 = zext i32 %480 to i64 | |
%482 = mul nuw nsw i64 %481, 10 | |
%483 = add nuw nsw i64 %482, %carry.020.i177 | |
%484 = lshr i64 %483, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i179 = trunc i64 %483 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i179, i32* %iter.sroa.0.019.i178, align 4 | |
%485 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i178, i64 2 | |
%486 = load i32, i32* %479, align 4 | |
%487 = zext i32 %486 to i64 | |
%488 = mul nuw nsw i64 %487, 10 | |
%489 = add nuw nsw i64 %488, %484 | |
%490 = lshr i64 %489, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i179.1 = trunc i64 %489 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i179.1, i32* %479, align 4 | |
%491 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i178, i64 3 | |
%492 = load i32, i32* %485, align 4 | |
%493 = zext i32 %492 to i64 | |
%494 = mul nuw nsw i64 %493, 10 | |
%495 = add nuw nsw i64 %494, %490 | |
%496 = lshr i64 %495, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i179.2 = trunc i64 %495 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i179.2, i32* %485, align 4 | |
%497 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i178, i64 4 | |
%498 = load i32, i32* %491, align 4 | |
%499 = zext i32 %498 to i64 | |
%500 = mul nuw nsw i64 %499, 10 | |
%501 = add nuw nsw i64 %500, %496 | |
%502 = lshr i64 %501, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i179.3 = trunc i64 %501 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i179.3, i32* %491, align 4 | |
%503 = icmp eq i32* %497, %465 | |
br i1 %503, label %bb5.i176.unr-lcssa, label %bb6.i180 | |
bb8.i181: ; preds = %bb5.i176 | |
%504 = icmp ult i64 %411, 40 | |
br i1 %504, label %bb10.i182, label %panic.i184, !prof !5 | |
bb10.i182: ; preds = %bb8.i181 | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i175, i32* %465, align 4 | |
%505 = add i64 %411, 1 | |
br label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit185 | |
panic.i184: ; preds = %bb8.i181 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4I to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %411, i64 40) | |
unreachable | |
_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit185: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i173", %bb5.i176, %bb10.i182 | |
%sz.0.i183 = phi i64 [ %505, %bb10.i182 ], [ %411, %bb5.i176 ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i173" ] | |
store i64 %sz.0.i183, i64* %39, align 8 | |
%506 = load i64, i64* %49, align 8 | |
%507 = icmp ugt i64 %506, 40 | |
br i1 %507, label %bb4.i.i.i.i42, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i43" | |
bb4.i.i.i.i42: ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit185 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %506, i64 40), !noalias !296 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i43": ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit185 | |
%508 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %minus, i64 0, i32 2, i64 %506 | |
%509 = icmp eq i64 %506, 0 | |
br i1 %509, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit55, label %bb6.i50.preheader | |
bb6.i50.preheader: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i43" | |
%510 = shl i64 %506, 2 | |
%511 = add i64 %510, -4 | |
%512 = lshr exact i64 %511, 2 | |
%513 = add nuw nsw i64 %512, 1 | |
%xtraiter1180 = and i64 %513, 3 | |
%lcmp.mod1181 = icmp eq i64 %xtraiter1180, 0 | |
br i1 %lcmp.mod1181, label %bb6.i50.prol.loopexit, label %bb6.i50.prol.preheader | |
bb6.i50.prol.preheader: ; preds = %bb6.i50.preheader | |
br label %bb6.i50.prol | |
bb6.i50.prol: ; preds = %bb6.i50.prol, %bb6.i50.prol.preheader | |
%carry.020.i47.prol = phi i64 [ %519, %bb6.i50.prol ], [ 0, %bb6.i50.prol.preheader ] | |
%iter.sroa.0.019.i48.prol = phi i32* [ %514, %bb6.i50.prol ], [ %284, %bb6.i50.prol.preheader ] | |
%prol.iter1182 = phi i64 [ %prol.iter1182.sub, %bb6.i50.prol ], [ %xtraiter1180, %bb6.i50.prol.preheader ] | |
%514 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i48.prol, i64 1 | |
%515 = load i32, i32* %iter.sroa.0.019.i48.prol, align 4 | |
%516 = zext i32 %515 to i64 | |
%517 = mul nuw nsw i64 %516, 10 | |
%518 = add nuw nsw i64 %517, %carry.020.i47.prol | |
%519 = lshr i64 %518, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i49.prol = trunc i64 %518 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i49.prol, i32* %iter.sroa.0.019.i48.prol, align 4 | |
%prol.iter1182.sub = add i64 %prol.iter1182, -1 | |
%prol.iter1182.cmp = icmp eq i64 %prol.iter1182.sub, 0 | |
br i1 %prol.iter1182.cmp, label %bb6.i50.prol.loopexit.unr-lcssa, label %bb6.i50.prol, !llvm.loop !299 | |
bb6.i50.prol.loopexit.unr-lcssa: ; preds = %bb6.i50.prol | |
br label %bb6.i50.prol.loopexit | |
bb6.i50.prol.loopexit: ; preds = %bb6.i50.preheader, %bb6.i50.prol.loopexit.unr-lcssa | |
%.lcssa1014.unr = phi i64 [ undef, %bb6.i50.preheader ], [ %519, %bb6.i50.prol.loopexit.unr-lcssa ] | |
%carry.020.i47.unr = phi i64 [ 0, %bb6.i50.preheader ], [ %519, %bb6.i50.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.019.i48.unr = phi i32* [ %284, %bb6.i50.preheader ], [ %514, %bb6.i50.prol.loopexit.unr-lcssa ] | |
%520 = icmp ult i64 %511, 12 | |
br i1 %520, label %bb5.i46, label %bb6.i50.preheader.new | |
bb6.i50.preheader.new: ; preds = %bb6.i50.prol.loopexit | |
br label %bb6.i50 | |
bb5.i46.unr-lcssa: ; preds = %bb6.i50 | |
br label %bb5.i46 | |
bb5.i46: ; preds = %bb6.i50.prol.loopexit, %bb5.i46.unr-lcssa | |
%.lcssa1014 = phi i64 [ %.lcssa1014.unr, %bb6.i50.prol.loopexit ], [ %545, %bb5.i46.unr-lcssa ] | |
%abi_cast.sroa.0.0.extract.trunc.i45 = trunc i64 %.lcssa1014 to i32 | |
%521 = icmp eq i32 %abi_cast.sroa.0.0.extract.trunc.i45, 0 | |
br i1 %521, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit55, label %bb8.i51 | |
bb6.i50: ; preds = %bb6.i50, %bb6.i50.preheader.new | |
%carry.020.i47 = phi i64 [ %carry.020.i47.unr, %bb6.i50.preheader.new ], [ %545, %bb6.i50 ] | |
%iter.sroa.0.019.i48 = phi i32* [ %iter.sroa.0.019.i48.unr, %bb6.i50.preheader.new ], [ %540, %bb6.i50 ] | |
%522 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i48, i64 1 | |
%523 = load i32, i32* %iter.sroa.0.019.i48, align 4 | |
%524 = zext i32 %523 to i64 | |
%525 = mul nuw nsw i64 %524, 10 | |
%526 = add nuw nsw i64 %525, %carry.020.i47 | |
%527 = lshr i64 %526, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i49 = trunc i64 %526 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i49, i32* %iter.sroa.0.019.i48, align 4 | |
%528 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i48, i64 2 | |
%529 = load i32, i32* %522, align 4 | |
%530 = zext i32 %529 to i64 | |
%531 = mul nuw nsw i64 %530, 10 | |
%532 = add nuw nsw i64 %531, %527 | |
%533 = lshr i64 %532, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i49.1 = trunc i64 %532 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i49.1, i32* %522, align 4 | |
%534 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i48, i64 3 | |
%535 = load i32, i32* %528, align 4 | |
%536 = zext i32 %535 to i64 | |
%537 = mul nuw nsw i64 %536, 10 | |
%538 = add nuw nsw i64 %537, %533 | |
%539 = lshr i64 %538, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i49.2 = trunc i64 %538 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i49.2, i32* %528, align 4 | |
%540 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i48, i64 4 | |
%541 = load i32, i32* %534, align 4 | |
%542 = zext i32 %541 to i64 | |
%543 = mul nuw nsw i64 %542, 10 | |
%544 = add nuw nsw i64 %543, %539 | |
%545 = lshr i64 %544, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i49.3 = trunc i64 %544 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i49.3, i32* %534, align 4 | |
%546 = icmp eq i32* %540, %508 | |
br i1 %546, label %bb5.i46.unr-lcssa, label %bb6.i50 | |
bb8.i51: ; preds = %bb5.i46 | |
%547 = icmp ult i64 %506, 40 | |
br i1 %547, label %bb10.i52, label %panic.i54, !prof !5 | |
bb10.i52: ; preds = %bb8.i51 | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i45, i32* %508, align 4 | |
%548 = add i64 %506, 1 | |
br label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit55 | |
panic.i54: ; preds = %bb8.i51 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4I to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %506, i64 40) | |
unreachable | |
_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit55: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i43", %bb5.i46, %bb10.i52 | |
%sz.0.i53 = phi i64 [ %548, %bb10.i52 ], [ %506, %bb5.i46 ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i43" ] | |
store i64 %sz.0.i53, i64* %49, align 8 | |
%549 = load i64, i64* %59, align 8 | |
%550 = icmp ugt i64 %549, 40 | |
br i1 %550, label %bb4.i.i.i.i, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i" | |
bb4.i.i.i.i: ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit55 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %549, i64 40), !noalias !300 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i": ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit55 | |
%551 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %plus, i64 0, i32 2, i64 %549 | |
%552 = icmp eq i64 %549, 0 | |
br i1 %552, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit, label %bb6.i.preheader | |
bb6.i.preheader: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i" | |
%553 = shl i64 %549, 2 | |
%554 = add i64 %553, -4 | |
%555 = lshr exact i64 %554, 2 | |
%556 = add nuw nsw i64 %555, 1 | |
%xtraiter1183 = and i64 %556, 3 | |
%lcmp.mod1184 = icmp eq i64 %xtraiter1183, 0 | |
br i1 %lcmp.mod1184, label %bb6.i.prol.loopexit, label %bb6.i.prol.preheader | |
bb6.i.prol.preheader: ; preds = %bb6.i.preheader | |
br label %bb6.i.prol | |
bb6.i.prol: ; preds = %bb6.i.prol, %bb6.i.prol.preheader | |
%carry.020.i.prol = phi i64 [ %562, %bb6.i.prol ], [ 0, %bb6.i.prol.preheader ] | |
%iter.sroa.0.019.i.prol = phi i32* [ %557, %bb6.i.prol ], [ %290, %bb6.i.prol.preheader ] | |
%prol.iter1185 = phi i64 [ %prol.iter1185.sub, %bb6.i.prol ], [ %xtraiter1183, %bb6.i.prol.preheader ] | |
%557 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i.prol, i64 1 | |
%558 = load i32, i32* %iter.sroa.0.019.i.prol, align 4 | |
%559 = zext i32 %558 to i64 | |
%560 = mul nuw nsw i64 %559, 10 | |
%561 = add nuw nsw i64 %560, %carry.020.i.prol | |
%562 = lshr i64 %561, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.prol = trunc i64 %561 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.prol, i32* %iter.sroa.0.019.i.prol, align 4 | |
%prol.iter1185.sub = add i64 %prol.iter1185, -1 | |
%prol.iter1185.cmp = icmp eq i64 %prol.iter1185.sub, 0 | |
br i1 %prol.iter1185.cmp, label %bb6.i.prol.loopexit.unr-lcssa, label %bb6.i.prol, !llvm.loop !303 | |
bb6.i.prol.loopexit.unr-lcssa: ; preds = %bb6.i.prol | |
br label %bb6.i.prol.loopexit | |
bb6.i.prol.loopexit: ; preds = %bb6.i.preheader, %bb6.i.prol.loopexit.unr-lcssa | |
%.lcssa1015.unr = phi i64 [ undef, %bb6.i.preheader ], [ %562, %bb6.i.prol.loopexit.unr-lcssa ] | |
%carry.020.i.unr = phi i64 [ 0, %bb6.i.preheader ], [ %562, %bb6.i.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.019.i.unr = phi i32* [ %290, %bb6.i.preheader ], [ %557, %bb6.i.prol.loopexit.unr-lcssa ] | |
%563 = icmp ult i64 %554, 12 | |
br i1 %563, label %bb5.i, label %bb6.i.preheader.new | |
bb6.i.preheader.new: ; preds = %bb6.i.prol.loopexit | |
br label %bb6.i | |
bb5.i.unr-lcssa: ; preds = %bb6.i | |
br label %bb5.i | |
bb5.i: ; preds = %bb6.i.prol.loopexit, %bb5.i.unr-lcssa | |
%.lcssa1015 = phi i64 [ %.lcssa1015.unr, %bb6.i.prol.loopexit ], [ %588, %bb5.i.unr-lcssa ] | |
%abi_cast.sroa.0.0.extract.trunc.i = trunc i64 %.lcssa1015 to i32 | |
%564 = icmp eq i32 %abi_cast.sroa.0.0.extract.trunc.i, 0 | |
br i1 %564, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit, label %bb8.i | |
bb6.i: ; preds = %bb6.i, %bb6.i.preheader.new | |
%carry.020.i = phi i64 [ %carry.020.i.unr, %bb6.i.preheader.new ], [ %588, %bb6.i ] | |
%iter.sroa.0.019.i = phi i32* [ %iter.sroa.0.019.i.unr, %bb6.i.preheader.new ], [ %583, %bb6.i ] | |
%565 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 1 | |
%566 = load i32, i32* %iter.sroa.0.019.i, align 4 | |
%567 = zext i32 %566 to i64 | |
%568 = mul nuw nsw i64 %567, 10 | |
%569 = add nuw nsw i64 %568, %carry.020.i | |
%570 = lshr i64 %569, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i = trunc i64 %569 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i, i32* %iter.sroa.0.019.i, align 4 | |
%571 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 2 | |
%572 = load i32, i32* %565, align 4 | |
%573 = zext i32 %572 to i64 | |
%574 = mul nuw nsw i64 %573, 10 | |
%575 = add nuw nsw i64 %574, %570 | |
%576 = lshr i64 %575, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.1 = trunc i64 %575 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.1, i32* %565, align 4 | |
%577 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 3 | |
%578 = load i32, i32* %571, align 4 | |
%579 = zext i32 %578 to i64 | |
%580 = mul nuw nsw i64 %579, 10 | |
%581 = add nuw nsw i64 %580, %576 | |
%582 = lshr i64 %581, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.2 = trunc i64 %581 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.2, i32* %571, align 4 | |
%583 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 4 | |
%584 = load i32, i32* %577, align 4 | |
%585 = zext i32 %584 to i64 | |
%586 = mul nuw nsw i64 %585, 10 | |
%587 = add nuw nsw i64 %586, %582 | |
%588 = lshr i64 %587, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.3 = trunc i64 %587 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.3, i32* %577, align 4 | |
%589 = icmp eq i32* %583, %551 | |
br i1 %589, label %bb5.i.unr-lcssa, label %bb6.i | |
bb8.i: ; preds = %bb5.i | |
%590 = icmp ult i64 %549, 40 | |
br i1 %590, label %bb10.i, label %panic.i, !prof !5 | |
bb10.i: ; preds = %bb8.i | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i, i32* %551, align 4 | |
%591 = add i64 %549, 1 | |
br label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit | |
panic.i: ; preds = %bb8.i | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4I to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %549, i64 40) | |
unreachable | |
_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i", %bb5.i, %bb10.i | |
%sz.0.i = phi i64 [ %591, %bb10.i ], [ %549, %bb5.i ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i" ] | |
store i64 %sz.0.i, i64* %59, align 8 | |
%592 = load i64, i64* %39, align 8, !alias.scope !88, !noalias !95 | |
%593 = load i64, i64* %272, align 8, !alias.scope !105, !noalias !106 | |
%594 = icmp uge i64 %593, %592 | |
%_0.0.sroa.speculated.i.i.i.i.i.i = select i1 %594, i64 %593, i64 %592 | |
%595 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i.i.i.i, 40 | |
br i1 %595, label %bb4.i.i.i3.i.i.i.i.loopexit, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i.i" | |
bb76: ; preds = %bb69 | |
br i1 %429, label %bb80, label %bb84 | |
bb80: ; preds = %bb76 | |
%596 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %mant, i64 1) | |
%597 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %596, i64 0, i32 0 | |
%598 = load i64, i64* %597, align 8, !alias.scope !304, !noalias !311 | |
%599 = load i64, i64* %66, align 8, !alias.scope !311, !noalias !304 | |
%600 = icmp uge i64 %599, %598 | |
%_0.0.sroa.speculated.i.i.i.i.i = select i1 %600, i64 %599, i64 %598 | |
%601 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %596, i64 0, i32 2, i64 0 | |
%602 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i.i.i, 40 | |
br i1 %602, label %bb4.i.i.i3.i.i.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i" | |
bb4.i.i.i3.i.i.i: ; preds = %bb80 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i.i.i, i64 40), !noalias !315 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i": ; preds = %bb80 | |
%603 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %596, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i | |
%604 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i | |
br label %bb5.i.i.i.i | |
bb5.i.i.i.i: ; preds = %bb24.i.i.i.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i" | |
%self.sroa.4.0.i.i.i.i = phi i32* [ %603, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i" ], [ %self.sroa.4.1.i.i.i.i, %bb24.i.i.i.i ] | |
%other1.sroa.4.0.i.i.i.i = phi i32* [ %604, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i" ], [ %other1.sroa.4.1.i.i.i.i, %bb24.i.i.i.i ] | |
%605 = icmp eq i32* %self.sroa.4.0.i.i.i.i, %601 | |
br i1 %605, label %bb6.i.i.i.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i": ; preds = %bb5.i.i.i.i | |
%606 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i.i.i, i64 -1 | |
%607 = load i32, i32* %606, align 4, !alias.scope !318, !noalias !323 | |
br label %bb6.i.i.i.i | |
bb6.i.i.i.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i", %bb5.i.i.i.i | |
%self.sroa.4.1.i.i.i.i = phi i32* [ %601, %bb5.i.i.i.i ], [ %606, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i.i.i = phi i32 [ 0, %bb5.i.i.i.i ], [ %607, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i.i.i = phi i64 [ 0, %bb5.i.i.i.i ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i" ] | |
%608 = icmp eq i32* %other1.sroa.4.0.i.i.i.i, %112 | |
br i1 %608, label %bb8.i.i.i.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i": ; preds = %bb6.i.i.i.i | |
%609 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i.i.i, i64 -1 | |
%610 = load i32, i32* %609, align 4, !alias.scope !327, !noalias !332 | |
br label %bb8.i.i.i.i | |
bb8.i.i.i.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i", %bb6.i.i.i.i | |
%other1.sroa.4.1.i.i.i.i = phi i32* [ %112, %bb6.i.i.i.i ], [ %609, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i" ] | |
%_0.sroa.3.0.i.i.i.i.i.i.i.i = phi i32 [ 0, %bb6.i.i.i.i ], [ %610, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i" ] | |
%_0.sroa.0.0.i.i.i.i.i.i.i.i = phi i1 [ true, %bb6.i.i.i.i ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i" ] | |
%cond.i.i.i.i = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i.i.i, 0 | |
br i1 %cond.i.i.i.i, label %bb14.i.i.i.i, label %bb15.i.i.i.i | |
bb14.i.i.i.i: ; preds = %bb8.i.i.i.i | |
%not.cond14.i.i.i.i = xor i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i, true | |
%..i.i.i.i = sext i1 %not.cond14.i.i.i.i to i64 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit | |
bb15.i.i.i.i: ; preds = %bb8.i.i.i.i | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i, label %bb84.loopexit, label %bb24.i.i.i.i | |
bb24.i.i.i.i: ; preds = %bb15.i.i.i.i | |
%611 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i, %_0.sroa.3.0.i.i.i.i.i.i.i.i | |
br i1 %611, label %bb5.i.i.i.i, label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.loopexit | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.loopexit: ; preds = %bb24.i.i.i.i | |
%612 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i, %_0.sroa.3.0.i.i.i.i.i.i.i.i | |
%..i.i.i.i.i.le = select i1 %612, i64 255, i64 1 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.loopexit, %bb14.i.i.i.i | |
%_0.0.i.i.i.i = phi i64 [ %..i.i.i.i, %bb14.i.i.i.i ], [ %..i.i.i.i.i.le, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.loopexit ] | |
%abi_cast.sroa.4.0.extract.shift.i = shl i64 %_0.0.i.i.i.i, 56 | |
%sext.i = ashr exact i64 %abi_cast.sroa.4.0.extract.shift.i, 56 | |
%switch.i = icmp ult i64 %sext.i, 2 | |
br i1 %switch.i, label %bb84, label %bb91 | |
bb84.loopexit: ; preds = %bb15.i.i.i.i | |
br label %bb84 | |
bb84: ; preds = %bb84.loopexit, %bb76, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit | |
%613 = call i16 @_ZN4core3num7flt2dec8round_up17h879a47796abb3549E(i8* nonnull %2, i64 %3, i64 %415) | |
%abi_cast.sroa.4.0.extract.shift = lshr i16 %613, 8 | |
%abi_cast.sroa.4.0.extract.trunc = trunc i16 %abi_cast.sroa.4.0.extract.shift to i8 | |
%614 = and i16 %613, 255 | |
%cond = icmp eq i16 %614, 1 | |
br i1 %cond, label %bb88, label %bb91 | |
bb88: ; preds = %bb84 | |
%615 = icmp ult i64 %415, %3 | |
br i1 %615, label %bb90, label %panic1, !prof !5 | |
bb90: ; preds = %bb88 | |
%616 = getelementptr inbounds i8, i8* %2, i64 %415 | |
store i8 %abi_cast.sroa.4.0.extract.trunc, i8* %616, align 1 | |
%617 = add i64 %i.0391, 2 | |
%618 = add i16 %k.0, 1 | |
br label %bb91 | |
bb91: ; preds = %bb69, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit, %bb90, %bb84 | |
%i.2 = phi i64 [ %617, %bb90 ], [ %415, %bb84 ], [ %415, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit ], [ %415, %bb69 ] | |
%k.2 = phi i16 [ %618, %bb90 ], [ %k.0, %bb84 ], [ %k.0, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit ], [ %k.0, %bb69 ] | |
%619 = getelementptr inbounds { i64, [0 x i8], i16, [6 x i8] }, { i64, [0 x i8], i16, [6 x i8] }* %0, i64 0, i32 0 | |
store i64 %i.2, i64* %619, align 8 | |
%620 = getelementptr inbounds { i64, [0 x i8], i16, [6 x i8] }, { i64, [0 x i8], i16, [6 x i8] }* %0, i64 0, i32 2 | |
store i16 %k.2, i16* %620, align 8 | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %270) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %264) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %259) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %62) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %52) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %42) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %31) | |
ret void | |
panic: ; preds = %_ZN4core3num7flt2dec8strategy6dragon15div_rem_upto_1617h727601a82fdbd392E.exit | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.3 to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %i.0391, i64 %3) | |
unreachable | |
panic1: ; preds = %bb88 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4 to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %415, i64 %3) | |
unreachable | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7flt2dec8strategy6dragon12format_exact17h915638fd5b738bf0E({ i64, [0 x i8], i16, [6 x i8] }* noalias nocapture sret dereferenceable(16), %"num::flt2dec::decoder::Decoded"* noalias nocapture readonly dereferenceable(32), i8* nonnull, i64, i16) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%base.i = alloca [40 x i32], align 4 | |
%scale8 = alloca %"num::bignum::Big32x40", align 8 | |
%scale4 = alloca %"num::bignum::Big32x40", align 8 | |
%scale2 = alloca %"num::bignum::Big32x40", align 8 | |
%_83 = alloca %"num::bignum::Big32x40", align 8 | |
%scale = alloca %"num::bignum::Big32x40", align 8 | |
%mant = alloca %"num::bignum::Big32x40", align 8 | |
%5 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 0 | |
%6 = load i64, i64* %5, align 8 | |
%7 = icmp eq i64 %6, 0 | |
br i1 %7, label %bb1, label %bb2 | |
bb1: ; preds = %start | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17ha445c8f94623a688E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb2: ; preds = %start | |
%8 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 2 | |
%9 = load i64, i64* %8, align 8 | |
%10 = icmp eq i64 %9, 0 | |
br i1 %10, label %bb3, label %bb4 | |
bb3: ; preds = %bb2 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17hc27d4d0aab357fbeE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb4: ; preds = %bb2 | |
%11 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 4 | |
%12 = load i64, i64* %11, align 8 | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %bb5, label %bb6 | |
bb5: ; preds = %bb4 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h776fea105bc781ffE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %bb4 | |
%14 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %6, i64 %12) #16 | |
%15 = extractvalue { i64, i1 } %14, 1 | |
br i1 %15, label %bb9, label %bb10 | |
bb9: ; preds = %bb6 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h143886f7836e23eaE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb10: ; preds = %bb6 | |
%16 = tail call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %6, i64 %9) #16 | |
%17 = extractvalue { i64, i1 } %16, 1 | |
br i1 %17, label %bb13, label %bb3.i44.preheader | |
bb13: ; preds = %bb10 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE17h69216136c606a806E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb3.i44.preheader: ; preds = %bb10 | |
%18 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 6 | |
%19 = load i16, i16* %18, align 2 | |
%20 = add i64 %6, -1 | |
%21 = tail call i64 @llvm.ctlz.i64(i64 %20, i1 false) #16 | |
%22 = sub nsw i64 64, %21 | |
%23 = sext i16 %19 to i64 | |
%24 = add nsw i64 %22, %23 | |
%25 = mul nsw i64 %24, 1292913986 | |
%26 = lshr i64 %25, 32 | |
%27 = trunc i64 %26 to i16 | |
%28 = bitcast %"num::bignum::Big32x40"* %mant to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %28) | |
%29 = bitcast [40 x i32]* %base.i to i8* | |
call void @llvm.lifetime.start(i64 160, i8* nonnull %29), !noalias !333 | |
call void @llvm.memset.p0i8.i64(i8* nonnull %29, i8 0, i64 160, i32 4, i1 false), !noalias !333 | |
br label %bb3.i44 | |
bb3.i44: ; preds = %bb3.i44.preheader, %bb4.i | |
%v.011.i = phi i64 [ %33, %bb4.i ], [ %6, %bb3.i44.preheader ] | |
%sz.010.i = phi i64 [ %34, %bb4.i ], [ 0, %bb3.i44.preheader ] | |
%30 = icmp ult i64 %sz.010.i, 40 | |
br i1 %30, label %bb4.i, label %panic.i, !prof !5 | |
bb4.i: ; preds = %bb3.i44 | |
%31 = getelementptr inbounds [40 x i32], [40 x i32]* %base.i, i64 0, i64 %sz.010.i | |
%32 = trunc i64 %v.011.i to i32 | |
store i32 %32, i32* %31, align 4, !noalias !333 | |
%33 = lshr i64 %v.011.i, 32 | |
%34 = add nuw nsw i64 %sz.010.i, 1 | |
%35 = icmp eq i64 %33, 0 | |
br i1 %35, label %_ZN4core3num6bignum8Big32x408from_u6417h7ac65617bdfe7160E.exit, label %bb3.i44 | |
panic.i: ; preds = %bb3.i44 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4B to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %sz.010.i, i64 40), !noalias !333 | |
unreachable | |
_ZN4core3num6bignum8Big32x408from_u6417h7ac65617bdfe7160E.exit: ; preds = %bb4.i | |
%36 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 0 | |
store i64 %34, i64* %36, align 8, !alias.scope !333 | |
%37 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2 | |
%38 = bitcast [40 x i32]* %37 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %38, i8* nonnull %29, i64 160, i32 4, i1 false) | |
call void @llvm.lifetime.end(i64 160, i8* nonnull %29), !noalias !333 | |
%39 = bitcast %"num::bignum::Big32x40"* %scale to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %39) | |
call void @llvm.lifetime.start(i64 160, i8* nonnull %29) #16, !noalias !336 | |
%40 = getelementptr inbounds [40 x i32], [40 x i32]* %base.i, i64 0, i64 0 | |
%41 = getelementptr inbounds [40 x i32], [40 x i32]* %base.i, i64 0, i64 1 | |
%42 = bitcast i32* %41 to i8* | |
call void @llvm.memset.p0i8.i64(i8* nonnull %42, i8 0, i64 156, i32 4, i1 false) #16, !noalias !336 | |
store i32 1, i32* %40, align 4, !noalias !336 | |
%43 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 0 | |
store i64 1, i64* %43, align 8, !alias.scope !336 | |
%44 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2 | |
%45 = bitcast [40 x i32]* %44 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %45, i8* nonnull %29, i64 160, i32 4, i1 false) #16 | |
call void @llvm.lifetime.end(i64 160, i8* nonnull %29) #16, !noalias !336 | |
%46 = icmp slt i16 %19, 0 | |
br i1 %46, label %bb18, label %bb19 | |
bb18: ; preds = %_ZN4core3num6bignum8Big32x408from_u6417h7ac65617bdfe7160E.exit | |
%47 = sub i16 0, %19 | |
%48 = sext i16 %47 to i64 | |
%49 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %scale, i64 %48) | |
br label %bb22 | |
bb19: ; preds = %_ZN4core3num6bignum8Big32x408from_u6417h7ac65617bdfe7160E.exit | |
%50 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %mant, i64 %23) | |
br label %bb22 | |
bb22: ; preds = %bb19, %bb18 | |
%51 = icmp sgt i16 %27, -1 | |
br i1 %51, label %bb23, label %bb24 | |
bb23: ; preds = %bb22 | |
%sext286 = shl i64 %26, 48 | |
%52 = ashr exact i64 %sext286, 48 | |
%53 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hb60ad3477bd5a2b3E(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %scale, i64 %52) | |
br label %bb27 | |
bb24: ; preds = %bb22 | |
%54 = sub nsw i64 0, %26 | |
%sext = shl i64 %54, 48 | |
%55 = ashr exact i64 %sext, 48 | |
%56 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hb60ad3477bd5a2b3E(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %mant, i64 %55) | |
br label %bb27 | |
bb27: ; preds = %bb24, %bb23 | |
%57 = bitcast %"num::bignum::Big32x40"* %_83 to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %57) | |
%58 = load i64, i64* %43, align 8, !alias.scope !339, !noalias !342 | |
%59 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_83, i64 0, i32 0 | |
store i64 %58, i64* %59, align 8, !alias.scope !342, !noalias !339 | |
%60 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_83, i64 0, i32 2 | |
%61 = bitcast [40 x i32]* %60 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %61, i8* %45, i64 160, i32 8, i1 false) #16, !alias.scope !344 | |
%62 = icmp ugt i64 %3, 9 | |
%63 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_83, i64 0, i32 2, i64 0 | |
br i1 %62, label %bb2.i.i.preheader, label %bb7.i | |
bb2.i.i.preheader: ; preds = %bb27 | |
%64 = icmp ugt i64 %58, 40 | |
br i1 %64, label %bb4.i.i.i.i.i, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i.i.preheader" | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i.i.preheader": ; preds = %bb2.i.i.preheader | |
br label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i.i" | |
bb4.i.i.i.i.i.loopexit: ; preds = %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.bb2.i.i_crit_edge | |
br label %bb4.i.i.i.i.i | |
bb4.i.i.i.i.i: ; preds = %bb4.i.i.i.i.i.loopexit, %bb2.i.i.preheader | |
%.lcssa665 = phi i64 [ %58, %bb2.i.i.preheader ], [ %.pre, %bb4.i.i.i.i.i.loopexit ] | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %.lcssa665, i64 40), !noalias !345 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i.i": ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i.i.preheader", %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.bb2.i.i_crit_edge | |
%n.020.i669 = phi i64 [ %92, %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.bb2.i.i_crit_edge ], [ %3, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i.i.preheader" ] | |
%65 = phi i64 [ %.pre, %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.bb2.i.i_crit_edge ], [ %58, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i.i.preheader" ] | |
%66 = icmp eq i64 %65, 0 | |
br i1 %66, label %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i, label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i.i" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i.i": ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i.i" | |
%67 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_83, i64 0, i32 2, i64 %65 | |
%68 = shl i64 %65, 2 | |
%69 = add i64 %68, -4 | |
%70 = lshr exact i64 %69, 2 | |
%71 = and i64 %70, 1 | |
%lcmp.mod770 = icmp eq i64 %71, 0 | |
br i1 %lcmp.mod770, label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol.preheader", label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol.loopexit.unr-lcssa" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol.preheader": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i.i" | |
br label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol.preheader" | |
%72 = getelementptr inbounds i32, i32* %67, i64 -1 | |
%73 = load i32, i32* %72, align 4, !noalias !350 | |
%div771 = udiv i32 %73, 1000000000 | |
%74 = urem i32 %73, 1000000000 | |
%75 = zext i32 %74 to i64 | |
store i32 %div771, i32* %72, align 4, !noalias !350 | |
br label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol.loopexit.unr-lcssa" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol.loopexit.unr-lcssa": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i.i", %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol" | |
%borrow.034.i.i.unr.ph = phi i64 [ %75, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol" ], [ 0, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i.i" ] | |
%iter.sroa.4.033.i.i.unr.ph = phi i32* [ %72, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol" ], [ %67, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i.i" ] | |
br label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol.loopexit" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol.loopexit": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol.loopexit.unr-lcssa" | |
%76 = icmp eq i64 %70, 0 | |
br i1 %76, label %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.loopexit, label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i.i.new" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i.i.new": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol.loopexit" | |
br label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i", %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i.i.new" | |
%borrow.034.i.i = phi i64 [ %borrow.034.i.i.unr.ph, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i.i.new" ], [ %90, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i" ] | |
%iter.sroa.4.033.i.i = phi i32* [ %iter.sroa.4.033.i.i.unr.ph, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i.i.new" ], [ %84, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i" ] | |
%77 = getelementptr inbounds i32, i32* %iter.sroa.4.033.i.i, i64 -1 | |
%78 = load i32, i32* %77, align 4, !noalias !350 | |
%79 = shl nuw nsw i64 %borrow.034.i.i, 32 | |
%80 = zext i32 %78 to i64 | |
%81 = or i64 %80, %79 | |
%82 = udiv i64 %81, 1000000000 | |
%83 = urem i64 %81, 1000000000 | |
%abi_cast.sroa.0.0.extract.trunc.i.i = trunc i64 %82 to i32 | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i.i, i32* %77, align 4, !noalias !350 | |
%84 = getelementptr inbounds i32, i32* %iter.sroa.4.033.i.i, i64 -2 | |
%85 = load i32, i32* %84, align 4, !noalias !350 | |
%86 = shl nuw nsw i64 %83, 32 | |
%87 = zext i32 %85 to i64 | |
%88 = or i64 %87, %86 | |
%89 = udiv i64 %88, 1000000000 | |
%90 = urem i64 %88, 1000000000 | |
%abi_cast.sroa.0.0.extract.trunc.i.i.1 = trunc i64 %89 to i32 | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i.i.1, i32* %84, align 4, !noalias !350 | |
%91 = icmp eq i32* %84, %63 | |
br i1 %91, label %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.loopexit.unr-lcssa, label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i" | |
_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.loopexit.unr-lcssa: ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i" | |
br label %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.loopexit | |
_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.loopexit: ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i.i.prol.loopexit", %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.loopexit.unr-lcssa | |
br label %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i | |
_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i: ; preds = %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.loopexit, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i.i" | |
%92 = add i64 %n.020.i669, -9 | |
%93 = icmp ugt i64 %92, 9 | |
%.pre = load i64, i64* %59, align 8 | |
br i1 %93, label %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.bb2.i.i_crit_edge, label %bb7.i.loopexit | |
_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i.bb2.i.i_crit_edge: ; preds = %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i | |
%94 = icmp ugt i64 %.pre, 40 | |
br i1 %94, label %bb4.i.i.i.i.i.loopexit, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i.i" | |
bb7.i.loopexit: ; preds = %_ZN4core3num6bignum8Big32x4013div_rem_small17h6ef0cfeb0b66e0b7E.exit.i | |
br label %bb7.i | |
bb7.i: ; preds = %bb7.i.loopexit, %bb27 | |
%95 = phi i64 [ %58, %bb27 ], [ %.pre, %bb7.i.loopexit ] | |
%n.0.lcssa.i = phi i64 [ %3, %bb27 ], [ %92, %bb7.i.loopexit ] | |
%96 = getelementptr inbounds [10 x i32], [10 x i32]* @_ZN4core3num7flt2dec8strategy6dragon8TWOPOW1017h6c98a5ff94e6485fE, i64 0, i64 %n.0.lcssa.i | |
%97 = load i32, i32* %96, align 4 | |
%98 = icmp ugt i64 %95, 40 | |
br i1 %98, label %bb4.i.i.i.i8.i, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i9.i" | |
bb4.i.i.i.i8.i: ; preds = %bb7.i | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %95, i64 40), !noalias !351 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i9.i": ; preds = %bb7.i | |
%99 = icmp eq i64 %95, 0 | |
br i1 %99, label %_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit, label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i10.i" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i10.i": ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i9.i" | |
%100 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_83, i64 0, i32 2, i64 %95 | |
%101 = zext i32 %97 to i64 | |
%102 = shl i64 %95, 2 | |
%103 = add i64 %102, -4 | |
%104 = lshr exact i64 %103, 2 | |
%105 = and i64 %104, 1 | |
%lcmp.mod768 = icmp eq i64 %105, 0 | |
br i1 %lcmp.mod768, label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol.preheader", label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol.loopexit" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol.preheader": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i10.i" | |
br label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol.preheader" | |
%106 = getelementptr inbounds i32, i32* %100, i64 -1 | |
%107 = load i32, i32* %106, align 4, !noalias !356 | |
%div = udiv i32 %107, %97 | |
%108 = urem i32 %107, %97 | |
%109 = zext i32 %108 to i64 | |
store i32 %div, i32* %106, align 4, !noalias !356 | |
br label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol.loopexit" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol.loopexit": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol", %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i10.i" | |
%borrow.034.i11.i.unr = phi i64 [ 0, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i10.i" ], [ %109, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol" ] | |
%iter.sroa.4.033.i12.i.unr = phi i32* [ %100, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i10.i" ], [ %106, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol" ] | |
%110 = icmp eq i64 %104, 0 | |
br i1 %110, label %_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit.loopexit, label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i10.i.new" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i10.i.new": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol.loopexit" | |
br label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i", %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i10.i.new" | |
%borrow.034.i11.i = phi i64 [ %borrow.034.i11.i.unr, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i10.i.new" ], [ %124, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i" ] | |
%iter.sroa.4.033.i12.i = phi i32* [ %iter.sroa.4.033.i12.i.unr, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.lr.ph.i10.i.new" ], [ %118, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i" ] | |
%111 = getelementptr inbounds i32, i32* %iter.sroa.4.033.i12.i, i64 -1 | |
%112 = load i32, i32* %111, align 4, !noalias !356 | |
%113 = shl i64 %borrow.034.i11.i, 32 | |
%114 = zext i32 %112 to i64 | |
%115 = or i64 %114, %113 | |
%116 = udiv i64 %115, %101 | |
%117 = urem i64 %115, %101 | |
%abi_cast.sroa.0.0.extract.trunc.i13.i = trunc i64 %116 to i32 | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i13.i, i32* %111, align 4, !noalias !356 | |
%118 = getelementptr inbounds i32, i32* %iter.sroa.4.033.i12.i, i64 -2 | |
%119 = load i32, i32* %118, align 4, !noalias !356 | |
%120 = shl nuw i64 %117, 32 | |
%121 = zext i32 %119 to i64 | |
%122 = or i64 %121, %120 | |
%123 = udiv i64 %122, %101 | |
%124 = urem i64 %122, %101 | |
%abi_cast.sroa.0.0.extract.trunc.i13.i.1 = trunc i64 %123 to i32 | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i13.i.1, i32* %118, align 4, !noalias !356 | |
%125 = icmp eq i32* %118, %63 | |
br i1 %125, label %_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit.loopexit.unr-lcssa, label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i" | |
_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit.loopexit.unr-lcssa: ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i" | |
br label %_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit.loopexit | |
_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit.loopexit: ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h6476b8b1df2c494dE.exit.i14.i.prol.loopexit", %_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit.loopexit.unr-lcssa | |
%.pre486 = load i64, i64* %59, align 8, !noalias !357 | |
br label %_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit | |
_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit: ; preds = %_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit.loopexit, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i9.i" | |
%126 = phi i64 [ %.pre486, %_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit.loopexit ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i9.i" ] | |
%127 = load i64, i64* %36, align 8, !alias.scope !357 | |
%128 = icmp uge i64 %127, %126 | |
%_0.0.sroa.speculated.i.i.i61 = select i1 %128, i64 %127, i64 %126 | |
%129 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i61, 40 | |
br i1 %129, label %bb4.i.i.i.i62, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i63" | |
bb4.i.i.i.i62: ; preds = %_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i61, i64 40), !noalias !360 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i63": ; preds = %_ZN4core3num7flt2dec8strategy6dragon10div_2pow1017h93cb3cd3567279b2E.exit | |
%.idx.i = shl nuw i64 %_0.0.sroa.speculated.i.i.i61, 2 | |
%130 = sdiv i64 %.idx.i, 4 | |
%.idx.off.i = or i64 %.idx.i, 3 | |
%131 = icmp ult i64 %.idx.off.i, 7 | |
br i1 %131, label %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.preheader" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.preheader": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i63" | |
br label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i": ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.preheader", %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i" | |
%carry.055.i = phi i32 [ %143, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.preheader" ] | |
%iter.sroa.8.054.i = phi i64 [ %134, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i.preheader" ] | |
%132 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_83, i64 0, i32 2, i64 %iter.sroa.8.054.i | |
%133 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %iter.sroa.8.054.i | |
%134 = add nuw i64 %iter.sroa.8.054.i, 1 | |
%135 = load i32, i32* %132, align 4, !noalias !357 | |
%136 = load i32, i32* %133, align 4, !alias.scope !357 | |
%137 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %135, i32 %136) #16 | |
%138 = extractvalue { i32, i1 } %137, 0 | |
%139 = extractvalue { i32, i1 } %137, 1 | |
%140 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %138, i32 %carry.055.i) #16 | |
%141 = extractvalue { i32, i1 } %140, 0 | |
%142 = extractvalue { i32, i1 } %140, 1 | |
%brmerge.i.i = or i1 %139, %142 | |
store i32 %141, i32* %132, align 4, !noalias !357 | |
%143 = zext i1 %brmerge.i.i to i32 | |
%144 = icmp ult i64 %134, %130 | |
br i1 %144, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i", label %bb9.i | |
bb9.i: ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i" | |
br i1 %brmerge.i.i, label %bb12.i, label %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit | |
bb12.i: ; preds = %bb9.i | |
%145 = icmp ult i64 %_0.0.sroa.speculated.i.i.i61, 40 | |
br i1 %145, label %bb14.i, label %panic.i65, !prof !5 | |
bb14.i: ; preds = %bb12.i | |
%146 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_83, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i61 | |
store i32 1, i32* %146, align 4, !noalias !357 | |
%147 = add i64 %_0.0.sroa.speculated.i.i.i61, 1 | |
br label %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit | |
panic.i65: ; preds = %bb12.i | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4F to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %_0.0.sroa.speculated.i.i.i61, i64 40), !noalias !357 | |
unreachable | |
_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit: ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i63", %bb9.i, %bb14.i | |
%sz.0.i64 = phi i64 [ %147, %bb14.i ], [ %_0.0.sroa.speculated.i.i.i61, %bb9.i ], [ %_0.0.sroa.speculated.i.i.i61, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i63" ] | |
store i64 %sz.0.i64, i64* %59, align 8, !noalias !357 | |
%148 = load i64, i64* %43, align 8, !alias.scope !363, !noalias !370 | |
%149 = icmp uge i64 %148, %sz.0.i64 | |
%_0.0.sroa.speculated.i.i.i.i.i = select i1 %149, i64 %148, i64 %sz.0.i64 | |
%150 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i.i.i, 40 | |
br i1 %150, label %bb4.i.i.i3.i.i.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i" | |
bb4.i.i.i3.i.i.i: ; preds = %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i.i.i, i64 40), !noalias !374 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i": ; preds = %_ZN4core3num6bignum8Big32x403add17hd2197a50c071fcf3E.exit | |
%151 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %_83, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i | |
%152 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2, i64 0 | |
%153 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i | |
br label %bb5.i.i.i.i | |
bb5.i.i.i.i: ; preds = %bb24.i.i.i.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i" | |
%self.sroa.4.0.i.i.i.i = phi i32* [ %151, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i" ], [ %self.sroa.4.1.i.i.i.i, %bb24.i.i.i.i ] | |
%other1.sroa.4.0.i.i.i.i = phi i32* [ %153, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i" ], [ %other1.sroa.4.1.i.i.i.i, %bb24.i.i.i.i ] | |
%154 = icmp eq i32* %self.sroa.4.0.i.i.i.i, %63 | |
br i1 %154, label %bb6.i.i.i.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i": ; preds = %bb5.i.i.i.i | |
%155 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i.i.i, i64 -1 | |
%156 = load i32, i32* %155, align 4, !alias.scope !377, !noalias !382 | |
br label %bb6.i.i.i.i | |
bb6.i.i.i.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i", %bb5.i.i.i.i | |
%self.sroa.4.1.i.i.i.i = phi i32* [ %63, %bb5.i.i.i.i ], [ %155, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i.i.i = phi i32 [ 0, %bb5.i.i.i.i ], [ %156, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i.i.i = phi i64 [ 0, %bb5.i.i.i.i ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i" ] | |
%157 = icmp eq i32* %other1.sroa.4.0.i.i.i.i, %152 | |
br i1 %157, label %bb8.i.i.i.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i": ; preds = %bb6.i.i.i.i | |
%158 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i.i.i, i64 -1 | |
%159 = load i32, i32* %158, align 4, !alias.scope !386, !noalias !391 | |
br label %bb8.i.i.i.i | |
bb8.i.i.i.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i", %bb6.i.i.i.i | |
%other1.sroa.4.1.i.i.i.i = phi i32* [ %152, %bb6.i.i.i.i ], [ %158, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i" ] | |
%_0.sroa.3.0.i.i.i.i.i.i.i.i = phi i32 [ 0, %bb6.i.i.i.i ], [ %159, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i" ] | |
%_0.sroa.0.0.i.i.i.i.i.i.i.i = phi i1 [ true, %bb6.i.i.i.i ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i" ] | |
%cond.i.i.i.i = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i.i.i, 0 | |
br i1 %cond.i.i.i.i, label %bb14.i.i.i.i, label %bb15.i.i.i.i | |
bb14.i.i.i.i: ; preds = %bb8.i.i.i.i | |
%not.cond14.i.i.i.i = xor i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i, true | |
%..i.i.i.i = sext i1 %not.cond14.i.i.i.i to i64 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit | |
bb15.i.i.i.i: ; preds = %bb8.i.i.i.i | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i, label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.thread, label %bb24.i.i.i.i | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.thread: ; preds = %bb15.i.i.i.i | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %57) | |
br label %bb33 | |
bb24.i.i.i.i: ; preds = %bb15.i.i.i.i | |
%160 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i, %_0.sroa.3.0.i.i.i.i.i.i.i.i | |
br i1 %160, label %bb5.i.i.i.i, label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.loopexit | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.loopexit: ; preds = %bb24.i.i.i.i | |
%161 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i, %_0.sroa.3.0.i.i.i.i.i.i.i.i | |
%..i.i.i.i.i.le = select i1 %161, i64 255, i64 1 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.loopexit, %bb14.i.i.i.i | |
%_0.0.i.i.i.i = phi i64 [ %..i.i.i.i, %bb14.i.i.i.i ], [ %..i.i.i.i.i.le, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.loopexit ] | |
%abi_cast.sroa.4.0.extract.shift.i = shl i64 %_0.0.i.i.i.i, 56 | |
%sext.i = ashr exact i64 %abi_cast.sroa.4.0.extract.shift.i, 56 | |
%switch.i = icmp ult i64 %sext.i, 2 | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %57) | |
br i1 %switch.i, label %bb33, label %bb34 | |
bb33: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit.thread, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit | |
%162 = add i16 %27, 1 | |
br label %bb36 | |
bb34: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit | |
%163 = icmp ugt i64 %127, 40 | |
br i1 %163, label %bb4.i.i.i.i67, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i68" | |
bb4.i.i.i.i67: ; preds = %bb34 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %127, i64 40), !noalias !392 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i68": ; preds = %bb34 | |
%164 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %127 | |
%165 = icmp eq i64 %127, 0 | |
br i1 %165, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit80, label %bb6.lr.ph.i69 | |
bb6.lr.ph.i69: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i68" | |
%166 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 0 | |
%167 = shl i64 %127, 2 | |
%168 = add i64 %167, -4 | |
%169 = lshr exact i64 %168, 2 | |
%170 = add nuw nsw i64 %169, 1 | |
%xtraiter764 = and i64 %170, 3 | |
%lcmp.mod765 = icmp eq i64 %xtraiter764, 0 | |
br i1 %lcmp.mod765, label %bb6.i75.prol.loopexit, label %bb6.i75.prol.preheader | |
bb6.i75.prol.preheader: ; preds = %bb6.lr.ph.i69 | |
br label %bb6.i75.prol | |
bb6.i75.prol: ; preds = %bb6.i75.prol, %bb6.i75.prol.preheader | |
%carry.020.i72.prol = phi i64 [ 0, %bb6.i75.prol.preheader ], [ %176, %bb6.i75.prol ] | |
%iter.sroa.0.019.i73.prol = phi i32* [ %166, %bb6.i75.prol.preheader ], [ %171, %bb6.i75.prol ] | |
%prol.iter766 = phi i64 [ %xtraiter764, %bb6.i75.prol.preheader ], [ %prol.iter766.sub, %bb6.i75.prol ] | |
%171 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i73.prol, i64 1 | |
%172 = load i32, i32* %iter.sroa.0.019.i73.prol, align 4 | |
%173 = zext i32 %172 to i64 | |
%174 = mul nuw nsw i64 %173, 10 | |
%175 = add nuw nsw i64 %174, %carry.020.i72.prol | |
%176 = lshr i64 %175, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i74.prol = trunc i64 %175 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i74.prol, i32* %iter.sroa.0.019.i73.prol, align 4 | |
%prol.iter766.sub = add i64 %prol.iter766, -1 | |
%prol.iter766.cmp = icmp eq i64 %prol.iter766.sub, 0 | |
br i1 %prol.iter766.cmp, label %bb6.i75.prol.loopexit.unr-lcssa, label %bb6.i75.prol, !llvm.loop !395 | |
bb6.i75.prol.loopexit.unr-lcssa: ; preds = %bb6.i75.prol | |
br label %bb6.i75.prol.loopexit | |
bb6.i75.prol.loopexit: ; preds = %bb6.lr.ph.i69, %bb6.i75.prol.loopexit.unr-lcssa | |
%.lcssa749.unr = phi i64 [ undef, %bb6.lr.ph.i69 ], [ %176, %bb6.i75.prol.loopexit.unr-lcssa ] | |
%carry.020.i72.unr = phi i64 [ 0, %bb6.lr.ph.i69 ], [ %176, %bb6.i75.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.019.i73.unr = phi i32* [ %166, %bb6.lr.ph.i69 ], [ %171, %bb6.i75.prol.loopexit.unr-lcssa ] | |
%177 = icmp ult i64 %168, 12 | |
br i1 %177, label %bb5.i71, label %bb6.lr.ph.i69.new | |
bb6.lr.ph.i69.new: ; preds = %bb6.i75.prol.loopexit | |
br label %bb6.i75 | |
bb5.i71.unr-lcssa: ; preds = %bb6.i75 | |
br label %bb5.i71 | |
bb5.i71: ; preds = %bb6.i75.prol.loopexit, %bb5.i71.unr-lcssa | |
%.lcssa749 = phi i64 [ %.lcssa749.unr, %bb6.i75.prol.loopexit ], [ %202, %bb5.i71.unr-lcssa ] | |
%abi_cast.sroa.0.0.extract.trunc.i70 = trunc i64 %.lcssa749 to i32 | |
%178 = icmp eq i32 %abi_cast.sroa.0.0.extract.trunc.i70, 0 | |
br i1 %178, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit80, label %bb8.i76 | |
bb6.i75: ; preds = %bb6.i75, %bb6.lr.ph.i69.new | |
%carry.020.i72 = phi i64 [ %carry.020.i72.unr, %bb6.lr.ph.i69.new ], [ %202, %bb6.i75 ] | |
%iter.sroa.0.019.i73 = phi i32* [ %iter.sroa.0.019.i73.unr, %bb6.lr.ph.i69.new ], [ %197, %bb6.i75 ] | |
%179 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i73, i64 1 | |
%180 = load i32, i32* %iter.sroa.0.019.i73, align 4 | |
%181 = zext i32 %180 to i64 | |
%182 = mul nuw nsw i64 %181, 10 | |
%183 = add nuw nsw i64 %182, %carry.020.i72 | |
%184 = lshr i64 %183, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i74 = trunc i64 %183 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i74, i32* %iter.sroa.0.019.i73, align 4 | |
%185 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i73, i64 2 | |
%186 = load i32, i32* %179, align 4 | |
%187 = zext i32 %186 to i64 | |
%188 = mul nuw nsw i64 %187, 10 | |
%189 = add nuw nsw i64 %188, %184 | |
%190 = lshr i64 %189, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i74.1 = trunc i64 %189 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i74.1, i32* %179, align 4 | |
%191 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i73, i64 3 | |
%192 = load i32, i32* %185, align 4 | |
%193 = zext i32 %192 to i64 | |
%194 = mul nuw nsw i64 %193, 10 | |
%195 = add nuw nsw i64 %194, %190 | |
%196 = lshr i64 %195, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i74.2 = trunc i64 %195 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i74.2, i32* %185, align 4 | |
%197 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i73, i64 4 | |
%198 = load i32, i32* %191, align 4 | |
%199 = zext i32 %198 to i64 | |
%200 = mul nuw nsw i64 %199, 10 | |
%201 = add nuw nsw i64 %200, %196 | |
%202 = lshr i64 %201, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i74.3 = trunc i64 %201 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i74.3, i32* %191, align 4 | |
%203 = icmp eq i32* %197, %164 | |
br i1 %203, label %bb5.i71.unr-lcssa, label %bb6.i75 | |
bb8.i76: ; preds = %bb5.i71 | |
%204 = icmp ult i64 %127, 40 | |
br i1 %204, label %bb10.i77, label %panic.i79, !prof !5 | |
bb10.i77: ; preds = %bb8.i76 | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i70, i32* %164, align 4 | |
%205 = add i64 %127, 1 | |
br label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit80 | |
panic.i79: ; preds = %bb8.i76 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4I to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %127, i64 40) | |
unreachable | |
_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit80: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i68", %bb5.i71, %bb10.i77 | |
%sz.0.i78 = phi i64 [ %205, %bb10.i77 ], [ %127, %bb5.i71 ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i68" ] | |
store i64 %sz.0.i78, i64* %36, align 8 | |
br label %bb36 | |
bb36: ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit80, %bb33 | |
%k.0 = phi i16 [ %162, %bb33 ], [ %27, %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit80 ] | |
%206 = icmp slt i16 %k.0, %4 | |
br i1 %206, label %bb90, label %bb38 | |
bb38: ; preds = %bb36 | |
%207 = sext i16 %k.0 to i64 | |
%208 = sext i16 %4 to i64 | |
%209 = sub nsw i64 %207, %208 | |
%210 = icmp ult i64 %209, %3 | |
%211 = sub i16 %k.0, %4 | |
%212 = sext i16 %211 to i64 | |
%len.0 = select i1 %210, i64 %212, i64 %3 | |
%213 = icmp eq i64 %len.0, 0 | |
br i1 %213, label %bb90, label %bb57.lr.ph | |
bb57.lr.ph: ; preds = %bb38 | |
%214 = bitcast %"num::bignum::Big32x40"* %scale2 to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %214) | |
%215 = load i64, i64* %43, align 8, !alias.scope !396, !noalias !399 | |
%216 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale2, i64 0, i32 0 | |
store i64 %215, i64* %216, align 8, !alias.scope !399, !noalias !396 | |
%217 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale2, i64 0, i32 2 | |
%218 = bitcast [40 x i32]* %217 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %218, i8* %45, i64 160, i32 8, i1 false) #16, !alias.scope !401 | |
%219 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %scale2, i64 1) | |
%220 = bitcast %"num::bignum::Big32x40"* %scale4 to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %220) | |
%221 = load i64, i64* %43, align 8, !alias.scope !402, !noalias !405 | |
%222 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale4, i64 0, i32 0 | |
store i64 %221, i64* %222, align 8, !alias.scope !405, !noalias !402 | |
%223 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale4, i64 0, i32 2 | |
%224 = bitcast [40 x i32]* %223 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %224, i8* %45, i64 160, i32 8, i1 false) #16, !alias.scope !407 | |
%225 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %scale4, i64 2) | |
%226 = bitcast %"num::bignum::Big32x40"* %scale8 to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %226) | |
%227 = load i64, i64* %43, align 8, !alias.scope !408, !noalias !411 | |
%228 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale8, i64 0, i32 0 | |
store i64 %227, i64* %228, align 8, !alias.scope !411, !noalias !408 | |
%229 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale8, i64 0, i32 2 | |
%230 = bitcast [40 x i32]* %229 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %230, i8* %45, i64 160, i32 8, i1 false) #16, !alias.scope !413 | |
%231 = call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %scale8, i64 3) | |
%232 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 0 | |
%233 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale8, i64 0, i32 2, i64 0 | |
%234 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale4, i64 0, i32 2, i64 0 | |
%235 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale2, i64 0, i32 2, i64 0 | |
br label %bb57 | |
bb56: ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit60 | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %226) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %220) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %214) | |
br label %bb90 | |
bb57: ; preds = %bb57.lr.ph, %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit60 | |
%iter.sroa.0.0375 = phi i64 [ 0, %bb57.lr.ph ], [ %236, %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit60 ] | |
%236 = add nuw i64 %iter.sroa.0.0375, 1 | |
%237 = call zeroext i1 @_ZN4core3num6bignum8Big32x407is_zero17hed02ce6e8b5662d9E(%"num::bignum::Big32x40"* noalias nonnull readonly dereferenceable(168) %mant) | |
br i1 %237, label %bb2.i.i121, label %bb60 | |
bb2.i.i121: ; preds = %bb57 | |
%238 = icmp ugt i64 %len.0, %3 | |
br i1 %238, label %bb4.i.i, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h12c913eaba7698c9E.exit" | |
bb4.i.i: ; preds = %bb2.i.i121 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %len.0, i64 %3), !noalias !414 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h12c913eaba7698c9E.exit": ; preds = %bb2.i.i121 | |
%239 = sub i64 %len.0, %iter.sroa.0.0375 | |
%240 = icmp eq i64 %239, 0 | |
br i1 %240, label %bb65, label %bb66.preheader | |
bb66.preheader: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h12c913eaba7698c9E.exit" | |
%241 = getelementptr inbounds i8, i8* %2, i64 %iter.sroa.0.0375 | |
call void @llvm.memset.p0i8.i64(i8* %241, i8 48, i64 %239, i32 1, i1 false) | |
br label %bb65 | |
bb60: ; preds = %bb57 | |
%242 = load i64, i64* %36, align 8, !alias.scope !419, !noalias !426 | |
%243 = load i64, i64* %228, align 8, !alias.scope !426, !noalias !419 | |
%244 = icmp uge i64 %243, %242 | |
%_0.0.sroa.speculated.i.i.i.i.i122 = select i1 %244, i64 %243, i64 %242 | |
%245 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i.i.i122, 40 | |
br i1 %245, label %bb4.i.i.i3.i.i.i123, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i124" | |
bb4.i.i.i3.i.i.i123: ; preds = %bb60 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i.i.i122, i64 40), !noalias !430 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i124": ; preds = %bb60 | |
%246 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i122 | |
%247 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale8, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i122 | |
br label %bb5.i.i.i.i127 | |
bb5.i.i.i.i127: ; preds = %bb24.i.i.i.i144, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i124" | |
%self.sroa.4.0.i.i.i.i125 = phi i32* [ %246, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i124" ], [ %self.sroa.4.1.i.i.i.i129, %bb24.i.i.i.i144 ] | |
%other1.sroa.4.0.i.i.i.i126 = phi i32* [ %247, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i124" ], [ %other1.sroa.4.1.i.i.i.i134, %bb24.i.i.i.i144 ] | |
%248 = icmp eq i32* %self.sroa.4.0.i.i.i.i125, %232 | |
br i1 %248, label %bb6.i.i.i.i132, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i128" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i128": ; preds = %bb5.i.i.i.i127 | |
%249 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i.i.i125, i64 -1 | |
%250 = load i32, i32* %249, align 4, !alias.scope !433, !noalias !438 | |
br label %bb6.i.i.i.i132 | |
bb6.i.i.i.i132: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i128", %bb5.i.i.i.i127 | |
%self.sroa.4.1.i.i.i.i129 = phi i32* [ %232, %bb5.i.i.i.i127 ], [ %249, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i128" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i.i.i130 = phi i32 [ 0, %bb5.i.i.i.i127 ], [ %250, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i128" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i.i.i131 = phi i64 [ 0, %bb5.i.i.i.i127 ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i128" ] | |
%251 = icmp eq i32* %other1.sroa.4.0.i.i.i.i126, %233 | |
br i1 %251, label %bb8.i.i.i.i138, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i133" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i133": ; preds = %bb6.i.i.i.i132 | |
%252 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i.i.i126, i64 -1 | |
%253 = load i32, i32* %252, align 4, !alias.scope !442, !noalias !447 | |
br label %bb8.i.i.i.i138 | |
bb8.i.i.i.i138: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i133", %bb6.i.i.i.i132 | |
%other1.sroa.4.1.i.i.i.i134 = phi i32* [ %233, %bb6.i.i.i.i132 ], [ %252, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i133" ] | |
%_0.sroa.3.0.i.i.i.i.i.i.i.i135 = phi i32 [ 0, %bb6.i.i.i.i132 ], [ %253, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i133" ] | |
%_0.sroa.0.0.i.i.i.i.i.i.i.i136 = phi i1 [ true, %bb6.i.i.i.i132 ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i133" ] | |
%cond.i.i.i.i137 = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i.i.i131, 0 | |
br i1 %cond.i.i.i.i137, label %bb14.i.i.i.i141, label %bb15.i.i.i.i142 | |
bb14.i.i.i.i141: ; preds = %bb8.i.i.i.i138 | |
%not.cond14.i.i.i.i139 = xor i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i136, true | |
%..i.i.i.i140 = sext i1 %not.cond14.i.i.i.i139 to i64 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit150 | |
bb15.i.i.i.i142: ; preds = %bb8.i.i.i.i138 | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i136, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i168.loopexit", label %bb24.i.i.i.i144 | |
bb24.i.i.i.i144: ; preds = %bb15.i.i.i.i142 | |
%254 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i130, %_0.sroa.3.0.i.i.i.i.i.i.i.i135 | |
br i1 %254, label %bb5.i.i.i.i127, label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit150.loopexit | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit150.loopexit: ; preds = %bb24.i.i.i.i144 | |
%255 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i130, %_0.sroa.3.0.i.i.i.i.i.i.i.i135 | |
%..i.i.i.i.i143.le = select i1 %255, i64 255, i64 1 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit150 | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit150: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit150.loopexit, %bb14.i.i.i.i141 | |
%_0.0.i.i.i.i145 = phi i64 [ %..i.i.i.i140, %bb14.i.i.i.i141 ], [ %..i.i.i.i.i143.le, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit150.loopexit ] | |
%abi_cast.sroa.4.0.extract.shift.i146 = shl i64 %_0.0.i.i.i.i145, 56 | |
%sext.i147 = ashr exact i64 %abi_cast.sroa.4.0.extract.shift.i146, 56 | |
%switch.i148 = icmp ult i64 %sext.i147, 2 | |
br i1 %switch.i148, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i168", label %bb72 | |
bb65: ; preds = %bb66.preheader, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h12c913eaba7698c9E.exit" | |
%256 = getelementptr inbounds { i64, [0 x i8], i16, [6 x i8] }, { i64, [0 x i8], i16, [6 x i8] }* %0, i64 0, i32 0 | |
store i64 %len.0, i64* %256, align 8 | |
%257 = getelementptr inbounds { i64, [0 x i8], i16, [6 x i8] }, { i64, [0 x i8], i16, [6 x i8] }* %0, i64 0, i32 2 | |
store i16 %k.0, i16* %257, align 8 | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %226) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %220) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %214) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %39) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %28) | |
br label %bb67 | |
bb67: ; preds = %bb123, %bb65 | |
ret void | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i168.loopexit": ; preds = %bb15.i.i.i.i142 | |
br label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i168" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i168": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i168.loopexit", %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit150 | |
%.idx.i166 = shl nuw i64 %_0.0.sroa.speculated.i.i.i.i.i122, 2 | |
%258 = sdiv i64 %.idx.i166, 4 | |
%.idx.off.i167 = or i64 %.idx.i166, 3 | |
%259 = icmp ult i64 %.idx.off.i167, 7 | |
br i1 %259, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit175, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i172.preheader" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i172.preheader": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i168" | |
br label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i172" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i172": ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i172.preheader", %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i172" | |
%noborrow.050.i169 = phi i32 [ %272, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i172" ], [ 1, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i172.preheader" ] | |
%iter.sroa.8.049.i170 = phi i64 [ %262, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i172" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i172.preheader" ] | |
%260 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %iter.sroa.8.049.i170 | |
%261 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale8, i64 0, i32 2, i64 %iter.sroa.8.049.i170 | |
%262 = add nuw i64 %iter.sroa.8.049.i170, 1 | |
%263 = load i32, i32* %260, align 4, !noalias !448 | |
%264 = load i32, i32* %261, align 4, !alias.scope !448 | |
%265 = xor i32 %264, -1 | |
%266 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %263, i32 %265) #16 | |
%267 = extractvalue { i32, i1 } %266, 0 | |
%268 = extractvalue { i32, i1 } %266, 1 | |
%269 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %267, i32 %noborrow.050.i169) #16 | |
%270 = extractvalue { i32, i1 } %269, 0 | |
%271 = extractvalue { i32, i1 } %269, 1 | |
%brmerge.i.i171 = or i1 %268, %271 | |
store i32 %270, i32* %260, align 4, !noalias !448 | |
%272 = zext i1 %brmerge.i.i171 to i32 | |
%273 = icmp ult i64 %262, %258 | |
br i1 %273, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i172", label %bb9.i173 | |
bb9.i173: ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i172" | |
br i1 %brmerge.i.i171, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit175, label %bb12.i174 | |
bb12.i174: ; preds = %bb9.i173 | |
call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num6bignum8Big32x403sub14_MSG_FILE_LINE17he6988b9083a66661E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)), !noalias !448 | |
unreachable | |
_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit175: ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i168", %bb9.i173 | |
store i64 %_0.0.sroa.speculated.i.i.i.i.i122, i64* %36, align 8, !noalias !448 | |
br label %bb72 | |
bb72: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit150, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit175 | |
%274 = phi i64 [ %_0.0.sroa.speculated.i.i.i.i.i122, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit175 ], [ %242, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit150 ] | |
%d.0 = phi i8 [ 8, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit175 ], [ 0, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit150 ] | |
%275 = load i64, i64* %222, align 8, !alias.scope !451, !noalias !458 | |
%276 = icmp uge i64 %275, %274 | |
%_0.0.sroa.speculated.i.i.i.i.i176 = select i1 %276, i64 %275, i64 %274 | |
%277 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i.i.i176, 40 | |
br i1 %277, label %bb4.i.i.i3.i.i.i177, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i178" | |
bb4.i.i.i3.i.i.i177: ; preds = %bb72 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i.i.i176, i64 40), !noalias !462 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i178": ; preds = %bb72 | |
%278 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i176 | |
%279 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale4, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i176 | |
br label %bb5.i.i.i.i181 | |
bb5.i.i.i.i181: ; preds = %bb24.i.i.i.i198, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i178" | |
%self.sroa.4.0.i.i.i.i179 = phi i32* [ %278, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i178" ], [ %self.sroa.4.1.i.i.i.i183, %bb24.i.i.i.i198 ] | |
%other1.sroa.4.0.i.i.i.i180 = phi i32* [ %279, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i178" ], [ %other1.sroa.4.1.i.i.i.i188, %bb24.i.i.i.i198 ] | |
%280 = icmp eq i32* %self.sroa.4.0.i.i.i.i179, %232 | |
br i1 %280, label %bb6.i.i.i.i186, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i182" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i182": ; preds = %bb5.i.i.i.i181 | |
%281 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i.i.i179, i64 -1 | |
%282 = load i32, i32* %281, align 4, !alias.scope !465, !noalias !470 | |
br label %bb6.i.i.i.i186 | |
bb6.i.i.i.i186: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i182", %bb5.i.i.i.i181 | |
%self.sroa.4.1.i.i.i.i183 = phi i32* [ %232, %bb5.i.i.i.i181 ], [ %281, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i182" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i.i.i184 = phi i32 [ 0, %bb5.i.i.i.i181 ], [ %282, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i182" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i.i.i185 = phi i64 [ 0, %bb5.i.i.i.i181 ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i182" ] | |
%283 = icmp eq i32* %other1.sroa.4.0.i.i.i.i180, %234 | |
br i1 %283, label %bb8.i.i.i.i192, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i187" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i187": ; preds = %bb6.i.i.i.i186 | |
%284 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i.i.i180, i64 -1 | |
%285 = load i32, i32* %284, align 4, !alias.scope !474, !noalias !479 | |
br label %bb8.i.i.i.i192 | |
bb8.i.i.i.i192: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i187", %bb6.i.i.i.i186 | |
%other1.sroa.4.1.i.i.i.i188 = phi i32* [ %234, %bb6.i.i.i.i186 ], [ %284, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i187" ] | |
%_0.sroa.3.0.i.i.i.i.i.i.i.i189 = phi i32 [ 0, %bb6.i.i.i.i186 ], [ %285, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i187" ] | |
%_0.sroa.0.0.i.i.i.i.i.i.i.i190 = phi i1 [ true, %bb6.i.i.i.i186 ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i187" ] | |
%cond.i.i.i.i191 = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i.i.i185, 0 | |
br i1 %cond.i.i.i.i191, label %bb14.i.i.i.i195, label %bb15.i.i.i.i196 | |
bb14.i.i.i.i195: ; preds = %bb8.i.i.i.i192 | |
%not.cond14.i.i.i.i193 = xor i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i190, true | |
%..i.i.i.i194 = sext i1 %not.cond14.i.i.i.i193 to i64 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit204 | |
bb15.i.i.i.i196: ; preds = %bb8.i.i.i.i192 | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i190, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i209.loopexit", label %bb24.i.i.i.i198 | |
bb24.i.i.i.i198: ; preds = %bb15.i.i.i.i196 | |
%286 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i184, %_0.sroa.3.0.i.i.i.i.i.i.i.i189 | |
br i1 %286, label %bb5.i.i.i.i181, label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit204.loopexit | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit204.loopexit: ; preds = %bb24.i.i.i.i198 | |
%287 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i184, %_0.sroa.3.0.i.i.i.i.i.i.i.i189 | |
%..i.i.i.i.i197.le = select i1 %287, i64 255, i64 1 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit204 | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit204: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit204.loopexit, %bb14.i.i.i.i195 | |
%_0.0.i.i.i.i199 = phi i64 [ %..i.i.i.i194, %bb14.i.i.i.i195 ], [ %..i.i.i.i.i197.le, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit204.loopexit ] | |
%abi_cast.sroa.4.0.extract.shift.i200 = shl i64 %_0.0.i.i.i.i199, 56 | |
%sext.i201 = ashr exact i64 %abi_cast.sroa.4.0.extract.shift.i200, 56 | |
%switch.i202 = icmp ult i64 %sext.i201, 2 | |
br i1 %switch.i202, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i209", label %bb77 | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i209.loopexit": ; preds = %bb15.i.i.i.i196 | |
br label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i209" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i209": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i209.loopexit", %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit204 | |
%.idx.i207 = shl nuw i64 %_0.0.sroa.speculated.i.i.i.i.i176, 2 | |
%288 = sdiv i64 %.idx.i207, 4 | |
%.idx.off.i208 = or i64 %.idx.i207, 3 | |
%289 = icmp ult i64 %.idx.off.i208, 7 | |
br i1 %289, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit216, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i213.preheader" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i213.preheader": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i209" | |
br label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i213" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i213": ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i213.preheader", %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i213" | |
%noborrow.050.i210 = phi i32 [ %302, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i213" ], [ 1, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i213.preheader" ] | |
%iter.sroa.8.049.i211 = phi i64 [ %292, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i213" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i213.preheader" ] | |
%290 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %iter.sroa.8.049.i211 | |
%291 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale4, i64 0, i32 2, i64 %iter.sroa.8.049.i211 | |
%292 = add nuw i64 %iter.sroa.8.049.i211, 1 | |
%293 = load i32, i32* %290, align 4, !noalias !480 | |
%294 = load i32, i32* %291, align 4, !alias.scope !480 | |
%295 = xor i32 %294, -1 | |
%296 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %293, i32 %295) #16 | |
%297 = extractvalue { i32, i1 } %296, 0 | |
%298 = extractvalue { i32, i1 } %296, 1 | |
%299 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %297, i32 %noborrow.050.i210) #16 | |
%300 = extractvalue { i32, i1 } %299, 0 | |
%301 = extractvalue { i32, i1 } %299, 1 | |
%brmerge.i.i212 = or i1 %298, %301 | |
store i32 %300, i32* %290, align 4, !noalias !480 | |
%302 = zext i1 %brmerge.i.i212 to i32 | |
%303 = icmp ult i64 %292, %288 | |
br i1 %303, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i213", label %bb9.i214 | |
bb9.i214: ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i213" | |
br i1 %brmerge.i.i212, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit216, label %bb12.i215 | |
bb12.i215: ; preds = %bb9.i214 | |
call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num6bignum8Big32x403sub14_MSG_FILE_LINE17he6988b9083a66661E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)), !noalias !480 | |
unreachable | |
_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit216: ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i209", %bb9.i214 | |
store i64 %_0.0.sroa.speculated.i.i.i.i.i176, i64* %36, align 8, !noalias !480 | |
%304 = or i8 %d.0, 4 | |
br label %bb77 | |
bb77: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit204, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit216 | |
%305 = phi i64 [ %_0.0.sroa.speculated.i.i.i.i.i176, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit216 ], [ %274, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit204 ] | |
%d.1 = phi i8 [ %304, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit216 ], [ %d.0, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit204 ] | |
%306 = load i64, i64* %216, align 8, !alias.scope !483, !noalias !490 | |
%307 = icmp uge i64 %306, %305 | |
%_0.0.sroa.speculated.i.i.i.i.i217 = select i1 %307, i64 %306, i64 %305 | |
%308 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i.i.i217, 40 | |
br i1 %308, label %bb4.i.i.i3.i.i.i218, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i219" | |
bb4.i.i.i3.i.i.i218: ; preds = %bb77 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i.i.i217, i64 40), !noalias !494 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i219": ; preds = %bb77 | |
%309 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i217 | |
%310 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale2, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i217 | |
br label %bb5.i.i.i.i222 | |
bb5.i.i.i.i222: ; preds = %bb24.i.i.i.i239, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i219" | |
%self.sroa.4.0.i.i.i.i220 = phi i32* [ %309, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i219" ], [ %self.sroa.4.1.i.i.i.i224, %bb24.i.i.i.i239 ] | |
%other1.sroa.4.0.i.i.i.i221 = phi i32* [ %310, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i219" ], [ %other1.sroa.4.1.i.i.i.i229, %bb24.i.i.i.i239 ] | |
%311 = icmp eq i32* %self.sroa.4.0.i.i.i.i220, %232 | |
br i1 %311, label %bb6.i.i.i.i227, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i223" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i223": ; preds = %bb5.i.i.i.i222 | |
%312 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i.i.i220, i64 -1 | |
%313 = load i32, i32* %312, align 4, !alias.scope !497, !noalias !502 | |
br label %bb6.i.i.i.i227 | |
bb6.i.i.i.i227: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i223", %bb5.i.i.i.i222 | |
%self.sroa.4.1.i.i.i.i224 = phi i32* [ %232, %bb5.i.i.i.i222 ], [ %312, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i223" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i.i.i225 = phi i32 [ 0, %bb5.i.i.i.i222 ], [ %313, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i223" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i.i.i226 = phi i64 [ 0, %bb5.i.i.i.i222 ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i223" ] | |
%314 = icmp eq i32* %other1.sroa.4.0.i.i.i.i221, %235 | |
br i1 %314, label %bb8.i.i.i.i233, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i228" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i228": ; preds = %bb6.i.i.i.i227 | |
%315 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i.i.i221, i64 -1 | |
%316 = load i32, i32* %315, align 4, !alias.scope !506, !noalias !511 | |
br label %bb8.i.i.i.i233 | |
bb8.i.i.i.i233: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i228", %bb6.i.i.i.i227 | |
%other1.sroa.4.1.i.i.i.i229 = phi i32* [ %235, %bb6.i.i.i.i227 ], [ %315, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i228" ] | |
%_0.sroa.3.0.i.i.i.i.i.i.i.i230 = phi i32 [ 0, %bb6.i.i.i.i227 ], [ %316, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i228" ] | |
%_0.sroa.0.0.i.i.i.i.i.i.i.i231 = phi i1 [ true, %bb6.i.i.i.i227 ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i228" ] | |
%cond.i.i.i.i232 = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i.i.i226, 0 | |
br i1 %cond.i.i.i.i232, label %bb14.i.i.i.i236, label %bb15.i.i.i.i237 | |
bb14.i.i.i.i236: ; preds = %bb8.i.i.i.i233 | |
%not.cond14.i.i.i.i234 = xor i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i231, true | |
%..i.i.i.i235 = sext i1 %not.cond14.i.i.i.i234 to i64 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit245 | |
bb15.i.i.i.i237: ; preds = %bb8.i.i.i.i233 | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i231, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i156.loopexit", label %bb24.i.i.i.i239 | |
bb24.i.i.i.i239: ; preds = %bb15.i.i.i.i237 | |
%317 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i225, %_0.sroa.3.0.i.i.i.i.i.i.i.i230 | |
br i1 %317, label %bb5.i.i.i.i222, label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit245.loopexit | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit245.loopexit: ; preds = %bb24.i.i.i.i239 | |
%318 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i225, %_0.sroa.3.0.i.i.i.i.i.i.i.i230 | |
%..i.i.i.i.i238.le = select i1 %318, i64 255, i64 1 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit245 | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit245: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit245.loopexit, %bb14.i.i.i.i236 | |
%_0.0.i.i.i.i240 = phi i64 [ %..i.i.i.i235, %bb14.i.i.i.i236 ], [ %..i.i.i.i.i238.le, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit245.loopexit ] | |
%abi_cast.sroa.4.0.extract.shift.i241 = shl i64 %_0.0.i.i.i.i240, 56 | |
%sext.i242 = ashr exact i64 %abi_cast.sroa.4.0.extract.shift.i241, 56 | |
%switch.i243 = icmp ult i64 %sext.i242, 2 | |
br i1 %switch.i243, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i156", label %bb82 | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i156.loopexit": ; preds = %bb15.i.i.i.i237 | |
br label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i156" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i156": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i156.loopexit", %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit245 | |
%.idx.i154 = shl nuw i64 %_0.0.sroa.speculated.i.i.i.i.i217, 2 | |
%319 = sdiv i64 %.idx.i154, 4 | |
%.idx.off.i155 = or i64 %.idx.i154, 3 | |
%320 = icmp ult i64 %.idx.off.i155, 7 | |
br i1 %320, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit163, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i160.preheader" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i160.preheader": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i156" | |
br label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i160" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i160": ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i160.preheader", %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i160" | |
%noborrow.050.i157 = phi i32 [ %333, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i160" ], [ 1, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i160.preheader" ] | |
%iter.sroa.8.049.i158 = phi i64 [ %323, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i160" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i160.preheader" ] | |
%321 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %iter.sroa.8.049.i158 | |
%322 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale2, i64 0, i32 2, i64 %iter.sroa.8.049.i158 | |
%323 = add nuw i64 %iter.sroa.8.049.i158, 1 | |
%324 = load i32, i32* %321, align 4, !noalias !512 | |
%325 = load i32, i32* %322, align 4, !alias.scope !512 | |
%326 = xor i32 %325, -1 | |
%327 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %324, i32 %326) #16 | |
%328 = extractvalue { i32, i1 } %327, 0 | |
%329 = extractvalue { i32, i1 } %327, 1 | |
%330 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %328, i32 %noborrow.050.i157) #16 | |
%331 = extractvalue { i32, i1 } %330, 0 | |
%332 = extractvalue { i32, i1 } %330, 1 | |
%brmerge.i.i159 = or i1 %329, %332 | |
store i32 %331, i32* %321, align 4, !noalias !512 | |
%333 = zext i1 %brmerge.i.i159 to i32 | |
%334 = icmp ult i64 %323, %319 | |
br i1 %334, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i160", label %bb9.i161 | |
bb9.i161: ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i160" | |
br i1 %brmerge.i.i159, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit163, label %bb12.i162 | |
bb12.i162: ; preds = %bb9.i161 | |
call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num6bignum8Big32x403sub14_MSG_FILE_LINE17he6988b9083a66661E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)), !noalias !512 | |
unreachable | |
_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit163: ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i156", %bb9.i161 | |
store i64 %_0.0.sroa.speculated.i.i.i.i.i217, i64* %36, align 8, !noalias !512 | |
%335 = add nsw i8 %d.1, 2 | |
br label %bb82 | |
bb82: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit245, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit163 | |
%336 = phi i64 [ %_0.0.sroa.speculated.i.i.i.i.i217, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit163 ], [ %305, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit245 ] | |
%d.2 = phi i8 [ %335, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit163 ], [ %d.1, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit245 ] | |
%337 = load i64, i64* %43, align 8, !alias.scope !515, !noalias !522 | |
%338 = icmp uge i64 %337, %336 | |
%_0.0.sroa.speculated.i.i.i.i.i92 = select i1 %338, i64 %337, i64 %336 | |
%339 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i.i.i92, 40 | |
br i1 %339, label %bb4.i.i.i3.i.i.i93, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i94" | |
bb4.i.i.i3.i.i.i93: ; preds = %bb82 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i.i.i92, i64 40), !noalias !526 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i94": ; preds = %bb82 | |
%340 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i92 | |
%341 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i.i.i92 | |
br label %bb5.i.i.i.i97 | |
bb5.i.i.i.i97: ; preds = %bb24.i.i.i.i114, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i94" | |
%self.sroa.4.0.i.i.i.i95 = phi i32* [ %340, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i94" ], [ %self.sroa.4.1.i.i.i.i99, %bb24.i.i.i.i114 ] | |
%other1.sroa.4.0.i.i.i.i96 = phi i32* [ %341, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i.i.i94" ], [ %other1.sroa.4.1.i.i.i.i104, %bb24.i.i.i.i114 ] | |
%342 = icmp eq i32* %self.sroa.4.0.i.i.i.i95, %232 | |
br i1 %342, label %bb6.i.i.i.i102, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i98" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i98": ; preds = %bb5.i.i.i.i97 | |
%343 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i.i.i95, i64 -1 | |
%344 = load i32, i32* %343, align 4, !alias.scope !529, !noalias !534 | |
br label %bb6.i.i.i.i102 | |
bb6.i.i.i.i102: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i98", %bb5.i.i.i.i97 | |
%self.sroa.4.1.i.i.i.i99 = phi i32* [ %232, %bb5.i.i.i.i97 ], [ %343, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i98" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i.i.i100 = phi i32 [ 0, %bb5.i.i.i.i97 ], [ %344, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i98" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i.i.i101 = phi i64 [ 0, %bb5.i.i.i.i97 ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i.i.i98" ] | |
%345 = icmp eq i32* %other1.sroa.4.0.i.i.i.i96, %152 | |
br i1 %345, label %bb8.i.i.i.i108, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i103" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i103": ; preds = %bb6.i.i.i.i102 | |
%346 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i.i.i96, i64 -1 | |
%347 = load i32, i32* %346, align 4, !alias.scope !538, !noalias !543 | |
br label %bb8.i.i.i.i108 | |
bb8.i.i.i.i108: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i103", %bb6.i.i.i.i102 | |
%other1.sroa.4.1.i.i.i.i104 = phi i32* [ %152, %bb6.i.i.i.i102 ], [ %346, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i103" ] | |
%_0.sroa.3.0.i.i.i.i.i.i.i.i105 = phi i32 [ 0, %bb6.i.i.i.i102 ], [ %347, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i103" ] | |
%_0.sroa.0.0.i.i.i.i.i.i.i.i106 = phi i1 [ true, %bb6.i.i.i.i102 ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i.i.i103" ] | |
%cond.i.i.i.i107 = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i.i.i101, 0 | |
br i1 %cond.i.i.i.i107, label %bb14.i.i.i.i111, label %bb15.i.i.i.i112 | |
bb14.i.i.i.i111: ; preds = %bb8.i.i.i.i108 | |
%not.cond14.i.i.i.i109 = xor i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i106, true | |
%..i.i.i.i110 = sext i1 %not.cond14.i.i.i.i109 to i64 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit120 | |
bb15.i.i.i.i112: ; preds = %bb8.i.i.i.i108 | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i.i.i106, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i85.loopexit", label %bb24.i.i.i.i114 | |
bb24.i.i.i.i114: ; preds = %bb15.i.i.i.i112 | |
%348 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i100, %_0.sroa.3.0.i.i.i.i.i.i.i.i105 | |
br i1 %348, label %bb5.i.i.i.i97, label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit120.loopexit | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit120.loopexit: ; preds = %bb24.i.i.i.i114 | |
%349 = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i.i.i100, %_0.sroa.3.0.i.i.i.i.i.i.i.i105 | |
%..i.i.i.i.i113.le = select i1 %349, i64 255, i64 1 | |
br label %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit120 | |
_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit120: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit120.loopexit, %bb14.i.i.i.i111 | |
%_0.0.i.i.i.i115 = phi i64 [ %..i.i.i.i110, %bb14.i.i.i.i111 ], [ %..i.i.i.i.i113.le, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit120.loopexit ] | |
%abi_cast.sroa.4.0.extract.shift.i116 = shl i64 %_0.0.i.i.i.i115, 56 | |
%sext.i117 = ashr exact i64 %abi_cast.sroa.4.0.extract.shift.i116, 56 | |
%switch.i118 = icmp ult i64 %sext.i117, 2 | |
br i1 %switch.i118, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i85", label %bb87 | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i85.loopexit": ; preds = %bb15.i.i.i.i112 | |
br label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i85" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i85": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i85.loopexit", %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit120 | |
%.idx.i83 = shl nuw i64 %_0.0.sroa.speculated.i.i.i.i.i92, 2 | |
%350 = sdiv i64 %.idx.i83, 4 | |
%.idx.off.i84 = or i64 %.idx.i83, 3 | |
%351 = icmp ult i64 %.idx.off.i84, 7 | |
br i1 %351, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i87.preheader" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i87.preheader": ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i85" | |
br label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i87" | |
"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i87": ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i87.preheader", %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i87" | |
%noborrow.050.i = phi i32 [ %364, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i87" ], [ 1, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i87.preheader" ] | |
%iter.sroa.8.049.i = phi i64 [ %354, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i87" ], [ 0, %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i87.preheader" ] | |
%352 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %iter.sroa.8.049.i | |
%353 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2, i64 %iter.sroa.8.049.i | |
%354 = add nuw i64 %iter.sroa.8.049.i, 1 | |
%355 = load i32, i32* %352, align 4, !noalias !544 | |
%356 = load i32, i32* %353, align 4, !alias.scope !544 | |
%357 = xor i32 %356, -1 | |
%358 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %355, i32 %357) #16 | |
%359 = extractvalue { i32, i1 } %358, 0 | |
%360 = extractvalue { i32, i1 } %358, 1 | |
%361 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %359, i32 %noborrow.050.i) #16 | |
%362 = extractvalue { i32, i1 } %361, 0 | |
%363 = extractvalue { i32, i1 } %361, 1 | |
%brmerge.i.i86 = or i1 %360, %363 | |
store i32 %362, i32* %352, align 4, !noalias !544 | |
%364 = zext i1 %brmerge.i.i86 to i32 | |
%365 = icmp ult i64 %354, %350 | |
br i1 %365, label %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i87", label %bb9.i88 | |
bb9.i88: ; preds = %"_ZN84_$LT$core..iter..Zip$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h3a96887137148a42E.exit.i87" | |
br i1 %brmerge.i.i86, label %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit, label %bb12.i89 | |
bb12.i89: ; preds = %bb9.i88 | |
call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num6bignum8Big32x403sub14_MSG_FILE_LINE17he6988b9083a66661E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)), !noalias !544 | |
unreachable | |
_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit: ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i85", %bb9.i88 | |
store i64 %_0.0.sroa.speculated.i.i.i.i.i92, i64* %36, align 8, !noalias !544 | |
%366 = add nsw i8 %d.2, 1 | |
br label %bb87 | |
bb87: ; preds = %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit120, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit | |
%367 = phi i64 [ %_0.0.sroa.speculated.i.i.i.i.i92, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit ], [ %336, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit120 ] | |
%d.3 = phi i8 [ %366, %_ZN4core3num6bignum8Big32x403sub17h16e3d6a4cae19f58E.exit ], [ %d.2, %_ZN4core3cmp10PartialOrd2ge17h10ae6e36c54f588cE.exit120 ] | |
%368 = icmp ult i64 %iter.sroa.0.0375, %3 | |
br i1 %368, label %bb88, label %panic, !prof !5 | |
bb88: ; preds = %bb87 | |
%369 = getelementptr inbounds i8, i8* %2, i64 %iter.sroa.0.0375 | |
%370 = add i8 %d.3, 48 | |
store i8 %370, i8* %369, align 1 | |
%371 = icmp ugt i64 %367, 40 | |
br i1 %371, label %bb4.i.i.i.i47, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i48" | |
bb4.i.i.i.i47: ; preds = %bb88 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %367, i64 40), !noalias !547 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i48": ; preds = %bb88 | |
%372 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %367 | |
%373 = icmp eq i64 %367, 0 | |
br i1 %373, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit60, label %bb6.i55.preheader | |
bb6.i55.preheader: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i48" | |
%374 = shl i64 %367, 2 | |
%375 = add i64 %374, -4 | |
%376 = lshr exact i64 %375, 2 | |
%377 = add nuw nsw i64 %376, 1 | |
%xtraiter761 = and i64 %377, 3 | |
%lcmp.mod762 = icmp eq i64 %xtraiter761, 0 | |
br i1 %lcmp.mod762, label %bb6.i55.prol.loopexit, label %bb6.i55.prol.preheader | |
bb6.i55.prol.preheader: ; preds = %bb6.i55.preheader | |
br label %bb6.i55.prol | |
bb6.i55.prol: ; preds = %bb6.i55.prol, %bb6.i55.prol.preheader | |
%carry.020.i52.prol = phi i64 [ %383, %bb6.i55.prol ], [ 0, %bb6.i55.prol.preheader ] | |
%iter.sroa.0.019.i53.prol = phi i32* [ %378, %bb6.i55.prol ], [ %232, %bb6.i55.prol.preheader ] | |
%prol.iter763 = phi i64 [ %prol.iter763.sub, %bb6.i55.prol ], [ %xtraiter761, %bb6.i55.prol.preheader ] | |
%378 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i53.prol, i64 1 | |
%379 = load i32, i32* %iter.sroa.0.019.i53.prol, align 4 | |
%380 = zext i32 %379 to i64 | |
%381 = mul nuw nsw i64 %380, 10 | |
%382 = add nuw nsw i64 %381, %carry.020.i52.prol | |
%383 = lshr i64 %382, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i54.prol = trunc i64 %382 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i54.prol, i32* %iter.sroa.0.019.i53.prol, align 4 | |
%prol.iter763.sub = add i64 %prol.iter763, -1 | |
%prol.iter763.cmp = icmp eq i64 %prol.iter763.sub, 0 | |
br i1 %prol.iter763.cmp, label %bb6.i55.prol.loopexit.unr-lcssa, label %bb6.i55.prol, !llvm.loop !550 | |
bb6.i55.prol.loopexit.unr-lcssa: ; preds = %bb6.i55.prol | |
br label %bb6.i55.prol.loopexit | |
bb6.i55.prol.loopexit: ; preds = %bb6.i55.preheader, %bb6.i55.prol.loopexit.unr-lcssa | |
%.lcssa700.unr = phi i64 [ undef, %bb6.i55.preheader ], [ %383, %bb6.i55.prol.loopexit.unr-lcssa ] | |
%carry.020.i52.unr = phi i64 [ 0, %bb6.i55.preheader ], [ %383, %bb6.i55.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.019.i53.unr = phi i32* [ %232, %bb6.i55.preheader ], [ %378, %bb6.i55.prol.loopexit.unr-lcssa ] | |
%384 = icmp ult i64 %375, 12 | |
br i1 %384, label %bb5.i51, label %bb6.i55.preheader.new | |
bb6.i55.preheader.new: ; preds = %bb6.i55.prol.loopexit | |
br label %bb6.i55 | |
bb5.i51.unr-lcssa: ; preds = %bb6.i55 | |
br label %bb5.i51 | |
bb5.i51: ; preds = %bb6.i55.prol.loopexit, %bb5.i51.unr-lcssa | |
%.lcssa700 = phi i64 [ %.lcssa700.unr, %bb6.i55.prol.loopexit ], [ %409, %bb5.i51.unr-lcssa ] | |
%abi_cast.sroa.0.0.extract.trunc.i50 = trunc i64 %.lcssa700 to i32 | |
%385 = icmp eq i32 %abi_cast.sroa.0.0.extract.trunc.i50, 0 | |
br i1 %385, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit60, label %bb8.i56 | |
bb6.i55: ; preds = %bb6.i55, %bb6.i55.preheader.new | |
%carry.020.i52 = phi i64 [ %carry.020.i52.unr, %bb6.i55.preheader.new ], [ %409, %bb6.i55 ] | |
%iter.sroa.0.019.i53 = phi i32* [ %iter.sroa.0.019.i53.unr, %bb6.i55.preheader.new ], [ %404, %bb6.i55 ] | |
%386 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i53, i64 1 | |
%387 = load i32, i32* %iter.sroa.0.019.i53, align 4 | |
%388 = zext i32 %387 to i64 | |
%389 = mul nuw nsw i64 %388, 10 | |
%390 = add nuw nsw i64 %389, %carry.020.i52 | |
%391 = lshr i64 %390, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i54 = trunc i64 %390 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i54, i32* %iter.sroa.0.019.i53, align 4 | |
%392 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i53, i64 2 | |
%393 = load i32, i32* %386, align 4 | |
%394 = zext i32 %393 to i64 | |
%395 = mul nuw nsw i64 %394, 10 | |
%396 = add nuw nsw i64 %395, %391 | |
%397 = lshr i64 %396, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i54.1 = trunc i64 %396 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i54.1, i32* %386, align 4 | |
%398 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i53, i64 3 | |
%399 = load i32, i32* %392, align 4 | |
%400 = zext i32 %399 to i64 | |
%401 = mul nuw nsw i64 %400, 10 | |
%402 = add nuw nsw i64 %401, %397 | |
%403 = lshr i64 %402, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i54.2 = trunc i64 %402 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i54.2, i32* %392, align 4 | |
%404 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i53, i64 4 | |
%405 = load i32, i32* %398, align 4 | |
%406 = zext i32 %405 to i64 | |
%407 = mul nuw nsw i64 %406, 10 | |
%408 = add nuw nsw i64 %407, %403 | |
%409 = lshr i64 %408, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i54.3 = trunc i64 %408 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i54.3, i32* %398, align 4 | |
%410 = icmp eq i32* %404, %372 | |
br i1 %410, label %bb5.i51.unr-lcssa, label %bb6.i55 | |
bb8.i56: ; preds = %bb5.i51 | |
%411 = icmp ult i64 %367, 40 | |
br i1 %411, label %bb10.i57, label %panic.i59, !prof !5 | |
bb10.i57: ; preds = %bb8.i56 | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i50, i32* %372, align 4 | |
%412 = add i64 %367, 1 | |
br label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit60 | |
panic.i59: ; preds = %bb8.i56 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4I to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %367, i64 40) | |
unreachable | |
_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit60: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i48", %bb5.i51, %bb10.i57 | |
%sz.0.i58 = phi i64 [ %412, %bb10.i57 ], [ %367, %bb5.i51 ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i48" ] | |
store i64 %sz.0.i58, i64* %36, align 8 | |
%413 = icmp ugt i64 %len.0, %236 | |
br i1 %413, label %bb57, label %bb56 | |
bb90: ; preds = %bb36, %bb38, %bb56 | |
%414 = phi i1 [ true, %bb38 ], [ false, %bb56 ], [ true, %bb36 ] | |
%len.0269 = phi i64 [ 0, %bb38 ], [ %len.0, %bb56 ], [ 0, %bb36 ] | |
%415 = load i64, i64* %43, align 8 | |
%416 = icmp ugt i64 %415, 40 | |
br i1 %416, label %bb4.i.i.i.i, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i" | |
bb4.i.i.i.i: ; preds = %bb90 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %415, i64 40), !noalias !551 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i": ; preds = %bb90 | |
%417 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2, i64 %415 | |
%418 = icmp eq i64 %415, 0 | |
br i1 %418, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit, label %bb6.i.preheader | |
bb6.i.preheader: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i" | |
%419 = shl i64 %415, 2 | |
%420 = add i64 %419, -4 | |
%421 = lshr exact i64 %420, 2 | |
%422 = add nuw nsw i64 %421, 1 | |
%xtraiter = and i64 %422, 3 | |
%lcmp.mod = icmp eq i64 %xtraiter, 0 | |
br i1 %lcmp.mod, label %bb6.i.prol.loopexit, label %bb6.i.prol.preheader | |
bb6.i.prol.preheader: ; preds = %bb6.i.preheader | |
br label %bb6.i.prol | |
bb6.i.prol: ; preds = %bb6.i.prol, %bb6.i.prol.preheader | |
%carry.020.i.prol = phi i64 [ %428, %bb6.i.prol ], [ 0, %bb6.i.prol.preheader ] | |
%iter.sroa.0.019.i.prol = phi i32* [ %423, %bb6.i.prol ], [ %152, %bb6.i.prol.preheader ] | |
%prol.iter = phi i64 [ %prol.iter.sub, %bb6.i.prol ], [ %xtraiter, %bb6.i.prol.preheader ] | |
%423 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i.prol, i64 1 | |
%424 = load i32, i32* %iter.sroa.0.019.i.prol, align 4 | |
%425 = zext i32 %424 to i64 | |
%426 = mul nuw nsw i64 %425, 5 | |
%427 = add nuw nsw i64 %426, %carry.020.i.prol | |
%428 = lshr i64 %427, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.prol = trunc i64 %427 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.prol, i32* %iter.sroa.0.019.i.prol, align 4 | |
%prol.iter.sub = add i64 %prol.iter, -1 | |
%prol.iter.cmp = icmp eq i64 %prol.iter.sub, 0 | |
br i1 %prol.iter.cmp, label %bb6.i.prol.loopexit.unr-lcssa, label %bb6.i.prol, !llvm.loop !554 | |
bb6.i.prol.loopexit.unr-lcssa: ; preds = %bb6.i.prol | |
br label %bb6.i.prol.loopexit | |
bb6.i.prol.loopexit: ; preds = %bb6.i.preheader, %bb6.i.prol.loopexit.unr-lcssa | |
%.lcssa.unr = phi i64 [ undef, %bb6.i.preheader ], [ %428, %bb6.i.prol.loopexit.unr-lcssa ] | |
%carry.020.i.unr = phi i64 [ 0, %bb6.i.preheader ], [ %428, %bb6.i.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.019.i.unr = phi i32* [ %152, %bb6.i.preheader ], [ %423, %bb6.i.prol.loopexit.unr-lcssa ] | |
%429 = icmp ult i64 %420, 12 | |
br i1 %429, label %bb5.i, label %bb6.i.preheader.new | |
bb6.i.preheader.new: ; preds = %bb6.i.prol.loopexit | |
br label %bb6.i | |
bb5.i.unr-lcssa: ; preds = %bb6.i | |
br label %bb5.i | |
bb5.i: ; preds = %bb6.i.prol.loopexit, %bb5.i.unr-lcssa | |
%.lcssa = phi i64 [ %.lcssa.unr, %bb6.i.prol.loopexit ], [ %454, %bb5.i.unr-lcssa ] | |
%abi_cast.sroa.0.0.extract.trunc.i = trunc i64 %.lcssa to i32 | |
%430 = icmp eq i32 %abi_cast.sroa.0.0.extract.trunc.i, 0 | |
br i1 %430, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit, label %bb8.i | |
bb6.i: ; preds = %bb6.i, %bb6.i.preheader.new | |
%carry.020.i = phi i64 [ %carry.020.i.unr, %bb6.i.preheader.new ], [ %454, %bb6.i ] | |
%iter.sroa.0.019.i = phi i32* [ %iter.sroa.0.019.i.unr, %bb6.i.preheader.new ], [ %449, %bb6.i ] | |
%431 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 1 | |
%432 = load i32, i32* %iter.sroa.0.019.i, align 4 | |
%433 = zext i32 %432 to i64 | |
%434 = mul nuw nsw i64 %433, 5 | |
%435 = add nuw nsw i64 %434, %carry.020.i | |
%436 = lshr i64 %435, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i = trunc i64 %435 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i, i32* %iter.sroa.0.019.i, align 4 | |
%437 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 2 | |
%438 = load i32, i32* %431, align 4 | |
%439 = zext i32 %438 to i64 | |
%440 = mul nuw nsw i64 %439, 5 | |
%441 = add nuw nsw i64 %440, %436 | |
%442 = lshr i64 %441, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.1 = trunc i64 %441 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.1, i32* %431, align 4 | |
%443 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 3 | |
%444 = load i32, i32* %437, align 4 | |
%445 = zext i32 %444 to i64 | |
%446 = mul nuw nsw i64 %445, 5 | |
%447 = add nuw nsw i64 %446, %442 | |
%448 = lshr i64 %447, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.2 = trunc i64 %447 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.2, i32* %437, align 4 | |
%449 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 4 | |
%450 = load i32, i32* %443, align 4 | |
%451 = zext i32 %450 to i64 | |
%452 = mul nuw nsw i64 %451, 5 | |
%453 = add nuw nsw i64 %452, %448 | |
%454 = lshr i64 %453, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.3 = trunc i64 %453 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.3, i32* %443, align 4 | |
%455 = icmp eq i32* %449, %417 | |
br i1 %455, label %bb5.i.unr-lcssa, label %bb6.i | |
bb8.i: ; preds = %bb5.i | |
%456 = icmp ult i64 %415, 40 | |
br i1 %456, label %bb10.i, label %panic.i46, !prof !5 | |
bb10.i: ; preds = %bb8.i | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i, i32* %417, align 4 | |
%457 = add i64 %415, 1 | |
br label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit | |
panic.i46: ; preds = %bb8.i | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4I to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %415, i64 40) | |
unreachable | |
_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i", %bb5.i, %bb10.i | |
%sz.0.i = phi i64 [ %457, %bb10.i ], [ %415, %bb5.i ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i" ] | |
store i64 %sz.0.i, i64* %43, align 8 | |
%458 = load i64, i64* %36, align 8, !alias.scope !555, !noalias !558 | |
%459 = icmp uge i64 %sz.0.i, %458 | |
%_0.0.sroa.speculated.i.i.i = select i1 %459, i64 %sz.0.i, i64 %458 | |
%460 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 0 | |
%461 = icmp ugt i64 %_0.0.sroa.speculated.i.i.i, 40 | |
br i1 %461, label %bb4.i.i.i3.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i" | |
bb4.i.i.i3.i: ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %_0.0.sroa.speculated.i.i.i, i64 40), !noalias !560 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i": ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit | |
%462 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %mant, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i | |
%463 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %scale, i64 0, i32 2, i64 %_0.0.sroa.speculated.i.i.i | |
br label %bb5.i.i | |
bb5.i.i: ; preds = %bb24.i.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i" | |
%self.sroa.4.0.i.i = phi i32* [ %462, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i" ], [ %self.sroa.4.1.i.i, %bb24.i.i ] | |
%other1.sroa.4.0.i.i = phi i32* [ %463, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hdd50ffc14edd7e42E.exit.i" ], [ %other1.sroa.4.1.i.i, %bb24.i.i ] | |
%464 = icmp eq i32* %self.sroa.4.0.i.i, %460 | |
br i1 %464, label %bb6.i.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i": ; preds = %bb5.i.i | |
%465 = getelementptr inbounds i32, i32* %self.sroa.4.0.i.i, i64 -1 | |
%466 = load i32, i32* %465, align 4, !alias.scope !563, !noalias !568 | |
br label %bb6.i.i | |
bb6.i.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i", %bb5.i.i | |
%self.sroa.4.1.i.i = phi i32* [ %460, %bb5.i.i ], [ %465, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i" ] | |
%_0.sroa.3.0.i.i.i.i82.i.i = phi i32 [ 0, %bb5.i.i ], [ %466, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i" ] | |
%_0.sroa.0.0.i.i.i.i83.i.i = phi i64 [ 0, %bb5.i.i ], [ 1, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i81.i.i" ] | |
%467 = icmp eq i32* %other1.sroa.4.0.i.i, %152 | |
br i1 %467, label %bb8.i.i, label %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i" | |
"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i": ; preds = %bb6.i.i | |
%468 = getelementptr inbounds i32, i32* %other1.sroa.4.0.i.i, i64 -1 | |
%469 = load i32, i32* %468, align 4, !alias.scope !572, !noalias !577 | |
br label %bb8.i.i | |
bb8.i.i: ; preds = %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i", %bb6.i.i | |
%other1.sroa.4.1.i.i = phi i32* [ %152, %bb6.i.i ], [ %468, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i" ] | |
%_0.sroa.3.0.i.i.i.i.i.i = phi i32 [ 0, %bb6.i.i ], [ %469, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i" ] | |
%_0.sroa.0.0.i.i.i.i.i.i = phi i1 [ true, %bb6.i.i ], [ false, %"_ZN100_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..traits..DoubleEndedIterator$GT$9next_back17hc6eb51fd6062d99aE.exit.i.i.i.i" ] | |
%cond.i.i = icmp eq i64 %_0.sroa.0.0.i.i.i.i83.i.i, 0 | |
br i1 %cond.i.i, label %bb95, label %bb15.i.i | |
bb15.i.i: ; preds = %bb8.i.i | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i, label %bb108.loopexit, label %bb24.i.i | |
bb24.i.i: ; preds = %bb15.i.i | |
%470 = icmp eq i32 %_0.sroa.3.0.i.i.i.i82.i.i, %_0.sroa.3.0.i.i.i.i.i.i | |
br i1 %470, label %bb5.i.i, label %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit" | |
"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit": ; preds = %bb24.i.i | |
%not. = icmp ult i32 %_0.sroa.3.0.i.i.i.i82.i.i, %_0.sroa.3.0.i.i.i.i.i.i | |
br i1 %not., label %bb123, label %bb108 | |
bb95: ; preds = %bb8.i.i | |
br i1 %_0.sroa.0.0.i.i.i.i.i.i, label %bb100, label %bb123 | |
bb100: ; preds = %bb95 | |
br i1 %414, label %bb108, label %bb105 | |
bb105: ; preds = %bb100 | |
%471 = add i64 %len.0269, -1 | |
%472 = icmp ult i64 %471, %3 | |
br i1 %472, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7a62d2ec0ded76ceE.exit", label %panic.i.i, !prof !5 | |
panic.i.i: ; preds = %bb105 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.2d to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %471, i64 %3), !noalias !578 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7a62d2ec0ded76ceE.exit": ; preds = %bb105 | |
%473 = getelementptr inbounds i8, i8* %2, i64 %471 | |
%474 = load i8, i8* %473, align 1 | |
%475 = and i8 %474, 1 | |
%not.285 = icmp eq i8 %475, 0 | |
br i1 %not.285, label %bb123, label %bb108 | |
bb108.loopexit: ; preds = %bb15.i.i | |
br label %bb108 | |
bb108: ; preds = %bb108.loopexit, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7a62d2ec0ded76ceE.exit", %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit", %bb100 | |
%476 = call i16 @_ZN4core3num7flt2dec8round_up17h879a47796abb3549E(i8* nonnull %2, i64 %3, i64 %len.0269) | |
%abi_cast.sroa.4.0.extract.shift = lshr i16 %476, 8 | |
%abi_cast.sroa.4.0.extract.trunc = trunc i16 %abi_cast.sroa.4.0.extract.shift to i8 | |
%477 = and i16 %476, 255 | |
%cond = icmp eq i16 %477, 1 | |
br i1 %cond, label %bb112, label %bb123 | |
bb112: ; preds = %bb108 | |
%478 = add i16 %k.0, 1 | |
%479 = icmp sgt i16 %478, %4 | |
%480 = icmp ult i64 %len.0269, %3 | |
%or.cond = and i1 %479, %480 | |
br i1 %or.cond, label %bb121, label %bb123 | |
bb121: ; preds = %bb112 | |
%481 = getelementptr inbounds i8, i8* %2, i64 %len.0269 | |
store i8 %abi_cast.sroa.4.0.extract.trunc, i8* %481, align 1 | |
%482 = add i64 %len.0269, 1 | |
br label %bb123 | |
bb123: ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7a62d2ec0ded76ceE.exit", %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit", %bb112, %bb95, %bb121, %bb108 | |
%len.3 = phi i64 [ %len.0269, %bb108 ], [ %482, %bb121 ], [ %len.0269, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7a62d2ec0ded76ceE.exit" ], [ %len.0269, %bb95 ], [ %len.0269, %bb112 ], [ %len.0269, %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit" ] | |
%k.2 = phi i16 [ %k.0, %bb108 ], [ %478, %bb121 ], [ %k.0, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h7a62d2ec0ded76ceE.exit" ], [ %k.0, %bb95 ], [ %478, %bb112 ], [ %k.0, %"_ZN62_$LT$core..num..bignum..Big32x40$u20$as$u20$core..cmp..Ord$GT$3cmp17h8d0dc39d812a770bE.exit" ] | |
%483 = getelementptr inbounds { i64, [0 x i8], i16, [6 x i8] }, { i64, [0 x i8], i16, [6 x i8] }* %0, i64 0, i32 0 | |
store i64 %len.3, i64* %483, align 8 | |
%484 = getelementptr inbounds { i64, [0 x i8], i16, [6 x i8] }, { i64, [0 x i8], i16, [6 x i8] }* %0, i64 0, i32 2 | |
store i16 %k.2, i16* %484, align 8 | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %39) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %28) | |
br label %bb67 | |
panic: ; preds = %bb87 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.5 to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %iter.sroa.0.0375, i64 %3) | |
unreachable | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7flt2dec8strategy5grisu12cached_power17h22d28164b741da7eE({ i16, [6 x i8], %"num::diy_float::Fp", [0 x i8] }* noalias nocapture sret dereferenceable(24), i16, i16) unnamed_addr #2 { | |
start: | |
%3 = sext i16 %2 to i32 | |
%4 = mul nsw i32 %3, 80 | |
%5 = add i32 %4, 86960 | |
%6 = sdiv i32 %5, 2126 | |
%7 = sext i32 %6 to i64 | |
%8 = icmp ult i32 %6, 81 | |
br i1 %8, label %bb4, label %panic1, !prof !5 | |
bb4: ; preds = %start | |
%9 = getelementptr inbounds [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }], [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]* 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_POW1017hbb880931a269811cE to [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]*), i64 0, i64 %7, i32 0 | |
%10 = load i64, i64* %9, align 8 | |
%11 = getelementptr inbounds [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }], [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]* 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_POW1017hbb880931a269811cE to [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]*), i64 0, i64 %7, i32 2 | |
%12 = load i16, i16* %11, align 8 | |
%13 = getelementptr inbounds [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }], [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]* 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_POW1017hbb880931a269811cE to [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]*), i64 0, i64 %7, i32 4 | |
%14 = load i16, i16* %13, align 2 | |
%15 = getelementptr inbounds { i16, [6 x i8], %"num::diy_float::Fp", [0 x i8] }, { i16, [6 x i8], %"num::diy_float::Fp", [0 x i8] }* %0, i64 0, i32 0 | |
store i16 %14, i16* %15, align 8 | |
%16 = getelementptr inbounds { i16, [6 x i8], %"num::diy_float::Fp", [0 x i8] }, { i16, [6 x i8], %"num::diy_float::Fp", [0 x i8] }* %0, i64 0, i32 2, i32 0 | |
store i64 %10, i64* %16, align 8 | |
%17 = getelementptr inbounds { i16, [6 x i8], %"num::diy_float::Fp", [0 x i8] }, { i16, [6 x i8], %"num::diy_float::Fp", [0 x i8] }* %0, i64 0, i32 2, i32 2 | |
store i16 %12, i16* %17, align 8 | |
ret void | |
panic1: ; preds = %start | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.c to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %7, i64 81) | |
unreachable | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define i64 @_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE(i32) unnamed_addr #0 { | |
start: | |
%1 = icmp ult i32 %0, 10000 | |
br i1 %1, label %bb1, label %bb2 | |
bb1: ; preds = %start | |
%2 = icmp ult i32 %0, 100 | |
br i1 %2, label %bb3, label %bb4 | |
bb2: ; preds = %start | |
%3 = icmp ult i32 %0, 1000000 | |
br i1 %3, label %bb12, label %bb13 | |
bb3: ; preds = %bb1 | |
%4 = icmp ult i32 %0, 10 | |
%not. = xor i1 %4, true | |
%.sink2 = zext i1 %not. to i64 | |
%.sink = select i1 %4, i64 4294967296, i64 42949672960 | |
br label %bb27 | |
bb4: ; preds = %bb1 | |
%5 = icmp ult i32 %0, 1000 | |
%.sink5 = select i1 %5, i64 2, i64 3 | |
%.sink3 = select i1 %5, i64 429496729600, i64 4294967296000 | |
br label %bb27 | |
bb12: ; preds = %bb2 | |
%6 = icmp ult i32 %0, 100000 | |
%.sink9 = select i1 %6, i64 4, i64 5 | |
%.sink7 = select i1 %6, i64 42949672960000, i64 429496729600000 | |
br label %bb27 | |
bb13: ; preds = %bb2 | |
%7 = icmp ult i32 %0, 100000000 | |
br i1 %7, label %bb17, label %bb18 | |
bb17: ; preds = %bb13 | |
%8 = icmp ult i32 %0, 10000000 | |
%.sink12 = select i1 %8, i64 6, i64 7 | |
%.sink10 = select i1 %8, i64 4294967296000000, i64 42949672960000000 | |
br label %bb27 | |
bb18: ; preds = %bb13 | |
%9 = icmp ult i32 %0, 1000000000 | |
%.sink15 = select i1 %9, i64 8, i64 9 | |
%.sink13 = select i1 %9, i64 429496729600000000, i64 4294967296000000000 | |
br label %bb27 | |
bb27: ; preds = %bb12, %bb18, %bb17, %bb3, %bb4 | |
%.sink9.sink = phi i64 [ %.sink9, %bb12 ], [ %.sink15, %bb18 ], [ %.sink12, %bb17 ], [ %.sink2, %bb3 ], [ %.sink5, %bb4 ] | |
%.sink13.sink.sink.sink = phi i64 [ %.sink7, %bb12 ], [ %.sink13, %bb18 ], [ %.sink10, %bb17 ], [ %.sink, %bb3 ], [ %.sink3, %bb4 ] | |
%_0.sroa.0.0.insert.insert = or i64 %.sink13.sink.sink.sink, %.sink9.sink | |
ret i64 %_0.sroa.0.0.insert.insert | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt17ha1d9a3cc51e644c7E(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(24), %"num::flt2dec::decoder::Decoded"* noalias nocapture readonly dereferenceable(32), i8* nonnull, i64) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%_31.i67 = alloca %"fmt::Arguments", align 8 | |
%right_val.i68 = alloca i64*, align 8 | |
%left_val.i69 = alloca i64*, align 8 | |
%_19.i70 = alloca i64, align 8 | |
%_36.i = alloca [2 x %"fmt::ArgumentV1"], align 8 | |
%_31.i = alloca %"fmt::Arguments", align 8 | |
%right_val.i = alloca i64*, align 8 | |
%left_val.i = alloca i64*, align 8 | |
%_19.i = alloca i64, align 8 | |
%_74 = alloca %"num::diy_float::Fp", align 8 | |
%_66 = alloca %"num::diy_float::Fp", align 8 | |
%4 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 0 | |
%5 = load i64, i64* %4, align 8 | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %bb1, label %bb2 | |
bb1: ; preds = %start | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h080c88a7226b45d5E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb2: ; preds = %start | |
%7 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 2 | |
%8 = load i64, i64* %7, align 8 | |
%9 = icmp eq i64 %8, 0 | |
br i1 %9, label %bb3, label %bb4 | |
bb3: ; preds = %bb2 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17hf33bde18075a3235E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb4: ; preds = %bb2 | |
%10 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 4 | |
%11 = load i64, i64* %10, align 8 | |
%12 = icmp eq i64 %11, 0 | |
br i1 %12, label %bb5, label %bb6 | |
bb5: ; preds = %bb4 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17hc7d0a8da67eccedcE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %bb4 | |
%13 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %5, i64 %11) #16 | |
%14 = extractvalue { i64, i1 } %13, 1 | |
br i1 %14, label %bb9, label %bb10 | |
bb9: ; preds = %bb6 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h8db95e0f4e90f938E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb10: ; preds = %bb6 | |
%15 = tail call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %5, i64 %8) #16 | |
%16 = extractvalue { i64, i1 } %15, 1 | |
br i1 %16, label %bb13, label %bb14 | |
bb13: ; preds = %bb10 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h854b02c68656b31aE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb14: ; preds = %bb10 | |
%17 = icmp ult i64 %3, 17 | |
br i1 %17, label %bb16, label %bb17 | |
bb16: ; preds = %bb14 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h7fcf8694fb79431fE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb17: ; preds = %bb14 | |
%18 = add i64 %11, %5 | |
%19 = icmp ugt i64 %18, 2305843009213693951 | |
br i1 %19, label %bb18, label %bb19 | |
bb18: ; preds = %bb17 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE17h31be4e43f7df40abE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb19: ; preds = %bb17 | |
%20 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 6 | |
%21 = load i16, i16* %20, align 2 | |
%22 = icmp ult i64 %18, 4294967296 | |
%23 = shl i64 %18, 32 | |
%24 = add i16 %21, -32 | |
%e.0.i = select i1 %22, i16 %24, i16 %21 | |
%f.0.i = select i1 %22, i64 %23, i64 %18 | |
%25 = icmp ult i64 %f.0.i, 281474976710656 | |
%26 = shl i64 %f.0.i, 16 | |
%27 = add i16 %e.0.i, -16 | |
%e.1.i = select i1 %25, i16 %27, i16 %e.0.i | |
%f.1.i = select i1 %25, i64 %26, i64 %f.0.i | |
%28 = icmp ult i64 %f.1.i, 72057594037927936 | |
%29 = shl i64 %f.1.i, 8 | |
%30 = add i16 %e.1.i, -8 | |
%e.2.i = select i1 %28, i16 %30, i16 %e.1.i | |
%f.2.i = select i1 %28, i64 %29, i64 %f.1.i | |
%31 = icmp ult i64 %f.2.i, 1152921504606846976 | |
%32 = shl i64 %f.2.i, 4 | |
%33 = add i16 %e.2.i, -4 | |
%e.3.i = select i1 %31, i16 %33, i16 %e.2.i | |
%f.3.i = select i1 %31, i64 %32, i64 %f.2.i | |
%34 = icmp ult i64 %f.3.i, 4611686018427387904 | |
%35 = shl i64 %f.3.i, 2 | |
%36 = add i16 %e.3.i, -2 | |
%e.4.i = select i1 %34, i16 %36, i16 %e.3.i | |
%f.4.i = select i1 %34, i64 %35, i64 %f.3.i | |
%f.4.lobit.i = ashr i64 %f.4.i, 63 | |
%37 = trunc i64 %f.4.lobit.i to i16 | |
%.not.i = xor i16 %37, -1 | |
%e.5.i = add i16 %e.4.i, %.not.i | |
%f.4.lobit21.i = lshr i64 %f.4.i, 63 | |
%f.4.lobit21.not.i = xor i64 %f.4.lobit21.i, 1 | |
%f.5.i = shl i64 %f.4.i, %f.4.lobit21.not.i | |
%38 = bitcast %"num::diy_float::Fp"* %_66 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %38) | |
%39 = sub i64 %5, %8 | |
%40 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_66, i64 0, i32 0 | |
store i64 %39, i64* %40, align 8 | |
%41 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_66, i64 0, i32 2 | |
store i16 %21, i16* %41, align 8 | |
%42 = sub i16 %21, %e.5.i | |
%43 = icmp slt i16 %42, 0 | |
br i1 %43, label %bb1.i, label %bb2.i64 | |
bb1.i: ; preds = %bb19 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num9diy_float2Fp12normalize_to14_MSG_FILE_LINE17h2f2c83a59b92ffc4E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)), !noalias !583 | |
unreachable | |
bb2.i64: ; preds = %bb19 | |
%44 = bitcast i64* %_19.i to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %44), !noalias !586 | |
%45 = and i16 %42, 63 | |
%46 = zext i16 %45 to i64 | |
%47 = shl i64 %39, %46 | |
%48 = lshr i64 %47, %46 | |
store i64 %48, i64* %_19.i, align 8, !noalias !586 | |
%49 = bitcast i64** %left_val.i to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %49), !noalias !586 | |
store i64* %_19.i, i64** %left_val.i, align 8, !noalias !586 | |
%50 = bitcast i64** %right_val.i to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %50), !noalias !586 | |
store i64* %40, i64** %right_val.i, align 8, !noalias !586 | |
%51 = icmp eq i64 %48, %39 | |
br i1 %51, label %bb2.i72, label %bb3.i65 | |
bb3.i65: ; preds = %bb2.i64 | |
%52 = bitcast %"fmt::Arguments"* %_31.i to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %52), !noalias !586 | |
%53 = bitcast [2 x %"fmt::ArgumentV1"]* %_36.i to i8* | |
call void @llvm.lifetime.start(i64 32, i8* nonnull %53), !noalias !586 | |
%54 = ptrtoint i64** %left_val.i to i64 | |
%55 = ptrtoint i64** %right_val.i to i64 | |
%56 = bitcast [2 x %"fmt::ArgumentV1"]* %_36.i to i64* | |
store i64 %54, i64* %56, align 8, !noalias !586 | |
%57 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_36.i, i64 0, i64 0, i32 2 | |
%58 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %57 to i64* | |
store i64 ptrtoint (i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4bdf30265ff44dd6E" to i64), i64* %58, align 8, !noalias !586 | |
%59 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_36.i, i64 0, i64 1 | |
%60 = bitcast %"fmt::ArgumentV1"* %59 to i64* | |
store i64 %55, i64* %60, align 8, !noalias !586 | |
%61 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_36.i, i64 0, i64 1, i32 2 | |
%62 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %61 to i64* | |
store i64 ptrtoint (i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4bdf30265ff44dd6E" to i64), i64* %62, align 8, !noalias !586 | |
%63 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_36.i, i64 0, i64 0 | |
%64 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31.i, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.3x, i64 0, i64 0), %str_slice** %64, align 8, !alias.scope !588, !noalias !591 | |
%65 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31.i, i64 0, i32 0, i32 1 | |
store i64 3, i64* %65, align 8, !alias.scope !588, !noalias !591 | |
%_6.sroa.0.0..sroa_idx.i.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31.i, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i.i, align 8, !alias.scope !588, !noalias !591 | |
%66 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31.i, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %63, %"fmt::ArgumentV1"** %66, align 8, !alias.scope !588, !noalias !591 | |
%67 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31.i, i64 0, i32 4, i32 1 | |
store i64 2, i64* %67, align 8, !alias.scope !588, !noalias !591 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_31.i, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num9diy_float2Fp12normalize_to10_FILE_LINE17h8c3fc481ef3ad19aE to { %str_slice, [0 x i8], i32, [4 x i8] }*)), !noalias !583 | |
unreachable | |
bb2.i72: ; preds = %bb2.i64 | |
call void @llvm.lifetime.end(i64 8, i8* nonnull %50), !noalias !586 | |
call void @llvm.lifetime.end(i64 8, i8* nonnull %49), !noalias !586 | |
call void @llvm.lifetime.end(i64 8, i8* nonnull %44), !noalias !586 | |
call void @llvm.lifetime.end(i64 16, i8* nonnull %38) | |
%68 = bitcast %"num::diy_float::Fp"* %_74 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %68) | |
%69 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_74, i64 0, i32 0 | |
store i64 %5, i64* %69, align 8 | |
%70 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %_74, i64 0, i32 2 | |
store i16 %21, i16* %70, align 8 | |
%71 = bitcast i64* %_19.i70 to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %71), !noalias !594 | |
%72 = shl i64 %5, %46 | |
%73 = lshr i64 %72, %46 | |
store i64 %73, i64* %_19.i70, align 8, !noalias !594 | |
%74 = bitcast i64** %left_val.i69 to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %74), !noalias !594 | |
store i64* %_19.i70, i64** %left_val.i69, align 8, !noalias !594 | |
%75 = bitcast i64** %right_val.i68 to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %75), !noalias !594 | |
store i64* %69, i64** %right_val.i68, align 8, !noalias !594 | |
%76 = icmp eq i64 %73, %5 | |
br i1 %76, label %_ZN4core3num9diy_float2Fp12normalize_to17h26f99aa0f555e1f5E.exit75, label %bb3.i74 | |
bb3.i74: ; preds = %bb2.i72 | |
%77 = bitcast %"fmt::Arguments"* %_31.i67 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %77), !noalias !594 | |
%78 = bitcast [2 x %"fmt::ArgumentV1"]* %_36.i to i8* | |
call void @llvm.lifetime.start(i64 32, i8* nonnull %78), !noalias !594 | |
%79 = ptrtoint i64** %left_val.i69 to i64 | |
%80 = ptrtoint i64** %right_val.i68 to i64 | |
%81 = bitcast [2 x %"fmt::ArgumentV1"]* %_36.i to i64* | |
store i64 %79, i64* %81, align 8, !noalias !594 | |
%82 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_36.i, i64 0, i64 0, i32 2 | |
%83 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %82 to i64* | |
store i64 ptrtoint (i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4bdf30265ff44dd6E" to i64), i64* %83, align 8, !noalias !594 | |
%84 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_36.i, i64 0, i64 1 | |
%85 = bitcast %"fmt::ArgumentV1"* %84 to i64* | |
store i64 %80, i64* %85, align 8, !noalias !594 | |
%86 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_36.i, i64 0, i64 1, i32 2 | |
%87 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %86 to i64* | |
store i64 ptrtoint (i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4bdf30265ff44dd6E" to i64), i64* %87, align 8, !noalias !594 | |
%88 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_36.i, i64 0, i64 0 | |
%89 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31.i67, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.3x, i64 0, i64 0), %str_slice** %89, align 8, !alias.scope !598, !noalias !601 | |
%90 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31.i67, i64 0, i32 0, i32 1 | |
store i64 3, i64* %90, align 8, !alias.scope !598, !noalias !601 | |
%_6.sroa.0.0..sroa_idx.i.i73 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31.i67, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i.i73, align 8, !alias.scope !598, !noalias !601 | |
%91 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31.i67, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %88, %"fmt::ArgumentV1"** %91, align 8, !alias.scope !598, !noalias !601 | |
%92 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31.i67, i64 0, i32 4, i32 1 | |
store i64 2, i64* %92, align 8, !alias.scope !598, !noalias !601 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_31.i67, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num9diy_float2Fp12normalize_to10_FILE_LINE17h8c3fc481ef3ad19aE to { %str_slice, [0 x i8], i32, [4 x i8] }*)), !noalias !604 | |
unreachable | |
_ZN4core3num9diy_float2Fp12normalize_to17h26f99aa0f555e1f5E.exit75: ; preds = %bb2.i72 | |
call void @llvm.lifetime.end(i64 8, i8* nonnull %75), !noalias !594 | |
call void @llvm.lifetime.end(i64 8, i8* nonnull %74), !noalias !594 | |
call void @llvm.lifetime.end(i64 8, i8* nonnull %71), !noalias !594 | |
call void @llvm.lifetime.end(i64 16, i8* nonnull %68) | |
%93 = sub i16 -96, %e.5.i | |
%94 = sext i16 %93 to i32 | |
%95 = mul nsw i32 %94, 80 | |
%96 = add i32 %95, 86960 | |
%97 = sdiv i32 %96, 2126 | |
%98 = sext i32 %97 to i64 | |
%99 = icmp ult i32 %97, 81 | |
br i1 %99, label %_ZN4core3num7flt2dec8strategy5grisu12cached_power17h22d28164b741da7eE.exit, label %panic1.i, !prof !5 | |
panic1.i: ; preds = %_ZN4core3num9diy_float2Fp12normalize_to17h26f99aa0f555e1f5E.exit75 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.c to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %98, i64 81), !noalias !605 | |
unreachable | |
_ZN4core3num7flt2dec8strategy5grisu12cached_power17h22d28164b741da7eE.exit: ; preds = %_ZN4core3num9diy_float2Fp12normalize_to17h26f99aa0f555e1f5E.exit75 | |
%100 = getelementptr inbounds [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }], [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]* 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_POW1017hbb880931a269811cE to [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]*), i64 0, i64 %98, i32 0 | |
%101 = load i64, i64* %100, align 8, !noalias !605 | |
%102 = getelementptr inbounds [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }], [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]* 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_POW1017hbb880931a269811cE to [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]*), i64 0, i64 %98, i32 2 | |
%103 = load i16, i16* %102, align 8, !noalias !605 | |
%104 = getelementptr inbounds [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }], [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]* 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_POW1017hbb880931a269811cE to [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]*), i64 0, i64 %98, i32 4 | |
%105 = load i16, i16* %104, align 2, !noalias !605 | |
%106 = lshr i64 %f.5.i, 32 | |
%107 = and i64 %f.5.i, 4294967295 | |
%108 = lshr i64 %101, 32 | |
%109 = and i64 %101, 4294967295 | |
%110 = mul nuw i64 %108, %106 | |
%111 = mul nuw i64 %108, %107 | |
%112 = mul nuw i64 %109, %106 | |
%113 = mul nuw i64 %109, %107 | |
%114 = lshr i64 %113, 32 | |
%115 = and i64 %112, 4294967295 | |
%116 = and i64 %111, 4294967295 | |
%117 = add nuw nsw i64 %115, 2147483648 | |
%118 = add nuw nsw i64 %117, %114 | |
%119 = add nuw nsw i64 %118, %116 | |
%120 = lshr i64 %112, 32 | |
%121 = lshr i64 %111, 32 | |
%122 = lshr i64 %119, 32 | |
%123 = add i16 %e.5.i, %103 | |
%124 = lshr i64 %47, 32 | |
%125 = and i64 %47, 4294967295 | |
%126 = mul nuw i64 %108, %124 | |
%127 = mul nuw i64 %108, %125 | |
%128 = mul nuw i64 %109, %124 | |
%129 = mul nuw i64 %109, %125 | |
%130 = lshr i64 %129, 32 | |
%131 = and i64 %128, 4294967295 | |
%132 = and i64 %127, 4294967295 | |
%133 = add nuw nsw i64 %131, 2147483648 | |
%134 = add nuw nsw i64 %133, %130 | |
%135 = add nuw nsw i64 %134, %132 | |
%136 = lshr i64 %128, 32 | |
%137 = lshr i64 %127, 32 | |
%138 = lshr i64 %135, 32 | |
%139 = lshr i64 %72, 32 | |
%140 = and i64 %72, 4294967295 | |
%141 = mul nuw i64 %108, %139 | |
%142 = mul nuw i64 %108, %140 | |
%143 = mul nuw i64 %109, %139 | |
%144 = mul nuw i64 %109, %140 | |
%145 = lshr i64 %144, 32 | |
%146 = and i64 %143, 4294967295 | |
%147 = and i64 %142, 4294967295 | |
%148 = add nuw nsw i64 %146, 2147483648 | |
%149 = add nuw nsw i64 %148, %145 | |
%150 = add nuw nsw i64 %149, %147 | |
%151 = lshr i64 %143, 32 | |
%152 = add i64 %151, %141 | |
%153 = lshr i64 %142, 32 | |
%154 = add i64 %152, %153 | |
%155 = lshr i64 %150, 32 | |
%156 = add i64 %154, %155 | |
%157 = add i64 %110, 1 | |
%158 = add i64 %157, %120 | |
%159 = add i64 %158, %121 | |
%160 = add i64 %159, %122 | |
%161 = sub i16 0, %123 | |
%162 = and i16 %161, 63 | |
%163 = zext i16 %162 to i64 | |
%164 = lshr i64 %160, %163 | |
%165 = trunc i64 %164 to i32 | |
%166 = shl i64 1, %163 | |
%167 = add i64 %166, -1 | |
%168 = and i64 %160, %167 | |
%169 = icmp ult i32 %165, 10000 | |
br i1 %169, label %bb1.i78, label %bb2.i79 | |
bb1.i78: ; preds = %_ZN4core3num7flt2dec8strategy5grisu12cached_power17h22d28164b741da7eE.exit | |
%170 = icmp ult i32 %165, 100 | |
br i1 %170, label %bb3.i81, label %bb4.i | |
bb2.i79: ; preds = %_ZN4core3num7flt2dec8strategy5grisu12cached_power17h22d28164b741da7eE.exit | |
%171 = icmp ult i32 %165, 1000000 | |
br i1 %171, label %bb12.i, label %bb13.i | |
bb3.i81: ; preds = %bb1.i78 | |
%172 = icmp ult i32 %165, 10 | |
%not..i80 = xor i1 %172, true | |
%.sink2.i = zext i1 %not..i80 to i64 | |
%.sink.i = select i1 %172, i32 1, i32 10 | |
br label %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit | |
bb4.i: ; preds = %bb1.i78 | |
%173 = icmp ult i32 %165, 1000 | |
%.sink5.i = select i1 %173, i64 2, i64 3 | |
%.sink3.i = select i1 %173, i32 100, i32 1000 | |
br label %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit | |
bb12.i: ; preds = %bb2.i79 | |
%174 = icmp ult i32 %165, 100000 | |
%.sink9.i = select i1 %174, i64 4, i64 5 | |
%.sink7.i = select i1 %174, i32 10000, i32 100000 | |
br label %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit | |
bb13.i: ; preds = %bb2.i79 | |
%175 = icmp ult i32 %165, 100000000 | |
br i1 %175, label %bb17.i, label %bb18.i82 | |
bb17.i: ; preds = %bb13.i | |
%176 = icmp ult i32 %165, 10000000 | |
%.sink12.i = select i1 %176, i64 6, i64 7 | |
%.sink10.i = select i1 %176, i32 1000000, i32 10000000 | |
br label %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit | |
bb18.i82: ; preds = %bb13.i | |
%177 = icmp ult i32 %165, 1000000000 | |
%.sink15.i = select i1 %177, i64 8, i64 9 | |
%.sink13.i = select i1 %177, i32 100000000, i32 1000000000 | |
br label %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit | |
_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit: ; preds = %bb3.i81, %bb4.i, %bb12.i, %bb17.i, %bb18.i82 | |
%.sink9.sink.i = phi i64 [ %.sink9.i, %bb12.i ], [ %.sink15.i, %bb18.i82 ], [ %.sink12.i, %bb17.i ], [ %.sink2.i, %bb3.i81 ], [ %.sink5.i, %bb4.i ] | |
%.sink13.sink.sink.sink.i = phi i32 [ %.sink7.i, %bb12.i ], [ %.sink13.i, %bb18.i82 ], [ %.sink10.i, %bb17.i ], [ %.sink.i, %bb3.i81 ], [ %.sink3.i, %bb4.i ] | |
%178 = trunc i64 %.sink9.sink.i to i16 | |
%179 = sub i16 %178, %105 | |
%180 = add i16 %179, 1 | |
%.neg120 = sub i64 1, %126 | |
%.neg121 = sub i64 %.neg120, %136 | |
%.neg123 = sub i64 %.neg121, %137 | |
%.neg124 = sub i64 %.neg123, %138 | |
%181 = add i64 %.neg124, %160 | |
%182 = and i64 %181, %167 | |
br label %bb30 | |
bb30: ; preds = %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit, %bb37 | |
%i.0148 = phi i64 [ 0, %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit ], [ %189, %bb37 ] | |
%ten_kappa.0147 = phi i32 [ %.sink13.sink.sink.sink.i, %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit ], [ %226, %bb37 ] | |
%remainder.0146 = phi i32 [ %165, %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit ], [ %183, %bb37 ] | |
%183 = urem i32 %remainder.0146, %ten_kappa.0147 | |
%184 = icmp ult i64 %i.0148, %3 | |
br i1 %184, label %bb31, label %panic6, !prof !5 | |
bb31: ; preds = %bb30 | |
%185 = udiv i32 %remainder.0146, %ten_kappa.0147 | |
%186 = trunc i32 %185 to i8 | |
%187 = getelementptr inbounds i8, i8* %2, i64 %i.0148 | |
%188 = add i8 %186, 48 | |
store i8 %188, i8* %187, align 1 | |
%189 = add nuw nsw i64 %i.0148, 1 | |
%190 = zext i32 %183 to i64 | |
%191 = shl i64 %190, %163 | |
%192 = add i64 %191, %168 | |
%193 = icmp ugt i64 %181, %192 | |
br i1 %193, label %bb32, label %bb33 | |
bb32: ; preds = %bb31 | |
%194 = zext i32 %ten_kappa.0147 to i64 | |
%195 = shl i64 %194, %163 | |
%196 = icmp ugt i64 %189, %3 | |
br i1 %196, label %bb4.i.i.i76, label %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h2a93ee6537774a89E.exit.i44" | |
bb4.i.i.i76: ; preds = %bb32 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %189, i64 %3), !noalias !608 | |
unreachable | |
"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h2a93ee6537774a89E.exit.i44": ; preds = %bb32 | |
%197 = sub i64 %160, %156 | |
%198 = add i64 %197, 1 | |
%199 = add i64 %197, -1 | |
%200 = icmp ule i64 %199, %192 | |
%201 = sub i64 %181, %192 | |
%202 = icmp ult i64 %201, %195 | |
%or.cond24.i43 = or i1 %200, %202 | |
br i1 %or.cond24.i43, label %bb9.i48, label %bb10.i50.preheader | |
bb10.i50.preheader: ; preds = %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h2a93ee6537774a89E.exit.i44" | |
br label %bb10.i50 | |
bb9.i48.loopexit: ; preds = %bb18.i52, %bb20.i54 | |
%plus1w.0.lcssa.i45.ph = phi i64 [ %205, %bb20.i54 ], [ %plus1w.025.i49, %bb18.i52 ] | |
%.lcssa.i46.ph = phi i1 [ %212, %bb20.i54 ], [ false, %bb18.i52 ] | |
br label %bb9.i48 | |
bb9.i48: ; preds = %bb9.i48.loopexit, %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h2a93ee6537774a89E.exit.i44" | |
%plus1w.0.lcssa.i45 = phi i64 [ %192, %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h2a93ee6537774a89E.exit.i44" ], [ %plus1w.0.lcssa.i45.ph, %bb9.i48.loopexit ] | |
%.lcssa.i46 = phi i1 [ %202, %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h2a93ee6537774a89E.exit.i44" ], [ %.lcssa.i46.ph, %bb9.i48.loopexit ] | |
%203 = icmp ule i64 %198, %plus1w.0.lcssa.i45 | |
%or.cond21.i47 = or i1 %203, %.lcssa.i46 | |
br i1 %or.cond21.i47, label %bb22.i55, label %bb23.i56 | |
bb10.i50: ; preds = %bb10.i50.preheader, %bb20.i54 | |
%204 = phi i8 [ %209, %bb20.i54 ], [ %188, %bb10.i50.preheader ] | |
%plus1w.025.i49 = phi i64 [ %205, %bb20.i54 ], [ %192, %bb10.i50.preheader ] | |
%205 = add i64 %plus1w.025.i49, %195 | |
%206 = icmp ult i64 %205, %199 | |
br i1 %206, label %bb20.i54, label %bb18.i52 | |
bb18.i52: ; preds = %bb10.i50 | |
%207 = sub i64 %199, %plus1w.025.i49 | |
%208 = sub i64 %205, %199 | |
%not..i51 = icmp ult i64 %207, %208 | |
br i1 %not..i51, label %bb9.i48.loopexit, label %bb20.i54 | |
bb20.i54: ; preds = %bb18.i52, %bb10.i50 | |
%209 = add i8 %204, -1 | |
store i8 %209, i8* %187, align 1, !noalias !611 | |
%210 = icmp uge i64 %205, %199 | |
%211 = sub i64 %181, %205 | |
%212 = icmp ult i64 %211, %195 | |
%or.cond.i53 = or i1 %210, %212 | |
br i1 %or.cond.i53, label %bb9.i48.loopexit, label %bb10.i50 | |
bb22.i55: ; preds = %bb31.i58, %bb9.i48 | |
%213 = icmp ult i64 %plus1w.0.lcssa.i45, 2 | |
%214 = add i64 %181, -4 | |
%215 = icmp ugt i64 %plus1w.0.lcssa.i45, %214 | |
%or.cond = or i1 %213, %215 | |
%216 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
br i1 %or.cond, label %bb37.i60, label %bb40.i62 | |
bb23.i56: ; preds = %bb9.i48 | |
%217 = add i64 %plus1w.0.lcssa.i45, %195 | |
%218 = icmp ult i64 %217, %198 | |
br i1 %218, label %bb33.i59, label %bb31.i58 | |
bb31.i58: ; preds = %bb23.i56 | |
%219 = sub i64 %198, %plus1w.0.lcssa.i45 | |
%220 = sub i64 %217, %198 | |
%not.23.i57 = icmp ult i64 %219, %220 | |
br i1 %not.23.i57, label %bb22.i55, label %bb33.i59 | |
bb33.i59: ; preds = %bb31.i58, %bb23.i56 | |
%221 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %221, align 8, !alias.scope !611 | |
br label %bb36 | |
bb37.i60: ; preds = %bb22.i55 | |
store i64 0, i64* %216, align 8, !alias.scope !611 | |
br label %bb36 | |
bb40.i62: ; preds = %bb22.i55 | |
store i64 1, i64* %216, align 8, !alias.scope !611 | |
%222 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 0 | |
store i64 %189, i64* %222, align 8, !alias.scope !611 | |
%223 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 1 | |
%224 = bitcast i64* %223 to i16* | |
store i16 %180, i16* %224, align 8, !alias.scope !611 | |
br label %bb36 | |
bb33: ; preds = %bb31 | |
%225 = icmp ugt i64 %189, %.sink9.sink.i | |
br i1 %225, label %bb40.preheader, label %bb37 | |
bb40.preheader: ; preds = %bb33 | |
br label %bb40 | |
bb36: ; preds = %bb40.i, %bb37.i, %bb33.i, %bb40.i62, %bb37.i60, %bb33.i59 | |
ret void | |
bb37: ; preds = %bb33 | |
%226 = udiv i32 %ten_kappa.0147, 10 | |
%227 = icmp ult i32 %ten_kappa.0147, 10 | |
br i1 %227, label %panic, label %bb30, !prof !614 | |
bb40: ; preds = %bb40.preheader, %bb41 | |
%threshold.0 = phi i64 [ %229, %bb41 ], [ %182, %bb40.preheader ] | |
%remainder1.0 = phi i64 [ %231, %bb41 ], [ %168, %bb40.preheader ] | |
%ulp.0 = phi i64 [ %230, %bb41 ], [ 1, %bb40.preheader ] | |
%i.1 = phi i64 [ %237, %bb41 ], [ %189, %bb40.preheader ] | |
%228 = mul i64 %remainder1.0, 10 | |
%229 = mul i64 %threshold.0, 10 | |
%230 = mul i64 %ulp.0, 10 | |
%231 = and i64 %228, %167 | |
%232 = icmp ult i64 %i.1, %3 | |
br i1 %232, label %bb41, label %panic7, !prof !5 | |
bb41: ; preds = %bb40 | |
%233 = lshr i64 %228, %163 | |
%234 = trunc i64 %233 to i8 | |
%235 = getelementptr inbounds i8, i8* %2, i64 %i.1 | |
%236 = add i8 %234, 48 | |
store i8 %236, i8* %235, align 1 | |
%237 = add i64 %i.1, 1 | |
%238 = icmp ugt i64 %229, %231 | |
br i1 %238, label %bb42, label %bb40 | |
bb42: ; preds = %bb41 | |
%239 = icmp ugt i64 %237, %3 | |
br i1 %239, label %bb4.i.i.i, label %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h2a93ee6537774a89E.exit.i" | |
bb4.i.i.i: ; preds = %bb42 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %237, i64 %3), !noalias !615 | |
unreachable | |
"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h2a93ee6537774a89E.exit.i": ; preds = %bb42 | |
%240 = sub i64 %160, %156 | |
%241 = mul i64 %230, %240 | |
%242 = add i64 %241, %230 | |
%243 = sub i64 %241, %230 | |
%244 = icmp ule i64 %243, %231 | |
%245 = sub i64 %229, %231 | |
%246 = icmp ult i64 %245, %166 | |
%or.cond24.i = or i1 %246, %244 | |
br i1 %or.cond24.i, label %bb9.i, label %bb10.i.preheader | |
bb10.i.preheader: ; preds = %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h2a93ee6537774a89E.exit.i" | |
br label %bb10.i | |
bb9.i.loopexit: ; preds = %bb18.i, %bb20.i | |
%plus1w.0.lcssa.i.ph = phi i64 [ %249, %bb20.i ], [ %plus1w.025.i, %bb18.i ] | |
%.lcssa.i.ph = phi i1 [ %256, %bb20.i ], [ false, %bb18.i ] | |
br label %bb9.i | |
bb9.i: ; preds = %bb9.i.loopexit, %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h2a93ee6537774a89E.exit.i" | |
%plus1w.0.lcssa.i = phi i64 [ %231, %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h2a93ee6537774a89E.exit.i" ], [ %plus1w.0.lcssa.i.ph, %bb9.i.loopexit ] | |
%.lcssa.i = phi i1 [ %246, %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17h2a93ee6537774a89E.exit.i" ], [ %.lcssa.i.ph, %bb9.i.loopexit ] | |
%247 = icmp ule i64 %242, %plus1w.0.lcssa.i | |
%or.cond21.i = or i1 %247, %.lcssa.i | |
br i1 %or.cond21.i, label %bb22.i, label %bb23.i | |
bb10.i: ; preds = %bb10.i.preheader, %bb20.i | |
%248 = phi i8 [ %253, %bb20.i ], [ %236, %bb10.i.preheader ] | |
%plus1w.025.i = phi i64 [ %249, %bb20.i ], [ %231, %bb10.i.preheader ] | |
%249 = add i64 %plus1w.025.i, %166 | |
%250 = icmp ult i64 %249, %243 | |
br i1 %250, label %bb20.i, label %bb18.i | |
bb18.i: ; preds = %bb10.i | |
%251 = sub i64 %243, %plus1w.025.i | |
%252 = sub i64 %249, %243 | |
%not..i = icmp ult i64 %251, %252 | |
br i1 %not..i, label %bb9.i.loopexit, label %bb20.i | |
bb20.i: ; preds = %bb18.i, %bb10.i | |
%253 = add i8 %248, -1 | |
store i8 %253, i8* %235, align 1, !noalias !618 | |
%254 = icmp uge i64 %249, %243 | |
%255 = sub i64 %229, %249 | |
%256 = icmp ult i64 %255, %166 | |
%or.cond.i = or i1 %254, %256 | |
br i1 %or.cond.i, label %bb9.i.loopexit, label %bb10.i | |
bb22.i: ; preds = %bb31.i, %bb9.i | |
%257 = mul i64 %ulp.0, 20 | |
%258 = icmp ugt i64 %257, %plus1w.0.lcssa.i | |
br i1 %258, label %bb37.i, label %bb38.i | |
bb23.i: ; preds = %bb9.i | |
%259 = add i64 %plus1w.0.lcssa.i, %166 | |
%260 = icmp ult i64 %259, %242 | |
br i1 %260, label %bb33.i, label %bb31.i | |
bb31.i: ; preds = %bb23.i | |
%261 = sub i64 %242, %plus1w.0.lcssa.i | |
%262 = sub i64 %259, %242 | |
%not.23.i = icmp ult i64 %261, %262 | |
br i1 %not.23.i, label %bb22.i, label %bb33.i | |
bb33.i: ; preds = %bb31.i, %bb23.i | |
%263 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %263, align 8, !alias.scope !618 | |
br label %bb36 | |
bb37.i: ; preds = %bb38.i, %bb22.i | |
%264 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %264, align 8, !alias.scope !618 | |
br label %bb36 | |
bb38.i: ; preds = %bb22.i | |
%265 = mul i64 %ulp.0, -40 | |
%266 = add i64 %265, %229 | |
%267 = icmp ugt i64 %plus1w.0.lcssa.i, %266 | |
br i1 %267, label %bb37.i, label %bb40.i | |
bb40.i: ; preds = %bb38.i | |
%268 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 1, i64* %268, align 8, !alias.scope !618 | |
%269 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 0 | |
store i64 %237, i64* %269, align 8, !alias.scope !618 | |
%270 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 1 | |
%271 = bitcast i64* %270 to i16* | |
store i16 %180, i16* %271, align 8, !alias.scope !618 | |
br label %bb36 | |
panic: ; preds = %bb37 | |
call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32 }* @panic_loc.e to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
panic6: ; preds = %bb30 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.h to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %i.0148, i64 %3) | |
unreachable | |
panic7: ; preds = %bb40 | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.i to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %i.1, i64 %3) | |
unreachable | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7flt2dec8strategy5grisu15format_shortest17h2c0092e4c0028526E({ i64, [0 x i8], i16, [6 x i8] }* noalias nocapture sret dereferenceable(16), %"num::flt2dec::decoder::Decoded"* noalias nocapture readonly dereferenceable(32), i8* nonnull, i64) unnamed_addr #2 { | |
start: | |
%_5 = alloca %"option::Option<(usize, i16)>", align 8 | |
%4 = bitcast %"option::Option<(usize, i16)>"* %_5 to i8* | |
call void @llvm.lifetime.start(i64 24, i8* nonnull %4) | |
call void @_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt17ha1d9a3cc51e644c7E(%"option::Option<(usize, i16)>"* noalias nocapture nonnull sret dereferenceable(24) %_5, %"num::flt2dec::decoder::Decoded"* noalias nonnull readonly dereferenceable(32) %1, i8* nonnull %2, i64 %3) | |
%5 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %_5, i64 0, i32 0 | |
%6 = load i64, i64* %5, align 8, !range !621 | |
%cond = icmp eq i64 %6, 0 | |
br i1 %cond, label %bb2, label %bb3 | |
bb2: ; preds = %start | |
tail call void @_ZN4core3num7flt2dec8strategy6dragon15format_shortest17h651d3ae832a9ed27E({ i64, [0 x i8], i16, [6 x i8] }* noalias nocapture nonnull sret dereferenceable(16) %0, %"num::flt2dec::decoder::Decoded"* noalias nonnull readonly dereferenceable(32) %1, i8* nonnull %2, i64 %3) | |
br label %bb4 | |
bb3: ; preds = %start | |
%7 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %_5, i64 0, i32 2, i64 0 | |
%8 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %_5, i64 0, i32 2, i64 1 | |
%9 = bitcast i64* %8 to i16* | |
%10 = load i64, i64* %7, align 8 | |
%11 = load i16, i16* %9, align 8 | |
%12 = getelementptr inbounds { i64, [0 x i8], i16, [6 x i8] }, { i64, [0 x i8], i16, [6 x i8] }* %0, i64 0, i32 0 | |
store i64 %10, i64* %12, align 8 | |
%13 = getelementptr inbounds { i64, [0 x i8], i16, [6 x i8] }, { i64, [0 x i8], i16, [6 x i8] }* %0, i64 0, i32 2 | |
store i16 %11, i16* %13, align 8 | |
br label %bb4 | |
bb4: ; preds = %bb2, %bb3 | |
call void @llvm.lifetime.end(i64 24, i8* nonnull %4) | |
ret void | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt17h59c04905b53a0edaE(%"option::Option<(usize, i16)>"* noalias nocapture sret dereferenceable(24), %"num::flt2dec::decoder::Decoded"* noalias nocapture readonly dereferenceable(32), i8* nonnull, i64, i16) unnamed_addr #2 { | |
start: | |
%5 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 0 | |
%6 = load i64, i64* %5, align 8 | |
%7 = icmp eq i64 %6, 0 | |
br i1 %7, label %bb1, label %bb2 | |
bb1: ; preds = %start | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h6a93c40b8bf77ee9E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb2: ; preds = %start | |
%8 = icmp ugt i64 %6, 2305843009213693951 | |
br i1 %8, label %bb3, label %bb4 | |
bb3: ; preds = %bb2 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h38a127c36993cbbaE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb4: ; preds = %bb2 | |
%9 = icmp eq i64 %3, 0 | |
br i1 %9, label %bb6, label %bb7 | |
bb6: ; preds = %bb4 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE17h2ad745e254868d40E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb7: ; preds = %bb4 | |
%10 = getelementptr inbounds %"num::flt2dec::decoder::Decoded", %"num::flt2dec::decoder::Decoded"* %1, i64 0, i32 6 | |
%11 = load i16, i16* %10, align 2 | |
%12 = icmp ult i64 %6, 4294967296 | |
%13 = shl i64 %6, 32 | |
%14 = add i16 %11, -32 | |
%e.0.i = select i1 %12, i16 %14, i16 %11 | |
%f.0.i = select i1 %12, i64 %13, i64 %6 | |
%15 = icmp ult i64 %f.0.i, 281474976710656 | |
%16 = shl i64 %f.0.i, 16 | |
%17 = add i16 %e.0.i, -16 | |
%e.1.i = select i1 %15, i16 %17, i16 %e.0.i | |
%f.1.i = select i1 %15, i64 %16, i64 %f.0.i | |
%18 = icmp ult i64 %f.1.i, 72057594037927936 | |
%19 = shl i64 %f.1.i, 8 | |
%20 = add i16 %e.1.i, -8 | |
%e.2.i = select i1 %18, i16 %20, i16 %e.1.i | |
%f.2.i = select i1 %18, i64 %19, i64 %f.1.i | |
%21 = icmp ult i64 %f.2.i, 1152921504606846976 | |
%22 = shl i64 %f.2.i, 4 | |
%23 = add i16 %e.2.i, -4 | |
%e.3.i = select i1 %21, i16 %23, i16 %e.2.i | |
%f.3.i = select i1 %21, i64 %22, i64 %f.2.i | |
%24 = icmp ult i64 %f.3.i, 4611686018427387904 | |
%25 = shl i64 %f.3.i, 2 | |
%26 = add i16 %e.3.i, -2 | |
%e.4.i = select i1 %24, i16 %26, i16 %e.3.i | |
%f.4.i = select i1 %24, i64 %25, i64 %f.3.i | |
%f.4.lobit.i = ashr i64 %f.4.i, 63 | |
%27 = trunc i64 %f.4.lobit.i to i16 | |
%.not.i = xor i16 %27, -1 | |
%e.5.i = add i16 %e.4.i, %.not.i | |
%f.4.lobit21.i = lshr i64 %f.4.i, 63 | |
%f.4.lobit21.not.i = xor i64 %f.4.lobit21.i, 1 | |
%f.5.i = shl i64 %f.4.i, %f.4.lobit21.not.i | |
%28 = sub i16 -96, %e.5.i | |
%29 = sext i16 %28 to i32 | |
%30 = mul nsw i32 %29, 80 | |
%31 = add i32 %30, 86960 | |
%32 = sdiv i32 %31, 2126 | |
%33 = sext i32 %32 to i64 | |
%34 = icmp ult i32 %32, 81 | |
br i1 %34, label %_ZN4core3num7flt2dec8strategy5grisu12cached_power17h22d28164b741da7eE.exit, label %panic1.i, !prof !5 | |
panic1.i: ; preds = %bb7 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.c to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %33, i64 81), !noalias !622 | |
unreachable | |
_ZN4core3num7flt2dec8strategy5grisu12cached_power17h22d28164b741da7eE.exit: ; preds = %bb7 | |
%35 = getelementptr inbounds [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }], [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]* 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_POW1017hbb880931a269811cE to [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]*), i64 0, i64 %33, i32 0 | |
%36 = load i64, i64* %35, align 8, !noalias !622 | |
%37 = getelementptr inbounds [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }], [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]* 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_POW1017hbb880931a269811cE to [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]*), i64 0, i64 %33, i32 2 | |
%38 = load i16, i16* %37, align 8, !noalias !622 | |
%39 = getelementptr inbounds [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }], [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]* 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_POW1017hbb880931a269811cE to [81 x { i64, [0 x i8], i16, [0 x i8], i16, [4 x i8] }]*), i64 0, i64 %33, i32 4 | |
%40 = load i16, i16* %39, align 2, !noalias !622 | |
%41 = lshr i64 %f.5.i, 32 | |
%42 = and i64 %f.5.i, 4294967295 | |
%43 = lshr i64 %36, 32 | |
%44 = and i64 %36, 4294967295 | |
%45 = mul nuw i64 %43, %41 | |
%46 = mul nuw i64 %43, %42 | |
%47 = mul nuw i64 %44, %41 | |
%48 = mul nuw i64 %44, %42 | |
%49 = lshr i64 %48, 32 | |
%50 = and i64 %47, 4294967295 | |
%51 = and i64 %46, 4294967295 | |
%52 = add nuw nsw i64 %50, 2147483648 | |
%53 = add nuw nsw i64 %52, %49 | |
%54 = add nuw nsw i64 %53, %51 | |
%55 = lshr i64 %47, 32 | |
%56 = add i64 %55, %45 | |
%57 = lshr i64 %46, 32 | |
%58 = add i64 %56, %57 | |
%59 = lshr i64 %54, 32 | |
%60 = add i64 %58, %59 | |
%61 = add i16 %e.5.i, 64 | |
%62 = add i16 %61, %38 | |
%63 = sub i16 0, %62 | |
%64 = sext i16 %63 to i64 | |
%65 = and i64 %64, 63 | |
%66 = lshr i64 %60, %65 | |
%67 = trunc i64 %66 to i32 | |
%68 = shl i64 1, %65 | |
%69 = add i64 %68, -1 | |
%70 = and i64 %60, %69 | |
%71 = icmp ult i32 %67, 10000 | |
br i1 %71, label %bb1.i, label %bb2.i | |
bb1.i: ; preds = %_ZN4core3num7flt2dec8strategy5grisu12cached_power17h22d28164b741da7eE.exit | |
%72 = icmp ult i32 %67, 100 | |
br i1 %72, label %bb3.i, label %bb4.i | |
bb2.i: ; preds = %_ZN4core3num7flt2dec8strategy5grisu12cached_power17h22d28164b741da7eE.exit | |
%73 = icmp ult i32 %67, 1000000 | |
br i1 %73, label %bb12.i, label %bb13.i | |
bb3.i: ; preds = %bb1.i | |
%74 = icmp ult i32 %67, 10 | |
%not..i = xor i1 %74, true | |
%.sink2.i = zext i1 %not..i to i64 | |
%.sink.i = select i1 %74, i64 1, i64 10 | |
br label %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit | |
bb4.i: ; preds = %bb1.i | |
%75 = icmp ult i32 %67, 1000 | |
%.sink5.i = select i1 %75, i64 2, i64 3 | |
%.sink3.i = select i1 %75, i64 100, i64 1000 | |
br label %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit | |
bb12.i: ; preds = %bb2.i | |
%76 = icmp ult i32 %67, 100000 | |
%.sink9.i = select i1 %76, i64 4, i64 5 | |
%.sink7.i = select i1 %76, i64 10000, i64 100000 | |
br label %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit | |
bb13.i: ; preds = %bb2.i | |
%77 = icmp ult i32 %67, 100000000 | |
br i1 %77, label %bb17.i, label %bb18.i | |
bb17.i: ; preds = %bb13.i | |
%78 = icmp ult i32 %67, 10000000 | |
%.sink12.i = select i1 %78, i64 6, i64 7 | |
%.sink10.i = select i1 %78, i64 1000000, i64 10000000 | |
br label %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit | |
bb18.i: ; preds = %bb13.i | |
%79 = icmp ult i32 %67, 1000000000 | |
%.sink15.i = select i1 %79, i64 8, i64 9 | |
%.sink13.i = select i1 %79, i64 100000000, i64 1000000000 | |
br label %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit | |
_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit: ; preds = %bb3.i, %bb4.i, %bb12.i, %bb17.i, %bb18.i | |
%.sink9.sink.i = phi i64 [ %.sink9.i, %bb12.i ], [ %.sink15.i, %bb18.i ], [ %.sink12.i, %bb17.i ], [ %.sink2.i, %bb3.i ], [ %.sink5.i, %bb4.i ] | |
%.sink13.sink.sink.sink.i = phi i64 [ %.sink7.i, %bb12.i ], [ %.sink13.i, %bb18.i ], [ %.sink10.i, %bb17.i ], [ %.sink.i, %bb3.i ], [ %.sink3.i, %bb4.i ] | |
%80 = trunc i64 %.sink9.sink.i to i16 | |
%81 = sub i16 %80, %40 | |
%82 = add i16 %81, 1 | |
%83 = icmp sgt i16 %82, %4 | |
br i1 %83, label %bb13, label %bb14 | |
bb13: ; preds = %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit | |
%abi_cast.sroa.5.0.extract.trunc = trunc i64 %.sink13.sink.sink.sink.i to i32 | |
%84 = sext i16 %82 to i64 | |
%85 = sext i16 %4 to i64 | |
%86 = sub nsw i64 %84, %85 | |
%87 = icmp ult i64 %86, %3 | |
%88 = sub i16 %82, %4 | |
%89 = sext i16 %88 to i64 | |
%len.0 = select i1 %87, i64 %89, i64 %3 | |
%90 = icmp eq i32 %abi_cast.sroa.5.0.extract.trunc, 0 | |
br i1 %90, label %panic, label %bb24.preheader, !prof !614 | |
bb24.preheader: ; preds = %bb13 | |
br label %bb24 | |
bb14: ; preds = %_ZN4core3num7flt2dec8strategy5grisu22max_pow10_no_more_than17hb10a64f90a64eeefE.exit | |
%91 = udiv i64 %60, 10 | |
%92 = shl i64 %.sink13.sink.sink.sink.i, %65 | |
%93 = icmp ugt i64 %92, %68 | |
br i1 %93, label %bb2.i62, label %bb1.i61 | |
bb1.i61: ; preds = %bb14 | |
%94 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %94, align 8, !alias.scope !625 | |
br label %bb16 | |
bb2.i62: ; preds = %bb14 | |
%95 = sub i64 %92, %68 | |
%96 = icmp ugt i64 %95, %68 | |
br i1 %96, label %bb6.i65, label %bb5.i64 | |
bb5.i64: ; preds = %bb2.i62 | |
%97 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %97, align 8, !alias.scope !625 | |
br label %bb16 | |
bb6.i65: ; preds = %bb2.i62 | |
%98 = sub i64 %92, %91 | |
%99 = icmp ugt i64 %98, %91 | |
br i1 %99, label %bb9.i67, label %bb8.i66 | |
bb8.i66: ; preds = %bb9.i67, %bb6.i65 | |
%100 = icmp ugt i64 %91, %68 | |
br i1 %100, label %bb15.i70, label %bb14.i69 | |
bb9.i67: ; preds = %bb6.i65 | |
%101 = shl nuw nsw i64 %91, 1 | |
%102 = sub i64 %92, %101 | |
%103 = shl i64 %68, 1 | |
%104 = icmp ult i64 %102, %103 | |
br i1 %104, label %bb8.i66, label %bb11.i68 | |
bb11.i68: ; preds = %bb9.i67 | |
%105 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 1, i64* %105, align 8, !alias.scope !625 | |
%106 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 0 | |
store i64 0, i64* %106, align 8, !alias.scope !625 | |
%107 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 1 | |
%108 = bitcast i64* %107 to i16* | |
store i16 %82, i16* %108, align 8, !alias.scope !625 | |
br label %bb16 | |
bb14.i69: ; preds = %bb15.i70, %bb8.i66 | |
%109 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %109, align 8, !alias.scope !625 | |
br label %bb16 | |
bb15.i70: ; preds = %bb8.i66 | |
%110 = sub i64 %91, %68 | |
%111 = sub i64 %92, %110 | |
%112 = icmp ugt i64 %111, %110 | |
br i1 %112, label %bb14.i69, label %bb17.i74 | |
bb17.i74: ; preds = %bb15.i70 | |
%113 = tail call i16 @_ZN4core3num7flt2dec8round_up17h879a47796abb3549E(i8* nonnull %2, i64 %3, i64 0), !noalias !625 | |
%abi_cast.sroa.4.0.extract.shift.i71 = lshr i16 %113, 8 | |
%abi_cast.sroa.4.0.extract.trunc.i72 = trunc i16 %abi_cast.sroa.4.0.extract.shift.i71 to i8 | |
%114 = and i16 %113, 255 | |
%cond.i73 = icmp eq i16 %114, 1 | |
br i1 %cond.i73, label %bb21.i76, label %bb22.i79 | |
bb21.i76: ; preds = %bb17.i74 | |
%115 = add i16 %81, 2 | |
%116 = icmp sgt i16 %115, %4 | |
br i1 %116, label %bb30.i80, label %bb22.i79 | |
bb22.i79: ; preds = %bb30.i80, %bb21.i76, %bb17.i74 | |
%exp.0.i77 = phi i16 [ %82, %bb17.i74 ], [ %115, %bb30.i80 ], [ %115, %bb21.i76 ] | |
%len.0.i78 = phi i64 [ 0, %bb17.i74 ], [ 1, %bb30.i80 ], [ 0, %bb21.i76 ] | |
%117 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 1, i64* %117, align 8, !alias.scope !625 | |
%118 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 0 | |
store i64 %len.0.i78, i64* %118, align 8, !alias.scope !625 | |
%119 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 1 | |
%120 = bitcast i64* %119 to i16* | |
store i16 %exp.0.i77, i16* %120, align 8, !alias.scope !625 | |
br label %bb16 | |
bb30.i80: ; preds = %bb21.i76 | |
store i8 %abi_cast.sroa.4.0.extract.trunc.i72, i8* %2, align 1, !noalias !625 | |
br label %bb22.i79 | |
bb16: ; preds = %bb22.i, %bb14.i, %bb11.i, %bb5.i, %bb1.i36, %bb22.i58, %bb14.i48, %bb11.i47, %bb5.i43, %bb1.i40, %bb22.i79, %bb14.i69, %bb11.i68, %bb5.i64, %bb1.i61, %bb34 | |
ret void | |
bb24: ; preds = %bb24.preheader, %bb30 | |
%i.0117 = phi i64 [ %127, %bb30 ], [ 0, %bb24.preheader ] | |
%ten_kappa.0116 = phi i32 [ %166, %bb30 ], [ %abi_cast.sroa.5.0.extract.trunc, %bb24.preheader ] | |
%remainder.0115 = phi i32 [ %121, %bb30 ], [ %67, %bb24.preheader ] | |
%121 = urem i32 %remainder.0115, %ten_kappa.0116 | |
%122 = icmp ult i64 %i.0117, %3 | |
br i1 %122, label %bb25, label %panic4, !prof !5 | |
bb25: ; preds = %bb24 | |
%123 = udiv i32 %remainder.0115, %ten_kappa.0116 | |
%124 = trunc i32 %123 to i8 | |
%125 = getelementptr inbounds i8, i8* %2, i64 %i.0117 | |
%126 = add i8 %124, 48 | |
store i8 %126, i8* %125, align 1 | |
%127 = add nuw nsw i64 %i.0117, 1 | |
%128 = icmp eq i64 %127, %len.0 | |
br i1 %128, label %bb26, label %bb27 | |
bb26: ; preds = %bb25 | |
%129 = zext i32 %121 to i64 | |
%130 = shl i64 %129, %65 | |
%131 = add i64 %130, %70 | |
%132 = zext i32 %ten_kappa.0116 to i64 | |
%133 = shl i64 %132, %65 | |
%134 = icmp ugt i64 %133, %68 | |
br i1 %134, label %bb2.i41, label %bb1.i40 | |
bb1.i40: ; preds = %bb26 | |
%135 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %135, align 8, !alias.scope !628 | |
br label %bb16 | |
bb2.i41: ; preds = %bb26 | |
%136 = sub i64 %133, %68 | |
%137 = icmp ugt i64 %136, %68 | |
br i1 %137, label %bb6.i44, label %bb5.i43 | |
bb5.i43: ; preds = %bb2.i41 | |
%138 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %138, align 8, !alias.scope !628 | |
br label %bb16 | |
bb6.i44: ; preds = %bb2.i41 | |
%139 = sub i64 %133, %131 | |
%140 = icmp ugt i64 %139, %131 | |
br i1 %140, label %bb9.i46, label %bb8.i45 | |
bb8.i45: ; preds = %bb9.i46, %bb6.i44 | |
%141 = icmp ugt i64 %131, %68 | |
br i1 %141, label %bb15.i49, label %bb14.i48 | |
bb9.i46: ; preds = %bb6.i44 | |
%142 = shl i64 %131, 1 | |
%143 = sub i64 %133, %142 | |
%144 = shl i64 %68, 1 | |
%145 = icmp ult i64 %143, %144 | |
br i1 %145, label %bb8.i45, label %bb11.i47 | |
bb11.i47: ; preds = %bb9.i46 | |
%146 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 1, i64* %146, align 8, !alias.scope !628 | |
%147 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 0 | |
store i64 %len.0, i64* %147, align 8, !alias.scope !628 | |
%148 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 1 | |
%149 = bitcast i64* %148 to i16* | |
store i16 %82, i16* %149, align 8, !alias.scope !628 | |
br label %bb16 | |
bb14.i48: ; preds = %bb15.i49, %bb8.i45 | |
%150 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %150, align 8, !alias.scope !628 | |
br label %bb16 | |
bb15.i49: ; preds = %bb8.i45 | |
%151 = sub i64 %131, %68 | |
%152 = sub i64 %133, %151 | |
%153 = icmp ugt i64 %152, %151 | |
br i1 %153, label %bb14.i48, label %bb17.i53 | |
bb17.i53: ; preds = %bb15.i49 | |
%154 = tail call i16 @_ZN4core3num7flt2dec8round_up17h879a47796abb3549E(i8* nonnull %2, i64 %3, i64 %len.0), !noalias !628 | |
%abi_cast.sroa.4.0.extract.shift.i50 = lshr i16 %154, 8 | |
%abi_cast.sroa.4.0.extract.trunc.i51 = trunc i16 %abi_cast.sroa.4.0.extract.shift.i50 to i8 | |
%155 = and i16 %154, 255 | |
%cond.i52 = icmp eq i16 %155, 1 | |
br i1 %cond.i52, label %bb21.i55, label %bb22.i58 | |
bb21.i55: ; preds = %bb17.i53 | |
%156 = add i16 %81, 2 | |
%157 = icmp sgt i16 %156, %4 | |
%158 = icmp ult i64 %len.0, %3 | |
%or.cond.i54 = and i1 %157, %158 | |
br i1 %or.cond.i54, label %bb30.i59, label %bb22.i58 | |
bb22.i58: ; preds = %bb30.i59, %bb21.i55, %bb17.i53 | |
%exp.0.i56 = phi i16 [ %82, %bb17.i53 ], [ %156, %bb30.i59 ], [ %156, %bb21.i55 ] | |
%len.0.i57 = phi i64 [ %len.0, %bb17.i53 ], [ %164, %bb30.i59 ], [ %len.0, %bb21.i55 ] | |
%159 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 1, i64* %159, align 8, !alias.scope !628 | |
%160 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 0 | |
store i64 %len.0.i57, i64* %160, align 8, !alias.scope !628 | |
%161 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 1 | |
%162 = bitcast i64* %161 to i16* | |
store i16 %exp.0.i56, i16* %162, align 8, !alias.scope !628 | |
br label %bb16 | |
bb30.i59: ; preds = %bb21.i55 | |
%163 = getelementptr inbounds i8, i8* %2, i64 %len.0 | |
store i8 %abi_cast.sroa.4.0.extract.trunc.i51, i8* %163, align 1, !noalias !628 | |
%164 = add i64 %len.0, 1 | |
br label %bb22.i58 | |
bb27: ; preds = %bb25 | |
%165 = icmp ugt i64 %127, %.sink9.sink.i | |
br i1 %165, label %bb31, label %bb30 | |
bb30: ; preds = %bb27 | |
%166 = udiv i32 %ten_kappa.0116, 10 | |
%167 = icmp ult i32 %ten_kappa.0116, 10 | |
br i1 %167, label %panic.loopexit, label %bb24, !prof !614 | |
bb31: ; preds = %bb27 | |
%168 = add nsw i64 %64, 63 | |
%169 = and i64 %168, 63 | |
%170 = shl i64 1, %169 | |
br label %bb33 | |
bb33: ; preds = %bb36, %bb31 | |
%remainder1.0 = phi i64 [ %70, %bb31 ], [ %175, %bb36 ] | |
%i.1 = phi i64 [ %127, %bb31 ], [ %181, %bb36 ] | |
%err.0 = phi i64 [ 1, %bb31 ], [ %174, %bb36 ] | |
%171 = icmp ult i64 %err.0, %170 | |
br i1 %171, label %bb35, label %bb34 | |
bb34: ; preds = %bb33 | |
%172 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %172, align 8 | |
br label %bb16 | |
bb35: ; preds = %bb33 | |
%173 = mul i64 %remainder1.0, 10 | |
%174 = mul i64 %err.0, 10 | |
%175 = and i64 %173, %69 | |
%176 = icmp ult i64 %i.1, %3 | |
br i1 %176, label %bb36, label %panic5, !prof !5 | |
bb36: ; preds = %bb35 | |
%177 = lshr i64 %173, %65 | |
%178 = trunc i64 %177 to i8 | |
%179 = getelementptr inbounds i8, i8* %2, i64 %i.1 | |
%180 = add i8 %178, 48 | |
store i8 %180, i8* %179, align 1 | |
%181 = add i64 %i.1, 1 | |
%182 = icmp eq i64 %181, %len.0 | |
br i1 %182, label %bb37, label %bb33 | |
bb37: ; preds = %bb36 | |
%183 = icmp ugt i64 %68, %174 | |
br i1 %183, label %bb2.i37, label %bb1.i36 | |
bb1.i36: ; preds = %bb37 | |
%184 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %184, align 8, !alias.scope !631 | |
br label %bb16 | |
bb2.i37: ; preds = %bb37 | |
%185 = sub i64 %68, %174 | |
%186 = icmp ugt i64 %185, %174 | |
br i1 %186, label %bb6.i, label %bb5.i | |
bb5.i: ; preds = %bb2.i37 | |
%187 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %187, align 8, !alias.scope !631 | |
br label %bb16 | |
bb6.i: ; preds = %bb2.i37 | |
%188 = sub i64 %68, %175 | |
%189 = icmp ugt i64 %188, %175 | |
br i1 %189, label %bb9.i, label %bb8.i | |
bb8.i: ; preds = %bb9.i, %bb6.i | |
%190 = icmp ugt i64 %175, %174 | |
br i1 %190, label %bb15.i, label %bb14.i | |
bb9.i: ; preds = %bb6.i | |
%191 = shl i64 %175, 1 | |
%192 = sub i64 %68, %191 | |
%193 = mul i64 %err.0, 20 | |
%194 = icmp ult i64 %192, %193 | |
br i1 %194, label %bb8.i, label %bb11.i | |
bb11.i: ; preds = %bb9.i | |
%195 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 1, i64* %195, align 8, !alias.scope !631 | |
%196 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 0 | |
store i64 %len.0, i64* %196, align 8, !alias.scope !631 | |
%197 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 1 | |
%198 = bitcast i64* %197 to i16* | |
store i16 %82, i16* %198, align 8, !alias.scope !631 | |
br label %bb16 | |
bb14.i: ; preds = %bb15.i, %bb8.i | |
%199 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 0, i64* %199, align 8, !alias.scope !631 | |
br label %bb16 | |
bb15.i: ; preds = %bb8.i | |
%200 = sub i64 %175, %174 | |
%201 = sub i64 %68, %200 | |
%202 = icmp ugt i64 %201, %200 | |
br i1 %202, label %bb14.i, label %bb17.i39 | |
bb17.i39: ; preds = %bb15.i | |
%203 = tail call i16 @_ZN4core3num7flt2dec8round_up17h879a47796abb3549E(i8* nonnull %2, i64 %3, i64 %len.0), !noalias !631 | |
%abi_cast.sroa.4.0.extract.shift.i = lshr i16 %203, 8 | |
%abi_cast.sroa.4.0.extract.trunc.i = trunc i16 %abi_cast.sroa.4.0.extract.shift.i to i8 | |
%204 = and i16 %203, 255 | |
%cond.i = icmp eq i16 %204, 1 | |
br i1 %cond.i, label %bb21.i, label %bb22.i | |
bb21.i: ; preds = %bb17.i39 | |
%205 = add i16 %81, 2 | |
%206 = icmp sgt i16 %205, %4 | |
%207 = icmp ult i64 %len.0, %3 | |
%or.cond.i = and i1 %206, %207 | |
br i1 %or.cond.i, label %bb30.i, label %bb22.i | |
bb22.i: ; preds = %bb30.i, %bb21.i, %bb17.i39 | |
%exp.0.i = phi i16 [ %82, %bb17.i39 ], [ %205, %bb30.i ], [ %205, %bb21.i ] | |
%len.0.i = phi i64 [ %len.0, %bb17.i39 ], [ %213, %bb30.i ], [ %len.0, %bb21.i ] | |
%208 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 0 | |
store i64 1, i64* %208, align 8, !alias.scope !631 | |
%209 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 0 | |
store i64 %len.0.i, i64* %209, align 8, !alias.scope !631 | |
%210 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %0, i64 0, i32 2, i64 1 | |
%211 = bitcast i64* %210 to i16* | |
store i16 %exp.0.i, i16* %211, align 8, !alias.scope !631 | |
br label %bb16 | |
bb30.i: ; preds = %bb21.i | |
%212 = getelementptr inbounds i8, i8* %2, i64 %len.0 | |
store i8 %abi_cast.sroa.4.0.extract.trunc.i, i8* %212, align 1, !noalias !631 | |
%213 = add i64 %len.0, 1 | |
br label %bb22.i | |
panic.loopexit: ; preds = %bb30 | |
br label %panic | |
panic: ; preds = %panic.loopexit, %bb13 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32 }* @panic_loc.j to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
panic4: ; preds = %bb24 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.l to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %i.0117, i64 %3) | |
unreachable | |
panic5: ; preds = %bb35 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.m to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %i.1, i64 %3) | |
unreachable | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7flt2dec8strategy5grisu12format_exact17h25aa26367678b0ffE({ i64, [0 x i8], i16, [6 x i8] }* noalias nocapture sret dereferenceable(16), %"num::flt2dec::decoder::Decoded"* noalias nocapture readonly dereferenceable(32), i8* nonnull, i64, i16) unnamed_addr #2 { | |
start: | |
%_7 = alloca %"option::Option<(usize, i16)>", align 8 | |
%5 = bitcast %"option::Option<(usize, i16)>"* %_7 to i8* | |
call void @llvm.lifetime.start(i64 24, i8* nonnull %5) | |
call void @_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt17h59c04905b53a0edaE(%"option::Option<(usize, i16)>"* noalias nocapture nonnull sret dereferenceable(24) %_7, %"num::flt2dec::decoder::Decoded"* noalias nonnull readonly dereferenceable(32) %1, i8* nonnull %2, i64 %3, i16 %4) | |
%6 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %_7, i64 0, i32 0 | |
%7 = load i64, i64* %6, align 8, !range !621 | |
%cond = icmp eq i64 %7, 0 | |
br i1 %cond, label %bb2, label %bb3 | |
bb2: ; preds = %start | |
tail call void @_ZN4core3num7flt2dec8strategy6dragon12format_exact17h915638fd5b738bf0E({ i64, [0 x i8], i16, [6 x i8] }* noalias nocapture nonnull sret dereferenceable(16) %0, %"num::flt2dec::decoder::Decoded"* noalias nonnull readonly dereferenceable(32) %1, i8* nonnull %2, i64 %3, i16 %4) | |
br label %bb4 | |
bb3: ; preds = %start | |
%8 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %_7, i64 0, i32 2, i64 0 | |
%9 = getelementptr inbounds %"option::Option<(usize, i16)>", %"option::Option<(usize, i16)>"* %_7, i64 0, i32 2, i64 1 | |
%10 = bitcast i64* %9 to i16* | |
%11 = load i64, i64* %8, align 8 | |
%12 = load i16, i16* %10, align 8 | |
%13 = getelementptr inbounds { i64, [0 x i8], i16, [6 x i8] }, { i64, [0 x i8], i16, [6 x i8] }* %0, i64 0, i32 0 | |
store i64 %11, i64* %13, align 8 | |
%14 = getelementptr inbounds { i64, [0 x i8], i16, [6 x i8] }, { i64, [0 x i8], i16, [6 x i8] }* %0, i64 0, i32 2 | |
store i16 %12, i16* %14, align 8 | |
br label %bb4 | |
bb4: ; preds = %bb2, %bb3 | |
call void @llvm.lifetime.end(i64 24, i8* nonnull %5) | |
ret void | |
} | |
; Function Attrs: uwtable | |
define i16 @_ZN4core3num7flt2dec8round_up17h879a47796abb3549E(i8* nonnull, i64, i64) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%3 = icmp ugt i64 %2, %1 | |
br i1 %3, label %bb4.i.i.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hf894b9917a59ca04E.exit" | |
bb4.i.i.i: ; preds = %start | |
tail call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %2, i64 %1), !noalias !634 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hf894b9917a59ca04E.exit": ; preds = %start | |
%4 = getelementptr inbounds i8, i8* %0, i64 %2 | |
%5 = ptrtoint i8* %0 to i64 | |
br label %bb6.i.i | |
bb6.i.i: ; preds = %bb55.i.i, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hf894b9917a59ca04E.exit" | |
%6 = phi i8* [ %4, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hf894b9917a59ca04E.exit" ], [ %22, %bb55.i.i ] | |
%g.sroa.0.0.i.i = phi i64 [ %2, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hf894b9917a59ca04E.exit" ], [ %23, %bb55.i.i ] | |
%7 = ptrtoint i8* %6 to i64 | |
%8 = sub i64 %7, %5 | |
%9 = icmp ugt i64 %8, 3 | |
br i1 %9, label %bb14.i.i, label %bb61.i.i.preheader | |
bb61.i.i.preheader: ; preds = %bb6.i.i | |
br label %bb61.i.i | |
bb14.i.i: ; preds = %bb6.i.i | |
%10 = getelementptr inbounds i8, i8* %6, i64 -1 | |
%11 = add i64 %g.sroa.0.0.i.i, -1 | |
%12 = load i8, i8* %10, align 1, !alias.scope !637, !noalias !642 | |
%13 = icmp eq i8 %12, 57 | |
br i1 %13, label %bb31.i.i, label %bb7.loopexit70 | |
bb31.i.i: ; preds = %bb14.i.i | |
%14 = getelementptr inbounds i8, i8* %6, i64 -2 | |
%15 = add i64 %g.sroa.0.0.i.i, -2 | |
%16 = load i8, i8* %14, align 1, !alias.scope !649, !noalias !654 | |
%17 = icmp eq i8 %16, 57 | |
br i1 %17, label %bb43.i.i, label %bb7.loopexit70 | |
bb43.i.i: ; preds = %bb31.i.i | |
%18 = getelementptr inbounds i8, i8* %6, i64 -3 | |
%19 = add i64 %g.sroa.0.0.i.i, -3 | |
%20 = load i8, i8* %18, align 1, !alias.scope !656, !noalias !661 | |
%21 = icmp eq i8 %20, 57 | |
br i1 %21, label %bb55.i.i, label %bb7.loopexit70 | |
bb55.i.i: ; preds = %bb43.i.i | |
%22 = getelementptr inbounds i8, i8* %6, i64 -4 | |
%23 = add i64 %g.sroa.0.0.i.i, -4 | |
%24 = load i8, i8* %22, align 1, !alias.scope !663, !noalias !668 | |
%25 = icmp eq i8 %24, 57 | |
br i1 %25, label %bb6.i.i, label %bb7.loopexit70 | |
bb61.i.i: ; preds = %bb61.i.i.preheader, %bb70.i.i | |
%26 = phi i8* [ %28, %bb70.i.i ], [ %6, %bb61.i.i.preheader ] | |
%g.sroa.0.1.i.i = phi i64 [ %29, %bb70.i.i ], [ %g.sroa.0.0.i.i, %bb61.i.i.preheader ] | |
%27 = icmp eq i8* %26, %0 | |
br i1 %27, label %bb6, label %bb70.i.i | |
bb70.i.i: ; preds = %bb61.i.i | |
%28 = getelementptr inbounds i8, i8* %26, i64 -1 | |
%29 = add i64 %g.sroa.0.1.i.i, -1 | |
%30 = load i8, i8* %28, align 1, !alias.scope !670, !noalias !675 | |
%31 = icmp eq i8 %30, 57 | |
br i1 %31, label %bb61.i.i, label %bb7.loopexit | |
bb4: ; preds = %bb6 | |
%32 = icmp eq i64 %1, 0 | |
br i1 %32, label %panic3, label %bb16, !prof !614 | |
bb6: ; preds = %bb61.i.i | |
%33 = icmp eq i64 %2, 0 | |
br i1 %33, label %bb8, label %bb4 | |
bb7.loopexit: ; preds = %bb70.i.i | |
br label %bb7 | |
bb7.loopexit70: ; preds = %bb14.i.i, %bb31.i.i, %bb43.i.i, %bb55.i.i | |
%.sink.i.ph.ph = phi i64 [ %23, %bb55.i.i ], [ %19, %bb43.i.i ], [ %15, %bb31.i.i ], [ %11, %bb14.i.i ] | |
br label %bb7 | |
bb7: ; preds = %bb7.loopexit70, %bb7.loopexit | |
%.sink.i.ph = phi i64 [ %29, %bb7.loopexit ], [ %.sink.i.ph.ph, %bb7.loopexit70 ] | |
%34 = icmp ult i64 %.sink.i.ph, %1 | |
br i1 %34, label %bb9, label %panic, !prof !5 | |
bb8.loopexit: ; preds = %bb15 | |
br label %bb8 | |
bb8.loopexit69: ; preds = %bb22 | |
br label %bb8 | |
bb8: ; preds = %bb8.loopexit69, %bb8.loopexit, %bb16, %bb9, %bb6 | |
%_0.sroa.4.0 = phi i16 [ 12544, %bb6 ], [ 0, %bb9 ], [ 12288, %bb16 ], [ 0, %bb8.loopexit ], [ 12288, %bb8.loopexit69 ] | |
%_0.sroa.0.0 = phi i16 [ 1, %bb6 ], [ 0, %bb9 ], [ 1, %bb16 ], [ 0, %bb8.loopexit ], [ 1, %bb8.loopexit69 ] | |
%_0.sroa.0.0.insert.insert = or i16 %_0.sroa.0.0, %_0.sroa.4.0 | |
ret i16 %_0.sroa.0.0.insert.insert | |
bb9: ; preds = %bb7 | |
%35 = getelementptr inbounds i8, i8* %0, i64 %.sink.i.ph | |
%36 = load i8, i8* %35, align 1 | |
%37 = add i8 %36, 1 | |
store i8 %37, i8* %35, align 1 | |
%iter.sroa.0.045 = add i64 %.sink.i.ph, 1 | |
%38 = icmp ult i64 %iter.sroa.0.045, %2 | |
br i1 %38, label %bb14.preheader, label %bb8 | |
bb14.preheader: ; preds = %bb9 | |
br label %bb14 | |
bb14: ; preds = %bb14.preheader, %bb15 | |
%iter.sroa.0.046 = phi i64 [ %iter.sroa.0.0, %bb15 ], [ %iter.sroa.0.045, %bb14.preheader ] | |
%39 = icmp ult i64 %iter.sroa.0.046, %1 | |
br i1 %39, label %bb15, label %panic2, !prof !5 | |
bb15: ; preds = %bb14 | |
%40 = getelementptr inbounds i8, i8* %0, i64 %iter.sroa.0.046 | |
store i8 48, i8* %40, align 1 | |
%iter.sroa.0.0 = add i64 %iter.sroa.0.046, 1 | |
%41 = icmp ult i64 %iter.sroa.0.0, %2 | |
br i1 %41, label %bb14, label %bb8.loopexit | |
bb16: ; preds = %bb4 | |
store i8 49, i8* %0, align 1 | |
%42 = icmp ugt i64 %2, 1 | |
br i1 %42, label %bb21.preheader, label %bb8 | |
bb21.preheader: ; preds = %bb16 | |
br label %bb21 | |
bb21: ; preds = %bb21.preheader, %bb22 | |
%iter1.sroa.0.047 = phi i64 [ %44, %bb22 ], [ 1, %bb21.preheader ] | |
%43 = icmp ult i64 %iter1.sroa.0.047, %1 | |
br i1 %43, label %bb22, label %panic6, !prof !5 | |
bb22: ; preds = %bb21 | |
%44 = add nuw i64 %iter1.sroa.0.047, 1 | |
%45 = getelementptr inbounds i8, i8* %0, i64 %iter1.sroa.0.047 | |
store i8 48, i8* %45, align 1 | |
%46 = icmp ult i64 %44, %2 | |
br i1 %46, label %bb21, label %bb8.loopexit69 | |
panic: ; preds = %bb7 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.p to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %.sink.i.ph, i64 %1) | |
unreachable | |
panic2: ; preds = %bb14 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.q to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %iter.sroa.0.046, i64 %1) | |
unreachable | |
panic3: ; preds = %bb4 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.r to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 0, i64 0) | |
unreachable | |
panic6: ; preds = %bb21 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.s to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %iter1.sroa.0.047, i64 %1) | |
unreachable | |
} | |
; Function Attrs: norecurse nounwind readonly uwtable | |
define i64 @_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E(%"num::flt2dec::Part"* noalias nocapture readonly dereferenceable(24)) unnamed_addr #3 { | |
start: | |
%1 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %0, i64 0, i32 0 | |
%2 = load i16, i16* %1, align 2, !range !677 | |
%trunc = trunc i16 %2 to i2 | |
switch i2 %trunc, label %bb3 [ | |
i2 0, label %bb1 | |
i2 1, label %bb2 | |
] | |
bb1: ; preds = %start | |
%3 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %0, i64 0, i32 2, i64 0 | |
%4 = load i64, i64* %3, align 8 | |
br label %bb4 | |
bb2: ; preds = %start | |
%5 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %0, i64 0, i32 1, i64 0 | |
%6 = load i16, i16* %5, align 2 | |
%7 = icmp ult i16 %6, 1000 | |
br i1 %7, label %bb5, label %bb6 | |
bb3: ; preds = %start | |
%8 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %0, i64 0, i32 2, i64 1 | |
%9 = load i64, i64* %8, align 8 | |
br label %bb4 | |
bb4: ; preds = %bb8, %bb5, %bb6, %bb1, %bb3 | |
%_0.0 = phi i64 [ %9, %bb3 ], [ %4, %bb1 ], [ %., %bb6 ], [ 1, %bb5 ], [ %.1, %bb8 ] | |
ret i64 %_0.0 | |
bb5: ; preds = %bb2 | |
%10 = icmp ult i16 %6, 10 | |
br i1 %10, label %bb4, label %bb8 | |
bb6: ; preds = %bb2 | |
%11 = icmp ult i16 %6, 10000 | |
%. = select i1 %11, i64 4, i64 5 | |
br label %bb4 | |
bb8: ; preds = %bb5 | |
%12 = icmp ult i16 %6, 100 | |
%.1 = select i1 %12, i64 2, i64 3 | |
br label %bb4 | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7flt2dec4Part5write17hce22ab25bf0bb5e3E(%"option::Option<usize>"* noalias nocapture sret dereferenceable(16), %"num::flt2dec::Part"* noalias nocapture readonly dereferenceable(24), i8* nonnull, i64) unnamed_addr #2 { | |
start: | |
%4 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %1, i64 0, i32 0 | |
%5 = load i16, i16* %4, align 2, !range !677, !alias.scope !678 | |
%trunc.i = trunc i16 %5 to i2 | |
switch i2 %trunc.i, label %bb3.i [ | |
i2 0, label %bb1.i | |
i2 1, label %bb2.i | |
] | |
bb1.i: ; preds = %start | |
%6 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %1, i64 0, i32 2, i64 0 | |
%7 = load i64, i64* %6, align 8, !alias.scope !678 | |
br label %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit | |
bb2.i: ; preds = %start | |
%8 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %1, i64 0, i32 1, i64 0 | |
%9 = load i16, i16* %8, align 2, !alias.scope !678 | |
%10 = icmp ult i16 %9, 1000 | |
br i1 %10, label %bb5.i, label %bb6.i | |
bb3.i: ; preds = %start | |
%11 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %1, i64 0, i32 2, i64 1 | |
%12 = load i64, i64* %11, align 8, !alias.scope !678 | |
br label %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit | |
bb5.i: ; preds = %bb2.i | |
%13 = icmp ult i16 %9, 10 | |
br i1 %13, label %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit, label %bb8.i | |
bb6.i: ; preds = %bb2.i | |
%14 = icmp ult i16 %9, 10000 | |
%..i = select i1 %14, i64 4, i64 5 | |
br label %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit | |
bb8.i: ; preds = %bb5.i | |
%15 = icmp ult i16 %9, 100 | |
%.1.i = select i1 %15, i64 2, i64 3 | |
br label %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit | |
_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit: ; preds = %bb1.i, %bb3.i, %bb5.i, %bb6.i, %bb8.i | |
%_0.0.i = phi i64 [ %12, %bb3.i ], [ %7, %bb1.i ], [ %..i, %bb6.i ], [ 1, %bb5.i ], [ %.1.i, %bb8.i ] | |
%16 = icmp ugt i64 %_0.0.i, %3 | |
br i1 %16, label %bb4, label %bb3 | |
bb3: ; preds = %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit | |
switch i2 %trunc.i, label %bb7 [ | |
i2 0, label %bb5 | |
i2 1, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h7d0624bc93b5eea6E.exit19" | |
] | |
bb4: ; preds = %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit | |
%17 = getelementptr inbounds %"option::Option<usize>", %"option::Option<usize>"* %0, i64 0, i32 0 | |
store i64 0, i64* %17, align 8 | |
br label %bb28 | |
bb5: ; preds = %bb3 | |
%18 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %1, i64 0, i32 2, i64 0 | |
%19 = load i64, i64* %18, align 8 | |
%20 = icmp ugt i64 %19, %3 | |
br i1 %20, label %bb4.i.i.i16, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h7d0624bc93b5eea6E.exit17" | |
bb4.i.i.i16: ; preds = %bb5 | |
tail call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %19, i64 %3), !noalias !681 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h7d0624bc93b5eea6E.exit17": ; preds = %bb5 | |
%21 = icmp eq i64 %19, 0 | |
br i1 %21, label %bb8, label %bb14.preheader | |
bb14.preheader: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h7d0624bc93b5eea6E.exit17" | |
call void @llvm.memset.p0i8.i64(i8* nonnull %2, i8 48, i64 %19, i32 1, i1 false) | |
br label %bb8 | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h7d0624bc93b5eea6E.exit19": ; preds = %bb3 | |
%22 = icmp eq i64 %_0.0.i, 0 | |
br i1 %22, label %bb8, label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.preheader" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.preheader": ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h7d0624bc93b5eea6E.exit19" | |
%23 = getelementptr inbounds i8, i8* %2, i64 %_0.0.i | |
%24 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %1, i64 0, i32 1, i64 0 | |
%25 = load i16, i16* %24, align 2 | |
%xtraiter = and i64 %_0.0.i, 1 | |
%lcmp.mod = icmp eq i64 %xtraiter, 0 | |
br i1 %lcmp.mod, label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol.loopexit", label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol.preheader" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol.preheader": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.preheader" | |
br label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol.preheader" | |
%26 = getelementptr inbounds i8, i8* %23, i64 -1 | |
%27 = urem i16 %25, 10 | |
%28 = trunc i16 %27 to i8 | |
%29 = or i8 %28, 48 | |
store i8 %29, i8* %26, align 1 | |
%30 = udiv i16 %25, 10 | |
br label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol.loopexit" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol.loopexit": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.preheader", %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol" | |
%v.052.unr = phi i16 [ %25, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.preheader" ], [ %30, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol" ] | |
%iter1.sroa.4.051.unr = phi i8* [ %23, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.preheader" ], [ %26, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol" ] | |
%31 = icmp eq i64 %_0.0.i, 1 | |
br i1 %31, label %bb8.loopexit, label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.preheader.new" | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.preheader.new": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol.loopexit" | |
br label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit" | |
bb7: ; preds = %bb3 | |
%32 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %1, i64 0, i32 2, i64 1 | |
%33 = load i64, i64* %32, align 8 | |
%34 = icmp ugt i64 %33, %3 | |
br i1 %34, label %bb4.i.i.i, label %"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice17h5b8178fdd174d293E.exit" | |
bb4.i.i.i: ; preds = %bb7 | |
tail call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %33, i64 %3), !noalias !684 | |
unreachable | |
"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice17h5b8178fdd174d293E.exit": ; preds = %bb7 | |
%35 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %1, i64 0, i32 2 | |
%36 = bitcast [2 x i64]* %35 to i8** | |
%37 = load i8*, i8** %36, align 8, !nonnull !687 | |
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull %2, i8* nonnull %37, i64 %33, i32 1, i1 false) | |
br label %bb8 | |
bb8.loopexit.unr-lcssa: ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit" | |
br label %bb8.loopexit | |
bb8.loopexit: ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.prol.loopexit", %bb8.loopexit.unr-lcssa | |
br label %bb8 | |
bb8: ; preds = %bb8.loopexit, %bb14.preheader, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h7d0624bc93b5eea6E.exit19", %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h7d0624bc93b5eea6E.exit17", %"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice17h5b8178fdd174d293E.exit" | |
%38 = getelementptr inbounds %"option::Option<usize>", %"option::Option<usize>"* %0, i64 0, i32 0 | |
store i64 1, i64* %38, align 8 | |
%39 = getelementptr inbounds %"option::Option<usize>", %"option::Option<usize>"* %0, i64 0, i32 2, i64 0 | |
store i64 %_0.0.i, i64* %39, align 8 | |
br label %bb28 | |
"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit": ; preds = %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit", %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.preheader.new" | |
%v.052 = phi i16 [ %v.052.unr, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.preheader.new" ], [ %49, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit" ] | |
%iter1.sroa.4.051 = phi i8* [ %iter1.sroa.4.051.unr, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit.preheader.new" ], [ %45, %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit" ] | |
%40 = getelementptr inbounds i8, i8* %iter1.sroa.4.051, i64 -1 | |
%41 = urem i16 %v.052, 10 | |
%42 = trunc i16 %41 to i8 | |
%43 = or i8 %42, 48 | |
store i8 %43, i8* %40, align 1 | |
%44 = udiv i16 %v.052, 10 | |
%45 = getelementptr inbounds i8, i8* %iter1.sroa.4.051, i64 -2 | |
%46 = urem i16 %44, 10 | |
%47 = trunc i16 %46 to i8 | |
%48 = or i8 %47, 48 | |
store i8 %48, i8* %45, align 1 | |
%49 = udiv i16 %v.052, 100 | |
%50 = icmp eq i8* %45, %2 | |
br i1 %50, label %bb8.loopexit.unr-lcssa, label %"_ZN75_$LT$core..iter..Rev$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hf97cb8ff52fc4a87E.exit" | |
bb28: ; preds = %bb4, %bb8 | |
ret void | |
} | |
; Function Attrs: nounwind readonly uwtable | |
define i64 @_ZN4core3num7flt2dec9Formatted3len17h70279b6d71ac0a04E(%"num::flt2dec::Formatted"* noalias nocapture readonly dereferenceable(32)) unnamed_addr #4 { | |
start: | |
%1 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i64 0, i32 0, i32 1 | |
%2 = load i64, i64* %1, align 8 | |
%3 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i64 0, i32 2, i32 0 | |
%4 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %3, align 8, !nonnull !687 | |
%5 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %0, i64 0, i32 2, i32 1 | |
%6 = load i64, i64* %5, align 8 | |
%7 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 %6 | |
%8 = icmp eq i64 %6, 0 | |
br i1 %8, label %bb5, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit.preheader": ; preds = %start | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit.preheader", %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit | |
%len.013 = phi i64 [ %22, %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit ], [ %2, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit.preheader" ] | |
%iter.sroa.0.012 = phi %"num::flt2dec::Part"* [ %9, %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit ], [ %4, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit.preheader" ] | |
%9 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %iter.sroa.0.012, i64 1 | |
%10 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %iter.sroa.0.012, i64 0, i32 0 | |
%11 = load i16, i16* %10, align 2, !range !677, !alias.scope !688 | |
%trunc.i = trunc i16 %11 to i2 | |
switch i2 %trunc.i, label %bb3.i [ | |
i2 0, label %bb1.i | |
i2 1, label %bb2.i | |
] | |
bb5.loopexit: ; preds = %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit | |
br label %bb5 | |
bb5: ; preds = %bb5.loopexit, %start | |
%len.0.lcssa = phi i64 [ %2, %start ], [ %22, %bb5.loopexit ] | |
ret i64 %len.0.lcssa | |
bb1.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit" | |
%12 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %iter.sroa.0.012, i64 0, i32 2, i64 0 | |
%13 = load i64, i64* %12, align 8, !alias.scope !688 | |
br label %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit | |
bb2.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit" | |
%14 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %iter.sroa.0.012, i64 0, i32 1, i64 0 | |
%15 = load i16, i16* %14, align 2, !alias.scope !688 | |
%16 = icmp ult i16 %15, 1000 | |
br i1 %16, label %bb5.i, label %bb6.i | |
bb3.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit" | |
%17 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %iter.sroa.0.012, i64 0, i32 2, i64 1 | |
%18 = load i64, i64* %17, align 8, !alias.scope !688 | |
br label %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit | |
bb5.i: ; preds = %bb2.i | |
%19 = icmp ult i16 %15, 10 | |
br i1 %19, label %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit, label %bb8.i | |
bb6.i: ; preds = %bb2.i | |
%20 = icmp ult i16 %15, 10000 | |
%..i = select i1 %20, i64 4, i64 5 | |
br label %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit | |
bb8.i: ; preds = %bb5.i | |
%21 = icmp ult i16 %15, 100 | |
%.1.i = select i1 %21, i64 2, i64 3 | |
br label %_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit | |
_ZN4core3num7flt2dec4Part3len17h57240b1f0240c8a2E.exit: ; preds = %bb1.i, %bb3.i, %bb5.i, %bb6.i, %bb8.i | |
%_0.0.i = phi i64 [ %18, %bb3.i ], [ %13, %bb1.i ], [ %..i, %bb6.i ], [ 1, %bb5.i ], [ %.1.i, %bb8.i ] | |
%22 = add i64 %_0.0.i, %len.013 | |
%23 = icmp eq %"num::flt2dec::Part"* %9, %7 | |
br i1 %23, label %bb5.loopexit, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit" | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7flt2dec9Formatted5write17h7533dd792662be08E(%"option::Option<usize>"* noalias nocapture sret dereferenceable(16), %"num::flt2dec::Formatted"* noalias nocapture readonly dereferenceable(32), i8* nonnull, i64) unnamed_addr #2 { | |
start: | |
%_37 = alloca %"option::Option<usize>", align 8 | |
%4 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i64 0, i32 0, i32 1 | |
%5 = load i64, i64* %4, align 8 | |
%6 = icmp ugt i64 %5, %3 | |
br i1 %6, label %bb3, label %"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice17h5b8178fdd174d293E.exit" | |
bb3: ; preds = %start | |
%7 = getelementptr inbounds %"option::Option<usize>", %"option::Option<usize>"* %0, i64 0, i32 0 | |
store i64 0, i64* %7, align 8 | |
br label %bb5 | |
"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice17h5b8178fdd174d293E.exit": ; preds = %start | |
%8 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i64 0, i32 0, i32 0 | |
%9 = load i8*, i8** %8, align 8, !nonnull !687 | |
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull %2, i8* nonnull %9, i64 %5, i32 1, i1 false) | |
%10 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i64 0, i32 2, i32 0 | |
%11 = load %"num::flt2dec::Part"*, %"num::flt2dec::Part"** %10, align 8, !nonnull !687 | |
%12 = getelementptr inbounds %"num::flt2dec::Formatted", %"num::flt2dec::Formatted"* %1, i64 0, i32 2, i32 1 | |
%13 = load i64, i64* %12, align 8 | |
%14 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %11, i64 %13 | |
%15 = icmp eq i64 %13, 0 | |
br i1 %15, label %bb14, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit.lr.ph" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit.lr.ph": ; preds = %"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice17h5b8178fdd174d293E.exit" | |
%16 = bitcast %"option::Option<usize>"* %_37 to i8* | |
%17 = getelementptr inbounds %"option::Option<usize>", %"option::Option<usize>"* %_37, i64 0, i32 0 | |
%18 = getelementptr inbounds %"option::Option<usize>", %"option::Option<usize>"* %_37, i64 0, i32 2, i64 0 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit" | |
bb5: ; preds = %bb3, %bb18, %bb14 | |
ret void | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit.lr.ph", %bb19 | |
%written.024 = phi i64 [ %5, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit.lr.ph" ], [ %28, %bb19 ] | |
%iter.sroa.0.023 = phi %"num::flt2dec::Part"* [ %11, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit.lr.ph" ], [ %19, %bb19 ] | |
%19 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %iter.sroa.0.023, i64 1 | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %16) | |
%20 = icmp ugt i64 %written.024, %3 | |
br i1 %20, label %bb1.i.i.i, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h2484e2a09a5e3f8dE.exit" | |
bb14.loopexit: ; preds = %bb19 | |
br label %bb14 | |
bb14: ; preds = %bb14.loopexit, %"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice17h5b8178fdd174d293E.exit" | |
%written.0.lcssa = phi i64 [ %5, %"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$15copy_from_slice17h5b8178fdd174d293E.exit" ], [ %28, %bb14.loopexit ] | |
%21 = getelementptr inbounds %"option::Option<usize>", %"option::Option<usize>"* %0, i64 0, i32 0 | |
store i64 1, i64* %21, align 8 | |
%22 = getelementptr inbounds %"option::Option<usize>", %"option::Option<usize>"* %0, i64 0, i32 2, i64 0 | |
store i64 %written.0.lcssa, i64* %22, align 8 | |
br label %bb5 | |
bb1.i.i.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit" | |
tail call void @_ZN4core5slice22slice_index_order_fail17h35681c1841226ae9E(i64 %written.024, i64 %3), !noalias !691 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h2484e2a09a5e3f8dE.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit" | |
%23 = getelementptr inbounds i8, i8* %2, i64 %written.024 | |
%24 = sub i64 %3, %written.024 | |
call void @_ZN4core3num7flt2dec4Part5write17hce22ab25bf0bb5e3E(%"option::Option<usize>"* noalias nocapture nonnull sret dereferenceable(16) %_37, %"num::flt2dec::Part"* noalias readonly dereferenceable(24) %iter.sroa.0.023, i8* nonnull %23, i64 %24) | |
%25 = load i64, i64* %17, align 8, !range !621 | |
%cond1 = icmp eq i64 %25, 0 | |
br i1 %cond1, label %bb18, label %bb19 | |
bb18: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h2484e2a09a5e3f8dE.exit" | |
%26 = getelementptr inbounds %"option::Option<usize>", %"option::Option<usize>"* %0, i64 0, i32 0 | |
store i64 0, i64* %26, align 8 | |
call void @llvm.lifetime.end(i64 16, i8* nonnull %16) | |
br label %bb5 | |
bb19: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17h2484e2a09a5e3f8dE.exit" | |
%27 = load i64, i64* %18, align 8 | |
%28 = add i64 %27, %written.024 | |
call void @llvm.lifetime.end(i64 16, i8* nonnull %16) | |
%29 = icmp eq %"num::flt2dec::Part"* %19, %14 | |
br i1 %29, label %bb14.loopexit, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h1db07692489a3cdaE.exit" | |
} | |
; Function Attrs: uwtable | |
define { %"num::flt2dec::Part"*, i64 } @_ZN4core3num7flt2dec17digits_to_dec_str17h8097aeced362d901E(i8* noalias nonnull readonly, i64, i16, i64, %"num::flt2dec::Part"* nonnull, i64) unnamed_addr #2 { | |
start: | |
%6 = icmp eq i64 %1, 0 | |
br i1 %6, label %bb2, label %bb4 | |
bb2: ; preds = %start | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE17he46ea409bfe52b3aE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb4: ; preds = %start | |
%7 = load i8, i8* %0, align 1 | |
%8 = icmp ult i8 %7, 49 | |
br i1 %8, label %bb5, label %bb6 | |
bb5: ; preds = %bb4 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE17h969cf0460267ed13E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %bb4 | |
%9 = icmp ult i64 %5, 4 | |
br i1 %9, label %bb8, label %bb9 | |
bb8: ; preds = %bb6 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE17h6e3030c15e33ee38E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb9: ; preds = %bb6 | |
%10 = icmp slt i16 %2, 1 | |
%11 = sext i16 %2 to i64 | |
br i1 %10, label %bb14, label %bb11 | |
bb11: ; preds = %bb9 | |
%12 = icmp ult i64 %11, %1 | |
%13 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 0, i32 0 | |
store i16 2, i16* %13, align 2 | |
%14 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 0, i32 2 | |
%15 = bitcast [2 x i64]* %14 to i8** | |
store i8* %0, i8** %15, align 8 | |
%16 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 0, i32 2, i64 1 | |
br i1 %12, label %bb35, label %bb46 | |
bb14: ; preds = %bb9 | |
%17 = sub nsw i64 0, %11 | |
%18 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 0, i32 0 | |
store i16 2, i16* %18, align 2 | |
%19 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 0, i32 2 | |
%20 = bitcast [2 x i64]* %19 to i8** | |
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.u, i64 0, i64 0), i8** %20, align 8 | |
%21 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 0, i32 2, i64 1 | |
store i64 2, i64* %21, align 8 | |
%22 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 1, i32 0 | |
store i16 0, i16* %22, align 2 | |
%23 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 1, i32 2, i64 0 | |
store i64 %17, i64* %23, align 8 | |
%24 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 2, i32 0 | |
store i16 2, i16* %24, align 2 | |
%25 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 2, i32 2 | |
%26 = bitcast [2 x i64]* %25 to i8** | |
store i8* %0, i8** %26, align 8 | |
%27 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 2, i32 2, i64 1 | |
store i64 %1, i64* %27, align 8 | |
%28 = icmp ugt i64 %3, %1 | |
br i1 %28, label %bb17, label %bb55 | |
bb17: ; preds = %bb14 | |
%29 = sub i64 %3, %1 | |
%30 = icmp ugt i64 %29, %17 | |
br i1 %30, label %bb24, label %bb55 | |
bb24: ; preds = %bb17 | |
%31 = add i64 %29, %11 | |
%32 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 3, i32 0 | |
store i16 0, i16* %32, align 2 | |
%33 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 3, i32 2, i64 0 | |
store i64 %31, i64* %33, align 8 | |
br label %bb55 | |
bb35: ; preds = %bb11 | |
store i64 %11, i64* %16, align 8 | |
%34 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 1, i32 0 | |
store i16 2, i16* %34, align 2 | |
%35 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 1, i32 2 | |
%36 = bitcast [2 x i64]* %35 to i8** | |
store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.A, i64 0, i64 0), i8** %36, align 8 | |
%37 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 1, i32 2, i64 1 | |
store i64 1, i64* %37, align 8 | |
%38 = getelementptr inbounds i8, i8* %0, i64 %11 | |
%39 = sub i64 %1, %11 | |
%40 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 2, i32 0 | |
store i16 2, i16* %40, align 2 | |
%41 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 2, i32 2 | |
%42 = bitcast [2 x i64]* %41 to i8** | |
store i8* %38, i8** %42, align 8 | |
%43 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 2, i32 2, i64 1 | |
store i64 %39, i64* %43, align 8 | |
%44 = icmp ult i64 %39, %3 | |
br i1 %44, label %bb40, label %bb55 | |
bb40: ; preds = %bb35 | |
%45 = sub i64 %11, %1 | |
%46 = add i64 %45, %3 | |
%47 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 3, i32 0 | |
store i16 0, i16* %47, align 2 | |
%48 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 3, i32 2, i64 0 | |
store i64 %46, i64* %48, align 8 | |
br label %bb55 | |
bb46: ; preds = %bb11 | |
store i64 %1, i64* %16, align 8 | |
%49 = sub i64 %11, %1 | |
%50 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 1, i32 0 | |
store i16 0, i16* %50, align 2 | |
%51 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 1, i32 2, i64 0 | |
store i64 %49, i64* %51, align 8 | |
%52 = icmp eq i64 %3, 0 | |
br i1 %52, label %bb55, label %bb50 | |
bb50: ; preds = %bb46 | |
%53 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 2, i32 0 | |
store i16 2, i16* %53, align 2 | |
%54 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 2, i32 2 | |
%55 = bitcast [2 x i64]* %54 to i8** | |
store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.A, i64 0, i64 0), i8** %55, align 8 | |
%56 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 2, i32 2, i64 1 | |
store i64 1, i64* %56, align 8 | |
%57 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 3, i32 0 | |
store i16 0, i16* %57, align 2 | |
%58 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %4, i64 3, i32 2, i64 0 | |
store i64 %3, i64* %58, align 8 | |
br label %bb55 | |
bb55: ; preds = %bb24, %bb17, %bb14, %bb46, %bb35, %bb40, %bb50 | |
%.sink = phi i64 [ 4, %bb40 ], [ 4, %bb50 ], [ 3, %bb35 ], [ 2, %bb46 ], [ 4, %bb24 ], [ 3, %bb17 ], [ 3, %bb14 ] | |
%59 = icmp ugt i64 %.sink, %5 | |
br i1 %59, label %bb4.i.i.i28, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h335ea9d42b409f3fE.exit" | |
bb4.i.i.i28: ; preds = %bb55 | |
tail call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %.sink, i64 %5), !noalias !694 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h335ea9d42b409f3fE.exit": ; preds = %bb55 | |
%60 = insertvalue { %"num::flt2dec::Part"*, i64 } undef, %"num::flt2dec::Part"* %4, 0 | |
%61 = insertvalue { %"num::flt2dec::Part"*, i64 } %60, i64 %.sink, 1 | |
ret { %"num::flt2dec::Part"*, i64 } %61 | |
} | |
; Function Attrs: uwtable | |
define { %"num::flt2dec::Part"*, i64 } @_ZN4core3num7flt2dec17digits_to_exp_str17h545598f16225e58bE(i8* noalias nonnull readonly, i64, i16, i64, i1 zeroext, %"num::flt2dec::Part"* nonnull, i64) unnamed_addr #2 { | |
start: | |
%7 = icmp eq i64 %1, 0 | |
br i1 %7, label %bb2, label %bb4 | |
bb2: ; preds = %start | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE17hf370fda7da123c2fE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb4: ; preds = %start | |
%8 = load i8, i8* %0, align 1 | |
%9 = icmp ult i8 %8, 49 | |
br i1 %9, label %bb5, label %bb6 | |
bb5: ; preds = %bb4 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE17hfb09a232cc400edbE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %bb4 | |
%10 = icmp ult i64 %6, 6 | |
br i1 %10, label %bb8, label %bb11 | |
bb8: ; preds = %bb6 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE17hc79c2089b42598faE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb11: ; preds = %bb6 | |
%11 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 0, i32 0 | |
store i16 2, i16* %11, align 2 | |
%12 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 0, i32 2 | |
%13 = bitcast [2 x i64]* %12 to i8** | |
store i8* %0, i8** %13, align 8 | |
%14 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 0, i32 2, i64 1 | |
store i64 1, i64* %14, align 8 | |
%15 = or i64 %3, %1 | |
%16 = icmp ugt i64 %15, 1 | |
br i1 %16, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hbcf91376e97a9125E.exit", label %bb28 | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hbcf91376e97a9125E.exit": ; preds = %bb11 | |
%17 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 1, i32 0 | |
store i16 2, i16* %17, align 2 | |
%18 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 1, i32 2 | |
%19 = bitcast [2 x i64]* %18 to i8** | |
store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.A, i64 0, i64 0), i8** %19, align 8 | |
%20 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 1, i32 2, i64 1 | |
store i64 1, i64* %20, align 8 | |
%21 = getelementptr inbounds i8, i8* %0, i64 1 | |
%22 = add i64 %1, -1 | |
%23 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 2, i32 0 | |
store i16 2, i16* %23, align 2 | |
%24 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 2, i32 2 | |
%25 = bitcast [2 x i64]* %24 to i8** | |
store i8* %21, i8** %25, align 8 | |
%26 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 2, i32 2, i64 1 | |
store i64 %22, i64* %26, align 8 | |
%27 = icmp ugt i64 %3, %1 | |
br i1 %27, label %bb26, label %bb28 | |
bb26: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hbcf91376e97a9125E.exit" | |
%28 = sub i64 %3, %1 | |
%29 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 3, i32 0 | |
store i16 0, i16* %29, align 2 | |
%30 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 3, i32 2, i64 0 | |
store i64 %28, i64* %30, align 8 | |
br label %bb28 | |
bb28: ; preds = %bb26, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hbcf91376e97a9125E.exit", %bb11 | |
%n.0 = phi i64 [ 4, %bb26 ], [ 3, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hbcf91376e97a9125E.exit" ], [ 1, %bb11 ] | |
%31 = add i16 %2, -1 | |
%32 = icmp slt i16 %2, 1 | |
%33 = icmp ult i64 %n.0, %6 | |
br i1 %32, label %bb29, label %bb30 | |
bb29: ; preds = %bb28 | |
br i1 %33, label %bb34, label %panic4, !prof !5 | |
bb30: ; preds = %bb28 | |
br i1 %33, label %bb39, label %panic5, !prof !5 | |
bb34: ; preds = %bb29 | |
%.sink = select i1 %4, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.M, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @byte_str.N, i64 0, i64 0) | |
%34 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 %n.0, i32 0 | |
store i16 2, i16* %34, align 2 | |
%35 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 %n.0, i32 2 | |
%36 = bitcast [2 x i64]* %35 to i8** | |
store i8* %.sink, i8** %36, align 8 | |
%37 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 %n.0, i32 2, i64 1 | |
store i64 2, i64* %37, align 8 | |
%38 = sub i16 1, %2 | |
br label %bb41 | |
bb39: ; preds = %bb30 | |
%.sink7 = select i1 %4, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.P, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.Q, i64 0, i64 0) | |
%39 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 %n.0, i32 0 | |
store i16 2, i16* %39, align 2 | |
%40 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 %n.0, i32 2 | |
%41 = bitcast [2 x i64]* %40 to i8** | |
store i8* %.sink7, i8** %41, align 8 | |
%42 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 %n.0, i32 2, i64 1 | |
store i64 1, i64* %42, align 8 | |
br label %bb41 | |
bb41: ; preds = %bb39, %bb34 | |
%.sink8.in = phi i16 [ %31, %bb39 ], [ %38, %bb34 ] | |
%43 = add nuw nsw i64 %n.0, 1 | |
%44 = icmp ult i64 %43, %6 | |
br i1 %44, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hbcf91376e97a9125E.exit36", label %panic.i.i35, !prof !5 | |
panic.i.i35: ; preds = %bb41 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.2e to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %43, i64 %6) | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hbcf91376e97a9125E.exit36": ; preds = %bb41 | |
%45 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 %43, i32 0 | |
store i16 1, i16* %45, align 2 | |
%46 = getelementptr inbounds %"num::flt2dec::Part", %"num::flt2dec::Part"* %5, i64 %43, i32 1, i64 0 | |
store i16 %.sink8.in, i16* %46, align 2 | |
%47 = add nuw nsw i64 %n.0, 2 | |
%48 = icmp ugt i64 %47, %6 | |
br i1 %48, label %bb4.i.i.i37, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h335ea9d42b409f3fE.exit" | |
bb4.i.i.i37: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hbcf91376e97a9125E.exit36" | |
tail call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %47, i64 %6), !noalias !697 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h335ea9d42b409f3fE.exit": ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hbcf91376e97a9125E.exit36" | |
%49 = insertvalue { %"num::flt2dec::Part"*, i64 } undef, %"num::flt2dec::Part"* %5, 0 | |
%50 = insertvalue { %"num::flt2dec::Part"*, i64 } %49, i64 %47, 1 | |
ret { %"num::flt2dec::Part"*, i64 } %50 | |
panic4: ; preds = %bb29 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.O to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %n.0, i64 %6) | |
unreachable | |
panic5: ; preds = %bb30 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.R to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %n.0, i64 %6) | |
unreachable | |
} | |
; Function Attrs: norecurse nounwind readonly uwtable | |
define { i8*, i64 } @_ZN4core3num7flt2dec14determine_sign17hdaa04df4a2ef9dc7E(i8, %"num::flt2dec::decoder::FullDecoded"* noalias nocapture readonly dereferenceable(40), i1 zeroext) unnamed_addr #3 { | |
start: | |
%_9.sroa.0.0..sroa_idx = getelementptr inbounds %"num::flt2dec::decoder::FullDecoded", %"num::flt2dec::decoder::FullDecoded"* %1, i64 0, i32 0 | |
%_9.sroa.0.0.copyload = load i64, i64* %_9.sroa.0.0..sroa_idx, align 8 | |
switch i64 %_9.sroa.0.0.copyload, label %bb8 [ | |
i64 0, label %bb10 | |
i64 2, label %bb9 | |
] | |
bb3: ; preds = %bb9 | |
%.sink2 = select i1 %2, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.S, i64 0, i64 0), i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i64 0, i64 0) | |
br label %bb10 | |
bb4: ; preds = %bb9 | |
br label %bb10 | |
bb5: ; preds = %bb9 | |
%.sink4 = select i1 %2, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.S, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.T, i64 0, i64 0) | |
br label %bb10 | |
bb6: ; preds = %bb8 | |
%.sink7 = select i1 %2, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.S, i64 0, i64 0), i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i64 0, i64 0) | |
br label %bb10 | |
bb7: ; preds = %bb8 | |
%.sink9 = select i1 %2, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.S, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.T, i64 0, i64 0) | |
br label %bb10 | |
bb8: ; preds = %start | |
%switch = icmp ult i8 %0, 2 | |
br i1 %switch, label %bb6, label %bb7 | |
bb9: ; preds = %start | |
switch i8 %0, label %bb5 [ | |
i8 0, label %bb10 | |
i8 1, label %bb3 | |
i8 2, label %bb4 | |
] | |
bb10: ; preds = %bb9, %start, %bb3, %bb4, %bb5, %bb6, %bb7 | |
%_7.sroa.0.0 = phi i8* [ %.sink7, %bb6 ], [ %.sink9, %bb7 ], [ %.sink4, %bb5 ], [ getelementptr inbounds ([1 x i8], [1 x i8]* @byte_str.T, i64 0, i64 0), %bb4 ], [ %.sink2, %bb3 ], [ getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i64 0, i64 0), %start ], [ getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i64 0, i64 0), %bb9 ] | |
%_7.sroa.10.0.shrunk = phi i1 [ %2, %bb6 ], [ true, %bb7 ], [ true, %bb5 ], [ true, %bb4 ], [ %2, %bb3 ], [ false, %start ], [ false, %bb9 ] | |
%_7.sroa.10.0 = zext i1 %_7.sroa.10.0.shrunk to i64 | |
%3 = insertvalue { i8*, i64 } undef, i8* %_7.sroa.0.0, 0 | |
%4 = insertvalue { i8*, i64 } %3, i64 %_7.sroa.10.0, 1 | |
ret { i8*, i64 } %4 | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define i64 @_ZN4core3num7flt2dec20estimate_max_buf_len17h53e8e639a5bfb178E(i16) unnamed_addr #0 { | |
start: | |
%1 = icmp slt i16 %0, 0 | |
%. = select i1 %1, i64 -12, i64 5 | |
%2 = sext i16 %0 to i64 | |
%3 = shl nsw i64 %2, 32 | |
%sext = mul nsw i64 %3, %. | |
%4 = ashr exact i64 %sext, 32 | |
%5 = lshr i64 %4, 4 | |
%6 = add nuw nsw i64 %5, 21 | |
ret i64 %6 | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7dec2flt9algorithm12power_of_ten17hcd60d8bc2a1a7e90E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16), i16) unnamed_addr #2 { | |
start: | |
%2 = icmp slt i16 %1, -305 | |
br i1 %2, label %bb1, label %bb2 | |
bb1: ; preds = %start | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7dec2flt9algorithm12power_of_ten14_MSG_FILE_LINE17h3b7d76c72389c0b3E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb2: ; preds = %start | |
%3 = add i16 %1, 305 | |
%4 = sext i16 %3 to i64 | |
%5 = icmp ult i16 %3, 611 | |
br i1 %5, label %bb4, label %panic, !prof !5 | |
bb4: ; preds = %bb2 | |
%6 = getelementptr inbounds { [611 x i64], [611 x i16], [2 x i8] }, { [611 x i64], [611 x i16], [2 x i8] }* @const.1o, i64 0, i32 0, i64 %4 | |
%7 = load i64, i64* %6, align 8 | |
%8 = getelementptr inbounds { [611 x i64], [611 x i16], [2 x i8] }, { [611 x i64], [611 x i16], [2 x i8] }* @const.1o, i64 0, i32 1, i64 %4 | |
%9 = load i16, i16* %8, align 2 | |
%10 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i64 0, i32 0 | |
store i64 %7, i64* %10, align 8 | |
%11 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i64 0, i32 2 | |
store i16 %9, i16* %11, align 8 | |
ret void | |
panic: ; preds = %bb2 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.1q to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %4, i64 611) | |
unreachable | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7dec2flt9algorithm10make_ratio17hc4404c1273a3b09bE(%"num::bignum::Big32x40"* dereferenceable(168), %"num::bignum::Big32x40"* dereferenceable(168), i16, i16) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%4 = icmp slt i16 %2, 0 | |
%5 = sub i16 0, %2 | |
%_0.0.i = select i1 %4, i16 %5, i16 %2 | |
%6 = sext i16 %_0.0.i to i64 | |
%7 = icmp slt i16 %3, 0 | |
%8 = sub i16 0, %3 | |
%_0.0.i3 = select i1 %7, i16 %8, i16 %3 | |
%9 = sext i16 %_0.0.i3 to i64 | |
%10 = icmp sgt i16 %2, -1 | |
%11 = icmp sgt i16 %3, -1 | |
br i1 %10, label %bb3, label %bb4 | |
bb3: ; preds = %start | |
br i1 %11, label %bb5, label %bb6 | |
bb4: ; preds = %start | |
br i1 %11, label %bb14, label %bb15 | |
bb5: ; preds = %bb3 | |
%12 = icmp ule i64 %6, %9 | |
%_0.0.sroa.speculated.i.i = select i1 %12, i64 %6, i64 %9 | |
%13 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517h32a27e26e41b74e8E(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %0, i64 %6) | |
%14 = sub nsw i64 %6, %_0.0.sroa.speculated.i.i | |
%15 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %13, i64 %14) | |
%16 = sub nsw i64 %9, %_0.0.sroa.speculated.i.i | |
%17 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %1, i64 %16) | |
br label %bb23 | |
bb6: ; preds = %bb3 | |
%18 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517h32a27e26e41b74e8E(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %0, i64 %6) | |
%19 = add nsw i64 %9, %6 | |
%20 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %18, i64 %19) | |
br label %bb23 | |
bb14: ; preds = %bb4 | |
%21 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517h32a27e26e41b74e8E(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %1, i64 %6) | |
%22 = add nsw i64 %9, %6 | |
%23 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %21, i64 %22) | |
br label %bb23 | |
bb15: ; preds = %bb4 | |
%24 = icmp ule i64 %6, %9 | |
%_0.0.sroa.speculated.i.i4 = select i1 %24, i64 %6, i64 %9 | |
%25 = sub nsw i64 %9, %_0.0.sroa.speculated.i.i4 | |
%26 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %0, i64 %25) | |
%27 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow517h32a27e26e41b74e8E(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %1, i64 %6) | |
%28 = sub nsw i64 %6, %_0.0.sroa.speculated.i.i4 | |
%29 = tail call dereferenceable(168) %"num::bignum::Big32x40"* @_ZN4core3num6bignum8Big32x408mul_pow217h1cf2bd21d8443b3bE(%"num::bignum::Big32x40"* nonnull dereferenceable(168) %27, i64 %28) | |
br label %bb23 | |
bb23: ; preds = %bb14, %bb15, %bb5, %bb6 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define i8 @_ZN4core3num7dec2flt3num21compare_with_half_ulp17h691ef3013c3be578E(%"num::bignum::Big32x40"* noalias nocapture readonly dereferenceable(168), i64) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %bb3, label %bb2 | |
bb2: ; preds = %start | |
%3 = add i64 %1, -1 | |
%4 = lshr i64 %3, 5 | |
%5 = icmp ult i64 %3, 1280 | |
br i1 %5, label %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit, label %panic2.i, !prof !5 | |
panic2.i: ; preds = %bb2 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4E to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %4, i64 40), !noalias !700 | |
unreachable | |
_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit: ; preds = %bb2 | |
%6 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i64 0, i32 2, i64 %4 | |
%7 = load i32, i32* %6, align 4, !alias.scope !700 | |
%8 = trunc i64 %3 to i32 | |
%9 = and i32 %8, 31 | |
%10 = shl i32 1, %9 | |
%11 = and i32 %7, %10 | |
%12 = icmp eq i32 %11, 0 | |
br i1 %12, label %bb3, label %bb10.preheader | |
bb10.preheader: ; preds = %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit | |
br label %bb10 | |
bb3.loopexit: ; preds = %bb10, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit4 | |
%_0.0.ph = phi i8 [ 1, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit4 ], [ 0, %bb10 ] | |
br label %bb3 | |
bb3: ; preds = %bb3.loopexit, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit, %start | |
%_0.0 = phi i8 [ -1, %start ], [ -1, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit ], [ %_0.0.ph, %bb3.loopexit ] | |
ret i8 %_0.0 | |
bb10: ; preds = %bb10.preheader, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit4 | |
%iter.sroa.0.0 = phi i64 [ %16, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit4 ], [ 0, %bb10.preheader ] | |
%13 = icmp ult i64 %iter.sroa.0.0, %3 | |
br i1 %13, label %bb13, label %bb3.loopexit | |
bb13: ; preds = %bb10 | |
%14 = lshr i64 %iter.sroa.0.0, 5 | |
%15 = icmp ult i64 %iter.sroa.0.0, 1280 | |
br i1 %15, label %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit4, label %panic2.i3, !prof !5 | |
panic2.i3: ; preds = %bb13 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4E to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %14, i64 40), !noalias !703 | |
unreachable | |
_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit4: ; preds = %bb13 | |
%16 = add nuw nsw i64 %iter.sroa.0.0, 1 | |
%17 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i64 0, i32 2, i64 %14 | |
%18 = load i32, i32* %17, align 4, !alias.scope !703 | |
%19 = trunc i64 %iter.sroa.0.0 to i32 | |
%20 = and i32 %19, 31 | |
%21 = shl i32 1, %20 | |
%22 = and i32 %18, %21 | |
%23 = icmp eq i32 %22, 0 | |
br i1 %23, label %bb10, label %bb3.loopexit | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7dec2flt3num13digits_to_big17he7528993a8be4858E(%"num::bignum::Big32x40"* noalias nocapture sret dereferenceable(168), i8* noalias nonnull readonly, i64, i8* noalias nonnull readonly, i64) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%iter = alloca %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>", align 8 | |
%f = alloca %"num::bignum::Big32x40", align 8 | |
%5 = bitcast %"num::bignum::Big32x40"* %f to i8* | |
call void @llvm.lifetime.start(i64 168, i8* nonnull %5) | |
%6 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %f, i64 0, i32 0 | |
store i64 1, i64* %6, align 8, !alias.scope !706 | |
%base.i.sroa.0.0..sroa_idx = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %f, i64 0, i32 2, i64 0 | |
%7 = bitcast i32* %base.i.sroa.0.0..sroa_idx to i8* | |
call void @llvm.memset.p0i8.i64(i8* %7, i8 0, i64 160, i32 8, i1 false) | |
%8 = getelementptr inbounds i8, i8* %1, i64 %2 | |
%9 = getelementptr inbounds i8, i8* %3, i64 %4 | |
%10 = bitcast %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>"* %iter to i8* | |
call void @llvm.lifetime.start(i64 40, i8* nonnull %10) | |
%_8.sroa.0.sroa.0.0._8.sroa.0.0..sroa_cast.sroa_idx = getelementptr inbounds %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>", %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>"* %iter, i64 0, i32 0, i32 0 | |
store i8* %1, i8** %_8.sroa.0.sroa.0.0._8.sroa.0.0..sroa_cast.sroa_idx, align 8 | |
%_8.sroa.0.sroa.4.0._8.sroa.0.0..sroa_cast.sroa_idx49 = getelementptr inbounds %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>", %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>"* %iter, i64 0, i32 0, i32 2 | |
store i8* %8, i8** %_8.sroa.0.sroa.4.0._8.sroa.0.0..sroa_cast.sroa_idx49, align 8 | |
%_8.sroa.4.0..sroa_idx30 = getelementptr inbounds %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>", %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>"* %iter, i64 0, i32 2, i32 0 | |
store i8* %3, i8** %_8.sroa.4.0..sroa_idx30, align 8 | |
%_8.sroa.5.0..sroa_idx32 = getelementptr inbounds %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>", %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>"* %iter, i64 0, i32 2, i32 2 | |
store i8* %9, i8** %_8.sroa.5.0..sroa_idx32, align 8 | |
%_8.sroa.6.0..sroa_idx = getelementptr inbounds %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>", %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>"* %iter, i64 0, i32 4 | |
store i8 0, i8* %_8.sroa.6.0..sroa_idx, align 8 | |
%11 = getelementptr inbounds %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>", %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>"* %iter, i64 0, i32 2 | |
%12 = getelementptr inbounds %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>", %"iter::Chain<slice::Iter<u8>, slice::Iter<u8>>"* %iter, i64 0, i32 0 | |
br label %bb5 | |
bb5: ; preds = %bb5.backedge, %start | |
%13 = phi i64 [ %79, %bb5.backedge ], [ 1, %start ] | |
%14 = phi i8 [ %.pre, %bb5.backedge ], [ 0, %start ] | |
%trunc.i = trunc i8 %14 to i2 | |
switch i2 %trunc.i, label %bb3.i [ | |
i2 0, label %bb1.i | |
i2 1, label %bb4.i | |
] | |
bb1.i: ; preds = %bb5 | |
%15 = load i8*, i8** %_8.sroa.0.sroa.0.0._8.sroa.0.0..sroa_cast.sroa_idx, align 8, !nonnull !687 | |
%16 = load i8*, i8** %_8.sroa.0.sroa.4.0._8.sroa.0.0..sroa_cast.sroa_idx49, align 8, !nonnull !687 | |
%17 = icmp eq i8* %15, %16 | |
br i1 %17, label %bb7.i9, label %bb8 | |
bb3.i: ; preds = %bb5 | |
br label %bb4.i | |
bb4.i: ; preds = %bb5, %bb3.i | |
%.sink.i = phi %"slice::Iter<u8>"* [ %11, %bb3.i ], [ %12, %bb5 ] | |
%18 = getelementptr inbounds %"slice::Iter<u8>", %"slice::Iter<u8>"* %.sink.i, i64 0, i32 0 | |
%19 = load i8*, i8** %18, align 8, !nonnull !687 | |
%20 = getelementptr inbounds %"slice::Iter<u8>", %"slice::Iter<u8>"* %.sink.i, i64 0, i32 2 | |
%21 = load i8*, i8** %20, align 8, !nonnull !687 | |
%22 = icmp eq i8* %19, %21 | |
br i1 %22, label %bb7, label %bb8 | |
bb7.i9: ; preds = %bb1.i | |
store i8 2, i8* %_8.sroa.6.0..sroa_idx, align 8 | |
%23 = load i8*, i8** %_8.sroa.4.0..sroa_idx30, align 8, !nonnull !687 | |
%24 = load i8*, i8** %_8.sroa.5.0..sroa_idx32, align 8, !nonnull !687 | |
%25 = icmp eq i8* %23, %24 | |
br i1 %25, label %bb7, label %bb8 | |
bb7: ; preds = %bb4.i, %bb7.i9 | |
call void @llvm.lifetime.end(i64 40, i8* nonnull %10) | |
%26 = bitcast %"num::bignum::Big32x40"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull %26, i8* nonnull %5, i64 168, i32 8, i1 false) | |
call void @llvm.lifetime.end(i64 168, i8* nonnull %5) | |
ret void | |
bb8: ; preds = %bb4.i, %bb1.i, %bb7.i9 | |
%.sink17.i.sink = phi i8* [ %23, %bb7.i9 ], [ %15, %bb1.i ], [ %19, %bb4.i ] | |
%.sink16.i.sink = phi i8** [ %_8.sroa.4.0..sroa_idx30, %bb7.i9 ], [ %_8.sroa.0.sroa.0.0._8.sroa.0.0..sroa_cast.sroa_idx, %bb1.i ], [ %18, %bb4.i ] | |
%27 = getelementptr inbounds i8, i8* %.sink17.i.sink, i64 1 | |
store i8* %27, i8** %.sink16.i.sink, align 8 | |
%28 = load i8, i8* %.sink17.i.sink, align 1 | |
%29 = add i8 %28, -48 | |
%30 = zext i8 %29 to i32 | |
%31 = icmp ugt i64 %13, 40 | |
br i1 %31, label %bb4.i.i.i.i, label %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i" | |
bb4.i.i.i.i: ; preds = %bb8 | |
call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %13, i64 40), !noalias !709 | |
unreachable | |
"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i": ; preds = %bb8 | |
%32 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %f, i64 0, i32 2, i64 %13 | |
%33 = icmp eq i64 %13, 0 | |
br i1 %33, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit, label %bb6.i6.preheader | |
bb6.i6.preheader: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i" | |
%34 = shl i64 %13, 2 | |
%35 = add i64 %34, -4 | |
%36 = lshr exact i64 %35, 2 | |
%37 = add nuw nsw i64 %36, 1 | |
%xtraiter = and i64 %37, 3 | |
%lcmp.mod = icmp eq i64 %xtraiter, 0 | |
br i1 %lcmp.mod, label %bb6.i6.prol.loopexit, label %bb6.i6.prol.preheader | |
bb6.i6.prol.preheader: ; preds = %bb6.i6.preheader | |
br label %bb6.i6.prol | |
bb6.i6.prol: ; preds = %bb6.i6.prol, %bb6.i6.prol.preheader | |
%carry.020.i.prol = phi i64 [ %43, %bb6.i6.prol ], [ 0, %bb6.i6.prol.preheader ] | |
%iter.sroa.0.019.i.prol = phi i32* [ %38, %bb6.i6.prol ], [ %base.i.sroa.0.0..sroa_idx, %bb6.i6.prol.preheader ] | |
%prol.iter = phi i64 [ %prol.iter.sub, %bb6.i6.prol ], [ %xtraiter, %bb6.i6.prol.preheader ] | |
%38 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i.prol, i64 1 | |
%39 = load i32, i32* %iter.sroa.0.019.i.prol, align 4 | |
%40 = zext i32 %39 to i64 | |
%41 = mul nuw nsw i64 %40, 10 | |
%42 = add nuw nsw i64 %41, %carry.020.i.prol | |
%43 = lshr i64 %42, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.prol = trunc i64 %42 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.prol, i32* %iter.sroa.0.019.i.prol, align 4 | |
%prol.iter.sub = add i64 %prol.iter, -1 | |
%prol.iter.cmp = icmp eq i64 %prol.iter.sub, 0 | |
br i1 %prol.iter.cmp, label %bb6.i6.prol.loopexit.unr-lcssa, label %bb6.i6.prol, !llvm.loop !712 | |
bb6.i6.prol.loopexit.unr-lcssa: ; preds = %bb6.i6.prol | |
br label %bb6.i6.prol.loopexit | |
bb6.i6.prol.loopexit: ; preds = %bb6.i6.preheader, %bb6.i6.prol.loopexit.unr-lcssa | |
%.lcssa.unr = phi i64 [ undef, %bb6.i6.preheader ], [ %43, %bb6.i6.prol.loopexit.unr-lcssa ] | |
%carry.020.i.unr = phi i64 [ 0, %bb6.i6.preheader ], [ %43, %bb6.i6.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.019.i.unr = phi i32* [ %base.i.sroa.0.0..sroa_idx, %bb6.i6.preheader ], [ %38, %bb6.i6.prol.loopexit.unr-lcssa ] | |
%44 = icmp ult i64 %35, 12 | |
br i1 %44, label %bb5.i5, label %bb6.i6.preheader.new | |
bb6.i6.preheader.new: ; preds = %bb6.i6.prol.loopexit | |
br label %bb6.i6 | |
bb5.i5.unr-lcssa: ; preds = %bb6.i6 | |
br label %bb5.i5 | |
bb5.i5: ; preds = %bb6.i6.prol.loopexit, %bb5.i5.unr-lcssa | |
%.lcssa = phi i64 [ %.lcssa.unr, %bb6.i6.prol.loopexit ], [ %69, %bb5.i5.unr-lcssa ] | |
%abi_cast.sroa.0.0.extract.trunc.i = trunc i64 %.lcssa to i32 | |
%45 = icmp eq i32 %abi_cast.sroa.0.0.extract.trunc.i, 0 | |
br i1 %45, label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit, label %bb8.i | |
bb6.i6: ; preds = %bb6.i6, %bb6.i6.preheader.new | |
%carry.020.i = phi i64 [ %carry.020.i.unr, %bb6.i6.preheader.new ], [ %69, %bb6.i6 ] | |
%iter.sroa.0.019.i = phi i32* [ %iter.sroa.0.019.i.unr, %bb6.i6.preheader.new ], [ %64, %bb6.i6 ] | |
%46 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 1 | |
%47 = load i32, i32* %iter.sroa.0.019.i, align 4 | |
%48 = zext i32 %47 to i64 | |
%49 = mul nuw nsw i64 %48, 10 | |
%50 = add nuw nsw i64 %49, %carry.020.i | |
%51 = lshr i64 %50, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i = trunc i64 %50 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i, i32* %iter.sroa.0.019.i, align 4 | |
%52 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 2 | |
%53 = load i32, i32* %46, align 4 | |
%54 = zext i32 %53 to i64 | |
%55 = mul nuw nsw i64 %54, 10 | |
%56 = add nuw nsw i64 %55, %51 | |
%57 = lshr i64 %56, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.1 = trunc i64 %56 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.1, i32* %46, align 4 | |
%58 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 3 | |
%59 = load i32, i32* %52, align 4 | |
%60 = zext i32 %59 to i64 | |
%61 = mul nuw nsw i64 %60, 10 | |
%62 = add nuw nsw i64 %61, %57 | |
%63 = lshr i64 %62, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.2 = trunc i64 %62 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.2, i32* %52, align 4 | |
%64 = getelementptr inbounds i32, i32* %iter.sroa.0.019.i, i64 4 | |
%65 = load i32, i32* %58, align 4 | |
%66 = zext i32 %65 to i64 | |
%67 = mul nuw nsw i64 %66, 10 | |
%68 = add nuw nsw i64 %67, %63 | |
%69 = lshr i64 %68, 32 | |
%abi_cast.sroa.4.0.extract.trunc.i.3 = trunc i64 %68 to i32 | |
store i32 %abi_cast.sroa.4.0.extract.trunc.i.3, i32* %58, align 4 | |
%70 = icmp eq i32* %64, %32 | |
br i1 %70, label %bb5.i5.unr-lcssa, label %bb6.i6 | |
bb8.i: ; preds = %bb5.i5 | |
%71 = icmp ult i64 %13, 40 | |
br i1 %71, label %bb10.i7, label %panic.i8, !prof !5 | |
bb10.i7: ; preds = %bb8.i | |
store i32 %abi_cast.sroa.0.0.extract.trunc.i, i32* %32, align 4 | |
%72 = add i64 %13, 1 | |
br label %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit | |
panic.i8: ; preds = %bb8.i | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4I to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %13, i64 40) | |
unreachable | |
_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit: ; preds = %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i", %bb5.i5, %bb10.i7 | |
%73 = phi i64 [ %72, %bb10.i7 ], [ %13, %bb5.i5 ], [ 0, %"_ZN4core5slice77_$LT$impl$u20$core..ops..index..IndexMut$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$9index_mut17hb8c600a142b5ddf4E.exit.i" ] | |
store i64 %73, i64* %6, align 8 | |
%74 = load i32, i32* %base.i.sroa.0.0..sroa_idx, align 8 | |
%75 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %74, i32 %30) #16 | |
%76 = extractvalue { i32, i1 } %75, 0 | |
%77 = extractvalue { i32, i1 } %75, 1 | |
store i32 %76, i32* %base.i.sroa.0.0..sroa_idx, align 8 | |
br i1 %77, label %bb6.i.preheader, label %bb5.i | |
bb6.i.preheader: ; preds = %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit | |
br label %bb6.i | |
bb5.i.loopexit: ; preds = %bb7.i | |
br label %bb5.i | |
bb5.i: ; preds = %bb5.i.loopexit, %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit | |
%i.0.lcssa.i = phi i64 [ 1, %_ZN4core3num6bignum8Big32x409mul_small17h65ab9f8546ed35ceE.exit ], [ %86, %bb5.i.loopexit ] | |
%78 = icmp ugt i64 %i.0.lcssa.i, %73 | |
br i1 %78, label %bb10.i, label %bb5.backedge | |
bb5.backedge: ; preds = %bb5.i, %bb10.i | |
%79 = phi i64 [ %73, %bb5.i ], [ %i.0.lcssa.i, %bb10.i ] | |
%.pre = load i8, i8* %_8.sroa.6.0..sroa_idx, align 8, !range !713 | |
br label %bb5 | |
bb6.i: ; preds = %bb6.i.preheader, %bb7.i | |
%i.025.i = phi i64 [ %86, %bb7.i ], [ 1, %bb6.i.preheader ] | |
%80 = icmp ult i64 %i.025.i, 40 | |
br i1 %80, label %bb7.i, label %panic.i, !prof !5 | |
bb7.i: ; preds = %bb6.i | |
%81 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %f, i64 0, i32 2, i64 %i.025.i | |
%82 = load i32, i32* %81, align 4 | |
%83 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %82, i32 1) #16 | |
%84 = extractvalue { i32, i1 } %83, 0 | |
%85 = extractvalue { i32, i1 } %83, 1 | |
store i32 %84, i32* %81, align 4 | |
%86 = add nuw nsw i64 %i.025.i, 1 | |
br i1 %85, label %bb6.i, label %bb5.i.loopexit | |
bb10.i: ; preds = %bb5.i | |
store i64 %i.0.lcssa.i, i64* %6, align 8 | |
br label %bb5.backedge | |
panic.i: ; preds = %bb6.i | |
call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4G to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %i.025.i, i64 40) | |
unreachable | |
} | |
; Function Attrs: uwtable | |
define i64 @_ZN4core3num7dec2flt3num6to_u6417h0615f6384189448aE(%"num::bignum::Big32x40"* noalias readonly dereferenceable(168)) unnamed_addr #2 { | |
start: | |
%1 = tail call i64 @_ZN4core3num6bignum8Big32x4010bit_length17h0dcdc318c9781017E(%"num::bignum::Big32x40"* noalias nonnull readonly dereferenceable(168) %0) | |
%2 = icmp ugt i64 %1, 63 | |
br i1 %2, label %bb2, label %bb3 | |
bb2: ; preds = %start | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7dec2flt3num6to_u6414_MSG_FILE_LINE17hb1073597c7152aacE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb3: ; preds = %start | |
%3 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i64 0, i32 0 | |
%4 = load i64, i64* %3, align 8, !alias.scope !714 | |
%5 = icmp ugt i64 %4, 40 | |
br i1 %5, label %bb4.i.i.i.i, label %_ZN4core3num6bignum8Big32x406digits17h8552d5ee36269d2dE.exit | |
bb4.i.i.i.i: ; preds = %bb3 | |
tail call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %4, i64 40), !noalias !717 | |
unreachable | |
_ZN4core3num6bignum8Big32x406digits17h8552d5ee36269d2dE.exit: ; preds = %bb3 | |
%6 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i64 0, i32 2, i64 0 | |
%7 = icmp ult i64 %4, 2 | |
br i1 %7, label %bb6, label %bb10 | |
bb6: ; preds = %_ZN4core3num6bignum8Big32x406digits17h8552d5ee36269d2dE.exit | |
%8 = icmp eq i64 %4, 0 | |
br i1 %8, label %panic, label %bb8, !prof !614 | |
bb8: ; preds = %bb6 | |
%9 = load i32, i32* %6, align 4 | |
%10 = zext i32 %9 to i64 | |
br label %bb11 | |
bb10: ; preds = %_ZN4core3num6bignum8Big32x406digits17h8552d5ee36269d2dE.exit | |
%11 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i64 0, i32 2, i64 1 | |
%12 = load i32, i32* %11, align 4 | |
%13 = zext i32 %12 to i64 | |
%14 = shl nuw i64 %13, 32 | |
%15 = load i32, i32* %6, align 4 | |
%16 = zext i32 %15 to i64 | |
%17 = or i64 %14, %16 | |
br label %bb11 | |
bb11: ; preds = %bb10, %bb8 | |
%_0.0 = phi i64 [ %10, %bb8 ], [ %17, %bb10 ] | |
ret i64 %_0.0 | |
panic: ; preds = %bb6 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.1t to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 0, i64 0) | |
unreachable | |
} | |
; Function Attrs: uwtable | |
define i64 @_ZN4core3num7dec2flt3num8get_bits17h324876d3599b47cdE(%"num::bignum::Big32x40"* noalias nocapture readonly dereferenceable(168), i64, i64) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%3 = sub i64 %2, %1 | |
%4 = icmp ugt i64 %3, 64 | |
br i1 %4, label %bb1, label %bb5.preheader | |
bb5.preheader: ; preds = %start | |
%5 = icmp ugt i64 %2, %1 | |
br i1 %5, label %bb8.preheader, label %bb7 | |
bb8.preheader: ; preds = %bb5.preheader | |
br label %bb8 | |
bb1: ; preds = %start | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7dec2flt3num8get_bits14_MSG_FILE_LINE17h12c0a0414ee16166E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb7.loopexit: ; preds = %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit | |
br label %bb7 | |
bb7: ; preds = %bb7.loopexit, %bb5.preheader | |
%result.0.lcssa = phi i64 [ 0, %bb5.preheader ], [ %17, %bb7.loopexit ] | |
ret i64 %result.0.lcssa | |
bb8: ; preds = %bb8.preheader, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit | |
%result.026 = phi i64 [ %17, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit ], [ 0, %bb8.preheader ] | |
%iter.sroa.4.025 = phi i64 [ %6, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit ], [ %2, %bb8.preheader ] | |
%6 = add i64 %iter.sroa.4.025, -1 | |
%7 = lshr i64 %6, 5 | |
%8 = icmp ult i64 %6, 1280 | |
br i1 %8, label %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit, label %panic2.i, !prof !5 | |
panic2.i: ; preds = %bb8 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4E to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %7, i64 40), !noalias !720 | |
unreachable | |
_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit: ; preds = %bb8 | |
%9 = shl i64 %result.026, 1 | |
%10 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %0, i64 0, i32 2, i64 %7 | |
%11 = load i32, i32* %10, align 4, !alias.scope !720 | |
%12 = trunc i64 %6 to i32 | |
%13 = and i32 %12, 31 | |
%14 = lshr i32 %11, %13 | |
%15 = and i32 %14, 1 | |
%16 = zext i32 %15 to i64 | |
%17 = or i64 %16, %9 | |
%18 = icmp ugt i64 %6, %1 | |
br i1 %18, label %bb8, label %bb7.loopexit | |
} | |
; Function Attrs: norecurse nounwind uwtable | |
define void @_ZN4core3num7dec2flt5rawfp8Unpacked3new17h436bc2bf16760323E(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16), i64, i16) unnamed_addr #5 { | |
start: | |
%3 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i64 0, i32 0 | |
store i64 %1, i64* %3, align 8 | |
%4 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i64 0, i32 2 | |
store i16 %2, i16* %4, align 8 | |
ret void | |
} | |
; Function Attrs: norecurse nounwind uwtable | |
define void @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$14integer_decode17hc9acf22b7d0186cfE"({ i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }* noalias nocapture sret dereferenceable(16), float) unnamed_addr #5 { | |
start: | |
%2 = bitcast float %1 to i32 | |
%3 = icmp sgt i32 %2, -1 | |
%. = select i1 %3, i8 1, i8 -1 | |
%4 = lshr i32 %2, 23 | |
%5 = trunc i32 %4 to i16 | |
%6 = and i16 %5, 255 | |
%7 = icmp eq i16 %6, 0 | |
%8 = and i32 %2, 8388607 | |
%9 = shl nuw nsw i32 %8, 1 | |
%10 = or i32 %8, 8388608 | |
%mantissa.0 = select i1 %7, i32 %9, i32 %10 | |
%11 = add nsw i16 %6, -150 | |
%12 = zext i32 %mantissa.0 to i64 | |
%13 = getelementptr inbounds { i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }, { i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }* %0, i64 0, i32 0 | |
store i64 %12, i64* %13, align 8 | |
%14 = getelementptr inbounds { i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }, { i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }* %0, i64 0, i32 2 | |
store i16 %11, i16* %14, align 8 | |
%15 = getelementptr inbounds { i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }, { i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }* %0, i64 0, i32 4 | |
store i8 %., i8* %15, align 2 | |
ret void | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define i64 @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9transmute17h6a5e3ea398b3bad1E"(float) unnamed_addr #0 { | |
start: | |
%1 = bitcast float %0 to i32 | |
%2 = zext i32 %1 to i64 | |
ret i64 %2 | |
} | |
; Function Attrs: uwtable | |
define float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits17h0c434c9acc29f5beE"(i64) unnamed_addr #2 { | |
start: | |
%1 = icmp ugt i64 %0, 4294967294 | |
br i1 %1, label %bb1, label %bb2 | |
bb1: ; preds = %start | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits14_MSG_FILE_LINE17h6e14a33d7f900e24E" to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb2: ; preds = %start | |
%2 = trunc i64 %0 to i32 | |
%3 = bitcast i32 %2 to float | |
ret float %3 | |
} | |
; Function Attrs: nounwind uwtable | |
define void @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$6unpack17h30589b74ea79de4fE"(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16), float) unnamed_addr #6 { | |
start: | |
%2 = bitcast float %1 to i32 | |
%3 = lshr i32 %2, 23 | |
%4 = trunc i32 %3 to i16 | |
%5 = and i16 %4, 255 | |
%6 = icmp eq i16 %5, 0 | |
%7 = and i32 %2, 8388607 | |
%8 = shl nuw nsw i32 %7, 1 | |
%9 = or i32 %7, 8388608 | |
%mantissa.0.i = select i1 %6, i32 %8, i32 %9 | |
%10 = add nsw i16 %5, -150 | |
%11 = zext i32 %mantissa.0.i to i64 | |
%12 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i64 0, i32 0 | |
store i64 %11, i64* %12, align 8, !alias.scope !723 | |
%13 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i64 0, i32 2 | |
store i16 %10, i16* %13, align 8, !alias.scope !723 | |
ret void | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8from_int17h9fd00679fa1a9b01E"(i64) unnamed_addr #0 { | |
start: | |
%1 = uitofp i64 %0 to float | |
ret float %1 | |
} | |
; Function Attrs: uwtable | |
define float @"_ZN59_$LT$f32$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$16short_fast_pow1017h4564cea13e159b81E"(i64) unnamed_addr #2 { | |
start: | |
%1 = icmp ult i64 %0, 11 | |
br i1 %1, label %bb1, label %panic, !prof !5 | |
bb1: ; preds = %start | |
%2 = getelementptr inbounds [11 x float], [11 x float]* @const.1v, i64 0, i64 %0 | |
%3 = load float, float* %2, align 4 | |
ret float %3 | |
panic: ; preds = %start | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.1x to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %0, i64 11) | |
unreachable | |
} | |
; Function Attrs: norecurse nounwind uwtable | |
define void @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$14integer_decode17hea76817b04fafd11E"({ i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }* noalias nocapture sret dereferenceable(16), double) unnamed_addr #5 { | |
start: | |
%2 = bitcast double %1 to i64 | |
%3 = icmp sgt i64 %2, -1 | |
%. = select i1 %3, i8 1, i8 -1 | |
%4 = lshr i64 %2, 52 | |
%5 = trunc i64 %4 to i16 | |
%6 = and i16 %5, 2047 | |
%7 = icmp eq i16 %6, 0 | |
%8 = and i64 %2, 4503599627370495 | |
%9 = shl nuw nsw i64 %8, 1 | |
%10 = or i64 %8, 4503599627370496 | |
%mantissa.0 = select i1 %7, i64 %9, i64 %10 | |
%11 = add nsw i16 %6, -1075 | |
%12 = getelementptr inbounds { i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }, { i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }* %0, i64 0, i32 0 | |
store i64 %mantissa.0, i64* %12, align 8 | |
%13 = getelementptr inbounds { i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }, { i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }* %0, i64 0, i32 2 | |
store i16 %11, i16* %13, align 8 | |
%14 = getelementptr inbounds { i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }, { i64, [0 x i8], i16, [0 x i8], i8, [5 x i8] }* %0, i64 0, i32 4 | |
store i8 %., i8* %14, align 2 | |
ret void | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define i64 @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9transmute17h033fbd6407639f37E"(double) unnamed_addr #0 { | |
start: | |
%1 = bitcast double %0 to i64 | |
ret i64 %1 | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$9from_bits17h723de204812cf0feE"(i64) unnamed_addr #0 { | |
start: | |
%1 = bitcast i64 %0 to double | |
ret double %1 | |
} | |
; Function Attrs: nounwind uwtable | |
define void @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$6unpack17heb54aa570e0fd2e3E"(%"num::dec2flt::rawfp::Unpacked"* noalias nocapture sret dereferenceable(16), double) unnamed_addr #6 { | |
start: | |
%2 = bitcast double %1 to i64 | |
%3 = lshr i64 %2, 52 | |
%4 = trunc i64 %3 to i16 | |
%5 = and i16 %4, 2047 | |
%6 = icmp eq i16 %5, 0 | |
%7 = and i64 %2, 4503599627370495 | |
%8 = shl nuw nsw i64 %7, 1 | |
%9 = or i64 %7, 4503599627370496 | |
%mantissa.0.i = select i1 %6, i64 %8, i64 %9 | |
%10 = add nsw i16 %5, -1075 | |
%11 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i64 0, i32 0 | |
store i64 %mantissa.0.i, i64* %11, align 8, !alias.scope !726 | |
%12 = getelementptr inbounds %"num::dec2flt::rawfp::Unpacked", %"num::dec2flt::rawfp::Unpacked"* %0, i64 0, i32 2 | |
store i16 %10, i16* %12, align 8, !alias.scope !726 | |
ret void | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$8from_int17h2f1e1524c2867665E"(i64) unnamed_addr #0 { | |
start: | |
%1 = uitofp i64 %0 to double | |
ret double %1 | |
} | |
; Function Attrs: uwtable | |
define double @"_ZN59_$LT$f64$u20$as$u20$core..num..dec2flt..rawfp..RawFloat$GT$16short_fast_pow1017hef066a27a00ae407E"(i64) unnamed_addr #2 { | |
start: | |
%1 = icmp ult i64 %0, 23 | |
br i1 %1, label %bb1, label %panic, !prof !5 | |
bb1: ; preds = %start | |
%2 = getelementptr inbounds [23 x double], [23 x double]* @const.1y, i64 0, i64 %0 | |
%3 = load double, double* %2, align 8 | |
ret double %3 | |
panic: ; preds = %start | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.1z to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %0, i64 23) | |
unreachable | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7dec2flt5rawfp9big_to_fp17h6a34f664c0c1c080E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16), %"num::bignum::Big32x40"* noalias readonly dereferenceable(168)) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%2 = tail call i64 @_ZN4core3num6bignum8Big32x4010bit_length17h0dcdc318c9781017E(%"num::bignum::Big32x40"* noalias nonnull readonly dereferenceable(168) %1) | |
%3 = icmp eq i64 %2, 0 | |
br i1 %3, label %bb2, label %bb3 | |
bb2: ; preds = %start | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7dec2flt5rawfp9big_to_fp14_MSG_FILE_LINE17h57900dbf66d550ebE to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb3: ; preds = %start | |
%4 = tail call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %2, i64 64) #16 | |
%5 = extractvalue { i64, i1 } %4, 1 | |
%6 = extractvalue { i64, i1 } %4, 0 | |
%..i = select i1 %5, i64 0, i64 %6 | |
%7 = sub i64 %2, %..i | |
%8 = icmp ugt i64 %7, 64 | |
br i1 %8, label %bb1.i, label %bb5.preheader.i | |
bb5.preheader.i: ; preds = %bb3 | |
%9 = icmp ugt i64 %2, %..i | |
br i1 %9, label %bb8.i.preheader, label %_ZN4core3num7dec2flt3num8get_bits17h324876d3599b47cdE.exit | |
bb8.i.preheader: ; preds = %bb5.preheader.i | |
br label %bb8.i | |
bb1.i: ; preds = %bb3 | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num7dec2flt3num8get_bits14_MSG_FILE_LINE17h12c0a0414ee16166E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)), !noalias !729 | |
unreachable | |
bb8.i: ; preds = %bb8.i.preheader, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit.i4 | |
%result.026.i = phi i64 [ %21, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit.i4 ], [ 0, %bb8.i.preheader ] | |
%iter.sroa.4.025.i = phi i64 [ %10, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit.i4 ], [ %2, %bb8.i.preheader ] | |
%10 = add i64 %iter.sroa.4.025.i, -1 | |
%11 = lshr i64 %10, 5 | |
%12 = icmp ult i64 %10, 1280 | |
br i1 %12, label %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit.i4, label %panic2.i.i3, !prof !5 | |
panic2.i.i3: ; preds = %bb8.i | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4E to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %11, i64 40), !noalias !732 | |
unreachable | |
_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit.i4: ; preds = %bb8.i | |
%13 = shl i64 %result.026.i, 1 | |
%14 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i64 0, i32 2, i64 %11 | |
%15 = load i32, i32* %14, align 4, !alias.scope !732 | |
%16 = trunc i64 %10 to i32 | |
%17 = and i32 %16, 31 | |
%18 = lshr i32 %15, %17 | |
%19 = and i32 %18, 1 | |
%20 = zext i32 %19 to i64 | |
%21 = or i64 %20, %13 | |
%22 = icmp ugt i64 %10, %..i | |
br i1 %22, label %bb8.i, label %_ZN4core3num7dec2flt3num8get_bits17h324876d3599b47cdE.exit.loopexit | |
_ZN4core3num7dec2flt3num8get_bits17h324876d3599b47cdE.exit.loopexit: ; preds = %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit.i4 | |
br label %_ZN4core3num7dec2flt3num8get_bits17h324876d3599b47cdE.exit | |
_ZN4core3num7dec2flt3num8get_bits17h324876d3599b47cdE.exit: ; preds = %_ZN4core3num7dec2flt3num8get_bits17h324876d3599b47cdE.exit.loopexit, %bb5.preheader.i | |
%result.0.lcssa.i = phi i64 [ 0, %bb5.preheader.i ], [ %21, %_ZN4core3num7dec2flt3num8get_bits17h324876d3599b47cdE.exit.loopexit ] | |
%23 = trunc i64 %..i to i16 | |
%24 = icmp ult i64 %result.0.lcssa.i, 4294967296 | |
%25 = shl i64 %result.0.lcssa.i, 32 | |
%26 = add i16 %23, -32 | |
%e.0.i5 = select i1 %24, i16 %26, i16 %23 | |
%f.0.i6 = select i1 %24, i64 %25, i64 %result.0.lcssa.i | |
%27 = icmp ult i64 %f.0.i6, 281474976710656 | |
%28 = shl i64 %f.0.i6, 16 | |
%29 = add i16 %e.0.i5, -16 | |
%e.1.i7 = select i1 %27, i16 %29, i16 %e.0.i5 | |
%f.1.i8 = select i1 %27, i64 %28, i64 %f.0.i6 | |
%30 = icmp ult i64 %f.1.i8, 72057594037927936 | |
%31 = shl i64 %f.1.i8, 8 | |
%32 = add i16 %e.1.i7, -8 | |
%e.2.i9 = select i1 %30, i16 %32, i16 %e.1.i7 | |
%f.2.i10 = select i1 %30, i64 %31, i64 %f.1.i8 | |
%33 = icmp ult i64 %f.2.i10, 1152921504606846976 | |
%34 = shl i64 %f.2.i10, 4 | |
%35 = add i16 %e.2.i9, -4 | |
%e.3.i11 = select i1 %33, i16 %35, i16 %e.2.i9 | |
%f.3.i12 = select i1 %33, i64 %34, i64 %f.2.i10 | |
%36 = icmp ult i64 %f.3.i12, 4611686018427387904 | |
%37 = shl i64 %f.3.i12, 2 | |
%38 = add i16 %e.3.i11, -2 | |
%e.4.i13 = select i1 %36, i16 %38, i16 %e.3.i11 | |
%f.4.i14 = select i1 %36, i64 %37, i64 %f.3.i12 | |
%f.4.lobit.i15 = ashr i64 %f.4.i14, 63 | |
%39 = trunc i64 %f.4.lobit.i15 to i16 | |
%.not.i16 = xor i16 %39, -1 | |
%e.5.i17 = add i16 %e.4.i13, %.not.i16 | |
%f.4.lobit21.i18 = lshr i64 %f.4.i14, 63 | |
%f.4.lobit21.not.i19 = xor i64 %f.4.lobit21.i18, 1 | |
%f.5.i20 = shl i64 %f.4.i14, %f.4.lobit21.not.i19 | |
%40 = icmp eq i64 %..i, 0 | |
br i1 %40, label %bb13, label %bb2.i1 | |
bb2.i1: ; preds = %_ZN4core3num7dec2flt3num8get_bits17h324876d3599b47cdE.exit | |
%41 = add i64 %..i, -1 | |
%42 = lshr i64 %41, 5 | |
%43 = icmp ult i64 %41, 1280 | |
br i1 %43, label %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit.i, label %panic2.i.i, !prof !5 | |
panic2.i.i: ; preds = %bb2.i1 | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4E to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %42, i64 40), !noalias !735 | |
unreachable | |
_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit.i: ; preds = %bb2.i1 | |
%44 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i64 0, i32 2, i64 %42 | |
%45 = load i32, i32* %44, align 4, !alias.scope !735 | |
%46 = trunc i64 %41 to i32 | |
%47 = and i32 %46, 31 | |
%48 = shl i32 1, %47 | |
%49 = and i32 %45, %48 | |
%50 = icmp eq i32 %49, 0 | |
br i1 %50, label %bb13, label %bb10.i.preheader | |
bb10.i.preheader: ; preds = %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit.i | |
br label %bb10.i | |
bb10.i: ; preds = %bb10.i.preheader, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit4.i | |
%iter.sroa.0.0.i = phi i64 [ %54, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit4.i ], [ 0, %bb10.i.preheader ] | |
%51 = icmp ult i64 %iter.sroa.0.0.i, %41 | |
br i1 %51, label %bb13.i, label %bb12 | |
bb13.i: ; preds = %bb10.i | |
%52 = lshr i64 %iter.sroa.0.0.i, 5 | |
%53 = icmp ult i64 %iter.sroa.0.0.i, 1280 | |
br i1 %53, label %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit4.i, label %panic2.i3.i, !prof !5 | |
panic2.i3.i: ; preds = %bb13.i | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.4E to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 %52, i64 40), !noalias !740 | |
unreachable | |
_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit4.i: ; preds = %bb13.i | |
%54 = add nuw nsw i64 %iter.sroa.0.0.i, 1 | |
%55 = getelementptr inbounds %"num::bignum::Big32x40", %"num::bignum::Big32x40"* %1, i64 0, i32 2, i64 %52 | |
%56 = load i32, i32* %55, align 4, !alias.scope !740 | |
%57 = trunc i64 %iter.sroa.0.0.i to i32 | |
%58 = and i32 %57, 31 | |
%59 = shl i32 1, %58 | |
%60 = and i32 %56, %59 | |
%61 = icmp eq i32 %60, 0 | |
br i1 %61, label %bb10.i, label %bb10.loopexit | |
bb10.loopexit: ; preds = %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit4.i | |
br label %bb10 | |
bb10: ; preds = %bb10.loopexit, %bb12 | |
%62 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %result.0.lcssa.i, i64 1) #16 | |
%63 = extractvalue { i64, i1 } %62, 1 | |
br i1 %63, label %bb15, label %bb16 | |
bb12: ; preds = %bb10.i | |
%64 = and i64 %result.0.lcssa.i, 1 | |
%65 = icmp eq i64 %64, 0 | |
br i1 %65, label %bb13, label %bb10 | |
bb13: ; preds = %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit.i, %_ZN4core3num7dec2flt3num8get_bits17h324876d3599b47cdE.exit, %bb12, %bb16, %bb15 | |
%f.5.i.sink = phi i64 [ %f.5.i, %bb16 ], [ -9223372036854775808, %bb15 ], [ %f.5.i20, %bb12 ], [ %f.5.i20, %_ZN4core3num7dec2flt3num8get_bits17h324876d3599b47cdE.exit ], [ %f.5.i20, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit.i ] | |
%e.5.i.sink = phi i16 [ %e.5.i, %bb16 ], [ %68, %bb15 ], [ %e.5.i17, %bb12 ], [ %e.5.i17, %_ZN4core3num7dec2flt3num8get_bits17h324876d3599b47cdE.exit ], [ %e.5.i17, %_ZN4core3num6bignum8Big32x407get_bit17h069a8f44ca64e97bE.exit.i ] | |
%66 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i64 0, i32 0 | |
store i64 %f.5.i.sink, i64* %66, align 8 | |
%67 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i64 0, i32 2 | |
store i16 %e.5.i.sink, i16* %67, align 8 | |
ret void | |
bb15: ; preds = %bb10 | |
%68 = add i16 %23, 1 | |
br label %bb13 | |
bb16: ; preds = %bb10 | |
%69 = extractvalue { i64, i1 } %62, 0 | |
%70 = icmp ult i64 %69, 4294967296 | |
%71 = shl i64 %69, 32 | |
%e.0.i = select i1 %70, i16 %26, i16 %23 | |
%f.0.i = select i1 %70, i64 %71, i64 %69 | |
%72 = icmp ult i64 %f.0.i, 281474976710656 | |
%73 = shl i64 %f.0.i, 16 | |
%74 = add i16 %e.0.i, -16 | |
%e.1.i = select i1 %72, i16 %74, i16 %e.0.i | |
%f.1.i = select i1 %72, i64 %73, i64 %f.0.i | |
%75 = icmp ult i64 %f.1.i, 72057594037927936 | |
%76 = shl i64 %f.1.i, 8 | |
%77 = add i16 %e.1.i, -8 | |
%e.2.i = select i1 %75, i16 %77, i16 %e.1.i | |
%f.2.i = select i1 %75, i64 %76, i64 %f.1.i | |
%78 = icmp ult i64 %f.2.i, 1152921504606846976 | |
%79 = shl i64 %f.2.i, 4 | |
%80 = add i16 %e.2.i, -4 | |
%e.3.i = select i1 %78, i16 %80, i16 %e.2.i | |
%f.3.i = select i1 %78, i64 %79, i64 %f.2.i | |
%81 = icmp ult i64 %f.3.i, 4611686018427387904 | |
%82 = shl i64 %f.3.i, 2 | |
%83 = add i16 %e.3.i, -2 | |
%e.4.i = select i1 %81, i16 %83, i16 %e.3.i | |
%f.4.i = select i1 %81, i64 %82, i64 %f.3.i | |
%f.4.lobit.i = ashr i64 %f.4.i, 63 | |
%84 = trunc i64 %f.4.lobit.i to i16 | |
%.not.i = xor i16 %84, -1 | |
%e.5.i = add i16 %e.4.i, %.not.i | |
%f.4.lobit21.i = lshr i64 %f.4.i, 63 | |
%f.4.lobit21.not.i = xor i64 %f.4.lobit21.i, 1 | |
%f.5.i = shl i64 %f.4.i, %f.4.lobit21.not.i | |
br label %bb13 | |
} | |
; Function Attrs: norecurse nounwind uwtable | |
define void @_ZN4core3num7dec2flt5parse7Decimal3new17h9c7ff3516ea6afa8E(%"num::dec2flt::parse::Decimal"* noalias nocapture sret dereferenceable(40), i8* noalias nonnull readonly, i64, i8* noalias nonnull readonly, i64, i64) unnamed_addr #5 { | |
start: | |
%6 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i64 0, i32 0, i32 0 | |
store i8* %1, i8** %6, align 8 | |
%7 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i64 0, i32 0, i32 1 | |
store i64 %2, i64* %7, align 8 | |
%8 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i64 0, i32 2, i32 0 | |
store i8* %3, i8** %8, align 8 | |
%9 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i64 0, i32 2, i32 1 | |
store i64 %4, i64* %9, align 8 | |
%10 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i64 0, i32 4 | |
store i64 %5, i64* %10, align 8 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7dec2flt5parse13parse_decimal17h886921e3d1bf4977E(%"num::dec2flt::parse::ParseResult"* noalias nocapture sret dereferenceable(48), i8* noalias nonnull readonly, i64) unnamed_addr #2 { | |
start: | |
%3 = icmp eq i64 %2, 0 | |
br i1 %3, label %bb2, label %bb12.i.preheader | |
bb12.i.preheader: ; preds = %start | |
br label %bb12.i | |
bb2: ; preds = %start | |
%4 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 0 | |
store i64 3, i64* %4, align 8 | |
br label %bb4 | |
bb4.i: ; preds = %bb14.i, %bb12.i | |
%i.0.lcssa.i = phi i64 [ %i.010.i, %bb12.i ], [ %9, %bb14.i ] | |
%5 = icmp ugt i64 %i.0.lcssa.i, %2 | |
br i1 %5, label %bb4.i.i.i.i, label %_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit | |
bb4.i.i.i.i: ; preds = %bb4.i | |
tail call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %i.0.lcssa.i, i64 %2), !noalias !743 | |
unreachable | |
bb12.i: ; preds = %bb12.i.preheader, %bb14.i | |
%i.010.i = phi i64 [ %9, %bb14.i ], [ 0, %bb12.i.preheader ] | |
%6 = getelementptr inbounds i8, i8* %1, i64 %i.010.i | |
%7 = load i8, i8* %6, align 1, !alias.scope !748, !noalias !750 | |
%.off.i = add i8 %7, -48 | |
%8 = icmp ult i8 %.off.i, 10 | |
br i1 %8, label %bb14.i, label %bb4.i | |
bb14.i: ; preds = %bb12.i | |
%9 = add nuw i64 %i.010.i, 1 | |
%10 = icmp ult i64 %9, %2 | |
br i1 %10, label %bb12.i, label %bb4.i | |
_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit: ; preds = %bb4.i | |
%11 = getelementptr inbounds i8, i8* %1, i64 %i.0.lcssa.i | |
%12 = sub i64 %2, %i.0.lcssa.i | |
%13 = icmp eq i64 %12, 0 | |
br i1 %13, label %bb9, label %bb13 | |
bb4: ; preds = %bb40, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit", %bb38, %bb12, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit12", %bb9, %bb2, %bb19 | |
ret void | |
bb9: ; preds = %_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit | |
%14 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 0 | |
store i64 0, i64* %14, align 8 | |
%_15.sroa.0.0..sroa_idx = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2 | |
%_15.sroa.0.0..sroa_cast28 = bitcast [5 x i64]* %_15.sroa.0.0..sroa_idx to i8** | |
store i8* %1, i8** %_15.sroa.0.0..sroa_cast28, align 8 | |
%_15.sroa.4.0..sroa_idx30 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2, i64 1 | |
store i64 %i.0.lcssa.i, i64* %_15.sroa.4.0..sroa_idx30, align 8 | |
%_15.sroa.5.0..sroa_idx32 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2, i64 2 | |
%_15.sroa.5.0..sroa_cast33 = bitcast i64* %_15.sroa.5.0..sroa_idx32 to i8** | |
store i8* getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i64 0, i64 0), i8** %_15.sroa.5.0..sroa_cast33, align 8 | |
%_15.sroa.6.0..sroa_idx35 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2, i64 3 | |
%15 = bitcast i64* %_15.sroa.6.0..sroa_idx35 to i8* | |
call void @llvm.memset.p0i8.i64(i8* %15, i8 0, i64 16, i32 8, i1 false) | |
br label %bb4 | |
bb10: ; preds = %bb13, %bb13 | |
%16 = icmp eq i64 %i.0.lcssa.i, 0 | |
br i1 %16, label %bb19, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit12" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit23": ; preds = %bb13 | |
%17 = getelementptr inbounds i8, i8* %11, i64 1 | |
%18 = add i64 %12, -1 | |
%19 = icmp eq i64 %18, 0 | |
br i1 %19, label %_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit21, label %bb12.i19.preheader | |
bb12.i19.preheader: ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit23" | |
br label %bb12.i19 | |
bb4.i14: ; preds = %bb14.i20, %bb12.i19 | |
%i.0.lcssa.i13 = phi i64 [ %i.010.i17, %bb12.i19 ], [ %24, %bb14.i20 ] | |
%20 = icmp ugt i64 %i.0.lcssa.i13, %18 | |
br i1 %20, label %bb4.i.i.i.i15, label %_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit21 | |
bb4.i.i.i.i15: ; preds = %bb4.i14 | |
tail call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %i.0.lcssa.i13, i64 %18), !noalias !751 | |
unreachable | |
bb12.i19: ; preds = %bb12.i19.preheader, %bb14.i20 | |
%i.010.i17 = phi i64 [ %24, %bb14.i20 ], [ 0, %bb12.i19.preheader ] | |
%21 = getelementptr inbounds i8, i8* %17, i64 %i.010.i17 | |
%22 = load i8, i8* %21, align 1, !alias.scope !756, !noalias !758 | |
%.off.i18 = add i8 %22, -48 | |
%23 = icmp ult i8 %.off.i18, 10 | |
br i1 %23, label %bb14.i20, label %bb4.i14 | |
bb14.i20: ; preds = %bb12.i19 | |
%24 = add nuw i64 %i.010.i17, 1 | |
%25 = icmp ult i64 %24, %18 | |
br i1 %25, label %bb12.i19, label %bb4.i14 | |
_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit21: ; preds = %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit23", %bb4.i14 | |
%i.0.lcssa12.i16 = phi i64 [ %i.0.lcssa.i13, %bb4.i14 ], [ 0, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit23" ] | |
%26 = getelementptr inbounds i8, i8* %17, i64 %i.0.lcssa12.i16 | |
%27 = sub i64 %18, %i.0.lcssa12.i16 | |
%28 = or i64 %i.0.lcssa12.i16, %i.0.lcssa.i | |
%29 = icmp eq i64 %28, 0 | |
%30 = icmp eq i64 %27, 0 | |
br i1 %29, label %bb26, label %bb25 | |
bb12: ; preds = %bb13 | |
%31 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 0 | |
store i64 3, i64* %31, align 8 | |
br label %bb4 | |
bb13: ; preds = %_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit | |
%32 = load i8, i8* %11, align 1 | |
switch i8 %32, label %bb12 [ | |
i8 101, label %bb10 | |
i8 69, label %bb10 | |
i8 46, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit23" | |
] | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit12": ; preds = %bb10 | |
%33 = getelementptr inbounds i8, i8* %11, i64 1 | |
%34 = add i64 %12, -1 | |
tail call fastcc void @_ZN4core3num7dec2flt5parse9parse_exp17h01d7adad5c00562eE(%"num::dec2flt::parse::ParseResult"* noalias nocapture nonnull sret dereferenceable(48) %0, i8* noalias nonnull readonly %1, i64 %i.0.lcssa.i, i8* noalias nonnull readonly getelementptr inbounds ([0 x i8], [0 x i8]* @byte_str.U, i64 0, i64 0), i64 0, i8* noalias nonnull readonly %33, i64 %34) | |
br label %bb4 | |
bb19: ; preds = %bb10, %bb26 | |
%35 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 0 | |
store i64 3, i64* %35, align 8 | |
br label %bb4 | |
bb25: ; preds = %_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit21 | |
br i1 %30, label %bb38, label %bb41 | |
bb26: ; preds = %_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit21 | |
br i1 %30, label %bb19, label %bb41 | |
bb38: ; preds = %bb25 | |
%36 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 0 | |
store i64 0, i64* %36, align 8 | |
%_52.sroa.0.0..sroa_idx = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2 | |
%_52.sroa.0.0..sroa_cast43 = bitcast [5 x i64]* %_52.sroa.0.0..sroa_idx to i8** | |
store i8* %1, i8** %_52.sroa.0.0..sroa_cast43, align 8 | |
%_52.sroa.4.0..sroa_idx45 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2, i64 1 | |
store i64 %i.0.lcssa.i, i64* %_52.sroa.4.0..sroa_idx45, align 8 | |
%_52.sroa.5.0..sroa_idx47 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2, i64 2 | |
%_52.sroa.5.0..sroa_cast48 = bitcast i64* %_52.sroa.5.0..sroa_idx47 to i8** | |
store i8* %17, i8** %_52.sroa.5.0..sroa_cast48, align 8 | |
%_52.sroa.6.0..sroa_idx50 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2, i64 3 | |
store i64 %i.0.lcssa12.i16, i64* %_52.sroa.6.0..sroa_idx50, align 8 | |
%_52.sroa.7.0..sroa_idx52 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2, i64 4 | |
store i64 0, i64* %_52.sroa.7.0..sroa_idx52, align 8 | |
br label %bb4 | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit": ; preds = %bb41, %bb41 | |
%37 = getelementptr inbounds i8, i8* %26, i64 1 | |
%38 = add i64 %27, -1 | |
tail call fastcc void @_ZN4core3num7dec2flt5parse9parse_exp17h01d7adad5c00562eE(%"num::dec2flt::parse::ParseResult"* noalias nocapture nonnull sret dereferenceable(48) %0, i8* noalias nonnull readonly %1, i64 %i.0.lcssa.i, i8* noalias nonnull readonly %17, i64 %i.0.lcssa12.i16, i8* noalias nonnull readonly %37, i64 %38) | |
br label %bb4 | |
bb40: ; preds = %bb41 | |
%39 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 0 | |
store i64 3, i64* %39, align 8 | |
br label %bb4 | |
bb41: ; preds = %bb26, %bb25 | |
%40 = load i8, i8* %26, align 1 | |
switch i8 %40, label %bb40 [ | |
i8 101, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
i8 69, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
] | |
} | |
; Function Attrs: uwtable | |
define internal fastcc void @_ZN4core3num7dec2flt5parse9parse_exp17h01d7adad5c00562eE(%"num::dec2flt::parse::ParseResult"* noalias nocapture sret dereferenceable(48), i8* noalias nonnull readonly, i64, i8* noalias nonnull readonly, i64, i8* noalias nonnull readonly, i64) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%7 = icmp eq i64 %6, 0 | |
br i1 %7, label %bb16, label %bb5 | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit27": ; preds = %bb5 | |
br label %bb6 | |
bb5: ; preds = %start | |
%8 = load i8, i8* %5, align 1 | |
switch i8 %8, label %bb12.i.preheader [ | |
i8 45, label %bb6 | |
i8 43, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit27" | |
] | |
bb12.i.preheader: ; preds = %bb6, %bb5 | |
%_9.sroa.0.051.ph = phi i64 [ 0, %bb5 ], [ %_9.sroa.0.0, %bb6 ] | |
%_9.sroa.65.050.ph = phi i8* [ %5, %bb5 ], [ %_9.sroa.65.0, %bb6 ] | |
%_9.sroa.10.049.ph = phi i64 [ %6, %bb5 ], [ %_9.sroa.10.0, %bb6 ] | |
br label %bb12.i | |
bb6: ; preds = %bb5, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit27" | |
%_9.sroa.0.0 = phi i64 [ 0, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit27" ], [ 1, %bb5 ] | |
%_9.sroa.65.0 = getelementptr inbounds i8, i8* %5, i64 1 | |
%_9.sroa.10.0 = add i64 %6, -1 | |
%9 = icmp eq i64 %_9.sroa.10.0, 0 | |
br i1 %9, label %bb16, label %bb12.i.preheader | |
bb4.i: ; preds = %bb14.i, %bb12.i | |
%i.0.lcssa.i = phi i64 [ %i.010.i, %bb12.i ], [ %14, %bb14.i ] | |
%10 = icmp ugt i64 %i.0.lcssa.i, %_9.sroa.10.049.ph | |
br i1 %10, label %bb4.i.i.i.i, label %_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit | |
bb4.i.i.i.i: ; preds = %bb4.i | |
tail call void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64 %i.0.lcssa.i, i64 %_9.sroa.10.049.ph), !noalias !759 | |
unreachable | |
bb12.i: ; preds = %bb12.i.preheader, %bb14.i | |
%i.010.i = phi i64 [ %14, %bb14.i ], [ 0, %bb12.i.preheader ] | |
%11 = getelementptr inbounds i8, i8* %_9.sroa.65.050.ph, i64 %i.010.i | |
%12 = load i8, i8* %11, align 1, !alias.scope !764, !noalias !766 | |
%.off.i = add i8 %12, -48 | |
%13 = icmp ult i8 %.off.i, 10 | |
br i1 %13, label %bb14.i, label %bb4.i | |
bb14.i: ; preds = %bb12.i | |
%14 = add nuw i64 %i.010.i, 1 | |
%15 = icmp ult i64 %14, %_9.sroa.10.049.ph | |
br i1 %15, label %bb12.i, label %bb4.i | |
_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit: ; preds = %bb4.i | |
%16 = icmp eq i64 %_9.sroa.10.049.ph, %i.0.lcssa.i | |
br i1 %16, label %bb18.preheader, label %bb11 | |
bb18.preheader: ; preds = %_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit | |
br label %bb18 | |
bb11: ; preds = %_ZN4core3num7dec2flt5parse10eat_digits17h35fe1a03b1e3677aE.exit | |
%17 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 0 | |
store i64 3, i64* %17, align 8 | |
br label %bb13 | |
bb13: ; preds = %bb11, %bb16, %bb25, %_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit | |
ret void | |
bb16: ; preds = %bb6, %start | |
%18 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 0 | |
store i64 3, i64* %18, align 8 | |
br label %bb13 | |
bb18: ; preds = %bb18.preheader, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
%number.sroa.0.0 = phi i8* [ %24, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" ], [ %_9.sroa.65.050.ph, %bb18.preheader ] | |
%number.sroa.9.0 = phi i64 [ %25, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" ], [ %_9.sroa.10.049.ph, %bb18.preheader ] | |
%19 = icmp eq i64 %number.sroa.9.0, 0 | |
%not.2.i = xor i1 %19, true | |
%.mux.i = zext i1 %not.2.i to i8 | |
br i1 %19, label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17ha07754eb5048174cE.exit", label %bb10.i | |
bb10.i: ; preds = %bb18 | |
%20 = load i8, i8* %number.sroa.0.0, align 1, !alias.scope !767, !noalias !770 | |
%21 = icmp eq i8 %20, 48 | |
%.1.i = zext i1 %21 to i8 | |
br label %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17ha07754eb5048174cE.exit" | |
"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17ha07754eb5048174cE.exit": ; preds = %bb18, %bb10.i | |
%_0.1.i = phi i8 [ %.mux.i, %bb18 ], [ %.1.i, %bb10.i ] | |
%22 = icmp eq i8 %_0.1.i, 0 | |
br i1 %22, label %bb19, label %bb22 | |
bb19: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17ha07754eb5048174cE.exit" | |
%23 = icmp ugt i64 %number.sroa.9.0, 17 | |
br i1 %23, label %bb25, label %bb26 | |
bb22: ; preds = %"_ZN70_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialEq$GT$2eq17ha07754eb5048174cE.exit" | |
br i1 %19, label %bb1.i.i.i, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
bb1.i.i.i: ; preds = %bb22 | |
tail call void @_ZN4core5slice22slice_index_order_fail17h35681c1841226ae9E(i64 1, i64 0), !noalias !776 | |
unreachable | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit": ; preds = %bb22 | |
%24 = getelementptr inbounds i8, i8* %number.sroa.0.0, i64 1 | |
%25 = add i64 %number.sroa.9.0, -1 | |
br label %bb18 | |
bb25: ; preds = %bb19 | |
%cond2 = icmp eq i64 %_9.sroa.0.051.ph, 0 | |
%26 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 0 | |
%.sink = select i1 %cond2, i64 1, i64 2 | |
store i64 %.sink, i64* %26, align 8 | |
br label %bb13 | |
bb26: ; preds = %bb19 | |
%27 = getelementptr inbounds i8, i8* %number.sroa.0.0, i64 %number.sroa.9.0 | |
br i1 %19, label %_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit, label %bb7.i.preheader | |
bb7.i.preheader: ; preds = %bb26 | |
%28 = add i64 %number.sroa.9.0, -1 | |
%xtraiter = and i64 %number.sroa.9.0, 3 | |
%lcmp.mod = icmp eq i64 %xtraiter, 0 | |
br i1 %lcmp.mod, label %bb7.i.prol.loopexit, label %bb7.i.prol.preheader | |
bb7.i.prol.preheader: ; preds = %bb7.i.preheader | |
br label %bb7.i.prol | |
bb7.i.prol: ; preds = %bb7.i.prol, %bb7.i.prol.preheader | |
%result.017.i.prol = phi i64 [ %34, %bb7.i.prol ], [ 0, %bb7.i.prol.preheader ] | |
%iter.sroa.0.016.i.prol = phi i8* [ %29, %bb7.i.prol ], [ %number.sroa.0.0, %bb7.i.prol.preheader ] | |
%prol.iter = phi i64 [ %prol.iter.sub, %bb7.i.prol ], [ %xtraiter, %bb7.i.prol.preheader ] | |
%29 = getelementptr inbounds i8, i8* %iter.sroa.0.016.i.prol, i64 1 | |
%30 = load i8, i8* %iter.sroa.0.016.i.prol, align 1, !alias.scope !779 | |
%31 = mul i64 %result.017.i.prol, 10 | |
%32 = add i8 %30, -48 | |
%33 = zext i8 %32 to i64 | |
%34 = add i64 %33, %31 | |
%prol.iter.sub = add i64 %prol.iter, -1 | |
%prol.iter.cmp = icmp eq i64 %prol.iter.sub, 0 | |
br i1 %prol.iter.cmp, label %bb7.i.prol.loopexit.unr-lcssa, label %bb7.i.prol, !llvm.loop !782 | |
bb7.i.prol.loopexit.unr-lcssa: ; preds = %bb7.i.prol | |
br label %bb7.i.prol.loopexit | |
bb7.i.prol.loopexit: ; preds = %bb7.i.preheader, %bb7.i.prol.loopexit.unr-lcssa | |
%.lcssa.unr = phi i64 [ undef, %bb7.i.preheader ], [ %34, %bb7.i.prol.loopexit.unr-lcssa ] | |
%result.017.i.unr = phi i64 [ 0, %bb7.i.preheader ], [ %34, %bb7.i.prol.loopexit.unr-lcssa ] | |
%iter.sroa.0.016.i.unr = phi i8* [ %number.sroa.0.0, %bb7.i.preheader ], [ %29, %bb7.i.prol.loopexit.unr-lcssa ] | |
%35 = icmp ult i64 %28, 3 | |
br i1 %35, label %_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit.loopexit, label %bb7.i.preheader.new | |
bb7.i.preheader.new: ; preds = %bb7.i.prol.loopexit | |
br label %bb7.i | |
bb7.i: ; preds = %bb7.i, %bb7.i.preheader.new | |
%result.017.i = phi i64 [ %result.017.i.unr, %bb7.i.preheader.new ], [ %59, %bb7.i ] | |
%iter.sroa.0.016.i = phi i8* [ %iter.sroa.0.016.i.unr, %bb7.i.preheader.new ], [ %54, %bb7.i ] | |
%36 = getelementptr inbounds i8, i8* %iter.sroa.0.016.i, i64 1 | |
%37 = load i8, i8* %iter.sroa.0.016.i, align 1, !alias.scope !779 | |
%38 = mul i64 %result.017.i, 10 | |
%39 = add i8 %37, -48 | |
%40 = zext i8 %39 to i64 | |
%41 = add i64 %40, %38 | |
%42 = getelementptr inbounds i8, i8* %iter.sroa.0.016.i, i64 2 | |
%43 = load i8, i8* %36, align 1, !alias.scope !779 | |
%44 = mul i64 %41, 10 | |
%45 = add i8 %43, -48 | |
%46 = zext i8 %45 to i64 | |
%47 = add i64 %46, %44 | |
%48 = getelementptr inbounds i8, i8* %iter.sroa.0.016.i, i64 3 | |
%49 = load i8, i8* %42, align 1, !alias.scope !779 | |
%50 = mul i64 %47, 10 | |
%51 = add i8 %49, -48 | |
%52 = zext i8 %51 to i64 | |
%53 = add i64 %52, %50 | |
%54 = getelementptr inbounds i8, i8* %iter.sroa.0.016.i, i64 4 | |
%55 = load i8, i8* %48, align 1, !alias.scope !779 | |
%56 = mul i64 %53, 10 | |
%57 = add i8 %55, -48 | |
%58 = zext i8 %57 to i64 | |
%59 = add i64 %58, %56 | |
%60 = icmp eq i8* %54, %27 | |
br i1 %60, label %_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit.loopexit.unr-lcssa, label %bb7.i | |
_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit.loopexit.unr-lcssa: ; preds = %bb7.i | |
br label %_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit.loopexit | |
_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit.loopexit: ; preds = %bb7.i.prol.loopexit, %_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit.loopexit.unr-lcssa | |
%.lcssa = phi i64 [ %.lcssa.unr, %bb7.i.prol.loopexit ], [ %59, %_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit.loopexit.unr-lcssa ] | |
br label %_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit | |
_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit: ; preds = %_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit.loopexit, %bb26 | |
%result.0.lcssa.i = phi i64 [ 0, %bb26 ], [ %.lcssa, %_ZN4core3num7dec2flt3num18from_str_unchecked17he42035e68b7358fbE.exit.loopexit ] | |
%cond1 = icmp eq i64 %_9.sroa.0.051.ph, 0 | |
%61 = sub i64 0, %result.0.lcssa.i | |
%e.0 = select i1 %cond1, i64 %result.0.lcssa.i, i64 %61 | |
%62 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 0 | |
store i64 0, i64* %62, align 8 | |
%_59.sroa.0.0..sroa_idx = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2 | |
%_59.sroa.0.0..sroa_cast34 = bitcast [5 x i64]* %_59.sroa.0.0..sroa_idx to i8** | |
store i8* %1, i8** %_59.sroa.0.0..sroa_cast34, align 8 | |
%_59.sroa.4.0..sroa_idx36 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2, i64 1 | |
store i64 %2, i64* %_59.sroa.4.0..sroa_idx36, align 8 | |
%_59.sroa.5.0..sroa_idx38 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2, i64 2 | |
%_59.sroa.5.0..sroa_cast39 = bitcast i64* %_59.sroa.5.0..sroa_idx38 to i8** | |
store i8* %3, i8** %_59.sroa.5.0..sroa_cast39, align 8 | |
%_59.sroa.6.0..sroa_idx41 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2, i64 3 | |
store i64 %4, i64* %_59.sroa.6.0..sroa_idx41, align 8 | |
%_59.sroa.7.0..sroa_idx43 = getelementptr inbounds %"num::dec2flt::parse::ParseResult", %"num::dec2flt::parse::ParseResult"* %0, i64 0, i32 2, i64 4 | |
store i64 %e.0, i64* %_59.sroa.7.0..sroa_idx43, align 8 | |
br label %bb13 | |
} | |
; Function Attrs: norecurse nounwind readonly uwtable | |
define %str_slice @_ZN4core3num7dec2flt15ParseFloatError13__description17h29d56b1f00a69a99E(%"num::dec2flt::ParseFloatError"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #3 { | |
start: | |
%1 = getelementptr inbounds %"num::dec2flt::ParseFloatError", %"num::dec2flt::ParseFloatError"* %0, i64 0, i32 0 | |
%2 = load i8, i8* %1, align 1, !range !10 | |
%cond = icmp eq i8 %2, 0 | |
%.sink2 = select i1 %cond, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.1F, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str.1E, i64 0, i64 0) | |
%.sink = select i1 %cond, i64 36, i64 21 | |
%3 = insertvalue %str_slice undef, i8* %.sink2, 0 | |
%4 = insertvalue %str_slice %3, i64 %.sink, 1 | |
ret %str_slice %4 | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN74_$LT$core..num..dec2flt..ParseFloatError$u20$as$u20$core..fmt..Display$GT$3fmt17h138ae9c514c91860E"(%"num::dec2flt::ParseFloatError"* noalias nocapture readonly dereferenceable(1), %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 { | |
start: | |
%2 = getelementptr inbounds %"num::dec2flt::ParseFloatError", %"num::dec2flt::ParseFloatError"* %0, i64 0, i32 0 | |
%3 = load i8, i8* %2, align 1, !range !10, !alias.scope !783 | |
%cond.i = icmp eq i8 %3, 0 | |
%.sink2.i = select i1 %cond.i, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.1F, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str.1E, i64 0, i64 0) | |
%.sink.i = select i1 %cond.i, i64 36, i64 21 | |
%4 = tail call i8 @_ZN4core3fmt9Formatter3pad17hfc084f6039bdcf14E(%"fmt::Formatter"* nonnull dereferenceable(96) %1, i8* noalias nonnull readonly %.sink2.i, i64 %.sink.i) | |
ret i8 %4 | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define i8 @_ZN4core3num7dec2flt9pfe_empty17h9e4ffbd4745660d5E() unnamed_addr #0 { | |
start: | |
ret i8 0 | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define i8 @_ZN4core3num7dec2flt11pfe_invalid17h3d07967cc70d0e72E() unnamed_addr #0 { | |
start: | |
ret i8 1 | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num7dec2flt12extract_sign17hcb6fd30327a65028E({ i8, [7 x i8], %str_slice, [0 x i8] }* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i64) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%3 = icmp eq i64 %2, 0 | |
br i1 %3, label %panic, label %bb2, !prof !614 | |
bb2: ; preds = %start | |
%4 = load i8, i8* %1, align 1 | |
switch i8 %4, label %bb6 [ | |
i8 43, label %bb3 | |
i8 45, label %bb4 | |
] | |
bb3: ; preds = %bb2 | |
%5 = icmp eq i64 %2, 1 | |
%.pre.i.i.i = getelementptr inbounds i8, i8* %1, i64 1 | |
br i1 %5, label %"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit", label %"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h3ef40dd1e6aff0e4E.exit.i.i.i" | |
"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h3ef40dd1e6aff0e4E.exit.i.i.i": ; preds = %bb3 | |
%6 = load i8, i8* %.pre.i.i.i, align 1, !alias.scope !786, !noalias !793 | |
%7 = icmp sgt i8 %6, -65 | |
br i1 %7, label %"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit", label %bb3.i.i | |
bb3.i.i: ; preds = %"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h3ef40dd1e6aff0e4E.exit.i.i.i" | |
tail call void @_ZN4core3str16slice_error_fail17hdd81680e29a21005E(i8* noalias nonnull readonly %1, i64 %2, i64 1, i64 %2), !noalias !795 | |
unreachable | |
"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit": ; preds = %bb3, %"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h3ef40dd1e6aff0e4E.exit.i.i.i" | |
%8 = add i64 %2, -1 | |
br label %bb6 | |
bb4: ; preds = %bb2 | |
%9 = icmp eq i64 %2, 1 | |
%.pre.i.i.i10 = getelementptr inbounds i8, i8* %1, i64 1 | |
br i1 %9, label %"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit19", label %"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h3ef40dd1e6aff0e4E.exit.i.i.i14" | |
"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h3ef40dd1e6aff0e4E.exit.i.i.i14": ; preds = %bb4 | |
%10 = load i8, i8* %.pre.i.i.i10, align 1, !alias.scope !801, !noalias !808 | |
%11 = icmp sgt i8 %10, -65 | |
br i1 %11, label %"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit19", label %bb3.i.i15 | |
bb3.i.i15: ; preds = %"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h3ef40dd1e6aff0e4E.exit.i.i.i14" | |
tail call void @_ZN4core3str16slice_error_fail17hdd81680e29a21005E(i8* noalias nonnull readonly %1, i64 %2, i64 1, i64 %2), !noalias !810 | |
unreachable | |
"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit19": ; preds = %bb4, %"_ZN41_$LT$str$u20$as$u20$core..str..StrExt$GT$16is_char_boundary17h3ef40dd1e6aff0e4E.exit.i.i.i14" | |
%12 = add i64 %2, -1 | |
br label %bb6 | |
bb6: ; preds = %bb2, %"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit", %"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit19" | |
%.sink = phi i8 [ 0, %"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit" ], [ 1, %"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit19" ], [ 0, %bb2 ] | |
%newret.sink = phi i8* [ %.pre.i.i.i, %"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit" ], [ %.pre.i.i.i10, %"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit19" ], [ %1, %bb2 ] | |
%newret3.sink = phi i64 [ %8, %"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit" ], [ %12, %"_ZN4core3str6traits105_$LT$impl$u20$core..ops..index..Index$LT$core..ops..range..RangeFrom$LT$usize$GT$$GT$$u20$for$u20$str$GT$5index17ha7ea426a174ef03aE.exit19" ], [ %2, %bb2 ] | |
%13 = getelementptr inbounds { i8, [7 x i8], %str_slice, [0 x i8] }, { i8, [7 x i8], %str_slice, [0 x i8] }* %0, i64 0, i32 0 | |
store i8 %.sink, i8* %13, align 8 | |
%14 = getelementptr inbounds { i8, [7 x i8], %str_slice, [0 x i8] }, { i8, [7 x i8], %str_slice, [0 x i8] }* %0, i64 0, i32 2, i32 0 | |
store i8* %newret.sink, i8** %14, align 8 | |
%15 = getelementptr inbounds { i8, [7 x i8], %str_slice, [0 x i8] }, { i8, [7 x i8], %str_slice, [0 x i8] }* %0, i64 0, i32 2, i32 1 | |
store i64 %newret3.sink, i64* %15, align 8 | |
ret void | |
panic: ; preds = %start | |
tail call void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32 }* @panic_bounds_check_loc.1H to { %str_slice, [0 x i8], i32, [4 x i8] }*), i64 0, i64 0) | |
unreachable | |
} | |
; Function Attrs: norecurse nounwind readonly uwtable | |
define i64 @_ZN4core3num7dec2flt25bound_intermediate_digits17h4e418ecdd1b0ce9eE(%"num::dec2flt::parse::Decimal"* noalias nocapture readonly dereferenceable(40), i64) unnamed_addr #3 { | |
start: | |
%2 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i64 0, i32 0, i32 1 | |
%3 = load i64, i64* %2, align 8 | |
%4 = getelementptr inbounds %"num::dec2flt::parse::Decimal", %"num::dec2flt::parse::Decimal"* %0, i64 0, i32 2, i32 1 | |
%5 = load i64, i64* %4, align 8 | |
%6 = add i64 %5, %3 | |
%7 = icmp sgt i64 %1, -1 | |
%8 = sub i64 17, %1 | |
%_0.0.v = select i1 %7, i64 %1, i64 %8 | |
%_0.0 = add i64 %6, %_0.0.v | |
ret i64 %_0.0 | |
} | |
; Function Attrs: norecurse nounwind uwtable | |
define void @_ZN4core3num9diy_float2Fp3mul17h4d42a8616bdefe0cE(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16), %"num::diy_float::Fp"* noalias nocapture readonly dereferenceable(16), %"num::diy_float::Fp"* noalias nocapture readonly dereferenceable(16)) unnamed_addr #5 { | |
start: | |
%3 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i64 0, i32 0 | |
%4 = load i64, i64* %3, align 8 | |
%5 = lshr i64 %4, 32 | |
%6 = and i64 %4, 4294967295 | |
%7 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %2, i64 0, i32 0 | |
%8 = load i64, i64* %7, align 8 | |
%9 = lshr i64 %8, 32 | |
%10 = and i64 %8, 4294967295 | |
%11 = mul nuw i64 %9, %5 | |
%12 = mul nuw i64 %9, %6 | |
%13 = mul nuw i64 %10, %5 | |
%14 = mul nuw i64 %10, %6 | |
%15 = lshr i64 %14, 32 | |
%16 = and i64 %13, 4294967295 | |
%17 = and i64 %12, 4294967295 | |
%18 = add nuw nsw i64 %16, 2147483648 | |
%19 = add nuw nsw i64 %18, %15 | |
%20 = add nuw nsw i64 %19, %17 | |
%21 = lshr i64 %13, 32 | |
%22 = add i64 %21, %11 | |
%23 = lshr i64 %12, 32 | |
%24 = add i64 %22, %23 | |
%25 = lshr i64 %20, 32 | |
%26 = add i64 %24, %25 | |
%27 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i64 0, i32 2 | |
%28 = load i16, i16* %27, align 2 | |
%29 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %2, i64 0, i32 2 | |
%30 = load i16, i16* %29, align 2 | |
%31 = add i16 %28, 64 | |
%32 = add i16 %31, %30 | |
%33 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i64 0, i32 0 | |
store i64 %26, i64* %33, align 8 | |
%34 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i64 0, i32 2 | |
store i16 %32, i16* %34, align 8 | |
ret void | |
} | |
; Function Attrs: norecurse nounwind uwtable | |
define void @_ZN4core3num9diy_float2Fp9normalize17heb96c9b399a361feE(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16), %"num::diy_float::Fp"* noalias nocapture readonly dereferenceable(16)) unnamed_addr #5 { | |
start: | |
%2 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i64 0, i32 0 | |
%3 = load i64, i64* %2, align 8 | |
%4 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i64 0, i32 2 | |
%5 = load i16, i16* %4, align 2 | |
%6 = icmp ult i64 %3, 4294967296 | |
%7 = shl i64 %3, 32 | |
%8 = add i16 %5, -32 | |
%e.0 = select i1 %6, i16 %8, i16 %5 | |
%f.0 = select i1 %6, i64 %7, i64 %3 | |
%9 = icmp ult i64 %f.0, 281474976710656 | |
%10 = shl i64 %f.0, 16 | |
%11 = add i16 %e.0, -16 | |
%e.1 = select i1 %9, i16 %11, i16 %e.0 | |
%f.1 = select i1 %9, i64 %10, i64 %f.0 | |
%12 = icmp ult i64 %f.1, 72057594037927936 | |
%13 = shl i64 %f.1, 8 | |
%14 = add i16 %e.1, -8 | |
%e.2 = select i1 %12, i16 %14, i16 %e.1 | |
%f.2 = select i1 %12, i64 %13, i64 %f.1 | |
%15 = icmp ult i64 %f.2, 1152921504606846976 | |
%16 = shl i64 %f.2, 4 | |
%17 = add i16 %e.2, -4 | |
%e.3 = select i1 %15, i16 %17, i16 %e.2 | |
%f.3 = select i1 %15, i64 %16, i64 %f.2 | |
%18 = icmp ult i64 %f.3, 4611686018427387904 | |
%19 = shl i64 %f.3, 2 | |
%20 = add i16 %e.3, -2 | |
%e.4 = select i1 %18, i16 %20, i16 %e.3 | |
%f.4 = select i1 %18, i64 %19, i64 %f.3 | |
%f.4.lobit = ashr i64 %f.4, 63 | |
%21 = trunc i64 %f.4.lobit to i16 | |
%.not = xor i16 %21, -1 | |
%e.5 = add i16 %e.4, %.not | |
%f.4.lobit21 = lshr i64 %f.4, 63 | |
%f.4.lobit21.not = xor i64 %f.4.lobit21, 1 | |
%f.5 = shl i64 %f.4, %f.4.lobit21.not | |
%22 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i64 0, i32 0 | |
store i64 %f.5, i64* %22, align 8 | |
%23 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i64 0, i32 2 | |
store i16 %e.5, i16* %23, align 8 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3num9diy_float2Fp12normalize_to17h26f99aa0f555e1f5E(%"num::diy_float::Fp"* noalias nocapture sret dereferenceable(16), %"num::diy_float::Fp"* noalias readonly dereferenceable(16), i16) unnamed_addr #2 { | |
start: | |
%_36 = alloca [2 x %"fmt::ArgumentV1"], align 8 | |
%_31 = alloca %"fmt::Arguments", align 8 | |
%right_val = alloca i64*, align 8 | |
%left_val = alloca i64*, align 8 | |
%_19 = alloca i64, align 8 | |
%3 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i64 0, i32 2 | |
%4 = load i16, i16* %3, align 2 | |
%5 = sub i16 %4, %2 | |
%6 = icmp slt i16 %5, 0 | |
br i1 %6, label %bb1, label %bb2 | |
bb1: ; preds = %start | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4core3num9diy_float2Fp12normalize_to14_MSG_FILE_LINE17h2f2c83a59b92ffc4E to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb2: ; preds = %start | |
%7 = bitcast i64* %_19 to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %7) | |
%8 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %1, i64 0, i32 0 | |
%9 = load i64, i64* %8, align 8 | |
%10 = and i16 %5, 63 | |
%11 = zext i16 %10 to i64 | |
%12 = shl i64 %9, %11 | |
%13 = lshr i64 %12, %11 | |
store i64 %13, i64* %_19, align 8 | |
%14 = bitcast i64** %left_val to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %14) | |
store i64* %_19, i64** %left_val, align 8 | |
%15 = bitcast i64** %right_val to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %15) | |
store i64* %8, i64** %right_val, align 8 | |
%16 = icmp eq i64 %13, %9 | |
br i1 %16, label %bb4, label %bb3 | |
bb3: ; preds = %bb2 | |
%17 = bitcast %"fmt::Arguments"* %_31 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %17) | |
%18 = bitcast [2 x %"fmt::ArgumentV1"]* %_36 to i8* | |
call void @llvm.lifetime.start(i64 32, i8* nonnull %18) | |
%19 = ptrtoint i64** %left_val to i64 | |
%20 = ptrtoint i64** %right_val to i64 | |
%21 = bitcast [2 x %"fmt::ArgumentV1"]* %_36 to i64* | |
store i64 %19, i64* %21, align 8 | |
%22 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_36, i64 0, i64 0, i32 2 | |
%23 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %22 to i64* | |
store i64 ptrtoint (i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4bdf30265ff44dd6E" to i64), i64* %23, align 8 | |
%24 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_36, i64 0, i64 1 | |
%25 = bitcast %"fmt::ArgumentV1"* %24 to i64* | |
store i64 %20, i64* %25, align 8 | |
%26 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_36, i64 0, i64 1, i32 2 | |
%27 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %26 to i64* | |
store i64 ptrtoint (i8 (i64**, %"fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h4bdf30265ff44dd6E" to i64), i64* %27, align 8 | |
%28 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_36, i64 0, i64 0 | |
%29 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.3x, i64 0, i64 0), %str_slice** %29, align 8, !alias.scope !816, !noalias !819 | |
%30 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31, i64 0, i32 0, i32 1 | |
store i64 3, i64* %30, align 8, !alias.scope !816, !noalias !819 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !816, !noalias !819 | |
%31 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %28, %"fmt::ArgumentV1"** %31, align 8, !alias.scope !816, !noalias !819 | |
%32 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_31, i64 0, i32 4, i32 1 | |
store i64 2, i64* %32, align 8, !alias.scope !816, !noalias !819 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_31, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num9diy_float2Fp12normalize_to10_FILE_LINE17h8c3fc481ef3ad19aE to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb4: ; preds = %bb2 | |
call void @llvm.lifetime.end(i64 8, i8* nonnull %15) | |
call void @llvm.lifetime.end(i64 8, i8* nonnull %14) | |
call void @llvm.lifetime.end(i64 8, i8* nonnull %7) | |
%33 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i64 0, i32 0 | |
store i64 %12, i64* %33, align 8 | |
%34 = getelementptr inbounds %"num::diy_float::Fp", %"num::diy_float::Fp"* %0, i64 0, i32 2 | |
store i16 %2, i16* %34, align 8 | |
ret void | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define %str_slice @_ZN4core3num15TryFromIntError13__description17h6571dc03e12bb0a5E(%"num::TryFromIntError"* noalias nocapture readonly) unnamed_addr #0 { | |
start: | |
ret %str_slice { i8* getelementptr inbounds ([47 x i8], [47 x i8]* @str.1M, i32 0, i32 0), i64 47 } | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN65_$LT$core..num..TryFromIntError$u20$as$u20$core..fmt..Display$GT$3fmt17hae2fe97e72bd9fa6E"(%"num::TryFromIntError"* noalias nocapture readonly, %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 { | |
start: | |
%2 = tail call i8 @_ZN4core3fmt9Formatter3pad17hfc084f6039bdcf14E(%"fmt::Formatter"* nonnull dereferenceable(96) %1, i8* noalias nonnull readonly getelementptr inbounds ([47 x i8], [47 x i8]* @str.1M, i64 0, i64 0), i64 47) | |
ret i8 %2 | |
} | |
; Function Attrs: uwtable | |
define internal fastcc void @_ZN4core3num14from_str_radix17h0221f5ad2927d846E(%"result::Result<u64, num::ParseIntError>"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i64, i32) unnamed_addr #2 { | |
start: | |
%_17 = alloca [1 x %"fmt::ArgumentV1"], align 8 | |
%_12 = alloca %"fmt::Arguments", align 8 | |
%radix = alloca i32, align 4 | |
%4 = bitcast i32* %radix to i8* | |
call void @llvm.lifetime.start(i64 4, i8* nonnull %4) | |
store i32 %3, i32* %radix, align 4 | |
%.off = add i32 %3, -2 | |
%not. = icmp ugt i32 %.off, 34 | |
br i1 %not., label %bb5, label %bb6 | |
bb5: ; preds = %start | |
%5 = bitcast %"fmt::Arguments"* %_12 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %5) | |
%6 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %6) | |
%7 = ptrtoint i32* %radix to i64 | |
%8 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i64* | |
store i64 %7, i64* %8, align 8 | |
%9 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0, i32 2 | |
%10 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %9 to i64* | |
store i64 ptrtoint (i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h19eb6d5ffb2a02a3E" to i64), i64* %10, align 8 | |
%11 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0 | |
%12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.9B, i64 0, i64 0), %str_slice** %12, align 8, !alias.scope !822, !noalias !825 | |
%13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 1 | |
store i64 1, i64* %13, align 8, !alias.scope !822, !noalias !825 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !822, !noalias !825 | |
%14 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %11, %"fmt::ArgumentV1"** %14, align 8, !alias.scope !822, !noalias !825 | |
%15 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 1 | |
store i64 1, i64* %15, align 8, !alias.scope !822, !noalias !825 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_12, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num14from_str_radix10_FILE_LINE17hfef39fd500266a2eE to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %start | |
%16 = icmp eq i64 %2, 0 | |
br i1 %16, label %bb13, label %bb18 | |
bb12: ; preds = %bb66, %bb13 | |
ret void | |
bb13.loopexit: ; preds = %bb40, %bb45, %bb9.i59, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68" | |
%.sink.ph = phi i8 [ 1, %bb9.i59 ], [ 2, %bb45 ], [ 2, %bb40 ], [ 1, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68" ] | |
br label %bb13 | |
bb13: ; preds = %bb13.loopexit, %bb6, %bb23 | |
%.sink = phi i8 [ 0, %bb23 ], [ 0, %bb6 ], [ %.sink.ph, %bb13.loopexit ] | |
%17 = getelementptr inbounds %"result::Result<u64, num::ParseIntError>", %"result::Result<u64, num::ParseIntError>"* %0, i64 0, i32 0 | |
store i8 1, i8* %17, align 8 | |
%18 = getelementptr inbounds %"result::Result<u64, num::ParseIntError>", %"result::Result<u64, num::ParseIntError>"* %0, i64 0, i32 1, i64 0 | |
store i8 %.sink, i8* %18, align 1 | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %4) | |
br label %bb12 | |
bb18: ; preds = %bb6 | |
%19 = load i8, i8* %1, align 1 | |
%cond = icmp eq i8 %19, 43 | |
br i1 %cond, label %bb23, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" | |
bb23: ; preds = %bb18 | |
%20 = getelementptr inbounds i8, i8* %1, i64 1 | |
%21 = add i64 %2, -1 | |
%22 = icmp eq i64 %21, 0 | |
br i1 %22, label %bb13, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader": ; preds = %bb18, %bb23 | |
%.sink117 = phi i64 [ %21, %bb23 ], [ %2, %bb18 ] | |
%.sink13116 = phi i8* [ %20, %bb23 ], [ %1, %bb18 ] | |
%23 = getelementptr inbounds i8, i8* %.sink13116, i64 %.sink117 | |
%24 = zext i32 %3 to i64 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader", %bb49 | |
%result.0127 = phi i64 [ %38, %bb49 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" ] | |
%iter.sroa.0.0126 = phi i8* [ %25, %bb49 ], [ %.sink13116, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" ] | |
%25 = getelementptr inbounds i8, i8* %iter.sroa.0.0126, i64 1 | |
%26 = load i8, i8* %iter.sroa.0.0126, align 1 | |
%27 = zext i8 %26 to i32 | |
%.off.i54 = add nsw i32 %27, -48 | |
%28 = icmp ult i32 %.off.i54, 10 | |
br i1 %28, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68", label %bb7.i57 | |
bb7.i57: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" | |
%.off5.i56 = add nsw i32 %27, -97 | |
%29 = icmp ult i32 %.off5.i56, 26 | |
br i1 %29, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68", label %bb9.i59 | |
bb9.i59: ; preds = %bb7.i57 | |
%.off6.i58 = add nsw i32 %27, -65 | |
%30 = icmp ult i32 %.off6.i58, 26 | |
br i1 %30, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68", label %bb13.loopexit | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71", %bb7.i57, %bb9.i59 | |
%.sink.i60 = phi i32 [ -87, %bb7.i57 ], [ -55, %bb9.i59 ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" ] | |
%31 = add nsw i32 %.sink.i60, %27 | |
%32 = icmp ult i32 %31, %3 | |
%phitmp.i62 = zext i32 %31 to i64 | |
br i1 %32, label %bb40, label %bb13.loopexit | |
bb40: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68" | |
%33 = tail call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %result.0127, i64 %24) #16 | |
%34 = extractvalue { i64, i1 } %33, 1 | |
br i1 %34, label %bb13.loopexit, label %bb45 | |
bb45: ; preds = %bb40 | |
%35 = extractvalue { i64, i1 } %33, 0 | |
%36 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %35, i64 %phitmp.i62) #16 | |
%37 = extractvalue { i64, i1 } %36, 1 | |
br i1 %37, label %bb13.loopexit, label %bb49 | |
bb49: ; preds = %bb45 | |
%38 = extractvalue { i64, i1 } %36, 0 | |
%39 = icmp eq i8* %25, %23 | |
br i1 %39, label %bb66, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" | |
bb66: ; preds = %bb49 | |
%40 = getelementptr inbounds %"result::Result<u64, num::ParseIntError>", %"result::Result<u64, num::ParseIntError>"* %0, i64 0, i32 0 | |
store i8 0, i8* %40, align 8 | |
%41 = getelementptr inbounds %"result::Result<u64, num::ParseIntError>", %"result::Result<u64, num::ParseIntError>"* %0, i64 0, i32 2, i64 0 | |
store i64 %38, i64* %41, align 8 | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %4) | |
br label %bb12 | |
} | |
; Function Attrs: uwtable | |
define internal fastcc i32 @_ZN4core3num14from_str_radix17h122bbee47974215eE(i8* noalias nonnull readonly, i64, i32) unnamed_addr #2 { | |
start: | |
%_17 = alloca [1 x %"fmt::ArgumentV1"], align 8 | |
%_12 = alloca %"fmt::Arguments", align 8 | |
%radix = alloca i32, align 4 | |
%3 = bitcast i32* %radix to i8* | |
call void @llvm.lifetime.start(i64 4, i8* nonnull %3) | |
store i32 %2, i32* %radix, align 4 | |
%.off = add i32 %2, -2 | |
%not. = icmp ugt i32 %.off, 34 | |
br i1 %not., label %bb5, label %bb6 | |
bb5: ; preds = %start | |
%4 = bitcast %"fmt::Arguments"* %_12 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %4) | |
%5 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %5) | |
%6 = ptrtoint i32* %radix to i64 | |
%7 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i64* | |
store i64 %6, i64* %7, align 8 | |
%8 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0, i32 2 | |
%9 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 to i64* | |
store i64 ptrtoint (i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h19eb6d5ffb2a02a3E" to i64), i64* %9, align 8 | |
%10 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0 | |
%11 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.9B, i64 0, i64 0), %str_slice** %11, align 8, !alias.scope !828, !noalias !831 | |
%12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 1 | |
store i64 1, i64* %12, align 8, !alias.scope !828, !noalias !831 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !828, !noalias !831 | |
%13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %10, %"fmt::ArgumentV1"** %13, align 8, !alias.scope !828, !noalias !831 | |
%14 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 1 | |
store i64 1, i64* %14, align 8, !alias.scope !828, !noalias !831 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_12, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num14from_str_radix10_FILE_LINE17hfef39fd500266a2eE to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %start | |
%15 = icmp eq i64 %1, 0 | |
br i1 %15, label %bb13, label %bb18 | |
bb12: ; preds = %bb66, %bb13 | |
%_0.sroa.18.0 = phi i32 [ 0, %bb13 ], [ %phitmp96, %bb66 ] | |
%_0.sroa.10.0 = phi i32 [ %_0.sroa.10.1, %bb13 ], [ 0, %bb66 ] | |
%_0.sroa.0.0 = phi i32 [ 1, %bb13 ], [ 0, %bb66 ] | |
%_0.sroa.10.0.insert.ext.masked = and i32 %_0.sroa.10.0, 65280 | |
%_0.sroa.0.0.insert.mask = or i32 %_0.sroa.10.0.insert.ext.masked, %_0.sroa.18.0 | |
%_0.sroa.0.0.insert.insert = or i32 %_0.sroa.0.0.insert.mask, %_0.sroa.0.0 | |
ret i32 %_0.sroa.0.0.insert.insert | |
bb13.loopexit: ; preds = %bb40, %bb45, %bb9.i115, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124" | |
%_0.sroa.10.1.ph = phi i32 [ 256, %bb9.i115 ], [ 512, %bb45 ], [ 512, %bb40 ], [ 256, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124" ] | |
br label %bb13 | |
bb13.loopexit189: ; preds = %bb61, %bb57, %bb9.i, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" | |
%_0.sroa.10.1.ph190 = phi i32 [ 256, %bb9.i ], [ 768, %bb61 ], [ 768, %bb57 ], [ 256, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" ] | |
br label %bb13 | |
bb13: ; preds = %bb13.loopexit189, %bb13.loopexit, %bb23, %bb6 | |
%_0.sroa.10.1 = phi i32 [ 0, %bb6 ], [ 0, %bb23 ], [ %_0.sroa.10.1.ph, %bb13.loopexit ], [ %_0.sroa.10.1.ph190, %bb13.loopexit189 ] | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %3) | |
br label %bb12 | |
bb18: ; preds = %bb6 | |
%16 = load i8, i8* %0, align 1 | |
switch i8 %16, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.lr.ph.thread" [ | |
i8 43, label %bb23 | |
i8 45, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
] | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.lr.ph.thread": ; preds = %bb18 | |
%17 = getelementptr inbounds i8, i8* %0, i64 %1 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.preheader" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit": ; preds = %bb18 | |
br label %bb23 | |
bb23: ; preds = %bb18, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
%.sink20 = phi i1 [ false, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" ], [ true, %bb18 ] | |
%.sink17 = getelementptr inbounds i8, i8* %0, i64 1 | |
%.sink = add i64 %1, -1 | |
%18 = icmp eq i64 %.sink, 0 | |
br i1 %18, label %bb13, label %bb28 | |
bb28: ; preds = %bb23 | |
br i1 %.sink20, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.lr.ph", label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.lr.ph": ; preds = %bb28 | |
%19 = getelementptr inbounds i8, i8* %.sink17, i64 %.sink | |
%20 = icmp ugt i32 %2, 36 | |
br i1 %20, label %bb1.i109.split, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.preheader": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.lr.ph.thread", %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.lr.ph" | |
%21 = phi i8* [ %17, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.lr.ph.thread" ], [ %19, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.lr.ph" ] | |
%.sink17157160178 = phi i8* [ %0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.lr.ph.thread" ], [ %.sink17, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.lr.ph" ] | |
%22 = trunc i32 %2 to i16 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph": ; preds = %bb28 | |
%.ptr173 = getelementptr inbounds i8, i8* %0, i64 %1 | |
%23 = icmp ugt i32 %2, 36 | |
%24 = trunc i32 %2 to i16 | |
br i1 %23, label %bb1.i.split, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.preheader", %bb49 | |
%iter.sroa.0.0169 = phi i8* [ %25, %bb49 ], [ %.sink17157160178, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.preheader" ] | |
%result.0168 = phi i16 [ %38, %bb49 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.preheader" ] | |
%25 = getelementptr inbounds i8, i8* %iter.sroa.0.0169, i64 1 | |
%26 = load i8, i8* %iter.sroa.0.0169, align 1 | |
%27 = zext i8 %26 to i32 | |
%.off.i110 = add nsw i32 %27, -48 | |
%28 = icmp ult i32 %.off.i110, 10 | |
br i1 %28, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124", label %bb7.i113 | |
bb1.i109.split: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.lr.ph" | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17he73e9f4f7105b3e4E" to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb7.i113: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127" | |
%.off5.i112 = add nsw i32 %27, -97 | |
%29 = icmp ult i32 %.off5.i112, 26 | |
br i1 %29, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124", label %bb9.i115 | |
bb9.i115: ; preds = %bb7.i113 | |
%.off6.i114 = add nsw i32 %27, -65 | |
%30 = icmp ult i32 %.off6.i114, 26 | |
br i1 %30, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124", label %bb13.loopexit | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127", %bb7.i113, %bb9.i115 | |
%.sink.i116 = phi i32 [ -87, %bb7.i113 ], [ -55, %bb9.i115 ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127" ] | |
%31 = add nsw i32 %.sink.i116, %27 | |
%32 = icmp ult i32 %31, %2 | |
%phitmp.i118 = trunc i32 %31 to i16 | |
br i1 %32, label %bb40, label %bb13.loopexit | |
bb40: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124" | |
%33 = tail call { i16, i1 } @llvm.smul.with.overflow.i16(i16 %result.0168, i16 %22) #16 | |
%34 = extractvalue { i16, i1 } %33, 1 | |
br i1 %34, label %bb13.loopexit, label %bb45 | |
bb45: ; preds = %bb40 | |
%35 = extractvalue { i16, i1 } %33, 0 | |
%36 = tail call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %35, i16 %phitmp.i118) #16 | |
%37 = extractvalue { i16, i1 } %36, 1 | |
br i1 %37, label %bb13.loopexit, label %bb49 | |
bb49: ; preds = %bb45 | |
%38 = extractvalue { i16, i1 } %36, 0 | |
%39 = icmp eq i8* %25, %21 | |
br i1 %39, label %bb66.loopexit, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader", %bb65 | |
%iter1.sroa.0.0171 = phi i8* [ %40, %bb65 ], [ %.sink17, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" ] | |
%result.1170 = phi i16 [ %53, %bb65 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" ] | |
%40 = getelementptr inbounds i8, i8* %iter1.sroa.0.0171, i64 1 | |
%41 = load i8, i8* %iter1.sroa.0.0171, align 1 | |
%42 = zext i8 %41 to i32 | |
%.off.i = add nsw i32 %42, -48 | |
%43 = icmp ult i32 %.off.i, 10 | |
br i1 %43, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb7.i | |
bb1.i.split: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17he73e9f4f7105b3e4E" to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb7.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
%.off5.i = add nsw i32 %42, -97 | |
%44 = icmp ult i32 %.off5.i, 26 | |
br i1 %44, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb9.i | |
bb9.i: ; preds = %bb7.i | |
%.off6.i = add nsw i32 %42, -65 | |
%45 = icmp ult i32 %.off6.i, 26 | |
br i1 %45, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb13.loopexit189 | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit", %bb7.i, %bb9.i | |
%.sink.i = phi i32 [ -87, %bb7.i ], [ -55, %bb9.i ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" ] | |
%46 = add nsw i32 %.sink.i, %42 | |
%47 = icmp ult i32 %46, %2 | |
%phitmp.i = trunc i32 %46 to i16 | |
br i1 %47, label %bb57, label %bb13.loopexit189 | |
bb57: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" | |
%48 = tail call { i16, i1 } @llvm.smul.with.overflow.i16(i16 %result.1170, i16 %24) #16 | |
%49 = extractvalue { i16, i1 } %48, 1 | |
br i1 %49, label %bb13.loopexit189, label %bb61 | |
bb61: ; preds = %bb57 | |
%50 = extractvalue { i16, i1 } %48, 0 | |
%51 = tail call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %50, i16 %phitmp.i) #16 | |
%52 = extractvalue { i16, i1 } %51, 1 | |
br i1 %52, label %bb13.loopexit189, label %bb65 | |
bb65: ; preds = %bb61 | |
%53 = extractvalue { i16, i1 } %51, 0 | |
%54 = icmp eq i8* %40, %.ptr173 | |
br i1 %54, label %bb66.loopexit191, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
bb66.loopexit: ; preds = %bb49 | |
br label %bb66 | |
bb66.loopexit191: ; preds = %bb65 | |
br label %bb66 | |
bb66: ; preds = %bb66.loopexit191, %bb66.loopexit | |
%result.2 = phi i16 [ %38, %bb66.loopexit ], [ %53, %bb66.loopexit191 ] | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %3) | |
%phitmp = zext i16 %result.2 to i32 | |
%phitmp96 = shl nuw i32 %phitmp, 16 | |
br label %bb12 | |
} | |
; Function Attrs: uwtable | |
define internal fastcc void @_ZN4core3num14from_str_radix17h5ec33e5b7b1c4f4dE(%"result::Result<isize, num::ParseIntError>"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i64, i32) unnamed_addr #2 { | |
start: | |
%_17 = alloca [1 x %"fmt::ArgumentV1"], align 8 | |
%_12 = alloca %"fmt::Arguments", align 8 | |
%radix = alloca i32, align 4 | |
%4 = bitcast i32* %radix to i8* | |
call void @llvm.lifetime.start(i64 4, i8* nonnull %4) | |
store i32 %3, i32* %radix, align 4 | |
%.off = add i32 %3, -2 | |
%not. = icmp ugt i32 %.off, 34 | |
br i1 %not., label %bb5, label %bb6 | |
bb5: ; preds = %start | |
%5 = bitcast %"fmt::Arguments"* %_12 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %5) | |
%6 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %6) | |
%7 = ptrtoint i32* %radix to i64 | |
%8 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i64* | |
store i64 %7, i64* %8, align 8 | |
%9 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0, i32 2 | |
%10 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %9 to i64* | |
store i64 ptrtoint (i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h19eb6d5ffb2a02a3E" to i64), i64* %10, align 8 | |
%11 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0 | |
%12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.9B, i64 0, i64 0), %str_slice** %12, align 8, !alias.scope !834, !noalias !837 | |
%13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 1 | |
store i64 1, i64* %13, align 8, !alias.scope !834, !noalias !837 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !834, !noalias !837 | |
%14 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %11, %"fmt::ArgumentV1"** %14, align 8, !alias.scope !834, !noalias !837 | |
%15 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 1 | |
store i64 1, i64* %15, align 8, !alias.scope !834, !noalias !837 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_12, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num14from_str_radix10_FILE_LINE17hfef39fd500266a2eE to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %start | |
%16 = icmp eq i64 %2, 0 | |
br i1 %16, label %bb13, label %bb18 | |
bb12: ; preds = %bb66, %bb13 | |
ret void | |
bb13.loopexit: ; preds = %bb40, %bb45, %bb9.i59, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68" | |
%.sink125.ph = phi i8 [ 1, %bb9.i59 ], [ 2, %bb45 ], [ 2, %bb40 ], [ 1, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68" ] | |
br label %bb13 | |
bb13.loopexit156: ; preds = %bb57, %bb61, %bb9.i, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" | |
%.sink125.ph157 = phi i8 [ 1, %bb9.i ], [ 3, %bb61 ], [ 3, %bb57 ], [ 1, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" ] | |
br label %bb13 | |
bb13: ; preds = %bb13.loopexit156, %bb13.loopexit, %bb6, %bb23 | |
%.sink125 = phi i8 [ 0, %bb23 ], [ 0, %bb6 ], [ %.sink125.ph, %bb13.loopexit ], [ %.sink125.ph157, %bb13.loopexit156 ] | |
%17 = getelementptr inbounds %"result::Result<isize, num::ParseIntError>", %"result::Result<isize, num::ParseIntError>"* %0, i64 0, i32 0 | |
store i8 1, i8* %17, align 8 | |
%18 = getelementptr inbounds %"result::Result<isize, num::ParseIntError>", %"result::Result<isize, num::ParseIntError>"* %0, i64 0, i32 1, i64 0 | |
store i8 %.sink125, i8* %18, align 1 | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %4) | |
br label %bb12 | |
bb18: ; preds = %bb6 | |
%19 = load i8, i8* %1, align 1 | |
switch i8 %19, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph.thread" [ | |
i8 43, label %bb23 | |
i8 45, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
] | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph.thread": ; preds = %bb18 | |
%20 = getelementptr inbounds i8, i8* %1, i64 %2 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit": ; preds = %bb18 | |
br label %bb23 | |
bb23: ; preds = %bb18, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
%.sink16 = phi i1 [ false, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" ], [ true, %bb18 ] | |
%.sink13 = getelementptr inbounds i8, i8* %1, i64 1 | |
%.sink = add i64 %2, -1 | |
%21 = icmp eq i64 %.sink, 0 | |
br i1 %21, label %bb13, label %bb28 | |
bb28: ; preds = %bb23 | |
br i1 %.sink16, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph", label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph": ; preds = %bb28 | |
%22 = getelementptr inbounds i8, i8* %.sink13, i64 %.sink | |
%23 = icmp ugt i32 %3, 36 | |
br i1 %23, label %bb1.i53.split, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph.thread", %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph" | |
%24 = phi i8* [ %20, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph.thread" ], [ %22, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph" ] | |
%.sink13117120145 = phi i8* [ %1, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph.thread" ], [ %.sink13, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph" ] | |
%25 = zext i32 %3 to i64 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph": ; preds = %bb28 | |
%.ptr140 = getelementptr inbounds i8, i8* %1, i64 %2 | |
%26 = icmp ugt i32 %3, 36 | |
%27 = zext i32 %3 to i64 | |
br i1 %26, label %bb1.i.split, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader", %bb49 | |
%result.0136 = phi i64 [ %41, %bb49 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" ] | |
%iter.sroa.0.0135 = phi i8* [ %28, %bb49 ], [ %.sink13117120145, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" ] | |
%28 = getelementptr inbounds i8, i8* %iter.sroa.0.0135, i64 1 | |
%29 = load i8, i8* %iter.sroa.0.0135, align 1 | |
%30 = zext i8 %29 to i32 | |
%.off.i54 = add nsw i32 %30, -48 | |
%31 = icmp ult i32 %.off.i54, 10 | |
br i1 %31, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68", label %bb7.i57 | |
bb1.i53.split: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph" | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17he73e9f4f7105b3e4E" to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb7.i57: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" | |
%.off5.i56 = add nsw i32 %30, -97 | |
%32 = icmp ult i32 %.off5.i56, 26 | |
br i1 %32, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68", label %bb9.i59 | |
bb9.i59: ; preds = %bb7.i57 | |
%.off6.i58 = add nsw i32 %30, -65 | |
%33 = icmp ult i32 %.off6.i58, 26 | |
br i1 %33, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68", label %bb13.loopexit | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71", %bb7.i57, %bb9.i59 | |
%.sink.i60 = phi i32 [ -87, %bb7.i57 ], [ -55, %bb9.i59 ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" ] | |
%34 = add nsw i32 %.sink.i60, %30 | |
%35 = icmp ult i32 %34, %3 | |
%phitmp.i62 = zext i32 %34 to i64 | |
br i1 %35, label %bb40, label %bb13.loopexit | |
bb40: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68" | |
%36 = tail call { i64, i1 } @llvm.smul.with.overflow.i64(i64 %result.0136, i64 %25) #16 | |
%37 = extractvalue { i64, i1 } %36, 1 | |
br i1 %37, label %bb13.loopexit, label %bb45 | |
bb45: ; preds = %bb40 | |
%38 = extractvalue { i64, i1 } %36, 0 | |
%39 = tail call { i64, i1 } @llvm.sadd.with.overflow.i64(i64 %38, i64 %phitmp.i62) #16 | |
%40 = extractvalue { i64, i1 } %39, 1 | |
br i1 %40, label %bb13.loopexit, label %bb49 | |
bb49: ; preds = %bb45 | |
%41 = extractvalue { i64, i1 } %39, 0 | |
%42 = icmp eq i8* %28, %24 | |
br i1 %42, label %bb66.loopexit, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader", %bb65 | |
%result.1138 = phi i64 [ %56, %bb65 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" ] | |
%iter1.sroa.0.0137 = phi i8* [ %43, %bb65 ], [ %.sink13, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" ] | |
%43 = getelementptr inbounds i8, i8* %iter1.sroa.0.0137, i64 1 | |
%44 = load i8, i8* %iter1.sroa.0.0137, align 1 | |
%45 = zext i8 %44 to i32 | |
%.off.i = add nsw i32 %45, -48 | |
%46 = icmp ult i32 %.off.i, 10 | |
br i1 %46, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb7.i | |
bb1.i.split: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17he73e9f4f7105b3e4E" to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb7.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
%.off5.i = add nsw i32 %45, -97 | |
%47 = icmp ult i32 %.off5.i, 26 | |
br i1 %47, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb9.i | |
bb9.i: ; preds = %bb7.i | |
%.off6.i = add nsw i32 %45, -65 | |
%48 = icmp ult i32 %.off6.i, 26 | |
br i1 %48, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb13.loopexit156 | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit", %bb7.i, %bb9.i | |
%.sink.i = phi i32 [ -87, %bb7.i ], [ -55, %bb9.i ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" ] | |
%49 = add nsw i32 %.sink.i, %45 | |
%50 = icmp ult i32 %49, %3 | |
%phitmp.i = zext i32 %49 to i64 | |
br i1 %50, label %bb57, label %bb13.loopexit156 | |
bb57: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" | |
%51 = tail call { i64, i1 } @llvm.smul.with.overflow.i64(i64 %result.1138, i64 %27) #16 | |
%52 = extractvalue { i64, i1 } %51, 1 | |
br i1 %52, label %bb13.loopexit156, label %bb61 | |
bb61: ; preds = %bb57 | |
%53 = extractvalue { i64, i1 } %51, 0 | |
%54 = tail call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 %53, i64 %phitmp.i) #16 | |
%55 = extractvalue { i64, i1 } %54, 1 | |
br i1 %55, label %bb13.loopexit156, label %bb65 | |
bb65: ; preds = %bb61 | |
%56 = extractvalue { i64, i1 } %54, 0 | |
%57 = icmp eq i8* %43, %.ptr140 | |
br i1 %57, label %bb66.loopexit158, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
bb66.loopexit: ; preds = %bb49 | |
br label %bb66 | |
bb66.loopexit158: ; preds = %bb65 | |
br label %bb66 | |
bb66: ; preds = %bb66.loopexit158, %bb66.loopexit | |
%result.2 = phi i64 [ %41, %bb66.loopexit ], [ %56, %bb66.loopexit158 ] | |
%58 = getelementptr inbounds %"result::Result<isize, num::ParseIntError>", %"result::Result<isize, num::ParseIntError>"* %0, i64 0, i32 0 | |
store i8 0, i8* %58, align 8 | |
%59 = getelementptr inbounds %"result::Result<isize, num::ParseIntError>", %"result::Result<isize, num::ParseIntError>"* %0, i64 0, i32 2, i64 0 | |
store i64 %result.2, i64* %59, align 8 | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %4) | |
br label %bb12 | |
} | |
; Function Attrs: uwtable | |
define internal fastcc i64 @_ZN4core3num14from_str_radix17h5f57b304d002fcbcE(i8* noalias nonnull readonly, i64, i32) unnamed_addr #2 { | |
start: | |
%_17 = alloca [1 x %"fmt::ArgumentV1"], align 8 | |
%_12 = alloca %"fmt::Arguments", align 8 | |
%radix = alloca i32, align 4 | |
%3 = bitcast i32* %radix to i8* | |
call void @llvm.lifetime.start(i64 4, i8* nonnull %3) | |
store i32 %2, i32* %radix, align 4 | |
%.off = add i32 %2, -2 | |
%not. = icmp ugt i32 %.off, 34 | |
br i1 %not., label %bb5, label %bb6 | |
bb5: ; preds = %start | |
%4 = bitcast %"fmt::Arguments"* %_12 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %4) | |
%5 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %5) | |
%6 = ptrtoint i32* %radix to i64 | |
%7 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i64* | |
store i64 %6, i64* %7, align 8 | |
%8 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0, i32 2 | |
%9 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 to i64* | |
store i64 ptrtoint (i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h19eb6d5ffb2a02a3E" to i64), i64* %9, align 8 | |
%10 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0 | |
%11 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.9B, i64 0, i64 0), %str_slice** %11, align 8, !alias.scope !840, !noalias !843 | |
%12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 1 | |
store i64 1, i64* %12, align 8, !alias.scope !840, !noalias !843 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !840, !noalias !843 | |
%13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %10, %"fmt::ArgumentV1"** %13, align 8, !alias.scope !840, !noalias !843 | |
%14 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 1 | |
store i64 1, i64* %14, align 8, !alias.scope !840, !noalias !843 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_12, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num14from_str_radix10_FILE_LINE17hfef39fd500266a2eE to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %start | |
%15 = icmp eq i64 %1, 0 | |
br i1 %15, label %bb13, label %bb18 | |
bb12: ; preds = %bb66, %bb13 | |
%_0.sroa.1836.0 = phi i64 [ 0, %bb13 ], [ %phitmp, %bb66 ] | |
%_0.sroa.10.0 = phi i64 [ %_0.sroa.10.1, %bb13 ], [ 0, %bb66 ] | |
%_0.sroa.0.0 = phi i64 [ 1, %bb13 ], [ 0, %bb66 ] | |
%_0.sroa.10.0.insert.ext.masked = and i64 %_0.sroa.10.0, 65280 | |
%_0.sroa.0.0.insert.mask = or i64 %_0.sroa.10.0.insert.ext.masked, %_0.sroa.1836.0 | |
%_0.sroa.0.0.insert.insert = or i64 %_0.sroa.0.0.insert.mask, %_0.sroa.0.0 | |
ret i64 %_0.sroa.0.0.insert.insert | |
bb13.loopexit: ; preds = %bb40, %bb45, %bb9.i116, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125" | |
%_0.sroa.10.1.ph = phi i64 [ 256, %bb9.i116 ], [ 512, %bb45 ], [ 512, %bb40 ], [ 256, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125" ] | |
br label %bb13 | |
bb13: ; preds = %bb13.loopexit, %bb23, %bb6 | |
%_0.sroa.10.1 = phi i64 [ 0, %bb6 ], [ 0, %bb23 ], [ %_0.sroa.10.1.ph, %bb13.loopexit ] | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %3) | |
br label %bb12 | |
bb18: ; preds = %bb6 | |
%16 = load i8, i8* %0, align 1 | |
%cond = icmp eq i8 %16, 43 | |
br i1 %cond, label %bb23, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.preheader" | |
bb23: ; preds = %bb18 | |
%17 = getelementptr inbounds i8, i8* %0, i64 1 | |
%18 = add i64 %1, -1 | |
%19 = icmp eq i64 %18, 0 | |
br i1 %19, label %bb13, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.preheader": ; preds = %bb18, %bb23 | |
%.sink158 = phi i64 [ %18, %bb23 ], [ %1, %bb18 ] | |
%.sink17157 = phi i8* [ %17, %bb23 ], [ %0, %bb18 ] | |
%20 = getelementptr inbounds i8, i8* %.sink17157, i64 %.sink158 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.preheader", %bb49 | |
%iter.sroa.0.0162 = phi i8* [ %21, %bb49 ], [ %.sink17157, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.preheader" ] | |
%result.0161 = phi i32 [ %34, %bb49 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.preheader" ] | |
%21 = getelementptr inbounds i8, i8* %iter.sroa.0.0162, i64 1 | |
%22 = load i8, i8* %iter.sroa.0.0162, align 1 | |
%23 = zext i8 %22 to i32 | |
%.off.i111 = add nsw i32 %23, -48 | |
%24 = icmp ult i32 %.off.i111, 10 | |
br i1 %24, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125", label %bb7.i114 | |
bb7.i114: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128" | |
%.off5.i113 = add nsw i32 %23, -97 | |
%25 = icmp ult i32 %.off5.i113, 26 | |
br i1 %25, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125", label %bb9.i116 | |
bb9.i116: ; preds = %bb7.i114 | |
%.off6.i115 = add nsw i32 %23, -65 | |
%26 = icmp ult i32 %.off6.i115, 26 | |
br i1 %26, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125", label %bb13.loopexit | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128", %bb7.i114, %bb9.i116 | |
%.sink.i117 = phi i32 [ -87, %bb7.i114 ], [ -55, %bb9.i116 ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128" ] | |
%27 = add nsw i32 %.sink.i117, %23 | |
%28 = icmp ult i32 %27, %2 | |
br i1 %28, label %bb40, label %bb13.loopexit | |
bb40: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125" | |
%29 = tail call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %result.0161, i32 %2) #16 | |
%30 = extractvalue { i32, i1 } %29, 1 | |
br i1 %30, label %bb13.loopexit, label %bb45 | |
bb45: ; preds = %bb40 | |
%31 = extractvalue { i32, i1 } %29, 0 | |
%32 = tail call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %31, i32 %27) #16 | |
%33 = extractvalue { i32, i1 } %32, 1 | |
br i1 %33, label %bb13.loopexit, label %bb49 | |
bb49: ; preds = %bb45 | |
%34 = extractvalue { i32, i1 } %32, 0 | |
%35 = icmp eq i8* %21, %20 | |
br i1 %35, label %bb66, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128" | |
bb66: ; preds = %bb49 | |
%phitmp163 = zext i32 %34 to i64 | |
%phitmp = shl nuw i64 %phitmp163, 32 | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %3) | |
br label %bb12 | |
} | |
; Function Attrs: uwtable | |
define internal fastcc i16 @_ZN4core3num14from_str_radix17h788c018b634aa41aE(i8* noalias nonnull readonly, i64, i32) unnamed_addr #2 { | |
start: | |
%_17 = alloca [1 x %"fmt::ArgumentV1"], align 8 | |
%_12 = alloca %"fmt::Arguments", align 8 | |
%radix = alloca i32, align 4 | |
%3 = bitcast i32* %radix to i8* | |
call void @llvm.lifetime.start(i64 4, i8* nonnull %3) | |
store i32 %2, i32* %radix, align 4 | |
%.off = add i32 %2, -2 | |
%not. = icmp ugt i32 %.off, 34 | |
br i1 %not., label %bb5, label %bb6 | |
bb5: ; preds = %start | |
%4 = bitcast %"fmt::Arguments"* %_12 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %4) | |
%5 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %5) | |
%6 = ptrtoint i32* %radix to i64 | |
%7 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i64* | |
store i64 %6, i64* %7, align 8 | |
%8 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0, i32 2 | |
%9 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 to i64* | |
store i64 ptrtoint (i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h19eb6d5ffb2a02a3E" to i64), i64* %9, align 8 | |
%10 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0 | |
%11 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.9B, i64 0, i64 0), %str_slice** %11, align 8, !alias.scope !846, !noalias !849 | |
%12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 1 | |
store i64 1, i64* %12, align 8, !alias.scope !846, !noalias !849 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !846, !noalias !849 | |
%13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %10, %"fmt::ArgumentV1"** %13, align 8, !alias.scope !846, !noalias !849 | |
%14 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 1 | |
store i64 1, i64* %14, align 8, !alias.scope !846, !noalias !849 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_12, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num14from_str_radix10_FILE_LINE17hfef39fd500266a2eE to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %start | |
%15 = icmp eq i64 %1, 0 | |
br i1 %15, label %bb13, label %bb18 | |
bb12: ; preds = %bb66, %bb13 | |
%_0.sroa.10.0 = phi i8 [ %_0.sroa.10.1, %bb13 ], [ %35, %bb66 ] | |
%_0.sroa.0.0 = phi i16 [ 1, %bb13 ], [ 0, %bb66 ] | |
%_0.sroa.10.0.insert.ext = zext i8 %_0.sroa.10.0 to i16 | |
%_0.sroa.10.0.insert.shift = shl nuw i16 %_0.sroa.10.0.insert.ext, 8 | |
%_0.sroa.0.0.insert.insert = or i16 %_0.sroa.10.0.insert.shift, %_0.sroa.0.0 | |
ret i16 %_0.sroa.0.0.insert.insert | |
bb13.loopexit: ; preds = %bb40, %bb45, %bb9.i82, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91" | |
%_0.sroa.10.1.ph = phi i8 [ 1, %bb9.i82 ], [ 2, %bb45 ], [ 2, %bb40 ], [ 1, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91" ] | |
br label %bb13 | |
bb13: ; preds = %bb13.loopexit, %bb23, %bb6 | |
%_0.sroa.10.1 = phi i8 [ 0, %bb6 ], [ 0, %bb23 ], [ %_0.sroa.10.1.ph, %bb13.loopexit ] | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %3) | |
br label %bb12 | |
bb18: ; preds = %bb6 | |
%16 = load i8, i8* %0, align 1 | |
%cond = icmp eq i8 %16, 43 | |
br i1 %cond, label %bb23, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.preheader" | |
bb23: ; preds = %bb18 | |
%17 = getelementptr inbounds i8, i8* %0, i64 1 | |
%18 = add i64 %1, -1 | |
%19 = icmp eq i64 %18, 0 | |
br i1 %19, label %bb13, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.preheader": ; preds = %bb18, %bb23 | |
%.sink120 = phi i64 [ %18, %bb23 ], [ %1, %bb18 ] | |
%.sink17119 = phi i8* [ %17, %bb23 ], [ %0, %bb18 ] | |
%20 = getelementptr inbounds i8, i8* %.sink17119, i64 %.sink120 | |
%21 = trunc i32 %2 to i8 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.preheader", %bb49 | |
%iter.sroa.0.0124 = phi i8* [ %22, %bb49 ], [ %.sink17119, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.preheader" ] | |
%result.0123 = phi i8 [ %35, %bb49 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.preheader" ] | |
%22 = getelementptr inbounds i8, i8* %iter.sroa.0.0124, i64 1 | |
%23 = load i8, i8* %iter.sroa.0.0124, align 1 | |
%24 = zext i8 %23 to i32 | |
%.off.i77 = add nsw i32 %24, -48 | |
%25 = icmp ult i32 %.off.i77, 10 | |
br i1 %25, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91", label %bb7.i80 | |
bb7.i80: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94" | |
%.off5.i79 = add nsw i32 %24, -97 | |
%26 = icmp ult i32 %.off5.i79, 26 | |
br i1 %26, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91", label %bb9.i82 | |
bb9.i82: ; preds = %bb7.i80 | |
%.off6.i81 = add nsw i32 %24, -65 | |
%27 = icmp ult i32 %.off6.i81, 26 | |
br i1 %27, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91", label %bb13.loopexit | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94", %bb7.i80, %bb9.i82 | |
%.sink.i83 = phi i32 [ -87, %bb7.i80 ], [ -55, %bb9.i82 ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94" ] | |
%28 = add nsw i32 %.sink.i83, %24 | |
%29 = icmp ult i32 %28, %2 | |
%phitmp.i85 = trunc i32 %28 to i8 | |
br i1 %29, label %bb40, label %bb13.loopexit | |
bb40: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91" | |
%30 = tail call { i8, i1 } @llvm.umul.with.overflow.i8(i8 %result.0123, i8 %21) #16 | |
%31 = extractvalue { i8, i1 } %30, 1 | |
br i1 %31, label %bb13.loopexit, label %bb45 | |
bb45: ; preds = %bb40 | |
%32 = extractvalue { i8, i1 } %30, 0 | |
%33 = tail call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %32, i8 %phitmp.i85) #16 | |
%34 = extractvalue { i8, i1 } %33, 1 | |
br i1 %34, label %bb13.loopexit, label %bb49 | |
bb49: ; preds = %bb45 | |
%35 = extractvalue { i8, i1 } %33, 0 | |
%36 = icmp eq i8* %22, %20 | |
br i1 %36, label %bb66, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94" | |
bb66: ; preds = %bb49 | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %3) | |
br label %bb12 | |
} | |
; Function Attrs: uwtable | |
define internal fastcc void @_ZN4core3num14from_str_radix17h87330e1ee4b3450bE(%"result::Result<i128, num::ParseIntError>"* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i64, i32) unnamed_addr #2 { | |
start: | |
%_17 = alloca [1 x %"fmt::ArgumentV1"], align 8 | |
%_12 = alloca %"fmt::Arguments", align 8 | |
%radix = alloca i32, align 4 | |
%4 = bitcast i32* %radix to i8* | |
call void @llvm.lifetime.start(i64 4, i8* nonnull %4) | |
store i32 %3, i32* %radix, align 4 | |
%.off = add i32 %3, -2 | |
%not. = icmp ugt i32 %.off, 34 | |
br i1 %not., label %bb5, label %bb6 | |
bb5: ; preds = %start | |
%5 = bitcast %"fmt::Arguments"* %_12 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %5) | |
%6 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %6) | |
%7 = ptrtoint i32* %radix to i64 | |
%8 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i64* | |
store i64 %7, i64* %8, align 8 | |
%9 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0, i32 2 | |
%10 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %9 to i64* | |
store i64 ptrtoint (i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h19eb6d5ffb2a02a3E" to i64), i64* %10, align 8 | |
%11 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0 | |
%12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.9B, i64 0, i64 0), %str_slice** %12, align 8, !alias.scope !852, !noalias !855 | |
%13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 1 | |
store i64 1, i64* %13, align 8, !alias.scope !852, !noalias !855 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !852, !noalias !855 | |
%14 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %11, %"fmt::ArgumentV1"** %14, align 8, !alias.scope !852, !noalias !855 | |
%15 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 1 | |
store i64 1, i64* %15, align 8, !alias.scope !852, !noalias !855 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_12, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num14from_str_radix10_FILE_LINE17hfef39fd500266a2eE to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %start | |
%16 = icmp eq i64 %2, 0 | |
br i1 %16, label %bb13, label %bb18 | |
bb12: ; preds = %bb66, %bb13 | |
ret void | |
bb13.loopexit: ; preds = %bb40, %bb45, %bb9.i59, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68" | |
%.sink125.ph = phi i8 [ 1, %bb9.i59 ], [ 2, %bb45 ], [ 2, %bb40 ], [ 1, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68" ] | |
br label %bb13 | |
bb13.loopexit156: ; preds = %bb57, %bb61, %bb9.i, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" | |
%.sink125.ph157 = phi i8 [ 1, %bb9.i ], [ 3, %bb61 ], [ 3, %bb57 ], [ 1, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" ] | |
br label %bb13 | |
bb13: ; preds = %bb13.loopexit156, %bb13.loopexit, %bb6, %bb23 | |
%.sink125 = phi i8 [ 0, %bb23 ], [ 0, %bb6 ], [ %.sink125.ph, %bb13.loopexit ], [ %.sink125.ph157, %bb13.loopexit156 ] | |
%17 = getelementptr inbounds %"result::Result<i128, num::ParseIntError>", %"result::Result<i128, num::ParseIntError>"* %0, i64 0, i32 0 | |
store i8 1, i8* %17, align 8 | |
%18 = getelementptr inbounds %"result::Result<i128, num::ParseIntError>", %"result::Result<i128, num::ParseIntError>"* %0, i64 0, i32 1, i64 0 | |
store i8 %.sink125, i8* %18, align 1 | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %4) | |
br label %bb12 | |
bb18: ; preds = %bb6 | |
%19 = load i8, i8* %1, align 1 | |
switch i8 %19, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph.thread" [ | |
i8 43, label %bb23 | |
i8 45, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
] | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph.thread": ; preds = %bb18 | |
%20 = getelementptr inbounds i8, i8* %1, i64 %2 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit": ; preds = %bb18 | |
br label %bb23 | |
bb23: ; preds = %bb18, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
%.sink16 = phi i1 [ false, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" ], [ true, %bb18 ] | |
%.sink13 = getelementptr inbounds i8, i8* %1, i64 1 | |
%.sink = add i64 %2, -1 | |
%21 = icmp eq i64 %.sink, 0 | |
br i1 %21, label %bb13, label %bb28 | |
bb28: ; preds = %bb23 | |
br i1 %.sink16, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph", label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph": ; preds = %bb28 | |
%22 = getelementptr inbounds i8, i8* %.sink13, i64 %.sink | |
%23 = icmp ugt i32 %3, 36 | |
br i1 %23, label %bb1.i53.split, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph.thread", %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph" | |
%24 = phi i8* [ %20, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph.thread" ], [ %22, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph" ] | |
%.sink13117120145 = phi i8* [ %1, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph.thread" ], [ %.sink13, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph" ] | |
%25 = zext i32 %3 to i128 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph": ; preds = %bb28 | |
%.ptr140 = getelementptr inbounds i8, i8* %1, i64 %2 | |
%26 = icmp ugt i32 %3, 36 | |
%27 = zext i32 %3 to i128 | |
br i1 %26, label %bb1.i.split, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader", %bb49 | |
%result.0136 = phi i128 [ %42, %bb49 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" ] | |
%iter.sroa.0.0135 = phi i8* [ %28, %bb49 ], [ %.sink13117120145, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" ] | |
%28 = getelementptr inbounds i8, i8* %iter.sroa.0.0135, i64 1 | |
%29 = load i8, i8* %iter.sroa.0.0135, align 1 | |
%30 = zext i8 %29 to i32 | |
%.off.i54 = add nsw i32 %30, -48 | |
%31 = icmp ult i32 %.off.i54, 10 | |
br i1 %31, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68", label %bb7.i57 | |
bb1.i53.split: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.lr.ph" | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17he73e9f4f7105b3e4E" to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb7.i57: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" | |
%.off5.i56 = add nsw i32 %30, -97 | |
%32 = icmp ult i32 %.off5.i56, 26 | |
br i1 %32, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68", label %bb9.i59 | |
bb9.i59: ; preds = %bb7.i57 | |
%.off6.i58 = add nsw i32 %30, -65 | |
%33 = icmp ult i32 %.off6.i58, 26 | |
br i1 %33, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68", label %bb13.loopexit | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71", %bb7.i57, %bb9.i59 | |
%.sink.i60 = phi i32 [ -87, %bb7.i57 ], [ -55, %bb9.i59 ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" ] | |
%34 = add nsw i32 %.sink.i60, %30 | |
%35 = icmp ult i32 %34, %3 | |
br i1 %35, label %bb40, label %bb13.loopexit | |
bb40: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68" | |
%36 = tail call { i128, i1 } @llvm.smul.with.overflow.i128(i128 %result.0136, i128 %25) #16 | |
%37 = extractvalue { i128, i1 } %36, 1 | |
br i1 %37, label %bb13.loopexit, label %bb45 | |
bb45: ; preds = %bb40 | |
%38 = extractvalue { i128, i1 } %36, 0 | |
%39 = zext i32 %34 to i128 | |
%40 = tail call { i128, i1 } @llvm.sadd.with.overflow.i128(i128 %38, i128 %39) #16 | |
%41 = extractvalue { i128, i1 } %40, 1 | |
br i1 %41, label %bb13.loopexit, label %bb49 | |
bb49: ; preds = %bb45 | |
%42 = extractvalue { i128, i1 } %40, 0 | |
%43 = icmp eq i8* %28, %24 | |
br i1 %43, label %bb66.loopexit, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader", %bb65 | |
%result.1138 = phi i128 [ %58, %bb65 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" ] | |
%iter1.sroa.0.0137 = phi i8* [ %44, %bb65 ], [ %.sink13, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" ] | |
%44 = getelementptr inbounds i8, i8* %iter1.sroa.0.0137, i64 1 | |
%45 = load i8, i8* %iter1.sroa.0.0137, align 1 | |
%46 = zext i8 %45 to i32 | |
%.off.i = add nsw i32 %46, -48 | |
%47 = icmp ult i32 %.off.i, 10 | |
br i1 %47, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb7.i | |
bb1.i.split: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17he73e9f4f7105b3e4E" to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb7.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
%.off5.i = add nsw i32 %46, -97 | |
%48 = icmp ult i32 %.off5.i, 26 | |
br i1 %48, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb9.i | |
bb9.i: ; preds = %bb7.i | |
%.off6.i = add nsw i32 %46, -65 | |
%49 = icmp ult i32 %.off6.i, 26 | |
br i1 %49, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb13.loopexit156 | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit", %bb7.i, %bb9.i | |
%.sink.i = phi i32 [ -87, %bb7.i ], [ -55, %bb9.i ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" ] | |
%50 = add nsw i32 %.sink.i, %46 | |
%51 = icmp ult i32 %50, %3 | |
br i1 %51, label %bb57, label %bb13.loopexit156 | |
bb57: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" | |
%52 = tail call { i128, i1 } @llvm.smul.with.overflow.i128(i128 %result.1138, i128 %27) #16 | |
%53 = extractvalue { i128, i1 } %52, 1 | |
br i1 %53, label %bb13.loopexit156, label %bb61 | |
bb61: ; preds = %bb57 | |
%54 = extractvalue { i128, i1 } %52, 0 | |
%55 = zext i32 %50 to i128 | |
%56 = tail call { i128, i1 } @llvm.ssub.with.overflow.i128(i128 %54, i128 %55) #16 | |
%57 = extractvalue { i128, i1 } %56, 1 | |
br i1 %57, label %bb13.loopexit156, label %bb65 | |
bb65: ; preds = %bb61 | |
%58 = extractvalue { i128, i1 } %56, 0 | |
%59 = icmp eq i8* %44, %.ptr140 | |
br i1 %59, label %bb66.loopexit158, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
bb66.loopexit: ; preds = %bb49 | |
br label %bb66 | |
bb66.loopexit158: ; preds = %bb65 | |
br label %bb66 | |
bb66: ; preds = %bb66.loopexit158, %bb66.loopexit | |
%result.2 = phi i128 [ %42, %bb66.loopexit ], [ %58, %bb66.loopexit158 ] | |
%60 = getelementptr inbounds %"result::Result<i128, num::ParseIntError>", %"result::Result<i128, num::ParseIntError>"* %0, i64 0, i32 0 | |
store i8 0, i8* %60, align 8 | |
%61 = getelementptr inbounds %"result::Result<i128, num::ParseIntError>", %"result::Result<i128, num::ParseIntError>"* %0, i64 0, i32 2 | |
%62 = bitcast [2 x i64]* %61 to i128* | |
store i128 %result.2, i128* %62, align 8 | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %4) | |
br label %bb12 | |
} | |
; Function Attrs: uwtable | |
define internal fastcc i64 @_ZN4core3num14from_str_radix17h9110b871fdb4e19cE(i8* noalias nonnull readonly, i64, i32) unnamed_addr #2 { | |
start: | |
%_17 = alloca [1 x %"fmt::ArgumentV1"], align 8 | |
%_12 = alloca %"fmt::Arguments", align 8 | |
%radix = alloca i32, align 4 | |
%3 = bitcast i32* %radix to i8* | |
call void @llvm.lifetime.start(i64 4, i8* nonnull %3) | |
store i32 %2, i32* %radix, align 4 | |
%.off = add i32 %2, -2 | |
%not. = icmp ugt i32 %.off, 34 | |
br i1 %not., label %bb5, label %bb6 | |
bb5: ; preds = %start | |
%4 = bitcast %"fmt::Arguments"* %_12 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %4) | |
%5 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %5) | |
%6 = ptrtoint i32* %radix to i64 | |
%7 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i64* | |
store i64 %6, i64* %7, align 8 | |
%8 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0, i32 2 | |
%9 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 to i64* | |
store i64 ptrtoint (i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h19eb6d5ffb2a02a3E" to i64), i64* %9, align 8 | |
%10 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0 | |
%11 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.9B, i64 0, i64 0), %str_slice** %11, align 8, !alias.scope !858, !noalias !861 | |
%12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 1 | |
store i64 1, i64* %12, align 8, !alias.scope !858, !noalias !861 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !858, !noalias !861 | |
%13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %10, %"fmt::ArgumentV1"** %13, align 8, !alias.scope !858, !noalias !861 | |
%14 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 1 | |
store i64 1, i64* %14, align 8, !alias.scope !858, !noalias !861 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_12, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num14from_str_radix10_FILE_LINE17hfef39fd500266a2eE to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %start | |
%15 = icmp eq i64 %1, 0 | |
br i1 %15, label %bb13, label %bb18 | |
bb12: ; preds = %bb66, %bb13 | |
%_0.sroa.1836.0 = phi i64 [ 0, %bb13 ], [ %phitmp97, %bb66 ] | |
%_0.sroa.10.0 = phi i64 [ %_0.sroa.10.1, %bb13 ], [ 0, %bb66 ] | |
%_0.sroa.0.0 = phi i64 [ 1, %bb13 ], [ 0, %bb66 ] | |
%_0.sroa.10.0.insert.ext.masked = and i64 %_0.sroa.10.0, 65280 | |
%_0.sroa.0.0.insert.mask = or i64 %_0.sroa.10.0.insert.ext.masked, %_0.sroa.1836.0 | |
%_0.sroa.0.0.insert.insert = or i64 %_0.sroa.0.0.insert.mask, %_0.sroa.0.0 | |
ret i64 %_0.sroa.0.0.insert.insert | |
bb13.loopexit: ; preds = %bb40, %bb45, %bb9.i116, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125" | |
%_0.sroa.10.1.ph = phi i64 [ 256, %bb9.i116 ], [ 512, %bb45 ], [ 512, %bb40 ], [ 256, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125" ] | |
br label %bb13 | |
bb13.loopexit190: ; preds = %bb61, %bb57, %bb9.i, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" | |
%_0.sroa.10.1.ph191 = phi i64 [ 256, %bb9.i ], [ 768, %bb61 ], [ 768, %bb57 ], [ 256, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" ] | |
br label %bb13 | |
bb13: ; preds = %bb13.loopexit190, %bb13.loopexit, %bb23, %bb6 | |
%_0.sroa.10.1 = phi i64 [ 0, %bb6 ], [ 0, %bb23 ], [ %_0.sroa.10.1.ph, %bb13.loopexit ], [ %_0.sroa.10.1.ph191, %bb13.loopexit190 ] | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %3) | |
br label %bb12 | |
bb18: ; preds = %bb6 | |
%16 = load i8, i8* %0, align 1 | |
switch i8 %16, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.lr.ph.thread" [ | |
i8 43, label %bb23 | |
i8 45, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
] | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.lr.ph.thread": ; preds = %bb18 | |
%17 = getelementptr inbounds i8, i8* %0, i64 %1 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.preheader" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit": ; preds = %bb18 | |
br label %bb23 | |
bb23: ; preds = %bb18, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
%.sink20 = phi i1 [ false, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" ], [ true, %bb18 ] | |
%.sink17 = getelementptr inbounds i8, i8* %0, i64 1 | |
%.sink = add i64 %1, -1 | |
%18 = icmp eq i64 %.sink, 0 | |
br i1 %18, label %bb13, label %bb28 | |
bb28: ; preds = %bb23 | |
br i1 %.sink20, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.lr.ph", label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.lr.ph": ; preds = %bb28 | |
%19 = getelementptr inbounds i8, i8* %.sink17, i64 %.sink | |
%20 = icmp ugt i32 %2, 36 | |
br i1 %20, label %bb1.i110.split, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.preheader": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.lr.ph.thread", %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.lr.ph" | |
%21 = phi i8* [ %17, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.lr.ph.thread" ], [ %19, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.lr.ph" ] | |
%.sink17158161179 = phi i8* [ %0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.lr.ph.thread" ], [ %.sink17, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.lr.ph" ] | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph": ; preds = %bb28 | |
%.ptr174 = getelementptr inbounds i8, i8* %0, i64 %1 | |
%22 = icmp ugt i32 %2, 36 | |
br i1 %22, label %bb1.i.split, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.preheader", %bb49 | |
%iter.sroa.0.0170 = phi i8* [ %23, %bb49 ], [ %.sink17158161179, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.preheader" ] | |
%result.0169 = phi i32 [ %36, %bb49 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.preheader" ] | |
%23 = getelementptr inbounds i8, i8* %iter.sroa.0.0170, i64 1 | |
%24 = load i8, i8* %iter.sroa.0.0170, align 1 | |
%25 = zext i8 %24 to i32 | |
%.off.i111 = add nsw i32 %25, -48 | |
%26 = icmp ult i32 %.off.i111, 10 | |
br i1 %26, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125", label %bb7.i114 | |
bb1.i110.split: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128.lr.ph" | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17he73e9f4f7105b3e4E" to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb7.i114: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128" | |
%.off5.i113 = add nsw i32 %25, -97 | |
%27 = icmp ult i32 %.off5.i113, 26 | |
br i1 %27, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125", label %bb9.i116 | |
bb9.i116: ; preds = %bb7.i114 | |
%.off6.i115 = add nsw i32 %25, -65 | |
%28 = icmp ult i32 %.off6.i115, 26 | |
br i1 %28, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125", label %bb13.loopexit | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128", %bb7.i114, %bb9.i116 | |
%.sink.i117 = phi i32 [ -87, %bb7.i114 ], [ -55, %bb9.i116 ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128" ] | |
%29 = add nsw i32 %.sink.i117, %25 | |
%30 = icmp ult i32 %29, %2 | |
br i1 %30, label %bb40, label %bb13.loopexit | |
bb40: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit125" | |
%31 = tail call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %result.0169, i32 %2) #16 | |
%32 = extractvalue { i32, i1 } %31, 1 | |
br i1 %32, label %bb13.loopexit, label %bb45 | |
bb45: ; preds = %bb40 | |
%33 = extractvalue { i32, i1 } %31, 0 | |
%34 = tail call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %33, i32 %29) #16 | |
%35 = extractvalue { i32, i1 } %34, 1 | |
br i1 %35, label %bb13.loopexit, label %bb49 | |
bb49: ; preds = %bb45 | |
%36 = extractvalue { i32, i1 } %34, 0 | |
%37 = icmp eq i8* %23, %21 | |
br i1 %37, label %bb66.loopexit, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit128" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader", %bb65 | |
%iter1.sroa.0.0172 = phi i8* [ %38, %bb65 ], [ %.sink17, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" ] | |
%result.1171 = phi i32 [ %51, %bb65 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" ] | |
%38 = getelementptr inbounds i8, i8* %iter1.sroa.0.0172, i64 1 | |
%39 = load i8, i8* %iter1.sroa.0.0172, align 1 | |
%40 = zext i8 %39 to i32 | |
%.off.i = add nsw i32 %40, -48 | |
%41 = icmp ult i32 %.off.i, 10 | |
br i1 %41, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb7.i | |
bb1.i.split: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17he73e9f4f7105b3e4E" to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb7.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
%.off5.i = add nsw i32 %40, -97 | |
%42 = icmp ult i32 %.off5.i, 26 | |
br i1 %42, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb9.i | |
bb9.i: ; preds = %bb7.i | |
%.off6.i = add nsw i32 %40, -65 | |
%43 = icmp ult i32 %.off6.i, 26 | |
br i1 %43, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb13.loopexit190 | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit", %bb7.i, %bb9.i | |
%.sink.i = phi i32 [ -87, %bb7.i ], [ -55, %bb9.i ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" ] | |
%44 = add nsw i32 %.sink.i, %40 | |
%45 = icmp ult i32 %44, %2 | |
br i1 %45, label %bb57, label %bb13.loopexit190 | |
bb57: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" | |
%46 = tail call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %result.1171, i32 %2) #16 | |
%47 = extractvalue { i32, i1 } %46, 1 | |
br i1 %47, label %bb13.loopexit190, label %bb61 | |
bb61: ; preds = %bb57 | |
%48 = extractvalue { i32, i1 } %46, 0 | |
%49 = tail call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %48, i32 %44) #16 | |
%50 = extractvalue { i32, i1 } %49, 1 | |
br i1 %50, label %bb13.loopexit190, label %bb65 | |
bb65: ; preds = %bb61 | |
%51 = extractvalue { i32, i1 } %49, 0 | |
%52 = icmp eq i8* %38, %.ptr174 | |
br i1 %52, label %bb66.loopexit192, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
bb66.loopexit: ; preds = %bb49 | |
br label %bb66 | |
bb66.loopexit192: ; preds = %bb65 | |
br label %bb66 | |
bb66: ; preds = %bb66.loopexit192, %bb66.loopexit | |
%result.2 = phi i32 [ %36, %bb66.loopexit ], [ %51, %bb66.loopexit192 ] | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %3) | |
%phitmp = zext i32 %result.2 to i64 | |
%phitmp97 = shl nuw i64 %phitmp, 32 | |
br label %bb12 | |
} | |
; Function Attrs: uwtable | |
define internal fastcc i32 @_ZN4core3num14from_str_radix17h91c20d15bcb855faE(i8* noalias nonnull readonly, i64, i32) unnamed_addr #2 { | |
start: | |
%_17 = alloca [1 x %"fmt::ArgumentV1"], align 8 | |
%_12 = alloca %"fmt::Arguments", align 8 | |
%radix = alloca i32, align 4 | |
%3 = bitcast i32* %radix to i8* | |
call void @llvm.lifetime.start(i64 4, i8* nonnull %3) | |
store i32 %2, i32* %radix, align 4 | |
%.off = add i32 %2, -2 | |
%not. = icmp ugt i32 %.off, 34 | |
br i1 %not., label %bb5, label %bb6 | |
bb5: ; preds = %start | |
%4 = bitcast %"fmt::Arguments"* %_12 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %4) | |
%5 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %5) | |
%6 = ptrtoint i32* %radix to i64 | |
%7 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i64* | |
store i64 %6, i64* %7, align 8 | |
%8 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0, i32 2 | |
%9 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 to i64* | |
store i64 ptrtoint (i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h19eb6d5ffb2a02a3E" to i64), i64* %9, align 8 | |
%10 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0 | |
%11 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.9B, i64 0, i64 0), %str_slice** %11, align 8, !alias.scope !864, !noalias !867 | |
%12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 1 | |
store i64 1, i64* %12, align 8, !alias.scope !864, !noalias !867 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !864, !noalias !867 | |
%13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %10, %"fmt::ArgumentV1"** %13, align 8, !alias.scope !864, !noalias !867 | |
%14 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 1 | |
store i64 1, i64* %14, align 8, !alias.scope !864, !noalias !867 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_12, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num14from_str_radix10_FILE_LINE17hfef39fd500266a2eE to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %start | |
%15 = icmp eq i64 %1, 0 | |
br i1 %15, label %bb13, label %bb18 | |
bb12: ; preds = %bb66, %bb13 | |
%_0.sroa.18.0 = phi i32 [ 0, %bb13 ], [ %phitmp, %bb66 ] | |
%_0.sroa.10.0 = phi i32 [ %_0.sroa.10.1, %bb13 ], [ 0, %bb66 ] | |
%_0.sroa.0.0 = phi i32 [ 1, %bb13 ], [ 0, %bb66 ] | |
%_0.sroa.10.0.insert.ext.masked = and i32 %_0.sroa.10.0, 65280 | |
%_0.sroa.0.0.insert.mask = or i32 %_0.sroa.10.0.insert.ext.masked, %_0.sroa.18.0 | |
%_0.sroa.0.0.insert.insert = or i32 %_0.sroa.0.0.insert.mask, %_0.sroa.0.0 | |
ret i32 %_0.sroa.0.0.insert.insert | |
bb13.loopexit: ; preds = %bb40, %bb45, %bb9.i115, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124" | |
%_0.sroa.10.1.ph = phi i32 [ 256, %bb9.i115 ], [ 512, %bb45 ], [ 512, %bb40 ], [ 256, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124" ] | |
br label %bb13 | |
bb13: ; preds = %bb13.loopexit, %bb23, %bb6 | |
%_0.sroa.10.1 = phi i32 [ 0, %bb6 ], [ 0, %bb23 ], [ %_0.sroa.10.1.ph, %bb13.loopexit ] | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %3) | |
br label %bb12 | |
bb18: ; preds = %bb6 | |
%16 = load i8, i8* %0, align 1 | |
%cond = icmp eq i8 %16, 43 | |
br i1 %cond, label %bb23, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.preheader" | |
bb23: ; preds = %bb18 | |
%17 = getelementptr inbounds i8, i8* %0, i64 1 | |
%18 = add i64 %1, -1 | |
%19 = icmp eq i64 %18, 0 | |
br i1 %19, label %bb13, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.preheader": ; preds = %bb18, %bb23 | |
%.sink157 = phi i64 [ %18, %bb23 ], [ %1, %bb18 ] | |
%.sink17156 = phi i8* [ %17, %bb23 ], [ %0, %bb18 ] | |
%20 = getelementptr inbounds i8, i8* %.sink17156, i64 %.sink157 | |
%21 = trunc i32 %2 to i16 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.preheader", %bb49 | |
%iter.sroa.0.0161 = phi i8* [ %22, %bb49 ], [ %.sink17156, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.preheader" ] | |
%result.0160 = phi i16 [ %35, %bb49 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127.preheader" ] | |
%22 = getelementptr inbounds i8, i8* %iter.sroa.0.0161, i64 1 | |
%23 = load i8, i8* %iter.sroa.0.0161, align 1 | |
%24 = zext i8 %23 to i32 | |
%.off.i110 = add nsw i32 %24, -48 | |
%25 = icmp ult i32 %.off.i110, 10 | |
br i1 %25, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124", label %bb7.i113 | |
bb7.i113: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127" | |
%.off5.i112 = add nsw i32 %24, -97 | |
%26 = icmp ult i32 %.off5.i112, 26 | |
br i1 %26, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124", label %bb9.i115 | |
bb9.i115: ; preds = %bb7.i113 | |
%.off6.i114 = add nsw i32 %24, -65 | |
%27 = icmp ult i32 %.off6.i114, 26 | |
br i1 %27, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124", label %bb13.loopexit | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127", %bb7.i113, %bb9.i115 | |
%.sink.i116 = phi i32 [ -87, %bb7.i113 ], [ -55, %bb9.i115 ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127" ] | |
%28 = add nsw i32 %.sink.i116, %24 | |
%29 = icmp ult i32 %28, %2 | |
%phitmp.i118 = trunc i32 %28 to i16 | |
br i1 %29, label %bb40, label %bb13.loopexit | |
bb40: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit124" | |
%30 = tail call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %result.0160, i16 %21) #16 | |
%31 = extractvalue { i16, i1 } %30, 1 | |
br i1 %31, label %bb13.loopexit, label %bb45 | |
bb45: ; preds = %bb40 | |
%32 = extractvalue { i16, i1 } %30, 0 | |
%33 = tail call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %32, i16 %phitmp.i118) #16 | |
%34 = extractvalue { i16, i1 } %33, 1 | |
br i1 %34, label %bb13.loopexit, label %bb49 | |
bb49: ; preds = %bb45 | |
%35 = extractvalue { i16, i1 } %33, 0 | |
%36 = icmp eq i8* %22, %20 | |
br i1 %36, label %bb66, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit127" | |
bb66: ; preds = %bb49 | |
%phitmp162 = zext i16 %35 to i32 | |
%phitmp = shl nuw i32 %phitmp162, 16 | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %3) | |
br label %bb12 | |
} | |
; Function Attrs: uwtable | |
define internal fastcc void @_ZN4core3num14from_str_radix17h962d29128626e417E(%"result::Result<u128, num::ParseIntError>"* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i64, i32) unnamed_addr #2 { | |
start: | |
%_17 = alloca [1 x %"fmt::ArgumentV1"], align 8 | |
%_12 = alloca %"fmt::Arguments", align 8 | |
%radix = alloca i32, align 4 | |
%4 = bitcast i32* %radix to i8* | |
call void @llvm.lifetime.start(i64 4, i8* nonnull %4) | |
store i32 %3, i32* %radix, align 4 | |
%.off = add i32 %3, -2 | |
%not. = icmp ugt i32 %.off, 34 | |
br i1 %not., label %bb5, label %bb6 | |
bb5: ; preds = %start | |
%5 = bitcast %"fmt::Arguments"* %_12 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %5) | |
%6 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %6) | |
%7 = ptrtoint i32* %radix to i64 | |
%8 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i64* | |
store i64 %7, i64* %8, align 8 | |
%9 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0, i32 2 | |
%10 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %9 to i64* | |
store i64 ptrtoint (i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h19eb6d5ffb2a02a3E" to i64), i64* %10, align 8 | |
%11 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0 | |
%12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.9B, i64 0, i64 0), %str_slice** %12, align 8, !alias.scope !870, !noalias !873 | |
%13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 1 | |
store i64 1, i64* %13, align 8, !alias.scope !870, !noalias !873 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !870, !noalias !873 | |
%14 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %11, %"fmt::ArgumentV1"** %14, align 8, !alias.scope !870, !noalias !873 | |
%15 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 1 | |
store i64 1, i64* %15, align 8, !alias.scope !870, !noalias !873 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_12, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num14from_str_radix10_FILE_LINE17hfef39fd500266a2eE to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %start | |
%16 = icmp eq i64 %2, 0 | |
br i1 %16, label %bb13, label %bb18 | |
bb12: ; preds = %bb66, %bb13 | |
ret void | |
bb13.loopexit: ; preds = %bb40, %bb45, %bb9.i59, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68" | |
%.sink.ph = phi i8 [ 1, %bb9.i59 ], [ 2, %bb45 ], [ 2, %bb40 ], [ 1, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68" ] | |
br label %bb13 | |
bb13: ; preds = %bb13.loopexit, %bb6, %bb23 | |
%.sink = phi i8 [ 0, %bb23 ], [ 0, %bb6 ], [ %.sink.ph, %bb13.loopexit ] | |
%17 = getelementptr inbounds %"result::Result<u128, num::ParseIntError>", %"result::Result<u128, num::ParseIntError>"* %0, i64 0, i32 0 | |
store i8 1, i8* %17, align 8 | |
%18 = getelementptr inbounds %"result::Result<u128, num::ParseIntError>", %"result::Result<u128, num::ParseIntError>"* %0, i64 0, i32 1, i64 0 | |
store i8 %.sink, i8* %18, align 1 | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %4) | |
br label %bb12 | |
bb18: ; preds = %bb6 | |
%19 = load i8, i8* %1, align 1 | |
%cond = icmp eq i8 %19, 43 | |
br i1 %cond, label %bb23, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" | |
bb23: ; preds = %bb18 | |
%20 = getelementptr inbounds i8, i8* %1, i64 1 | |
%21 = add i64 %2, -1 | |
%22 = icmp eq i64 %21, 0 | |
br i1 %22, label %bb13, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader": ; preds = %bb18, %bb23 | |
%.sink117 = phi i64 [ %21, %bb23 ], [ %2, %bb18 ] | |
%.sink13116 = phi i8* [ %20, %bb23 ], [ %1, %bb18 ] | |
%23 = getelementptr inbounds i8, i8* %.sink13116, i64 %.sink117 | |
%24 = zext i32 %3 to i128 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader", %bb49 | |
%result.0127 = phi i128 [ %39, %bb49 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" ] | |
%iter.sroa.0.0126 = phi i8* [ %25, %bb49 ], [ %.sink13116, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71.preheader" ] | |
%25 = getelementptr inbounds i8, i8* %iter.sroa.0.0126, i64 1 | |
%26 = load i8, i8* %iter.sroa.0.0126, align 1 | |
%27 = zext i8 %26 to i32 | |
%.off.i54 = add nsw i32 %27, -48 | |
%28 = icmp ult i32 %.off.i54, 10 | |
br i1 %28, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68", label %bb7.i57 | |
bb7.i57: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" | |
%.off5.i56 = add nsw i32 %27, -97 | |
%29 = icmp ult i32 %.off5.i56, 26 | |
br i1 %29, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68", label %bb9.i59 | |
bb9.i59: ; preds = %bb7.i57 | |
%.off6.i58 = add nsw i32 %27, -65 | |
%30 = icmp ult i32 %.off6.i58, 26 | |
br i1 %30, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68", label %bb13.loopexit | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71", %bb7.i57, %bb9.i59 | |
%.sink.i60 = phi i32 [ -87, %bb7.i57 ], [ -55, %bb9.i59 ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" ] | |
%31 = add nsw i32 %.sink.i60, %27 | |
%32 = icmp ult i32 %31, %3 | |
br i1 %32, label %bb40, label %bb13.loopexit | |
bb40: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit68" | |
%33 = tail call { i128, i1 } @llvm.umul.with.overflow.i128(i128 %result.0127, i128 %24) #16 | |
%34 = extractvalue { i128, i1 } %33, 1 | |
br i1 %34, label %bb13.loopexit, label %bb45 | |
bb45: ; preds = %bb40 | |
%35 = extractvalue { i128, i1 } %33, 0 | |
%36 = zext i32 %31 to i128 | |
%37 = tail call { i128, i1 } @llvm.uadd.with.overflow.i128(i128 %35, i128 %36) #16 | |
%38 = extractvalue { i128, i1 } %37, 1 | |
br i1 %38, label %bb13.loopexit, label %bb49 | |
bb49: ; preds = %bb45 | |
%39 = extractvalue { i128, i1 } %37, 0 | |
%40 = icmp eq i8* %25, %23 | |
br i1 %40, label %bb66, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit71" | |
bb66: ; preds = %bb49 | |
%41 = getelementptr inbounds %"result::Result<u128, num::ParseIntError>", %"result::Result<u128, num::ParseIntError>"* %0, i64 0, i32 0 | |
store i8 0, i8* %41, align 8 | |
%42 = getelementptr inbounds %"result::Result<u128, num::ParseIntError>", %"result::Result<u128, num::ParseIntError>"* %0, i64 0, i32 2 | |
%43 = bitcast [2 x i64]* %42 to i128* | |
store i128 %39, i128* %43, align 8 | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %4) | |
br label %bb12 | |
} | |
; Function Attrs: uwtable | |
define internal fastcc i16 @_ZN4core3num14from_str_radix17haf5a5abf58e7eb69E(i8* noalias nonnull readonly, i64, i32) unnamed_addr #2 { | |
start: | |
%_17 = alloca [1 x %"fmt::ArgumentV1"], align 8 | |
%_12 = alloca %"fmt::Arguments", align 8 | |
%radix = alloca i32, align 4 | |
%3 = bitcast i32* %radix to i8* | |
call void @llvm.lifetime.start(i64 4, i8* nonnull %3) | |
store i32 %2, i32* %radix, align 4 | |
%.off = add i32 %2, -2 | |
%not. = icmp ugt i32 %.off, 34 | |
br i1 %not., label %bb5, label %bb6 | |
bb5: ; preds = %start | |
%4 = bitcast %"fmt::Arguments"* %_12 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %4) | |
%5 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %5) | |
%6 = ptrtoint i32* %radix to i64 | |
%7 = bitcast [1 x %"fmt::ArgumentV1"]* %_17 to i64* | |
store i64 %6, i64* %7, align 8 | |
%8 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0, i32 2 | |
%9 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %8 to i64* | |
store i64 ptrtoint (i8 (i32*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h19eb6d5ffb2a02a3E" to i64), i64* %9, align 8 | |
%10 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_17, i64 0, i64 0 | |
%11 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.9B, i64 0, i64 0), %str_slice** %11, align 8, !alias.scope !876, !noalias !879 | |
%12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 0, i32 1 | |
store i64 1, i64* %12, align 8, !alias.scope !876, !noalias !879 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !876, !noalias !879 | |
%13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %10, %"fmt::ArgumentV1"** %13, align 8, !alias.scope !876, !noalias !879 | |
%14 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_12, i64 0, i32 4, i32 1 | |
store i64 1, i64* %14, align 8, !alias.scope !876, !noalias !879 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_12, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core3num14from_str_radix10_FILE_LINE17hfef39fd500266a2eE to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb6: ; preds = %start | |
%15 = icmp eq i64 %1, 0 | |
br i1 %15, label %bb13, label %bb18 | |
bb12: ; preds = %bb66, %bb13 | |
%_0.sroa.10.0 = phi i8 [ %_0.sroa.10.1, %bb13 ], [ %result.2, %bb66 ] | |
%_0.sroa.0.0 = phi i16 [ 1, %bb13 ], [ 0, %bb66 ] | |
%_0.sroa.10.0.insert.ext = zext i8 %_0.sroa.10.0 to i16 | |
%_0.sroa.10.0.insert.shift = shl nuw i16 %_0.sroa.10.0.insert.ext, 8 | |
%_0.sroa.0.0.insert.insert = or i16 %_0.sroa.10.0.insert.shift, %_0.sroa.0.0 | |
ret i16 %_0.sroa.0.0.insert.insert | |
bb13.loopexit: ; preds = %bb40, %bb45, %bb9.i82, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91" | |
%_0.sroa.10.1.ph = phi i8 [ 1, %bb9.i82 ], [ 2, %bb45 ], [ 2, %bb40 ], [ 1, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91" ] | |
br label %bb13 | |
bb13.loopexit152: ; preds = %bb61, %bb57, %bb9.i, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" | |
%_0.sroa.10.1.ph153 = phi i8 [ 1, %bb9.i ], [ 3, %bb61 ], [ 3, %bb57 ], [ 1, %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" ] | |
br label %bb13 | |
bb13: ; preds = %bb13.loopexit152, %bb13.loopexit, %bb23, %bb6 | |
%_0.sroa.10.1 = phi i8 [ 0, %bb6 ], [ 0, %bb23 ], [ %_0.sroa.10.1.ph, %bb13.loopexit ], [ %_0.sroa.10.1.ph153, %bb13.loopexit152 ] | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %3) | |
br label %bb12 | |
bb18: ; preds = %bb6 | |
%16 = load i8, i8* %0, align 1 | |
switch i8 %16, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.lr.ph.thread" [ | |
i8 43, label %bb23 | |
i8 45, label %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
] | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.lr.ph.thread": ; preds = %bb18 | |
%17 = getelementptr inbounds i8, i8* %0, i64 %1 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.preheader" | |
"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit": ; preds = %bb18 | |
br label %bb23 | |
bb23: ; preds = %bb18, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" | |
%.sink20 = phi i1 [ false, %"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hb4b297f4b5a0a64eE.exit" ], [ true, %bb18 ] | |
%.sink17 = getelementptr inbounds i8, i8* %0, i64 1 | |
%.sink = add i64 %1, -1 | |
%18 = icmp eq i64 %.sink, 0 | |
br i1 %18, label %bb13, label %bb28 | |
bb28: ; preds = %bb23 | |
br i1 %.sink20, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.lr.ph", label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.lr.ph": ; preds = %bb28 | |
%19 = getelementptr inbounds i8, i8* %.sink17, i64 %.sink | |
%20 = icmp ugt i32 %2, 36 | |
br i1 %20, label %bb1.i76.split, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.preheader": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.lr.ph.thread", %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.lr.ph" | |
%21 = phi i8* [ %17, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.lr.ph.thread" ], [ %19, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.lr.ph" ] | |
%.sink17120123141 = phi i8* [ %0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.lr.ph.thread" ], [ %.sink17, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.lr.ph" ] | |
%22 = trunc i32 %2 to i8 | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph": ; preds = %bb28 | |
%.ptr136 = getelementptr inbounds i8, i8* %0, i64 %1 | |
%23 = icmp ugt i32 %2, 36 | |
%24 = trunc i32 %2 to i8 | |
br i1 %23, label %bb1.i.split, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.preheader", %bb49 | |
%iter.sroa.0.0132 = phi i8* [ %25, %bb49 ], [ %.sink17120123141, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.preheader" ] | |
%result.0131 = phi i8 [ %38, %bb49 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.preheader" ] | |
%25 = getelementptr inbounds i8, i8* %iter.sroa.0.0132, i64 1 | |
%26 = load i8, i8* %iter.sroa.0.0132, align 1 | |
%27 = zext i8 %26 to i32 | |
%.off.i77 = add nsw i32 %27, -48 | |
%28 = icmp ult i32 %.off.i77, 10 | |
br i1 %28, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91", label %bb7.i80 | |
bb1.i76.split: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94.lr.ph" | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17he73e9f4f7105b3e4E" to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb7.i80: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94" | |
%.off5.i79 = add nsw i32 %27, -97 | |
%29 = icmp ult i32 %.off5.i79, 26 | |
br i1 %29, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91", label %bb9.i82 | |
bb9.i82: ; preds = %bb7.i80 | |
%.off6.i81 = add nsw i32 %27, -65 | |
%30 = icmp ult i32 %.off6.i81, 26 | |
br i1 %30, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91", label %bb13.loopexit | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94", %bb7.i80, %bb9.i82 | |
%.sink.i83 = phi i32 [ -87, %bb7.i80 ], [ -55, %bb9.i82 ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94" ] | |
%31 = add nsw i32 %.sink.i83, %27 | |
%32 = icmp ult i32 %31, %2 | |
%phitmp.i85 = trunc i32 %31 to i8 | |
br i1 %32, label %bb40, label %bb13.loopexit | |
bb40: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit91" | |
%33 = tail call { i8, i1 } @llvm.smul.with.overflow.i8(i8 %result.0131, i8 %22) #16 | |
%34 = extractvalue { i8, i1 } %33, 1 | |
br i1 %34, label %bb13.loopexit, label %bb45 | |
bb45: ; preds = %bb40 | |
%35 = extractvalue { i8, i1 } %33, 0 | |
%36 = tail call { i8, i1 } @llvm.sadd.with.overflow.i8(i8 %35, i8 %phitmp.i85) #16 | |
%37 = extractvalue { i8, i1 } %36, 1 | |
br i1 %37, label %bb13.loopexit, label %bb49 | |
bb49: ; preds = %bb45 | |
%38 = extractvalue { i8, i1 } %36, 0 | |
%39 = icmp eq i8* %25, %21 | |
br i1 %39, label %bb66.loopexit, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit94" | |
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader", %bb65 | |
%iter1.sroa.0.0134 = phi i8* [ %40, %bb65 ], [ %.sink17, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" ] | |
%result.1133 = phi i8 [ %53, %bb65 ], [ 0, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.preheader" ] | |
%40 = getelementptr inbounds i8, i8* %iter1.sroa.0.0134, i64 1 | |
%41 = load i8, i8* %iter1.sroa.0.0134, align 1 | |
%42 = zext i8 %41 to i32 | |
%.off.i = add nsw i32 %42, -48 | |
%43 = icmp ult i32 %.off.i, 10 | |
br i1 %43, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb7.i | |
bb1.i.split: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit.lr.ph" | |
tail call void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit14_MSG_FILE_LINE17he73e9f4f7105b3e4E" to { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
bb7.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
%.off5.i = add nsw i32 %42, -97 | |
%44 = icmp ult i32 %.off5.i, 26 | |
br i1 %44, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb9.i | |
bb9.i: ; preds = %bb7.i | |
%.off6.i = add nsw i32 %42, -65 | |
%45 = icmp ult i32 %.off6.i, 26 | |
br i1 %45, label %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit", label %bb13.loopexit152 | |
"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit", %bb7.i, %bb9.i | |
%.sink.i = phi i32 [ -87, %bb7.i ], [ -55, %bb9.i ], [ -48, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" ] | |
%46 = add nsw i32 %.sink.i, %42 | |
%47 = icmp ult i32 %46, %2 | |
%phitmp.i = trunc i32 %46 to i8 | |
br i1 %47, label %bb57, label %bb13.loopexit152 | |
bb57: ; preds = %"_ZN44_$LT$char$u20$as$u20$core..char..CharExt$GT$8to_digit17ha412164e12e3777eE.exit" | |
%48 = tail call { i8, i1 } @llvm.smul.with.overflow.i8(i8 %result.1133, i8 %24) #16 | |
%49 = extractvalue { i8, i1 } %48, 1 | |
br i1 %49, label %bb13.loopexit152, label %bb61 | |
bb61: ; preds = %bb57 | |
%50 = extractvalue { i8, i1 } %48, 0 | |
%51 = tail call { i8, i1 } @llvm.ssub.with.overflow.i8(i8 %50, i8 %phitmp.i) #16 | |
%52 = extractvalue { i8, i1 } %51, 1 | |
br i1 %52, label %bb13.loopexit152, label %bb65 | |
bb65: ; preds = %bb61 | |
%53 = extractvalue { i8, i1 } %51, 0 | |
%54 = icmp eq i8* %40, %.ptr136 | |
br i1 %54, label %bb66.loopexit154, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hb4d696a46fe287f9E.exit" | |
bb66.loopexit: ; preds = %bb49 | |
br label %bb66 | |
bb66.loopexit154: ; preds = %bb65 | |
br label %bb66 | |
bb66: ; preds = %bb66.loopexit154, %bb66.loopexit | |
%result.2 = phi i8 [ %38, %bb66.loopexit ], [ %53, %bb66.loopexit154 ] | |
call void @llvm.lifetime.end(i64 4, i8* nonnull %3) | |
br label %bb12 | |
} | |
; Function Attrs: norecurse nounwind readonly uwtable | |
define %str_slice @_ZN4core3num13ParseIntError13__description17hd1d44664311387baE(%"num::ParseIntError"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #3 { | |
start: | |
%1 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %0, i64 0, i32 0 | |
%2 = load i8, i8* %1, align 1, !range !882 | |
%3 = zext i8 %2 to i64 | |
%4 = icmp eq i8 %2, 3 | |
br i1 %4, label %bb5, label %switch.lookup | |
switch.lookup: ; preds = %start | |
%switch.gep = getelementptr inbounds [3 x i8*], [3 x i8*]* @switch.table, i64 0, i64 %3 | |
%switch.load = load i8*, i8** %switch.gep, align 8 | |
%switch.gep4 = getelementptr inbounds [3 x i64], [3 x i64]* @switch.table.1, i64 0, i64 %3 | |
%switch.load5 = load i64, i64* %switch.gep4, align 8 | |
br label %bb5 | |
bb5: ; preds = %start, %switch.lookup | |
%.sink2 = phi i8* [ %switch.load, %switch.lookup ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @str.1P, i64 0, i64 0), %start ] | |
%.sink = phi i64 [ %switch.load5, %switch.lookup ], [ 38, %start ] | |
%5 = insertvalue %str_slice undef, i8* %.sink2, 0 | |
%6 = insertvalue %str_slice %5, i64 %.sink, 1 | |
ret %str_slice %6 | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN63_$LT$core..num..ParseIntError$u20$as$u20$core..fmt..Display$GT$3fmt17hcb78f2adeb3ec524E"(%"num::ParseIntError"* noalias nocapture readonly dereferenceable(1), %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 { | |
start: | |
%2 = getelementptr inbounds %"num::ParseIntError", %"num::ParseIntError"* %0, i64 0, i32 0 | |
%3 = load i8, i8* %2, align 1, !range !882, !alias.scope !883 | |
%4 = zext i8 %3 to i64 | |
%5 = icmp eq i8 %3, 3 | |
br i1 %5, label %_ZN4core3num13ParseIntError13__description17hd1d44664311387baE.exit, label %switch.lookup.i | |
switch.lookup.i: ; preds = %start | |
%switch.gep.i = getelementptr inbounds [3 x i8*], [3 x i8*]* @switch.table, i64 0, i64 %4 | |
%switch.load.i = load i8*, i8** %switch.gep.i, align 8, !noalias !883 | |
%switch.gep4.i = getelementptr inbounds [3 x i64], [3 x i64]* @switch.table.1, i64 0, i64 %4 | |
%switch.load5.i = load i64, i64* %switch.gep4.i, align 8, !noalias !883 | |
br label %_ZN4core3num13ParseIntError13__description17hd1d44664311387baE.exit | |
_ZN4core3num13ParseIntError13__description17hd1d44664311387baE.exit: ; preds = %start, %switch.lookup.i | |
%.sink2.i = phi i8* [ %switch.load.i, %switch.lookup.i ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @str.1P, i64 0, i64 0), %start ] | |
%.sink.i = phi i64 [ %switch.load5.i, %switch.lookup.i ], [ 38, %start ] | |
%6 = tail call i8 @_ZN4core3fmt9Formatter3pad17hfc084f6039bdcf14E(%"fmt::Formatter"* nonnull dereferenceable(96) %1, i8* noalias nonnull readonly %.sink2.i, i64 %.sink.i) | |
ret i8 %6 | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define internal void @_ZN4core3ptr13drop_in_place17h0407879adf80ccb1E(i16* nocapture) unnamed_addr #0 { | |
start: | |
ret void | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN64_$LT$core..ops..range..RangeFull$u20$as$u20$core..fmt..Debug$GT$3fmt17hfd37bf93e19f3f9dE"(%"ops::range::RangeFull"* noalias nocapture readonly, %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 { | |
start: | |
%_7.i = alloca %"fmt::Arguments", align 8 | |
%2 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4 | |
%3 = bitcast { i8*, void (i8*)** }* %2 to {}** | |
%4 = load {}*, {}** %3, align 8, !noalias !886, !nonnull !687 | |
%5 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4, i32 1 | |
%6 = bitcast void (i8*)*** %5 to {}** | |
%7 = load {}*, {}** %6, align 8, !noalias !886, !nonnull !687 | |
%8 = bitcast %"fmt::Arguments"* %_7.i to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %8), !noalias !886 | |
%_6.sroa.0.0..sroa_idx = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7.i, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.5u, i64 0, i64 0), %str_slice** %_6.sroa.0.0..sroa_idx, align 8 | |
%_6.sroa.4.0..sroa_idx3 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7.i, i64 0, i32 0, i32 1 | |
store i64 1, i64* %_6.sroa.4.0..sroa_idx3, align 8 | |
%_6.sroa.5.0..sroa_idx5 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7.i, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.5.0..sroa_idx5, align 8 | |
%_6.sroa.68.0..sroa_idx10 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7.i, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* getelementptr inbounds ([0 x %"fmt::ArgumentV1"], [0 x %"fmt::ArgumentV1"]* @ref.1W, i64 0, i64 0), %"fmt::ArgumentV1"** %_6.sroa.68.0..sroa_idx10, align 8 | |
%_6.sroa.7.0..sroa_idx12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7.i, i64 0, i32 4, i32 1 | |
store i64 0, i64* %_6.sroa.7.0..sroa_idx12, align 8 | |
%9 = call i8 @_ZN4core3fmt5write17hd234293a87ffcda1E({}* nonnull %4, {}* noalias nonnull readonly %7, %"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_7.i), !noalias !886 | |
call void @llvm.lifetime.end(i64 48, i8* nonnull %8), !noalias !886 | |
ret i8 %9 | |
} | |
; Function Attrs: uwtable | |
define internal i8 @"_ZN71_$LT$core..ops..range..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hdab3904564476079E"(%"ops::range::Range<usize>"* noalias readonly dereferenceable(16), %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 { | |
start: | |
%_7.i = alloca %"fmt::Arguments", align 8 | |
%_11 = alloca [2 x %"fmt::ArgumentV1"], align 8 | |
%2 = bitcast [2 x %"fmt::ArgumentV1"]* %_11 to i8* | |
call void @llvm.lifetime.start(i64 32, i8* nonnull %2) | |
%3 = getelementptr inbounds %"ops::range::Range<usize>", %"ops::range::Range<usize>"* %0, i64 0, i32 2 | |
%4 = ptrtoint %"ops::range::Range<usize>"* %0 to i64 | |
%5 = ptrtoint i64* %3 to i64 | |
%6 = bitcast [2 x %"fmt::ArgumentV1"]* %_11 to i64* | |
store i64 %4, i64* %6, align 8 | |
%7 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_11, i64 0, i64 0, i32 2 | |
%8 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %7 to i64* | |
store i64 ptrtoint (i8 (i64*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17hd96001b741994207E" to i64), i64* %8, align 8 | |
%9 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_11, i64 0, i64 1 | |
%10 = bitcast %"fmt::ArgumentV1"* %9 to i64* | |
store i64 %5, i64* %10, align 8 | |
%11 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_11, i64 0, i64 1, i32 2 | |
%12 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %11 to i64* | |
store i64 ptrtoint (i8 (i64*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17hd96001b741994207E" to i64), i64* %12, align 8 | |
%13 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_11, i64 0, i64 0 | |
%14 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4 | |
%15 = bitcast { i8*, void (i8*)** }* %14 to {}** | |
%16 = load {}*, {}** %15, align 8, !noalias !889, !nonnull !687 | |
%17 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4, i32 1 | |
%18 = bitcast void (i8*)*** %17 to {}** | |
%19 = load {}*, {}** %18, align 8, !noalias !889, !nonnull !687 | |
%20 = bitcast %"fmt::Arguments"* %_7.i to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %20), !noalias !889 | |
%_6.sroa.0.0..sroa_idx = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7.i, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.5v, i64 0, i64 0), %str_slice** %_6.sroa.0.0..sroa_idx, align 8 | |
%_6.sroa.4.0..sroa_idx6 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7.i, i64 0, i32 0, i32 1 | |
store i64 2, i64* %_6.sroa.4.0..sroa_idx6, align 8 | |
%_6.sroa.5.0..sroa_idx8 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7.i, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.5.0..sroa_idx8, align 8 | |
%_6.sroa.611.0..sroa_idx13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7.i, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %13, %"fmt::ArgumentV1"** %_6.sroa.611.0..sroa_idx13, align 8 | |
%_6.sroa.7.0..sroa_idx15 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7.i, i64 0, i32 4, i32 1 | |
store i64 2, i64* %_6.sroa.7.0..sroa_idx15, align 8 | |
%21 = call i8 @_ZN4core3fmt5write17hd234293a87ffcda1E({}* nonnull %16, {}* noalias nonnull readonly %19, %"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_7.i), !noalias !889 | |
call void @llvm.lifetime.end(i64 48, i8* nonnull %20), !noalias !889 | |
call void @llvm.lifetime.end(i64 32, i8* nonnull %2) | |
ret i8 %21 | |
} | |
; Function Attrs: norecurse noreturn nounwind readnone uwtable | |
define zeroext i1 @"_ZN4core3cmp5impls56_$LT$impl$u20$core..cmp..PartialEq$u20$for$u20$$u21$$GT$2eq17hf671d62b7a07076aE"({}* noalias nocapture readonly, {}* noalias nocapture readonly) unnamed_addr #7 { | |
start: | |
unreachable | |
} | |
; Function Attrs: norecurse noreturn nounwind readnone uwtable | |
define i16 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u21$$GT$11partial_cmp17haaf376a71202b45bE"({}* noalias nocapture readonly, {}* noalias nocapture readonly) unnamed_addr #7 { | |
start: | |
unreachable | |
} | |
; Function Attrs: norecurse noreturn nounwind readnone uwtable | |
define i8 @"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$u21$$GT$3cmp17h5f1aef66a283bb24E"({}* noalias nocapture readonly, {}* noalias nocapture readonly) unnamed_addr #7 { | |
start: | |
unreachable | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN77_$LT$core..any..Any$u20$$u2b$$u20$$u27$static$u20$as$u20$core..fmt..Debug$GT$3fmt17hed91c05d3dbbbb0eE"({}* nocapture nonnull readnone, {}* noalias nocapture nonnull readonly, %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 { | |
start: | |
%3 = tail call i8 @_ZN4core3fmt9Formatter3pad17hfc084f6039bdcf14E(%"fmt::Formatter"* nonnull dereferenceable(96) %2, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.1X, i64 0, i64 0), i64 3) | |
ret i8 %3 | |
} | |
; 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$3fmt17h4fb2c29742bd758eE"({}* nocapture nonnull readnone, {}* noalias nocapture nonnull readonly, %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 { | |
start: | |
%3 = tail call i8 @_ZN4core3fmt9Formatter3pad17hfc084f6039bdcf14E(%"fmt::Formatter"* nonnull dereferenceable(96) %2, i8* noalias nonnull readonly getelementptr inbounds ([3 x i8], [3 x i8]* @str.1X, i64 0, i64 0), i64 3) | |
ret i8 %3 | |
} | |
; Function Attrs: norecurse nounwind readnone uwtable | |
define i8 @"_ZN73_$LT$core..sync..atomic..AtomicBool$u20$as$u20$core..default..Default$GT$7default17h79ec33205840a784E"() unnamed_addr #0 { | |
start: | |
ret i8 0 | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN67_$LT$core..sync..atomic..AtomicBool$u20$as$u20$core..fmt..Debug$GT$3fmt17hcd64b593cce7868bE"(%"sync::atomic::AtomicBool"* nocapture readonly dereferenceable(1), %"fmt::Formatter"* dereferenceable(96)) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%_15 = alloca i8, align 1 | |
%_8 = alloca %"fmt::builders::DebugTuple", align 8 | |
%2 = bitcast %"fmt::builders::DebugTuple"* %_8 to i8* | |
call void @llvm.lifetime.start(i64 24, i8* nonnull %2) | |
%3 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4 | |
%4 = bitcast { i8*, void (i8*)** }* %3 to {}** | |
%5 = load {}*, {}** %4, align 8, !noalias !892, !nonnull !687 | |
%6 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4, i32 1 | |
%7 = load void (i8*)**, void (i8*)*** %6, align 8, !noalias !892, !nonnull !687 | |
%8 = getelementptr inbounds void (i8*)*, void (i8*)** %7, i64 3 | |
%9 = bitcast void (i8*)** %8 to i8 ({}*, i8*, i64)** | |
%10 = load i8 ({}*, i8*, i64)*, i8 ({}*, i8*, i64)** %9, align 8, !invariant.load !687, !noalias !892, !nonnull !687 | |
%11 = tail call i8 %10({}* nonnull %5, i8* noalias nonnull readonly getelementptr inbounds ([10 x i8], [10 x i8]* @str.1Y, i64 0, i64 0), i64 10), !noalias !901 | |
%12 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %_8, i64 0, i32 0 | |
store %"fmt::Formatter"* %1, %"fmt::Formatter"** %12, align 8, !alias.scope !901, !noalias !902 | |
%_9.sroa.0.0..sroa_idx.i.i = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %_8, i64 0, i32 4, i32 0 | |
store i8 %11, i8* %_9.sroa.0.0..sroa_idx.i.i, align 8, !alias.scope !901, !noalias !902 | |
%13 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %_8, i64 0, i32 2 | |
store i64 0, i64* %13, align 8, !alias.scope !901, !noalias !902 | |
%14 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %_8, i64 0, i32 6 | |
store i8 0, i8* %14, align 1, !alias.scope !901, !noalias !902 | |
call void @llvm.lifetime.start(i64 1, i8* nonnull %_15) | |
%15 = getelementptr inbounds %"sync::atomic::AtomicBool", %"sync::atomic::AtomicBool"* %0, i64 0, i32 0, i32 0 | |
%16 = load atomic i8, i8* %15 seq_cst, align 1 | |
%17 = icmp ne i8 %16, 0 | |
%18 = zext i1 %17 to i8 | |
store i8 %18, i8* %_15, align 1 | |
%19 = bitcast i8* %_15 to {}* | |
%20 = call dereferenceable(24) %"fmt::builders::DebugTuple"* @_ZN4core3fmt8builders10DebugTuple5field17h4a064d7e887b80e4E(%"fmt::builders::DebugTuple"* nonnull dereferenceable(24) %_8, {}* nonnull %19, {}* noalias nonnull readonly bitcast ({ void (i8*)*, i64, i64, i8 (i8*, %"fmt::Formatter"*)* }* @vtable.1Z to {}*)) | |
%21 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %20, i64 0, i32 2 | |
%22 = load i64, i64* %21, align 8 | |
%23 = icmp eq i64 %22, 0 | |
%_10.sroa.0.0..sroa_idx.phi.trans.insert.i = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %20, i64 0, i32 4, i32 0 | |
%_10.sroa.0.0.copyload.pre.i = load i8, i8* %_10.sroa.0.0..sroa_idx.phi.trans.insert.i, align 1 | |
br i1 %23, label %_ZN4core3fmt8builders10DebugTuple6finish17h75a640a44b55ec34E.exit, label %bb1.i | |
bb1.i: ; preds = %start | |
%cond.i.i = icmp eq i8 %_10.sroa.0.0.copyload.pre.i, 0 | |
br i1 %cond.i.i, label %bb3.i.i, label %"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h34c8cc123282ba8aE.exit.i" | |
bb3.i.i: ; preds = %bb1.i | |
%24 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %20, i64 0, i32 0 | |
%25 = load %"fmt::Formatter"*, %"fmt::Formatter"** %24, align 8, !alias.scope !903, !nonnull !687 | |
%26 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %25, i64 0, i32 10 | |
%27 = load i32, i32* %26, align 4, !alias.scope !906, !noalias !903 | |
%28 = and i32 %27, 4 | |
%29 = icmp eq i32 %28, 0 | |
br i1 %29, label %bb11.i.i.i, label %bb2.i.i.i | |
bb2.i.i.i: ; preds = %bb3.i.i | |
%30 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %25, i64 0, i32 4 | |
%31 = bitcast { i8*, void (i8*)** }* %30 to {}** | |
%32 = load {}*, {}** %31, align 8, !noalias !909, !nonnull !687 | |
%33 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %25, i64 0, i32 4, i32 1 | |
%34 = load void (i8*)**, void (i8*)*** %33, align 8, !noalias !909, !nonnull !687 | |
%35 = getelementptr inbounds void (i8*)*, void (i8*)** %34, i64 3 | |
%36 = bitcast void (i8*)** %35 to i8 ({}*, i8*, i64)** | |
%37 = load i8 ({}*, i8*, i64)*, i8 ({}*, i8*, i64)** %36, align 8, !invariant.load !687, !noalias !909, !nonnull !687 | |
%38 = call i8 %37({}* nonnull %32, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.2G, i64 0, i64 0), i64 1) | |
%cond8.i.i.i = icmp eq i8 %38, 0 | |
br i1 %cond8.i.i.i, label %bb2.bb11_crit_edge.i.i.i, label %"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h34c8cc123282ba8aE.exit.i" | |
bb2.bb11_crit_edge.i.i.i: ; preds = %bb2.i.i.i | |
%.pre.i = load i64, i64* %21, align 8 | |
br label %bb11.i.i.i | |
bb11.i.i.i: ; preds = %bb2.bb11_crit_edge.i.i.i, %bb3.i.i | |
%39 = phi i64 [ %.pre.i, %bb2.bb11_crit_edge.i.i.i ], [ %22, %bb3.i.i ] | |
%40 = icmp eq i64 %39, 1 | |
br i1 %40, label %bb14.i.i.i, label %bb24.i.i.i | |
bb14.i.i.i: ; preds = %bb11.i.i.i | |
%41 = getelementptr inbounds %"fmt::builders::DebugTuple", %"fmt::builders::DebugTuple"* %20, i64 0, i32 6 | |
%42 = load i8, i8* %41, align 1, !range !10 | |
%43 = icmp eq i8 %42, 0 | |
br i1 %43, label %bb24.i.i.i, label %bb16.i.i.i | |
bb16.i.i.i: ; preds = %bb14.i.i.i | |
%44 = load %"fmt::Formatter"*, %"fmt::Formatter"** %24, align 8, !nonnull !687 | |
%45 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %44, i64 0, i32 4 | |
%46 = bitcast { i8*, void (i8*)** }* %45 to {}** | |
%47 = load {}*, {}** %46, align 8, !noalias !912, !nonnull !687 | |
%48 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %44, i64 0, i32 4, i32 1 | |
%49 = load void (i8*)**, void (i8*)*** %48, align 8, !noalias !912, !nonnull !687 | |
%50 = getelementptr inbounds void (i8*)*, void (i8*)** %49, i64 3 | |
%51 = bitcast void (i8*)** %50 to i8 ({}*, i8*, i64)** | |
%52 = load i8 ({}*, i8*, i64)*, i8 ({}*, i8*, i64)** %51, align 8, !invariant.load !687, !noalias !912, !nonnull !687 | |
%53 = call i8 %52({}* nonnull %47, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.2z, i64 0, i64 0), i64 1) | |
%cond.i.i.i = icmp eq i8 %53, 0 | |
br i1 %cond.i.i.i, label %bb24.i.i.i, label %"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h34c8cc123282ba8aE.exit.i" | |
bb24.i.i.i: ; preds = %bb16.i.i.i, %bb14.i.i.i, %bb11.i.i.i | |
%54 = load %"fmt::Formatter"*, %"fmt::Formatter"** %24, align 8, !nonnull !687 | |
%55 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %54, i64 0, i32 4 | |
%56 = bitcast { i8*, void (i8*)** }* %55 to {}** | |
%57 = load {}*, {}** %56, align 8, !noalias !915, !nonnull !687 | |
%58 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %54, i64 0, i32 4, i32 1 | |
%59 = load void (i8*)**, void (i8*)*** %58, align 8, !noalias !915, !nonnull !687 | |
%60 = getelementptr inbounds void (i8*)*, void (i8*)** %59, i64 3 | |
%61 = bitcast void (i8*)** %60 to i8 ({}*, i8*, i64)** | |
%62 = load i8 ({}*, i8*, i64)*, i8 ({}*, i8*, i64)** %61, align 8, !invariant.load !687, !noalias !915, !nonnull !687 | |
%63 = call i8 %62({}* nonnull %57, i8* noalias nonnull readonly getelementptr inbounds ([1 x i8], [1 x i8]* @str.2H, i64 0, i64 0), i64 1) | |
br label %"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h34c8cc123282ba8aE.exit.i" | |
"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h34c8cc123282ba8aE.exit.i": ; preds = %bb24.i.i.i, %bb16.i.i.i, %bb2.i.i.i, %bb1.i | |
%_0.sroa.0.0.i.i = phi i8 [ 1, %bb1.i ], [ %63, %bb24.i.i.i ], [ 1, %bb2.i.i.i ], [ 1, %bb16.i.i.i ] | |
store i8 %_0.sroa.0.0.i.i, i8* %_10.sroa.0.0..sroa_idx.phi.trans.insert.i, align 1 | |
br label %_ZN4core3fmt8builders10DebugTuple6finish17h75a640a44b55ec34E.exit | |
_ZN4core3fmt8builders10DebugTuple6finish17h75a640a44b55ec34E.exit: ; preds = %start, %"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h34c8cc123282ba8aE.exit.i" | |
%_10.sroa.0.0.copyload.i = phi i8 [ %_0.sroa.0.0.i.i, %"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$8and_then17h34c8cc123282ba8aE.exit.i" ], [ %_10.sroa.0.0.copyload.pre.i, %start ] | |
call void @llvm.lifetime.end(i64 1, i8* nonnull %_15) | |
call void @llvm.lifetime.end(i64 24, i8* nonnull %2) | |
ret i8 %_10.sroa.0.0.copyload.i | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN60_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$3fmt17h87f215d7d37a5519E"(%"cell::BorrowError"* noalias nocapture readonly, %"fmt::Formatter"* dereferenceable(96)) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
_ZN4core3fmt8builders11DebugStruct6finish17h305e08f2df3ca52dE.exit: | |
%2 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4 | |
%3 = bitcast { i8*, void (i8*)** }* %2 to {}** | |
%4 = load {}*, {}** %3, align 8, !noalias !918, !nonnull !687 | |
%5 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4, i32 1 | |
%6 = load void (i8*)**, void (i8*)*** %5, align 8, !noalias !918, !nonnull !687 | |
%7 = getelementptr inbounds void (i8*)*, void (i8*)** %6, i64 3 | |
%8 = bitcast void (i8*)** %7 to i8 ({}*, i8*, i64)** | |
%9 = load i8 ({}*, i8*, i64)*, i8 ({}*, i8*, i64)** %8, align 8, !invariant.load !687, !noalias !918, !nonnull !687 | |
%10 = tail call i8 %9({}* nonnull %4, i8* noalias nonnull readonly getelementptr inbounds ([11 x i8], [11 x i8]* @str.20, i64 0, i64 0), i64 11), !noalias !927 | |
ret i8 %10 | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN62_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Display$GT$3fmt17h1dfe89f97e1ce09fE"(%"cell::BorrowError"* noalias nocapture readonly, %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 { | |
start: | |
%2 = tail call i8 @_ZN4core3fmt9Formatter3pad17hfc084f6039bdcf14E(%"fmt::Formatter"* nonnull dereferenceable(96) %1, i8* noalias nonnull readonly getelementptr inbounds ([24 x i8], [24 x i8]* @str.21, i64 0, i64 0), i64 24) | |
ret i8 %2 | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17hbf269a46bcfaaa7bE"(%"cell::BorrowMutError"* noalias nocapture readonly, %"fmt::Formatter"* dereferenceable(96)) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
_ZN4core3fmt8builders11DebugStruct6finish17h305e08f2df3ca52dE.exit: | |
%2 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4 | |
%3 = bitcast { i8*, void (i8*)** }* %2 to {}** | |
%4 = load {}*, {}** %3, align 8, !noalias !928, !nonnull !687 | |
%5 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4, i32 1 | |
%6 = load void (i8*)**, void (i8*)*** %5, align 8, !noalias !928, !nonnull !687 | |
%7 = getelementptr inbounds void (i8*)*, void (i8*)** %6, i64 3 | |
%8 = bitcast void (i8*)** %7 to i8 ({}*, i8*, i64)** | |
%9 = load i8 ({}*, i8*, i64)*, i8 ({}*, i8*, i64)** %8, align 8, !invariant.load !687, !noalias !928, !nonnull !687 | |
%10 = tail call i8 %9({}* nonnull %4, i8* noalias nonnull readonly getelementptr inbounds ([14 x i8], [14 x i8]* @str.22, i64 0, i64 0), i64 14), !noalias !937 | |
ret i8 %10 | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN65_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Display$GT$3fmt17h9ab8af88d1cf2d57E"(%"cell::BorrowMutError"* noalias nocapture readonly, %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 { | |
start: | |
%2 = tail call i8 @_ZN4core3fmt9Formatter3pad17hfc084f6039bdcf14E(%"fmt::Formatter"* nonnull dereferenceable(96) %1, i8* noalias nonnull readonly getelementptr inbounds ([16 x i8], [16 x i8]* @str.23, i64 0, i64 0), i64 16) | |
ret i8 %2 | |
} | |
; Function Attrs: norecurse nounwind readonly uwtable | |
define %str_slice @_ZN4core4char14ParseCharError13__description17h2e5aefbec5f8f910E(%"char::ParseCharError"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #3 { | |
start: | |
%1 = getelementptr inbounds %"char::ParseCharError", %"char::ParseCharError"* %0, i64 0, i32 0 | |
%2 = load i8, i8* %1, align 1, !range !10 | |
%cond = icmp eq i8 %2, 0 | |
%.sink2 = select i1 %cond, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.26, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.25, i64 0, i64 0) | |
%.sink = select i1 %cond, i64 35, i64 29 | |
%3 = insertvalue %str_slice undef, i8* %.sink2, 0 | |
%4 = insertvalue %str_slice %3, i64 %.sink, 1 | |
ret %str_slice %4 | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN65_$LT$core..char..ParseCharError$u20$as$u20$core..fmt..Display$GT$3fmt17h282f1fbac47cdee1E"(%"char::ParseCharError"* noalias nocapture readonly dereferenceable(1), %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 { | |
start: | |
%2 = getelementptr inbounds %"char::ParseCharError", %"char::ParseCharError"* %0, i64 0, i32 0 | |
%3 = load i8, i8* %2, align 1, !range !10, !alias.scope !938 | |
%cond.i = icmp eq i8 %3, 0 | |
%.sink2.i = select i1 %cond.i, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.26, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str.25, i64 0, i64 0) | |
%.sink.i = select i1 %cond.i, i64 35, i64 29 | |
%4 = tail call i8 @_ZN4core3fmt9Formatter3pad17hfc084f6039bdcf14E(%"fmt::Formatter"* nonnull dereferenceable(96) %1, i8* noalias nonnull readonly %.sink2.i, i64 %.sink.i) | |
ret i8 %4 | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN67_$LT$core..char..CharTryFromError$u20$as$u20$core..fmt..Display$GT$3fmt17hddf581f16c0c9c43E"(%"char::CharTryFromError"* noalias nocapture readonly, %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 { | |
start: | |
%2 = tail call i8 @_ZN4core3fmt9Formatter3pad17hfc084f6039bdcf14E(%"fmt::Formatter"* nonnull dereferenceable(96) %1, i8* noalias nonnull readonly getelementptr inbounds ([41 x i8], [41 x i8]* @str.27, i64 0, i64 0), i64 41) | |
ret i8 %2 | |
} | |
; Function Attrs: norecurse uwtable | |
define i64 @"_ZN76_$LT$core..char..EscapeUnicode$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h51547b9e7b798496E"(%"char::EscapeUnicode"* nocapture dereferenceable(16)) unnamed_addr #8 personality i32 (...)* @rust_eh_personality { | |
start: | |
%1 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i64 0, i32 4 | |
%2 = load i8, i8* %1, align 1, !range !941 | |
%trunc = trunc i8 %2 to i3 | |
switch i3 %trunc, label %bb1 [ | |
i3 0, label %bb7 | |
i3 1, label %bb5 | |
i3 2, label %bb4 | |
i3 3, label %bb3 | |
i3 -4, label %bb2 | |
] | |
bb1: ; preds = %start | |
store i8 4, i8* %1, align 1 | |
br label %bb7 | |
bb2: ; preds = %start | |
store i8 3, i8* %1, align 1 | |
br label %bb7 | |
bb3: ; preds = %start | |
store i8 2, i8* %1, align 1 | |
br label %bb7 | |
bb4: ; preds = %start | |
%3 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i64 0, i32 2 | |
%4 = load i32, i32* %3, align 4, !range !942 | |
%5 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i64 0, i32 0 | |
%6 = load i64, i64* %5, align 8 | |
%.tr = trunc i64 %6 to i32 | |
%7 = shl i32 %.tr, 2 | |
%8 = and i32 %7, 28 | |
%9 = lshr i32 %4, %8 | |
%10 = trunc i32 %9 to i8 | |
%11 = and i8 %10, 15 | |
%12 = icmp ult i8 %11, 10 | |
%.sink4.v.i = select i1 %12, i8 48, i8 87 | |
%.sink4.i = add nuw i8 %.sink4.v.i, %11 | |
%13 = icmp eq i64 %6, 0 | |
br i1 %13, label %bb10, label %bb11 | |
bb5: ; preds = %start | |
store i8 0, i8* %1, align 1 | |
br label %bb7 | |
bb7: ; preds = %start, %bb5, %bb12, %bb3, %bb2, %bb1 | |
%_0.sroa.7.0 = phi i64 [ 395136991232, %bb1 ], [ 502511173632, %bb2 ], [ 528280977408, %bb3 ], [ %phitmp3, %bb12 ], [ 536870912000, %bb5 ], [ 0, %start ] | |
%_0.sroa.0.0 = phi i64 [ 1, %bb1 ], [ 1, %bb2 ], [ 1, %bb3 ], [ 1, %bb12 ], [ 1, %bb5 ], [ 0, %start ] | |
%_0.sroa.0.0.insert.insert = or i64 %_0.sroa.0.0, %_0.sroa.7.0 | |
ret i64 %_0.sroa.0.0.insert.insert | |
bb10: ; preds = %bb4 | |
store i8 1, i8* %1, align 1 | |
br label %bb12 | |
bb11: ; preds = %bb4 | |
%14 = add i64 %6, -1 | |
store i64 %14, i64* %5, align 8 | |
br label %bb12 | |
bb12: ; preds = %bb11, %bb10 | |
%phitmp = zext i8 %.sink4.i to i64 | |
%phitmp3 = shl nuw nsw i64 %phitmp, 32 | |
br label %bb7 | |
} | |
; Function Attrs: norecurse nounwind readonly uwtable | |
define i64 @"_ZN76_$LT$core..char..EscapeUnicode$u20$as$u20$core..iter..iterator..Iterator$GT$4last17h50393dafb86f9581E"(%"char::EscapeUnicode"* noalias nocapture readonly dereferenceable(16)) unnamed_addr #3 { | |
start: | |
%self.sroa.3.0..sroa_idx = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i64 0, i32 4 | |
%self.sroa.3.0.copyload = load i8, i8* %self.sroa.3.0..sroa_idx, align 4 | |
%cond = icmp eq i8 %self.sroa.3.0.copyload, 0 | |
%. = select i1 %cond, i64 536870912000, i64 536870912001 | |
ret i64 %. | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN64_$LT$core..char..EscapeUnicode$u20$as$u20$core..fmt..Display$GT$3fmt17hf757be3e4b8fdebfE"(%"char::EscapeUnicode"* noalias nocapture readonly dereferenceable(16), %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%2 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i64 0, i32 2 | |
%3 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i64 0, i32 4 | |
%4 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %0, i64 0, i32 0 | |
%5 = load i32, i32* %2, align 4, !range !942, !alias.scope !943, !noalias !948 | |
%6 = load i8, i8* %3, align 1, !range !941, !alias.scope !950, !noalias !948 | |
%7 = shl nuw nsw i8 %6, 3 | |
%8 = xor i8 %7, 32 | |
%switch.shiftamt.i.i = zext i8 %8 to i64 | |
%switch.downshift.i.i = lshr i64 216736831663047940, %switch.shiftamt.i.i | |
%switch.masked.i.i = trunc i64 %switch.downshift.i.i to i8 | |
%9 = load i64, i64* %4, align 8, !alias.scope !953, !noalias !948 | |
%10 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4 | |
%11 = bitcast { i8*, void (i8*)** }* %10 to {}** | |
%12 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4, i32 1 | |
br label %bb3 | |
bb3: ; preds = %bb6, %start | |
%iter.sroa.0.0 = phi i64 [ %9, %start ], [ %iter.sroa.0.2.ph, %bb6 ] | |
%iter.sroa.8.0 = phi i8 [ %switch.masked.i.i, %start ], [ %iter.sroa.8.2.ph, %bb6 ] | |
%trunc.i = trunc i8 %iter.sroa.8.0 to i3 | |
switch i3 %trunc.i, label %bb6 [ | |
i3 0, label %bb13 | |
i3 1, label %bb5.i | |
i3 2, label %bb4.i | |
i3 3, label %bb3.i | |
i3 -4, label %bb2.i | |
] | |
bb2.i: ; preds = %bb3 | |
br label %bb6 | |
bb3.i: ; preds = %bb3 | |
br label %bb6 | |
bb4.i: ; preds = %bb3 | |
%.tr.i = trunc i64 %iter.sroa.0.0 to i32 | |
%13 = shl i32 %.tr.i, 2 | |
%14 = and i32 %13, 28 | |
%15 = lshr i32 %5, %14 | |
%16 = trunc i32 %15 to i8 | |
%17 = and i8 %16, 15 | |
%18 = icmp ult i8 %17, 10 | |
%.sink4.v.i.i = select i1 %18, i8 48, i8 87 | |
%.sink4.i.i = add nuw i8 %.sink4.v.i.i, %17 | |
%19 = icmp eq i64 %iter.sroa.0.0, 0 | |
%20 = add i64 %iter.sroa.0.0, -1 | |
%. = select i1 %19, i64 0, i64 %20 | |
%.iter.sroa.8.0 = select i1 %19, i8 1, i8 %iter.sroa.8.0 | |
%phitmp.i = zext i8 %.sink4.i.i to i32 | |
br label %bb6 | |
bb5.i: ; preds = %bb3 | |
br label %bb6 | |
bb6: ; preds = %bb3, %bb2.i, %bb3.i, %bb4.i, %bb5.i | |
%iter.sroa.0.2.ph = phi i64 [ %iter.sroa.0.0, %bb5.i ], [ %., %bb4.i ], [ %iter.sroa.0.0, %bb3.i ], [ %iter.sroa.0.0, %bb2.i ], [ %iter.sroa.0.0, %bb3 ] | |
%iter.sroa.8.2.ph = phi i8 [ 0, %bb5.i ], [ %.iter.sroa.8.0, %bb4.i ], [ 2, %bb3.i ], [ 3, %bb2.i ], [ 4, %bb3 ] | |
%_0.sroa.7.0.i.ph = phi i32 [ 125, %bb5.i ], [ %phitmp.i, %bb4.i ], [ 123, %bb3.i ], [ 117, %bb2.i ], [ 92, %bb3 ] | |
%21 = load {}*, {}** %11, align 8, !nonnull !687 | |
%22 = load void (i8*)**, void (i8*)*** %12, align 8, !nonnull !687 | |
%23 = getelementptr inbounds void (i8*)*, void (i8*)** %22, i64 4 | |
%24 = bitcast void (i8*)** %23 to i8 ({}*, i32)** | |
%25 = load i8 ({}*, i32)*, i8 ({}*, i32)** %24, align 8, !invariant.load !687, !nonnull !687 | |
%26 = tail call i8 %25({}* nonnull %21, i32 %_0.sroa.7.0.i.ph) | |
%cond4 = icmp eq i8 %26, 0 | |
br i1 %cond4, label %bb3, label %bb13 | |
bb13: ; preds = %bb3, %bb6 | |
%_0.sroa.0.0 = phi i8 [ 1, %bb6 ], [ 0, %bb3 ] | |
ret i8 %_0.sroa.0.0 | |
} | |
; Function Attrs: norecurse uwtable | |
define i64 @"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$3nth17h64098a1da32a96e1E"(%"char::EscapeDefault"* nocapture dereferenceable(24), i64) unnamed_addr #8 personality i32 (...)* @rust_eh_personality { | |
start: | |
%2 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i64 0, i32 0, i32 0 | |
%3 = load i32, i32* %2, align 4, !range !956 | |
%trunc = trunc i32 %3 to i2 | |
switch i2 %trunc, label %bb7 [ | |
i2 0, label %bb13 | |
i2 1, label %bb5 | |
i2 -2, label %bb6 | |
] | |
bb1: ; preds = %bb6 | |
store i32 1, i32* %2, align 4 | |
br label %bb13 | |
bb5: ; preds = %start | |
%4 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i64 0, i32 0, i32 1, i64 0 | |
%5 = load i32, i32* %4, align 4, !range !942 | |
store i32 0, i32* %2, align 4 | |
%6 = icmp eq i64 %1, 0 | |
%.3 = zext i1 %6 to i64 | |
br label %bb13 | |
bb6: ; preds = %start | |
%7 = icmp eq i64 %1, 0 | |
br i1 %7, label %bb1, label %bb8 | |
bb7: ; preds = %start | |
%8 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i64 0, i32 0, i32 2 | |
%9 = bitcast [2 x i64]* %8 to %"char::EscapeUnicode"* | |
%10 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %9, i64 0, i32 4 | |
%11 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i64 0, i32 0, i32 2, i64 1 | |
%12 = bitcast i64* %11 to i32* | |
%13 = load i32, i32* %12, align 4 | |
%14 = getelementptr inbounds [2 x i64], [2 x i64]* %8, i64 0, i64 0 | |
%.pre.i = load i8, i8* %10, align 1, !range !941 | |
br label %bb2.i | |
bb2.i: ; preds = %bb8.i, %bb7 | |
%15 = phi i8 [ %.pre.i, %bb7 ], [ %.ph.i, %bb8.i ] | |
%n.0.i = phi i64 [ %1, %bb7 ], [ %27, %bb8.i ] | |
%trunc.i.i.i = trunc i8 %15 to i3 | |
switch i3 %trunc.i.i.i, label %bb1.i.i.i [ | |
i3 0, label %_ZN4core4iter8iterator8Iterator3nth17hbceca548e600f282E.exit | |
i3 1, label %bb5.i.i.i | |
i3 2, label %bb4.i.i.i | |
i3 3, label %bb3.i.i.i | |
i3 -4, label %bb2.i.i.i | |
] | |
bb1.i.i.i: ; preds = %bb2.i | |
store i8 4, i8* %10, align 1 | |
br label %bb8.i | |
bb2.i.i.i: ; preds = %bb2.i | |
store i8 3, i8* %10, align 1 | |
br label %bb8.i | |
bb3.i.i.i: ; preds = %bb2.i | |
store i8 2, i8* %10, align 1 | |
br label %bb8.i | |
bb4.i.i.i: ; preds = %bb2.i | |
%16 = load i64, i64* %14, align 8 | |
%.tr.i.i.i = trunc i64 %16 to i32 | |
%17 = shl i32 %.tr.i.i.i, 2 | |
%18 = and i32 %17, 28 | |
%19 = lshr i32 %13, %18 | |
%20 = trunc i32 %19 to i8 | |
%21 = and i8 %20, 15 | |
%22 = icmp ult i8 %21, 10 | |
%.sink4.v.i.i.i.i = select i1 %22, i8 48, i8 87 | |
%.sink4.i.i.i.i = add nuw i8 %.sink4.v.i.i.i.i, %21 | |
%23 = icmp eq i64 %16, 0 | |
br i1 %23, label %bb10.i.i.i, label %bb11.i.i.i | |
bb5.i.i.i: ; preds = %bb2.i | |
store i8 0, i8* %10, align 1 | |
br label %bb8.i | |
bb10.i.i.i: ; preds = %bb4.i.i.i | |
store i8 1, i8* %10, align 1 | |
br label %bb12.i.i.i | |
bb11.i.i.i: ; preds = %bb4.i.i.i | |
%24 = add i64 %16, -1 | |
store i64 %24, i64* %14, align 8 | |
br label %bb12.i.i.i | |
bb12.i.i.i: ; preds = %bb11.i.i.i, %bb10.i.i.i | |
%25 = phi i8 [ %15, %bb11.i.i.i ], [ 1, %bb10.i.i.i ] | |
%phitmp.i.i.i = zext i8 %.sink4.i.i.i.i to i64 | |
%phitmp3.i.i.i = shl nuw nsw i64 %phitmp.i.i.i, 32 | |
br label %bb8.i | |
bb8.i: ; preds = %bb12.i.i.i, %bb5.i.i.i, %bb3.i.i.i, %bb2.i.i.i, %bb1.i.i.i | |
%.ph.i = phi i8 [ 0, %bb5.i.i.i ], [ %25, %bb12.i.i.i ], [ 2, %bb3.i.i.i ], [ 3, %bb2.i.i.i ], [ 4, %bb1.i.i.i ] | |
%_0.sroa.7.0.i.i.ph.i = phi i64 [ 536870912000, %bb5.i.i.i ], [ %phitmp3.i.i.i, %bb12.i.i.i ], [ 528280977408, %bb3.i.i.i ], [ 502511173632, %bb2.i.i.i ], [ 395136991232, %bb1.i.i.i ] | |
%26 = icmp eq i64 %n.0.i, 0 | |
%27 = add i64 %n.0.i, -1 | |
br i1 %26, label %_ZN4core4iter8iterator8Iterator3nth17hbceca548e600f282E.exit, label %bb2.i | |
_ZN4core4iter8iterator8Iterator3nth17hbceca548e600f282E.exit: ; preds = %bb2.i, %bb8.i | |
%_0.sroa.7.0.i.i21.i = phi i64 [ %_0.sroa.7.0.i.i.ph.i, %bb8.i ], [ 0, %bb2.i ] | |
%_0.sroa.0.0.i = phi i64 [ 1, %bb8.i ], [ 0, %bb2.i ] | |
%abi_cast.sroa.4.0.extract.shift = lshr i64 %_0.sroa.7.0.i.i21.i, 32 | |
%abi_cast.sroa.4.0.extract.trunc = trunc i64 %abi_cast.sroa.4.0.extract.shift to i32 | |
%_0.sroa.7.0.i.i21.i.masked = and i64 %_0.sroa.7.0.i.i21.i, 4294967295 | |
%phitmp = or i64 %_0.sroa.0.0.i, %_0.sroa.7.0.i.i21.i.masked | |
br label %bb13 | |
bb8: ; preds = %bb6 | |
%28 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i64 0, i32 0, i32 1, i64 0 | |
%29 = load i32, i32* %28, align 4, !range !942 | |
%30 = icmp eq i64 %1, 1 | |
store i32 0, i32* %2, align 4 | |
%.5 = zext i1 %30 to i64 | |
br label %bb13 | |
bb13: ; preds = %bb8, %bb5, %start, %_ZN4core4iter8iterator8Iterator3nth17hbceca548e600f282E.exit, %bb1 | |
%_0.sroa.8.0 = phi i32 [ %abi_cast.sroa.4.0.extract.trunc, %_ZN4core4iter8iterator8Iterator3nth17hbceca548e600f282E.exit ], [ 92, %bb1 ], [ undef, %start ], [ %5, %bb5 ], [ %29, %bb8 ] | |
%_0.sroa.0.0 = phi i64 [ %phitmp, %_ZN4core4iter8iterator8Iterator3nth17hbceca548e600f282E.exit ], [ 1, %bb1 ], [ 0, %start ], [ %.3, %bb5 ], [ %.5, %bb8 ] | |
%_0.sroa.8.0.insert.ext = zext i32 %_0.sroa.8.0 to i64 | |
%_0.sroa.8.0.insert.shift = shl nuw i64 %_0.sroa.8.0.insert.ext, 32 | |
%_0.sroa.0.0.insert.insert = or i64 %_0.sroa.8.0.insert.shift, %_0.sroa.0.0 | |
ret i64 %_0.sroa.0.0.insert.insert | |
} | |
; Function Attrs: nounwind uwtable | |
define i64 @"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4last17h6a45a0b5bfb4854aE"(%"char::EscapeDefault"* noalias nocapture readonly dereferenceable(24)) unnamed_addr #6 { | |
start: | |
%self.sroa.0.0..sroa_idx = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i64 0, i32 0, i32 0 | |
%self.sroa.0.0.copyload17 = load i32, i32* %self.sroa.0.0..sroa_idx, align 8 | |
%self.sroa.4.0..sroa_idx2 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i64 0, i32 0, i32 1, i64 0 | |
%self.sroa.4.0.copyload = load i32, i32* %self.sroa.4.0..sroa_idx2, align 4 | |
switch i32 %self.sroa.0.0.copyload17, label %bb5 [ | |
i32 0, label %bb6 | |
i32 1, label %bb3 | |
i32 2, label %bb4 | |
] | |
bb3: ; preds = %start | |
br label %bb6 | |
bb4: ; preds = %start | |
br label %bb6 | |
bb5: ; preds = %start | |
%self.sroa.6.sroa.4.0.self.sroa.6.0..sroa_cast5.sroa_raw_cast = bitcast %"char::EscapeDefault"* %0 to i8* | |
%self.sroa.6.sroa.4.0.self.sroa.6.0..sroa_cast5.sroa_raw_idx = getelementptr inbounds i8, i8* %self.sroa.6.sroa.4.0.self.sroa.6.0..sroa_cast5.sroa_raw_cast, i64 20 | |
%self.sroa.6.sroa.4.0.copyload = load i8, i8* %self.sroa.6.sroa.4.0.self.sroa.6.0..sroa_cast5.sroa_raw_idx, align 4 | |
%not.cond.i = icmp ne i8 %self.sroa.6.sroa.4.0.copyload, 0 | |
%..i = zext i1 %not.cond.i to i64 | |
br label %bb6 | |
bb6: ; preds = %bb4, %bb3, %start, %bb5 | |
%_0.sroa.4.0 = phi i32 [ 125, %bb5 ], [ undef, %start ], [ %self.sroa.4.0.copyload, %bb3 ], [ %self.sroa.4.0.copyload, %bb4 ] | |
%_0.sroa.0.0 = phi i64 [ %..i, %bb5 ], [ 0, %start ], [ 1, %bb3 ], [ 1, %bb4 ] | |
%_0.sroa.4.0.insert.ext = zext i32 %_0.sroa.4.0 to i64 | |
%_0.sroa.4.0.insert.shift = shl nuw i64 %_0.sroa.4.0.insert.ext, 32 | |
%_0.sroa.0.0.insert.insert = or i64 %_0.sroa.4.0.insert.shift, %_0.sroa.0.0 | |
ret i64 %_0.sroa.0.0.insert.insert | |
} | |
; Function Attrs: norecurse nounwind readonly uwtable | |
define i64 @"_ZN83_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..traits..ExactSizeIterator$GT$3len17hf6dea4d1eb8b9fd4E"(%"char::EscapeDefault"* noalias nocapture readonly dereferenceable(24)) unnamed_addr #3 { | |
start: | |
%1 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i64 0, i32 0, i32 0 | |
%2 = load i32, i32* %1, align 4, !range !956 | |
%trunc = trunc i32 %2 to i2 | |
switch i2 %trunc, label %bb4 [ | |
i2 0, label %bb5 | |
i2 1, label %bb2 | |
i2 -2, label %bb3 | |
] | |
bb2: ; preds = %start | |
br label %bb5 | |
bb3: ; preds = %start | |
br label %bb5 | |
bb4: ; preds = %start | |
%3 = getelementptr inbounds %"char::EscapeDefault", %"char::EscapeDefault"* %0, i64 0, i32 0, i32 2 | |
%4 = bitcast [2 x i64]* %3 to %"char::EscapeUnicode"* | |
%5 = getelementptr inbounds [2 x i64], [2 x i64]* %3, i64 0, i64 0 | |
%6 = load i64, i64* %5, align 8, !alias.scope !957 | |
%7 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %4, i64 0, i32 4 | |
%8 = load i8, i8* %7, align 1, !range !941, !alias.scope !957 | |
%9 = xor i8 %8, 4 | |
%switch.tableidx.i = zext i8 %9 to i64 | |
%switch.gep.i = getelementptr inbounds [8 x i64], [8 x i64]* @switch.table.2, i64 0, i64 %switch.tableidx.i | |
%switch.load.i = load i64, i64* %switch.gep.i, align 8, !noalias !957 | |
%10 = add i64 %switch.load.i, %6 | |
br label %bb5 | |
bb5: ; preds = %start, %bb2, %bb3, %bb4 | |
%_0.0 = phi i64 [ %10, %bb4 ], [ 2, %bb3 ], [ 1, %bb2 ], [ 0, %start ] | |
ret i64 %_0.0 | |
} | |
; Function Attrs: norecurse uwtable | |
define i64 @"_ZN74_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h4e214a7e575b52eaE"(%"char::EscapeDebug"* nocapture dereferenceable(24)) unnamed_addr #8 personality i32 (...)* @rust_eh_personality { | |
start: | |
%1 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %0, i64 0, i32 0, i32 0, i32 0 | |
%2 = load i32, i32* %1, align 4, !range !956 | |
%trunc.i = trunc i32 %2 to i2 | |
switch i2 %trunc.i, label %bb4.i [ | |
i2 0, label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h467dd9108e7191b3E.exit" | |
i2 1, label %bb2.i | |
i2 -2, label %bb3.i | |
] | |
bb2.i: ; preds = %start | |
%3 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %0, i64 0, i32 0, i32 0, i32 1, i64 0 | |
%4 = load i32, i32* %3, align 4, !range !942 | |
store i32 0, i32* %1, align 4 | |
br label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h467dd9108e7191b3E.exit" | |
bb3.i: ; preds = %start | |
store i32 1, i32* %1, align 4 | |
br label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h467dd9108e7191b3E.exit" | |
bb4.i: ; preds = %start | |
%5 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %0, i64 0, i32 0, i32 0, i32 2 | |
%6 = bitcast [2 x i64]* %5 to %"char::EscapeUnicode"* | |
%7 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %6, i64 0, i32 4 | |
%8 = load i8, i8* %7, align 1, !range !941 | |
%trunc.i.i = trunc i8 %8 to i3 | |
switch i3 %trunc.i.i, label %bb1.i.i [ | |
i3 0, label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h467dd9108e7191b3E.exit" | |
i3 1, label %bb5.i.i | |
i3 2, label %bb4.i.i | |
i3 3, label %bb3.i.i | |
i3 -4, label %bb2.i.i | |
] | |
bb1.i.i: ; preds = %bb4.i | |
store i8 4, i8* %7, align 1 | |
br label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h467dd9108e7191b3E.exit" | |
bb2.i.i: ; preds = %bb4.i | |
store i8 3, i8* %7, align 1 | |
br label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h467dd9108e7191b3E.exit" | |
bb3.i.i: ; preds = %bb4.i | |
store i8 2, i8* %7, align 1 | |
br label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h467dd9108e7191b3E.exit" | |
bb4.i.i: ; preds = %bb4.i | |
%9 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %0, i64 0, i32 0, i32 0, i32 2, i64 1 | |
%10 = bitcast i64* %9 to i32* | |
%11 = load i32, i32* %10, align 4, !range !942 | |
%12 = getelementptr inbounds [2 x i64], [2 x i64]* %5, i64 0, i64 0 | |
%13 = load i64, i64* %12, align 8 | |
%.tr.i.i = trunc i64 %13 to i32 | |
%14 = shl i32 %.tr.i.i, 2 | |
%15 = and i32 %14, 28 | |
%16 = lshr i32 %11, %15 | |
%17 = trunc i32 %16 to i8 | |
%18 = and i8 %17, 15 | |
%19 = icmp ult i8 %18, 10 | |
%.sink4.v.i.i.i = select i1 %19, i8 48, i8 87 | |
%.sink4.i.i.i = add nuw i8 %.sink4.v.i.i.i, %18 | |
%20 = icmp eq i64 %13, 0 | |
br i1 %20, label %bb10.i.i, label %bb11.i.i | |
bb5.i.i: ; preds = %bb4.i | |
store i8 0, i8* %7, align 1 | |
br label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h467dd9108e7191b3E.exit" | |
bb10.i.i: ; preds = %bb4.i.i | |
store i8 1, i8* %7, align 1 | |
br label %bb12.i.i | |
bb11.i.i: ; preds = %bb4.i.i | |
%21 = add i64 %13, -1 | |
store i64 %21, i64* %12, align 8 | |
br label %bb12.i.i | |
bb12.i.i: ; preds = %bb11.i.i, %bb10.i.i | |
%phitmp.i = zext i8 %.sink4.i.i.i to i32 | |
br label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h467dd9108e7191b3E.exit" | |
"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h467dd9108e7191b3E.exit": ; preds = %start, %bb2.i, %bb3.i, %bb4.i, %bb1.i.i, %bb2.i.i, %bb3.i.i, %bb5.i.i, %bb12.i.i | |
%_0.sroa.5.0.i = phi i32 [ 92, %bb3.i ], [ %4, %bb2.i ], [ undef, %start ], [ 92, %bb1.i.i ], [ 117, %bb2.i.i ], [ 123, %bb3.i.i ], [ %phitmp.i, %bb12.i.i ], [ 125, %bb5.i.i ], [ 0, %bb4.i ] | |
%_0.sroa.0.0.i = phi i64 [ 1, %bb3.i ], [ 1, %bb2.i ], [ 0, %start ], [ 1, %bb1.i.i ], [ 1, %bb2.i.i ], [ 1, %bb3.i.i ], [ 1, %bb12.i.i ], [ 1, %bb5.i.i ], [ 0, %bb4.i ] | |
%_0.sroa.5.0.insert.ext.i = zext i32 %_0.sroa.5.0.i to i64 | |
%_0.sroa.5.0.insert.shift.i = shl nuw i64 %_0.sroa.5.0.insert.ext.i, 32 | |
%_0.sroa.0.0.insert.insert.i = or i64 %_0.sroa.5.0.insert.shift.i, %_0.sroa.0.0.i | |
ret i64 %_0.sroa.0.0.insert.insert.i | |
} | |
; Function Attrs: norecurse nounwind uwtable | |
define void @"_ZN74_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h10bf347c01a27ec9E"({ i64, [0 x i8], %"option::Option<usize>", [0 x i8] }* noalias nocapture sret dereferenceable(24), %"char::EscapeDebug"* noalias nocapture readonly dereferenceable(24)) unnamed_addr #5 { | |
start: | |
%2 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %1, i64 0, i32 0, i32 0, i32 0 | |
%3 = load i32, i32* %2, align 4, !range !956, !alias.scope !960, !noalias !965 | |
%trunc.i.i = trunc i32 %3 to i2 | |
switch i2 %trunc.i.i, label %bb4.i.i [ | |
i2 0, label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h073dfd4b8b0728d9E.exit" | |
i2 1, label %bb2.i.i | |
i2 -2, label %bb3.i.i | |
] | |
bb2.i.i: ; preds = %start | |
br label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h073dfd4b8b0728d9E.exit" | |
bb3.i.i: ; preds = %start | |
br label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h073dfd4b8b0728d9E.exit" | |
bb4.i.i: ; preds = %start | |
%4 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %1, i64 0, i32 0, i32 0, i32 2 | |
%5 = bitcast [2 x i64]* %4 to %"char::EscapeUnicode"* | |
%6 = getelementptr inbounds [2 x i64], [2 x i64]* %4, i64 0, i64 0 | |
%7 = load i64, i64* %6, align 8, !alias.scope !967, !noalias !965 | |
%8 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %5, i64 0, i32 4 | |
%9 = load i8, i8* %8, align 1, !range !941, !alias.scope !967, !noalias !965 | |
%10 = xor i8 %9, 4 | |
%switch.tableidx.i.i.i = zext i8 %10 to i64 | |
%switch.gep.i.i.i = getelementptr inbounds [8 x i64], [8 x i64]* @switch.table.2, i64 0, i64 %switch.tableidx.i.i.i | |
%switch.load.i.i.i = load i64, i64* %switch.gep.i.i.i, align 8, !noalias !970 | |
%11 = add i64 %switch.load.i.i.i, %7 | |
br label %"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h073dfd4b8b0728d9E.exit" | |
"_ZN76_$LT$core..char..EscapeDefault$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h073dfd4b8b0728d9E.exit": ; preds = %start, %bb2.i.i, %bb3.i.i, %bb4.i.i | |
%_0.0.i.i = phi i64 [ %11, %bb4.i.i ], [ 2, %bb3.i.i ], [ 1, %bb2.i.i ], [ 0, %start ] | |
%12 = getelementptr inbounds { i64, [0 x i8], %"option::Option<usize>", [0 x i8] }, { i64, [0 x i8], %"option::Option<usize>", [0 x i8] }* %0, i64 0, i32 0 | |
store i64 %_0.0.i.i, i64* %12, align 8, !alias.scope !965, !noalias !971 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds { i64, [0 x i8], %"option::Option<usize>", [0 x i8] }, { i64, [0 x i8], %"option::Option<usize>", [0 x i8] }* %0, i64 0, i32 2, i32 0 | |
store i64 1, i64* %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !965, !noalias !971 | |
%_6.sroa.4.0..sroa_idx2.i = getelementptr inbounds { i64, [0 x i8], %"option::Option<usize>", [0 x i8] }, { i64, [0 x i8], %"option::Option<usize>", [0 x i8] }* %0, i64 0, i32 2, i32 2, i64 0 | |
store i64 %_0.0.i.i, i64* %_6.sroa.4.0..sroa_idx2.i, align 8, !alias.scope !965, !noalias !971 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define i8 @"_ZN62_$LT$core..char..EscapeDebug$u20$as$u20$core..fmt..Display$GT$3fmt17h58c83ec39b22e3b0E"(%"char::EscapeDebug"* noalias nocapture readonly dereferenceable(24), %"fmt::Formatter"* nocapture readonly dereferenceable(96)) unnamed_addr #2 personality i32 (...)* @rust_eh_personality { | |
start: | |
%2 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %0, i64 0, i32 0, i32 0, i32 0 | |
%3 = load i32, i32* %2, align 4, !range !956, !alias.scope !972, !noalias !979 | |
%trunc.i.i.i = trunc i32 %3 to i2 | |
switch i2 %trunc.i.i.i, label %bb4.i.i.i [ | |
i2 0, label %"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..clone..Clone$GT$5clone17hcdcee3cdff36ba26E.exit.i" | |
i2 1, label %bb2.i.i.i | |
i2 -2, label %bb3.i.i.i | |
] | |
bb2.i.i.i: ; preds = %start | |
%4 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %0, i64 0, i32 0, i32 0, i32 1, i64 0 | |
%5 = load i32, i32* %4, align 4, !range !942, !alias.scope !982, !noalias !979 | |
br label %"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..clone..Clone$GT$5clone17hcdcee3cdff36ba26E.exit.i" | |
bb3.i.i.i: ; preds = %start | |
%6 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %0, i64 0, i32 0, i32 0, i32 1, i64 0 | |
%7 = load i32, i32* %6, align 4, !range !942, !alias.scope !985, !noalias !979 | |
br label %"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..clone..Clone$GT$5clone17hcdcee3cdff36ba26E.exit.i" | |
bb4.i.i.i: ; preds = %start | |
%8 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %0, i64 0, i32 0, i32 0, i32 2 | |
%9 = bitcast [2 x i64]* %8 to %"char::EscapeUnicode"* | |
%10 = getelementptr inbounds %"char::EscapeDebug", %"char::EscapeDebug"* %0, i64 0, i32 0, i32 0, i32 2, i64 1 | |
%11 = bitcast i64* %10 to i32* | |
%12 = getelementptr inbounds %"char::EscapeUnicode", %"char::EscapeUnicode"* %9, i64 0, i32 4 | |
%13 = getelementptr inbounds [2 x i64], [2 x i64]* %8, i64 0, i64 0 | |
%14 = load i32, i32* %11, align 4, !range !942, !alias.scope !988, !noalias !993 | |
%15 = load i8, i8* %12, align 1, !range !941, !alias.scope !995, !noalias !993 | |
%16 = shl nuw nsw i8 %15, 3 | |
%17 = xor i8 %16, 32 | |
%switch.shiftamt.i.i.i.i.i = zext i8 %17 to i64 | |
%switch.downshift.i.i.i.i.i = lshr i64 216736831663047940, %switch.shiftamt.i.i.i.i.i | |
%switch.masked.i.i.i.i.i = trunc i64 %switch.downshift.i.i.i.i.i to i8 | |
%18 = load i64, i64* %13, align 8, !alias.scope !998, !noalias !993 | |
br label %"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..clone..Clone$GT$5clone17hcdcee3cdff36ba26E.exit.i" | |
"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..clone..Clone$GT$5clone17hcdcee3cdff36ba26E.exit.i": ; preds = %bb4.i.i.i, %bb3.i.i.i, %bb2.i.i.i, %start | |
%_4.sroa.11.0.i.i = phi i8 [ %switch.masked.i.i.i.i.i, %bb4.i.i.i ], [ undef, %bb3.i.i.i ], [ undef, %bb2.i.i.i ], [ undef, %start ] | |
%_4.sroa.10.0.i.i = phi i32 [ %14, %bb4.i.i.i ], [ undef, %bb3.i.i.i ], [ undef, %bb2.i.i.i ], [ undef, %start ] | |
%_4.sroa.9.0.i.i = phi i64 [ %18, %bb4.i.i.i ], [ undef, %bb3.i.i.i ], [ undef, %bb2.i.i.i ], [ undef, %start ] | |
%_4.sroa.7.0.i.i = phi i32 [ undef, %bb4.i.i.i ], [ %7, %bb3.i.i.i ], [ %5, %bb2.i.i.i ], [ undef, %start ] | |
%_4.sroa.0.0.i.i = phi i32 [ 3, %bb4.i.i.i ], [ 2, %bb3.i.i.i ], [ 1, %bb2.i.i.i ], [ 0, %start ] | |
%19 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4 | |
%20 = bitcast { i8*, void (i8*)** }* %19 to {}** | |
%21 = getelementptr inbounds %"fmt::Formatter", %"fmt::Formatter"* %1, i64 0, i32 4, i32 1 | |
br label %bb3.i | |
bb3.i: ; preds = %bb6.i, %"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..clone..Clone$GT$5clone17hcdcee3cdff36ba26E.exit.i" | |
%iter.sroa.0.0.i = phi i32 [ %_4.sroa.0.0.i.i, %"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..clone..Clone$GT$5clone17hcdcee3cdff36ba26E.exit.i" ], [ %iter.sroa.0.1.ph.i, %bb6.i ] | |
%iter.sroa.9.0.i = phi i64 [ %_4.sroa.9.0.i.i, %"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..clone..Clone$GT$5clone17hcdcee3cdff36ba26E.exit.i" ], [ %iter.sroa.9.2.ph.i, %bb6.i ] | |
%iter.sroa.14.0.i = phi i8 [ %_4.sroa.11.0.i.i, %"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..clone..Clone$GT$5clone17hcdcee3cdff36ba26E.exit.i" ], [ %iter.sroa.14.2.ph.i, %bb6.i ] | |
%trunc.i.i = trunc i32 %iter.sroa.0.0.i to i2 | |
switch i2 %trunc.i.i, label %bb4.i.i [ | |
i2 0, label %"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..fmt..Display$GT$3fmt17h97f8b85c3b07d086E.exit" | |
i2 1, label %bb6.i | |
i2 -2, label %bb3.i.i | |
] | |
bb3.i.i: ; preds = %bb3.i | |
br label %bb6.i | |
bb4.i.i: ; preds = %bb3.i | |
%trunc.i.i13.i = trunc i8 %iter.sroa.14.0.i to i3 | |
switch i3 %trunc.i.i13.i, label %bb6.i [ | |
i3 0, label %"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..fmt..Display$GT$3fmt17h97f8b85c3b07d086E.exit" | |
i3 1, label %bb5.i.i.i | |
i3 2, label %bb4.i.i16.i | |
i3 3, label %bb3.i.i15.i | |
i3 -4, label %bb2.i.i14.i | |
] | |
bb2.i.i14.i: ; preds = %bb4.i.i | |
br label %bb6.i | |
bb3.i.i15.i: ; preds = %bb4.i.i | |
br label %bb6.i | |
bb4.i.i16.i: ; preds = %bb4.i.i | |
%.tr.i.i.i = trunc i64 %iter.sroa.9.0.i to i32 | |
%22 = shl i32 %.tr.i.i.i, 2 | |
%23 = and i32 %22, 28 | |
%24 = lshr i32 %_4.sroa.10.0.i.i, %23 | |
%25 = trunc i32 %24 to i8 | |
%26 = and i8 %25, 15 | |
%27 = icmp ult i8 %26, 10 | |
%.sink4.v.i.i.i.i = select i1 %27, i8 48, i8 87 | |
%.sink4.i.i.i.i = add nuw i8 %.sink4.v.i.i.i.i, %26 | |
%28 = icmp eq i64 %iter.sroa.9.0.i, 0 | |
%29 = add i64 %iter.sroa.9.0.i, -1 | |
%..i = select i1 %28, i64 0, i64 %29 | |
%.iter.sroa.14.0.i = select i1 %28, i8 1, i8 %iter.sroa.14.0.i | |
%phitmp.i.i = zext i8 %.sink4.i.i.i.i to i32 | |
br label %bb6.i | |
bb5.i.i.i: ; preds = %bb4.i.i | |
br label %bb6.i | |
bb6.i: ; preds = %bb5.i.i.i, %bb4.i.i16.i, %bb3.i.i15.i, %bb2.i.i14.i, %bb4.i.i, %bb3.i.i, %bb3.i | |
%iter.sroa.0.1.ph.i = phi i32 [ 1, %bb3.i.i ], [ %iter.sroa.0.0.i, %bb5.i.i.i ], [ %iter.sroa.0.0.i, %bb4.i.i16.i ], [ %iter.sroa.0.0.i, %bb3.i.i15.i ], [ %iter.sroa.0.0.i, %bb2.i.i14.i ], [ 0, %bb3.i ], [ %iter.sroa.0.0.i, %bb4.i.i ] | |
%iter.sroa.9.2.ph.i = phi i64 [ %iter.sroa.9.0.i, %bb3.i.i ], [ %iter.sroa.9.0.i, %bb5.i.i.i ], [ %..i, %bb4.i.i16.i ], [ %iter.sroa.9.0.i, %bb3.i.i15.i ], [ %iter.sroa.9.0.i, %bb2.i.i14.i ], [ %iter.sroa.9.0.i, %bb3.i ], [ %iter.sroa.9.0.i, %bb4.i.i ] | |
%iter.sroa.14.2.ph.i = phi i8 [ %iter.sroa.14.0.i, %bb3.i.i ], [ 0, %bb5.i.i.i ], [ %.iter.sroa.14.0.i, %bb4.i.i16.i ], [ 2, %bb3.i.i15.i ], [ 3, %bb2.i.i14.i ], [ %iter.sroa.14.0.i, %bb3.i ], [ 4, %bb4.i.i ] | |
%_0.sroa.5.0.i.ph.i = phi i32 [ 92, %bb3.i.i ], [ 125, %bb5.i.i.i ], [ %phitmp.i.i, %bb4.i.i16.i ], [ 123, %bb3.i.i15.i ], [ 117, %bb2.i.i14.i ], [ %_4.sroa.7.0.i.i, %bb3.i ], [ 92, %bb4.i.i ] | |
%30 = load {}*, {}** %20, align 8, !noalias !1001, !nonnull !687 | |
%31 = load void (i8*)**, void (i8*)*** %21, align 8, !noalias !1001, !nonnull !687 | |
%32 = getelementptr inbounds void (i8*)*, void (i8*)** %31, i64 4 | |
%33 = bitcast void (i8*)** %32 to i8 ({}*, i32)** | |
%34 = load i8 ({}*, i32)*, i8 ({}*, i32)** %33, align 8, !invariant.load !687, !noalias !1001, !nonnull !687 | |
%35 = tail call i8 %34({}* nonnull %30, i32 %_0.sroa.5.0.i.ph.i), !noalias !1001 | |
%cond4.i = icmp eq i8 %35, 0 | |
br i1 %cond4.i, label %bb3.i, label %"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..fmt..Display$GT$3fmt17h97f8b85c3b07d086E.exit" | |
"_ZN64_$LT$core..char..EscapeDefault$u20$as$u20$core..fmt..Display$GT$3fmt17h97f8b85c3b07d086E.exit": ; preds = %bb3.i, %bb4.i.i, %bb6.i | |
%_0.sroa.0.0.i = phi i8 [ 1, %bb6.i ], [ 0, %bb3.i ], [ 0, %bb4.i.i ] | |
ret i8 %_0.sroa.0.0.i | |
} | |
; Function Attrs: cold noinline noreturn uwtable | |
define void @_ZN4core9panicking5panic17h5db1dc6c05243fabE({ %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* noalias nocapture readonly dereferenceable(40)) unnamed_addr #9 { | |
start: | |
%_17 = alloca { %str_slice, [0 x i8], i32, [4 x i8] }, align 8 | |
%_10 = alloca [1 x %str_slice], align 8 | |
%_6 = alloca %"fmt::Arguments", align 8 | |
%1 = bitcast { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* %0 to i64* | |
%2 = load i64, i64* %1, align 8, !range !1002 | |
%3 = getelementptr inbounds { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }, { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* %0, i64 0, i32 0, i32 1 | |
%4 = load i64, i64* %3, align 8 | |
%5 = getelementptr inbounds { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }, { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* %0, i64 0, i32 2 | |
%6 = bitcast %str_slice* %5 to i64* | |
%7 = load i64, i64* %6, align 8, !range !1002 | |
%8 = getelementptr inbounds { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }, { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* %0, i64 0, i32 2, i32 1 | |
%9 = load i64, i64* %8, align 8 | |
%10 = getelementptr inbounds { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }, { %str_slice, [0 x i8], %str_slice, [0 x i8], i32, [4 x i8] }* %0, i64 0, i32 4 | |
%11 = load i32, i32* %10, align 4 | |
%12 = bitcast %"fmt::Arguments"* %_6 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %12) | |
%13 = bitcast [1 x %str_slice]* %_10 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %13) | |
%14 = bitcast [1 x %str_slice]* %_10 to i64* | |
store i64 %2, i64* %14, align 8 | |
%15 = getelementptr inbounds [1 x %str_slice], [1 x %str_slice]* %_10, i64 0, i64 0, i32 1 | |
store i64 %4, i64* %15, align 8 | |
%16 = getelementptr inbounds [1 x %str_slice], [1 x %str_slice]* %_10, i64 0, i64 0 | |
%17 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_6, i64 0, i32 0, i32 0 | |
store %str_slice* %16, %str_slice** %17, align 8, !alias.scope !1003, !noalias !1006 | |
%18 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_6, i64 0, i32 0, i32 1 | |
store i64 1, i64* %18, align 8, !alias.scope !1003, !noalias !1006 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_6, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !1003, !noalias !1006 | |
%19 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_6, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* getelementptr inbounds ([0 x %"fmt::ArgumentV1"], [0 x %"fmt::ArgumentV1"]* @ref.1W, i64 0, i64 0), %"fmt::ArgumentV1"** %19, align 8, !alias.scope !1003, !noalias !1006 | |
%20 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_6, i64 0, i32 4, i32 1 | |
store i64 0, i64* %20, align 8, !alias.scope !1003, !noalias !1006 | |
%21 = bitcast { %str_slice, [0 x i8], i32, [4 x i8] }* %_17 to i8* | |
call void @llvm.lifetime.start(i64 24, i8* nonnull %21) | |
%22 = bitcast { %str_slice, [0 x i8], i32, [4 x i8] }* %_17 to i64* | |
store i64 %7, i64* %22, align 8 | |
%23 = getelementptr inbounds { %str_slice, [0 x i8], i32, [4 x i8] }, { %str_slice, [0 x i8], i32, [4 x i8] }* %_17, i64 0, i32 0, i32 1 | |
store i64 %9, i64* %23, align 8 | |
%24 = getelementptr inbounds { %str_slice, [0 x i8], i32, [4 x i8] }, { %str_slice, [0 x i8], i32, [4 x i8] }* %_17, i64 0, i32 2 | |
store i32 %11, i32* %24, align 8 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_6, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias nonnull readonly dereferenceable(24) %_17) | |
unreachable | |
} | |
; Function Attrs: cold noinline noreturn uwtable | |
define void @_ZN4core9panicking18panic_bounds_check17heeb24f873da1bc4fE({ %str_slice, [0 x i8], i32, [4 x i8] }* noalias nocapture readonly dereferenceable(24), i64, i64) unnamed_addr #9 { | |
start: | |
%_12 = alloca [2 x %"fmt::ArgumentV1"], align 8 | |
%_7 = alloca %"fmt::Arguments", align 8 | |
%len = alloca i64, align 8 | |
%index = alloca i64, align 8 | |
%3 = bitcast i64* %index to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %3) | |
store i64 %1, i64* %index, align 8 | |
%4 = bitcast i64* %len to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %4) | |
store i64 %2, i64* %len, align 8 | |
%5 = bitcast %"fmt::Arguments"* %_7 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %5) | |
%6 = bitcast [2 x %"fmt::ArgumentV1"]* %_12 to i8* | |
call void @llvm.lifetime.start(i64 32, i8* nonnull %6) | |
%7 = ptrtoint i64* %len to i64 | |
%8 = ptrtoint i64* %index to i64 | |
%9 = bitcast [2 x %"fmt::ArgumentV1"]* %_12 to i64* | |
store i64 %7, i64* %9, align 8 | |
%10 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_12, i64 0, i64 0, i32 2 | |
%11 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %10 to i64* | |
store i64 ptrtoint (i8 (i64*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17h52b5aaaba699ca69E" to i64), i64* %11, align 8 | |
%12 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_12, i64 0, i64 1 | |
%13 = bitcast %"fmt::ArgumentV1"* %12 to i64* | |
store i64 %8, i64* %13, align 8 | |
%14 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_12, i64 0, i64 1, i32 2 | |
%15 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %14 to i64* | |
store i64 ptrtoint (i8 (i64*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17h52b5aaaba699ca69E" to i64), i64* %15, align 8 | |
%16 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_12, i64 0, i64 0 | |
%17 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.6U, i64 0, i64 0), %str_slice** %17, align 8, !alias.scope !1009, !noalias !1012 | |
%18 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7, i64 0, i32 0, i32 1 | |
store i64 2, i64* %18, align 8, !alias.scope !1009, !noalias !1012 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !1009, !noalias !1012 | |
%19 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %16, %"fmt::ArgumentV1"** %19, align 8, !alias.scope !1009, !noalias !1012 | |
%20 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_7, i64 0, i32 4, i32 1 | |
store i64 2, i64* %20, align 8, !alias.scope !1009, !noalias !1012 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_7, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias nonnull readonly dereferenceable(24) %0) | |
unreachable | |
} | |
; Function Attrs: cold noinline noreturn uwtable | |
define void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture readonly dereferenceable(48), { %str_slice, [0 x i8], i32, [4 x i8] }* noalias nocapture readonly dereferenceable(24)) unnamed_addr #9 { | |
start: | |
%_7 = alloca %"fmt::Arguments", align 8 | |
%2 = bitcast %"fmt::Arguments"* %0 to i8* | |
%3 = getelementptr inbounds { %str_slice, [0 x i8], i32, [4 x i8] }, { %str_slice, [0 x i8], i32, [4 x i8] }* %1, i64 0, i32 0, i32 0 | |
%4 = load i8*, i8** %3, align 8, !nonnull !687 | |
%5 = getelementptr inbounds { %str_slice, [0 x i8], i32, [4 x i8] }, { %str_slice, [0 x i8], i32, [4 x i8] }* %1, i64 0, i32 0, i32 1 | |
%6 = load i64, i64* %5, align 8 | |
%7 = getelementptr inbounds { %str_slice, [0 x i8], i32, [4 x i8] }, { %str_slice, [0 x i8], i32, [4 x i8] }* %1, i64 0, i32 2 | |
%8 = load i32, i32* %7, align 4 | |
%9 = bitcast %"fmt::Arguments"* %_7 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %9) | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull %9, i8* nonnull %2, i64 48, i32 8, i1 false) | |
call void @rust_begin_unwind(%"fmt::Arguments"* byval noalias nocapture nonnull dereferenceable(48) %_7, i8* noalias nonnull readonly %4, i64 %6, i32 %8) | |
unreachable | |
} | |
; Function Attrs: cold noinline noreturn uwtable | |
define void @_ZN4core6option13expect_failed17heb8f6bb51548654bE(i8* noalias nonnull readonly, i64) unnamed_addr #9 { | |
start: | |
%_8 = alloca [1 x %"fmt::ArgumentV1"], align 8 | |
%_3 = alloca %"fmt::Arguments", align 8 | |
%msg = alloca %str_slice, align 8 | |
%2 = bitcast %str_slice* %msg to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %2) | |
%3 = getelementptr inbounds %str_slice, %str_slice* %msg, i64 0, i32 0 | |
store i8* %0, i8** %3, align 8 | |
%4 = getelementptr inbounds %str_slice, %str_slice* %msg, i64 0, i32 1 | |
store i64 %1, i64* %4, align 8 | |
%5 = bitcast %"fmt::Arguments"* %_3 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %5) | |
%6 = bitcast [1 x %"fmt::ArgumentV1"]* %_8 to i8* | |
call void @llvm.lifetime.start(i64 16, i8* nonnull %6) | |
%7 = ptrtoint %str_slice* %msg to i64 | |
%8 = bitcast [1 x %"fmt::ArgumentV1"]* %_8 to i64* | |
store i64 %7, i64* %8, align 8 | |
%9 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_8, i64 0, i64 0, i32 2 | |
%10 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %9 to i64* | |
store i64 ptrtoint (i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN55_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Display$GT$3fmt17hd6bac82c773548afE" to i64), i64* %10, align 8 | |
%11 = getelementptr inbounds [1 x %"fmt::ArgumentV1"], [1 x %"fmt::ArgumentV1"]* %_8, i64 0, i64 0 | |
%12 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_3, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref.53, i64 0, i64 0), %str_slice** %12, align 8, !alias.scope !1015, !noalias !1018 | |
%13 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_3, i64 0, i32 0, i32 1 | |
store i64 1, i64* %13, align 8, !alias.scope !1015, !noalias !1018 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_3, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !1015, !noalias !1018 | |
%14 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_3, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %11, %"fmt::ArgumentV1"** %14, align 8, !alias.scope !1015, !noalias !1018 | |
%15 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_3, i64 0, i32 4, i32 1 | |
store i64 1, i64* %15, align 8, !alias.scope !1015, !noalias !1018 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_3, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core6option13expect_failed10_FILE_LINE17hd4c8588abb736764E to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
} | |
; Function Attrs: cold noinline noreturn uwtable | |
define void @_ZN4core5slice20slice_index_len_fail17h59f94d390524037cE(i64, i64) unnamed_addr #9 { | |
start: | |
%_10 = alloca [2 x %"fmt::ArgumentV1"], align 8 | |
%_5 = alloca %"fmt::Arguments", align 8 | |
%len = alloca i64, align 8 | |
%index = alloca i64, align 8 | |
%2 = bitcast i64* %index to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %2) | |
store i64 %0, i64* %index, align 8 | |
%3 = bitcast i64* %len to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %3) | |
store i64 %1, i64* %len, align 8 | |
%4 = bitcast %"fmt::Arguments"* %_5 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %4) | |
%5 = bitcast [2 x %"fmt::ArgumentV1"]* %_10 to i8* | |
call void @llvm.lifetime.start(i64 32, i8* nonnull %5) | |
%6 = ptrtoint i64* %index to i64 | |
%7 = ptrtoint i64* %len to i64 | |
%8 = bitcast [2 x %"fmt::ArgumentV1"]* %_10 to i64* | |
store i64 %6, i64* %8, align 8 | |
%9 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_10, i64 0, i64 0, i32 2 | |
%10 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %9 to i64* | |
store i64 ptrtoint (i8 (i64*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17h52b5aaaba699ca69E" to i64), i64* %10, align 8 | |
%11 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_10, i64 0, i64 1 | |
%12 = bitcast %"fmt::ArgumentV1"* %11 to i64* | |
store i64 %7, i64* %12, align 8 | |
%13 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_10, i64 0, i64 1, i32 2 | |
%14 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %13 to i64* | |
store i64 ptrtoint (i8 (i64*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17h52b5aaaba699ca69E" to i64), i64* %14, align 8 | |
%15 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_10, i64 0, i64 0 | |
%16 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_5, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.7o, i64 0, i64 0), %str_slice** %16, align 8, !alias.scope !1021, !noalias !1024 | |
%17 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_5, i64 0, i32 0, i32 1 | |
store i64 2, i64* %17, align 8, !alias.scope !1021, !noalias !1024 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_5, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !1021, !noalias !1024 | |
%18 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_5, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %15, %"fmt::ArgumentV1"** %18, align 8, !alias.scope !1021, !noalias !1024 | |
%19 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_5, i64 0, i32 4, i32 1 | |
store i64 2, i64* %19, align 8, !alias.scope !1021, !noalias !1024 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_5, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core5slice20slice_index_len_fail10_FILE_LINE17hb90ee0655d771c92E to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
} | |
; Function Attrs: cold noinline noreturn uwtable | |
define void @_ZN4core5slice22slice_index_order_fail17h35681c1841226ae9E(i64, i64) unnamed_addr #9 { | |
start: | |
%_10 = alloca [2 x %"fmt::ArgumentV1"], align 8 | |
%_5 = alloca %"fmt::Arguments", align 8 | |
%end = alloca i64, align 8 | |
%index = alloca i64, align 8 | |
%2 = bitcast i64* %index to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %2) | |
store i64 %0, i64* %index, align 8 | |
%3 = bitcast i64* %end to i8* | |
call void @llvm.lifetime.start(i64 8, i8* nonnull %3) | |
store i64 %1, i64* %end, align 8 | |
%4 = bitcast %"fmt::Arguments"* %_5 to i8* | |
call void @llvm.lifetime.start(i64 48, i8* nonnull %4) | |
%5 = bitcast [2 x %"fmt::ArgumentV1"]* %_10 to i8* | |
call void @llvm.lifetime.start(i64 32, i8* nonnull %5) | |
%6 = ptrtoint i64* %index to i64 | |
%7 = ptrtoint i64* %end to i64 | |
%8 = bitcast [2 x %"fmt::ArgumentV1"]* %_10 to i64* | |
store i64 %6, i64* %8, align 8 | |
%9 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_10, i64 0, i64 0, i32 2 | |
%10 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %9 to i64* | |
store i64 ptrtoint (i8 (i64*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17h52b5aaaba699ca69E" to i64), i64* %10, align 8 | |
%11 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_10, i64 0, i64 1 | |
%12 = bitcast %"fmt::ArgumentV1"* %11 to i64* | |
store i64 %7, i64* %12, align 8 | |
%13 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_10, i64 0, i64 1, i32 2 | |
%14 = bitcast i8 (%"fmt::Void"*, %"fmt::Formatter"*)** %13 to i64* | |
store i64 ptrtoint (i8 (i64*, %"fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17h52b5aaaba699ca69E" to i64), i64* %14, align 8 | |
%15 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %_10, i64 0, i64 0 | |
%16 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_5, i64 0, i32 0, i32 0 | |
store %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref.7r, i64 0, i64 0), %str_slice** %16, align 8, !alias.scope !1027, !noalias !1030 | |
%17 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_5, i64 0, i32 0, i32 1 | |
store i64 2, i64* %17, align 8, !alias.scope !1027, !noalias !1030 | |
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_5, i64 0, i32 2, i32 0, i32 0 | |
store %"fmt::rt::v1::Argument"* null, %"fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !alias.scope !1027, !noalias !1030 | |
%18 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_5, i64 0, i32 4, i32 0 | |
store %"fmt::ArgumentV1"* %15, %"fmt::ArgumentV1"** %18, align 8, !alias.scope !1027, !noalias !1030 | |
%19 = getelementptr inbounds %"fmt::Arguments", %"fmt::Arguments"* %_5, i64 0, i32 4, i32 1 | |
store i64 2, i64* %19, align 8, !alias.scope !1027, !noalias !1030 | |
call void @_ZN4core9panicking9panic_fmt17hcc78ce34a0090adfE(%"fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_5, { %str_slice, [0 x i8], i32, [4 x i8] }* noalias readonly dereferenceable(24) bitcast ({ %str_slice, i32, [4 x i8] }* @_ZN4core5slice22slice_index_order_fail10_FILE_LINE17hbf6f627fef3216d9E to { %str_slice, [0 x i8], i32, [4 x i8] }*)) | |
unreachable | |
} | |
; Function Attrs: uwtable | |
define void @_ZN4core3str7pattern11StrSearcher3new17h7d74e6100baaf1feE(%"str::pattern::StrSearcher"* noalias nocapture sret dereferenceable(104), i8* noalias nonnull readonly, i64, i8* |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment