Created
June 29, 2015 06:32
-
-
Save richo/ceae595c0170f6e49d7c to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains hidden or 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 = 'x86_64-apple-darwin/stage1/lib/rustlib/x86_64-apple-darwin/lib/core-7e44814b.0.no-opt.bc' | |
| target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-s0:64:64-f80:128:128-n8:16:32:64" | |
| target triple = "x86_64-apple-darwin" | |
| %str_slice = type { i8*, i64 } | |
| %"marker::PhantomData<&'static u32>" = type {} | |
| %closure.0 = type {} | |
| %"marker::PhantomData<&'static mut u32>" = type {} | |
| %closure.4 = type {} | |
| %"fmt::Formatter" = type { i32, i32, i8, %"option::Option<usize>", %"option::Option<usize>", { i8*, void (i8*)** }, %"slice::Iter<fmt::ArgumentV1>", { %"fmt::ArgumentV1"*, i64 } } | |
| %"option::Option<usize>" = type { i64, [0 x i64], [1 x i64] } | |
| %"slice::Iter<fmt::ArgumentV1>" = type { %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"*, %"marker::PhantomData<&'static fmt::ArgumentV1>" } | |
| %"fmt::ArgumentV1" = type { %"fmt::Void"*, i8 (%"fmt::Void"*, %"fmt::Formatter"*)* } | |
| %"fmt::Void" = type {} | |
| %"marker::PhantomData<&'static fmt::ArgumentV1>" = type {} | |
| %"fmt::rt::v1::Argument" = type { %"fmt::rt::v1::Position", %"fmt::rt::v1::FormatSpec" } | |
| %"fmt::rt::v1::Position" = type { i64, [0 x i64], [1 x i64] } | |
| %"fmt::rt::v1::FormatSpec" = type { i32, i8, i32, %"fmt::rt::v1::Count", %"fmt::rt::v1::Count" } | |
| %"fmt::rt::v1::Count" = type { i64, [0 x i64], [1 x i64] } | |
| %"marker::PhantomData<&'static u8>" = type {} | |
| %closure.5 = type {} | |
| %"marker::PhantomData<&'static mut u8>" = type {} | |
| %closure.9 = type {} | |
| %"num::flt2dec::decoder::Decoded" = type { i64, i64, i64, i16, i8 } | |
| %closure.10 = type {} | |
| %"num::flt2dec::Part" = type { i8, [7 x i8], [2 x i64] } | |
| %"marker::PhantomData<&'static num::flt2dec::Part>" = type {} | |
| %"marker::PhantomData<&'static char>" = type {} | |
| %closure.12 = type {} | |
| %closure.13 = type {} | |
| %closure.14 = type {} | |
| %closure.15 = type {} | |
| %closure.16 = type {} | |
| %"str::pattern::CharSearcher" = type { %"str::pattern::CharEqSearcher<char>" } | |
| %"str::pattern::CharEqSearcher<char>" = type { i32, %str_slice, %"str::CharIndices", i8 } | |
| %"str::CharIndices" = type { i64, %"str::Chars" } | |
| %"str::Chars" = type { %"slice::Iter<u8>" } | |
| %"slice::Iter<u8>" = type { i8*, i8*, %"marker::PhantomData<&'static u8>" } | |
| %"str::pattern::CharSliceSearcher" = type { %"str::pattern::CharEqSearcher<&'static [char]>" } | |
| %"str::pattern::CharEqSearcher<&'static [char]>" = type { { i32*, i64 }, %str_slice, %"str::CharIndices", i8 } | |
| %"str::pattern::CharEqPattern<&'static [char]>" = type { { i32*, i64 } } | |
| %closure.17 = type {} | |
| %closure.18 = type {} | |
| %closure.19 = type {} | |
| %closure.20 = type {} | |
| %closure.21 = type {} | |
| %closure.22 = type {} | |
| %closure.23 = type {} | |
| %closure.28 = type {} | |
| %"str::BytesDeref" = type {} | |
| %"str::LinesAnyMap" = type {} | |
| %closure.31 = type {} | |
| %"fmt::num::Decimal" = type {} | |
| %"fmt::num::Binary" = type {} | |
| %"fmt::num::Octal" = type {} | |
| %"fmt::num::LowerHex" = type {} | |
| %"fmt::num::UpperHex" = type {} | |
| %closure.32 = type {} | |
| %"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>" = type { %"fmt::builders::PadAdapter"* } | |
| %"fmt::builders::PadAdapter" = type { %"fmt::Formatter"*, i8 } | |
| %"fmt::Arguments" = type { { %str_slice*, i64 }, %"option::Option<&'static [fmt::rt::v1::Argument]>", { %"fmt::ArgumentV1"*, i64 } } | |
| %"option::Option<&'static [fmt::rt::v1::Argument]>" = type { { %"fmt::rt::v1::Argument"*, i64 } } | |
| %"marker::PhantomData<&'static &'static str>" = type {} | |
| %"marker::PhantomData<&'static fmt::rt::v1::Argument>" = type {} | |
| %closure.47 = type {} | |
| %closure.53 = type {} | |
| %closure.55 = type {} | |
| %"char::EscapeDefault" = type { %"char::EscapeDefaultState" } | |
| %"char::EscapeDefaultState" = type { i8, [7 x i8], [3 x i64] } | |
| %"result::Result<f32, num::ParseFloatError>" = type { i8, [3 x i8], [1 x i32] } | |
| %"option::Option<(char, &'static str)>" = type { { i32, %str_slice } } | |
| %"iter::Enumerate<str::Chars>" = type { %"str::Chars", i64 } | |
| %"option::Option<(char, usize)>" = type { i64, [0 x i64], [2 x i64] } | |
| %"option::Option<(usize, char)>" = type { i64, [0 x i64], [2 x i64] } | |
| %"option::Option<u32>" = type { i32, [0 x i32], [1 x i32] } | |
| %"ops::RangeFrom<usize>" = type { i64 } | |
| %"result::Result<usize, num::ParseIntError>" = type { i8, [7 x i8], [1 x i64] } | |
| %"num::ParseIntError" = type { i8 } | |
| %"option::Option<char>" = type { i32, [0 x i32], [1 x i32] } | |
| %closure = type { %"iter::Enumerate<str::Chars>"** } | |
| %"result::Result<f64, num::ParseFloatError>" = type { i8, [7 x i8], [1 x i64] } | |
| %"num::Wrapping<u8>" = type { i8 } | |
| %"num::Wrapping<u16>" = type { i16 } | |
| %"num::Wrapping<u32>" = type { i32 } | |
| %"num::Wrapping<u64>" = type { i64 } | |
| %"num::Wrapping<usize>" = type { i64 } | |
| %"num::Wrapping<i8>" = type { i8 } | |
| %"num::Wrapping<i16>" = type { i16 } | |
| %"num::Wrapping<i32>" = type { i32 } | |
| %"num::Wrapping<i64>" = type { i64 } | |
| %"num::Wrapping<isize>" = type { i64 } | |
| %"num::flt2dec::bignum::Big32x36" = type { i64, [36 x i32] } | |
| %"slice::Iter<u32>" = type { i32*, i32*, %"marker::PhantomData<&'static u32>" } | |
| %"ops::RangeTo<usize>" = type { i64 } | |
| %"raw::Slice<u32>" = type { i32*, i64 } | |
| %"ops::Range<usize>" = type { i64, i64 } | |
| %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>" = type { %"slice::IterMut<u32>", %"slice::Iter<u32>" } | |
| %"slice::IterMut<u32>" = type { i32*, i32*, %"marker::PhantomData<&'static mut u32>" } | |
| %"option::Option<(&'static mut u32, &'static u32)>" = type { { i32*, i32* } } | |
| %closure.1 = type { %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"** } | |
| %closure.2 = type { i32* } | |
| %"iter::Rev<ops::Range<usize>>" = type { %"ops::Range<usize>" } | |
| %"iter::Enumerate<slice::Iter<u32>>" = type { %"slice::Iter<u32>", i64 } | |
| %"option::Option<(usize, &'static u32)>" = type { { i64, i32* } } | |
| %closure.3 = type { %"iter::Enumerate<slice::Iter<u32>>"** } | |
| %"iter::Rev<slice::IterMut<u32>>" = type { %"slice::IterMut<u32>" } | |
| %"ops::RangeFull" = type {} | |
| %"option::Option<cmp::Ordering>" = type { i8, [0 x i8], [1 x i8] } | |
| %"iter::Rev<iter::Cloned<slice::Iter<u32>>>" = type { %"iter::Cloned<slice::Iter<u32>>" } | |
| %"iter::Cloned<slice::Iter<u32>>" = type { %"slice::Iter<u32>" } | |
| %"result::Result<(), fmt::Error>" = type { i8, [0 x i8], [0 x i8] } | |
| %"fmt::Error" = type {} | |
| %"iter::Rev<slice::Iter<u32>>" = type { %"slice::Iter<u32>" } | |
| %"num::flt2dec::bignum::tests::Big8x3" = type { i64, [3 x i8] } | |
| %"raw::Slice<u8>" = type { i8*, i64 } | |
| %"iter::Zip<slice::IterMut<u8>, slice::Iter<u8>>" = type { %"slice::IterMut<u8>", %"slice::Iter<u8>" } | |
| %"slice::IterMut<u8>" = type { i8*, i8*, %"marker::PhantomData<&'static mut u8>" } | |
| %"option::Option<(&'static mut u8, &'static u8)>" = type { { i8*, i8* } } | |
| %closure.6 = type { %"iter::Zip<slice::IterMut<u8>, slice::Iter<u8>>"** } | |
| %closure.7 = type { i8* } | |
| %"iter::Enumerate<slice::Iter<u8>>" = type { %"slice::Iter<u8>", i64 } | |
| %"option::Option<(usize, &'static u8)>" = type { { i64, i8* } } | |
| %closure.8 = type { %"iter::Enumerate<slice::Iter<u8>>"** } | |
| %"iter::Rev<slice::IterMut<u8>>" = type { %"slice::IterMut<u8>" } | |
| %"iter::Rev<iter::Cloned<slice::Iter<u8>>>" = type { %"iter::Cloned<slice::Iter<u8>>" } | |
| %"iter::Cloned<slice::Iter<u8>>" = type { %"slice::Iter<u8>" } | |
| %"option::Option<u8>" = type { i8, [0 x i8], [1 x i8] } | |
| %"iter::Rev<slice::Iter<u8>>" = type { %"slice::Iter<u8>" } | |
| %"fmt::builders::DebugStruct" = type { %"fmt::Formatter"*, %"result::Result<(), fmt::Error>", i8 } | |
| %closure.34 = type { %"fmt::builders::DebugStruct"** } | |
| %closure.33 = type { %"fmt::builders::DebugStruct"**, %str_slice*, { i8*, void (i8*)** }* } | |
| %"num::flt2dec::decoder::FullDecoded" = type { i64, [0 x i64], [4 x i64] } | |
| %"fmt::builders::DebugTuple" = type { %"fmt::Formatter"*, %"result::Result<(), fmt::Error>", i8 } | |
| %closure.36 = type { %"fmt::builders::DebugTuple"** } | |
| %closure.35 = type { %"fmt::builders::DebugTuple"**, { i8*, void (i8*)** }* } | |
| %"option::Option<u64>" = type { i64, [0 x i64], [1 x i64] } | |
| %"num::flt2dec::strategy::grisu::Fp" = type { i64, i16 } | |
| %"raw::Slice<(u64, i16, i16)>" = type { { i64, i16, i16 }*, i64 } | |
| %"option::Option<(usize, i16)>" = type { i64, [0 x i64], [2 x i64] } | |
| %"fmt::builders::DebugList" = type { %"fmt::builders::DebugInner" } | |
| %"fmt::builders::DebugInner" = type { %"fmt::Formatter"*, %"result::Result<(), fmt::Error>", i8 } | |
| %closure.40 = type { %"fmt::builders::DebugList"** } | |
| %"num::flt2dec::Formatted" = type { { i8*, i64 }, { %"num::flt2dec::Part"*, i64 } } | |
| %"slice::Iter<num::flt2dec::Part>" = type { %"num::flt2dec::Part"*, %"num::flt2dec::Part"*, %"marker::PhantomData<&'static num::flt2dec::Part>" } | |
| %"raw::Slice<num::flt2dec::Part>" = type { %"num::flt2dec::Part"*, i64 } | |
| %"result::Result<i8, num::ParseIntError>" = type { i8, [0 x i8], [1 x i8] } | |
| %"option::Option<i8>" = type { i8, [0 x i8], [1 x i8] } | |
| %"result::Result<i16, num::ParseIntError>" = type { i8, [1 x i8], [1 x i16] } | |
| %"option::Option<i16>" = type { i16, [0 x i16], [1 x i16] } | |
| %"result::Result<i32, num::ParseIntError>" = type { i8, [3 x i8], [1 x i32] } | |
| %"option::Option<i32>" = type { i32, [0 x i32], [1 x i32] } | |
| %"result::Result<i64, num::ParseIntError>" = type { i8, [7 x i8], [1 x i64] } | |
| %"option::Option<i64>" = type { i64, [0 x i64], [1 x i64] } | |
| %"result::Result<isize, num::ParseIntError>" = type { i8, [7 x i8], [1 x i64] } | |
| %"option::Option<isize>" = type { i64, [0 x i64], [1 x i64] } | |
| %"result::Result<u8, num::ParseIntError>" = type { i8, [0 x i8], [1 x i8] } | |
| %"result::Result<u16, num::ParseIntError>" = type { i8, [1 x i8], [1 x i16] } | |
| %"option::Option<u16>" = type { i16, [0 x i16], [1 x i16] } | |
| %"result::Result<u32, num::ParseIntError>" = type { i8, [3 x i8], [1 x i32] } | |
| %"result::Result<u64, num::ParseIntError>" = type { i8, [7 x i8], [1 x i64] } | |
| %"num::ParseFloatError" = type { i8 } | |
| %"marker::NoCopy" = type {} | |
| %closure.51 = type { %str_slice* } | |
| %"any::TypeId" = type { i64 } | |
| %"atomic::AtomicBool" = type { %"cell::UnsafeCell<usize>" } | |
| %"cell::UnsafeCell<usize>" = type { i64 } | |
| %"atomic::AtomicIsize" = type { %"cell::UnsafeCell<isize>" } | |
| %"cell::UnsafeCell<isize>" = type { i64 } | |
| %"atomic::AtomicUsize" = type { %"cell::UnsafeCell<usize>" } | |
| %"option::Option<cell::BorrowRef>" = type { %"cell::BorrowRef" } | |
| %"cell::BorrowRef" = type { %"cell::Cell<usize>"*, i8 } | |
| %"cell::Cell<usize>" = type { %"cell::UnsafeCell<usize>" } | |
| %"cell::BorrowRefMut" = type { %"cell::Cell<usize>"*, i8 } | |
| %"option::Option<cell::BorrowRefMut>" = type { %"cell::BorrowRefMut" } | |
| %"char::EscapeUnicode" = type { i32, %"char::EscapeUnicodeState" } | |
| %"char::EscapeUnicodeState" = type { i64, [0 x i64], [1 x i64] } | |
| %"raw::Slice<u16>" = type { i16*, i64 } | |
| %"raw::TraitObject" = type { {}*, {}* } | |
| %"str::pattern::SearchStep" = type { i64, [0 x i64], [2 x i64] } | |
| %"slice::Iter<char>" = type { i32*, i32*, %"marker::PhantomData<&'static char>" } | |
| %closure.11 = type { i32* } | |
| %"raw::Slice<char>" = type { i32*, i64 } | |
| %"str::pattern::StrSearcher" = type { %str_slice, %str_slice, i64, i64, %"str::pattern::State" } | |
| %"str::pattern::State" = type { i64, [0 x i64], [2 x i64] } | |
| %"str::CharRange" = type { i32, i64 } | |
| %"iter::Rev<str::Chars>" = type { %"str::Chars" } | |
| %"option::Option<(usize, usize)>" = type { i64, [0 x i64], [2 x i64] } | |
| %"str::pattern::CharEqPattern<char>" = type { i32 } | |
| %"result::Result<bool, str::ParseBoolError>" = type { i8, [0 x i8], [1 x i8] } | |
| %"str::ParseBoolError" = type { {} } | |
| %"str::Utf8Error" = type { i64 } | |
| %"result::Result<&'static str, str::Utf8Error>" = type { i64, [0 x i64], [2 x i64] } | |
| %"result::Result<(), str::Utf8Error>" = type { i64, [0 x i64], [1 x i64] } | |
| %"str::Bytes" = type { %"iter::Map<slice::Iter<u8>, str::BytesDeref>" } | |
| %"iter::Map<slice::Iter<u8>, str::BytesDeref>" = type { %"slice::Iter<u8>", %"str::BytesDeref" } | |
| %closure.24 = type { %"iter::Map<slice::Iter<u8>, str::BytesDeref>"** } | |
| %closure.25 = type { %"iter::Map<slice::Iter<u8>, str::BytesDeref>"** } | |
| %"str::Lines" = type { %"str::SplitTerminator<char>" } | |
| %"str::SplitTerminator<char>" = type { %"str::SplitInternal<char>" } | |
| %"str::SplitInternal<char>" = type { i64, i64, %"str::pattern::CharSearcher", i8, i8 } | |
| %"option::Option<&'static str>" = type { %str_slice } | |
| %"str::LinesAny" = type { %"iter::Map<str::Lines, str::LinesAnyMap>" } | |
| %"iter::Map<str::Lines, str::LinesAnyMap>" = type { %"str::Lines", %"str::LinesAnyMap" } | |
| %closure.26 = type { %"iter::Map<str::Lines, str::LinesAnyMap>"** } | |
| %closure.27 = type { %"iter::Map<str::Lines, str::LinesAnyMap>"** } | |
| %"str::TwoWaySearcher" = type { i64, i64, i64, i64, i64 } | |
| %"str::OldSearcher" = type { i64, [0 x i64], [5 x i64] } | |
| %"str::OldMatchIndices" = type { %str_slice, %str_slice, %"str::OldSearcher" } | |
| %"iter::Zip<str::Bytes, str::Bytes>" = type { %"str::Bytes", %"str::Bytes" } | |
| %"option::Option<(u8, u8)>" = type { i8, [0 x i8], [2 x i8] } | |
| %closure.29 = type { %"iter::Zip<str::Bytes, str::Bytes>"** } | |
| %closure.30 = type { i8 } | |
| %"str::Split<char>" = type { %"str::SplitInternal<char>" } | |
| %"hash::sip::SipHasher" = type { i64, i64, i64, i64, i64, i64, i64, i64, i64 } | |
| %"fmt::num::Radix" = type { i8 } | |
| %closure.48 = type { %"option::Option<char>"*, i8*, %str_slice* } | |
| %closure.49 = type { %str_slice* } | |
| %closure.50 = type { %closure.48*, %str_slice* } | |
| %"fmt::num::RadixFmt<isize, fmt::num::Radix>" = type { i64, %"fmt::num::Radix" } | |
| %"fmt::num::RadixFmt<usize, fmt::num::Radix>" = type { i64, %"fmt::num::Radix" } | |
| %"fmt::num::RadixFmt<i8, fmt::num::Radix>" = type { i8, %"fmt::num::Radix" } | |
| %"fmt::num::RadixFmt<u8, fmt::num::Radix>" = type { i8, %"fmt::num::Radix" } | |
| %"fmt::num::RadixFmt<i16, fmt::num::Radix>" = type { i16, %"fmt::num::Radix" } | |
| %"fmt::num::RadixFmt<u16, fmt::num::Radix>" = type { i16, %"fmt::num::Radix" } | |
| %"fmt::num::RadixFmt<i32, fmt::num::Radix>" = type { i32, %"fmt::num::Radix" } | |
| %"fmt::num::RadixFmt<u32, fmt::num::Radix>" = type { i32, %"fmt::num::Radix" } | |
| %"fmt::num::RadixFmt<i64, fmt::num::Radix>" = type { i64, %"fmt::num::Radix" } | |
| %"fmt::num::RadixFmt<u64, fmt::num::Radix>" = type { i64, %"fmt::num::Radix" } | |
| %"slice::Iter<&'static str>" = type { %str_slice*, %str_slice*, %"marker::PhantomData<&'static &'static str>" } | |
| %"iter::Zip<slice::Iter<fmt::ArgumentV1>, &'static mut slice::Iter<&'static str>>" = type { %"slice::Iter<fmt::ArgumentV1>", %"slice::Iter<&'static str>"* } | |
| %"option::Option<(&'static fmt::ArgumentV1, &'static &'static str)>" = type { { %"fmt::ArgumentV1"*, %str_slice* } } | |
| %"iter::Zip<slice::Iter<fmt::rt::v1::Argument>, &'static mut slice::Iter<&'static str>>" = type { %"slice::Iter<fmt::rt::v1::Argument>", %"slice::Iter<&'static str>"* } | |
| %"slice::Iter<fmt::rt::v1::Argument>" = type { %"fmt::rt::v1::Argument"*, %"fmt::rt::v1::Argument"*, %"marker::PhantomData<&'static fmt::rt::v1::Argument>" } | |
| %"option::Option<(&'static fmt::rt::v1::Argument, &'static &'static str)>" = type { { %"fmt::rt::v1::Argument"*, %str_slice* } } | |
| %closure.37 = type { %"fmt::builders::DebugInner"**, { i8*, void (i8*)** }* } | |
| %closure.38 = type { %"fmt::builders::DebugInner"**, %str_slice* } | |
| %"fmt::builders::DebugSet" = type { %"fmt::builders::DebugInner" } | |
| %closure.39 = type { %"fmt::builders::DebugSet"** } | |
| %"fmt::builders::DebugMap" = type { %"fmt::Formatter"*, %"result::Result<(), fmt::Error>", i8 } | |
| %closure.41 = type { %"fmt::builders::DebugMap"**, { i8*, void (i8*)** }*, { i8*, void (i8*)** }* } | |
| %closure.42 = type { %"fmt::builders::DebugMap"**, %str_slice* } | |
| %"raw::Slice<fmt::ArgumentV1>" = type { %"fmt::ArgumentV1"*, i64 } | |
| %"raw::Slice<&'static str>" = type { %str_slice*, i64 } | |
| %closure.43 = type { %"iter::Zip<slice::Iter<fmt::ArgumentV1>, &'static mut slice::Iter<&'static str>>"** } | |
| %closure.44 = type { %"fmt::ArgumentV1"* } | |
| %"raw::Slice<fmt::rt::v1::Argument>" = type { %"fmt::rt::v1::Argument"*, i64 } | |
| %closure.45 = type { %"iter::Zip<slice::Iter<fmt::rt::v1::Argument>, &'static mut slice::Iter<&'static str>>"** } | |
| %closure.46 = type { %"fmt::rt::v1::Argument"* } | |
| %closure.52 = type { %"num::flt2dec::Formatted"* } | |
| %"iter::FlatMap<str::Chars, char::EscapeDefault, [closure((char,)) -> char::EscapeDefault]>" = type { %"str::Chars", %closure.53, %"option::Option<char::EscapeDefault>", %"option::Option<char::EscapeDefault>" } | |
| %"option::Option<char::EscapeDefault>" = type { i64, [0 x i64], [4 x i64] } | |
| %closure.54 = type { %"iter::FlatMap<str::Chars, char::EscapeDefault, [closure((char,)) -> char::EscapeDefault]>"** } | |
| @const43511 = internal unnamed_addr constant float 0x7FF8000000000000 | |
| @const43512 = internal unnamed_addr constant float 0x7FF0000000000000 | |
| @const43513 = internal unnamed_addr constant float 0xFFF0000000000000 | |
| @const43514 = internal unnamed_addr constant float 0.000000e+00 | |
| @const43515 = internal unnamed_addr constant float -0.000000e+00 | |
| @const43516 = internal unnamed_addr constant float 1.000000e+00 | |
| @str43517 = internal constant [3 x i8] c"inf" | |
| @str43518 = internal constant [4 x i8] c"-inf" | |
| @str43519 = internal constant [3 x i8] c"NaN" | |
| @str43520 = internal constant [0 x i8] zeroinitializer | |
| @const43521 = internal unnamed_addr constant { i8, { i8 }, [6 x i8] } { i8 1, { i8 } zeroinitializer, [6 x i8] undef } | |
| @const43522 = internal unnamed_addr constant i8 0 | |
| @const43523 = internal unnamed_addr constant i8 1 | |
| @const43524 = internal unnamed_addr constant i64 0 | |
| @const43525 = internal unnamed_addr constant { i64, [16 x i8] } { i64 0, [16 x i8] undef } | |
| @const43528 = internal unnamed_addr constant i64 1 | |
| @const43529 = internal unnamed_addr constant { i8, { i8 }, [6 x i8] } { i8 1, { i8 } { i8 1 }, [6 x i8] undef } | |
| @const43530 = internal unnamed_addr constant i32 10 | |
| @const43531 = internal unnamed_addr constant i32 16 | |
| @const43532 = internal unnamed_addr constant float 1.000000e+01 | |
| @const43533 = internal unnamed_addr constant float 2.000000e+00 | |
| @const43534 = internal unnamed_addr constant i8 4 | |
| @const43535 = internal unnamed_addr constant i32 8388607 | |
| @const43536 = internal unnamed_addr constant i32 2139095040 | |
| @const43537 = internal unnamed_addr constant i8 2 | |
| @const43538 = internal unnamed_addr constant i8 3 | |
| @const43539 = internal unnamed_addr constant i32 31 | |
| @const43540 = internal unnamed_addr constant i32 0 | |
| @const43541 = internal unnamed_addr constant i8 -1 | |
| @const43542 = internal unnamed_addr constant i32 23 | |
| @const43543 = internal unnamed_addr constant i32 255 | |
| @const43544 = internal unnamed_addr constant i16 0 | |
| @const43545 = internal unnamed_addr constant i32 1 | |
| @const43546 = internal unnamed_addr constant i32 8388608 | |
| @const43547 = internal unnamed_addr constant i16 150 | |
| @const43548 = internal unnamed_addr constant float 0x400921FB60000000 | |
| @const43549 = internal unnamed_addr constant float 0x404CA5DC00000000 | |
| @const43550 = internal unnamed_addr constant float 1.800000e+02 | |
| @const43551 = internal unnamed_addr constant double 0x7FF8000000000000 | |
| @const43552 = internal unnamed_addr constant double 0x7FF0000000000000 | |
| @const43553 = internal unnamed_addr constant double 0xFFF0000000000000 | |
| @const43554 = internal unnamed_addr constant double 0.000000e+00 | |
| @const43555 = internal unnamed_addr constant double -0.000000e+00 | |
| @const43556 = internal unnamed_addr constant double 1.000000e+00 | |
| @const43557 = internal unnamed_addr constant { i8, { i8 }, [14 x i8] } { i8 1, { i8 } zeroinitializer, [14 x i8] undef } | |
| @const43558 = internal unnamed_addr constant { i8, { i8 }, [14 x i8] } { i8 1, { i8 } { i8 1 }, [14 x i8] undef } | |
| @const43559 = internal unnamed_addr constant double 1.000000e+01 | |
| @const43560 = internal unnamed_addr constant double 2.000000e+00 | |
| @const43561 = internal unnamed_addr constant i64 4503599627370495 | |
| @const43562 = internal unnamed_addr constant i64 9218868437227405312 | |
| @const43563 = internal unnamed_addr constant i32 63 | |
| @const43564 = internal unnamed_addr constant i32 52 | |
| @const43565 = internal unnamed_addr constant i64 2047 | |
| @const43566 = internal unnamed_addr constant i64 4503599627370496 | |
| @const43567 = internal unnamed_addr constant i16 1075 | |
| @const43568 = internal unnamed_addr constant double 0x400921FB54442D18 | |
| @const43569 = internal unnamed_addr constant double 0x404CA5DC1A63C1F8 | |
| @const43570 = internal unnamed_addr constant double 1.800000e+02 | |
| @const43571 = internal unnamed_addr constant i64 8 | |
| @const43572 = internal unnamed_addr constant i8 -128 | |
| @str43573 = internal constant [27 x i8] c"attempted to divide by zero" | |
| @str43575 = internal constant [27 x i8] c"src/libcore/num/wrapping.rs" | |
| @panic_loc43576 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43575, i32 0, i32 0), i64 27 }, i32 207 } | |
| @str43577 = internal constant [33 x i8] c"attempted to divide with overflow" | |
| @panic_loc43578 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43577, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43575, i32 0, i32 0), i64 27 }, i32 207 } | |
| @const43579 = internal unnamed_addr constant { i8, i1 } { i8 0, i1 true } | |
| @str43580 = internal constant [42 x i8] c"attempted remainder with a divisor of zero" | |
| @panic_loc43581 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43580, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43575, i32 0, i32 0), i64 27 }, i32 215 } | |
| @str43582 = internal constant [33 x i8] c"attempted remainder with overflow" | |
| @panic_loc43583 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43582, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43575, i32 0, i32 0), i64 27 }, i32 215 } | |
| @const43584 = internal unnamed_addr constant i32 7 | |
| @const43585 = internal unnamed_addr constant { i8, i1 } { i8 -128, i1 true } | |
| @const43586 = internal unnamed_addr constant i64 16 | |
| @const43587 = internal unnamed_addr constant i16 -32768 | |
| @const43588 = internal unnamed_addr constant i16 -1 | |
| @const43589 = internal unnamed_addr constant { i16, i1, [1 x i8] } { i16 0, i1 true, [1 x i8] undef } | |
| @const43590 = internal unnamed_addr constant i32 15 | |
| @const43591 = internal unnamed_addr constant { i16, i1, [1 x i8] } { i16 -32768, i1 true, [1 x i8] undef } | |
| @const43592 = internal unnamed_addr constant i64 32 | |
| @const43593 = internal unnamed_addr constant i32 -2147483648 | |
| @const43594 = internal unnamed_addr constant i32 -1 | |
| @const43595 = internal unnamed_addr constant { i32, i1, [3 x i8] } { i32 0, i1 true, [3 x i8] undef } | |
| @const43596 = internal unnamed_addr constant { i32, i1, [3 x i8] } { i32 -2147483648, i1 true, [3 x i8] undef } | |
| @const43597 = internal unnamed_addr constant i64 64 | |
| @const43598 = internal unnamed_addr constant i64 -9223372036854775808 | |
| @const43599 = internal unnamed_addr constant i64 -1 | |
| @const43600 = internal unnamed_addr constant { i64, i1, [7 x i8] } { i64 0, i1 true, [7 x i8] undef } | |
| @const43601 = internal unnamed_addr constant { i64, i1, [7 x i8] } { i64 -9223372036854775808, i1 true, [7 x i8] undef } | |
| @panic_loc43602 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43575, i32 0, i32 0), i64 27 }, i32 266 } | |
| @panic_loc43603 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43580, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43575, i32 0, i32 0), i64 27 }, i32 270 } | |
| @const43604 = internal unnamed_addr constant i16 1 | |
| @const43605 = internal unnamed_addr constant i64 1292913986 | |
| @const43606 = internal unnamed_addr constant i32 32 | |
| @str43607 = internal constant [33 x i8] c"src/libcore/num/flt2dec/bignum.rs" | |
| @panic_loc43608 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 80 } | |
| @panic_loc43609 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43580, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 80 } | |
| @str43610 = internal constant [32 x i8] c"assertion failed: borrow < other" | |
| @_ZN3num7flt2dec6bignum10u8.FullOps12full_div_rem14_MSG_FILE_LINE20h6e428c54043941afxdcE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str43610, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 87, [4 x i8] undef } | |
| @_ZN3num7flt2dec6bignum11u16.FullOps12full_div_rem14_MSG_FILE_LINE20h6e428c54043941afxhcE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str43610, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 87, [4 x i8] undef } | |
| @_ZN3num7flt2dec6bignum11u32.FullOps12full_div_rem14_MSG_FILE_LINE20h6e428c54043941afxlcE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str43610, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 87, [4 x i8] undef } | |
| @panic_bounds_check_loc43611 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 119 } | |
| @panic_bounds_check_loc43612 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 130 } | |
| @const43613 = internal unnamed_addr constant i32* null | |
| @const43614 = internal unnamed_addr constant i8* null | |
| @const43615 = internal unnamed_addr constant i32* inttoptr (i64 1 to i32*) | |
| @const43618 = internal unnamed_addr constant %"marker::PhantomData<&'static u32>" zeroinitializer | |
| @str43619 = internal constant [42 x i8] c"assertion failed: index.start <= index.end" | |
| @str43620 = internal constant [20 x i8] c"src/libcore/slice.rs" | |
| @"_ZN5slice54_$u5b$T$u5d$.ops..Index$LT$ops..Range$LT$usize$GT$$GT$5index14_MSG_FILE_LINE20h6e428c54043941af1QGE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43619, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 543, [4 x i8] undef } | |
| @str43621 = internal constant [41 x i8] c"assertion failed: index.end <= self.len()" | |
| @"_ZN5slice54_$u5b$T$u5d$.ops..Index$LT$ops..Range$LT$usize$GT$$GT$5index14_MSG_FILE_LINE20h6e428c54043941afuRGE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43621, i32 0, i32 0), i64 41 }, %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 544, [4 x i8] undef } | |
| @const43622 = internal unnamed_addr constant %closure.0 zeroinitializer | |
| @const43623 = internal unnamed_addr constant %"marker::PhantomData<&'static mut u32>" zeroinitializer | |
| @"_ZN5slice57_$u5b$T$u5d$.ops..IndexMut$LT$ops..Range$LT$usize$GT$$GT$9index_mut14_MSG_FILE_LINE20h6e428c54043941afUTGE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43619, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 585, [4 x i8] undef } | |
| @"_ZN5slice57_$u5b$T$u5d$.ops..IndexMut$LT$ops..Range$LT$usize$GT$$GT$9index_mut14_MSG_FILE_LINE20h6e428c54043941afnUGE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43621, i32 0, i32 0), i64 41 }, %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 586, [4 x i8] undef } | |
| @const43626 = internal unnamed_addr constant { { i8*, i8* } } zeroinitializer | |
| @panic_bounds_check_loc43632 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 155 } | |
| @str43633 = internal constant [26 x i8] c"assertion failed: noborrow" | |
| @_ZN3num7flt2dec6bignum8Big32x363sub14_MSG_FILE_LINE20h6e428c54043941afHrcE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str43633, i32 0, i32 0), i64 26 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 349, [4 x i8] undef } | |
| @panic_bounds_check_loc43634 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 192 } | |
| @panic_loc43635 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 204 } | |
| @panic_loc43636 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43580, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 205 } | |
| @const43637 = internal unnamed_addr constant i64 36 | |
| @str43638 = internal constant [29 x i8] c"assertion failed: digits < 36" | |
| @_ZN3num7flt2dec6bignum8Big32x368mul_pow214_MSG_FILE_LINE20h6e428c54043941afoucE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str43638, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 349, [4 x i8] undef } | |
| @const43639 = internal unnamed_addr constant { i64, [8 x i8] } { i64 0, [8 x i8] undef } | |
| @panic_bounds_check_loc43640 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 213 } | |
| @str43641 = internal constant [36 x i8] c"assertion failed: index < self.len()" | |
| @"_ZN5slice39_$u5b$T$u5d$.ops..IndexMut$LT$usize$GT$9index_mut14_MSG_FILE_LINE20h6e428c54043941af0PGE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str43641, i32 0, i32 0), i64 36 }, %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 531, [4 x i8] undef } | |
| @"_ZN5slice36_$u5b$T$u5d$.ops..Index$LT$usize$GT$5index14_MSG_FILE_LINE20h6e428c54043941af5OGE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str43641, i32 0, i32 0), i64 36 }, %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 521, [4 x i8] undef } | |
| @panic_bounds_check_loc43642 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 225 } | |
| @panic_bounds_check_loc43643 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 232 } | |
| @str43644 = internal constant [66 x i8] c"assertion failed: self.base[36 - digits..].iter().all(|&v| v == 0)" | |
| @_ZN3num7flt2dec6bignum8Big32x368mul_pow214_MSG_FILE_LINE20h6e428c54043941af8ucE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([66 x i8], [66 x i8]* @str43644, i32 0, i32 0), i64 66 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 349, [4 x i8] undef } | |
| @str43645 = internal constant [86 x i8] c"assertion failed: bits == 0 || (self.base[36 - digits - 1] >> (digitbits - bits)) == 0" | |
| @_ZN3num7flt2dec6bignum8Big32x368mul_pow214_MSG_FILE_LINE20h6e428c54043941afUvcE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([86 x i8], [86 x i8]* @str43645, i32 0, i32 0), i64 86 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 349, [4 x i8] undef } | |
| @const43648 = internal unnamed_addr constant { { i64, i8* } } zeroinitializer | |
| @str43649 = internal constant [27 x i8] c"assertion failed: other > 0" | |
| @_ZN3num7flt2dec6bignum8Big32x3613div_rem_small14_MSG_FILE_LINE20h6e428c54043941afuDcE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43649, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 349, [4 x i8] undef } | |
| @const43652 = internal unnamed_addr constant { i32, [4 x i8] } { i32 0, [4 x i8] undef } | |
| @const43653 = internal unnamed_addr constant %closure.4 zeroinitializer | |
| @const43654 = internal unnamed_addr constant i64 2 | |
| @ref43655 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }] | |
| @_ZN3num7flt2dec6bignum21Big32x36...fmt..Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ayHcE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @const43656 = internal unnamed_addr constant i8 (i32*, %"fmt::Formatter"*)* @_ZN3fmt3num17u32.fmt..LowerHex3fmt20he5385789b8dee095CoME | |
| @ref43657 = internal unnamed_addr constant { { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } } { { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } { { i64, [8 x i8] } { i64 0, [8 x i8] undef }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } { i32 32, i8 3, i32 4, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef } } } } | |
| @_ZN3num7flt2dec6bignum21Big32x36...fmt..Debug3fmt16__STATIC_FMTARGS20h43474a3853fea22a3HcE = internal constant { %"fmt::rt::v1::Argument"*, i64 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } }* @ref43657 to %"fmt::rt::v1::Argument"*), i64 1 } | |
| @str43658 = internal constant [1 x i8] c"_" | |
| @ref43659 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str43658, i32 0, i32 0), i64 1 }] | |
| @_ZN3num7flt2dec6bignum21Big32x36...fmt..Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69acJcE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43659, i32 0, i32 0), i64 1 } | |
| @ref43660 = internal unnamed_addr constant { { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, i64, [0 x i8] } } } } { { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, i64, [0 x i8] } } } { { i64, [8 x i8] } { i64 0, [8 x i8] undef }, { i32, i8, i32, { i64, [8 x i8] }, { i64, i64, [0 x i8] } } { i32 32, i8 3, i32 8, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, i64, [0 x i8] } { i64 1, i64 1, [0 x i8] undef } } } } | |
| @_ZN3num7flt2dec6bignum21Big32x36...fmt..Debug3fmt16__STATIC_FMTARGS20h43474a3853fea22aIJcE = internal constant { %"fmt::rt::v1::Argument"*, i64 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, i64, [0 x i8] } } } }* @ref43660 to %"fmt::rt::v1::Argument"*), i64 1 } | |
| @const43661 = internal unnamed_addr constant { i8, {}, [0 x i8] } { i8 0, {} zeroinitializer, [0 x i8] undef } | |
| @const43662 = internal unnamed_addr constant i8* inttoptr (i64 1 to i8*) | |
| @const43665 = internal unnamed_addr constant %"marker::PhantomData<&'static u8>" zeroinitializer | |
| @const43666 = internal unnamed_addr constant %closure.5 zeroinitializer | |
| @const43667 = internal unnamed_addr constant %"marker::PhantomData<&'static mut u8>" zeroinitializer | |
| @_ZN3num7flt2dec6bignum5tests6Big8x33sub14_MSG_FILE_LINE20h6e428c54043941afrPcE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str43633, i32 0, i32 0), i64 26 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 355, [4 x i8] undef } | |
| @const43675 = internal unnamed_addr constant i64 3 | |
| @str43676 = internal constant [28 x i8] c"assertion failed: digits < 3" | |
| @_ZN3num7flt2dec6bignum5tests6Big8x38mul_pow214_MSG_FILE_LINE20h6e428c54043941af8RcE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str43676, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 355, [4 x i8] undef } | |
| @str43677 = internal constant [65 x i8] c"assertion failed: self.base[3 - digits..].iter().all(|&v| v == 0)" | |
| @_ZN3num7flt2dec6bignum5tests6Big8x38mul_pow214_MSG_FILE_LINE20h6e428c54043941afSScE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([65 x i8], [65 x i8]* @str43677, i32 0, i32 0), i64 65 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 355, [4 x i8] undef } | |
| @str43678 = internal constant [85 x i8] c"assertion failed: bits == 0 || (self.base[3 - digits - 1] >> (digitbits - bits)) == 0" | |
| @_ZN3num7flt2dec6bignum5tests6Big8x38mul_pow214_MSG_FILE_LINE20h6e428c54043941afETcE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([85 x i8], [85 x i8]* @str43678, i32 0, i32 0), i64 85 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 355, [4 x i8] undef } | |
| @_ZN3num7flt2dec6bignum5tests6Big8x313div_rem_small14_MSG_FILE_LINE20h6e428c54043941afe1cE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43649, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43607, i32 0, i32 0), i64 33 }, i32 355, [4 x i8] undef } | |
| @const43683 = internal unnamed_addr constant { i8, [1 x i8] } { i8 0, [1 x i8] undef } | |
| @const43684 = internal unnamed_addr constant %closure.9 zeroinitializer | |
| @_ZN3num7flt2dec6bignum5tests19Big8x3...fmt..Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ai5cE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @const43685 = internal unnamed_addr constant i8 (i8*, %"fmt::Formatter"*)* @_ZN3fmt3num16u8.fmt..LowerHex3fmt20hc1fa3cc9d04e27a70cME | |
| @_ZN3num7flt2dec6bignum5tests19Big8x3...fmt..Debug3fmt16__STATIC_FMTARGS20h43474a3853fea22aN5cE = internal constant { %"fmt::rt::v1::Argument"*, i64 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } }* @ref43657 to %"fmt::rt::v1::Argument"*), i64 1 } | |
| @_ZN3num7flt2dec6bignum5tests19Big8x3...fmt..Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aW6cE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43659, i32 0, i32 0), i64 1 } | |
| @_ZN3num7flt2dec6bignum5tests19Big8x3...fmt..Debug3fmt16__STATIC_FMTARGS20h43474a3853fea22as7cE = internal constant { %"fmt::rt::v1::Argument"*, i64 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, i64, [0 x i8] } } } }* @ref43660 to %"fmt::rt::v1::Argument"*), i64 1 } | |
| @str43686 = internal constant [7 x i8] c"Decoded" | |
| @const43687 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @str43686, i32 0, i32 0), i64 7 } | |
| @str43688 = internal constant [4 x i8] c"mant" | |
| @const43689 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str43688, i32 0, i32 0), i64 4 } | |
| @vtable43692 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i64**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (i64**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt21h17041635676690956572E" } | |
| @str43693 = internal constant [5 x i8] c"minus" | |
| @const43694 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str43693, i32 0, i32 0), i64 5 } | |
| @str43695 = internal constant [4 x i8] c"plus" | |
| @const43696 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str43695, i32 0, i32 0), i64 4 } | |
| @str43697 = internal constant [3 x i8] c"exp" | |
| @const43698 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @str43697, i32 0, i32 0), i64 3 } | |
| @vtable43699 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i16**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (i16**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h1013388175772577210E" } | |
| @str43700 = internal constant [9 x i8] c"inclusive" | |
| @const43701 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([9 x i8], [9 x i8]* @str43700, i32 0, i32 0), i64 9 } | |
| @vtable43702 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i8**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (i8**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt19h683225509240654250E" } | |
| @str43703 = internal constant [3 x i8] c"Nan" | |
| @const43704 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @str43703, i32 0, i32 0), i64 3 } | |
| @str43705 = internal constant [8 x i8] c"Infinite" | |
| @const43706 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @str43705, i32 0, i32 0), i64 8 } | |
| @str43707 = internal constant [4 x i8] c"Zero" | |
| @const43708 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str43707, i32 0, i32 0), i64 4 } | |
| @str43709 = internal constant [6 x i8] c"Finite" | |
| @const43710 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str43709, i32 0, i32 0), i64 6 } | |
| @vtable43711 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (%"num::flt2dec::decoder::Decoded"**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (%"num::flt2dec::decoder::Decoded"**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h7637840904210903642E" } | |
| @const43712 = internal unnamed_addr constant { i64, [32 x i8] } { i64 0, [32 x i8] undef } | |
| @const43713 = internal unnamed_addr constant { i64, [32 x i8] } { i64 1, [32 x i8] undef } | |
| @const43714 = internal unnamed_addr constant { i64, [32 x i8] } { i64 2, [32 x i8] undef } | |
| @const43715 = internal unnamed_addr constant float 0x3810000000000000 | |
| @const43716 = internal unnamed_addr constant double 0x10000000000000 | |
| @_ZN3num7flt2dec8strategy6dragon5POW1020h93256e22e2f5732clkdE = 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] | |
| @_ZN3num7flt2dec8strategy6dragon8TWOPOW1020h93256e22e2f5732cAkdE = internal constant [10 x i32] [i32 2, i32 20, i32 200, i32 2000, i32 20000, i32 200000, i32 2000000, i32 20000000, i32 200000000, i32 2000000000] | |
| @_ZN3num7flt2dec8strategy6dragon9POW10TO1620hf0bca70d3d708dd2PkdE = internal constant [2 x i32] [i32 1874919424, i32 2328306] | |
| @_ZN3num7flt2dec8strategy6dragon9POW10TO3220hd3a955cedaf7f84dWkdE = internal constant [4 x i32] [i32 0, i32 -2052264063, i32 762134875, i32 1262] | |
| @_ZN3num7flt2dec8strategy6dragon9POW10TO6420h4c96b9e6888465ce5kdE = internal constant [7 x i32] [i32 0, i32 0, i32 -1083564287, i32 1849224548, i32 -626550803, i32 -381683212, i32 1593091] | |
| @_ZN3num7flt2dec8strategy6dragon10POW10TO12820h9b6bb1c60e7824b7hldE = 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] | |
| @_ZN3num7flt2dec8strategy6dragon10POW10TO25620h337297416a9ce319AldE = 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] | |
| @const43717 = internal unnamed_addr constant i64 7 | |
| @str43718 = internal constant [42 x i8] c"src/libcore/num/flt2dec/strategy/dragon.rs" | |
| @panic_bounds_check_loc43719 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 48 } | |
| @const43720 = internal unnamed_addr constant i64 128 | |
| @const43721 = internal unnamed_addr constant i64 256 | |
| @str43722 = internal constant [25 x i8] c"assertion failed: n < 512" | |
| @_ZN3num7flt2dec8strategy6dragon9mul_pow1014_MSG_FILE_LINE20h6e428c54043941afzmdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str43722, i32 0, i32 0), i64 25 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 46, [4 x i8] undef } | |
| @panic_bounds_check_loc43723 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 60 } | |
| @panic_bounds_check_loc43724 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 63 } | |
| @const43725 = internal unnamed_addr constant i8 8 | |
| @str43726 = internal constant [29 x i8] c"assertion failed: *x < *scale" | |
| @_ZN3num7flt2dec8strategy6dragon15div_rem_upto_1614_MSG_FILE_LINE20h6e428c54043941afXqdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str43726, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 75, [4 x i8] undef } | |
| @str43727 = internal constant [28 x i8] c"assertion failed: d.mant > 0" | |
| @_ZN3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE20h6e428c54043941afHrdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str43727, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 93, [4 x i8] undef } | |
| @str43728 = internal constant [29 x i8] c"assertion failed: d.minus > 0" | |
| @_ZN3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE20h6e428c54043941af9rdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str43728, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 94, [4 x i8] undef } | |
| @str43729 = internal constant [28 x i8] c"assertion failed: d.plus > 0" | |
| @_ZN3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE20h6e428c54043941afBsdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str43729, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 95, [4 x i8] undef } | |
| @str43730 = internal constant [54 x i8] c"assertion failed: d.mant.checked_add(d.plus).is_some()" | |
| @_ZN3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE20h6e428c54043941af5sdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str43730, i32 0, i32 0), i64 54 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 96, [4 x i8] undef } | |
| @str43731 = internal constant [55 x i8] c"assertion failed: d.mant.checked_sub(d.minus).is_some()" | |
| @_ZN3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE20h6e428c54043941afztdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str43731, i32 0, i32 0), i64 55 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 97, [4 x i8] undef } | |
| @const43732 = internal unnamed_addr constant i64 17 | |
| @str43733 = internal constant [45 x i8] c"assertion failed: buf.len() >= MAX_SIG_DIGITS" | |
| @_ZN3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE20h6e428c54043941af1tdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str43733, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 98, [4 x i8] undef } | |
| @const43734 = internal unnamed_addr constant i8 48 | |
| @panic_bounds_check_loc43735 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 166 } | |
| @panic_bounds_check_loc43736 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 220 } | |
| @str43737 = internal constant [24 x i8] c"assertion failed: d < 10" | |
| @_ZN3num7flt2dec8strategy6dragon15format_shortest14_MSG_FILE_LINE20h6e428c54043941af2xdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str43737, i32 0, i32 0), i64 24 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 165, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE20h6e428c54043941afkAdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str43727, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 231, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE20h6e428c54043941afMAdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str43728, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 232, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE20h6e428c54043941afeBdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str43729, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 233, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE20h6e428c54043941afIBdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str43730, i32 0, i32 0), i64 54 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 234, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE20h6e428c54043941afcCdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str43731, i32 0, i32 0), i64 55 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 235, [4 x i8] undef } | |
| @panic_bounds_check_loc43738 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 303 } | |
| @const43739 = internal unnamed_addr constant i32 5 | |
| @panic_bounds_check_loc43740 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 322 } | |
| @str43741 = internal constant [30 x i8] c"assertion failed: mant < scale" | |
| @_ZN3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE20h6e428c54043941afuHdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43741, i32 0, i32 0), i64 30 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 301, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy6dragon12format_exact14_MSG_FILE_LINE20h6e428c54043941afZHdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str43737, i32 0, i32 0), i64 24 }, %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43718, i32 0, i32 0), i64 42 }, i32 302, [4 x i8] undef } | |
| @str43742 = internal constant [2 x i8] c"Fp" | |
| @const43743 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str43742, i32 0, i32 0), i64 2 } | |
| @str43744 = internal constant [1 x i8] c"f" | |
| @const43745 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str43744, i32 0, i32 0), i64 1 } | |
| @str43746 = internal constant [1 x i8] c"e" | |
| @const43747 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str43746, i32 0, i32 0), i64 1 } | |
| @const43748 = internal unnamed_addr constant i64 4294967295 | |
| @const43749 = internal unnamed_addr constant i64 2147483648 | |
| @const43750 = internal unnamed_addr constant i16 64 | |
| @const43751 = internal unnamed_addr constant i16 32 | |
| @const43752 = internal unnamed_addr constant i32 48 | |
| @const43753 = internal unnamed_addr constant i16 16 | |
| @const43754 = internal unnamed_addr constant i32 56 | |
| @const43755 = internal unnamed_addr constant i32 8 | |
| @const43756 = internal unnamed_addr constant i16 8 | |
| @const43757 = internal unnamed_addr constant i32 60 | |
| @const43758 = internal unnamed_addr constant i32 4 | |
| @const43759 = internal unnamed_addr constant i16 4 | |
| @const43760 = internal unnamed_addr constant i32 62 | |
| @const43761 = internal unnamed_addr constant i32 2 | |
| @const43762 = internal unnamed_addr constant i16 2 | |
| @str43763 = internal constant [32 x i8] c"assertion failed: f >= (1 >> 63)" | |
| @str43764 = internal constant [41 x i8] c"src/libcore/num/flt2dec/strategy/grisu.rs" | |
| @_ZN3num7flt2dec8strategy5grisu2Fp9normalize14_MSG_FILE_LINE20h6e428c54043941afpPdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str43763, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 62, [4 x i8] undef } | |
| @str43765 = internal constant [29 x i8] c"assertion failed: edelta >= 0" | |
| @_ZN3num7flt2dec8strategy5grisu2Fp12normalize_to14_MSG_FILE_LINE20h6e428c54043941afaQdE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str43765, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 70, [4 x i8] undef } | |
| @str43766 = internal constant [44 x i8] c"assertion failed: `(left == right)` (left: `" | |
| @str43767 = internal constant [11 x i8] c"`, right: `" | |
| @str43768 = internal constant [2 x i8] c"`)" | |
| @ref43769 = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str43766, i32 0, i32 0), i64 44 }, %str_slice { i8* getelementptr inbounds ([11 x i8], [11 x i8]* @str43767, i32 0, i32 0), i64 11 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str43768, i32 0, i32 0), i64 2 }] | |
| @_ZN3num7flt2dec8strategy5grisu2Fp12normalize_to15__STATIC_FMTSTR20h9a0d40d93917c69alRdE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref43769, i32 0, i32 0), i64 3 } | |
| @const43770 = internal unnamed_addr constant i8 (i64*, %"fmt::Formatter"*)* @_ZN3fmt3num14u64.fmt..Debug3fmt20h0924acd5913f48feXvME | |
| @_ZN3num7flt2dec8strategy5grisu2Fp12normalize_to10_FILE_LINE20hd3cd7f37ba62d99d5QdE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 72, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu12CACHED_POW1020h0324b830f4821be3bSdE = 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 } } | |
| @const43771 = internal unnamed_addr constant i16 -1087 | |
| @const43772 = internal unnamed_addr constant i32 -1087 | |
| @const43773 = internal unnamed_addr constant i16 1039 | |
| @const43774 = internal unnamed_addr constant i32 2126 | |
| @panic_loc43775 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 184 } | |
| @panic_loc43776 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43577, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 184 } | |
| @panic_bounds_check_loc43777 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 185 } | |
| @str43778 = internal constant [42 x i8] c"assertion failed: alpha <= e && e <= gamma" | |
| @_ZN3num7flt2dec8strategy5grisu12cached_power14_MSG_FILE_LINE20h6e428c54043941afe0dE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43778, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 186, [4 x i8] undef } | |
| @const43779 = internal unnamed_addr constant i32 10000 | |
| @const43780 = internal unnamed_addr constant i32 100 | |
| @const43781 = internal unnamed_addr constant { i8, i32 } { i8 0, i32 1 } | |
| @const43782 = internal unnamed_addr constant { i8, i32 } { i8 1, i32 10 } | |
| @const43783 = internal unnamed_addr constant i32 1000 | |
| @const43784 = internal unnamed_addr constant { i8, i32 } { i8 2, i32 100 } | |
| @const43785 = internal unnamed_addr constant { i8, i32 } { i8 3, i32 1000 } | |
| @const43786 = internal unnamed_addr constant i32 1000000 | |
| @const43787 = internal unnamed_addr constant i32 100000 | |
| @const43788 = internal unnamed_addr constant { i8, i32 } { i8 4, i32 10000 } | |
| @const43789 = internal unnamed_addr constant { i8, i32 } { i8 5, i32 100000 } | |
| @const43790 = internal unnamed_addr constant i32 100000000 | |
| @const43791 = internal unnamed_addr constant i32 10000000 | |
| @const43792 = internal unnamed_addr constant { i8, i32 } { i8 6, i32 1000000 } | |
| @const43793 = internal unnamed_addr constant { i8, i32 } { i8 7, i32 10000000 } | |
| @const43794 = internal unnamed_addr constant i32 1000000000 | |
| @const43795 = internal unnamed_addr constant { i8, i32 } { i8 8, i32 100000000 } | |
| @const43796 = internal unnamed_addr constant { i8, i32 } { i8 9, i32 1000000000 } | |
| @str43797 = internal constant [23 x i8] c"assertion failed: x > 0" | |
| @_ZN3num7flt2dec8strategy5grisu22max_pow10_no_more_than14_MSG_FILE_LINE20h6e428c54043941afX0dE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str43797, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 193, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE20h6e428c54043941afI3dE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str43727, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 220, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE20h6e428c54043941afa4dE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str43728, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 221, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE20h6e428c54043941afC4dE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str43729, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 222, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE20h6e428c54043941af64dE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([54 x i8], [54 x i8]* @str43730, i32 0, i32 0), i64 54 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 223, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE20h6e428c54043941afA5dE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str43731, i32 0, i32 0), i64 55 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 224, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE20h6e428c54043941af25dE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str43733, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 225, [4 x i8] undef } | |
| @const43798 = internal unnamed_addr constant i64 2305843009213693952 | |
| @str43799 = internal constant [45 x i8] c"assertion failed: d.mant + d.plus < (1 << 61)" | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE20h6e428c54043941afA6dE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str43799, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 226, [4 x i8] undef } | |
| @const43800 = internal unnamed_addr constant i16 -60 | |
| @const43801 = internal unnamed_addr constant i16 -32 | |
| @panic_loc43802 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 317 } | |
| @panic_loc43803 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43580, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 318 } | |
| @panic_bounds_check_loc43804 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 320 } | |
| @const43805 = internal unnamed_addr constant i64 10 | |
| @panic_bounds_check_loc43806 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 363 } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt10_FILE_LINE20hd3cd7f37ba62d99dE8dE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 253, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR20h9a0d40d93917c69aU8dE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref43769, i32 0, i32 0), i64 3 } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt10_FILE_LINE20hd3cd7f37ba62d99d29dE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 254, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR20h9a0d40d93917c69aiaeE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref43769, i32 0, i32 0), i64 3 } | |
| @str43807 = internal constant [24 x i8] c"assertion failed: q < 10" | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE20h6e428c54043941afUceE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str43807, i32 0, i32 0), i64 24 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 319, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt10_FILE_LINE20hd3cd7f37ba62d99dMeeE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 333, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR20h9a0d40d93917c69a2eeE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref43769, i32 0, i32 0), i64 3 } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt10_FILE_LINE20hd3cd7f37ba62d99d8feE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 334, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt15__STATIC_FMTSTR20h9a0d40d93917c69aogeE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref43769, i32 0, i32 0), i64 3 } | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt14_MSG_FILE_LINE20h6e428c54043941af9heE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str43807, i32 0, i32 0), i64 24 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 362, [4 x i8] undef } | |
| @str43808 = internal constant [33 x i8] c"assertion failed: !buf.is_empty()" | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt14round_and_weed14_MSG_FILE_LINE20h6e428c54043941afYjeE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43808, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 395, [4 x i8] undef } | |
| @str43809 = internal constant [43 x i8] c"called `Option::unwrap()` on a `None` value" | |
| @str43810 = internal constant [21 x i8] c"src/libcore/option.rs" | |
| @"_ZN6option15Option$LT$T$GT$6unwrap14_MSG_FILE_LINE20h6e428c54043941afy1EE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str43809, i32 0, i32 0), i64 43 }, %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str43810, i32 0, i32 0), i64 21 }, i32 362, [4 x i8] undef } | |
| @const43811 = internal unnamed_addr constant i64 4 | |
| @str43812 = internal constant [30 x i8] c"assertion failed: *last > b'0'" | |
| @_ZN3num7flt2dec8strategy5grisu19format_shortest_opt14round_and_weed14_MSG_FILE_LINE20h6e428c54043941afqleE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43812, i32 0, i32 0), i64 30 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 454, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE20h6e428c54043941afDneE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str43727, i32 0, i32 0), i64 28 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 498, [4 x i8] undef } | |
| @str43813 = internal constant [36 x i8] c"assertion failed: d.mant < (1 << 61)" | |
| @_ZN3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE20h6e428c54043941af8neE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str43813, i32 0, i32 0), i64 36 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 499, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE20h6e428c54043941afzoeE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43808, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 500, [4 x i8] undef } | |
| @panic_loc43814 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 564 } | |
| @panic_loc43815 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43580, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 565 } | |
| @panic_bounds_check_loc43816 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 567 } | |
| @panic_bounds_check_loc43817 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 618 } | |
| @str43818 = internal constant [25 x i8] c"assertion failed: len > 0" | |
| @_ZN3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE20h6e428c54043941afrreE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str43818, i32 0, i32 0), i64 25 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 550, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE20h6e428c54043941afpseE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str43807, i32 0, i32 0), i64 24 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 566, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu16format_exact_opt10_FILE_LINE20hd3cd7f37ba62d99d8teE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 579, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu16format_exact_opt15__STATIC_FMTSTR20h9a0d40d93917c69aoueE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref43769, i32 0, i32 0), i64 3 } | |
| @_ZN3num7flt2dec8strategy5grisu16format_exact_opt10_FILE_LINE20hd3cd7f37ba62d99duveE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 580, [4 x i8] undef } | |
| @_ZN3num7flt2dec8strategy5grisu16format_exact_opt15__STATIC_FMTSTR20h9a0d40d93917c69aKveE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref43769, i32 0, i32 0), i64 3 } | |
| @_ZN3num7flt2dec8strategy5grisu16format_exact_opt14_MSG_FILE_LINE20h6e428c54043941afvxeE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str43807, i32 0, i32 0), i64 24 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 617, [4 x i8] undef } | |
| @panic_bounds_check_loc43819 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 726 } | |
| @str43820 = internal constant [39 x i8] c"assertion failed: remainder < ten_kappa" | |
| @_ZN3num7flt2dec8strategy5grisu16format_exact_opt14possibly_round14_MSG_FILE_LINE20h6e428c54043941af9yeE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([39 x i8], [39 x i8]* @str43820, i32 0, i32 0), i64 39 }, %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43764, i32 0, i32 0), i64 41 }, i32 645, [4 x i8] undef } | |
| @panic_loc43821 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 687 } | |
| @_ZN4iter17ExactSizeIterator3len15__STATIC_FMTSTR20h9a0d40d93917c69aaECE = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref43769, i32 0, i32 0), i64 3 } | |
| @str43822 = internal constant [4 x i8] c"None" | |
| @const43823 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str43822, i32 0, i32 0), i64 4 } | |
| @str43824 = internal constant [4 x i8] c"Some" | |
| @const43825 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str43824, i32 0, i32 0), i64 4 } | |
| @vtable43826 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i64**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (i64**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h1177523575725226049E" } | |
| @const43827 = internal unnamed_addr constant i8 (%"option::Option<usize>"*, %"fmt::Formatter"*)* @"_ZN6option34Option$LT$T$GT$...core..fmt..Debug3fmt20h4772712150664615958E" | |
| @str43828 = internal constant [19 x i8] c"src/libcore/iter.rs" | |
| @_ZN4iter17ExactSizeIterator3len10_FILE_LINE20hd3cd7f37ba62d99dUDCE = constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str43828, i32 0, i32 0), i64 19 }, i32 1265, [4 x i8] undef } | |
| @const43831 = internal unnamed_addr constant i8 57 | |
| @const43832 = internal unnamed_addr constant %closure.10 zeroinitializer | |
| @str43833 = internal constant [30 x i8] c"src/libcore/num/flt2dec/mod.rs" | |
| @panic_bounds_check_loc43834 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 161 } | |
| @const43835 = internal unnamed_addr constant i8 49 | |
| @panic_bounds_check_loc43836 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 166 } | |
| @const43837 = internal unnamed_addr constant { i8, i8, [0 x i8] } { i8 1, i8 48, [0 x i8] undef } | |
| @const43838 = internal unnamed_addr constant { i8, i8, [0 x i8] } { i8 1, i8 49, [0 x i8] undef } | |
| @str43839 = internal constant [3 x i8] c"Num" | |
| @const43840 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @str43839, i32 0, i32 0), i64 3 } | |
| @vtable43841 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i16**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (i16**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt21h12332953969394747409E" } | |
| @str43842 = internal constant [4 x i8] c"Copy" | |
| @const43843 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str43842, i32 0, i32 0), i64 4 } | |
| @vtable43844 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i8**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (i8**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h2840334149919998212E" } | |
| @vtable43845 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 ({ i8*, i64 }**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 ({ i8*, i64 }**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h7738688765772388627E" } | |
| @const43846 = internal unnamed_addr constant i16 1000 | |
| @const43847 = internal unnamed_addr constant i16 10 | |
| @const43848 = internal unnamed_addr constant i16 100 | |
| @const43849 = internal unnamed_addr constant i16 10000 | |
| @const43850 = internal unnamed_addr constant i64 5 | |
| @const43851 = internal unnamed_addr constant %"num::flt2dec::Part"* inttoptr (i64 1 to %"num::flt2dec::Part"*) | |
| @const43852 = internal unnamed_addr constant %"num::flt2dec::Part"* null | |
| @const43853 = internal unnamed_addr constant %"marker::PhantomData<&'static num::flt2dec::Part>" zeroinitializer | |
| @_ZN3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE20h6e428c54043941af5QeE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43808, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 273, [4 x i8] undef } | |
| @panic_bounds_check_loc43854 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 274 } | |
| @str43855 = internal constant [31 x i8] c"assertion failed: buf[0] > b'0'" | |
| @_ZN3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE20h6e428c54043941afyReE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str43855, i32 0, i32 0), i64 31 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 274, [4 x i8] undef } | |
| @str43856 = internal constant [34 x i8] c"assertion failed: parts.len() >= 4" | |
| @_ZN3num7flt2dec17digits_to_dec_str14_MSG_FILE_LINE20h6e428c54043941af0ReE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str43856, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 275, [4 x i8] undef } | |
| @binary43857 = internal unnamed_addr constant [2 x i8] c"0." | |
| @const43858 = internal unnamed_addr constant { i8, { i8*, i64 }, [0 x i8] } { i8 2, { i8*, i64 } { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @binary43857, i32 0, i32 0), i64 2 }, [0 x i8] undef } | |
| @panic_bounds_check_loc43859 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 293 } | |
| @panic_bounds_check_loc43860 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 294 } | |
| @panic_bounds_check_loc43861 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 295 } | |
| @panic_bounds_check_loc43862 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 297 } | |
| @panic_bounds_check_loc43863 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 306 } | |
| @binary43864 = internal unnamed_addr constant [1 x i8] c"." | |
| @const43865 = internal unnamed_addr constant { i8, { i8*, i64 }, [0 x i8] } { i8 2, { i8*, i64 } { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @binary43864, i32 0, i32 0), i64 1 }, [0 x i8] undef } | |
| @panic_bounds_check_loc43866 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 307 } | |
| @panic_bounds_check_loc43867 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 308 } | |
| @panic_bounds_check_loc43868 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 310 } | |
| @panic_bounds_check_loc43869 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 317 } | |
| @panic_bounds_check_loc43870 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 318 } | |
| @panic_bounds_check_loc43871 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 320 } | |
| @panic_bounds_check_loc43872 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 321 } | |
| @_ZN3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE20h6e428c54043941afmWeE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43808, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 341, [4 x i8] undef } | |
| @panic_bounds_check_loc43873 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 342 } | |
| @_ZN3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE20h6e428c54043941afPWeE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str43855, i32 0, i32 0), i64 31 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 342, [4 x i8] undef } | |
| @const43874 = internal unnamed_addr constant i64 6 | |
| @str43875 = internal constant [34 x i8] c"assertion failed: parts.len() >= 6" | |
| @_ZN3num7flt2dec17digits_to_exp_str14_MSG_FILE_LINE20h6e428c54043941afhXeE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str43875, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 343, [4 x i8] undef } | |
| @panic_bounds_check_loc43876 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 347 } | |
| @panic_bounds_check_loc43877 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 351 } | |
| @panic_bounds_check_loc43878 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 355 } | |
| @binary43879 = internal unnamed_addr constant [2 x i8] c"E-" | |
| @const43880 = internal unnamed_addr constant { i8*, i64 } { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @binary43879, i32 0, i32 0), i64 2 } | |
| @binary43881 = internal unnamed_addr constant [2 x i8] c"e-" | |
| @const43882 = internal unnamed_addr constant { i8*, i64 } { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @binary43881, i32 0, i32 0), i64 2 } | |
| @panic_bounds_check_loc43883 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 363 } | |
| @binary43884 = internal unnamed_addr constant [1 x i8] c"E" | |
| @const43885 = internal unnamed_addr constant { i8*, i64 } { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @binary43884, i32 0, i32 0), i64 1 } | |
| @binary43886 = internal unnamed_addr constant [1 x i8] c"e" | |
| @const43887 = internal unnamed_addr constant { i8*, i64 } { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @binary43886, i32 0, i32 0), i64 1 } | |
| @panic_bounds_check_loc43888 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 366 } | |
| @str43889 = internal constant [5 x i8] c"Minus" | |
| @const43890 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str43889, i32 0, i32 0), i64 5 } | |
| @str43891 = internal constant [8 x i8] c"MinusRaw" | |
| @const43892 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @str43891, i32 0, i32 0), i64 8 } | |
| @str43893 = internal constant [9 x i8] c"MinusPlus" | |
| @const43894 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([9 x i8], [9 x i8]* @str43893, i32 0, i32 0), i64 9 } | |
| @str43895 = internal constant [12 x i8] c"MinusPlusRaw" | |
| @const43896 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([12 x i8], [12 x i8]* @str43895, i32 0, i32 0), i64 12 } | |
| @binary43897 = internal unnamed_addr constant [0 x i8] zeroinitializer | |
| @const43898 = internal unnamed_addr constant { i8*, i64 } { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @binary43897, i32 0, i32 0), i64 0 } | |
| @binary43899 = internal unnamed_addr constant [1 x i8] c"-" | |
| @const43900 = internal unnamed_addr constant { i8*, i64 } { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @binary43899, i32 0, i32 0), i64 1 } | |
| @binary43901 = internal unnamed_addr constant [1 x i8] c"+" | |
| @const43902 = internal unnamed_addr constant { i8*, i64 } { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @binary43901, i32 0, i32 0), i64 1 } | |
| @_ZN3num7flt2dec15to_shortest_str14_MSG_FILE_LINE20h6e428c54043941af56eE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str43856, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 421, [4 x i8] undef } | |
| @_ZN3num7flt2dec15to_shortest_str14_MSG_FILE_LINE20h6e428c54043941afx7eE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str43733, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 422, [4 x i8] undef } | |
| @_ZN3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE20h6e428c54043941afRafE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str43875, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 476, [4 x i8] undef } | |
| @_ZN3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE20h6e428c54043941afjbfE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str43733, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 477, [4 x i8] undef } | |
| @str43903 = internal constant [46 x i8] c"assertion failed: dec_bounds.0 <= dec_bounds.1" | |
| @_ZN3num7flt2dec19to_shortest_exp_str14_MSG_FILE_LINE20h6e428c54043941afMbfE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([46 x i8], [46 x i8]* @str43903, i32 0, i32 0), i64 46 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 478, [4 x i8] undef } | |
| @const43904 = internal unnamed_addr constant i64 21 | |
| @const43905 = internal unnamed_addr constant i32 -12 | |
| @_ZN3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE20h6e428c54043941af4ffE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str43875, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 555, [4 x i8] undef } | |
| @str43906 = internal constant [29 x i8] c"assertion failed: ndigits > 0" | |
| @_ZN3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE20h6e428c54043941afvgfE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str43906, i32 0, i32 0), i64 29 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 556, [4 x i8] undef } | |
| @str43907 = internal constant [61 x i8] c"assertion failed: buf.len() >= ndigits || buf.len() >= maxlen" | |
| @_ZN3num7flt2dec16to_exact_exp_str14_MSG_FILE_LINE20h6e428c54043941afejfE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([61 x i8], [61 x i8]* @str43907, i32 0, i32 0), i64 61 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 582, [4 x i8] undef } | |
| @_ZN3num7flt2dec18to_exact_fixed_str14_MSG_FILE_LINE20h6e428c54043941af6kfE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str43856, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 611, [4 x i8] undef } | |
| @str43908 = internal constant [37 x i8] c"assertion failed: buf.len() >= maxlen" | |
| @_ZN3num7flt2dec18to_exact_fixed_str14_MSG_FILE_LINE20h6e428c54043941afonfE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([37 x i8], [37 x i8]* @str43908, i32 0, i32 0), i64 37 }, %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 636, [4 x i8] undef } | |
| @_ZN3num7flt2dec18to_exact_fixed_str10_FILE_LINE20hd3cd7f37ba62d99dKofE = constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 647, [4 x i8] undef } | |
| @_ZN3num7flt2dec18to_exact_fixed_str15__STATIC_FMTSTR20h9a0d40d93917c69a0ofE = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref43769, i32 0, i32 0), i64 3 } | |
| @const43909 = internal unnamed_addr constant i32 36 | |
| @str43910 = internal constant [60 x i8] c"from_str_radix_int: must lie in the range `[2, 36]` - found " | |
| @ref43911 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([60 x i8], [60 x i8]* @str43910, i32 0, i32 0), i64 60 }] | |
| @_ZN3num14from_str_radix15__STATIC_FMTSTR20h9a0d40d93917c69acHhE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43911, i32 0, i32 0), i64 1 } | |
| @const43912 = internal unnamed_addr constant i8 (i32*, %"fmt::Formatter"*)* @_ZN3fmt3num16u32.fmt..Display3fmt20ha168fd65afccbafbynME | |
| @str43913 = internal constant [22 x i8] c"src/libcore/num/mod.rs" | |
| @_ZN3num14from_str_radix10_FILE_LINE20hd3cd7f37ba62d99dWGhE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str43913, i32 0, i32 0), i64 22 }, i32 1449, [4 x i8] undef } | |
| @const43914 = internal unnamed_addr constant { i8, { i8 }, [0 x i8] } { i8 1, { i8 } zeroinitializer, [0 x i8] undef } | |
| @const43915 = internal unnamed_addr constant { i8, { i8 }, [0 x i8] } { i8 1, { i8 } { i8 1 }, [0 x i8] undef } | |
| @const43916 = internal unnamed_addr constant { i8, { i8 }, [0 x i8] } { i8 1, { i8 } { i8 3 }, [0 x i8] undef } | |
| @const43917 = internal unnamed_addr constant { i8, { i8 }, [0 x i8] } { i8 1, { i8 } { i8 2 }, [0 x i8] undef } | |
| @panic_loc43918 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str43913, i32 0, i32 0), i64 22 }, i32 404 } | |
| @panic_loc43919 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43577, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str43913, i32 0, i32 0), i64 22 }, i32 404 } | |
| @const43920 = internal unnamed_addr constant { i8, { i8 }, [2 x i8] } { i8 1, { i8 } zeroinitializer, [2 x i8] undef } | |
| @const43921 = internal unnamed_addr constant { i8, { i8 }, [2 x i8] } { i8 1, { i8 } { i8 1 }, [2 x i8] undef } | |
| @const43922 = internal unnamed_addr constant { i8, { i8 }, [2 x i8] } { i8 1, { i8 } { i8 3 }, [2 x i8] undef } | |
| @const43923 = internal unnamed_addr constant { i8, { i8 }, [2 x i8] } { i8 1, { i8 } { i8 2 }, [2 x i8] undef } | |
| @const43924 = internal unnamed_addr constant { i16, [2 x i8] } { i16 0, [2 x i8] undef } | |
| @const43925 = internal unnamed_addr constant { i8, { i8 }, [6 x i8] } { i8 1, { i8 } { i8 3 }, [6 x i8] undef } | |
| @const43926 = internal unnamed_addr constant { i8, { i8 }, [6 x i8] } { i8 1, { i8 } { i8 2 }, [6 x i8] undef } | |
| @const43927 = internal unnamed_addr constant { i8, { i8 }, [14 x i8] } { i8 1, { i8 } { i8 3 }, [14 x i8] undef } | |
| @const43928 = internal unnamed_addr constant { i8, { i8 }, [14 x i8] } { i8 1, { i8 } { i8 2 }, [14 x i8] undef } | |
| @const43929 = internal unnamed_addr constant i16 256 | |
| @panic_loc43930 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str43913, i32 0, i32 0), i64 22 }, i32 974 } | |
| @panic_loc43931 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43580, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str43913, i32 0, i32 0), i64 22 }, i32 1142 } | |
| @const43932 = internal unnamed_addr constant i32 64 | |
| @str43933 = internal constant [9 x i8] c"Subnormal" | |
| @const43934 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([9 x i8], [9 x i8]* @str43933, i32 0, i32 0), i64 9 } | |
| @str43935 = internal constant [6 x i8] c"Normal" | |
| @const43936 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str43935, i32 0, i32 0), i64 6 } | |
| @str43937 = internal constant [13 x i8] c"ParseIntError" | |
| @const43938 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([13 x i8], [13 x i8]* @str43937, i32 0, i32 0), i64 13 } | |
| @str43939 = internal constant [4 x i8] c"kind" | |
| @const43940 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str43939, i32 0, i32 0), i64 4 } | |
| @vtable43941 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i8**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (i8**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h3010391765239031569E" } | |
| @str43942 = internal constant [5 x i8] c"Empty" | |
| @const43943 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str43942, i32 0, i32 0), i64 5 } | |
| @str43944 = internal constant [12 x i8] c"InvalidDigit" | |
| @const43945 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([12 x i8], [12 x i8]* @str43944, i32 0, i32 0), i64 12 } | |
| @str43946 = internal constant [8 x i8] c"Overflow" | |
| @const43947 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @str43946, i32 0, i32 0), i64 8 } | |
| @str43948 = internal constant [9 x i8] c"Underflow" | |
| @const43949 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([9 x i8], [9 x i8]* @str43948, i32 0, i32 0), i64 9 } | |
| @str43950 = internal constant [38 x i8] c"cannot parse integer from empty string" | |
| @const43951 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str43950, i32 0, i32 0), i64 38 } | |
| @str43952 = internal constant [29 x i8] c"invalid digit found in string" | |
| @const43953 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str43952, i32 0, i32 0), i64 29 } | |
| @str43954 = internal constant [38 x i8] c"number too large to fit in target type" | |
| @const43955 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str43954, i32 0, i32 0), i64 38 } | |
| @str43956 = internal constant [38 x i8] c"number too small to fit in target type" | |
| @const43957 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str43956, i32 0, i32 0), i64 38 } | |
| @str43958 = internal constant [15 x i8] c"ParseFloatError" | |
| @const43959 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([15 x i8], [15 x i8]* @str43958, i32 0, i32 0), i64 15 } | |
| @str43960 = internal constant [6 x i8] c"__kind" | |
| @const43961 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str43960, i32 0, i32 0), i64 6 } | |
| @vtable43962 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i8**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (i8**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h1145400927438734453E" } | |
| @str43963 = internal constant [7 x i8] c"Invalid" | |
| @const43964 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @str43963, i32 0, i32 0), i64 7 } | |
| @str43965 = internal constant [36 x i8] c"cannot parse float from empty string" | |
| @const43966 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str43965, i32 0, i32 0), i64 36 } | |
| @str43967 = internal constant [21 x i8] c"invalid float literal" | |
| @const43968 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str43967, i32 0, i32 0), i64 21 } | |
| @const43969 = internal unnamed_addr constant { i8, i8, [0 x i8] } { i8 1, i8 0, [0 x i8] undef } | |
| @str43971 = internal constant [18 x i8] c"src/libcore/ops.rs" | |
| @panic_loc43972 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([18 x i8], [18 x i8]* @str43971, i32 0, i32 0), i64 18 }, i32 361 } | |
| @panic_loc43973 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43577, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([18 x i8], [18 x i8]* @str43971, i32 0, i32 0), i64 18 }, i32 361 } | |
| @panic_loc43974 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43580, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([18 x i8], [18 x i8]* @str43971, i32 0, i32 0), i64 18 }, i32 415 } | |
| @panic_loc43975 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str43582, i32 0, i32 0), i64 33 }, %str_slice { i8* getelementptr inbounds ([18 x i8], [18 x i8]* @str43971, i32 0, i32 0), i64 18 }, i32 415 } | |
| @str43976 = internal constant [2 x i8] c".." | |
| @ref43977 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str43976, i32 0, i32 0), i64 2 }] | |
| @_ZN3ops20RangeFull.fmt..Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aQ5rE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43977, i32 0, i32 0), i64 1 } | |
| @const43978 = internal unnamed_addr constant {} zeroinitializer | |
| @ref43979 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str43976, i32 0, i32 0), i64 2 }] | |
| @"_ZN3ops27Range$LT$Idx$GT$.fmt..Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ag9rE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref43979, i32 0, i32 0), i64 2 } | |
| @"_ZN3ops31RangeFrom$LT$Idx$GT$.fmt..Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69alcsE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref43979, i32 0, i32 0), i64 2 } | |
| @"_ZN3ops29RangeTo$LT$Idx$GT$.fmt..Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69arfsE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43977, i32 0, i32 0), i64 1 } | |
| @str43980 = internal constant [4 x i8] c"Less" | |
| @const43981 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str43980, i32 0, i32 0), i64 4 } | |
| @str43982 = internal constant [5 x i8] c"Equal" | |
| @const43983 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str43982, i32 0, i32 0), i64 5 } | |
| @str43984 = internal constant [7 x i8] c"Greater" | |
| @const43985 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @str43984, i32 0, i32 0), i64 7 } | |
| @const43986 = internal unnamed_addr constant { i8, i8, [0 x i8] } { i8 1, i8 1, [0 x i8] undef } | |
| @const43987 = internal unnamed_addr constant { i8, i8, [0 x i8] } { i8 1, i8 -1, [0 x i8] undef } | |
| @str43988 = internal constant [3 x i8] c"Any" | |
| @const43989 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @str43988, i32 0, i32 0), i64 3 } | |
| @str43990 = internal constant [6 x i8] c"TypeId" | |
| @const43991 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str43990, i32 0, i32 0), i64 6 } | |
| @str43992 = internal constant [1 x i8] c"t" | |
| @const43993 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str43992, i32 0, i32 0), i64 1 } | |
| @str43994 = internal constant [40 x i8] c"there is no such thing as a release load" | |
| @str43995 = internal constant [21 x i8] c"src/libcore/atomic.rs" | |
| @_ZN6atomic11atomic_load14_MSG_FILE_LINE20h6e428c54043941afSlBE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str43994, i32 0, i32 0), i64 40 }, %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str43995, i32 0, i32 0), i64 21 }, i32 962, [4 x i8] undef } | |
| @str43996 = internal constant [49 x i8] c"there is no such thing as an acquire/release load" | |
| @_ZN6atomic11atomic_load14_MSG_FILE_LINE20h6e428c54043941afdmBE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([49 x i8], [49 x i8]* @str43996, i32 0, i32 0), i64 49 }, %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str43995, i32 0, i32 0), i64 21 }, i32 963, [4 x i8] undef } | |
| @str43997 = internal constant [42 x i8] c"there is no such thing as an acquire store" | |
| @_ZN6atomic12atomic_store14_MSG_FILE_LINE20h6e428c54043941afMkBE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43997, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str43995, i32 0, i32 0), i64 21 }, i32 950, [4 x i8] undef } | |
| @str43998 = internal constant [50 x i8] c"there is no such thing as an acquire/release store" | |
| @_ZN6atomic12atomic_store14_MSG_FILE_LINE20h6e428c54043941af7kBE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @str43998, i32 0, i32 0), i64 50 }, %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str43995, i32 0, i32 0), i64 21 }, i32 951, [4 x i8] undef } | |
| @str43999 = internal constant [41 x i8] c"there is no such thing as a relaxed fence" | |
| @_ZN6atomic5fence14_MSG_FILE_LINE20h6e428c54043941afssBE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str43999, i32 0, i32 0), i64 41 }, %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str43995, i32 0, i32 0), i64 21 }, i32 1097, [4 x i8] undef } | |
| @str44000 = internal constant [7 x i8] c"Reading" | |
| @const44001 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @str44000, i32 0, i32 0), i64 7 } | |
| @str44002 = internal constant [7 x i8] c"Writing" | |
| @const44003 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @str44002, i32 0, i32 0), i64 7 } | |
| @str44004 = internal constant [6 x i8] c"Unused" | |
| @const44005 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str44004, i32 0, i32 0), i64 6 } | |
| @str44006 = internal constant [45 x i8] c"assertion failed: self.borrow.get() == UNUSED" | |
| @str44007 = internal constant [19 x i8] c"src/libcore/cell.rs" | |
| @"_ZN4cell16RefCell$LT$T$GT$10into_inner14_MSG_FILE_LINE20h6e428c54043941afIABE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str44006, i32 0, i32 0), i64 45 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44007, i32 0, i32 0), i64 19 }, i32 332, [4 x i8] undef } | |
| @str44008 = internal constant [35 x i8] c"RefCell<T> already mutably borrowed" | |
| @"_ZN4cell16RefCell$LT$T$GT$6borrow14_MSG_FILE_LINE20h6e428c54043941afWBBE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str44008, i32 0, i32 0), i64 35 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44007, i32 0, i32 0), i64 19 }, i32 395, [4 x i8] undef } | |
| @str44009 = internal constant [27 x i8] c"RefCell<T> already borrowed" | |
| @"_ZN4cell16RefCell$LT$T$GT$10borrow_mut14_MSG_FILE_LINE20h6e428c54043941afJCBE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str44009, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44007, i32 0, i32 0), i64 19 }, i32 441, [4 x i8] undef } | |
| @const44010 = internal unnamed_addr constant { { i8*, i8 } } zeroinitializer | |
| @str44011 = internal constant [55 x i8] c"assertion failed: borrow != WRITING && borrow != UNUSED" | |
| @"_ZN4cell28BorrowRef$LT$$u27$b$GT$.Drop4drop14_MSG_FILE_LINE20h6e428c54043941afOFBE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str44011, i32 0, i32 0), i64 55 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44007, i32 0, i32 0), i64 19 }, i32 509, [4 x i8] undef } | |
| @"_ZN4cell29BorrowRef$LT$$u27$b$GT$.Clone5clone14_MSG_FILE_LINE20h6e428c54043941afOGBE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([55 x i8], [55 x i8]* @str44011, i32 0, i32 0), i64 55 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44007, i32 0, i32 0), i64 19 }, i32 520, [4 x i8] undef } | |
| @str44012 = internal constant [35 x i8] c"assertion failed: borrow == WRITING" | |
| @"_ZN4cell31BorrowRefMut$LT$$u27$b$GT$.Drop4drop14_MSG_FILE_LINE20h6e428c54043941afCLBE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str44012, i32 0, i32 0), i64 35 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44007, i32 0, i32 0), i64 19 }, i32 726, [4 x i8] undef } | |
| @const44013 = internal unnamed_addr constant i32 1114111 | |
| @const44014 = internal unnamed_addr constant i32 55296 | |
| @const44015 = internal unnamed_addr constant i32 57343 | |
| @str44016 = internal constant [42 x i8] c"from_digit: radix is too high (maximum 36)" | |
| @str44017 = internal constant [19 x i8] c"src/libcore/char.rs" | |
| @_ZN4char10from_digit14_MSG_FILE_LINE20h6e428c54043941afVPBE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str44016, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 116, [4 x i8] undef } | |
| @const44018 = internal unnamed_addr constant i32 97 | |
| @str44019 = internal constant [40 x i8] c"to_digit: radix is too high (maximum 36)" | |
| @_ZN4char12char.CharExt8to_digit14_MSG_FILE_LINE20h6e428c54043941afuSBE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str44019, i32 0, i32 0), i64 40 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 157, [4 x i8] undef } | |
| @const44020 = internal unnamed_addr constant i32 65 | |
| @const44021 = internal unnamed_addr constant { i8, i32, [24 x i8] } { i8 0, i32 116, [24 x i8] undef } | |
| @const44022 = internal unnamed_addr constant { i8, i32, [24 x i8] } { i8 0, i32 114, [24 x i8] undef } | |
| @const44023 = internal unnamed_addr constant { i8, i32, [24 x i8] } { i8 0, i32 110, [24 x i8] undef } | |
| @const44024 = internal unnamed_addr constant { i8, i32, [24 x i8] } { i8 0, i32 92, [24 x i8] undef } | |
| @const44025 = internal unnamed_addr constant { i8, i32, [24 x i8] } { i8 0, i32 39, [24 x i8] undef } | |
| @const44026 = internal unnamed_addr constant { i8, i32, [24 x i8] } { i8 0, i32 34, [24 x i8] undef } | |
| @const44027 = internal unnamed_addr constant i32 128 | |
| @const44028 = internal unnamed_addr constant i32 2048 | |
| @const44029 = internal unnamed_addr constant i32 65536 | |
| @const44030 = internal unnamed_addr constant i32 65535 | |
| @panic_bounds_check_loc44031 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 232 } | |
| @const44032 = internal unnamed_addr constant { i64, i64, [0 x i8] } { i64 1, i64 1, [0 x i8] undef } | |
| @const44033 = internal unnamed_addr constant i32 6 | |
| @const44034 = internal unnamed_addr constant i8 -64 | |
| @panic_bounds_check_loc44035 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 235 } | |
| @panic_bounds_check_loc44036 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 236 } | |
| @const44037 = internal unnamed_addr constant { i64, i64, [0 x i8] } { i64 1, i64 2, [0 x i8] undef } | |
| @const44038 = internal unnamed_addr constant i32 12 | |
| @const44039 = internal unnamed_addr constant i8 -32 | |
| @panic_bounds_check_loc44040 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 239 } | |
| @panic_bounds_check_loc44041 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 240 } | |
| @panic_bounds_check_loc44042 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 241 } | |
| @const44043 = internal unnamed_addr constant { i64, i64, [0 x i8] } { i64 1, i64 3, [0 x i8] undef } | |
| @const44044 = internal unnamed_addr constant i32 18 | |
| @const44045 = internal unnamed_addr constant i8 -16 | |
| @panic_bounds_check_loc44046 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 244 } | |
| @panic_bounds_check_loc44047 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 245 } | |
| @panic_bounds_check_loc44048 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 246 } | |
| @panic_bounds_check_loc44049 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 247 } | |
| @const44050 = internal unnamed_addr constant { i64, i64, [0 x i8] } { i64 1, i64 4, [0 x i8] undef } | |
| @panic_bounds_check_loc44051 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 267 } | |
| @const44052 = internal unnamed_addr constant i16 -10240 | |
| @panic_bounds_check_loc44053 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 272 } | |
| @const44054 = internal unnamed_addr constant i16 -9216 | |
| @const44055 = internal unnamed_addr constant i16 1023 | |
| @panic_bounds_check_loc44056 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44017, i32 0, i32 0), i64 19 }, i32 273 } | |
| @const44057 = internal unnamed_addr constant { i64, [8 x i8] } { i64 1, [8 x i8] undef } | |
| @const44058 = internal unnamed_addr constant { i64, [8 x i8] } { i64 2, [8 x i8] undef } | |
| @const44059 = internal unnamed_addr constant { i64, [8 x i8] } { i64 4, [8 x i8] undef } | |
| @const44060 = internal unnamed_addr constant { i64, [8 x i8] } { i64 5, [8 x i8] undef } | |
| @const44061 = internal unnamed_addr constant { i32, i32, [0 x i8] } { i32 1, i32 92, [0 x i8] undef } | |
| @const44062 = internal unnamed_addr constant { i32, i32, [0 x i8] } { i32 1, i32 117, [0 x i8] undef } | |
| @const44063 = internal unnamed_addr constant { i32, i32, [0 x i8] } { i32 1, i32 123, [0 x i8] undef } | |
| @const44064 = internal unnamed_addr constant { i32, i32, [0 x i8] } { i32 1, i32 125, [0 x i8] undef } | |
| @const44065 = internal unnamed_addr constant { i8, [31 x i8] } { i8 2, [31 x i8] undef } | |
| @ref44066 = internal unnamed_addr constant [0 x %"fmt::ArgumentV1"] zeroinitializer | |
| @const44067 = internal unnamed_addr constant { %"fmt::ArgumentV1"*, i64 } { %"fmt::ArgumentV1"* getelementptr inbounds ([0 x %"fmt::ArgumentV1"], [0 x %"fmt::ArgumentV1"]* @ref44066, i32 0, i32 0), i64 0 } | |
| @str44068 = internal constant [32 x i8] c"index out of bounds: the len is " | |
| @str44069 = internal constant [18 x i8] c" but the index is " | |
| @ref44070 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str44068, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([18 x i8], [18 x i8]* @str44069, i32 0, i32 0), i64 18 }] | |
| @_ZN9panicking18panic_bounds_check15__STATIC_FMTSTR20h9a0d40d93917c69ab8BE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44070, i32 0, i32 0), i64 2 } | |
| @const44071 = internal unnamed_addr constant i8 (i64*, %"fmt::Formatter"*)* @_ZN3fmt3num18usize.fmt..Display3fmt20h1307f0a0aaa587a885LE | |
| @str44072 = internal constant [40 x i8] c"internal error: entered unreachable code" | |
| @"_ZN4iter41Zip$LT$A$C$$u20$B$GT$.DoubleEndedIterator9next_back14_MSG_FILE_LINE20h6e428c54043941afM5CE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str44072, i32 0, i32 0), i64 40 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str43828, i32 0, i32 0), i64 19 }, i32 1667, [4 x i8] undef } | |
| @panic_loc44073 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43580, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str43828, i32 0, i32 0), i64 19 }, i32 2635 } | |
| @panic_loc44074 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str43828, i32 0, i32 0), i64 19 }, i32 2636 } | |
| @panic_loc44075 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str43828, i32 0, i32 0), i64 19 }, i32 2638 } | |
| @const44076 = internal unnamed_addr constant { i64, i64, [0 x i8] } { i64 1, i64 0, [0 x i8] undef } | |
| @panic_loc44077 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str43580, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str43828, i32 0, i32 0), i64 19 }, i32 2676 } | |
| @panic_loc44078 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str43828, i32 0, i32 0), i64 19 }, i32 2677 } | |
| @panic_loc44079 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str43828, i32 0, i32 0), i64 19 }, i32 2679 } | |
| @"_ZN6option15Option$LT$T$GT$6expect10_FILE_LINE20hd3cd7f37ba62d99dD0EE" = constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str43810, i32 0, i32 0), i64 21 }, i32 330, [4 x i8] undef } | |
| @"_ZN6option15Option$LT$T$GT$6expect15__STATIC_FMTSTR20h9a0d40d93917c69aT0EE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @str44080 = internal constant [21 x i8] c"src/libcore/result.rs" | |
| @"_ZN6result24Result$LT$T$C$$u20$E$GT$6unwrap10_FILE_LINE20hd3cd7f37ba62d99dCIFE" = constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str44080, i32 0, i32 0), i64 21 }, i32 731, [4 x i8] undef } | |
| @str44081 = internal constant [45 x i8] c"called `Result::unwrap()` on an `Err` value: " | |
| @ref44082 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str44081, i32 0, i32 0), i64 45 }] | |
| @"_ZN6result24Result$LT$T$C$$u20$E$GT$6unwrap15__STATIC_FMTSTR20h9a0d40d93917c69aSIFE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44082, i32 0, i32 0), i64 1 } | |
| @"_ZN6result24Result$LT$T$C$$u20$E$GT$6expect10_FILE_LINE20hd3cd7f37ba62d99dCJFE" = constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str44080, i32 0, i32 0), i64 21 }, i32 751, [4 x i8] undef } | |
| @str44083 = internal constant [2 x i8] c": " | |
| @ref44084 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44083, i32 0, i32 0), i64 2 }] | |
| @"_ZN6result24Result$LT$T$C$$u20$E$GT$6expect15__STATIC_FMTSTR20h9a0d40d93917c69aSJFE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44084, i32 0, i32 0), i64 2 } | |
| @"_ZN6result24Result$LT$T$C$$u20$E$GT$10unwrap_err10_FILE_LINE20hd3cd7f37ba62d99dLKFE" = constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str44080, i32 0, i32 0), i64 21 }, i32 781, [4 x i8] undef } | |
| @str44085 = internal constant [48 x i8] c"called `Result::unwrap_err()` on an `Ok` value: " | |
| @ref44086 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([48 x i8], [48 x i8]* @str44085, i32 0, i32 0), i64 48 }] | |
| @"_ZN6result24Result$LT$T$C$$u20$E$GT$10unwrap_err15__STATIC_FMTSTR20h9a0d40d93917c69a1KFE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44086, i32 0, i32 0), i64 1 } | |
| @str44087 = internal constant [5 x i8] c"i8x16" | |
| @const44088 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44087, i32 0, i32 0), i64 5 } | |
| @vtable44089 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i8**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (i8**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h6020435801676114187E" } | |
| @str44090 = internal constant [5 x i8] c"i16x8" | |
| @const44091 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44090, i32 0, i32 0), i64 5 } | |
| @str44092 = internal constant [5 x i8] c"i32x4" | |
| @const44093 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44092, i32 0, i32 0), i64 5 } | |
| @vtable44094 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i32**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (i32**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt19h362432119984124948E" } | |
| @str44095 = internal constant [5 x i8] c"i64x2" | |
| @const44096 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44095, i32 0, i32 0), i64 5 } | |
| @vtable44097 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i64**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (i64**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt21h10707663369023453137E" } | |
| @str44098 = internal constant [5 x i8] c"u8x16" | |
| @const44099 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44098, i32 0, i32 0), i64 5 } | |
| @str44100 = internal constant [5 x i8] c"u16x8" | |
| @const44101 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44100, i32 0, i32 0), i64 5 } | |
| @str44102 = internal constant [5 x i8] c"u32x4" | |
| @const44103 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44102, i32 0, i32 0), i64 5 } | |
| @vtable44104 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (i32**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (i32**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt21h10391898542323497893E" } | |
| @str44105 = internal constant [5 x i8] c"u64x2" | |
| @const44106 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44105, i32 0, i32 0), i64 5 } | |
| @str44107 = internal constant [5 x i8] c"f32x4" | |
| @const44108 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44107, i32 0, i32 0), i64 5 } | |
| @vtable44109 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (float**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (float**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h8199377383719412690E" } | |
| @str44110 = internal constant [5 x i8] c"f64x2" | |
| @const44111 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44110, i32 0, i32 0), i64 5 } | |
| @vtable44112 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (double**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (double**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt21h11116938081325264325E" } | |
| @str44113 = internal constant [27 x i8] c"assertion failed: size != 0" | |
| @"_ZN5slice21_$u5b$T$u5d$.SliceExt7windows14_MSG_FILE_LINE20h6e428c54043941afVuGE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str44113, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 217, [4 x i8] undef } | |
| @"_ZN5slice21_$u5b$T$u5d$.SliceExt6chunks14_MSG_FILE_LINE20h6e428c54043941afAvGE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str44113, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 223, [4 x i8] undef } | |
| @str44114 = internal constant [32 x i8] c"assertion failed: chunk_size > 0" | |
| @"_ZN5slice21_$u5b$T$u5d$.SliceExt10chunks_mut14_MSG_FILE_LINE20h6e428c54043941af2EGE" = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str44114, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 374, [4 x i8] undef } | |
| @str44115 = internal constant [38 x i8] c"assertion failed: dst.len() >= len_src" | |
| @_ZN5slice5bytes11copy_memory14_MSG_FILE_LINE20h6e428c54043941afALHE = constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([38 x i8], [38 x i8]* @str44115, i32 0, i32 0), i64 38 }, %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 1442, [4 x i8] undef } | |
| @str44116 = internal constant [5 x i8] c"Match" | |
| @const44117 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44116, i32 0, i32 0), i64 5 } | |
| @str44118 = internal constant [6 x i8] c"Reject" | |
| @const44119 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str44118, i32 0, i32 0), i64 6 } | |
| @str44120 = internal constant [4 x i8] c"Done" | |
| @const44121 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str44120, i32 0, i32 0), i64 4 } | |
| @const44122 = internal unnamed_addr constant { i64, [16 x i8] } { i64 2, [16 x i8] undef } | |
| @const44125 = internal unnamed_addr constant %"marker::PhantomData<&'static char>" zeroinitializer | |
| @const44128 = internal unnamed_addr constant %closure.12 zeroinitializer | |
| @const44129 = internal unnamed_addr constant { i64, [16 x i8] } { i64 1, [16 x i8] undef } | |
| @const44134 = internal unnamed_addr constant %closure.13 zeroinitializer | |
| @const44135 = internal unnamed_addr constant %closure.14 zeroinitializer | |
| @const44140 = internal unnamed_addr constant %closure.15 zeroinitializer | |
| @const44141 = internal unnamed_addr constant %closure.16 zeroinitializer | |
| @const44142 = internal unnamed_addr constant void (%"str::pattern::CharSearcher"*, %"str::pattern::CharEqSearcher<char>"*)* @_ZN3str7pattern12CharSearcher21h15293924572909790887E | |
| @const44143 = internal unnamed_addr constant i32 (i32)* @_ZN3str7pattern13CharEqPattern20h5249094003598820047E | |
| @const44144 = internal unnamed_addr constant void (%"str::pattern::CharSliceSearcher"*, %"str::pattern::CharEqSearcher<&'static [char]>"*)* @_ZN3str7pattern17CharSliceSearcher21h10065558484671655556E | |
| @const44145 = internal unnamed_addr constant void (%"str::pattern::CharEqPattern<&'static [char]>"*, i32*, i64)* @_ZN3str7pattern13CharEqPattern20h2284958137704046113E | |
| @autoref44148 = internal unnamed_addr constant %closure.17 zeroinitializer | |
| @const44149 = internal unnamed_addr constant %closure.17* @autoref44148 | |
| @autoref44152 = internal unnamed_addr constant %closure.18 zeroinitializer | |
| @const44153 = internal unnamed_addr constant %closure.18* @autoref44152 | |
| @autoref44156 = internal unnamed_addr constant %closure.19 zeroinitializer | |
| @const44157 = internal unnamed_addr constant %closure.19* @autoref44156 | |
| @autoref44160 = internal unnamed_addr constant %closure.20 zeroinitializer | |
| @const44161 = internal unnamed_addr constant %closure.20* @autoref44160 | |
| @autoref44164 = internal unnamed_addr constant %closure.21 zeroinitializer | |
| @const44165 = internal unnamed_addr constant %closure.21* @autoref44164 | |
| @str44166 = internal constant [4 x i8] c"true" | |
| @str44167 = internal constant [5 x i8] c"false" | |
| @const44168 = internal unnamed_addr constant { i8, i1, [0 x i8] } { i8 0, i1 true, [0 x i8] undef } | |
| @const44169 = internal unnamed_addr constant { i8, i1, [0 x i8] } { i8 0, i1 false, [0 x i8] undef } | |
| @const44170 = internal unnamed_addr constant { i8, { {} }, [1 x i8] } { i8 1, { {} } zeroinitializer, [1 x i8] undef } | |
| @str44171 = internal constant [14 x i8] c"ParseBoolError" | |
| @const44172 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([14 x i8], [14 x i8]* @str44171, i32 0, i32 0), i64 14 } | |
| @str44173 = internal constant [5 x i8] c"_priv" | |
| @const44174 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44173, i32 0, i32 0), i64 5 } | |
| @vtable44175 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 ({}**, %"fmt::Formatter"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 ({}**, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt19h188549729837635983E" } | |
| @str44176 = internal constant [41 x i8] c"provided string was not `true` or `false`" | |
| @const44177 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([41 x i8], [41 x i8]* @str44176, i32 0, i32 0), i64 41 } | |
| @str44178 = internal constant [9 x i8] c"Utf8Error" | |
| @const44179 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([9 x i8], [9 x i8]* @str44178, i32 0, i32 0), i64 9 } | |
| @str44180 = internal constant [11 x i8] c"valid_up_to" | |
| @const44181 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([11 x i8], [11 x i8]* @str44180, i32 0, i32 0), i64 11 } | |
| @str44182 = internal constant [39 x i8] c"invalid utf-8: invalid byte near index " | |
| @ref44183 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([39 x i8], [39 x i8]* @str44182, i32 0, i32 0), i64 39 }] | |
| @_ZN3str22Utf8Error.fmt..Display3fmt15__STATIC_FMTSTR20h9a0d40d93917c69akQIE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44183, i32 0, i32 0), i64 1 } | |
| @const44184 = internal unnamed_addr constant i8 127 | |
| @const44185 = internal unnamed_addr constant i8 63 | |
| @const44186 = internal unnamed_addr constant i32 3 | |
| @const44189 = internal unnamed_addr constant %closure.22 zeroinitializer | |
| @const44192 = internal unnamed_addr constant %closure.23 zeroinitializer | |
| @const44197 = internal unnamed_addr constant { i64, { i64, [8 x i8] } } { i64 0, { i64, [8 x i8] } { i64 0, [8 x i8] undef } } | |
| @const44210 = internal unnamed_addr constant i8 13 | |
| @const44217 = internal unnamed_addr constant %closure.28 zeroinitializer | |
| @str44218 = internal constant [22 x i8] c"src/libcore/str/mod.rs" | |
| @panic_bounds_check_loc44219 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1080 } | |
| @panic_bounds_check_loc44220 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1084 } | |
| @str44221 = internal constant [19 x i8] c"not yet implemented" | |
| @_ZN3str11OldSearcher3new14_MSG_FILE_LINE20h6e428c54043941afqGJE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44221, i32 0, i32 0), i64 19 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1126, [4 x i8] undef } | |
| @const44222 = internal unnamed_addr constant i64 20 | |
| @_ZN3str11OldSearcher3new14_MSG_FILE_LINE20h6e428c54043941afTGJE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str44221, i32 0, i32 0), i64 19 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1133, [4 x i8] undef } | |
| @panic_loc44223 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str43573, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 738 } | |
| @const44224 = internal unnamed_addr constant { i64, {}, [8 x i8] } { i64 0, {} zeroinitializer, [8 x i8] undef } | |
| @_ZN3str15UTF8_CHAR_WIDTH20h38928376f06d7bdcyPJE = internal 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" | |
| @panic_bounds_check_loc44225 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1239 } | |
| @const44228 = internal unnamed_addr constant { i8, [2 x i8] } { i8 0, [2 x i8] undef } | |
| @str44234 = internal constant [30 x i8] c"assertion failed: begin <= end" | |
| @_ZN3str16slice_error_fail14_MSG_FILE_LINE20h6e428c54043941afz8JE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str44234, i32 0, i32 0), i64 30 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1533, [4 x i8] undef } | |
| @str44235 = internal constant [6 x i8] c"index " | |
| @str44236 = internal constant [8 x i8] c" and/or " | |
| @str44237 = internal constant [5 x i8] c" in `" | |
| @str44238 = internal constant [34 x i8] c"` do not lie on character boundary" | |
| @ref44239 = internal unnamed_addr constant [4 x %str_slice] [%str_slice { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str44235, i32 0, i32 0), i64 6 }, %str_slice { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @str44236, i32 0, i32 0), i64 8 }, %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44237, i32 0, i32 0), i64 5 }, %str_slice { i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str44238, i32 0, i32 0), i64 34 }] | |
| @_ZN3str16slice_error_fail15__STATIC_FMTSTR20h9a0d40d93917c69aa9JE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([4 x %str_slice], [4 x %str_slice]* @ref44239, i32 0, i32 0), i64 4 } | |
| @const44240 = internal unnamed_addr constant i8 (%str_slice*, %"fmt::Formatter"*)* @"_ZN3fmt25_$RF$$u27$a$u20$T.Display3fmt21h16359573014518962453E" | |
| @_ZN3str16slice_error_fail10_FILE_LINE20hd3cd7f37ba62d99dU8JE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1534, [4 x i8] undef } | |
| @const44241 = internal unnamed_addr constant %"str::BytesDeref" zeroinitializer | |
| @const44245 = internal unnamed_addr constant %"str::LinesAnyMap" zeroinitializer | |
| @const44248 = internal unnamed_addr constant %closure.31 zeroinitializer | |
| @_ZN3str10str.StrExt11slice_chars14_MSG_FILE_LINE20h6e428c54043941afdgKE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str44234, i32 0, i32 0), i64 30 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1649, [4 x i8] undef } | |
| @str44249 = internal constant [44 x i8] c"slice_chars: `begin` is beyond end of string" | |
| @_ZN3str10str.StrExt11slice_chars14_MSG_FILE_LINE20h6e428c54043941afgiKE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str44249, i32 0, i32 0), i64 44 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1665, [4 x i8] undef } | |
| @str44250 = internal constant [42 x i8] c"slice_chars: `end` is beyond end of string" | |
| @_ZN3str10str.StrExt11slice_chars14_MSG_FILE_LINE20h6e428c54043941afDiKE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([42 x i8], [42 x i8]* @str44250, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1666, [4 x i8] undef } | |
| @panic_bounds_check_loc44251 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([20 x i8], [20 x i8]* @str43620, i32 0, i32 0), i64 20 }, i32 229 } | |
| @panic_bounds_check_loc44252 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1760 } | |
| @panic_bounds_check_loc44253 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1761 } | |
| @panic_bounds_check_loc44254 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1767 } | |
| @panic_bounds_check_loc44255 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1771 } | |
| @panic_bounds_check_loc44256 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1772 } | |
| @str44257 = internal constant [24 x i8] c"assertion failed: w != 0" | |
| @_ZN3str10str.StrExt21char_range_at_reverse31multibyte_char_range_at_reverse14_MSG_FILE_LINE20h6e428c54043941afApKE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str44257, i32 0, i32 0), i64 24 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1773, [4 x i8] undef } | |
| @const44258 = internal unnamed_addr constant { { i32, { i8*, i8* } } } zeroinitializer | |
| @str44259 = internal constant [36 x i8] c"assertion failed: a_start <= b_start" | |
| @_ZN3str10str.StrExt15subslice_offset14_MSG_FILE_LINE20h6e428c54043941af2uKE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str44259, i32 0, i32 0), i64 36 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1844, [4 x i8] undef } | |
| @str44260 = internal constant [32 x i8] c"assertion failed: b_end <= a_end" | |
| @_ZN3str10str.StrExt15subslice_offset14_MSG_FILE_LINE20h6e428c54043941aftvKE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([32 x i8], [32 x i8]* @str44260, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1845, [4 x i8] undef } | |
| @panic_bounds_check_loc44261 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1876 } | |
| @panic_bounds_check_loc44262 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1877 } | |
| @panic_bounds_check_loc44263 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1882 } | |
| @panic_bounds_check_loc44264 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1883 } | |
| @_ZN3str17char_range_at_raw23multibyte_char_range_at14_MSG_FILE_LINE20h6e428c54043941af1xKE = internal constant { %str_slice, %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @str44257, i32 0, i32 0), i64 24 }, %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44218, i32 0, i32 0), i64 22 }, i32 1884, [4 x i8] undef } | |
| @const44265 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 } | |
| @const44266 = internal unnamed_addr constant i64 8317987319222330741 | |
| @const44267 = internal unnamed_addr constant i64 7237128888997146477 | |
| @const44268 = internal unnamed_addr constant i64 7816392313619706465 | |
| @const44269 = internal unnamed_addr constant i64 8387220255154660723 | |
| @const44270 = internal unnamed_addr constant i32 13 | |
| @const44271 = internal unnamed_addr constant i32 21 | |
| @const44272 = internal unnamed_addr constant i32 17 | |
| @const44273 = internal unnamed_addr constant i64 -8 | |
| @const44274 = internal unnamed_addr constant i32 24 | |
| @const44275 = internal unnamed_addr constant i32 40 | |
| @const44276 = internal unnamed_addr constant i64 255 | |
| @str44277 = internal constant [2 x i8] c"0b" | |
| @const44278 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44277, i32 0, i32 0), i64 2 } | |
| @str44279 = internal constant [27 x i8] c"number not in the range 0.." | |
| @ref44280 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([27 x i8], [27 x i8]* @str44279, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44083, i32 0, i32 0), i64 2 }] | |
| @_ZN3fmt3num19Binary.GenericRadix5digit15__STATIC_FMTSTR20h9a0d40d93917c69aqQLE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44280, i32 0, i32 0), i64 2 } | |
| @const44281 = internal unnamed_addr constant i8 (i8*, %"fmt::Formatter"*)* @_ZN3fmt3num15u8.fmt..Display3fmt20hf06f1214092bd9c2WbME | |
| @str44282 = internal constant [22 x i8] c"src/libcore/fmt/num.rs" | |
| @_ZN3fmt3num19Binary.GenericRadix5digit10_FILE_LINE20hd3cd7f37ba62d99daQLE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44282, i32 0, i32 0), i64 22 }, i32 120, [4 x i8] undef } | |
| @str44283 = internal constant [2 x i8] c"0o" | |
| @const44284 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44283, i32 0, i32 0), i64 2 } | |
| @_ZN3fmt3num18Octal.GenericRadix5digit15__STATIC_FMTSTR20h9a0d40d93917c69aZRLE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44280, i32 0, i32 0), i64 2 } | |
| @_ZN3fmt3num18Octal.GenericRadix5digit10_FILE_LINE20hd3cd7f37ba62d99dJRLE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44282, i32 0, i32 0), i64 22 }, i32 121, [4 x i8] undef } | |
| @const44285 = internal unnamed_addr constant i8 10 | |
| @_ZN3fmt3num20Decimal.GenericRadix5digit15__STATIC_FMTSTR20h9a0d40d93917c69ayTLE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44280, i32 0, i32 0), i64 2 } | |
| @_ZN3fmt3num20Decimal.GenericRadix5digit10_FILE_LINE20hd3cd7f37ba62d99diTLE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44282, i32 0, i32 0), i64 22 }, i32 122, [4 x i8] undef } | |
| @const44286 = internal unnamed_addr constant i8 16 | |
| @str44287 = internal constant [2 x i8] c"0x" | |
| @const44288 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44287, i32 0, i32 0), i64 2 } | |
| @const44289 = internal unnamed_addr constant i8 97 | |
| @_ZN3fmt3num21LowerHex.GenericRadix5digit15__STATIC_FMTSTR20h9a0d40d93917c69ahVLE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44280, i32 0, i32 0), i64 2 } | |
| @_ZN3fmt3num21LowerHex.GenericRadix5digit10_FILE_LINE20hd3cd7f37ba62d99d1ULE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44282, i32 0, i32 0), i64 22 }, i32 123, [4 x i8] undef } | |
| @const44290 = internal unnamed_addr constant i8 65 | |
| @_ZN3fmt3num21UpperHex.GenericRadix5digit15__STATIC_FMTSTR20h9a0d40d93917c69a0WLE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44280, i32 0, i32 0), i64 2 } | |
| @_ZN3fmt3num21UpperHex.GenericRadix5digit10_FILE_LINE20hd3cd7f37ba62d99dKWLE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44282, i32 0, i32 0), i64 22 }, i32 125, [4 x i8] undef } | |
| @const44291 = internal unnamed_addr constant i8 36 | |
| @str44292 = internal constant [40 x i8] c"the base must be in the range of 2..36: " | |
| @ref44293 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([40 x i8], [40 x i8]* @str44292, i32 0, i32 0), i64 40 }] | |
| @_ZN3fmt3num5Radix3new15__STATIC_FMTSTR20h9a0d40d93917c69aMZLE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44293, i32 0, i32 0), i64 1 } | |
| @_ZN3fmt3num5Radix3new10_FILE_LINE20hd3cd7f37ba62d99dwZLE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44282, i32 0, i32 0), i64 22 }, i32 138, [4 x i8] undef } | |
| @_ZN3fmt3num18Radix.GenericRadix5digit15__STATIC_FMTSTR20h9a0d40d93917c69ad1LE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44280, i32 0, i32 0), i64 2 } | |
| @_ZN3fmt3num18Radix.GenericRadix5digit10_FILE_LINE20hd3cd7f37ba62d99dX0LE = internal constant { %str_slice, i32, [4 x i8] } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44282, i32 0, i32 0), i64 22 }, i32 149, [4 x i8] undef } | |
| @autoref44294 = internal unnamed_addr constant %"fmt::num::Decimal" zeroinitializer | |
| @const44295 = internal unnamed_addr constant %"fmt::num::Decimal"* @autoref44294 | |
| @autoref44296 = internal unnamed_addr constant %"fmt::num::Binary" zeroinitializer | |
| @const44297 = internal unnamed_addr constant %"fmt::num::Binary"* @autoref44296 | |
| @autoref44298 = internal unnamed_addr constant %"fmt::num::Octal" zeroinitializer | |
| @const44299 = internal unnamed_addr constant %"fmt::num::Octal"* @autoref44298 | |
| @autoref44300 = internal unnamed_addr constant %"fmt::num::LowerHex" zeroinitializer | |
| @const44301 = internal unnamed_addr constant %"fmt::num::LowerHex"* @autoref44300 | |
| @autoref44302 = internal unnamed_addr constant %"fmt::num::UpperHex" zeroinitializer | |
| @const44303 = internal unnamed_addr constant %"fmt::num::UpperHex"* @autoref44302 | |
| @str44304 = internal constant [4 x i8] c" " | |
| @const44305 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str44304, i32 0, i32 0), i64 4 } | |
| @const44308 = internal unnamed_addr constant %closure.32 zeroinitializer | |
| @str44311 = internal constant [1 x i8] c"," | |
| @const44312 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44311, i32 0, i32 0), i64 1 } | |
| @str44313 = internal constant [2 x i8] c" {" | |
| @const44314 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44313, i32 0, i32 0), i64 2 } | |
| @vtable44315 = internal unnamed_addr constant { void (i8*)*, 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 (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 8, i64 8, i8 (%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>"*, i8*, i64)* @"_ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_str21h11221762009410138539E", i8 (%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>"*, i32)* @_ZN3fmt5Write10write_char20h1472929341506298381E, i8 (%"fmt::Write::write_fmt::Adapter<fmt::builders::PadAdapter>"*, %"fmt::Arguments"*)* @"_ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_fmt21h16120111082928536936E" } | |
| @vtable44316 = internal unnamed_addr constant { void (i8*)*, i64, i64, i8 (%"fmt::builders::PadAdapter"*, i8*, i64)*, i8 (%"fmt::builders::PadAdapter"*, i32)*, i8 (%"fmt::builders::PadAdapter"*, %"fmt::Arguments"*)* } { void (i8*)* @_ZN2i810drop.4369017hf93d5aa1ca3b13d4E, i64 16, i64 8, i8 (%"fmt::builders::PadAdapter"*, i8*, i64)* @"_ZN3fmt8builders49PadAdapter$LT$$u27$a$C$$u20$$u27$b$GT$.fmt..Write9write_str20h08dd22d535601e01VwME", i8 (%"fmt::builders::PadAdapter"*, i32)* @_ZN3fmt5Write10write_char21h18389409636991870185E, i8 (%"fmt::builders::PadAdapter"*, %"fmt::Arguments"*)* @_ZN3fmt5Write9write_fmt21h16247563877983074486E } | |
| @str44317 = internal constant [1 x i8] c"\0A" | |
| @ref44318 = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44317, i32 0, i32 0), i64 1 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44083, i32 0, i32 0), i64 2 }] | |
| @"_ZN3fmt8builders39DebugStruct$LT$$u27$a$C$$u20$$u27$b$GT$5field15__STATIC_FMTSTR20h9a0d40d93917c69avAME" = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref44318, i32 0, i32 0), i64 3 } | |
| @const44322 = internal unnamed_addr constant i8 ({ i8*, void (i8*)** }*, %"fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h8386821840881117222E" | |
| @ref44323 = internal unnamed_addr constant { { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } } { { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } { { i64, [8 x i8] } { i64 0, [8 x i8] undef }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } { i32 32, i8 3, i32 0, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } { { i64, [8 x i8] } { i64 0, [8 x i8] undef }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } { i32 32, i8 3, i32 0, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } { { i64, [8 x i8] } { i64 0, [8 x i8] undef }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } { i32 32, i8 3, i32 4, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef } } } } | |
| @"_ZN3fmt8builders39DebugStruct$LT$$u27$a$C$$u20$$u27$b$GT$5field16__STATIC_FMTARGS20h43474a3853fea22abBME" = internal constant { %"fmt::rt::v1::Argument"*, i64 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } }* @ref44323 to %"fmt::rt::v1::Argument"*), i64 3 } | |
| @str44324 = internal constant [1 x i8] c" " | |
| @ref44325 = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44324, i32 0, i32 0), i64 1 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44083, i32 0, i32 0), i64 2 }] | |
| @"_ZN3fmt8builders39DebugStruct$LT$$u27$a$C$$u20$$u27$b$GT$5field15__STATIC_FMTSTR20h9a0d40d93917c69aRBME" = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref44325, i32 0, i32 0), i64 3 } | |
| @str44328 = internal constant [2 x i8] c"\0A}" | |
| @const44329 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44328, i32 0, i32 0), i64 2 } | |
| @str44330 = internal constant [2 x i8] c" }" | |
| @const44331 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44330, i32 0, i32 0), i64 2 } | |
| @const44334 = internal unnamed_addr constant { %str_slice, %str_slice } { %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44311, i32 0, i32 0), i64 1 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44324, i32 0, i32 0), i64 1 } } | |
| @str44335 = internal constant [1 x i8] c"(" | |
| @const44336 = internal unnamed_addr constant { %str_slice, %str_slice } { %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44335, i32 0, i32 0), i64 1 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 } } | |
| @ref44337 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44317, i32 0, i32 0), i64 1 }] | |
| @"_ZN3fmt8builders38DebugTuple$LT$$u27$a$C$$u20$$u27$b$GT$5field15__STATIC_FMTSTR20h9a0d40d93917c69arFME" = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44337, i32 0, i32 0), i64 2 } | |
| @ref44338 = internal unnamed_addr constant { { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } } { { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } { { i64, [8 x i8] } { i64 0, [8 x i8] undef }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } { i32 32, i8 3, i32 0, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } { { i64, [8 x i8] } { i64 0, [8 x i8] undef }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } { i32 32, i8 3, i32 4, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef } } } } | |
| @"_ZN3fmt8builders38DebugTuple$LT$$u27$a$C$$u20$$u27$b$GT$5field16__STATIC_FMTARGS20h43474a3853fea22aZFME" = internal constant { %"fmt::rt::v1::Argument"*, i64 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } }* @ref44338 to %"fmt::rt::v1::Argument"*), i64 2 } | |
| @ref44339 = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }] | |
| @"_ZN3fmt8builders38DebugTuple$LT$$u27$a$C$$u20$$u27$b$GT$5field15__STATIC_FMTSTR20h9a0d40d93917c69axGME" = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref44339, i32 0, i32 0), i64 3 } | |
| @str44342 = internal constant [2 x i8] c"\0A)" | |
| @const44343 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44342, i32 0, i32 0), i64 2 } | |
| @str44344 = internal constant [1 x i8] c")" | |
| @const44345 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44344, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt8builders38DebugInner$LT$$u27$a$C$$u20$$u27$b$GT$5entry15__STATIC_FMTSTR20h9a0d40d93917c69avJME" = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44337, i32 0, i32 0), i64 2 } | |
| @"_ZN3fmt8builders38DebugInner$LT$$u27$a$C$$u20$$u27$b$GT$5entry16__STATIC_FMTARGS20h43474a3853fea22a3JME" = internal constant { %"fmt::rt::v1::Argument"*, i64 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } }* @ref44338 to %"fmt::rt::v1::Argument"*), i64 2 } | |
| @str44348 = internal constant [2 x i8] c", " | |
| @const44349 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44348, i32 0, i32 0), i64 2 } | |
| @ref44350 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }] | |
| @"_ZN3fmt8builders38DebugInner$LT$$u27$a$C$$u20$$u27$b$GT$5entry15__STATIC_FMTSTR20h9a0d40d93917c69aMKME" = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44350, i32 0, i32 0), i64 2 } | |
| @const44351 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44317, i32 0, i32 0), i64 1 } | |
| @str44354 = internal constant [1 x i8] c"{" | |
| @ref44355 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44354, i32 0, i32 0), i64 1 }] | |
| @_ZN3fmt8builders13debug_set_new15__STATIC_FMTSTR20h9a0d40d93917c69aUMME = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44355, i32 0, i32 0), i64 1 } | |
| @str44358 = internal constant [1 x i8] c"}" | |
| @const44359 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44358, i32 0, i32 0), i64 1 } | |
| @str44360 = internal constant [1 x i8] c"[" | |
| @ref44361 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44360, i32 0, i32 0), i64 1 }] | |
| @_ZN3fmt8builders14debug_list_new15__STATIC_FMTSTR20h9a0d40d93917c69atPME = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44361, i32 0, i32 0), i64 1 } | |
| @str44364 = internal constant [1 x i8] c"]" | |
| @const44365 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44364, i32 0, i32 0), i64 1 } | |
| @_ZN3fmt8builders13debug_map_new15__STATIC_FMTSTR20h9a0d40d93917c69a7RME = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44355, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt8builders36DebugMap$LT$$u27$a$C$$u20$$u27$b$GT$5entry15__STATIC_FMTSTR20h9a0d40d93917c69atTME" = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref44318, i32 0, i32 0), i64 3 } | |
| @ref44368 = internal unnamed_addr constant { { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } } { { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } { { i64, [8 x i8] } { i64 0, [8 x i8] undef }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } { i32 32, i8 3, i32 0, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } { { i64, [8 x i8] } { i64 0, [8 x i8] undef }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } { i32 32, i8 3, i32 4, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } { { i64, [8 x i8] } { i64 0, [8 x i8] undef }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } { i32 32, i8 3, i32 4, { i64, [8 x i8] } { i64 3, [8 x i8] undef }, { i64, [8 x i8] } { i64 3, [8 x i8] undef } } } } | |
| @"_ZN3fmt8builders36DebugMap$LT$$u27$a$C$$u20$$u27$b$GT$5entry16__STATIC_FMTARGS20h43474a3853fea22a9TME" = internal constant { %"fmt::rt::v1::Argument"*, i64 } { %"fmt::rt::v1::Argument"* bitcast ({ { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } }, { { i64, [8 x i8] }, { i32, i8, i32, { i64, [8 x i8] }, { i64, [8 x i8] } } } }* @ref44368 to %"fmt::rt::v1::Argument"*), i64 3 } | |
| @ref44369 = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44083, i32 0, i32 0), i64 2 }] | |
| @"_ZN3fmt8builders36DebugMap$LT$$u27$a$C$$u20$$u27$b$GT$5entry15__STATIC_FMTSTR20h9a0d40d93917c69a0UME" = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref44369, i32 0, i32 0), i64 3 } | |
| @ref44372 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44358, i32 0, i32 0), i64 1 }] | |
| @"_ZN3fmt8builders36DebugMap$LT$$u27$a$C$$u20$$u27$b$GT$6finish15__STATIC_FMTSTR20h9a0d40d93917c69ajXME" = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44372, i32 0, i32 0), i64 2 } | |
| @const44373 = internal unnamed_addr constant { i64, [8 x i8] } { i64 3, [8 x i8] undef } | |
| @str44374 = internal constant [5 x i8] c"Error" | |
| @const44375 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44374, i32 0, i32 0), i64 5 } | |
| @const44376 = internal unnamed_addr constant i8 (i64*, %"fmt::Formatter"*)* @"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$10show_usize20heec48704035d573cY8ME" | |
| @const44377 = internal unnamed_addr constant %"fmt::ArgumentV1"* inttoptr (i64 1 to %"fmt::ArgumentV1"*) | |
| @const44378 = internal unnamed_addr constant %"fmt::ArgumentV1"* null | |
| @const44379 = internal unnamed_addr constant %"marker::PhantomData<&'static fmt::ArgumentV1>" zeroinitializer | |
| @const44380 = internal unnamed_addr constant %str_slice* inttoptr (i64 1 to %str_slice*) | |
| @const44381 = internal unnamed_addr constant %str_slice* null | |
| @const44382 = internal unnamed_addr constant %"marker::PhantomData<&'static &'static str>" zeroinitializer | |
| @const44390 = internal unnamed_addr constant %"fmt::rt::v1::Argument"* inttoptr (i64 1 to %"fmt::rt::v1::Argument"*) | |
| @const44391 = internal unnamed_addr constant %"fmt::rt::v1::Argument"* null | |
| @const44392 = internal unnamed_addr constant %"marker::PhantomData<&'static fmt::rt::v1::Argument>" zeroinitializer | |
| @str44401 = internal constant [22 x i8] c"src/libcore/fmt/mod.rs" | |
| @panic_bounds_check_loc44402 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44401, i32 0, i32 0), i64 22 }, i32 463 } | |
| @panic_bounds_check_loc44403 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44401, i32 0, i32 0), i64 22 }, i32 475 } | |
| @const44406 = internal unnamed_addr constant %closure.47 zeroinitializer | |
| @const44407 = internal unnamed_addr constant { i32, i32, [0 x i8] } { i32 1, i32 45, [0 x i8] undef } | |
| @const44408 = internal unnamed_addr constant { i32, i32, [0 x i8] } { i32 1, i32 43, [0 x i8] undef } | |
| @str44419 = internal constant [64 x i8] c"0000000000000000000000000000000000000000000000000000000000000000" | |
| @const44420 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([64 x i8], [64 x i8]* @str44419, i32 0, i32 0), i64 64 } | |
| @str44421 = internal constant [45 x i8] c"an error occurred when formatting an argument" | |
| @const44422 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([45 x i8], [45 x i8]* @str44421, i32 0, i32 0), i64 45 } | |
| @const44423 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str44166, i32 0, i32 0), i64 4 } | |
| @const44424 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @str44167, i32 0, i32 0), i64 5 } | |
| @str44425 = internal constant [1 x i8] c"\22" | |
| @ref44426 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44425, i32 0, i32 0), i64 1 }] | |
| @_ZN3fmt9str.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a8ONE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44426, i32 0, i32 0), i64 1 } | |
| @const44432 = internal unnamed_addr constant %closure.53 zeroinitializer | |
| @const44437 = internal unnamed_addr constant %closure.55 zeroinitializer | |
| @const44441 = internal unnamed_addr constant void (%"char::EscapeDefault"*, %"char::EscapeDefault"*)* @_ZN4iter14I.IntoIterator9into_iter20h4960763972163423828E | |
| @_ZN3fmt9str.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ahQNE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @const44442 = internal unnamed_addr constant i8 (i32*, %"fmt::Formatter"*)* @_ZN3fmt12char.Display3fmt20h0528d7157ea73c8e2TNE | |
| @_ZN3fmt9str.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aXQNE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44426, i32 0, i32 0), i64 1 } | |
| @str44443 = internal constant [1 x i8] c"'" | |
| @ref44444 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44443, i32 0, i32 0), i64 1 }] | |
| @_ZN3fmt10char.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a1RNE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44444, i32 0, i32 0), i64 1 } | |
| @_ZN3fmt10char.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a2SNE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @_ZN3fmt10char.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aITNE = internal constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44444, i32 0, i32 0), i64 1 } | |
| @const44445 = internal unnamed_addr constant { i8, i64, [8 x i8] } { i8 0, i64 0, [8 x i8] undef } | |
| @binary44446 = internal unnamed_addr constant [3 x i8] c"NaN" | |
| @const44447 = internal unnamed_addr constant { i8, { i8*, i64 }, [0 x i8] } { i8 2, { i8*, i64 } { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @binary44446, i32 0, i32 0), i64 3 }, [0 x i8] undef } | |
| @panic_bounds_check_loc44448 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 617 } | |
| @binary44449 = internal unnamed_addr constant [3 x i8] c"inf" | |
| @const44450 = internal unnamed_addr constant { i8, { i8*, i64 }, [0 x i8] } { i8 2, { i8*, i64 } { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @binary44449, i32 0, i32 0), i64 3 }, [0 x i8] undef } | |
| @panic_bounds_check_loc44451 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 621 } | |
| @panic_bounds_check_loc44452 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 626 } | |
| @panic_bounds_check_loc44453 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 627 } | |
| @binary44454 = internal unnamed_addr constant [1 x i8] c"0" | |
| @const44455 = internal unnamed_addr constant { i8, { i8*, i64 }, [0 x i8] } { i8 2, { i8*, i64 } { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @binary44454, i32 0, i32 0), i64 1 }, [0 x i8] undef } | |
| @panic_bounds_check_loc44456 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 630 } | |
| @const44457 = internal unnamed_addr constant i64 32768 | |
| @panic_bounds_check_loc44461 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 649 } | |
| @panic_bounds_check_loc44462 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 650 } | |
| @panic_bounds_check_loc44463 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 653 } | |
| @const44464 = internal unnamed_addr constant void ({ i64, i16 }*, %"num::flt2dec::decoder::Decoded"*, i8*, i64, i16)* @_ZN3num7flt2dec8strategy5grisu12format_exact20hf929d7acbaed7f7d8AeE | |
| @panic_bounds_check_loc44465 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 428 } | |
| @panic_bounds_check_loc44466 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 432 } | |
| @panic_bounds_check_loc44467 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 437 } | |
| @panic_bounds_check_loc44468 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 438 } | |
| @panic_bounds_check_loc44469 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 441 } | |
| @const44473 = internal unnamed_addr constant void ({ i64, i16 }*, %"num::flt2dec::decoder::Decoded"*, i8*, i64)* @_ZN3num7flt2dec8strategy5grisu15format_shortest20h9b02ceac064ee058FmeE | |
| @panic_bounds_check_loc44474 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 562 } | |
| @panic_bounds_check_loc44475 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 566 } | |
| @panic_bounds_check_loc44476 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 571 } | |
| @panic_bounds_check_loc44477 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 572 } | |
| @binary44478 = internal unnamed_addr constant [2 x i8] c"E0" | |
| @const44479 = internal unnamed_addr constant { i8*, i64 } { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @binary44478, i32 0, i32 0), i64 2 } | |
| @binary44480 = internal unnamed_addr constant [2 x i8] c"e0" | |
| @const44481 = internal unnamed_addr constant { i8*, i64 } { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @binary44480, i32 0, i32 0), i64 2 } | |
| @panic_bounds_check_loc44482 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 573 } | |
| @binary44483 = internal unnamed_addr constant [3 x i8] c"0E0" | |
| @const44484 = internal unnamed_addr constant { i8*, i64 } { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @binary44483, i32 0, i32 0), i64 3 } | |
| @binary44485 = internal unnamed_addr constant [3 x i8] c"0e0" | |
| @const44486 = internal unnamed_addr constant { i8*, i64 } { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @binary44485, i32 0, i32 0), i64 3 } | |
| @panic_bounds_check_loc44487 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 576 } | |
| @panic_bounds_check_loc44488 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 484 } | |
| @panic_bounds_check_loc44489 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 488 } | |
| @panic_bounds_check_loc44490 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8], [30 x i8]* @str43833, i32 0, i32 0), i64 30 }, i32 492 } | |
| @const44491 = internal unnamed_addr constant { i16, i16 } zeroinitializer | |
| @ref44492 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44335, i32 0, i32 0), i64 1 }] | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aN4NE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44492, i32 0, i32 0), i64 1 } | |
| @ref44493 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44348, i32 0, i32 0), i64 2 }] | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aS5NE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aw6NE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69as7NE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a67NE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a28NE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aG9NE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aCaOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69agbOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69accOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aQcOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aMdOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aqeOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69amfOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a0fOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aWgOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aAhOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69awiOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aajOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a6jOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aKkOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aGlOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69akmOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69agnOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aUnOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @ref44494 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44311, i32 0, i32 0), i64 1 }] | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aQoOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44494, i32 0, i32 0), i64 1 } | |
| @ref44495 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str44344, i32 0, i32 0), i64 1 }] | |
| @"_ZN3fmt129_$LP$T0$C$$u20$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ampOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44495, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aGqOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44492, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aKrOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aosOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aktOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aYtOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aUuOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ayvOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69auwOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a8wOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a4xOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aIyOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aEzOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aiAOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aeBOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aSBOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aOCOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69asDOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aoEOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a2EOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aYFOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aCGOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ayHOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69acIOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a8IOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44494, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt119_$LP$T1$C$$u20$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aEJOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44495, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aVKOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44492, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aYLOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aCMOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ayNOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69acOOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a8OOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aMPOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aIQOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69amROE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aiSOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aWSOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aSTOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69awUOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69asVOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a6VOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a2WOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aGXOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aCYOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69agZOE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ac0OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aQ0OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aM1OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44494, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt109_$LP$T2$C$$u20$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ai2OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44495, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aw3OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44492, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ay4OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ac5OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a85OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aM6OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aI7OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69am8OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ai9OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aW9OE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aSaPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69awbPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ascPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a6cPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a2dPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aGePE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aCfPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aggPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69achPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aQhPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aMiPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44494, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt99_$LP$T3$C$$u20$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aijPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44495, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69atkPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44492, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aulPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a8lPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a4mPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aInPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aEoPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aipPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aeqPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aSqPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aOrPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69assPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aotPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a2tPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aYuPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aCvPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aywPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69acxPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a8xPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44494, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt89_$LP$T4$C$$u20$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aEyPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44495, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aMzPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44492, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aMAPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aqBPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69amCPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a0CPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aWDPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aAEPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69awFPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aaGPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a6GPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aKHPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aGIPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69akJPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69agKPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aUKPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aQLPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44494, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt79_$LP$T5$C$$u20$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69amMPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44495, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69arNPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44492, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aqOPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a4OPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a0PPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aEQPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aARPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aeSPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aaTPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aOTPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aKUPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aoVPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69akWPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aYWPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aUXPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44494, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt69_$LP$T6$C$$u20$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aqYPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44495, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69asZPE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44492, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aq0PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a40PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a01PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aE2PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aA3PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ae4PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aa5PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aO5PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aK6PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ao7PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ak8PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44494, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt59_$LP$T7$C$$u20$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aQ8PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44495, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt49_$LP$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aP9PE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44492, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt49_$LP$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aMaQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt49_$LP$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aqbQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt49_$LP$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69amcQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt49_$LP$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a0cQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt49_$LP$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aWdQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt49_$LP$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aAeQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt49_$LP$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69awfQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt49_$LP$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aagQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt49_$LP$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a6gQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44494, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt49_$LP$T8$C$$u20$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aChQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44495, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt39_$LP$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ayiQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44492, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt39_$LP$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aujQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt39_$LP$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a8jQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt39_$LP$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a4kQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt39_$LP$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aIlQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt39_$LP$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aEmQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt39_$LP$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ainQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt39_$LP$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aeoQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44494, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt39_$LP$T9$C$$u20$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aKoQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44495, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt29_$LP$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aDpQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44492, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt29_$LP$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ayqQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt29_$LP$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69acrQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt29_$LP$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a8rQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt29_$LP$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aMsQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt29_$LP$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aItQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44494, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt29_$LP$T10$C$$u20$T11$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aeuQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44495, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt21_$LP$T11$C$$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a4uQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44492, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt21_$LP$T11$C$$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aYvQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44493, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt21_$LP$T11$C$$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aCwQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref43655, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt21_$LP$T11$C$$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69ayxQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44494, i32 0, i32 0), i64 1 } | |
| @"_ZN3fmt21_$LP$T11$C$$RP$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69a4xQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44495, i32 0, i32 0), i64 1 } | |
| @str44496 = internal constant [2 x i8] c"()" | |
| @const44497 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44496, i32 0, i32 0), i64 2 } | |
| @str44498 = internal constant [14 x i8] c"Cell { value: " | |
| @ref44499 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([14 x i8], [14 x i8]* @str44498, i32 0, i32 0), i64 14 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44330, i32 0, i32 0), i64 2 }] | |
| @"_ZN3fmt19Cell$LT$T$GT$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aJzQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44499, i32 0, i32 0), i64 2 } | |
| @str44500 = internal constant [17 x i8] c"RefCell { value: " | |
| @ref44501 = internal unnamed_addr constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([17 x i8], [17 x i8]* @str44500, i32 0, i32 0), i64 17 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str44330, i32 0, i32 0), i64 2 }] | |
| @"_ZN3fmt22RefCell$LT$T$GT$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69aFAQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([2 x %str_slice], [2 x %str_slice]* @ref44501, i32 0, i32 0), i64 2 } | |
| @str44502 = internal constant [22 x i8] c"RefCell { <borrowed> }" | |
| @ref44503 = internal unnamed_addr constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str44502, i32 0, i32 0), i64 22 }] | |
| @"_ZN3fmt22RefCell$LT$T$GT$.Debug3fmt15__STATIC_FMTSTR20h9a0d40d93917c69acBQE" = constant { %str_slice*, i64 } { %str_slice* getelementptr inbounds ([1 x %str_slice], [1 x %str_slice]* @ref44503, i32 0, i32 0), i64 1 } | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float3nan20h96a4717cfc7a7c18TfaE() unnamed_addr #0 { | |
| entry-block: | |
| ret float 0x7FF8000000000000 | |
| } | |
| declare i32 @rust_eh_personality(...) unnamed_addr #1 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float8infinity20h6ec1d6c56e54b7d5YfaE() unnamed_addr #0 { | |
| entry-block: | |
| ret float 0x7FF0000000000000 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float12neg_infinity20h6adc134f1b5bae443faE() unnamed_addr #0 { | |
| entry-block: | |
| ret float 0xFFF0000000000000 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float4zero20h9687bc314ac19e9b8faE() unnamed_addr #0 { | |
| entry-block: | |
| ret float 0.000000e+00 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float8neg_zero20h794abe4bdbfd8709dgaE() unnamed_addr #0 { | |
| entry-block: | |
| ret float -0.000000e+00 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float3one20h22aeffd009d5448ejgaE() unnamed_addr #0 { | |
| entry-block: | |
| ret float 1.000000e+00 | |
| } | |
| ; Function Attrs: uwtable | |
| define i64 @_ZN3f329f32.Float14from_str_radix20h8e23e737994ad8b3ogaE(i8* noalias nonnull readonly, i64, i32) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca %"result::Result<f32, num::ParseFloatError>" | |
| %src = alloca %str_slice | |
| %radix = alloca i32 | |
| %to_ref = alloca %str_slice | |
| %to_ref5 = alloca %str_slice | |
| %to_ref8 = alloca %str_slice | |
| %3 = alloca { i8, %str_slice } | |
| %4 = alloca %"option::Option<(char, &'static str)>" | |
| %__llmatch = alloca %str_slice* | |
| %src13 = alloca %str_slice | |
| %to_ref22 = alloca %str_slice | |
| %is_positive = alloca i8 | |
| %src25 = alloca %str_slice | |
| %sig = alloca float | |
| %prev_sig = alloca float | |
| %cs = alloca %"iter::Enumerate<str::Chars>" | |
| %5 = alloca %"str::Chars" | |
| %exp_info = alloca %"option::Option<(char, usize)>" | |
| %result = alloca {} | |
| %6 = alloca %"iter::Enumerate<str::Chars>"* | |
| %7 = alloca %"iter::Enumerate<str::Chars>"* | |
| %match = alloca %"iter::Enumerate<str::Chars>"* | |
| %iter = alloca %"iter::Enumerate<str::Chars>"** | |
| %8 = alloca %"option::Option<(usize, char)>" | |
| %__llmatch29 = alloca i64* | |
| %i = alloca i64 | |
| %__llmatch30 = alloca i32* | |
| %c = alloca i32 | |
| %9 = alloca %"option::Option<u32>" | |
| %match34 = alloca %"option::Option<u32>" | |
| %__llmatch36 = alloca i32* | |
| %digit = alloca i32 | |
| %10 = alloca %"option::Option<(char, usize)>" | |
| %11 = alloca i8 | |
| %power = alloca float | |
| %result77 = alloca {} | |
| %12 = alloca %"iter::Enumerate<str::Chars>"* | |
| %13 = alloca %"iter::Enumerate<str::Chars>"* | |
| %match78 = alloca %"iter::Enumerate<str::Chars>"* | |
| %iter80 = alloca %"iter::Enumerate<str::Chars>"** | |
| %14 = alloca %"option::Option<(usize, char)>" | |
| %__llmatch84 = alloca i64* | |
| %i85 = alloca i64 | |
| %__llmatch86 = alloca i32* | |
| %c87 = alloca i32 | |
| %15 = alloca %"option::Option<u32>" | |
| %match91 = alloca %"option::Option<u32>" | |
| %__llmatch93 = alloca i32* | |
| %digit94 = alloca i32 | |
| %16 = alloca float | |
| %17 = alloca %"option::Option<(char, usize)>" | |
| %exp = alloca float | |
| %__llmatch129 = alloca i32* | |
| %c130 = alloca i32 | |
| %__llmatch131 = alloca i64* | |
| %offset = alloca i64 | |
| %base = alloca float | |
| %src155 = alloca %str_slice | |
| %18 = alloca %"ops::RangeFrom<usize>" | |
| %overloaded_index_elt = alloca %str_slice | |
| %__fat_ptr = alloca %str_slice | |
| %19 = alloca { i8, %"result::Result<usize, num::ParseIntError>" } | |
| %20 = alloca %"option::Option<(char, &'static str)>" | |
| %__llmatch157 = alloca %str_slice* | |
| %src158 = alloca %str_slice | |
| %__llmatch160 = alloca %str_slice* | |
| %src161 = alloca %str_slice | |
| %is_positive172 = alloca i8 | |
| %exp173 = alloca %"result::Result<usize, num::ParseIntError>" | |
| %21 = alloca { i8, %"result::Result<usize, num::ParseIntError>" } | |
| %__llmatch175 = alloca i64* | |
| %exp176 = alloca i64 | |
| %__llmatch178 = alloca i64* | |
| %exp179 = alloca i64 | |
| %22 = alloca float | |
| %23 = insertvalue %str_slice undef, i8* %0, 0 | |
| %24 = insertvalue %str_slice %23, i64 %1, 1 | |
| %25 = bitcast %str_slice* %src to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %25) | |
| store %str_slice %24, %str_slice* %src, align 8 | |
| %26 = bitcast i32* %radix to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %26) | |
| store i32 %2, i32* %radix, align 4 | |
| %27 = bitcast %str_slice* %to_ref to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %27) | |
| store %str_slice { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @str43517, i32 0, i32 0), i64 3 }, %str_slice* %to_ref, align 8 | |
| %28 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 0 | |
| %29 = load i8*, i8** %28 | |
| %30 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 1 | |
| %31 = load i64, i64* %30 | |
| %32 = getelementptr inbounds %str_slice, %str_slice* %to_ref, i32 0, i32 0 | |
| %33 = load i8*, i8** %32 | |
| %34 = getelementptr inbounds %str_slice, %str_slice* %to_ref, i32 0, i32 1 | |
| %35 = load i64, i64* %34 | |
| %36 = call zeroext i1 @_ZN3str8eq_slice20hcc8bfaf38dd0c426ZJJE(i8* noalias nonnull readonly %29, i64 %31, i8* noalias nonnull readonly %33, i64 %35) | |
| br i1 %36, label %match_case, label %compare_next | |
| case_body: ; preds = %match_case | |
| %37 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, float }* | |
| %38 = getelementptr inbounds { i8, float }, { i8, float }* %37, i32 0, i32 1 | |
| %39 = call float @_ZN3f329f32.Float8infinity20h6ec1d6c56e54b7d5YfaE() | |
| store float %39, float* %38, align 4 | |
| %40 = getelementptr inbounds %"result::Result<f32, num::ParseFloatError>", %"result::Result<f32, num::ParseFloatError>"* %sret_slot, i32 0, i32 0 | |
| store i8 0, i8* %40 | |
| br label %clean_custom_ | |
| case_body1: ; preds = %match_case4 | |
| %41 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, float }* | |
| %42 = getelementptr inbounds { i8, float }, { i8, float }* %41, i32 0, i32 1 | |
| %43 = call float @_ZN3f329f32.Float12neg_infinity20h6adc134f1b5bae443faE() | |
| store float %43, float* %42, align 4 | |
| %44 = getelementptr inbounds %"result::Result<f32, num::ParseFloatError>", %"result::Result<f32, num::ParseFloatError>"* %sret_slot, i32 0, i32 0 | |
| store i8 0, i8* %44 | |
| br label %clean_custom_ | |
| case_body2: ; preds = %match_case7 | |
| %45 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, float }* | |
| %46 = getelementptr inbounds { i8, float }, { i8, float }* %45, i32 0, i32 1 | |
| %47 = call float @_ZN3f329f32.Float3nan20h96a4717cfc7a7c18TfaE() | |
| store float %47, float* %46, align 4 | |
| %48 = getelementptr inbounds %"result::Result<f32, num::ParseFloatError>", %"result::Result<f32, num::ParseFloatError>"* %sret_slot, i32 0, i32 0 | |
| store i8 0, i8* %48 | |
| br label %clean_custom_ | |
| case_body3: ; preds = %match_else | |
| br label %join | |
| match_else: ; preds = %compare_next9 | |
| br label %case_body3 | |
| match_case: ; preds = %entry-block | |
| br label %case_body | |
| compare_next: ; preds = %entry-block | |
| %49 = bitcast %str_slice* %to_ref5 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %49) | |
| store %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str43518, i32 0, i32 0), i64 4 }, %str_slice* %to_ref5, align 8 | |
| %50 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 0 | |
| %51 = load i8*, i8** %50 | |
| %52 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 1 | |
| %53 = load i64, i64* %52 | |
| %54 = getelementptr inbounds %str_slice, %str_slice* %to_ref5, i32 0, i32 0 | |
| %55 = load i8*, i8** %54 | |
| %56 = getelementptr inbounds %str_slice, %str_slice* %to_ref5, i32 0, i32 1 | |
| %57 = load i64, i64* %56 | |
| %58 = call zeroext i1 @_ZN3str8eq_slice20hcc8bfaf38dd0c426ZJJE(i8* noalias nonnull readonly %51, i64 %53, i8* noalias nonnull readonly %55, i64 %57) | |
| br i1 %58, label %match_case4, label %compare_next6 | |
| match_case4: ; preds = %compare_next | |
| br label %case_body1 | |
| compare_next6: ; preds = %compare_next | |
| %59 = bitcast %str_slice* %to_ref8 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %59) | |
| store %str_slice { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @str43519, i32 0, i32 0), i64 3 }, %str_slice* %to_ref8, align 8 | |
| %60 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 0 | |
| %61 = load i8*, i8** %60 | |
| %62 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 1 | |
| %63 = load i64, i64* %62 | |
| %64 = getelementptr inbounds %str_slice, %str_slice* %to_ref8, i32 0, i32 0 | |
| %65 = load i8*, i8** %64 | |
| %66 = getelementptr inbounds %str_slice, %str_slice* %to_ref8, i32 0, i32 1 | |
| %67 = load i64, i64* %66 | |
| %68 = call zeroext i1 @_ZN3str8eq_slice20hcc8bfaf38dd0c426ZJJE(i8* noalias nonnull readonly %61, i64 %63, i8* noalias nonnull readonly %65, i64 %67) | |
| br i1 %68, label %match_case7, label %compare_next9 | |
| match_case7: ; preds = %compare_next6 | |
| br label %case_body2 | |
| compare_next9: ; preds = %compare_next6 | |
| br label %match_else | |
| clean_custom_: ; preds = %join188, %clean_ast_398_, %clean_ast_430_, %case_body2, %case_body1, %case_body | |
| %69 = bitcast i32* %radix to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %69) | |
| %70 = bitcast %str_slice* %src to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %70) | |
| br label %return | |
| join: ; preds = %case_body3 | |
| %71 = bitcast { i8, %str_slice }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %71) | |
| %72 = bitcast %"option::Option<(char, &'static str)>"* %4 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %72) | |
| %73 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 0 | |
| %74 = load i8*, i8** %73 | |
| %75 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 1 | |
| %76 = load i64, i64* %75 | |
| call void @_ZN3str10str.StrExt16slice_shift_char20h763b6d43914ac21cBtKE(%"option::Option<(char, &'static str)>"* noalias nocapture sret dereferenceable(24) %4, i8* noalias nonnull readonly %74, i64 %76) | |
| %77 = getelementptr inbounds %"option::Option<(char, &'static str)>", %"option::Option<(char, &'static str)>"* %4, i32 0, i32 0, i32 1, i32 0 | |
| %78 = load i8*, i8** %77 | |
| %79 = icmp ne i8* %78, null | |
| switch i1 %79, label %match_else15 [ | |
| i1 false, label %match_case16 | |
| ] | |
| case_body10: ; preds = %match_case16 | |
| %80 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, { i8 }, [6 x i8] }* | |
| %81 = bitcast { i8, { i8 }, [6 x i8] }* %80 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %81, i8* getelementptr inbounds ({ i8, { i8 }, [6 x i8] }, { i8, { i8 }, [6 x i8] }* @const43521, i32 0, i32 0), i64 8, i32 4, i1 false) | |
| br label %clean_ast_430_ | |
| case_body11: ; preds = %match_case21 | |
| %82 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, { i8 }, [6 x i8] }* | |
| %83 = bitcast { i8, { i8 }, [6 x i8] }* %82 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %83, i8* getelementptr inbounds ({ i8, { i8 }, [6 x i8] }, { i8, { i8 }, [6 x i8] }* @const43521, i32 0, i32 0), i64 8, i32 4, i1 false) | |
| br label %clean_ast_430_ | |
| case_body12: ; preds = %match_else20 | |
| %84 = load %str_slice*, %str_slice** %__llmatch | |
| %85 = bitcast %str_slice* %src13 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %85) | |
| %86 = bitcast %str_slice* %84 to i8* | |
| %87 = bitcast %str_slice* %src13 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %87, i8* %86, i64 16, i32 8, i1 false) | |
| %88 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %3, i32 0, i32 0 | |
| store i8 0, i8* %88, align 1 | |
| %89 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %3, i32 0, i32 1 | |
| %90 = bitcast %str_slice* %src13 to i8* | |
| %91 = bitcast %str_slice* %89 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %91, i8* %90, i64 16, i32 8, i1 false) | |
| %92 = bitcast %str_slice** %__llmatch to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %92) | |
| %93 = bitcast %str_slice* %src13 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %93) | |
| br label %join24 | |
| case_body14: ; preds = %match_else17 | |
| %94 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %3, i32 0, i32 0 | |
| store i8 1, i8* %94, align 1 | |
| %95 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %3, i32 0, i32 1 | |
| %96 = bitcast %str_slice* %src to i8* | |
| %97 = bitcast %str_slice* %95 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %97, i8* %96, i64 16, i32 8, i1 false) | |
| br label %join24 | |
| match_else15: ; preds = %join | |
| %98 = getelementptr inbounds %"option::Option<(char, &'static str)>", %"option::Option<(char, &'static str)>"* %4, i32 0, i32 0 | |
| %99 = getelementptr inbounds { i32, %str_slice }, { i32, %str_slice }* %98, i32 0, i32 0 | |
| %100 = getelementptr inbounds { i32, %str_slice }, { i32, %str_slice }* %98, i32 0, i32 1 | |
| %101 = load i32, i32* %99, align 4, !range !0 | |
| %102 = icmp eq i32 %101, 45 | |
| br i1 %102, label %match_case18, label %compare_next19 | |
| match_case16: ; preds = %join | |
| br label %case_body10 | |
| match_else17: ; preds = %compare_next19 | |
| br label %case_body14 | |
| match_case18: ; preds = %match_else15 | |
| %103 = bitcast %str_slice* %to_ref22 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %103) | |
| store %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice* %to_ref22, align 8 | |
| %104 = getelementptr inbounds %str_slice, %str_slice* %100, i32 0, i32 0 | |
| %105 = load i8*, i8** %104 | |
| %106 = getelementptr inbounds %str_slice, %str_slice* %100, i32 0, i32 1 | |
| %107 = load i64, i64* %106 | |
| %108 = getelementptr inbounds %str_slice, %str_slice* %to_ref22, i32 0, i32 0 | |
| %109 = load i8*, i8** %108 | |
| %110 = getelementptr inbounds %str_slice, %str_slice* %to_ref22, i32 0, i32 1 | |
| %111 = load i64, i64* %110 | |
| %112 = call zeroext i1 @_ZN3str8eq_slice20hcc8bfaf38dd0c426ZJJE(i8* noalias nonnull readonly %105, i64 %107, i8* noalias nonnull readonly %109, i64 %111) | |
| br i1 %112, label %match_case21, label %compare_next23 | |
| compare_next19: ; preds = %match_else15 | |
| br label %match_else17 | |
| match_else20: ; preds = %compare_next23 | |
| %113 = bitcast %str_slice** %__llmatch to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %113) | |
| store %str_slice* %100, %str_slice** %__llmatch | |
| br label %case_body12 | |
| match_case21: ; preds = %match_case18 | |
| br label %case_body11 | |
| compare_next23: ; preds = %match_case18 | |
| br label %match_else20 | |
| clean_ast_430_: ; preds = %case_body11, %case_body10 | |
| %114 = bitcast %"option::Option<(char, &'static str)>"* %4 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %114) | |
| br label %clean_custom_ | |
| join24: ; preds = %case_body14, %case_body12 | |
| %115 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %3, i32 0, i32 0 | |
| call void @llvm.lifetime.start(i64 1, i8* %is_positive) | |
| %116 = load i8, i8* %115, align 1, !range !1 | |
| %117 = trunc i8 %116 to i1 | |
| %118 = zext i1 %117 to i8 | |
| store i8 %118, i8* %is_positive, align 1 | |
| %119 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %3, i32 0, i32 1 | |
| %120 = bitcast %str_slice* %src25 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %120) | |
| %121 = bitcast %str_slice* %119 to i8* | |
| %122 = bitcast %str_slice* %src25 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %122, i8* %121, i64 16, i32 8, i1 false) | |
| %123 = bitcast { i8, %str_slice }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %123) | |
| %124 = bitcast %"option::Option<(char, &'static str)>"* %4 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %124) | |
| %125 = bitcast float* %sig to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %125) | |
| %126 = load i8, i8* %is_positive, align 1, !range !1 | |
| %127 = trunc i8 %126 to i1 | |
| br i1 %127, label %then-block-475-, label %else-block | |
| then-block-475-: ; preds = %join24 | |
| store float 0.000000e+00, float* %sig, align 4 | |
| br label %join26 | |
| else-block: ; preds = %join24 | |
| store float -0.000000e+00, float* %sig, align 4 | |
| br label %join26 | |
| join26: ; preds = %else-block, %then-block-475- | |
| %128 = bitcast float* %prev_sig to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %128) | |
| %129 = load float, float* %sig, align 4 | |
| store float %129, float* %prev_sig, align 4 | |
| %130 = bitcast %"iter::Enumerate<str::Chars>"* %cs to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %130) | |
| %131 = bitcast %"str::Chars"* %5 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %131) | |
| %132 = getelementptr inbounds %str_slice, %str_slice* %src25, i32 0, i32 0 | |
| %133 = load i8*, i8** %132 | |
| %134 = getelementptr inbounds %str_slice, %str_slice* %src25, i32 0, i32 1 | |
| %135 = load i64, i64* %134 | |
| call void @_ZN3str10str.StrExt5chars20h72e52c290c5f0a7craKE(%"str::Chars"* noalias nocapture sret dereferenceable(16) %5, i8* noalias nonnull readonly %133, i64 %135) | |
| call void @_ZN4iter8Iterator9enumerate20h5216804230006291893E(%"iter::Enumerate<str::Chars>"* noalias nocapture sret dereferenceable(24) %cs, %"str::Chars"* noalias nocapture dereferenceable(16) %5) | |
| %136 = bitcast %"str::Chars"* %5 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %136) | |
| %137 = bitcast %"option::Option<(char, usize)>"* %exp_info to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %137) | |
| %138 = bitcast %"option::Option<(char, usize)>"* %exp_info to { i64, [16 x i8] }* | |
| %139 = bitcast { i64, [16 x i8] }* %138 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %139, i8* bitcast ({ i64, [16 x i8] }* @const43525 to i8*), i64 24, i32 8, i1 false) | |
| %140 = bitcast {}* %result to i8* | |
| call void @llvm.lifetime.start(i64 0, i8* %140) | |
| %141 = bitcast %"iter::Enumerate<str::Chars>"** %6 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %141) | |
| %142 = bitcast %"iter::Enumerate<str::Chars>"** %7 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %142) | |
| %143 = call dereferenceable(24) %"iter::Enumerate<str::Chars>"* @_ZN4iter8Iterator6by_ref21h16646711982226617443E(%"iter::Enumerate<str::Chars>"* noalias dereferenceable(24) %cs) | |
| store %"iter::Enumerate<str::Chars>"* %143, %"iter::Enumerate<str::Chars>"** %7, align 8 | |
| %144 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %7, align 8, !nonnull !2 | |
| %145 = bitcast %"iter::Enumerate<str::Chars>"** %7 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %145) | |
| %146 = call dereferenceable(24) %"iter::Enumerate<str::Chars>"* @_ZN4iter14I.IntoIterator9into_iter20h6563255094920483013E(%"iter::Enumerate<str::Chars>"* noalias dereferenceable(24) %144) | |
| store %"iter::Enumerate<str::Chars>"* %146, %"iter::Enumerate<str::Chars>"** %6, align 8 | |
| %147 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %6, align 8, !nonnull !2 | |
| %148 = bitcast %"iter::Enumerate<str::Chars>"** %6 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %148) | |
| %149 = bitcast %"iter::Enumerate<str::Chars>"** %match to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %149) | |
| store %"iter::Enumerate<str::Chars>"* %147, %"iter::Enumerate<str::Chars>"** %match, align 8 | |
| %150 = bitcast %"iter::Enumerate<str::Chars>"*** %iter to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %150) | |
| store %"iter::Enumerate<str::Chars>"** %match, %"iter::Enumerate<str::Chars>"*** %iter | |
| br label %case_body27 | |
| case_body27: ; preds = %join26 | |
| %151 = load %"iter::Enumerate<str::Chars>"**, %"iter::Enumerate<str::Chars>"*** %iter | |
| br label %loop_body | |
| loop_exit: ; preds = %clean_ast_511_70 | |
| %152 = bitcast %"iter::Enumerate<str::Chars>"*** %iter to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %152) | |
| br label %join76 | |
| loop_body: ; preds = %join75, %case_body27 | |
| %153 = bitcast %"option::Option<(usize, char)>"* %8 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %153) | |
| call void @"_ZN4iter34_$RF$$u27$a$u20$mut$u20$I.Iterator4next21h12474813853625106210E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(24) %8, %"iter::Enumerate<str::Chars>"** noalias dereferenceable(8) %151) | |
| %154 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %8, i32 0, i32 0 | |
| %155 = load i64, i64* %154, !range !3 | |
| switch i64 %155, label %match_else32 [ | |
| i64 1, label %match_case33 | |
| ] | |
| case_body28: ; preds = %match_case33 | |
| %156 = load i64*, i64** %__llmatch29 | |
| %157 = bitcast i64* %i to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %157) | |
| %158 = load i64, i64* %156, align 8 | |
| store i64 %158, i64* %i, align 8 | |
| %159 = load i32*, i32** %__llmatch30 | |
| %160 = bitcast i32* %c to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %160) | |
| %161 = load i32, i32* %159, align 4, !range !0 | |
| store i32 %161, i32* %c, align 4 | |
| %162 = bitcast %"option::Option<u32>"* %9 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %162) | |
| %163 = load i32, i32* %c, align 4, !range !0 | |
| %164 = load i32, i32* %radix, align 4 | |
| %165 = call i64 @_ZN4char12char.CharExt8to_digit20h151cfc3f68bf51e09RBE(i32 %163, i32 %164) | |
| %166 = bitcast %"option::Option<u32>"* %9 to i64* | |
| store i64 %165, i64* %166, align 4 | |
| %167 = bitcast %"option::Option<u32>"* %9 to i64* | |
| %168 = load i64, i64* %167, align 4 | |
| %169 = bitcast %"option::Option<u32>"* %9 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %169) | |
| %170 = bitcast %"option::Option<u32>"* %match34 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %170) | |
| %171 = bitcast %"option::Option<u32>"* %match34 to i64* | |
| store i64 %168, i64* %171, align 4 | |
| %172 = getelementptr inbounds %"option::Option<u32>", %"option::Option<u32>"* %match34, i32 0, i32 0 | |
| %173 = load i32, i32* %172, !range !4 | |
| switch i32 %173, label %match_else38 [ | |
| i32 1, label %match_case39 | |
| ] | |
| case_body31: ; preds = %match_else32 | |
| br label %clean_ast_511_70 | |
| match_else32: ; preds = %loop_body | |
| br label %case_body31 | |
| match_case33: ; preds = %loop_body | |
| %174 = bitcast %"option::Option<(usize, char)>"* %8 to { i64, { i64, i32 } }* | |
| %175 = getelementptr inbounds { i64, { i64, i32 } }, { i64, { i64, i32 } }* %174, i32 0, i32 1 | |
| %176 = getelementptr inbounds { i64, i32 }, { i64, i32 }* %175, i32 0, i32 0 | |
| %177 = getelementptr inbounds { i64, i32 }, { i64, i32 }* %175, i32 0, i32 1 | |
| %178 = bitcast i32** %__llmatch30 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %178) | |
| store i32* %177, i32** %__llmatch30 | |
| %179 = bitcast i64** %__llmatch29 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %179) | |
| store i64* %176, i64** %__llmatch29 | |
| br label %case_body28 | |
| case_body35: ; preds = %match_case39 | |
| %180 = load i32*, i32** %__llmatch36 | |
| %181 = bitcast i32* %digit to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %181) | |
| %182 = load i32, i32* %180, align 4 | |
| store i32 %182, i32* %digit, align 4 | |
| %183 = load i32, i32* %radix, align 4 | |
| %184 = uitofp i32 %183 to float | |
| %185 = load float, float* %sig, align 4 | |
| %186 = fmul float %185, %184 | |
| store float %186, float* %sig, align 4 | |
| %187 = load i8, i8* %is_positive, align 1, !range !1 | |
| %188 = trunc i8 %187 to i1 | |
| br i1 %188, label %then-block-543-, label %else-block40 | |
| case_body37: ; preds = %match_else38 | |
| %189 = load i32, i32* %c, align 4, !range !0 | |
| %190 = icmp eq i32 %189, 101 | |
| br i1 %190, label %match_case60, label %compare_next61 | |
| match_else38: ; preds = %case_body28 | |
| br label %case_body37 | |
| match_case39: ; preds = %case_body28 | |
| %191 = bitcast %"option::Option<u32>"* %match34 to { i32, i32 }* | |
| %192 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %191, i32 0, i32 1 | |
| %193 = bitcast i32** %__llmatch36 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %193) | |
| store i32* %192, i32** %__llmatch36 | |
| br label %case_body35 | |
| then-block-543-: ; preds = %case_body35 | |
| %194 = load i32, i32* %digit, align 4 | |
| %195 = zext i32 %194 to i64 | |
| %196 = sitofp i64 %195 to float | |
| %197 = load float, float* %sig, align 4 | |
| %198 = fadd float %197, %196 | |
| store float %198, float* %sig, align 4 | |
| br label %join41 | |
| else-block40: ; preds = %case_body35 | |
| %199 = load i32, i32* %digit, align 4 | |
| %200 = zext i32 %199 to i64 | |
| %201 = sitofp i64 %200 to float | |
| %202 = load float, float* %sig, align 4 | |
| %203 = fsub float %202, %201 | |
| store float %203, float* %sig, align 4 | |
| br label %join41 | |
| join41: ; preds = %else-block40, %then-block-543- | |
| %204 = load float, float* %prev_sig, align 4 | |
| %205 = fcmp une float %204, 0.000000e+00 | |
| br i1 %205, label %then-block-575-, label %next-block55 | |
| then-block-575-: ; preds = %join41 | |
| %206 = load i8, i8* %is_positive, align 1, !range !1 | |
| %207 = trunc i8 %206 to i1 | |
| br i1 %207, label %before_rhs, label %join42 | |
| join42: ; preds = %before_rhs, %then-block-575- | |
| %208 = phi i1 [ %207, %then-block-575- ], [ %211, %before_rhs ] | |
| br i1 %208, label %then-block-583-, label %next-block | |
| before_rhs: ; preds = %then-block-575- | |
| %209 = load float, float* %sig, align 4 | |
| %210 = load float, float* %prev_sig, align 4 | |
| %211 = fcmp ole float %209, %210 | |
| br label %join42 | |
| then-block-583-: ; preds = %join42 | |
| %212 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, float }* | |
| %213 = getelementptr inbounds { i8, float }, { i8, float }* %212, i32 0, i32 1 | |
| %214 = call float @_ZN3f329f32.Float8infinity20h6ec1d6c56e54b7d5YfaE() | |
| store float %214, float* %213, align 4 | |
| %215 = getelementptr inbounds %"result::Result<f32, num::ParseFloatError>", %"result::Result<f32, num::ParseFloatError>"* %sret_slot, i32 0, i32 0 | |
| store i8 0, i8* %215 | |
| br label %clean_custom_45 | |
| clean_ast_398_: ; preds = %clean_custom_153, %clean_ast_704_, %clean_ast_501_ | |
| %216 = bitcast %"option::Option<(char, usize)>"* %exp_info to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %216) | |
| %217 = bitcast %"iter::Enumerate<str::Chars>"* %cs to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %217) | |
| %218 = bitcast float* %prev_sig to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %218) | |
| %219 = bitcast float* %sig to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %219) | |
| %220 = bitcast %str_slice* %src25 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %220) | |
| call void @llvm.lifetime.end(i64 1, i8* %is_positive) | |
| br label %clean_custom_ | |
| clean_ast_501_: ; preds = %clean_custom_43 | |
| %221 = bitcast %"iter::Enumerate<str::Chars>"** %match to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %221) | |
| br label %clean_ast_398_ | |
| clean_custom_43: ; preds = %clean_ast_511_ | |
| %222 = bitcast %"iter::Enumerate<str::Chars>"*** %iter to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %222) | |
| br label %clean_ast_501_ | |
| clean_ast_511_: ; preds = %clean_custom_44 | |
| %223 = bitcast %"option::Option<(usize, char)>"* %8 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %223) | |
| br label %clean_custom_43 | |
| clean_custom_44: ; preds = %clean_ast_521_ | |
| %224 = bitcast i32** %__llmatch30 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %224) | |
| %225 = bitcast i32* %c to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %225) | |
| %226 = bitcast i64** %__llmatch29 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %226) | |
| %227 = bitcast i64* %i to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %227) | |
| br label %clean_ast_511_ | |
| clean_ast_521_: ; preds = %case_body58, %clean_custom_45 | |
| %228 = bitcast %"option::Option<u32>"* %match34 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %228) | |
| br label %clean_custom_44 | |
| clean_custom_45: ; preds = %then-block-646-, %then-block-622-, %then-block-598-, %then-block-583- | |
| %229 = bitcast i32** %__llmatch36 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %229) | |
| %230 = bitcast i32* %digit to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %230) | |
| br label %clean_ast_521_ | |
| next-block: ; preds = %join42 | |
| %231 = load i8, i8* %is_positive, align 1, !range !1 | |
| %232 = trunc i8 %231 to i1 | |
| %233 = xor i1 %232, true | |
| br i1 %233, label %before_rhs47, label %join46 | |
| join46: ; preds = %before_rhs47, %next-block | |
| %234 = phi i1 [ %233, %next-block ], [ %237, %before_rhs47 ] | |
| br i1 %234, label %then-block-598-, label %next-block48 | |
| before_rhs47: ; preds = %next-block | |
| %235 = load float, float* %sig, align 4 | |
| %236 = load float, float* %prev_sig, align 4 | |
| %237 = fcmp oge float %235, %236 | |
| br label %join46 | |
| then-block-598-: ; preds = %join46 | |
| %238 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, float }* | |
| %239 = getelementptr inbounds { i8, float }, { i8, float }* %238, i32 0, i32 1 | |
| %240 = call float @_ZN3f329f32.Float12neg_infinity20h6adc134f1b5bae443faE() | |
| store float %240, float* %239, align 4 | |
| %241 = getelementptr inbounds %"result::Result<f32, num::ParseFloatError>", %"result::Result<f32, num::ParseFloatError>"* %sret_slot, i32 0, i32 0 | |
| store i8 0, i8* %241 | |
| br label %clean_custom_45 | |
| next-block48: ; preds = %join46 | |
| %242 = load i8, i8* %is_positive, align 1, !range !1 | |
| %243 = trunc i8 %242 to i1 | |
| br i1 %243, label %before_rhs50, label %join49 | |
| join49: ; preds = %before_rhs50, %next-block48 | |
| %244 = phi i1 [ %243, %next-block48 ], [ %253, %before_rhs50 ] | |
| br i1 %244, label %then-block-622-, label %next-block51 | |
| before_rhs50: ; preds = %next-block48 | |
| %245 = load i32, i32* %digit, align 4 | |
| %246 = uitofp i32 %245 to float | |
| %247 = load float, float* %sig, align 4 | |
| %248 = fsub float %247, %246 | |
| %249 = load i32, i32* %radix, align 4 | |
| %250 = uitofp i32 %249 to float | |
| %251 = fdiv float %248, %250 | |
| %252 = load float, float* %prev_sig, align 4 | |
| %253 = fcmp une float %252, %251 | |
| br label %join49 | |
| then-block-622-: ; preds = %join49 | |
| %254 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, float }* | |
| %255 = getelementptr inbounds { i8, float }, { i8, float }* %254, i32 0, i32 1 | |
| %256 = call float @_ZN3f329f32.Float8infinity20h6ec1d6c56e54b7d5YfaE() | |
| store float %256, float* %255, align 4 | |
| %257 = getelementptr inbounds %"result::Result<f32, num::ParseFloatError>", %"result::Result<f32, num::ParseFloatError>"* %sret_slot, i32 0, i32 0 | |
| store i8 0, i8* %257 | |
| br label %clean_custom_45 | |
| next-block51: ; preds = %join49 | |
| %258 = load i8, i8* %is_positive, align 1, !range !1 | |
| %259 = trunc i8 %258 to i1 | |
| %260 = xor i1 %259, true | |
| br i1 %260, label %before_rhs53, label %join52 | |
| join52: ; preds = %before_rhs53, %next-block51 | |
| %261 = phi i1 [ %260, %next-block51 ], [ %270, %before_rhs53 ] | |
| br i1 %261, label %then-block-646-, label %next-block54 | |
| before_rhs53: ; preds = %next-block51 | |
| %262 = load i32, i32* %digit, align 4 | |
| %263 = uitofp i32 %262 to float | |
| %264 = load float, float* %sig, align 4 | |
| %265 = fadd float %264, %263 | |
| %266 = load i32, i32* %radix, align 4 | |
| %267 = uitofp i32 %266 to float | |
| %268 = fdiv float %265, %267 | |
| %269 = load float, float* %prev_sig, align 4 | |
| %270 = fcmp une float %269, %268 | |
| br label %join52 | |
| then-block-646-: ; preds = %join52 | |
| %271 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, float }* | |
| %272 = getelementptr inbounds { i8, float }, { i8, float }* %271, i32 0, i32 1 | |
| %273 = call float @_ZN3f329f32.Float12neg_infinity20h6adc134f1b5bae443faE() | |
| store float %273, float* %272, align 4 | |
| %274 = getelementptr inbounds %"result::Result<f32, num::ParseFloatError>", %"result::Result<f32, num::ParseFloatError>"* %sret_slot, i32 0, i32 0 | |
| store i8 0, i8* %274 | |
| br label %clean_custom_45 | |
| next-block54: ; preds = %join52 | |
| br label %next-block55 | |
| next-block55: ; preds = %next-block54, %join41 | |
| %275 = load float, float* %sig, align 4 | |
| store float %275, float* %prev_sig, align 4 | |
| %276 = bitcast i32** %__llmatch36 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %276) | |
| %277 = bitcast i32* %digit to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %277) | |
| br label %join74 | |
| case_body56: ; preds = %match_case66, %match_case64, %match_case62, %match_case60 | |
| %278 = bitcast %"option::Option<(char, usize)>"* %10 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %278) | |
| %279 = bitcast %"option::Option<(char, usize)>"* %10 to { i64, { i32, i64 } }* | |
| %280 = getelementptr inbounds { i64, { i32, i64 } }, { i64, { i32, i64 } }* %279, i32 0, i32 1 | |
| %281 = getelementptr inbounds { i32, i64 }, { i32, i64 }* %280, i32 0, i32 0 | |
| %282 = load i32, i32* %c, align 4, !range !0 | |
| store i32 %282, i32* %281, align 4 | |
| %283 = getelementptr inbounds { i32, i64 }, { i32, i64 }* %280, i32 0, i32 1 | |
| %284 = load i64, i64* %i, align 8 | |
| %285 = add i64 %284, 1 | |
| store i64 %285, i64* %283, align 8 | |
| %286 = getelementptr inbounds %"option::Option<(char, usize)>", %"option::Option<(char, usize)>"* %10, i32 0, i32 0 | |
| store i64 1, i64* %286 | |
| %287 = bitcast %"option::Option<(char, usize)>"* %10 to i8* | |
| %288 = bitcast %"option::Option<(char, usize)>"* %exp_info to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %288, i8* %287, i64 24, i32 8, i1 false) | |
| %289 = bitcast %"option::Option<(char, usize)>"* %10 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %289) | |
| br label %clean_ast_521_72 | |
| case_body57: ; preds = %match_case68 | |
| br label %clean_ast_521_72 | |
| case_body58: ; preds = %match_else59 | |
| %290 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, { i8 }, [6 x i8] }* | |
| %291 = bitcast { i8, { i8 }, [6 x i8] }* %290 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %291, i8* getelementptr inbounds ({ i8, { i8 }, [6 x i8] }, { i8, { i8 }, [6 x i8] }* @const43529, i32 0, i32 0), i64 8, i32 4, i1 false) | |
| br label %clean_ast_521_ | |
| match_else59: ; preds = %compare_next69 | |
| br label %case_body58 | |
| match_case60: ; preds = %case_body37 | |
| br label %case_body56 | |
| compare_next61: ; preds = %case_body37 | |
| %292 = icmp eq i32 %189, 69 | |
| br i1 %292, label %match_case62, label %compare_next63 | |
| match_case62: ; preds = %compare_next61 | |
| br label %case_body56 | |
| compare_next63: ; preds = %compare_next61 | |
| %293 = icmp eq i32 %189, 112 | |
| br i1 %293, label %match_case64, label %compare_next65 | |
| match_case64: ; preds = %compare_next63 | |
| br label %case_body56 | |
| compare_next65: ; preds = %compare_next63 | |
| %294 = icmp eq i32 %189, 80 | |
| br i1 %294, label %match_case66, label %compare_next67 | |
| match_case66: ; preds = %compare_next65 | |
| br label %case_body56 | |
| compare_next67: ; preds = %compare_next65 | |
| %295 = icmp eq i32 %189, 46 | |
| br i1 %295, label %match_case68, label %compare_next69 | |
| match_case68: ; preds = %compare_next67 | |
| br label %case_body57 | |
| compare_next69: ; preds = %compare_next67 | |
| br label %match_else59 | |
| clean_ast_511_70: ; preds = %clean_custom_71, %case_body31 | |
| %296 = bitcast %"option::Option<(usize, char)>"* %8 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %296) | |
| br label %loop_exit | |
| clean_custom_71: ; preds = %clean_ast_521_72 | |
| %297 = bitcast i32** %__llmatch30 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %297) | |
| %298 = bitcast i32* %c to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %298) | |
| %299 = bitcast i64** %__llmatch29 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %299) | |
| %300 = bitcast i64* %i to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %300) | |
| br label %clean_ast_511_70 | |
| clean_ast_521_72: ; preds = %case_body57, %case_body56 | |
| %301 = bitcast %"option::Option<u32>"* %match34 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %301) | |
| br label %clean_custom_71 | |
| join73: ; No predecessors! | |
| unreachable | |
| join74: ; preds = %next-block55 | |
| %302 = bitcast %"option::Option<u32>"* %match34 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %302) | |
| %303 = bitcast i32** %__llmatch30 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %303) | |
| %304 = bitcast i32* %c to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %304) | |
| %305 = bitcast i64** %__llmatch29 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %305) | |
| %306 = bitcast i64* %i to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %306) | |
| br label %join75 | |
| join75: ; preds = %join74 | |
| %307 = bitcast %"option::Option<(usize, char)>"* %8 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %307) | |
| br label %loop_body | |
| join76: ; preds = %loop_exit | |
| %308 = bitcast %"iter::Enumerate<str::Chars>"** %match to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %308) | |
| %309 = bitcast {}* %result to i8* | |
| call void @llvm.lifetime.end(i64 0, i8* %309) | |
| call void @llvm.lifetime.start(i64 1, i8* %11) | |
| %310 = call zeroext i1 @"_ZN6option15Option$LT$T$GT$7is_none20h1578896107712481053E"(%"option::Option<(char, usize)>"* noalias readonly dereferenceable(24) %exp_info) | |
| %311 = zext i1 %310 to i8 | |
| store i8 %311, i8* %11, align 1 | |
| %312 = load i8, i8* %11, align 1, !range !1 | |
| %313 = trunc i8 %312 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %11) | |
| br i1 %313, label %then-block-704-, label %next-block127 | |
| then-block-704-: ; preds = %join76 | |
| %314 = bitcast float* %power to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %314) | |
| store float 1.000000e+00, float* %power, align 4 | |
| %315 = bitcast {}* %result77 to i8* | |
| call void @llvm.lifetime.start(i64 0, i8* %315) | |
| %316 = bitcast %"iter::Enumerate<str::Chars>"** %12 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %316) | |
| %317 = bitcast %"iter::Enumerate<str::Chars>"** %13 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %317) | |
| %318 = call dereferenceable(24) %"iter::Enumerate<str::Chars>"* @_ZN4iter8Iterator6by_ref21h16646711982226617443E(%"iter::Enumerate<str::Chars>"* noalias dereferenceable(24) %cs) | |
| store %"iter::Enumerate<str::Chars>"* %318, %"iter::Enumerate<str::Chars>"** %13, align 8 | |
| %319 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %13, align 8, !nonnull !2 | |
| %320 = bitcast %"iter::Enumerate<str::Chars>"** %13 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %320) | |
| %321 = call dereferenceable(24) %"iter::Enumerate<str::Chars>"* @_ZN4iter14I.IntoIterator9into_iter20h6563255094920483013E(%"iter::Enumerate<str::Chars>"* noalias dereferenceable(24) %319) | |
| store %"iter::Enumerate<str::Chars>"* %321, %"iter::Enumerate<str::Chars>"** %12, align 8 | |
| %322 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %12, align 8, !nonnull !2 | |
| %323 = bitcast %"iter::Enumerate<str::Chars>"** %12 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %323) | |
| %324 = bitcast %"iter::Enumerate<str::Chars>"** %match78 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %324) | |
| store %"iter::Enumerate<str::Chars>"* %322, %"iter::Enumerate<str::Chars>"** %match78, align 8 | |
| %325 = bitcast %"iter::Enumerate<str::Chars>"*** %iter80 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %325) | |
| store %"iter::Enumerate<str::Chars>"** %match78, %"iter::Enumerate<str::Chars>"*** %iter80 | |
| br label %case_body79 | |
| case_body79: ; preds = %then-block-704- | |
| %326 = load %"iter::Enumerate<str::Chars>"**, %"iter::Enumerate<str::Chars>"*** %iter80 | |
| br label %loop_body82 | |
| loop_exit81: ; preds = %clean_ast_721_120 | |
| %327 = bitcast %"iter::Enumerate<str::Chars>"*** %iter80 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %327) | |
| br label %join126 | |
| loop_body82: ; preds = %join125, %case_body79 | |
| %328 = bitcast %"option::Option<(usize, char)>"* %14 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %328) | |
| call void @"_ZN4iter34_$RF$$u27$a$u20$mut$u20$I.Iterator4next21h12474813853625106210E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(24) %14, %"iter::Enumerate<str::Chars>"** noalias dereferenceable(8) %326) | |
| %329 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %14, i32 0, i32 0 | |
| %330 = load i64, i64* %329, !range !3 | |
| switch i64 %330, label %match_else89 [ | |
| i64 1, label %match_case90 | |
| ] | |
| case_body83: ; preds = %match_case90 | |
| %331 = load i32*, i32** %__llmatch86 | |
| %332 = bitcast i32* %c87 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %332) | |
| %333 = load i32, i32* %331, align 4, !range !0 | |
| store i32 %333, i32* %c87, align 4 | |
| %334 = load i64*, i64** %__llmatch84 | |
| %335 = bitcast i64* %i85 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %335) | |
| %336 = load i64, i64* %334, align 8 | |
| store i64 %336, i64* %i85, align 8 | |
| %337 = bitcast %"option::Option<u32>"* %15 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %337) | |
| %338 = load i32, i32* %c87, align 4, !range !0 | |
| %339 = load i32, i32* %radix, align 4 | |
| %340 = call i64 @_ZN4char12char.CharExt8to_digit20h151cfc3f68bf51e09RBE(i32 %338, i32 %339) | |
| %341 = bitcast %"option::Option<u32>"* %15 to i64* | |
| store i64 %340, i64* %341, align 4 | |
| %342 = bitcast %"option::Option<u32>"* %15 to i64* | |
| %343 = load i64, i64* %342, align 4 | |
| %344 = bitcast %"option::Option<u32>"* %15 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %344) | |
| %345 = bitcast %"option::Option<u32>"* %match91 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %345) | |
| %346 = bitcast %"option::Option<u32>"* %match91 to i64* | |
| store i64 %343, i64* %346, align 4 | |
| %347 = getelementptr inbounds %"option::Option<u32>", %"option::Option<u32>"* %match91, i32 0, i32 0 | |
| %348 = load i32, i32* %347, !range !4 | |
| switch i32 %348, label %match_else96 [ | |
| i32 1, label %match_case97 | |
| ] | |
| case_body88: ; preds = %match_else89 | |
| br label %clean_ast_721_120 | |
| match_else89: ; preds = %loop_body82 | |
| br label %case_body88 | |
| match_case90: ; preds = %loop_body82 | |
| %349 = bitcast %"option::Option<(usize, char)>"* %14 to { i64, { i64, i32 } }* | |
| %350 = getelementptr inbounds { i64, { i64, i32 } }, { i64, { i64, i32 } }* %349, i32 0, i32 1 | |
| %351 = getelementptr inbounds { i64, i32 }, { i64, i32 }* %350, i32 0, i32 0 | |
| %352 = getelementptr inbounds { i64, i32 }, { i64, i32 }* %350, i32 0, i32 1 | |
| %353 = bitcast i32** %__llmatch86 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %353) | |
| store i32* %352, i32** %__llmatch86 | |
| %354 = bitcast i64** %__llmatch84 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %354) | |
| store i64* %351, i64** %__llmatch84 | |
| br label %case_body83 | |
| case_body92: ; preds = %match_case97 | |
| %355 = load i32*, i32** %__llmatch93 | |
| %356 = bitcast i32* %digit94 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %356) | |
| %357 = load i32, i32* %355, align 4 | |
| store i32 %357, i32* %digit94, align 4 | |
| %358 = load i32, i32* %radix, align 4 | |
| %359 = uitofp i32 %358 to float | |
| %360 = load float, float* %power, align 4 | |
| %361 = fdiv float %360, %359 | |
| store float %361, float* %power, align 4 | |
| %362 = bitcast float* %16 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %362) | |
| %363 = load i8, i8* %is_positive, align 1, !range !1 | |
| %364 = trunc i8 %363 to i1 | |
| br i1 %364, label %then-block-755-, label %else-block98 | |
| case_body95: ; preds = %match_else96 | |
| %365 = load i32, i32* %c87, align 4, !range !0 | |
| %366 = icmp eq i32 %365, 101 | |
| br i1 %366, label %match_case112, label %compare_next113 | |
| match_else96: ; preds = %case_body83 | |
| br label %case_body95 | |
| match_case97: ; preds = %case_body83 | |
| %367 = bitcast %"option::Option<u32>"* %match91 to { i32, i32 }* | |
| %368 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %367, i32 0, i32 1 | |
| %369 = bitcast i32** %__llmatch93 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %369) | |
| store i32* %368, i32** %__llmatch93 | |
| br label %case_body92 | |
| then-block-755-: ; preds = %case_body92 | |
| %370 = load i32, i32* %digit94, align 4 | |
| %371 = uitofp i32 %370 to float | |
| %372 = load float, float* %power, align 4 | |
| %373 = fmul float %371, %372 | |
| %374 = load float, float* %sig, align 4 | |
| %375 = fadd float %374, %373 | |
| store float %375, float* %16, align 4 | |
| br label %join99 | |
| else-block98: ; preds = %case_body92 | |
| %376 = load i32, i32* %digit94, align 4 | |
| %377 = uitofp i32 %376 to float | |
| %378 = load float, float* %power, align 4 | |
| %379 = fmul float %377, %378 | |
| %380 = load float, float* %sig, align 4 | |
| %381 = fsub float %380, %379 | |
| store float %381, float* %16, align 4 | |
| br label %join99 | |
| join99: ; preds = %else-block98, %then-block-755- | |
| %382 = load float, float* %16, align 4 | |
| %383 = bitcast float* %16 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %383) | |
| store float %382, float* %sig, align 4 | |
| %384 = load i8, i8* %is_positive, align 1, !range !1 | |
| %385 = trunc i8 %384 to i1 | |
| br i1 %385, label %before_rhs101, label %join100 | |
| join100: ; preds = %before_rhs101, %join99 | |
| %386 = phi i1 [ %385, %join99 ], [ %389, %before_rhs101 ] | |
| br i1 %386, label %then-block-781-, label %next-block105 | |
| before_rhs101: ; preds = %join99 | |
| %387 = load float, float* %sig, align 4 | |
| %388 = load float, float* %prev_sig, align 4 | |
| %389 = fcmp olt float %387, %388 | |
| br label %join100 | |
| then-block-781-: ; preds = %join100 | |
| %390 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, float }* | |
| %391 = getelementptr inbounds { i8, float }, { i8, float }* %390, i32 0, i32 1 | |
| %392 = call float @_ZN3f329f32.Float8infinity20h6ec1d6c56e54b7d5YfaE() | |
| store float %392, float* %391, align 4 | |
| %393 = getelementptr inbounds %"result::Result<f32, num::ParseFloatError>", %"result::Result<f32, num::ParseFloatError>"* %sret_slot, i32 0, i32 0 | |
| store i8 0, i8* %393 | |
| br label %clean_custom_104 | |
| clean_ast_704_: ; preds = %clean_ast_711_ | |
| %394 = bitcast float* %power to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %394) | |
| br label %clean_ast_398_ | |
| clean_ast_711_: ; preds = %clean_custom_102 | |
| %395 = bitcast %"iter::Enumerate<str::Chars>"** %match78 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %395) | |
| br label %clean_ast_704_ | |
| clean_custom_102: ; preds = %clean_ast_721_ | |
| %396 = bitcast %"iter::Enumerate<str::Chars>"*** %iter80 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %396) | |
| br label %clean_ast_711_ | |
| clean_ast_721_: ; preds = %clean_custom_103 | |
| %397 = bitcast %"option::Option<(usize, char)>"* %14 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %397) | |
| br label %clean_custom_102 | |
| clean_custom_103: ; preds = %clean_ast_731_ | |
| %398 = bitcast i64** %__llmatch84 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %398) | |
| %399 = bitcast i64* %i85 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %399) | |
| %400 = bitcast i32** %__llmatch86 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %400) | |
| %401 = bitcast i32* %c87 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %401) | |
| br label %clean_ast_721_ | |
| clean_ast_731_: ; preds = %case_body110, %clean_custom_104 | |
| %402 = bitcast %"option::Option<u32>"* %match91 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %402) | |
| br label %clean_custom_103 | |
| clean_custom_104: ; preds = %then-block-796-, %then-block-781- | |
| %403 = bitcast i32** %__llmatch93 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %403) | |
| %404 = bitcast i32* %digit94 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %404) | |
| br label %clean_ast_731_ | |
| next-block105: ; preds = %join100 | |
| %405 = load i8, i8* %is_positive, align 1, !range !1 | |
| %406 = trunc i8 %405 to i1 | |
| %407 = xor i1 %406, true | |
| br i1 %407, label %before_rhs107, label %join106 | |
| join106: ; preds = %before_rhs107, %next-block105 | |
| %408 = phi i1 [ %407, %next-block105 ], [ %411, %before_rhs107 ] | |
| br i1 %408, label %then-block-796-, label %next-block108 | |
| before_rhs107: ; preds = %next-block105 | |
| %409 = load float, float* %sig, align 4 | |
| %410 = load float, float* %prev_sig, align 4 | |
| %411 = fcmp ogt float %409, %410 | |
| br label %join106 | |
| then-block-796-: ; preds = %join106 | |
| %412 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, float }* | |
| %413 = getelementptr inbounds { i8, float }, { i8, float }* %412, i32 0, i32 1 | |
| %414 = call float @_ZN3f329f32.Float12neg_infinity20h6adc134f1b5bae443faE() | |
| store float %414, float* %413, align 4 | |
| %415 = getelementptr inbounds %"result::Result<f32, num::ParseFloatError>", %"result::Result<f32, num::ParseFloatError>"* %sret_slot, i32 0, i32 0 | |
| store i8 0, i8* %415 | |
| br label %clean_custom_104 | |
| next-block108: ; preds = %join106 | |
| %416 = load float, float* %sig, align 4 | |
| store float %416, float* %prev_sig, align 4 | |
| %417 = bitcast i32** %__llmatch93 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %417) | |
| %418 = bitcast i32* %digit94 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %418) | |
| br label %join124 | |
| case_body109: ; preds = %match_case118, %match_case116, %match_case114, %match_case112 | |
| %419 = bitcast %"option::Option<(char, usize)>"* %17 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %419) | |
| %420 = bitcast %"option::Option<(char, usize)>"* %17 to { i64, { i32, i64 } }* | |
| %421 = getelementptr inbounds { i64, { i32, i64 } }, { i64, { i32, i64 } }* %420, i32 0, i32 1 | |
| %422 = getelementptr inbounds { i32, i64 }, { i32, i64 }* %421, i32 0, i32 0 | |
| %423 = load i32, i32* %c87, align 4, !range !0 | |
| store i32 %423, i32* %422, align 4 | |
| %424 = getelementptr inbounds { i32, i64 }, { i32, i64 }* %421, i32 0, i32 1 | |
| %425 = load i64, i64* %i85, align 8 | |
| %426 = add i64 %425, 1 | |
| store i64 %426, i64* %424, align 8 | |
| %427 = getelementptr inbounds %"option::Option<(char, usize)>", %"option::Option<(char, usize)>"* %17, i32 0, i32 0 | |
| store i64 1, i64* %427 | |
| %428 = bitcast %"option::Option<(char, usize)>"* %17 to i8* | |
| %429 = bitcast %"option::Option<(char, usize)>"* %exp_info to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %429, i8* %428, i64 24, i32 8, i1 false) | |
| %430 = bitcast %"option::Option<(char, usize)>"* %17 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %430) | |
| br label %clean_ast_731_122 | |
| case_body110: ; preds = %match_else111 | |
| %431 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, { i8 }, [6 x i8] }* | |
| %432 = bitcast { i8, { i8 }, [6 x i8] }* %431 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %432, i8* getelementptr inbounds ({ i8, { i8 }, [6 x i8] }, { i8, { i8 }, [6 x i8] }* @const43529, i32 0, i32 0), i64 8, i32 4, i1 false) | |
| br label %clean_ast_731_ | |
| match_else111: ; preds = %compare_next119 | |
| br label %case_body110 | |
| match_case112: ; preds = %case_body95 | |
| br label %case_body109 | |
| compare_next113: ; preds = %case_body95 | |
| %433 = icmp eq i32 %365, 69 | |
| br i1 %433, label %match_case114, label %compare_next115 | |
| match_case114: ; preds = %compare_next113 | |
| br label %case_body109 | |
| compare_next115: ; preds = %compare_next113 | |
| %434 = icmp eq i32 %365, 112 | |
| br i1 %434, label %match_case116, label %compare_next117 | |
| match_case116: ; preds = %compare_next115 | |
| br label %case_body109 | |
| compare_next117: ; preds = %compare_next115 | |
| %435 = icmp eq i32 %365, 80 | |
| br i1 %435, label %match_case118, label %compare_next119 | |
| match_case118: ; preds = %compare_next117 | |
| br label %case_body109 | |
| compare_next119: ; preds = %compare_next117 | |
| br label %match_else111 | |
| clean_ast_721_120: ; preds = %clean_custom_121, %case_body88 | |
| %436 = bitcast %"option::Option<(usize, char)>"* %14 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %436) | |
| br label %loop_exit81 | |
| clean_custom_121: ; preds = %clean_ast_731_122 | |
| %437 = bitcast i64** %__llmatch84 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %437) | |
| %438 = bitcast i64* %i85 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %438) | |
| %439 = bitcast i32** %__llmatch86 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %439) | |
| %440 = bitcast i32* %c87 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %440) | |
| br label %clean_ast_721_120 | |
| clean_ast_731_122: ; preds = %case_body109 | |
| %441 = bitcast %"option::Option<u32>"* %match91 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %441) | |
| br label %clean_custom_121 | |
| join123: ; No predecessors! | |
| unreachable | |
| join124: ; preds = %next-block108 | |
| %442 = bitcast %"option::Option<u32>"* %match91 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %442) | |
| %443 = bitcast i64** %__llmatch84 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %443) | |
| %444 = bitcast i64* %i85 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %444) | |
| %445 = bitcast i32** %__llmatch86 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %445) | |
| %446 = bitcast i32* %c87 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %446) | |
| br label %join125 | |
| join125: ; preds = %join124 | |
| %447 = bitcast %"option::Option<(usize, char)>"* %14 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %447) | |
| br label %loop_body82 | |
| join126: ; preds = %loop_exit81 | |
| %448 = bitcast %"iter::Enumerate<str::Chars>"** %match78 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %448) | |
| %449 = bitcast {}* %result77 to i8* | |
| call void @llvm.lifetime.end(i64 0, i8* %449) | |
| %450 = bitcast float* %power to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %450) | |
| br label %next-block127 | |
| next-block127: ; preds = %join126, %join76 | |
| %451 = bitcast float* %exp to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %451) | |
| %452 = getelementptr inbounds %"option::Option<(char, usize)>", %"option::Option<(char, usize)>"* %exp_info, i32 0, i32 0 | |
| %453 = load i64, i64* %452, !range !3 | |
| switch i64 %453, label %match_else133 [ | |
| i64 1, label %match_case134 | |
| ] | |
| case_body128: ; preds = %match_case134 | |
| %454 = load i32*, i32** %__llmatch129 | |
| %455 = bitcast i32* %c130 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %455) | |
| %456 = load i32, i32* %454, align 4, !range !0 | |
| store i32 %456, i32* %c130, align 4 | |
| %457 = load i64*, i64** %__llmatch131 | |
| %458 = bitcast i64* %offset to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %458) | |
| %459 = load i64, i64* %457, align 8 | |
| store i64 %459, i64* %offset, align 8 | |
| %460 = bitcast float* %base to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %460) | |
| %461 = load i32, i32* %c130, align 4, !range !0 | |
| %462 = icmp eq i32 %461, 69 | |
| br i1 %462, label %match_case139, label %compare_next140 | |
| case_body132: ; preds = %match_else133 | |
| store float 1.000000e+00, float* %exp, align 4 | |
| br label %join188 | |
| match_else133: ; preds = %next-block127 | |
| br label %case_body132 | |
| match_case134: ; preds = %next-block127 | |
| %463 = bitcast %"option::Option<(char, usize)>"* %exp_info to { i64, { i32, i64 } }* | |
| %464 = getelementptr inbounds { i64, { i32, i64 } }, { i64, { i32, i64 } }* %463, i32 0, i32 1 | |
| %465 = getelementptr inbounds { i32, i64 }, { i32, i64 }* %464, i32 0, i32 0 | |
| %466 = getelementptr inbounds { i32, i64 }, { i32, i64 }* %464, i32 0, i32 1 | |
| %467 = bitcast i64** %__llmatch131 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %467) | |
| store i64* %466, i64** %__llmatch131 | |
| %468 = bitcast i32** %__llmatch129 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %468) | |
| store i32* %465, i32** %__llmatch129 | |
| br label %case_body128 | |
| case_body135: ; preds = %next143, %next | |
| store float 1.000000e+01, float* %base, align 4 | |
| br label %join154 | |
| case_body136: ; preds = %next151, %next147 | |
| store float 2.000000e+00, float* %base, align 4 | |
| br label %join154 | |
| case_body137: ; preds = %cond152, %match_else138 | |
| %469 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, { i8 }, [6 x i8] }* | |
| %470 = bitcast { i8, { i8 }, [6 x i8] }* %469 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %470, i8* getelementptr inbounds ({ i8, { i8 }, [6 x i8] }, { i8, { i8 }, [6 x i8] }* @const43529, i32 0, i32 0), i64 8, i32 4, i1 false) | |
| br label %clean_custom_153 | |
| match_else138: ; preds = %compare_next150 | |
| br label %case_body137 | |
| match_case139: ; preds = %case_body128 | |
| %471 = load i32, i32* %radix, align 4 | |
| %472 = icmp eq i32 %471, 10 | |
| %473 = xor i1 %472, true | |
| br i1 %473, label %cond, label %next | |
| compare_next140: ; preds = %cond, %case_body128 | |
| %474 = icmp eq i32 %461, 101 | |
| br i1 %474, label %match_case141, label %compare_next142 | |
| next: ; preds = %match_case139 | |
| br label %case_body135 | |
| cond: ; preds = %match_case139 | |
| br label %compare_next140 | |
| match_case141: ; preds = %compare_next140 | |
| %475 = load i32, i32* %radix, align 4 | |
| %476 = icmp eq i32 %475, 10 | |
| %477 = xor i1 %476, true | |
| br i1 %477, label %cond144, label %next143 | |
| compare_next142: ; preds = %cond144, %compare_next140 | |
| %478 = icmp eq i32 %461, 80 | |
| br i1 %478, label %match_case145, label %compare_next146 | |
| next143: ; preds = %match_case141 | |
| br label %case_body135 | |
| cond144: ; preds = %match_case141 | |
| br label %compare_next142 | |
| match_case145: ; preds = %compare_next142 | |
| %479 = load i32, i32* %radix, align 4 | |
| %480 = icmp eq i32 %479, 16 | |
| %481 = xor i1 %480, true | |
| br i1 %481, label %cond148, label %next147 | |
| compare_next146: ; preds = %cond148, %compare_next142 | |
| %482 = icmp eq i32 %461, 112 | |
| br i1 %482, label %match_case149, label %compare_next150 | |
| next147: ; preds = %match_case145 | |
| br label %case_body136 | |
| cond148: ; preds = %match_case145 | |
| br label %compare_next146 | |
| match_case149: ; preds = %compare_next146 | |
| %483 = load i32, i32* %radix, align 4 | |
| %484 = icmp eq i32 %483, 16 | |
| %485 = xor i1 %484, true | |
| br i1 %485, label %cond152, label %next151 | |
| compare_next150: ; preds = %compare_next146 | |
| br label %match_else138 | |
| next151: ; preds = %match_case149 | |
| br label %case_body136 | |
| cond152: ; preds = %match_case149 | |
| br label %case_body137 | |
| clean_custom_153: ; preds = %clean_ast_853_, %clean_ast_854_, %case_body137 | |
| %486 = bitcast i64** %__llmatch131 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %486) | |
| %487 = bitcast i64* %offset to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %487) | |
| %488 = bitcast i32** %__llmatch129 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %488) | |
| %489 = bitcast i32* %c130 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %489) | |
| br label %clean_ast_398_ | |
| join154: ; preds = %case_body136, %case_body135 | |
| %490 = bitcast %str_slice* %src155 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %490) | |
| %491 = bitcast %"ops::RangeFrom<usize>"* %18 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %491) | |
| %492 = getelementptr inbounds %"ops::RangeFrom<usize>", %"ops::RangeFrom<usize>"* %18, i32 0, i32 0 | |
| %493 = load i64, i64* %offset, align 8 | |
| store i64 %493, i64* %492, align 8 | |
| %494 = bitcast %"ops::RangeFrom<usize>"* %18 to i64* | |
| %495 = load i64, i64* %494, align 8 | |
| %496 = bitcast %"ops::RangeFrom<usize>"* %18 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %496) | |
| %497 = bitcast %str_slice* %overloaded_index_elt to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %497) | |
| %498 = getelementptr inbounds %str_slice, %str_slice* %src25, i32 0, i32 0 | |
| %499 = load i8*, i8** %498 | |
| %500 = getelementptr inbounds %str_slice, %str_slice* %src25, i32 0, i32 1 | |
| %501 = load i64, i64* %500 | |
| %502 = call %str_slice @"_ZN3str6traits49str.ops..Index$LT$ops..RangeFrom$LT$usize$GT$$GT$5index20h3f1b10be0dd1c356pYJE"(i8* noalias nonnull readonly %499, i64 %501, i64 %495) | |
| store %str_slice %502, %str_slice* %overloaded_index_elt, align 8 | |
| %503 = bitcast %str_slice* %__fat_ptr to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %503) | |
| %504 = bitcast %str_slice* %overloaded_index_elt to i8* | |
| %505 = bitcast %str_slice* %__fat_ptr to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %505, i8* %504, i64 16, i32 8, i1 false) | |
| %506 = bitcast %str_slice* %__fat_ptr to i8* | |
| %507 = bitcast %str_slice* %src155 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %507, i8* %506, i64 16, i32 8, i1 false) | |
| %508 = bitcast %str_slice* %__fat_ptr to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %508) | |
| %509 = bitcast { i8, %"result::Result<usize, num::ParseIntError>" }* %19 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %509) | |
| %510 = bitcast %"option::Option<(char, &'static str)>"* %20 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %510) | |
| %511 = getelementptr inbounds %str_slice, %str_slice* %src155, i32 0, i32 0 | |
| %512 = load i8*, i8** %511 | |
| %513 = getelementptr inbounds %str_slice, %str_slice* %src155, i32 0, i32 1 | |
| %514 = load i64, i64* %513 | |
| call void @_ZN3str10str.StrExt16slice_shift_char20h763b6d43914ac21cBtKE(%"option::Option<(char, &'static str)>"* noalias nocapture sret dereferenceable(24) %20, i8* noalias nonnull readonly %512, i64 %514) | |
| %515 = getelementptr inbounds %"option::Option<(char, &'static str)>", %"option::Option<(char, &'static str)>"* %20, i32 0, i32 0, i32 1, i32 0 | |
| %516 = load i8*, i8** %515 | |
| %517 = icmp ne i8* %516, null | |
| switch i1 %517, label %match_else164 [ | |
| i1 true, label %match_case165 | |
| ] | |
| case_body156: ; preds = %match_case167 | |
| %518 = load %str_slice*, %str_slice** %__llmatch157 | |
| %519 = bitcast %str_slice* %src158 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %519) | |
| %520 = bitcast %str_slice* %518 to i8* | |
| %521 = bitcast %str_slice* %src158 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %521, i8* %520, i64 16, i32 8, i1 false) | |
| %522 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %19, i32 0, i32 0 | |
| store i8 0, i8* %522, align 1 | |
| %523 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %19, i32 0, i32 1 | |
| %524 = getelementptr inbounds %str_slice, %str_slice* %src158, i32 0, i32 0 | |
| %525 = load i8*, i8** %524 | |
| %526 = getelementptr inbounds %str_slice, %str_slice* %src158, i32 0, i32 1 | |
| %527 = load i64, i64* %526 | |
| call void @_ZN3str10str.StrExt5parse21h10035881824587292317E(%"result::Result<usize, num::ParseIntError>"* noalias nocapture sret dereferenceable(16) %523, i8* noalias nonnull readonly %525, i64 %527) | |
| %528 = bitcast %str_slice** %__llmatch157 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %528) | |
| %529 = bitcast %str_slice* %src158 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %529) | |
| br label %join171 | |
| case_body159: ; preds = %match_case169 | |
| %530 = load %str_slice*, %str_slice** %__llmatch160 | |
| %531 = bitcast %str_slice* %src161 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %531) | |
| %532 = bitcast %str_slice* %530 to i8* | |
| %533 = bitcast %str_slice* %src161 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %533, i8* %532, i64 16, i32 8, i1 false) | |
| %534 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %19, i32 0, i32 0 | |
| store i8 1, i8* %534, align 1 | |
| %535 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %19, i32 0, i32 1 | |
| %536 = getelementptr inbounds %str_slice, %str_slice* %src161, i32 0, i32 0 | |
| %537 = load i8*, i8** %536 | |
| %538 = getelementptr inbounds %str_slice, %str_slice* %src161, i32 0, i32 1 | |
| %539 = load i64, i64* %538 | |
| call void @_ZN3str10str.StrExt5parse21h10035881824587292317E(%"result::Result<usize, num::ParseIntError>"* noalias nocapture sret dereferenceable(16) %535, i8* noalias nonnull readonly %537, i64 %539) | |
| %540 = bitcast %str_slice** %__llmatch160 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %540) | |
| %541 = bitcast %str_slice* %src161 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %541) | |
| br label %join171 | |
| case_body162: ; preds = %match_else166 | |
| %542 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %19, i32 0, i32 0 | |
| store i8 1, i8* %542, align 1 | |
| %543 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %19, i32 0, i32 1 | |
| %544 = getelementptr inbounds %str_slice, %str_slice* %src155, i32 0, i32 0 | |
| %545 = load i8*, i8** %544 | |
| %546 = getelementptr inbounds %str_slice, %str_slice* %src155, i32 0, i32 1 | |
| %547 = load i64, i64* %546 | |
| call void @_ZN3str10str.StrExt5parse21h10035881824587292317E(%"result::Result<usize, num::ParseIntError>"* noalias nocapture sret dereferenceable(16) %543, i8* noalias nonnull readonly %545, i64 %547) | |
| br label %join171 | |
| case_body163: ; preds = %match_else164 | |
| %548 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, { i8 }, [6 x i8] }* | |
| %549 = bitcast { i8, { i8 }, [6 x i8] }* %548 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %549, i8* getelementptr inbounds ({ i8, { i8 }, [6 x i8] }, { i8, { i8 }, [6 x i8] }* @const43529, i32 0, i32 0), i64 8, i32 4, i1 false) | |
| br label %clean_ast_890_ | |
| match_else164: ; preds = %join154 | |
| br label %case_body163 | |
| match_case165: ; preds = %join154 | |
| %550 = getelementptr inbounds %"option::Option<(char, &'static str)>", %"option::Option<(char, &'static str)>"* %20, i32 0, i32 0 | |
| %551 = getelementptr inbounds { i32, %str_slice }, { i32, %str_slice }* %550, i32 0, i32 0 | |
| %552 = getelementptr inbounds { i32, %str_slice }, { i32, %str_slice }* %550, i32 0, i32 1 | |
| %553 = load i32, i32* %551, align 4, !range !0 | |
| %554 = icmp eq i32 %553, 45 | |
| br i1 %554, label %match_case167, label %compare_next168 | |
| match_else166: ; preds = %compare_next170 | |
| br label %case_body162 | |
| match_case167: ; preds = %match_case165 | |
| %555 = bitcast %str_slice** %__llmatch157 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %555) | |
| store %str_slice* %552, %str_slice** %__llmatch157 | |
| br label %case_body156 | |
| compare_next168: ; preds = %match_case165 | |
| %556 = icmp eq i32 %553, 43 | |
| br i1 %556, label %match_case169, label %compare_next170 | |
| match_case169: ; preds = %compare_next168 | |
| %557 = bitcast %str_slice** %__llmatch160 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %557) | |
| store %str_slice* %552, %str_slice** %__llmatch160 | |
| br label %case_body159 | |
| compare_next170: ; preds = %compare_next168 | |
| br label %match_else166 | |
| clean_ast_854_: ; preds = %clean_ast_890_ | |
| %558 = bitcast %str_slice* %src155 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %558) | |
| %559 = bitcast float* %base to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %559) | |
| br label %clean_custom_153 | |
| clean_ast_890_: ; preds = %case_body163 | |
| %560 = bitcast %"option::Option<(char, &'static str)>"* %20 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %560) | |
| br label %clean_ast_854_ | |
| join171: ; preds = %case_body162, %case_body159, %case_body156 | |
| %561 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %19, i32 0, i32 0 | |
| call void @llvm.lifetime.start(i64 1, i8* %is_positive172) | |
| %562 = load i8, i8* %561, align 1, !range !1 | |
| %563 = trunc i8 %562 to i1 | |
| %564 = zext i1 %563 to i8 | |
| store i8 %564, i8* %is_positive172, align 1 | |
| %565 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %19, i32 0, i32 1 | |
| %566 = bitcast %"result::Result<usize, num::ParseIntError>"* %exp173 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %566) | |
| %567 = bitcast %"result::Result<usize, num::ParseIntError>"* %565 to i8* | |
| %568 = bitcast %"result::Result<usize, num::ParseIntError>"* %exp173 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %568, i8* %567, i64 16, i32 8, i1 false) | |
| %569 = bitcast { i8, %"result::Result<usize, num::ParseIntError>" }* %19 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %569) | |
| %570 = bitcast %"option::Option<(char, &'static str)>"* %20 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %570) | |
| %571 = bitcast { i8, %"result::Result<usize, num::ParseIntError>" }* %21 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %571) | |
| %572 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %21, i32 0, i32 0 | |
| %573 = load i8, i8* %is_positive172, align 1, !range !1 | |
| %574 = trunc i8 %573 to i1 | |
| %575 = zext i1 %574 to i8 | |
| store i8 %575, i8* %572, align 1 | |
| %576 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %21, i32 0, i32 1 | |
| %577 = bitcast %"result::Result<usize, num::ParseIntError>"* %exp173 to i8* | |
| %578 = bitcast %"result::Result<usize, num::ParseIntError>"* %576 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %578, i8* %577, i64 16, i32 8, i1 false) | |
| %579 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %21, i32 0, i32 0 | |
| %580 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %21, i32 0, i32 1 | |
| %581 = getelementptr inbounds %"result::Result<usize, num::ParseIntError>", %"result::Result<usize, num::ParseIntError>"* %580, i32 0, i32 0 | |
| %582 = load i8, i8* %581, !range !1 | |
| switch i8 %582, label %match_else181 [ | |
| i8 0, label %match_case182 | |
| ] | |
| case_body174: ; preds = %match_case184 | |
| %583 = load i64*, i64** %__llmatch175 | |
| %584 = bitcast i64* %exp176 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %584) | |
| %585 = load i64, i64* %583, align 8 | |
| store i64 %585, i64* %exp176, align 8 | |
| %586 = load float, float* %base, align 4 | |
| %587 = load i64, i64* %exp176, align 8 | |
| %588 = trunc i64 %587 to i32 | |
| %589 = call float @_ZN3f329f32.Float4powi20hbd813b1c7a3a49f9svaE(float %586, i32 %588) | |
| store float %589, float* %exp, align 4 | |
| %590 = bitcast i64** %__llmatch175 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %590) | |
| %591 = bitcast i64* %exp176 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %591) | |
| br label %join187 | |
| case_body177: ; preds = %match_else183 | |
| %592 = load i64*, i64** %__llmatch178 | |
| %593 = bitcast i64* %exp179 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %593) | |
| %594 = load i64, i64* %592, align 8 | |
| store i64 %594, i64* %exp179, align 8 | |
| %595 = bitcast float* %22 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %595) | |
| %596 = load float, float* %base, align 4 | |
| %597 = load i64, i64* %exp179, align 8 | |
| %598 = trunc i64 %597 to i32 | |
| %599 = call float @_ZN3f329f32.Float4powi20hbd813b1c7a3a49f9svaE(float %596, i32 %598) | |
| store float %599, float* %22, align 4 | |
| %600 = load float, float* %22, align 4 | |
| %601 = bitcast float* %22 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %601) | |
| %602 = fdiv float 1.000000e+00, %600 | |
| store float %602, float* %exp, align 4 | |
| %603 = bitcast i64** %__llmatch178 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %603) | |
| %604 = bitcast i64* %exp179 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %604) | |
| br label %join187 | |
| case_body180: ; preds = %match_else181 | |
| %605 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, { i8 }, [6 x i8] }* | |
| %606 = bitcast { i8, { i8 }, [6 x i8] }* %605 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %606, i8* getelementptr inbounds ({ i8, { i8 }, [6 x i8] }, { i8, { i8 }, [6 x i8] }* @const43529, i32 0, i32 0), i64 8, i32 4, i1 false) | |
| br label %clean_ast_854_186 | |
| match_else181: ; preds = %join171 | |
| %607 = bitcast %"result::Result<usize, num::ParseIntError>"* %580 to { i8, %"num::ParseIntError" }* | |
| %608 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %607, i32 0, i32 1 | |
| br label %case_body180 | |
| match_case182: ; preds = %join171 | |
| %609 = bitcast %"result::Result<usize, num::ParseIntError>"* %580 to { i8, i64 }* | |
| %610 = getelementptr inbounds { i8, i64 }, { i8, i64 }* %609, i32 0, i32 1 | |
| %611 = load i8, i8* %579, align 1, !range !1 | |
| %612 = trunc i8 %611 to i1 | |
| %613 = icmp eq i1 %612, true | |
| br i1 %613, label %match_case184, label %compare_next185 | |
| match_else183: ; preds = %compare_next185 | |
| %614 = bitcast i64** %__llmatch178 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %614) | |
| store i64* %610, i64** %__llmatch178 | |
| br label %case_body177 | |
| match_case184: ; preds = %match_case182 | |
| %615 = bitcast i64** %__llmatch175 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %615) | |
| store i64* %610, i64** %__llmatch175 | |
| br label %case_body174 | |
| compare_next185: ; preds = %match_case182 | |
| br label %match_else183 | |
| clean_ast_853_: ; preds = %clean_ast_854_186 | |
| %616 = bitcast { i8, %"result::Result<usize, num::ParseIntError>" }* %21 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %616) | |
| br label %clean_custom_153 | |
| clean_ast_854_186: ; preds = %case_body180 | |
| %617 = bitcast %"result::Result<usize, num::ParseIntError>"* %exp173 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %617) | |
| call void @llvm.lifetime.end(i64 1, i8* %is_positive172) | |
| %618 = bitcast %str_slice* %src155 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %618) | |
| %619 = bitcast float* %base to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %619) | |
| br label %clean_ast_853_ | |
| join187: ; preds = %case_body177, %case_body174 | |
| %620 = bitcast %"result::Result<usize, num::ParseIntError>"* %exp173 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %620) | |
| call void @llvm.lifetime.end(i64 1, i8* %is_positive172) | |
| %621 = bitcast %str_slice* %src155 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %621) | |
| %622 = bitcast float* %base to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %622) | |
| %623 = bitcast { i8, %"result::Result<usize, num::ParseIntError>" }* %21 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %623) | |
| %624 = bitcast i64** %__llmatch131 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %624) | |
| %625 = bitcast i64* %offset to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %625) | |
| %626 = bitcast i32** %__llmatch129 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %626) | |
| %627 = bitcast i32* %c130 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %627) | |
| br label %join188 | |
| join188: ; preds = %join187, %case_body132 | |
| %628 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to { i8, float }* | |
| %629 = getelementptr inbounds { i8, float }, { i8, float }* %628, i32 0, i32 1 | |
| %630 = load float, float* %sig, align 4 | |
| %631 = load float, float* %exp, align 4 | |
| %632 = fmul float %630, %631 | |
| store float %632, float* %629, align 4 | |
| %633 = getelementptr inbounds %"result::Result<f32, num::ParseFloatError>", %"result::Result<f32, num::ParseFloatError>"* %sret_slot, i32 0, i32 0 | |
| store i8 0, i8* %633 | |
| %634 = bitcast float* %exp to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %634) | |
| %635 = bitcast %"option::Option<(char, usize)>"* %exp_info to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %635) | |
| %636 = bitcast %"iter::Enumerate<str::Chars>"* %cs to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %636) | |
| %637 = bitcast float* %prev_sig to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %637) | |
| %638 = bitcast float* %sig to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %638) | |
| %639 = bitcast %str_slice* %src25 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %639) | |
| call void @llvm.lifetime.end(i64 1, i8* %is_positive) | |
| br label %clean_custom_ | |
| return: ; preds = %clean_custom_ | |
| %640 = bitcast %"result::Result<f32, num::ParseFloatError>"* %sret_slot to i64* | |
| %641 = load i64, i64* %640, align 4 | |
| ret i64 %641 | |
| } | |
| ; Function Attrs: nounwind | |
| declare void @llvm.lifetime.start(i64, i8* nocapture) unnamed_addr #3 | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3str8eq_slice20hcc8bfaf38dd0c426ZJJE(i8* noalias nonnull readonly, i64, i8* noalias nonnull readonly, i64) unnamed_addr #0 { | |
| entry-block: | |
| %a = alloca %str_slice | |
| %b = alloca %str_slice | |
| %4 = insertvalue %str_slice undef, i8* %0, 0 | |
| %5 = insertvalue %str_slice %4, i64 %1, 1 | |
| %6 = insertvalue %str_slice undef, i8* %2, 0 | |
| %7 = insertvalue %str_slice %6, i64 %3, 1 | |
| %8 = bitcast %str_slice* %a to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %8) | |
| store %str_slice %5, %str_slice* %a, align 8 | |
| %9 = bitcast %str_slice* %b to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %9) | |
| store %str_slice %7, %str_slice* %b, align 8 | |
| %10 = getelementptr inbounds %str_slice, %str_slice* %a, i32 0, i32 0 | |
| %11 = load i8*, i8** %10 | |
| %12 = getelementptr inbounds %str_slice, %str_slice* %a, i32 0, i32 1 | |
| %13 = load i64, i64* %12 | |
| %14 = getelementptr inbounds %str_slice, %str_slice* %b, i32 0, i32 0 | |
| %15 = load i8*, i8** %14 | |
| %16 = getelementptr inbounds %str_slice, %str_slice* %b, i32 0, i32 1 | |
| %17 = load i64, i64* %16 | |
| %18 = call zeroext i1 @_ZN3str9eq_slice_20h9a5dee376dce59d29IJE(i8* noalias nonnull readonly %11, i64 %13, i8* noalias nonnull readonly %15, i64 %17) | |
| %19 = zext i1 %18 to i8 | |
| %20 = bitcast %str_slice* %b to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %20) | |
| %21 = bitcast %str_slice* %a to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %21) | |
| %22 = trunc i8 %19 to i1 | |
| ret i1 %22 | |
| } | |
| ; Function Attrs: nounwind | |
| declare void @llvm.lifetime.end(i64, i8* nocapture) unnamed_addr #3 | |
| ; Function Attrs: inlinehint uwtable | |
| define void @_ZN3str10str.StrExt16slice_shift_char20h763b6d43914ac21cBtKE(%"option::Option<(char, &'static str)>"* noalias nocapture sret dereferenceable(24), i8* noalias nonnull readonly, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca %str_slice | |
| %3 = alloca i8 | |
| %ch = alloca i32 | |
| %next_s = alloca %str_slice | |
| %4 = alloca %str_slice | |
| %5 = alloca i64 | |
| %6 = alloca i64 | |
| %7 = insertvalue %str_slice undef, i8* %1, 0 | |
| %8 = insertvalue %str_slice %7, i64 %2, 1 | |
| %9 = bitcast %str_slice* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %9) | |
| store %str_slice %8, %str_slice* %self, align 8 | |
| call void @llvm.lifetime.start(i64 1, i8* %3) | |
| %10 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0 | |
| %11 = load i8*, i8** %10 | |
| %12 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1 | |
| %13 = load i64, i64* %12 | |
| %14 = call zeroext i1 @_ZN3str10str.StrExt8is_empty20h2f329bc3ad18b1628vKE(i8* noalias nonnull readonly %11, i64 %13) | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %3, align 1 | |
| %16 = load i8, i8* %3, align 1, !range !1 | |
| %17 = trunc i8 %16 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %3) | |
| br i1 %17, label %then-block-139603-, label %else-block | |
| then-block-139603-: ; preds = %entry-block | |
| %18 = bitcast %"option::Option<(char, &'static str)>"* %0 to { { i32, { i8*, i8* } } }* | |
| %19 = bitcast { { i32, { i8*, i8* } } }* %18 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %19, i8* bitcast ({ { i32, { i8*, i8* } } }* @const44258 to i8*), i64 24, i32 8, i1 false) | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %20 = bitcast i32* %ch to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %20) | |
| %21 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0 | |
| %22 = load i8*, i8** %21 | |
| %23 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1 | |
| %24 = load i64, i64* %23 | |
| %25 = call i32 @_ZN3str10str.StrExt7char_at20h2c0c88027fb1343e1qKE(i8* noalias nonnull readonly %22, i64 %24, i64 0) | |
| store i32 %25, i32* %ch, align 4 | |
| %26 = bitcast %str_slice* %next_s to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %26) | |
| %27 = bitcast %str_slice* %4 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %27) | |
| %28 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0 | |
| %29 = load i8*, i8** %28 | |
| %30 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1 | |
| %31 = load i64, i64* %30 | |
| %32 = bitcast i64* %5 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %32) | |
| %33 = load i32, i32* %ch, align 4, !range !0 | |
| %34 = call i64 @_ZN4char12char.CharExt8len_utf820h6b1fd2f6f7b75cbaFUBE(i32 %33) | |
| store i64 %34, i64* %5, align 8 | |
| %35 = load i64, i64* %5, align 8 | |
| %36 = bitcast i64* %5 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %36) | |
| %37 = bitcast i64* %6 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %37) | |
| %38 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0 | |
| %39 = load i8*, i8** %38 | |
| %40 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1 | |
| %41 = load i64, i64* %40 | |
| %42 = call i64 @_ZN3str10str.StrExt3len20h23e9fc885ca86df9YvKE(i8* noalias nonnull readonly %39, i64 %41) | |
| store i64 %42, i64* %6, align 8 | |
| %43 = load i64, i64* %6, align 8 | |
| %44 = bitcast i64* %6 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %44) | |
| %45 = call %str_slice @_ZN3str10str.StrExt15slice_unchecked20h7dd8783f909b84ea5iKE(i8* noalias nonnull readonly %29, i64 %31, i64 %35, i64 %43) | |
| store %str_slice %45, %str_slice* %4, align 8 | |
| %46 = bitcast %str_slice* %4 to i8* | |
| %47 = bitcast %str_slice* %next_s to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %47, i8* %46, i64 16, i32 8, i1 false) | |
| %48 = bitcast %str_slice* %4 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %48) | |
| %49 = getelementptr inbounds %"option::Option<(char, &'static str)>", %"option::Option<(char, &'static str)>"* %0, i32 0, i32 0 | |
| %50 = getelementptr inbounds { i32, %str_slice }, { i32, %str_slice }* %49, i32 0, i32 0 | |
| %51 = load i32, i32* %ch, align 4, !range !0 | |
| store i32 %51, i32* %50, align 4 | |
| %52 = getelementptr inbounds { i32, %str_slice }, { i32, %str_slice }* %49, i32 0, i32 1 | |
| %53 = bitcast %str_slice* %next_s to i8* | |
| %54 = bitcast %str_slice* %52 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %54, i8* %53, i64 16, i32 8, i1 false) | |
| %55 = bitcast %str_slice* %next_s to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %55) | |
| %56 = bitcast i32* %ch to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %56) | |
| br label %join | |
| join: ; preds = %else-block, %then-block-139603- | |
| %57 = bitcast %str_slice* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %57) | |
| ret void | |
| } | |
| ; Function Attrs: nounwind | |
| declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) unnamed_addr #3 | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @_ZN4iter8Iterator9enumerate20h5216804230006291893E(%"iter::Enumerate<str::Chars>"* noalias nocapture sret dereferenceable(24), %"str::Chars"* noalias nocapture dereferenceable(16)) unnamed_addr #0 { | |
| entry-block: | |
| %2 = getelementptr inbounds %"iter::Enumerate<str::Chars>", %"iter::Enumerate<str::Chars>"* %0, i32 0, i32 0 | |
| %3 = bitcast %"str::Chars"* %1 to i8* | |
| %4 = bitcast %"str::Chars"* %2 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %4, i8* %3, i64 16, i32 8, i1 false) | |
| %5 = getelementptr inbounds %"iter::Enumerate<str::Chars>", %"iter::Enumerate<str::Chars>"* %0, i32 0, i32 1 | |
| store i64 0, i64* %5, align 8 | |
| %6 = bitcast %"str::Chars"* %1 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %6) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define void @_ZN3str10str.StrExt5chars20h72e52c290c5f0a7craKE(%"str::Chars"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca %str_slice | |
| %3 = alloca { i8*, i64 } | |
| %4 = insertvalue %str_slice undef, i8* %1, 0 | |
| %5 = insertvalue %str_slice %4, i64 %2, 1 | |
| %6 = bitcast %str_slice* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| store %str_slice %5, %str_slice* %self, align 8 | |
| %7 = getelementptr inbounds %"str::Chars", %"str::Chars"* %0, i32 0, i32 0 | |
| %8 = bitcast { i8*, i64 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %8) | |
| %9 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0 | |
| %10 = load i8*, i8** %9 | |
| %11 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1 | |
| %12 = load i64, i64* %11 | |
| %13 = call { i8*, i64 } @_ZN3str10str.StrExt8as_bytes20h0ddb326a146deba1trKE(i8* noalias nonnull readonly %10, i64 %12) | |
| store { i8*, i64 } %13, { i8*, i64 }* %3, align 8 | |
| %14 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %3, i32 0, i32 0 | |
| %15 = load i8*, i8** %14 | |
| %16 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %3, i32 0, i32 1 | |
| %17 = load i64, i64* %16 | |
| call void @"_ZN5slice21_$u5b$T$u5d$.SliceExt4iter20h6338026411231659373E"(%"slice::Iter<u8>"* noalias nocapture sret dereferenceable(16) %7, i8* noalias nonnull readonly %15, i64 %17) | |
| %18 = bitcast %str_slice* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %18) | |
| ret void | |
| } | |
| ; Function Attrs: uwtable | |
| define internal dereferenceable(24) %"iter::Enumerate<str::Chars>"* @_ZN4iter14I.IntoIterator9into_iter20h6563255094920483013E(%"iter::Enumerate<str::Chars>"* noalias dereferenceable(24)) unnamed_addr #2 { | |
| entry-block: | |
| %self = alloca %"iter::Enumerate<str::Chars>"* | |
| %1 = bitcast %"iter::Enumerate<str::Chars>"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store %"iter::Enumerate<str::Chars>"* %0, %"iter::Enumerate<str::Chars>"** %self, align 8 | |
| %2 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %self, align 8, !nonnull !2 | |
| %3 = bitcast %"iter::Enumerate<str::Chars>"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %3) | |
| ret %"iter::Enumerate<str::Chars>"* %2 | |
| } | |
| ; Function Attrs: uwtable | |
| define internal dereferenceable(24) %"iter::Enumerate<str::Chars>"* @_ZN4iter8Iterator6by_ref21h16646711982226617443E(%"iter::Enumerate<str::Chars>"* noalias dereferenceable(24)) unnamed_addr #2 { | |
| entry-block: | |
| %self = alloca %"iter::Enumerate<str::Chars>"* | |
| %1 = bitcast %"iter::Enumerate<str::Chars>"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store %"iter::Enumerate<str::Chars>"* %0, %"iter::Enumerate<str::Chars>"** %self, align 8 | |
| %2 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %self, align 8, !nonnull !2 | |
| %3 = bitcast %"iter::Enumerate<str::Chars>"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %3) | |
| ret %"iter::Enumerate<str::Chars>"* %2 | |
| } | |
| ; Function Attrs: uwtable | |
| define internal void @"_ZN4iter34_$RF$$u27$a$u20$mut$u20$I.Iterator4next21h12474813853625106210E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(24), %"iter::Enumerate<str::Chars>"** noalias dereferenceable(8)) unnamed_addr #2 { | |
| entry-block: | |
| %self = alloca %"iter::Enumerate<str::Chars>"** | |
| %2 = bitcast %"iter::Enumerate<str::Chars>"*** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store %"iter::Enumerate<str::Chars>"** %1, %"iter::Enumerate<str::Chars>"*** %self, align 8 | |
| %3 = load %"iter::Enumerate<str::Chars>"**, %"iter::Enumerate<str::Chars>"*** %self, align 8, !nonnull !2 | |
| %4 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %3, align 8, !nonnull !2 | |
| call void @"_ZN4iter27Enumerate$LT$I$GT$.Iterator4next21h13745234386093804367E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(24) %0, %"iter::Enumerate<str::Chars>"* noalias dereferenceable(24) %4) | |
| %5 = bitcast %"iter::Enumerate<str::Chars>"*** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %5) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @"_ZN4iter27Enumerate$LT$I$GT$.Iterator4next21h13745234386093804367E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(24), %"iter::Enumerate<str::Chars>"* noalias dereferenceable(24)) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca %"iter::Enumerate<str::Chars>"* | |
| %2 = alloca %"option::Option<char>" | |
| %3 = alloca %closure | |
| %4 = bitcast %"iter::Enumerate<str::Chars>"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store %"iter::Enumerate<str::Chars>"* %1, %"iter::Enumerate<str::Chars>"** %self, align 8 | |
| %5 = bitcast %"option::Option<char>"* %2 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| %6 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %self, align 8, !nonnull !2 | |
| %7 = getelementptr inbounds %"iter::Enumerate<str::Chars>", %"iter::Enumerate<str::Chars>"* %6, i32 0, i32 0 | |
| %8 = call i64 @"_ZN3str28Chars$LT$$u27$a$GT$.Iterator4next20hd92a5b18a32f203egWIE"(%"str::Chars"* noalias dereferenceable(16) %7) | |
| %9 = bitcast %"option::Option<char>"* %2 to i64* | |
| store i64 %8, i64* %9, align 4 | |
| %10 = bitcast %"option::Option<char>"* %2 to i64* | |
| %11 = load i64, i64* %10, align 4 | |
| %12 = bitcast %"option::Option<char>"* %2 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %closure* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %13) | |
| %14 = getelementptr inbounds %closure, %closure* %3, i32 0, i32 0 | |
| store %"iter::Enumerate<str::Chars>"** %self, %"iter::Enumerate<str::Chars>"*** %14 | |
| %15 = bitcast %closure* %3 to i64* | |
| %16 = load i64, i64* %15, align 8 | |
| %17 = bitcast %closure* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %17) | |
| call void @"_ZN6option15Option$LT$T$GT$3map20h3693687562988593440E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(24) %0, i64 %11, i64 %16) | |
| %18 = bitcast %"iter::Enumerate<str::Chars>"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %18) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @"_ZN6option15Option$LT$T$GT$3map20h3693687562988593440E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(24), i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca %"option::Option<char>" | |
| %f = alloca %closure | |
| %__llmatch = alloca i32* | |
| %x = alloca i32 | |
| %3 = bitcast %"option::Option<char>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| %4 = bitcast %"option::Option<char>"* %self to i64* | |
| store i64 %1, i64* %4, align 4 | |
| %5 = bitcast %closure* %f to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| %6 = bitcast %closure* %f to i64* | |
| store i64 %2, i64* %6, align 8 | |
| %7 = getelementptr inbounds %"option::Option<char>", %"option::Option<char>"* %self, i32 0, i32 0 | |
| %8 = load i32, i32* %7, !range !4 | |
| switch i32 %8, label %match_else [ | |
| i32 1, label %match_case | |
| ] | |
| case_body: ; preds = %match_case | |
| %9 = load i32*, i32** %__llmatch | |
| %10 = bitcast i32* %x to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %10) | |
| %11 = load i32, i32* %9, align 4, !range !0 | |
| store i32 %11, i32* %x, align 4 | |
| %12 = bitcast %"option::Option<(usize, char)>"* %0 to { i64, { i64, i32 } }* | |
| %13 = getelementptr inbounds { i64, { i64, i32 } }, { i64, { i64, i32 } }* %12, i32 0, i32 1 | |
| %14 = bitcast %closure* %f to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| %16 = load i32, i32* %x, align 4, !range !0 | |
| call void @"_ZN4iter27Enumerate$LT$I$GT$.Iterator4next13closure.43526E"({ i64, i32 }* noalias nocapture sret dereferenceable(16) %13, i64 %15, i32 %16) | |
| %17 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %0, i32 0, i32 0 | |
| store i64 1, i64* %17 | |
| %18 = bitcast i32** %__llmatch to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %18) | |
| %19 = bitcast i32* %x to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %19) | |
| br label %join | |
| case_body1: ; preds = %match_else | |
| %20 = bitcast %"option::Option<(usize, char)>"* %0 to { i64, [16 x i8] }* | |
| %21 = bitcast { i64, [16 x i8] }* %20 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %21, i8* bitcast ({ i64, [16 x i8] }* @const43525 to i8*), i64 24, i32 8, i1 false) | |
| br label %join | |
| match_else: ; preds = %entry-block | |
| br label %case_body1 | |
| match_case: ; preds = %entry-block | |
| %22 = bitcast %"option::Option<char>"* %self to { i32, i32 }* | |
| %23 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %22, i32 0, i32 1 | |
| %24 = bitcast i32** %__llmatch to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %24) | |
| store i32* %23, i32** %__llmatch | |
| br label %case_body | |
| join: ; preds = %case_body1, %case_body | |
| %25 = bitcast %closure* %f to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| %26 = bitcast %"option::Option<char>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %26) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @"_ZN4iter27Enumerate$LT$I$GT$.Iterator4next13closure.43526E"({ i64, i32 }* noalias nocapture sret dereferenceable(16), i64, i32) unnamed_addr #4 { | |
| entry-block: | |
| %a = alloca i32 | |
| %closure_env = alloca %closure | |
| %ret = alloca { i64, i32 } | |
| %3 = bitcast i32* %a to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %2, i32* %a, align 4 | |
| %4 = bitcast %closure* %closure_env to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %closure* %closure_env to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %closure, %closure* %closure_env, i32 0, i32 0 | |
| %7 = load %"iter::Enumerate<str::Chars>"**, %"iter::Enumerate<str::Chars>"*** %6 | |
| %8 = bitcast { i64, i32 }* %ret to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %8) | |
| %9 = getelementptr inbounds { i64, i32 }, { i64, i32 }* %ret, i32 0, i32 0 | |
| %10 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %7, align 8, !nonnull !2 | |
| %11 = getelementptr inbounds %"iter::Enumerate<str::Chars>", %"iter::Enumerate<str::Chars>"* %10, i32 0, i32 1 | |
| %12 = load i64, i64* %11, align 8 | |
| store i64 %12, i64* %9, align 8 | |
| %13 = getelementptr inbounds { i64, i32 }, { i64, i32 }* %ret, i32 0, i32 1 | |
| %14 = load i32, i32* %a, align 4, !range !0 | |
| store i32 %14, i32* %13, align 4 | |
| %15 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %7, align 8, !nonnull !2 | |
| %16 = getelementptr inbounds %"iter::Enumerate<str::Chars>", %"iter::Enumerate<str::Chars>"* %15, i32 0, i32 1 | |
| %17 = load i64, i64* %16, align 8 | |
| %18 = add i64 %17, 1 | |
| store i64 %18, i64* %16, align 8 | |
| %19 = bitcast { i64, i32 }* %ret to i8* | |
| %20 = bitcast { i64, i32 }* %0 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %20, i8* %19, i64 16, i32 8, i1 false) | |
| %21 = bitcast { i64, i32 }* %ret to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %21) | |
| %22 = bitcast i32* %a to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %22) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @"_ZN3str28Chars$LT$$u27$a$GT$.Iterator4next20hd92a5b18a32f203egWIE"(%"str::Chars"* noalias dereferenceable(16)) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca %"option::Option<char>" | |
| %self = alloca %"str::Chars"* | |
| %1 = alloca %"option::Option<u32>" | |
| %2 = bitcast %"str::Chars"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store %"str::Chars"* %0, %"str::Chars"** %self, align 8 | |
| %3 = bitcast %"option::Option<u32>"* %1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| %4 = load %"str::Chars"*, %"str::Chars"** %self, align 8, !nonnull !2 | |
| %5 = getelementptr inbounds %"str::Chars", %"str::Chars"* %4, i32 0, i32 0 | |
| %6 = call i64 @_ZN3str15next_code_point20h5985f079bf83bf4arSIE(%"slice::Iter<u8>"* noalias dereferenceable(16) %5) | |
| %7 = bitcast %"option::Option<u32>"* %1 to i64* | |
| store i64 %6, i64* %7, align 4 | |
| %8 = bitcast %"option::Option<u32>"* %1 to i64* | |
| %9 = load i64, i64* %8, align 4 | |
| %10 = bitcast %"option::Option<u32>"* %1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %10) | |
| %11 = call i64 @"_ZN6option15Option$LT$T$GT$3map21h16164244409045696597E"(i64 %9, %closure.22 undef) | |
| %12 = bitcast %"option::Option<char>"* %sret_slot to i64* | |
| store i64 %11, i64* %12, align 4 | |
| %13 = bitcast %"str::Chars"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"option::Option<char>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 4 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN4char12char.CharExt8to_digit20h151cfc3f68bf51e09RBE(i32, i32) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca %"option::Option<u32>" | |
| %self = alloca i32 | |
| %radix = alloca i32 | |
| %val = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %radix to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %radix, align 4 | |
| %4 = load i32, i32* %radix, align 4 | |
| %5 = icmp ugt i32 %4, 36 | |
| br i1 %5, label %then-block-106531-, label %next-block | |
| then-block-106531-: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @_ZN4char12char.CharExt8to_digit14_MSG_FILE_LINE20h6e428c54043941afuSBE to { %str_slice, %str_slice, i32 }*)) | |
| unreachable | |
| next-block: ; preds = %entry-block | |
| %6 = bitcast i32* %val to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %6) | |
| %7 = load i32, i32* %self, align 4, !range !0 | |
| %8 = icmp uge i32 %7, 48 | |
| %9 = icmp ule i32 %7, 57 | |
| %10 = and i1 %8, %9 | |
| br i1 %10, label %match_case, label %compare_next | |
| case_body: ; preds = %match_case | |
| %11 = load i32, i32* %self, align 4, !range !0 | |
| %12 = sub i32 %11, 48 | |
| store i32 %12, i32* %val, align 4 | |
| br label %join | |
| case_body1: ; preds = %match_case4 | |
| %13 = load i32, i32* %self, align 4, !range !0 | |
| %14 = sub i32 %13, 97 | |
| %15 = add i32 %14, 10 | |
| store i32 %15, i32* %val, align 4 | |
| br label %join | |
| case_body2: ; preds = %match_case6 | |
| %16 = load i32, i32* %self, align 4, !range !0 | |
| %17 = sub i32 %16, 65 | |
| %18 = add i32 %17, 10 | |
| store i32 %18, i32* %val, align 4 | |
| br label %join | |
| case_body3: ; preds = %match_else | |
| %19 = bitcast %"option::Option<u32>"* %sret_slot to { i32, [4 x i8] }* | |
| %20 = bitcast { i32, [4 x i8] }* %19 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %20, i8* bitcast ({ i32, [4 x i8] }* @const43652 to i8*), i64 8, i32 4, i1 false) | |
| br label %clean_custom_ | |
| match_else: ; preds = %compare_next7 | |
| br label %case_body3 | |
| match_case: ; preds = %next-block | |
| br label %case_body | |
| compare_next: ; preds = %next-block | |
| %21 = icmp uge i32 %7, 97 | |
| %22 = icmp ule i32 %7, 122 | |
| %23 = and i1 %21, %22 | |
| br i1 %23, label %match_case4, label %compare_next5 | |
| match_case4: ; preds = %compare_next | |
| br label %case_body1 | |
| compare_next5: ; preds = %compare_next | |
| %24 = icmp uge i32 %7, 65 | |
| %25 = icmp ule i32 %7, 90 | |
| %26 = and i1 %24, %25 | |
| br i1 %26, label %match_case6, label %compare_next7 | |
| match_case6: ; preds = %compare_next5 | |
| br label %case_body2 | |
| compare_next7: ; preds = %compare_next5 | |
| br label %match_else | |
| clean_custom_: ; preds = %join8, %case_body3 | |
| %27 = bitcast i32* %radix to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %27) | |
| %28 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %28) | |
| br label %return | |
| join: ; preds = %case_body2, %case_body1, %case_body | |
| %29 = load i32, i32* %val, align 4 | |
| %30 = load i32, i32* %radix, align 4 | |
| %31 = icmp ult i32 %29, %30 | |
| br i1 %31, label %then-block-106599-, label %else-block | |
| then-block-106599-: ; preds = %join | |
| %32 = bitcast %"option::Option<u32>"* %sret_slot to { i32, i32 }* | |
| %33 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %32, i32 0, i32 1 | |
| %34 = load i32, i32* %val, align 4 | |
| store i32 %34, i32* %33, align 4 | |
| %35 = getelementptr inbounds %"option::Option<u32>", %"option::Option<u32>"* %sret_slot, i32 0, i32 0 | |
| store i32 1, i32* %35 | |
| br label %join8 | |
| else-block: ; preds = %join | |
| %36 = bitcast %"option::Option<u32>"* %sret_slot to { i32, [4 x i8] }* | |
| %37 = bitcast { i32, [4 x i8] }* %36 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %37, i8* bitcast ({ i32, [4 x i8] }* @const43652 to i8*), i64 8, i32 4, i1 false) | |
| br label %join8 | |
| join8: ; preds = %else-block, %then-block-106599- | |
| %38 = bitcast i32* %val to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %38) | |
| br label %clean_custom_ | |
| return: ; preds = %clean_custom_ | |
| %39 = bitcast %"option::Option<u32>"* %sret_slot to i64* | |
| %40 = load i64, i64* %39, align 4 | |
| ret i64 %40 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal zeroext i1 @"_ZN6option15Option$LT$T$GT$7is_none20h1578896107712481053E"(%"option::Option<(char, usize)>"* noalias readonly dereferenceable(24)) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca %"option::Option<(char, usize)>"* | |
| %1 = alloca i8 | |
| %2 = bitcast %"option::Option<(char, usize)>"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store %"option::Option<(char, usize)>"* %0, %"option::Option<(char, usize)>"** %self, align 8 | |
| call void @llvm.lifetime.start(i64 1, i8* %1) | |
| %3 = load %"option::Option<(char, usize)>"*, %"option::Option<(char, usize)>"** %self, align 8, !nonnull !2 | |
| %4 = call zeroext i1 @"_ZN6option15Option$LT$T$GT$7is_some20h2135342522539866952E"(%"option::Option<(char, usize)>"* noalias readonly dereferenceable(24) %3) | |
| %5 = zext i1 %4 to i8 | |
| store i8 %5, i8* %1, align 1 | |
| %6 = load i8, i8* %1, align 1, !range !1 | |
| %7 = trunc i8 %6 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %1) | |
| %8 = xor i1 %7, true | |
| %9 = zext i1 %8 to i8 | |
| %10 = bitcast %"option::Option<(char, usize)>"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %10) | |
| %11 = trunc i8 %9 to i1 | |
| ret i1 %11 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal zeroext i1 @"_ZN6option15Option$LT$T$GT$7is_some20h2135342522539866952E"(%"option::Option<(char, usize)>"* noalias readonly dereferenceable(24)) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca i8 | |
| %self = alloca %"option::Option<(char, usize)>"* | |
| %1 = bitcast %"option::Option<(char, usize)>"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store %"option::Option<(char, usize)>"* %0, %"option::Option<(char, usize)>"** %self, align 8 | |
| %2 = load %"option::Option<(char, usize)>"*, %"option::Option<(char, usize)>"** %self, align 8, !nonnull !2 | |
| %3 = getelementptr inbounds %"option::Option<(char, usize)>", %"option::Option<(char, usize)>"* %2, i32 0, i32 0 | |
| %4 = load i64, i64* %3, !range !3 | |
| switch i64 %4, label %match_else [ | |
| i64 1, label %match_case | |
| ] | |
| case_body: ; preds = %match_case | |
| store i8 1, i8* %sret_slot, align 1 | |
| br label %join | |
| case_body1: ; preds = %match_else | |
| store i8 0, i8* %sret_slot, align 1 | |
| br label %join | |
| match_else: ; preds = %entry-block | |
| br label %case_body1 | |
| match_case: ; preds = %entry-block | |
| %5 = bitcast %"option::Option<(char, usize)>"* %2 to { i64, { i32, i64 } }* | |
| %6 = getelementptr inbounds { i64, { i32, i64 } }, { i64, { i32, i64 } }* %5, i32 0, i32 1 | |
| br label %case_body | |
| join: ; preds = %case_body1, %case_body | |
| %7 = bitcast %"option::Option<(char, usize)>"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = load i8, i8* %sret_slot, align 1, !range !1 | |
| %9 = trunc i8 %8 to i1 | |
| ret i1 %9 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define %str_slice @"_ZN3str6traits49str.ops..Index$LT$ops..RangeFrom$LT$usize$GT$$GT$5index20h3f1b10be0dd1c356pYJE"(i8* noalias nonnull readonly, i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca %str_slice | |
| %self = alloca %str_slice | |
| %index = alloca %"ops::RangeFrom<usize>" | |
| %3 = alloca %str_slice | |
| %4 = alloca i8 | |
| %5 = alloca %str_slice | |
| %6 = alloca %str_slice | |
| %7 = alloca i64 | |
| %8 = alloca i64 | |
| %9 = insertvalue %str_slice undef, i8* %0, 0 | |
| %10 = insertvalue %str_slice %9, i64 %1, 1 | |
| %11 = bitcast %str_slice* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %11) | |
| store %str_slice %10, %str_slice* %self, align 8 | |
| %12 = bitcast %"ops::RangeFrom<usize>"* %index to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %12) | |
| %13 = bitcast %"ops::RangeFrom<usize>"* %index to i64* | |
| store i64 %2, i64* %13, align 8 | |
| %14 = bitcast %str_slice* %3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %14) | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %15 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0 | |
| %16 = load i8*, i8** %15 | |
| %17 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1 | |
| %18 = load i64, i64* %17 | |
| %19 = getelementptr inbounds %"ops::RangeFrom<usize>", %"ops::RangeFrom<usize>"* %index, i32 0, i32 0 | |
| %20 = load i64, i64* %19, align 8 | |
| %21 = call zeroext i1 @_ZN3str10str.StrExt16is_char_boundary20hf26220d6d28b22771mKE(i8* noalias nonnull readonly %16, i64 %18, i64 %20) | |
| %22 = zext i1 %21 to i8 | |
| store i8 %22, i8* %4, align 1 | |
| %23 = load i8, i8* %4, align 1, !range !1 | |
| %24 = trunc i8 %23 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %4) | |
| br i1 %24, label %then-block-137672-, label %else-block | |
| then-block-137672-: ; preds = %entry-block | |
| %25 = bitcast %str_slice* %5 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %25) | |
| %26 = bitcast %str_slice* %6 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %26) | |
| %27 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0 | |
| %28 = load i8*, i8** %27 | |
| %29 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1 | |
| %30 = load i64, i64* %29 | |
| %31 = getelementptr inbounds %"ops::RangeFrom<usize>", %"ops::RangeFrom<usize>"* %index, i32 0, i32 0 | |
| %32 = load i64, i64* %31, align 8 | |
| %33 = bitcast i64* %7 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %33) | |
| %34 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0 | |
| %35 = load i8*, i8** %34 | |
| %36 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1 | |
| %37 = load i64, i64* %36 | |
| %38 = call i64 @_ZN3str10str.StrExt3len20h23e9fc885ca86df9YvKE(i8* noalias nonnull readonly %35, i64 %37) | |
| store i64 %38, i64* %7, align 8 | |
| %39 = load i64, i64* %7, align 8 | |
| %40 = bitcast i64* %7 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %40) | |
| %41 = call %str_slice @_ZN3str10str.StrExt15slice_unchecked20h7dd8783f909b84ea5iKE(i8* noalias nonnull readonly %28, i64 %30, i64 %32, i64 %39) | |
| store %str_slice %41, %str_slice* %6, align 8 | |
| %42 = bitcast %str_slice* %6 to i8* | |
| %43 = bitcast %str_slice* %5 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %43, i8* %42, i64 16, i32 8, i1 false) | |
| %44 = bitcast %str_slice* %6 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %44) | |
| %45 = bitcast %str_slice* %5 to i8* | |
| %46 = bitcast %str_slice* %3 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %46, i8* %45, i64 16, i32 8, i1 false) | |
| %47 = bitcast %str_slice* %5 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %47) | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %48 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0 | |
| %49 = load i8*, i8** %48 | |
| %50 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1 | |
| %51 = load i64, i64* %50 | |
| %52 = getelementptr inbounds %"ops::RangeFrom<usize>", %"ops::RangeFrom<usize>"* %index, i32 0, i32 0 | |
| %53 = load i64, i64* %52, align 8 | |
| %54 = bitcast i64* %8 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %54) | |
| %55 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0 | |
| %56 = load i8*, i8** %55 | |
| %57 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1 | |
| %58 = load i64, i64* %57 | |
| %59 = call i64 @_ZN3str10str.StrExt3len20h23e9fc885ca86df9YvKE(i8* noalias nonnull readonly %56, i64 %58) | |
| store i64 %59, i64* %8, align 8 | |
| %60 = load i64, i64* %8, align 8 | |
| %61 = bitcast i64* %8 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %61) | |
| call void @_ZN3str16slice_error_fail20hb25e943f59b10dd2c8JE(i8* noalias nonnull readonly %49, i64 %51, i64 %53, i64 %60) | |
| unreachable | |
| join: ; preds = %then-block-137672- | |
| %62 = bitcast %str_slice* %3 to i8* | |
| %63 = bitcast %str_slice* %sret_slot to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %63, i8* %62, i64 16, i32 8, i1 false) | |
| %64 = bitcast %str_slice* %3 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %64) | |
| %65 = bitcast %"ops::RangeFrom<usize>"* %index to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %65) | |
| %66 = bitcast %str_slice* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %66) | |
| %67 = load %str_slice, %str_slice* %sret_slot, align 8 | |
| ret %str_slice %67 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @_ZN3str10str.StrExt5parse21h10035881824587292317E(%"result::Result<usize, num::ParseIntError>"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca %str_slice | |
| %3 = insertvalue %str_slice undef, i8* %1, 0 | |
| %4 = insertvalue %str_slice %3, i64 %2, 1 | |
| %5 = bitcast %str_slice* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| store %str_slice %4, %str_slice* %self, align 8 | |
| %6 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0 | |
| %7 = load i8*, i8** %6 | |
| %8 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1 | |
| %9 = load i64, i64* %8 | |
| call void @_ZN3num13usize.FromStr8from_str20h46f11b062b4efdbddshE(%"result::Result<usize, num::ParseIntError>"* noalias nocapture sret dereferenceable(16) %0, i8* noalias nonnull readonly %7, i64 %9) | |
| %10 = bitcast %str_slice* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %10) | |
| ret void | |
| } | |
| ; Function Attrs: uwtable | |
| define void @_ZN3num13usize.FromStr8from_str20h46f11b062b4efdbddshE(%"result::Result<usize, num::ParseIntError>"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i64) unnamed_addr #2 { | |
| entry-block: | |
| %src = alloca %str_slice | |
| %3 = insertvalue %str_slice undef, i8* %1, 0 | |
| %4 = insertvalue %str_slice %3, i64 %2, 1 | |
| %5 = bitcast %str_slice* %src to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| store %str_slice %4, %str_slice* %src, align 8 | |
| %6 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 0 | |
| %7 = load i8*, i8** %6 | |
| %8 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 1 | |
| %9 = load i64, i64* %8 | |
| call void @_ZN3num14from_str_radix21h16135253807214453936E(%"result::Result<usize, num::ParseIntError>"* noalias nocapture sret dereferenceable(16) %0, i8* noalias nonnull readonly %7, i64 %9, i32 10) | |
| %10 = bitcast %str_slice* %src to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %10) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float4powi20hbd813b1c7a3a49f9svaE(float, i32) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %n = alloca i32 | |
| %2 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store float %0, float* %self, align 4 | |
| %3 = bitcast i32* %n to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %n, align 4 | |
| %4 = load float, float* %self, align 4 | |
| %5 = load i32, i32* %n, align 4 | |
| %6 = call float @llvm.powi.f32(float %4, i32 %5) | |
| %7 = bitcast i32* %n to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %8) | |
| ret float %6 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3f329f32.Float6is_nan20h9528751760ea0607TpaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = load float, float* %self, align 4 | |
| %4 = fcmp une float %2, %3 | |
| %5 = zext i1 %4 to i8 | |
| %6 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %6) | |
| %7 = trunc i8 %5 to i1 | |
| ret i1 %7 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3f329f32.Float11is_infinite20h18751e5ba3725f2f3paE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = alloca float | |
| %2 = alloca float | |
| %3 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store float %0, float* %self, align 4 | |
| %4 = bitcast float* %1 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = call float @_ZN3f329f32.Float8infinity20h6ec1d6c56e54b7d5YfaE() | |
| store float %5, float* %1, align 4 | |
| %6 = load float, float* %1, align 4 | |
| %7 = bitcast float* %1 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = load float, float* %self, align 4 | |
| %9 = fcmp oeq float %8, %6 | |
| br i1 %9, label %join, label %before_rhs | |
| join: ; preds = %before_rhs, %entry-block | |
| %10 = phi i1 [ %9, %entry-block ], [ %19, %before_rhs ] | |
| %11 = zext i1 %10 to i8 | |
| %12 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = trunc i8 %11 to i1 | |
| ret i1 %13 | |
| before_rhs: ; preds = %entry-block | |
| %14 = bitcast float* %2 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %14) | |
| %15 = call float @_ZN3f329f32.Float12neg_infinity20h6adc134f1b5bae443faE() | |
| store float %15, float* %2, align 4 | |
| %16 = load float, float* %2, align 4 | |
| %17 = bitcast float* %2 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %17) | |
| %18 = load float, float* %self, align 4 | |
| %19 = fcmp oeq float %18, %16 | |
| br label %join | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3f329f32.Float9is_finite20hfada618273e5d09fjqaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = alloca i8 | |
| %2 = alloca i8 | |
| %3 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store float %0, float* %self, align 4 | |
| call void @llvm.lifetime.start(i64 1, i8* %1) | |
| %4 = load float, float* %self, align 4 | |
| %5 = call zeroext i1 @_ZN3f329f32.Float6is_nan20h9528751760ea0607TpaE(float %4) | |
| %6 = zext i1 %5 to i8 | |
| store i8 %6, i8* %1, align 1 | |
| %7 = load i8, i8* %1, align 1, !range !1 | |
| %8 = trunc i8 %7 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %1) | |
| br i1 %8, label %join, label %before_rhs | |
| join: ; preds = %before_rhs, %entry-block | |
| %9 = phi i1 [ %8, %entry-block ], [ %18, %before_rhs ] | |
| %10 = xor i1 %9, true | |
| %11 = zext i1 %10 to i8 | |
| %12 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = trunc i8 %11 to i1 | |
| ret i1 %13 | |
| before_rhs: ; preds = %entry-block | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %14 = load float, float* %self, align 4 | |
| %15 = call zeroext i1 @_ZN3f329f32.Float11is_infinite20h18751e5ba3725f2f3paE(float %14) | |
| %16 = zext i1 %15 to i8 | |
| store i8 %16, i8* %2, align 1 | |
| %17 = load i8, i8* %2, align 1, !range !1 | |
| %18 = trunc i8 %17 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %2) | |
| br label %join | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3f329f32.Float9is_normal20h62c6837f941bc4adxqaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = alloca i8 | |
| %autoref = alloca i8 | |
| %2 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store float %0, float* %self, align 4 | |
| call void @llvm.lifetime.start(i64 1, i8* %1) | |
| %3 = load float, float* %self, align 4 | |
| %4 = call i8 @_ZN3f329f32.Float8classify20h9186a18808b3ec5fIqaE(float %3) | |
| store i8 %4, i8* %1, align 1 | |
| %5 = load i8, i8* %1, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %1) | |
| call void @llvm.lifetime.start(i64 1, i8* %autoref) | |
| store i8 %5, i8* %autoref, align 1 | |
| %6 = call zeroext i1 @_ZN3num33FpCategory...core..cmp..PartialEq2eq20h48fccd04b574d039HihE(i8* noalias readonly dereferenceable(1) %autoref, i8* noalias readonly dereferenceable(1) @const43534) | |
| %7 = zext i1 %6 to i8 | |
| call void @llvm.lifetime.end(i64 1, i8* %autoref) | |
| %8 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %8) | |
| %9 = trunc i8 %7 to i1 | |
| ret i1 %9 | |
| } | |
| ; Function Attrs: uwtable | |
| define i8 @_ZN3f329f32.Float8classify20h9186a18808b3ec5fIqaE(float) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca i8 | |
| %self = alloca float | |
| %bits = alloca i32 | |
| %1 = alloca { i32, i32 } | |
| %match = alloca { i32, i32 } | |
| %2 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store float %0, float* %self, align 4 | |
| %3 = bitcast i32* %bits to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| %4 = load float, float* %self, align 4 | |
| %5 = bitcast float %4 to i32 | |
| store i32 %5, i32* %bits | |
| %6 = bitcast { i32, i32 }* %1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %6) | |
| %7 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %1, i32 0, i32 0 | |
| %8 = load i32, i32* %bits, align 4 | |
| %9 = and i32 %8, 8388607 | |
| store i32 %9, i32* %7, align 4 | |
| %10 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %1, i32 0, i32 1 | |
| %11 = load i32, i32* %bits, align 4 | |
| %12 = and i32 %11, 2139095040 | |
| store i32 %12, i32* %10, align 4 | |
| %13 = bitcast { i32, i32 }* %1 to i64* | |
| %14 = load i64, i64* %13, align 4 | |
| %15 = bitcast { i32, i32 }* %1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %15) | |
| %16 = bitcast { i32, i32 }* %match to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %16) | |
| %17 = bitcast { i32, i32 }* %match to i64* | |
| store i64 %14, i64* %17, align 4 | |
| %18 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %match, i32 0, i32 0 | |
| %19 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %match, i32 0, i32 1 | |
| %20 = load i32, i32* %19, align 4 | |
| switch i32 %20, label %match_else [ | |
| i32 0, label %match_case | |
| i32 2139095040, label %match_case7 | |
| ] | |
| case_body: ; preds = %match_case6 | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret_slot, i8* @const43537, i64 1, i32 1, i1 false) | |
| br label %join | |
| case_body1: ; preds = %match_else5 | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret_slot, i8* @const43538, i64 1, i32 1, i1 false) | |
| br label %join | |
| case_body2: ; preds = %match_case9 | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret_slot, i8* @const43523, i64 1, i32 1, i1 false) | |
| br label %join | |
| case_body3: ; preds = %match_else8 | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret_slot, i8* @const43522, i64 1, i32 1, i1 false) | |
| br label %join | |
| case_body4: ; preds = %match_else | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret_slot, i8* @const43534, i64 1, i32 1, i1 false) | |
| br label %join | |
| match_else: ; preds = %entry-block | |
| br label %case_body4 | |
| match_case: ; preds = %entry-block | |
| %21 = load i32, i32* %18, align 4 | |
| switch i32 %21, label %match_else5 [ | |
| i32 0, label %match_case6 | |
| ] | |
| match_else5: ; preds = %match_case | |
| br label %case_body1 | |
| match_case6: ; preds = %match_case | |
| br label %case_body | |
| match_case7: ; preds = %entry-block | |
| %22 = load i32, i32* %18, align 4 | |
| switch i32 %22, label %match_else8 [ | |
| i32 0, label %match_case9 | |
| ] | |
| match_else8: ; preds = %match_case7 | |
| br label %case_body3 | |
| match_case9: ; preds = %match_case7 | |
| br label %case_body2 | |
| join: ; preds = %case_body4, %case_body3, %case_body2, %case_body1, %case_body | |
| %23 = bitcast { i32, i32 }* %match to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i32* %bits to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %24) | |
| %25 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %25) | |
| %26 = load i8, i8* %sret_slot, align 1 | |
| ret i8 %26 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3num33FpCategory...core..cmp..PartialEq2eq20h48fccd04b574d039HihE(i8* noalias readonly dereferenceable(1), i8* noalias readonly dereferenceable(1)) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca i8 | |
| %self = alloca i8* | |
| %__arg_0 = alloca i8* | |
| %__self_vi = alloca i32 | |
| %2 = alloca i64 | |
| %__arg_1_vi = alloca i32 | |
| %3 = alloca i64 | |
| %4 = alloca { i8*, i8* } | |
| %5 = bitcast i8** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| store i8* %0, i8** %self, align 8 | |
| %6 = bitcast i8** %__arg_0 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %6) | |
| store i8* %1, i8** %__arg_0, align 8 | |
| %7 = bitcast i32* %__self_vi to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %7) | |
| %8 = bitcast i64* %2 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %8) | |
| %9 = load i8*, i8** %self, align 8, !nonnull !2 | |
| %10 = load i8, i8* %9, !range !5 | |
| %11 = zext i8 %10 to i64 | |
| store i64 %11, i64* %2, align 8 | |
| %12 = load i64, i64* %2, align 8 | |
| %13 = bitcast i64* %2 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = trunc i64 %12 to i32 | |
| store i32 %14, i32* %__self_vi, align 4 | |
| %15 = bitcast i32* %__arg_1_vi to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %15) | |
| %16 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %16) | |
| %17 = load i8*, i8** %__arg_0, align 8, !nonnull !2 | |
| %18 = load i8, i8* %17, !range !5 | |
| %19 = zext i8 %18 to i64 | |
| store i64 %19, i64* %3, align 8 | |
| %20 = load i64, i64* %3, align 8 | |
| %21 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %21) | |
| %22 = trunc i64 %20 to i32 | |
| store i32 %22, i32* %__arg_1_vi, align 4 | |
| br i1 true, label %before_rhs, label %join | |
| join: ; preds = %before_rhs, %entry-block | |
| %23 = phi i1 [ true, %entry-block ], [ %26, %before_rhs ] | |
| br i1 %23, label %then-block-27480-, label %else-block | |
| before_rhs: ; preds = %entry-block | |
| %24 = load i32, i32* %__self_vi, align 4 | |
| %25 = load i32, i32* %__arg_1_vi, align 4 | |
| %26 = icmp eq i32 %24, %25 | |
| br label %join | |
| then-block-27480-: ; preds = %join | |
| %27 = bitcast { i8*, i8* }* %4 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %27) | |
| %28 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %4, i32 0, i32 0 | |
| %29 = load i8*, i8** %self, align 8, !nonnull !2 | |
| store i8* %29, i8** %28, align 8 | |
| %30 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %4, i32 0, i32 1 | |
| %31 = load i8*, i8** %__arg_0, align 8, !nonnull !2 | |
| store i8* %31, i8** %30, align 8 | |
| %32 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %4, i32 0, i32 0 | |
| %33 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %4, i32 0, i32 1 | |
| %34 = load i8*, i8** %33 | |
| %35 = load i8*, i8** %32 | |
| %36 = load i8, i8* %34, !range !5 | |
| switch i8 %36, label %match_else [ | |
| i8 0, label %match_case | |
| i8 1, label %match_case8 | |
| i8 2, label %match_case11 | |
| i8 3, label %match_case14 | |
| i8 4, label %match_case17 | |
| ] | |
| case_body: ; preds = %match_case7 | |
| store i8 1, i8* %sret_slot, align 1 | |
| br label %join20 | |
| case_body1: ; preds = %match_case10 | |
| store i8 1, i8* %sret_slot, align 1 | |
| br label %join20 | |
| case_body2: ; preds = %match_case13 | |
| store i8 1, i8* %sret_slot, align 1 | |
| br label %join20 | |
| case_body3: ; preds = %match_case16 | |
| store i8 1, i8* %sret_slot, align 1 | |
| br label %join20 | |
| case_body4: ; preds = %match_case19 | |
| store i8 1, i8* %sret_slot, align 1 | |
| br label %join20 | |
| case_body5: ; preds = %match_else18, %match_else15, %match_else12, %match_else9, %match_else6, %match_else | |
| unreachable | |
| match_else: ; preds = %then-block-27480- | |
| br label %case_body5 | |
| match_case: ; preds = %then-block-27480- | |
| %37 = load i8, i8* %35, !range !5 | |
| switch i8 %37, label %match_else6 [ | |
| i8 0, label %match_case7 | |
| ] | |
| match_else6: ; preds = %match_case | |
| br label %case_body5 | |
| match_case7: ; preds = %match_case | |
| br label %case_body | |
| match_case8: ; preds = %then-block-27480- | |
| %38 = load i8, i8* %35, !range !5 | |
| switch i8 %38, label %match_else9 [ | |
| i8 1, label %match_case10 | |
| ] | |
| match_else9: ; preds = %match_case8 | |
| br label %case_body5 | |
| match_case10: ; preds = %match_case8 | |
| br label %case_body1 | |
| match_case11: ; preds = %then-block-27480- | |
| %39 = load i8, i8* %35, !range !5 | |
| switch i8 %39, label %match_else12 [ | |
| i8 2, label %match_case13 | |
| ] | |
| match_else12: ; preds = %match_case11 | |
| br label %case_body5 | |
| match_case13: ; preds = %match_case11 | |
| br label %case_body2 | |
| match_case14: ; preds = %then-block-27480- | |
| %40 = load i8, i8* %35, !range !5 | |
| switch i8 %40, label %match_else15 [ | |
| i8 3, label %match_case16 | |
| ] | |
| match_else15: ; preds = %match_case14 | |
| br label %case_body5 | |
| match_case16: ; preds = %match_case14 | |
| br label %case_body3 | |
| match_case17: ; preds = %then-block-27480- | |
| %41 = load i8, i8* %35, !range !5 | |
| switch i8 %41, label %match_else18 [ | |
| i8 4, label %match_case19 | |
| ] | |
| match_else18: ; preds = %match_case17 | |
| br label %case_body5 | |
| match_case19: ; preds = %match_case17 | |
| br label %case_body4 | |
| join20: ; preds = %case_body4, %case_body3, %case_body2, %case_body1, %case_body | |
| %42 = bitcast { i8*, i8* }* %4 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %42) | |
| br label %join21 | |
| else-block: ; preds = %join | |
| store i8 0, i8* %sret_slot, align 1 | |
| br label %join21 | |
| join21: ; preds = %else-block, %join20 | |
| %43 = bitcast i32* %__arg_1_vi to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %43) | |
| %44 = bitcast i32* %__self_vi to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %44) | |
| %45 = bitcast i8** %__arg_0 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %45) | |
| %46 = bitcast i8** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %46) | |
| %47 = load i8, i8* %sret_slot, align 1, !range !1 | |
| %48 = trunc i8 %47 to i1 | |
| ret i1 %48 | |
| } | |
| ; Function Attrs: uwtable | |
| define void @_ZN3f329f32.Float14integer_decode20hf302437985f182b5AraE({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16), float) unnamed_addr #2 { | |
| entry-block: | |
| %self = alloca float | |
| %bits = alloca i32 | |
| %sign = alloca i8 | |
| %exponent = alloca i16 | |
| %mantissa = alloca i32 | |
| %2 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store float %1, float* %self, align 4 | |
| %3 = bitcast i32* %bits to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| %4 = load float, float* %self, align 4 | |
| %5 = bitcast float %4 to i32 | |
| store i32 %5, i32* %bits | |
| call void @llvm.lifetime.start(i64 1, i8* %sign) | |
| %6 = load i32, i32* %bits, align 4 | |
| %7 = lshr i32 %6, 31 | |
| %8 = icmp eq i32 %7, 0 | |
| br i1 %8, label %then-block-1109-, label %else-block | |
| then-block-1109-: ; preds = %entry-block | |
| store i8 1, i8* %sign, align 1 | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| store i8 -1, i8* %sign, align 1 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-1109- | |
| %9 = bitcast i16* %exponent to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %9) | |
| %10 = load i32, i32* %bits, align 4 | |
| %11 = lshr i32 %10, 23 | |
| %12 = and i32 %11, 255 | |
| %13 = trunc i32 %12 to i16 | |
| store i16 %13, i16* %exponent, align 2 | |
| %14 = bitcast i32* %mantissa to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %14) | |
| %15 = load i16, i16* %exponent, align 2 | |
| %16 = icmp eq i16 %15, 0 | |
| br i1 %16, label %then-block-1135-, label %else-block1 | |
| then-block-1135-: ; preds = %join | |
| %17 = load i32, i32* %bits, align 4 | |
| %18 = and i32 %17, 8388607 | |
| %19 = shl i32 %18, 1 | |
| store i32 %19, i32* %mantissa, align 4 | |
| br label %join2 | |
| else-block1: ; preds = %join | |
| %20 = load i32, i32* %bits, align 4 | |
| %21 = and i32 %20, 8388607 | |
| %22 = or i32 %21, 8388608 | |
| store i32 %22, i32* %mantissa, align 4 | |
| br label %join2 | |
| join2: ; preds = %else-block1, %then-block-1135- | |
| %23 = load i16, i16* %exponent, align 2 | |
| %24 = sub i16 %23, 150 | |
| store i16 %24, i16* %exponent, align 2 | |
| %25 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %0, i32 0, i32 0 | |
| %26 = load i32, i32* %mantissa, align 4 | |
| %27 = zext i32 %26 to i64 | |
| store i64 %27, i64* %25, align 8 | |
| %28 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %0, i32 0, i32 1 | |
| %29 = load i16, i16* %exponent, align 2 | |
| store i16 %29, i16* %28, align 2 | |
| %30 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %0, i32 0, i32 2 | |
| %31 = load i8, i8* %sign, align 1 | |
| store i8 %31, i8* %30, align 1 | |
| %32 = bitcast i32* %mantissa to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %32) | |
| %33 = bitcast i16* %exponent to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %33) | |
| call void @llvm.lifetime.end(i64 1, i8* %sign) | |
| %34 = bitcast i32* %bits to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %34) | |
| %35 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %35) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float5floor20hd54d654c02659caeUsaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = call float @llvm.floor.f32(float %2) | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %4) | |
| ret float %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.floor.f32(float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float4ceil20h98d36aa099de1bb86saE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = call float @llvm.ceil.f32(float %2) | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %4) | |
| ret float %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.ceil.f32(float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float5round20h818a41f17e8d9db0itaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = call float @llvm.round.f32(float %2) | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %4) | |
| ret float %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.round.f32(float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float5trunc20hb509112636c2f5ccutaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = call float @llvm.trunc.f32(float %2) | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %4) | |
| ret float %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.trunc.f32(float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float5fract20h77217217232888ebGtaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = alloca float | |
| %2 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store float %0, float* %self, align 4 | |
| %3 = bitcast float* %1 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| %4 = load float, float* %self, align 4 | |
| %5 = call float @_ZN3f329f32.Float5trunc20hb509112636c2f5ccutaE(float %4) | |
| store float %5, float* %1, align 4 | |
| %6 = load float, float* %1, align 4 | |
| %7 = bitcast float* %1 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = load float, float* %self, align 4 | |
| %9 = fsub float %8, %6 | |
| %10 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %10) | |
| ret float %9 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float3abs20he564d8611c9c232cRtaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = call float @llvm.fabs.f32(float %2) | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %4) | |
| ret float %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.fabs.f32(float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float6signum20h275d330286b30d1c3taE(float) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca float | |
| %self = alloca float | |
| %1 = alloca i8 | |
| %2 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store float %0, float* %self, align 4 | |
| call void @llvm.lifetime.start(i64 1, i8* %1) | |
| %3 = load float, float* %self, align 4 | |
| %4 = call zeroext i1 @_ZN3f329f32.Float6is_nan20h9528751760ea0607TpaE(float %3) | |
| %5 = zext i1 %4 to i8 | |
| store i8 %5, i8* %1, align 1 | |
| %6 = load i8, i8* %1, align 1, !range !1 | |
| %7 = trunc i8 %6 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %1) | |
| br i1 %7, label %then-block-1243-, label %else-block | |
| then-block-1243-: ; preds = %entry-block | |
| %8 = call float @_ZN3f329f32.Float3nan20h96a4717cfc7a7c18TfaE() | |
| store float %8, float* %sret_slot, align 4 | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %9 = load float, float* %self, align 4 | |
| %10 = call float @llvm.copysign.f32(float 1.000000e+00, float %9) | |
| store float %10, float* %sret_slot, align 4 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-1243- | |
| %11 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %11) | |
| %12 = load float, float* %sret_slot, align 4 | |
| ret float %12 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.copysign.f32(float, float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3f329f32.Float11is_positive20h4bf3d9dadad17022ouaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = alloca float | |
| %2 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store float %0, float* %self, align 4 | |
| %3 = load float, float* %self, align 4 | |
| %4 = fcmp ogt float %3, 0.000000e+00 | |
| br i1 %4, label %join, label %before_rhs | |
| join: ; preds = %before_rhs, %entry-block | |
| %5 = phi i1 [ %4, %entry-block ], [ %15, %before_rhs ] | |
| %6 = zext i1 %5 to i8 | |
| %7 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = trunc i8 %6 to i1 | |
| ret i1 %8 | |
| before_rhs: ; preds = %entry-block | |
| %9 = load float, float* %self, align 4 | |
| %10 = fdiv float 1.000000e+00, %9 | |
| %11 = bitcast float* %1 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %11) | |
| %12 = call float @_ZN3f329f32.Float8infinity20h6ec1d6c56e54b7d5YfaE() | |
| store float %12, float* %1, align 4 | |
| %13 = load float, float* %1, align 4 | |
| %14 = bitcast float* %1 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %14) | |
| %15 = fcmp oeq float %10, %13 | |
| br label %join | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3f329f32.Float11is_negative20ha41fa5ec6ea6beb5GuaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = alloca float | |
| %2 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store float %0, float* %self, align 4 | |
| %3 = load float, float* %self, align 4 | |
| %4 = fcmp olt float %3, 0.000000e+00 | |
| br i1 %4, label %join, label %before_rhs | |
| join: ; preds = %before_rhs, %entry-block | |
| %5 = phi i1 [ %4, %entry-block ], [ %15, %before_rhs ] | |
| %6 = zext i1 %5 to i8 | |
| %7 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = trunc i8 %6 to i1 | |
| ret i1 %8 | |
| before_rhs: ; preds = %entry-block | |
| %9 = load float, float* %self, align 4 | |
| %10 = fdiv float 1.000000e+00, %9 | |
| %11 = bitcast float* %1 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %11) | |
| %12 = call float @_ZN3f329f32.Float12neg_infinity20h6adc134f1b5bae443faE() | |
| store float %12, float* %1, align 4 | |
| %13 = load float, float* %1, align 4 | |
| %14 = bitcast float* %1 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %14) | |
| %15 = fcmp oeq float %10, %13 | |
| br label %join | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float7mul_add20h5b2006321f7de0e9YuaE(float, float, float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %a = alloca float | |
| %b = alloca float | |
| %3 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store float %0, float* %self, align 4 | |
| %4 = bitcast float* %a to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| store float %1, float* %a, align 4 | |
| %5 = bitcast float* %b to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %5) | |
| store float %2, float* %b, align 4 | |
| %6 = load float, float* %self, align 4 | |
| %7 = load float, float* %a, align 4 | |
| %8 = load float, float* %b, align 4 | |
| %9 = call float @llvm.fma.f32(float %6, float %7, float %8) | |
| %10 = bitcast float* %b to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %10) | |
| %11 = bitcast float* %a to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %11) | |
| %12 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| ret float %9 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.fma.f32(float, float, float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float5recip20h596ae16a124acef8ivaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = fdiv float 1.000000e+00, %2 | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %4) | |
| ret float %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.powi.f32(float, i32) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float4powf20h9f981adbef303b88IvaE(float, float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %n = alloca float | |
| %2 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store float %0, float* %self, align 4 | |
| %3 = bitcast float* %n to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store float %1, float* %n, align 4 | |
| %4 = load float, float* %self, align 4 | |
| %5 = load float, float* %n, align 4 | |
| %6 = call float @llvm.pow.f32(float %4, float %5) | |
| %7 = bitcast float* %n to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %8) | |
| ret float %6 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.pow.f32(float, float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float4sqrt20hd654c8dbf0c9c1e1YvaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca float | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = fcmp olt float %2, 0.000000e+00 | |
| br i1 %3, label %then-block-1363-, label %else-block | |
| then-block-1363-: ; preds = %entry-block | |
| store float 0x7FF8000000000000, float* %sret_slot, align 4 | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %4 = load float, float* %self, align 4 | |
| %5 = call float @llvm.sqrt.f32(float %4) | |
| store float %5, float* %sret_slot, align 4 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-1363- | |
| %6 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %6) | |
| %7 = load float, float* %sret_slot, align 4 | |
| ret float %7 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.sqrt.f32(float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float5rsqrt20hdce663967b190b5eiwaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = alloca float | |
| %2 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store float %0, float* %self, align 4 | |
| %3 = bitcast float* %1 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| %4 = load float, float* %self, align 4 | |
| %5 = call float @_ZN3f329f32.Float4sqrt20hd654c8dbf0c9c1e1YvaE(float %4) | |
| store float %5, float* %1, align 4 | |
| %6 = load float, float* %1, align 4 | |
| %7 = bitcast float* %1 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = call float @_ZN3f329f32.Float5recip20h596ae16a124acef8ivaE(float %6) | |
| %9 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %9) | |
| ret float %8 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float3exp20h6f572e7b427e8799swaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = call float @llvm.exp.f32(float %2) | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %4) | |
| ret float %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.exp.f32(float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float4exp220h134d2b9336b1bacbEwaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = call float @llvm.exp2.f32(float %2) | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %4) | |
| ret float %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.exp2.f32(float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float2ln20h3ca09911afe67b4aQwaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = call float @llvm.log.f32(float %2) | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %4) | |
| ret float %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.log.f32(float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float3log20h7f9e4ffa51a81de12waE(float, float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %base = alloca float | |
| %2 = alloca float | |
| %3 = alloca float | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| store float %0, float* %self, align 4 | |
| %5 = bitcast float* %base to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %5) | |
| store float %1, float* %base, align 4 | |
| %6 = bitcast float* %2 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %6) | |
| %7 = load float, float* %self, align 4 | |
| %8 = call float @_ZN3f329f32.Float2ln20h3ca09911afe67b4aQwaE(float %7) | |
| store float %8, float* %2, align 4 | |
| %9 = load float, float* %2, align 4 | |
| %10 = bitcast float* %2 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %10) | |
| %11 = bitcast float* %3 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %11) | |
| %12 = load float, float* %base, align 4 | |
| %13 = call float @_ZN3f329f32.Float2ln20h3ca09911afe67b4aQwaE(float %12) | |
| store float %13, float* %3, align 4 | |
| %14 = load float, float* %3, align 4 | |
| %15 = bitcast float* %3 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %15) | |
| %16 = fdiv float %9, %14 | |
| %17 = bitcast float* %base to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %17) | |
| %18 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %18) | |
| ret float %16 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float4log220h3fe87a234470e13ahxaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = call float @llvm.log2.f32(float %2) | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %4) | |
| ret float %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.log2.f32(float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float5log1020ha661025a0eac4109txaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = call float @llvm.log10.f32(float %2) | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %4) | |
| ret float %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare float @llvm.log10.f32(float) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float10to_degrees20h48dc85963ce082d5FxaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = load float, float* %self, align 4 | |
| %3 = fmul float %2, 0x404CA5DC00000000 | |
| %4 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %4) | |
| ret float %3 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define float @_ZN3f329f32.Float10to_radians20he2fe682668f0de3bSxaE(float) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca float | |
| %value = alloca float | |
| %1 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store float %0, float* %self, align 4 | |
| %2 = bitcast float* %value to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store float 0x400921FB60000000, float* %value, align 4 | |
| %3 = load float, float* %value, align 4 | |
| %4 = fdiv float %3, 1.800000e+02 | |
| %5 = load float, float* %self, align 4 | |
| %6 = fmul float %5, %4 | |
| %7 = bitcast float* %value to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast float* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %8) | |
| ret float %6 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float3nan20h5b9c8d892c4939332zaE() unnamed_addr #0 { | |
| entry-block: | |
| ret double 0x7FF8000000000000 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float8infinity20hfdd23488d7b0fb7e7zaE() unnamed_addr #0 { | |
| entry-block: | |
| ret double 0x7FF0000000000000 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float12neg_infinity20hb5011eb9b9df0d43cAaE() unnamed_addr #0 { | |
| entry-block: | |
| ret double 0xFFF0000000000000 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float4zero20hbfffb5cf815e75a2hAaE() unnamed_addr #0 { | |
| entry-block: | |
| ret double 0.000000e+00 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float8neg_zero20ha0e41055f28171e5mAaE() unnamed_addr #0 { | |
| entry-block: | |
| ret double -0.000000e+00 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float3one20h41f55fc00996ea5csAaE() unnamed_addr #0 { | |
| entry-block: | |
| ret double 1.000000e+00 | |
| } | |
| ; Function Attrs: uwtable | |
| define void @_ZN3f649f64.Float14from_str_radix20h58310d03f65848a2xAaE(%"result::Result<f64, num::ParseFloatError>"* noalias nocapture sret dereferenceable(16), i8* noalias nonnull readonly, i64, i32) unnamed_addr #2 { | |
| entry-block: | |
| %src = alloca %str_slice | |
| %radix = alloca i32 | |
| %to_ref = alloca %str_slice | |
| %to_ref5 = alloca %str_slice | |
| %to_ref8 = alloca %str_slice | |
| %4 = alloca { i8, %str_slice } | |
| %5 = alloca %"option::Option<(char, &'static str)>" | |
| %__llmatch = alloca %str_slice* | |
| %src13 = alloca %str_slice | |
| %to_ref22 = alloca %str_slice | |
| %is_positive = alloca i8 | |
| %src25 = alloca %str_slice | |
| %sig = alloca double | |
| %prev_sig = alloca double | |
| %cs = alloca %"iter::Enumerate<str::Chars>" | |
| %6 = alloca %"str::Chars" | |
| %exp_info = alloca %"option::Option<(char, usize)>" | |
| %result = alloca {} | |
| %7 = alloca %"iter::Enumerate<str::Chars>"* | |
| %8 = alloca %"iter::Enumerate<str::Chars>"* | |
| %match = alloca %"iter::Enumerate<str::Chars>"* | |
| %iter = alloca %"iter::Enumerate<str::Chars>"** | |
| %9 = alloca %"option::Option<(usize, char)>" | |
| %__llmatch29 = alloca i64* | |
| %i = alloca i64 | |
| %__llmatch30 = alloca i32* | |
| %c = alloca i32 | |
| %10 = alloca %"option::Option<u32>" | |
| %match34 = alloca %"option::Option<u32>" | |
| %__llmatch36 = alloca i32* | |
| %digit = alloca i32 | |
| %11 = alloca %"option::Option<(char, usize)>" | |
| %12 = alloca i8 | |
| %power = alloca double | |
| %result77 = alloca {} | |
| %13 = alloca %"iter::Enumerate<str::Chars>"* | |
| %14 = alloca %"iter::Enumerate<str::Chars>"* | |
| %match78 = alloca %"iter::Enumerate<str::Chars>"* | |
| %iter80 = alloca %"iter::Enumerate<str::Chars>"** | |
| %15 = alloca %"option::Option<(usize, char)>" | |
| %__llmatch84 = alloca i64* | |
| %i85 = alloca i64 | |
| %__llmatch86 = alloca i32* | |
| %c87 = alloca i32 | |
| %16 = alloca %"option::Option<u32>" | |
| %match91 = alloca %"option::Option<u32>" | |
| %__llmatch93 = alloca i32* | |
| %digit94 = alloca i32 | |
| %17 = alloca double | |
| %18 = alloca %"option::Option<(char, usize)>" | |
| %exp = alloca double | |
| %__llmatch129 = alloca i32* | |
| %c130 = alloca i32 | |
| %__llmatch131 = alloca i64* | |
| %offset = alloca i64 | |
| %base = alloca double | |
| %src155 = alloca %str_slice | |
| %19 = alloca %"ops::RangeFrom<usize>" | |
| %overloaded_index_elt = alloca %str_slice | |
| %__fat_ptr = alloca %str_slice | |
| %20 = alloca { i8, %"result::Result<usize, num::ParseIntError>" } | |
| %21 = alloca %"option::Option<(char, &'static str)>" | |
| %__llmatch157 = alloca %str_slice* | |
| %src158 = alloca %str_slice | |
| %__llmatch160 = alloca %str_slice* | |
| %src161 = alloca %str_slice | |
| %is_positive172 = alloca i8 | |
| %exp173 = alloca %"result::Result<usize, num::ParseIntError>" | |
| %22 = alloca { i8, %"result::Result<usize, num::ParseIntError>" } | |
| %__llmatch175 = alloca i64* | |
| %exp176 = alloca i64 | |
| %__llmatch178 = alloca i64* | |
| %exp179 = alloca i64 | |
| %23 = alloca double | |
| %24 = insertvalue %str_slice undef, i8* %1, 0 | |
| %25 = insertvalue %str_slice %24, i64 %2, 1 | |
| %26 = bitcast %str_slice* %src to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %26) | |
| store %str_slice %25, %str_slice* %src, align 8 | |
| %27 = bitcast i32* %radix to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %27) | |
| store i32 %3, i32* %radix, align 4 | |
| %28 = bitcast %str_slice* %to_ref to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %28) | |
| store %str_slice { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @str43517, i32 0, i32 0), i64 3 }, %str_slice* %to_ref, align 8 | |
| %29 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 0 | |
| %30 = load i8*, i8** %29 | |
| %31 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 1 | |
| %32 = load i64, i64* %31 | |
| %33 = getelementptr inbounds %str_slice, %str_slice* %to_ref, i32 0, i32 0 | |
| %34 = load i8*, i8** %33 | |
| %35 = getelementptr inbounds %str_slice, %str_slice* %to_ref, i32 0, i32 1 | |
| %36 = load i64, i64* %35 | |
| %37 = call zeroext i1 @_ZN3str8eq_slice20hcc8bfaf38dd0c426ZJJE(i8* noalias nonnull readonly %30, i64 %32, i8* noalias nonnull readonly %34, i64 %36) | |
| br i1 %37, label %match_case, label %compare_next | |
| case_body: ; preds = %match_case | |
| %38 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, double }* | |
| %39 = getelementptr inbounds { i8, double }, { i8, double }* %38, i32 0, i32 1 | |
| %40 = call double @_ZN3f649f64.Float8infinity20hfdd23488d7b0fb7e7zaE() | |
| store double %40, double* %39, align 8 | |
| %41 = getelementptr inbounds %"result::Result<f64, num::ParseFloatError>", %"result::Result<f64, num::ParseFloatError>"* %0, i32 0, i32 0 | |
| store i8 0, i8* %41 | |
| br label %clean_custom_ | |
| case_body1: ; preds = %match_case4 | |
| %42 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, double }* | |
| %43 = getelementptr inbounds { i8, double }, { i8, double }* %42, i32 0, i32 1 | |
| %44 = call double @_ZN3f649f64.Float12neg_infinity20hb5011eb9b9df0d43cAaE() | |
| store double %44, double* %43, align 8 | |
| %45 = getelementptr inbounds %"result::Result<f64, num::ParseFloatError>", %"result::Result<f64, num::ParseFloatError>"* %0, i32 0, i32 0 | |
| store i8 0, i8* %45 | |
| br label %clean_custom_ | |
| case_body2: ; preds = %match_case7 | |
| %46 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, double }* | |
| %47 = getelementptr inbounds { i8, double }, { i8, double }* %46, i32 0, i32 1 | |
| %48 = call double @_ZN3f649f64.Float3nan20h5b9c8d892c4939332zaE() | |
| store double %48, double* %47, align 8 | |
| %49 = getelementptr inbounds %"result::Result<f64, num::ParseFloatError>", %"result::Result<f64, num::ParseFloatError>"* %0, i32 0, i32 0 | |
| store i8 0, i8* %49 | |
| br label %clean_custom_ | |
| case_body3: ; preds = %match_else | |
| br label %join | |
| match_else: ; preds = %compare_next9 | |
| br label %case_body3 | |
| match_case: ; preds = %entry-block | |
| br label %case_body | |
| compare_next: ; preds = %entry-block | |
| %50 = bitcast %str_slice* %to_ref5 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %50) | |
| store %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str43518, i32 0, i32 0), i64 4 }, %str_slice* %to_ref5, align 8 | |
| %51 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 0 | |
| %52 = load i8*, i8** %51 | |
| %53 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 1 | |
| %54 = load i64, i64* %53 | |
| %55 = getelementptr inbounds %str_slice, %str_slice* %to_ref5, i32 0, i32 0 | |
| %56 = load i8*, i8** %55 | |
| %57 = getelementptr inbounds %str_slice, %str_slice* %to_ref5, i32 0, i32 1 | |
| %58 = load i64, i64* %57 | |
| %59 = call zeroext i1 @_ZN3str8eq_slice20hcc8bfaf38dd0c426ZJJE(i8* noalias nonnull readonly %52, i64 %54, i8* noalias nonnull readonly %56, i64 %58) | |
| br i1 %59, label %match_case4, label %compare_next6 | |
| match_case4: ; preds = %compare_next | |
| br label %case_body1 | |
| compare_next6: ; preds = %compare_next | |
| %60 = bitcast %str_slice* %to_ref8 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %60) | |
| store %str_slice { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @str43519, i32 0, i32 0), i64 3 }, %str_slice* %to_ref8, align 8 | |
| %61 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 0 | |
| %62 = load i8*, i8** %61 | |
| %63 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 1 | |
| %64 = load i64, i64* %63 | |
| %65 = getelementptr inbounds %str_slice, %str_slice* %to_ref8, i32 0, i32 0 | |
| %66 = load i8*, i8** %65 | |
| %67 = getelementptr inbounds %str_slice, %str_slice* %to_ref8, i32 0, i32 1 | |
| %68 = load i64, i64* %67 | |
| %69 = call zeroext i1 @_ZN3str8eq_slice20hcc8bfaf38dd0c426ZJJE(i8* noalias nonnull readonly %62, i64 %64, i8* noalias nonnull readonly %66, i64 %68) | |
| br i1 %69, label %match_case7, label %compare_next9 | |
| match_case7: ; preds = %compare_next6 | |
| br label %case_body2 | |
| compare_next9: ; preds = %compare_next6 | |
| br label %match_else | |
| clean_custom_: ; preds = %join188, %clean_ast_1647_, %clean_ast_1679_, %case_body2, %case_body1, %case_body | |
| %70 = bitcast i32* %radix to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %70) | |
| %71 = bitcast %str_slice* %src to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %71) | |
| br label %return | |
| join: ; preds = %case_body3 | |
| %72 = bitcast { i8, %str_slice }* %4 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %72) | |
| %73 = bitcast %"option::Option<(char, &'static str)>"* %5 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %73) | |
| %74 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 0 | |
| %75 = load i8*, i8** %74 | |
| %76 = getelementptr inbounds %str_slice, %str_slice* %src, i32 0, i32 1 | |
| %77 = load i64, i64* %76 | |
| call void @_ZN3str10str.StrExt16slice_shift_char20h763b6d43914ac21cBtKE(%"option::Option<(char, &'static str)>"* noalias nocapture sret dereferenceable(24) %5, i8* noalias nonnull readonly %75, i64 %77) | |
| %78 = getelementptr inbounds %"option::Option<(char, &'static str)>", %"option::Option<(char, &'static str)>"* %5, i32 0, i32 0, i32 1, i32 0 | |
| %79 = load i8*, i8** %78 | |
| %80 = icmp ne i8* %79, null | |
| switch i1 %80, label %match_else15 [ | |
| i1 false, label %match_case16 | |
| ] | |
| case_body10: ; preds = %match_case16 | |
| %81 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, { i8 }, [14 x i8] }* | |
| %82 = bitcast { i8, { i8 }, [14 x i8] }* %81 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %82, i8* getelementptr inbounds ({ i8, { i8 }, [14 x i8] }, { i8, { i8 }, [14 x i8] }* @const43557, i32 0, i32 0), i64 16, i32 8, i1 false) | |
| br label %clean_ast_1679_ | |
| case_body11: ; preds = %match_case21 | |
| %83 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, { i8 }, [14 x i8] }* | |
| %84 = bitcast { i8, { i8 }, [14 x i8] }* %83 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %84, i8* getelementptr inbounds ({ i8, { i8 }, [14 x i8] }, { i8, { i8 }, [14 x i8] }* @const43557, i32 0, i32 0), i64 16, i32 8, i1 false) | |
| br label %clean_ast_1679_ | |
| case_body12: ; preds = %match_else20 | |
| %85 = load %str_slice*, %str_slice** %__llmatch | |
| %86 = bitcast %str_slice* %src13 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %86) | |
| %87 = bitcast %str_slice* %85 to i8* | |
| %88 = bitcast %str_slice* %src13 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %88, i8* %87, i64 16, i32 8, i1 false) | |
| %89 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %4, i32 0, i32 0 | |
| store i8 0, i8* %89, align 1 | |
| %90 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %4, i32 0, i32 1 | |
| %91 = bitcast %str_slice* %src13 to i8* | |
| %92 = bitcast %str_slice* %90 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %92, i8* %91, i64 16, i32 8, i1 false) | |
| %93 = bitcast %str_slice** %__llmatch to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %93) | |
| %94 = bitcast %str_slice* %src13 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %94) | |
| br label %join24 | |
| case_body14: ; preds = %match_else17 | |
| %95 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %4, i32 0, i32 0 | |
| store i8 1, i8* %95, align 1 | |
| %96 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %4, i32 0, i32 1 | |
| %97 = bitcast %str_slice* %src to i8* | |
| %98 = bitcast %str_slice* %96 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %98, i8* %97, i64 16, i32 8, i1 false) | |
| br label %join24 | |
| match_else15: ; preds = %join | |
| %99 = getelementptr inbounds %"option::Option<(char, &'static str)>", %"option::Option<(char, &'static str)>"* %5, i32 0, i32 0 | |
| %100 = getelementptr inbounds { i32, %str_slice }, { i32, %str_slice }* %99, i32 0, i32 0 | |
| %101 = getelementptr inbounds { i32, %str_slice }, { i32, %str_slice }* %99, i32 0, i32 1 | |
| %102 = load i32, i32* %100, align 4, !range !0 | |
| %103 = icmp eq i32 %102, 45 | |
| br i1 %103, label %match_case18, label %compare_next19 | |
| match_case16: ; preds = %join | |
| br label %case_body10 | |
| match_else17: ; preds = %compare_next19 | |
| br label %case_body14 | |
| match_case18: ; preds = %match_else15 | |
| %104 = bitcast %str_slice* %to_ref22 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %104) | |
| store %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str43520, i32 0, i32 0), i64 0 }, %str_slice* %to_ref22, align 8 | |
| %105 = getelementptr inbounds %str_slice, %str_slice* %101, i32 0, i32 0 | |
| %106 = load i8*, i8** %105 | |
| %107 = getelementptr inbounds %str_slice, %str_slice* %101, i32 0, i32 1 | |
| %108 = load i64, i64* %107 | |
| %109 = getelementptr inbounds %str_slice, %str_slice* %to_ref22, i32 0, i32 0 | |
| %110 = load i8*, i8** %109 | |
| %111 = getelementptr inbounds %str_slice, %str_slice* %to_ref22, i32 0, i32 1 | |
| %112 = load i64, i64* %111 | |
| %113 = call zeroext i1 @_ZN3str8eq_slice20hcc8bfaf38dd0c426ZJJE(i8* noalias nonnull readonly %106, i64 %108, i8* noalias nonnull readonly %110, i64 %112) | |
| br i1 %113, label %match_case21, label %compare_next23 | |
| compare_next19: ; preds = %match_else15 | |
| br label %match_else17 | |
| match_else20: ; preds = %compare_next23 | |
| %114 = bitcast %str_slice** %__llmatch to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %114) | |
| store %str_slice* %101, %str_slice** %__llmatch | |
| br label %case_body12 | |
| match_case21: ; preds = %match_case18 | |
| br label %case_body11 | |
| compare_next23: ; preds = %match_case18 | |
| br label %match_else20 | |
| clean_ast_1679_: ; preds = %case_body11, %case_body10 | |
| %115 = bitcast %"option::Option<(char, &'static str)>"* %5 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %115) | |
| br label %clean_custom_ | |
| join24: ; preds = %case_body14, %case_body12 | |
| %116 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %4, i32 0, i32 0 | |
| call void @llvm.lifetime.start(i64 1, i8* %is_positive) | |
| %117 = load i8, i8* %116, align 1, !range !1 | |
| %118 = trunc i8 %117 to i1 | |
| %119 = zext i1 %118 to i8 | |
| store i8 %119, i8* %is_positive, align 1 | |
| %120 = getelementptr inbounds { i8, %str_slice }, { i8, %str_slice }* %4, i32 0, i32 1 | |
| %121 = bitcast %str_slice* %src25 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %121) | |
| %122 = bitcast %str_slice* %120 to i8* | |
| %123 = bitcast %str_slice* %src25 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %123, i8* %122, i64 16, i32 8, i1 false) | |
| %124 = bitcast { i8, %str_slice }* %4 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %124) | |
| %125 = bitcast %"option::Option<(char, &'static str)>"* %5 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %125) | |
| %126 = bitcast double* %sig to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %126) | |
| %127 = load i8, i8* %is_positive, align 1, !range !1 | |
| %128 = trunc i8 %127 to i1 | |
| br i1 %128, label %then-block-1724-, label %else-block | |
| then-block-1724-: ; preds = %join24 | |
| store double 0.000000e+00, double* %sig, align 8 | |
| br label %join26 | |
| else-block: ; preds = %join24 | |
| store double -0.000000e+00, double* %sig, align 8 | |
| br label %join26 | |
| join26: ; preds = %else-block, %then-block-1724- | |
| %129 = bitcast double* %prev_sig to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %129) | |
| %130 = load double, double* %sig, align 8 | |
| store double %130, double* %prev_sig, align 8 | |
| %131 = bitcast %"iter::Enumerate<str::Chars>"* %cs to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %131) | |
| %132 = bitcast %"str::Chars"* %6 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %132) | |
| %133 = getelementptr inbounds %str_slice, %str_slice* %src25, i32 0, i32 0 | |
| %134 = load i8*, i8** %133 | |
| %135 = getelementptr inbounds %str_slice, %str_slice* %src25, i32 0, i32 1 | |
| %136 = load i64, i64* %135 | |
| call void @_ZN3str10str.StrExt5chars20h72e52c290c5f0a7craKE(%"str::Chars"* noalias nocapture sret dereferenceable(16) %6, i8* noalias nonnull readonly %134, i64 %136) | |
| call void @_ZN4iter8Iterator9enumerate20h5216804230006291893E(%"iter::Enumerate<str::Chars>"* noalias nocapture sret dereferenceable(24) %cs, %"str::Chars"* noalias nocapture dereferenceable(16) %6) | |
| %137 = bitcast %"str::Chars"* %6 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %137) | |
| %138 = bitcast %"option::Option<(char, usize)>"* %exp_info to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %138) | |
| %139 = bitcast %"option::Option<(char, usize)>"* %exp_info to { i64, [16 x i8] }* | |
| %140 = bitcast { i64, [16 x i8] }* %139 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %140, i8* bitcast ({ i64, [16 x i8] }* @const43525 to i8*), i64 24, i32 8, i1 false) | |
| %141 = bitcast {}* %result to i8* | |
| call void @llvm.lifetime.start(i64 0, i8* %141) | |
| %142 = bitcast %"iter::Enumerate<str::Chars>"** %7 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %142) | |
| %143 = bitcast %"iter::Enumerate<str::Chars>"** %8 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %143) | |
| %144 = call dereferenceable(24) %"iter::Enumerate<str::Chars>"* @_ZN4iter8Iterator6by_ref21h16646711982226617443E(%"iter::Enumerate<str::Chars>"* noalias dereferenceable(24) %cs) | |
| store %"iter::Enumerate<str::Chars>"* %144, %"iter::Enumerate<str::Chars>"** %8, align 8 | |
| %145 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %8, align 8, !nonnull !2 | |
| %146 = bitcast %"iter::Enumerate<str::Chars>"** %8 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %146) | |
| %147 = call dereferenceable(24) %"iter::Enumerate<str::Chars>"* @_ZN4iter14I.IntoIterator9into_iter20h6563255094920483013E(%"iter::Enumerate<str::Chars>"* noalias dereferenceable(24) %145) | |
| store %"iter::Enumerate<str::Chars>"* %147, %"iter::Enumerate<str::Chars>"** %7, align 8 | |
| %148 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %7, align 8, !nonnull !2 | |
| %149 = bitcast %"iter::Enumerate<str::Chars>"** %7 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %149) | |
| %150 = bitcast %"iter::Enumerate<str::Chars>"** %match to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %150) | |
| store %"iter::Enumerate<str::Chars>"* %148, %"iter::Enumerate<str::Chars>"** %match, align 8 | |
| %151 = bitcast %"iter::Enumerate<str::Chars>"*** %iter to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %151) | |
| store %"iter::Enumerate<str::Chars>"** %match, %"iter::Enumerate<str::Chars>"*** %iter | |
| br label %case_body27 | |
| case_body27: ; preds = %join26 | |
| %152 = load %"iter::Enumerate<str::Chars>"**, %"iter::Enumerate<str::Chars>"*** %iter | |
| br label %loop_body | |
| loop_exit: ; preds = %clean_ast_1760_70 | |
| %153 = bitcast %"iter::Enumerate<str::Chars>"*** %iter to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %153) | |
| br label %join76 | |
| loop_body: ; preds = %join75, %case_body27 | |
| %154 = bitcast %"option::Option<(usize, char)>"* %9 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %154) | |
| call void @"_ZN4iter34_$RF$$u27$a$u20$mut$u20$I.Iterator4next21h12474813853625106210E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(24) %9, %"iter::Enumerate<str::Chars>"** noalias dereferenceable(8) %152) | |
| %155 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %9, i32 0, i32 0 | |
| %156 = load i64, i64* %155, !range !3 | |
| switch i64 %156, label %match_else32 [ | |
| i64 1, label %match_case33 | |
| ] | |
| case_body28: ; preds = %match_case33 | |
| %157 = load i32*, i32** %__llmatch30 | |
| %158 = bitcast i32* %c to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %158) | |
| %159 = load i32, i32* %157, align 4, !range !0 | |
| store i32 %159, i32* %c, align 4 | |
| %160 = load i64*, i64** %__llmatch29 | |
| %161 = bitcast i64* %i to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %161) | |
| %162 = load i64, i64* %160, align 8 | |
| store i64 %162, i64* %i, align 8 | |
| %163 = bitcast %"option::Option<u32>"* %10 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %163) | |
| %164 = load i32, i32* %c, align 4, !range !0 | |
| %165 = load i32, i32* %radix, align 4 | |
| %166 = call i64 @_ZN4char12char.CharExt8to_digit20h151cfc3f68bf51e09RBE(i32 %164, i32 %165) | |
| %167 = bitcast %"option::Option<u32>"* %10 to i64* | |
| store i64 %166, i64* %167, align 4 | |
| %168 = bitcast %"option::Option<u32>"* %10 to i64* | |
| %169 = load i64, i64* %168, align 4 | |
| %170 = bitcast %"option::Option<u32>"* %10 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %170) | |
| %171 = bitcast %"option::Option<u32>"* %match34 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %171) | |
| %172 = bitcast %"option::Option<u32>"* %match34 to i64* | |
| store i64 %169, i64* %172, align 4 | |
| %173 = getelementptr inbounds %"option::Option<u32>", %"option::Option<u32>"* %match34, i32 0, i32 0 | |
| %174 = load i32, i32* %173, !range !4 | |
| switch i32 %174, label %match_else38 [ | |
| i32 1, label %match_case39 | |
| ] | |
| case_body31: ; preds = %match_else32 | |
| br label %clean_ast_1760_70 | |
| match_else32: ; preds = %loop_body | |
| br label %case_body31 | |
| match_case33: ; preds = %loop_body | |
| %175 = bitcast %"option::Option<(usize, char)>"* %9 to { i64, { i64, i32 } }* | |
| %176 = getelementptr inbounds { i64, { i64, i32 } }, { i64, { i64, i32 } }* %175, i32 0, i32 1 | |
| %177 = getelementptr inbounds { i64, i32 }, { i64, i32 }* %176, i32 0, i32 0 | |
| %178 = getelementptr inbounds { i64, i32 }, { i64, i32 }* %176, i32 0, i32 1 | |
| %179 = bitcast i32** %__llmatch30 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %179) | |
| store i32* %178, i32** %__llmatch30 | |
| %180 = bitcast i64** %__llmatch29 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %180) | |
| store i64* %177, i64** %__llmatch29 | |
| br label %case_body28 | |
| case_body35: ; preds = %match_case39 | |
| %181 = load i32*, i32** %__llmatch36 | |
| %182 = bitcast i32* %digit to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %182) | |
| %183 = load i32, i32* %181, align 4 | |
| store i32 %183, i32* %digit, align 4 | |
| %184 = load i32, i32* %radix, align 4 | |
| %185 = uitofp i32 %184 to double | |
| %186 = load double, double* %sig, align 8 | |
| %187 = fmul double %186, %185 | |
| store double %187, double* %sig, align 8 | |
| %188 = load i8, i8* %is_positive, align 1, !range !1 | |
| %189 = trunc i8 %188 to i1 | |
| br i1 %189, label %then-block-1792-, label %else-block40 | |
| case_body37: ; preds = %match_else38 | |
| %190 = load i32, i32* %c, align 4, !range !0 | |
| %191 = icmp eq i32 %190, 101 | |
| br i1 %191, label %match_case60, label %compare_next61 | |
| match_else38: ; preds = %case_body28 | |
| br label %case_body37 | |
| match_case39: ; preds = %case_body28 | |
| %192 = bitcast %"option::Option<u32>"* %match34 to { i32, i32 }* | |
| %193 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %192, i32 0, i32 1 | |
| %194 = bitcast i32** %__llmatch36 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %194) | |
| store i32* %193, i32** %__llmatch36 | |
| br label %case_body35 | |
| then-block-1792-: ; preds = %case_body35 | |
| %195 = load i32, i32* %digit, align 4 | |
| %196 = zext i32 %195 to i64 | |
| %197 = sitofp i64 %196 to double | |
| %198 = load double, double* %sig, align 8 | |
| %199 = fadd double %198, %197 | |
| store double %199, double* %sig, align 8 | |
| br label %join41 | |
| else-block40: ; preds = %case_body35 | |
| %200 = load i32, i32* %digit, align 4 | |
| %201 = zext i32 %200 to i64 | |
| %202 = sitofp i64 %201 to double | |
| %203 = load double, double* %sig, align 8 | |
| %204 = fsub double %203, %202 | |
| store double %204, double* %sig, align 8 | |
| br label %join41 | |
| join41: ; preds = %else-block40, %then-block-1792- | |
| %205 = load double, double* %prev_sig, align 8 | |
| %206 = fcmp une double %205, 0.000000e+00 | |
| br i1 %206, label %then-block-1824-, label %next-block55 | |
| then-block-1824-: ; preds = %join41 | |
| %207 = load i8, i8* %is_positive, align 1, !range !1 | |
| %208 = trunc i8 %207 to i1 | |
| br i1 %208, label %before_rhs, label %join42 | |
| join42: ; preds = %before_rhs, %then-block-1824- | |
| %209 = phi i1 [ %208, %then-block-1824- ], [ %212, %before_rhs ] | |
| br i1 %209, label %then-block-1832-, label %next-block | |
| before_rhs: ; preds = %then-block-1824- | |
| %210 = load double, double* %sig, align 8 | |
| %211 = load double, double* %prev_sig, align 8 | |
| %212 = fcmp ole double %210, %211 | |
| br label %join42 | |
| then-block-1832-: ; preds = %join42 | |
| %213 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, double }* | |
| %214 = getelementptr inbounds { i8, double }, { i8, double }* %213, i32 0, i32 1 | |
| %215 = call double @_ZN3f649f64.Float8infinity20hfdd23488d7b0fb7e7zaE() | |
| store double %215, double* %214, align 8 | |
| %216 = getelementptr inbounds %"result::Result<f64, num::ParseFloatError>", %"result::Result<f64, num::ParseFloatError>"* %0, i32 0, i32 0 | |
| store i8 0, i8* %216 | |
| br label %clean_custom_45 | |
| clean_ast_1647_: ; preds = %clean_custom_153, %clean_ast_1953_, %clean_ast_1750_ | |
| %217 = bitcast %"option::Option<(char, usize)>"* %exp_info to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %217) | |
| %218 = bitcast %"iter::Enumerate<str::Chars>"* %cs to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %218) | |
| %219 = bitcast double* %prev_sig to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %219) | |
| %220 = bitcast double* %sig to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %220) | |
| %221 = bitcast %str_slice* %src25 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %221) | |
| call void @llvm.lifetime.end(i64 1, i8* %is_positive) | |
| br label %clean_custom_ | |
| clean_ast_1750_: ; preds = %clean_custom_43 | |
| %222 = bitcast %"iter::Enumerate<str::Chars>"** %match to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %222) | |
| br label %clean_ast_1647_ | |
| clean_custom_43: ; preds = %clean_ast_1760_ | |
| %223 = bitcast %"iter::Enumerate<str::Chars>"*** %iter to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %223) | |
| br label %clean_ast_1750_ | |
| clean_ast_1760_: ; preds = %clean_custom_44 | |
| %224 = bitcast %"option::Option<(usize, char)>"* %9 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %224) | |
| br label %clean_custom_43 | |
| clean_custom_44: ; preds = %clean_ast_1770_ | |
| %225 = bitcast i64** %__llmatch29 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %225) | |
| %226 = bitcast i64* %i to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %226) | |
| %227 = bitcast i32** %__llmatch30 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %227) | |
| %228 = bitcast i32* %c to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %228) | |
| br label %clean_ast_1760_ | |
| clean_ast_1770_: ; preds = %case_body58, %clean_custom_45 | |
| %229 = bitcast %"option::Option<u32>"* %match34 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %229) | |
| br label %clean_custom_44 | |
| clean_custom_45: ; preds = %then-block-1895-, %then-block-1871-, %then-block-1847-, %then-block-1832- | |
| %230 = bitcast i32** %__llmatch36 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %230) | |
| %231 = bitcast i32* %digit to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %231) | |
| br label %clean_ast_1770_ | |
| next-block: ; preds = %join42 | |
| %232 = load i8, i8* %is_positive, align 1, !range !1 | |
| %233 = trunc i8 %232 to i1 | |
| %234 = xor i1 %233, true | |
| br i1 %234, label %before_rhs47, label %join46 | |
| join46: ; preds = %before_rhs47, %next-block | |
| %235 = phi i1 [ %234, %next-block ], [ %238, %before_rhs47 ] | |
| br i1 %235, label %then-block-1847-, label %next-block48 | |
| before_rhs47: ; preds = %next-block | |
| %236 = load double, double* %sig, align 8 | |
| %237 = load double, double* %prev_sig, align 8 | |
| %238 = fcmp oge double %236, %237 | |
| br label %join46 | |
| then-block-1847-: ; preds = %join46 | |
| %239 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, double }* | |
| %240 = getelementptr inbounds { i8, double }, { i8, double }* %239, i32 0, i32 1 | |
| %241 = call double @_ZN3f649f64.Float12neg_infinity20hb5011eb9b9df0d43cAaE() | |
| store double %241, double* %240, align 8 | |
| %242 = getelementptr inbounds %"result::Result<f64, num::ParseFloatError>", %"result::Result<f64, num::ParseFloatError>"* %0, i32 0, i32 0 | |
| store i8 0, i8* %242 | |
| br label %clean_custom_45 | |
| next-block48: ; preds = %join46 | |
| %243 = load i8, i8* %is_positive, align 1, !range !1 | |
| %244 = trunc i8 %243 to i1 | |
| br i1 %244, label %before_rhs50, label %join49 | |
| join49: ; preds = %before_rhs50, %next-block48 | |
| %245 = phi i1 [ %244, %next-block48 ], [ %254, %before_rhs50 ] | |
| br i1 %245, label %then-block-1871-, label %next-block51 | |
| before_rhs50: ; preds = %next-block48 | |
| %246 = load i32, i32* %digit, align 4 | |
| %247 = uitofp i32 %246 to double | |
| %248 = load double, double* %sig, align 8 | |
| %249 = fsub double %248, %247 | |
| %250 = load i32, i32* %radix, align 4 | |
| %251 = uitofp i32 %250 to double | |
| %252 = fdiv double %249, %251 | |
| %253 = load double, double* %prev_sig, align 8 | |
| %254 = fcmp une double %253, %252 | |
| br label %join49 | |
| then-block-1871-: ; preds = %join49 | |
| %255 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, double }* | |
| %256 = getelementptr inbounds { i8, double }, { i8, double }* %255, i32 0, i32 1 | |
| %257 = call double @_ZN3f649f64.Float8infinity20hfdd23488d7b0fb7e7zaE() | |
| store double %257, double* %256, align 8 | |
| %258 = getelementptr inbounds %"result::Result<f64, num::ParseFloatError>", %"result::Result<f64, num::ParseFloatError>"* %0, i32 0, i32 0 | |
| store i8 0, i8* %258 | |
| br label %clean_custom_45 | |
| next-block51: ; preds = %join49 | |
| %259 = load i8, i8* %is_positive, align 1, !range !1 | |
| %260 = trunc i8 %259 to i1 | |
| %261 = xor i1 %260, true | |
| br i1 %261, label %before_rhs53, label %join52 | |
| join52: ; preds = %before_rhs53, %next-block51 | |
| %262 = phi i1 [ %261, %next-block51 ], [ %271, %before_rhs53 ] | |
| br i1 %262, label %then-block-1895-, label %next-block54 | |
| before_rhs53: ; preds = %next-block51 | |
| %263 = load i32, i32* %digit, align 4 | |
| %264 = uitofp i32 %263 to double | |
| %265 = load double, double* %sig, align 8 | |
| %266 = fadd double %265, %264 | |
| %267 = load i32, i32* %radix, align 4 | |
| %268 = uitofp i32 %267 to double | |
| %269 = fdiv double %266, %268 | |
| %270 = load double, double* %prev_sig, align 8 | |
| %271 = fcmp une double %270, %269 | |
| br label %join52 | |
| then-block-1895-: ; preds = %join52 | |
| %272 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, double }* | |
| %273 = getelementptr inbounds { i8, double }, { i8, double }* %272, i32 0, i32 1 | |
| %274 = call double @_ZN3f649f64.Float12neg_infinity20hb5011eb9b9df0d43cAaE() | |
| store double %274, double* %273, align 8 | |
| %275 = getelementptr inbounds %"result::Result<f64, num::ParseFloatError>", %"result::Result<f64, num::ParseFloatError>"* %0, i32 0, i32 0 | |
| store i8 0, i8* %275 | |
| br label %clean_custom_45 | |
| next-block54: ; preds = %join52 | |
| br label %next-block55 | |
| next-block55: ; preds = %next-block54, %join41 | |
| %276 = load double, double* %sig, align 8 | |
| store double %276, double* %prev_sig, align 8 | |
| %277 = bitcast i32** %__llmatch36 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %277) | |
| %278 = bitcast i32* %digit to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %278) | |
| br label %join74 | |
| case_body56: ; preds = %match_case66, %match_case64, %match_case62, %match_case60 | |
| %279 = bitcast %"option::Option<(char, usize)>"* %11 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %279) | |
| %280 = bitcast %"option::Option<(char, usize)>"* %11 to { i64, { i32, i64 } }* | |
| %281 = getelementptr inbounds { i64, { i32, i64 } }, { i64, { i32, i64 } }* %280, i32 0, i32 1 | |
| %282 = getelementptr inbounds { i32, i64 }, { i32, i64 }* %281, i32 0, i32 0 | |
| %283 = load i32, i32* %c, align 4, !range !0 | |
| store i32 %283, i32* %282, align 4 | |
| %284 = getelementptr inbounds { i32, i64 }, { i32, i64 }* %281, i32 0, i32 1 | |
| %285 = load i64, i64* %i, align 8 | |
| %286 = add i64 %285, 1 | |
| store i64 %286, i64* %284, align 8 | |
| %287 = getelementptr inbounds %"option::Option<(char, usize)>", %"option::Option<(char, usize)>"* %11, i32 0, i32 0 | |
| store i64 1, i64* %287 | |
| %288 = bitcast %"option::Option<(char, usize)>"* %11 to i8* | |
| %289 = bitcast %"option::Option<(char, usize)>"* %exp_info to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %289, i8* %288, i64 24, i32 8, i1 false) | |
| %290 = bitcast %"option::Option<(char, usize)>"* %11 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %290) | |
| br label %clean_ast_1770_72 | |
| case_body57: ; preds = %match_case68 | |
| br label %clean_ast_1770_72 | |
| case_body58: ; preds = %match_else59 | |
| %291 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, { i8 }, [14 x i8] }* | |
| %292 = bitcast { i8, { i8 }, [14 x i8] }* %291 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %292, i8* getelementptr inbounds ({ i8, { i8 }, [14 x i8] }, { i8, { i8 }, [14 x i8] }* @const43558, i32 0, i32 0), i64 16, i32 8, i1 false) | |
| br label %clean_ast_1770_ | |
| match_else59: ; preds = %compare_next69 | |
| br label %case_body58 | |
| match_case60: ; preds = %case_body37 | |
| br label %case_body56 | |
| compare_next61: ; preds = %case_body37 | |
| %293 = icmp eq i32 %190, 69 | |
| br i1 %293, label %match_case62, label %compare_next63 | |
| match_case62: ; preds = %compare_next61 | |
| br label %case_body56 | |
| compare_next63: ; preds = %compare_next61 | |
| %294 = icmp eq i32 %190, 112 | |
| br i1 %294, label %match_case64, label %compare_next65 | |
| match_case64: ; preds = %compare_next63 | |
| br label %case_body56 | |
| compare_next65: ; preds = %compare_next63 | |
| %295 = icmp eq i32 %190, 80 | |
| br i1 %295, label %match_case66, label %compare_next67 | |
| match_case66: ; preds = %compare_next65 | |
| br label %case_body56 | |
| compare_next67: ; preds = %compare_next65 | |
| %296 = icmp eq i32 %190, 46 | |
| br i1 %296, label %match_case68, label %compare_next69 | |
| match_case68: ; preds = %compare_next67 | |
| br label %case_body57 | |
| compare_next69: ; preds = %compare_next67 | |
| br label %match_else59 | |
| clean_ast_1760_70: ; preds = %clean_custom_71, %case_body31 | |
| %297 = bitcast %"option::Option<(usize, char)>"* %9 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %297) | |
| br label %loop_exit | |
| clean_custom_71: ; preds = %clean_ast_1770_72 | |
| %298 = bitcast i64** %__llmatch29 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %298) | |
| %299 = bitcast i64* %i to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %299) | |
| %300 = bitcast i32** %__llmatch30 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %300) | |
| %301 = bitcast i32* %c to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %301) | |
| br label %clean_ast_1760_70 | |
| clean_ast_1770_72: ; preds = %case_body57, %case_body56 | |
| %302 = bitcast %"option::Option<u32>"* %match34 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %302) | |
| br label %clean_custom_71 | |
| join73: ; No predecessors! | |
| unreachable | |
| join74: ; preds = %next-block55 | |
| %303 = bitcast %"option::Option<u32>"* %match34 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %303) | |
| %304 = bitcast i64** %__llmatch29 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %304) | |
| %305 = bitcast i64* %i to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %305) | |
| %306 = bitcast i32** %__llmatch30 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %306) | |
| %307 = bitcast i32* %c to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %307) | |
| br label %join75 | |
| join75: ; preds = %join74 | |
| %308 = bitcast %"option::Option<(usize, char)>"* %9 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %308) | |
| br label %loop_body | |
| join76: ; preds = %loop_exit | |
| %309 = bitcast %"iter::Enumerate<str::Chars>"** %match to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %309) | |
| %310 = bitcast {}* %result to i8* | |
| call void @llvm.lifetime.end(i64 0, i8* %310) | |
| call void @llvm.lifetime.start(i64 1, i8* %12) | |
| %311 = call zeroext i1 @"_ZN6option15Option$LT$T$GT$7is_none20h1578896107712481053E"(%"option::Option<(char, usize)>"* noalias readonly dereferenceable(24) %exp_info) | |
| %312 = zext i1 %311 to i8 | |
| store i8 %312, i8* %12, align 1 | |
| %313 = load i8, i8* %12, align 1, !range !1 | |
| %314 = trunc i8 %313 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| br i1 %314, label %then-block-1953-, label %next-block127 | |
| then-block-1953-: ; preds = %join76 | |
| %315 = bitcast double* %power to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %315) | |
| store double 1.000000e+00, double* %power, align 8 | |
| %316 = bitcast {}* %result77 to i8* | |
| call void @llvm.lifetime.start(i64 0, i8* %316) | |
| %317 = bitcast %"iter::Enumerate<str::Chars>"** %13 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %317) | |
| %318 = bitcast %"iter::Enumerate<str::Chars>"** %14 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %318) | |
| %319 = call dereferenceable(24) %"iter::Enumerate<str::Chars>"* @_ZN4iter8Iterator6by_ref21h16646711982226617443E(%"iter::Enumerate<str::Chars>"* noalias dereferenceable(24) %cs) | |
| store %"iter::Enumerate<str::Chars>"* %319, %"iter::Enumerate<str::Chars>"** %14, align 8 | |
| %320 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %14, align 8, !nonnull !2 | |
| %321 = bitcast %"iter::Enumerate<str::Chars>"** %14 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %321) | |
| %322 = call dereferenceable(24) %"iter::Enumerate<str::Chars>"* @_ZN4iter14I.IntoIterator9into_iter20h6563255094920483013E(%"iter::Enumerate<str::Chars>"* noalias dereferenceable(24) %320) | |
| store %"iter::Enumerate<str::Chars>"* %322, %"iter::Enumerate<str::Chars>"** %13, align 8 | |
| %323 = load %"iter::Enumerate<str::Chars>"*, %"iter::Enumerate<str::Chars>"** %13, align 8, !nonnull !2 | |
| %324 = bitcast %"iter::Enumerate<str::Chars>"** %13 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %324) | |
| %325 = bitcast %"iter::Enumerate<str::Chars>"** %match78 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %325) | |
| store %"iter::Enumerate<str::Chars>"* %323, %"iter::Enumerate<str::Chars>"** %match78, align 8 | |
| %326 = bitcast %"iter::Enumerate<str::Chars>"*** %iter80 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %326) | |
| store %"iter::Enumerate<str::Chars>"** %match78, %"iter::Enumerate<str::Chars>"*** %iter80 | |
| br label %case_body79 | |
| case_body79: ; preds = %then-block-1953- | |
| %327 = load %"iter::Enumerate<str::Chars>"**, %"iter::Enumerate<str::Chars>"*** %iter80 | |
| br label %loop_body82 | |
| loop_exit81: ; preds = %clean_ast_1970_120 | |
| %328 = bitcast %"iter::Enumerate<str::Chars>"*** %iter80 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %328) | |
| br label %join126 | |
| loop_body82: ; preds = %join125, %case_body79 | |
| %329 = bitcast %"option::Option<(usize, char)>"* %15 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %329) | |
| call void @"_ZN4iter34_$RF$$u27$a$u20$mut$u20$I.Iterator4next21h12474813853625106210E"(%"option::Option<(usize, char)>"* noalias nocapture sret dereferenceable(24) %15, %"iter::Enumerate<str::Chars>"** noalias dereferenceable(8) %327) | |
| %330 = getelementptr inbounds %"option::Option<(usize, char)>", %"option::Option<(usize, char)>"* %15, i32 0, i32 0 | |
| %331 = load i64, i64* %330, !range !3 | |
| switch i64 %331, label %match_else89 [ | |
| i64 1, label %match_case90 | |
| ] | |
| case_body83: ; preds = %match_case90 | |
| %332 = load i64*, i64** %__llmatch84 | |
| %333 = bitcast i64* %i85 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %333) | |
| %334 = load i64, i64* %332, align 8 | |
| store i64 %334, i64* %i85, align 8 | |
| %335 = load i32*, i32** %__llmatch86 | |
| %336 = bitcast i32* %c87 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %336) | |
| %337 = load i32, i32* %335, align 4, !range !0 | |
| store i32 %337, i32* %c87, align 4 | |
| %338 = bitcast %"option::Option<u32>"* %16 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %338) | |
| %339 = load i32, i32* %c87, align 4, !range !0 | |
| %340 = load i32, i32* %radix, align 4 | |
| %341 = call i64 @_ZN4char12char.CharExt8to_digit20h151cfc3f68bf51e09RBE(i32 %339, i32 %340) | |
| %342 = bitcast %"option::Option<u32>"* %16 to i64* | |
| store i64 %341, i64* %342, align 4 | |
| %343 = bitcast %"option::Option<u32>"* %16 to i64* | |
| %344 = load i64, i64* %343, align 4 | |
| %345 = bitcast %"option::Option<u32>"* %16 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %345) | |
| %346 = bitcast %"option::Option<u32>"* %match91 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %346) | |
| %347 = bitcast %"option::Option<u32>"* %match91 to i64* | |
| store i64 %344, i64* %347, align 4 | |
| %348 = getelementptr inbounds %"option::Option<u32>", %"option::Option<u32>"* %match91, i32 0, i32 0 | |
| %349 = load i32, i32* %348, !range !4 | |
| switch i32 %349, label %match_else96 [ | |
| i32 1, label %match_case97 | |
| ] | |
| case_body88: ; preds = %match_else89 | |
| br label %clean_ast_1970_120 | |
| match_else89: ; preds = %loop_body82 | |
| br label %case_body88 | |
| match_case90: ; preds = %loop_body82 | |
| %350 = bitcast %"option::Option<(usize, char)>"* %15 to { i64, { i64, i32 } }* | |
| %351 = getelementptr inbounds { i64, { i64, i32 } }, { i64, { i64, i32 } }* %350, i32 0, i32 1 | |
| %352 = getelementptr inbounds { i64, i32 }, { i64, i32 }* %351, i32 0, i32 0 | |
| %353 = getelementptr inbounds { i64, i32 }, { i64, i32 }* %351, i32 0, i32 1 | |
| %354 = bitcast i32** %__llmatch86 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %354) | |
| store i32* %353, i32** %__llmatch86 | |
| %355 = bitcast i64** %__llmatch84 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %355) | |
| store i64* %352, i64** %__llmatch84 | |
| br label %case_body83 | |
| case_body92: ; preds = %match_case97 | |
| %356 = load i32*, i32** %__llmatch93 | |
| %357 = bitcast i32* %digit94 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %357) | |
| %358 = load i32, i32* %356, align 4 | |
| store i32 %358, i32* %digit94, align 4 | |
| %359 = load i32, i32* %radix, align 4 | |
| %360 = uitofp i32 %359 to double | |
| %361 = load double, double* %power, align 8 | |
| %362 = fdiv double %361, %360 | |
| store double %362, double* %power, align 8 | |
| %363 = bitcast double* %17 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %363) | |
| %364 = load i8, i8* %is_positive, align 1, !range !1 | |
| %365 = trunc i8 %364 to i1 | |
| br i1 %365, label %then-block-2004-, label %else-block98 | |
| case_body95: ; preds = %match_else96 | |
| %366 = load i32, i32* %c87, align 4, !range !0 | |
| %367 = icmp eq i32 %366, 101 | |
| br i1 %367, label %match_case112, label %compare_next113 | |
| match_else96: ; preds = %case_body83 | |
| br label %case_body95 | |
| match_case97: ; preds = %case_body83 | |
| %368 = bitcast %"option::Option<u32>"* %match91 to { i32, i32 }* | |
| %369 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %368, i32 0, i32 1 | |
| %370 = bitcast i32** %__llmatch93 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %370) | |
| store i32* %369, i32** %__llmatch93 | |
| br label %case_body92 | |
| then-block-2004-: ; preds = %case_body92 | |
| %371 = load i32, i32* %digit94, align 4 | |
| %372 = uitofp i32 %371 to double | |
| %373 = load double, double* %power, align 8 | |
| %374 = fmul double %372, %373 | |
| %375 = load double, double* %sig, align 8 | |
| %376 = fadd double %375, %374 | |
| store double %376, double* %17, align 8 | |
| br label %join99 | |
| else-block98: ; preds = %case_body92 | |
| %377 = load i32, i32* %digit94, align 4 | |
| %378 = uitofp i32 %377 to double | |
| %379 = load double, double* %power, align 8 | |
| %380 = fmul double %378, %379 | |
| %381 = load double, double* %sig, align 8 | |
| %382 = fsub double %381, %380 | |
| store double %382, double* %17, align 8 | |
| br label %join99 | |
| join99: ; preds = %else-block98, %then-block-2004- | |
| %383 = load double, double* %17, align 8 | |
| %384 = bitcast double* %17 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %384) | |
| store double %383, double* %sig, align 8 | |
| %385 = load i8, i8* %is_positive, align 1, !range !1 | |
| %386 = trunc i8 %385 to i1 | |
| br i1 %386, label %before_rhs101, label %join100 | |
| join100: ; preds = %before_rhs101, %join99 | |
| %387 = phi i1 [ %386, %join99 ], [ %390, %before_rhs101 ] | |
| br i1 %387, label %then-block-2030-, label %next-block105 | |
| before_rhs101: ; preds = %join99 | |
| %388 = load double, double* %sig, align 8 | |
| %389 = load double, double* %prev_sig, align 8 | |
| %390 = fcmp olt double %388, %389 | |
| br label %join100 | |
| then-block-2030-: ; preds = %join100 | |
| %391 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, double }* | |
| %392 = getelementptr inbounds { i8, double }, { i8, double }* %391, i32 0, i32 1 | |
| %393 = call double @_ZN3f649f64.Float8infinity20hfdd23488d7b0fb7e7zaE() | |
| store double %393, double* %392, align 8 | |
| %394 = getelementptr inbounds %"result::Result<f64, num::ParseFloatError>", %"result::Result<f64, num::ParseFloatError>"* %0, i32 0, i32 0 | |
| store i8 0, i8* %394 | |
| br label %clean_custom_104 | |
| clean_ast_1953_: ; preds = %clean_ast_1960_ | |
| %395 = bitcast double* %power to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %395) | |
| br label %clean_ast_1647_ | |
| clean_ast_1960_: ; preds = %clean_custom_102 | |
| %396 = bitcast %"iter::Enumerate<str::Chars>"** %match78 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %396) | |
| br label %clean_ast_1953_ | |
| clean_custom_102: ; preds = %clean_ast_1970_ | |
| %397 = bitcast %"iter::Enumerate<str::Chars>"*** %iter80 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %397) | |
| br label %clean_ast_1960_ | |
| clean_ast_1970_: ; preds = %clean_custom_103 | |
| %398 = bitcast %"option::Option<(usize, char)>"* %15 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %398) | |
| br label %clean_custom_102 | |
| clean_custom_103: ; preds = %clean_ast_1980_ | |
| %399 = bitcast i32** %__llmatch86 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %399) | |
| %400 = bitcast i32* %c87 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %400) | |
| %401 = bitcast i64** %__llmatch84 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %401) | |
| %402 = bitcast i64* %i85 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %402) | |
| br label %clean_ast_1970_ | |
| clean_ast_1980_: ; preds = %case_body110, %clean_custom_104 | |
| %403 = bitcast %"option::Option<u32>"* %match91 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %403) | |
| br label %clean_custom_103 | |
| clean_custom_104: ; preds = %then-block-2045-, %then-block-2030- | |
| %404 = bitcast i32** %__llmatch93 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %404) | |
| %405 = bitcast i32* %digit94 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %405) | |
| br label %clean_ast_1980_ | |
| next-block105: ; preds = %join100 | |
| %406 = load i8, i8* %is_positive, align 1, !range !1 | |
| %407 = trunc i8 %406 to i1 | |
| %408 = xor i1 %407, true | |
| br i1 %408, label %before_rhs107, label %join106 | |
| join106: ; preds = %before_rhs107, %next-block105 | |
| %409 = phi i1 [ %408, %next-block105 ], [ %412, %before_rhs107 ] | |
| br i1 %409, label %then-block-2045-, label %next-block108 | |
| before_rhs107: ; preds = %next-block105 | |
| %410 = load double, double* %sig, align 8 | |
| %411 = load double, double* %prev_sig, align 8 | |
| %412 = fcmp ogt double %410, %411 | |
| br label %join106 | |
| then-block-2045-: ; preds = %join106 | |
| %413 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, double }* | |
| %414 = getelementptr inbounds { i8, double }, { i8, double }* %413, i32 0, i32 1 | |
| %415 = call double @_ZN3f649f64.Float12neg_infinity20hb5011eb9b9df0d43cAaE() | |
| store double %415, double* %414, align 8 | |
| %416 = getelementptr inbounds %"result::Result<f64, num::ParseFloatError>", %"result::Result<f64, num::ParseFloatError>"* %0, i32 0, i32 0 | |
| store i8 0, i8* %416 | |
| br label %clean_custom_104 | |
| next-block108: ; preds = %join106 | |
| %417 = load double, double* %sig, align 8 | |
| store double %417, double* %prev_sig, align 8 | |
| %418 = bitcast i32** %__llmatch93 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %418) | |
| %419 = bitcast i32* %digit94 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %419) | |
| br label %join124 | |
| case_body109: ; preds = %match_case118, %match_case116, %match_case114, %match_case112 | |
| %420 = bitcast %"option::Option<(char, usize)>"* %18 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %420) | |
| %421 = bitcast %"option::Option<(char, usize)>"* %18 to { i64, { i32, i64 } }* | |
| %422 = getelementptr inbounds { i64, { i32, i64 } }, { i64, { i32, i64 } }* %421, i32 0, i32 1 | |
| %423 = getelementptr inbounds { i32, i64 }, { i32, i64 }* %422, i32 0, i32 0 | |
| %424 = load i32, i32* %c87, align 4, !range !0 | |
| store i32 %424, i32* %423, align 4 | |
| %425 = getelementptr inbounds { i32, i64 }, { i32, i64 }* %422, i32 0, i32 1 | |
| %426 = load i64, i64* %i85, align 8 | |
| %427 = add i64 %426, 1 | |
| store i64 %427, i64* %425, align 8 | |
| %428 = getelementptr inbounds %"option::Option<(char, usize)>", %"option::Option<(char, usize)>"* %18, i32 0, i32 0 | |
| store i64 1, i64* %428 | |
| %429 = bitcast %"option::Option<(char, usize)>"* %18 to i8* | |
| %430 = bitcast %"option::Option<(char, usize)>"* %exp_info to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %430, i8* %429, i64 24, i32 8, i1 false) | |
| %431 = bitcast %"option::Option<(char, usize)>"* %18 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %431) | |
| br label %clean_ast_1980_122 | |
| case_body110: ; preds = %match_else111 | |
| %432 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, { i8 }, [14 x i8] }* | |
| %433 = bitcast { i8, { i8 }, [14 x i8] }* %432 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %433, i8* getelementptr inbounds ({ i8, { i8 }, [14 x i8] }, { i8, { i8 }, [14 x i8] }* @const43558, i32 0, i32 0), i64 16, i32 8, i1 false) | |
| br label %clean_ast_1980_ | |
| match_else111: ; preds = %compare_next119 | |
| br label %case_body110 | |
| match_case112: ; preds = %case_body95 | |
| br label %case_body109 | |
| compare_next113: ; preds = %case_body95 | |
| %434 = icmp eq i32 %366, 69 | |
| br i1 %434, label %match_case114, label %compare_next115 | |
| match_case114: ; preds = %compare_next113 | |
| br label %case_body109 | |
| compare_next115: ; preds = %compare_next113 | |
| %435 = icmp eq i32 %366, 112 | |
| br i1 %435, label %match_case116, label %compare_next117 | |
| match_case116: ; preds = %compare_next115 | |
| br label %case_body109 | |
| compare_next117: ; preds = %compare_next115 | |
| %436 = icmp eq i32 %366, 80 | |
| br i1 %436, label %match_case118, label %compare_next119 | |
| match_case118: ; preds = %compare_next117 | |
| br label %case_body109 | |
| compare_next119: ; preds = %compare_next117 | |
| br label %match_else111 | |
| clean_ast_1970_120: ; preds = %clean_custom_121, %case_body88 | |
| %437 = bitcast %"option::Option<(usize, char)>"* %15 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %437) | |
| br label %loop_exit81 | |
| clean_custom_121: ; preds = %clean_ast_1980_122 | |
| %438 = bitcast i32** %__llmatch86 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %438) | |
| %439 = bitcast i32* %c87 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %439) | |
| %440 = bitcast i64** %__llmatch84 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %440) | |
| %441 = bitcast i64* %i85 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %441) | |
| br label %clean_ast_1970_120 | |
| clean_ast_1980_122: ; preds = %case_body109 | |
| %442 = bitcast %"option::Option<u32>"* %match91 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %442) | |
| br label %clean_custom_121 | |
| join123: ; No predecessors! | |
| unreachable | |
| join124: ; preds = %next-block108 | |
| %443 = bitcast %"option::Option<u32>"* %match91 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %443) | |
| %444 = bitcast i32** %__llmatch86 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %444) | |
| %445 = bitcast i32* %c87 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %445) | |
| %446 = bitcast i64** %__llmatch84 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %446) | |
| %447 = bitcast i64* %i85 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %447) | |
| br label %join125 | |
| join125: ; preds = %join124 | |
| %448 = bitcast %"option::Option<(usize, char)>"* %15 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %448) | |
| br label %loop_body82 | |
| join126: ; preds = %loop_exit81 | |
| %449 = bitcast %"iter::Enumerate<str::Chars>"** %match78 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %449) | |
| %450 = bitcast {}* %result77 to i8* | |
| call void @llvm.lifetime.end(i64 0, i8* %450) | |
| %451 = bitcast double* %power to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %451) | |
| br label %next-block127 | |
| next-block127: ; preds = %join126, %join76 | |
| %452 = bitcast double* %exp to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %452) | |
| %453 = getelementptr inbounds %"option::Option<(char, usize)>", %"option::Option<(char, usize)>"* %exp_info, i32 0, i32 0 | |
| %454 = load i64, i64* %453, !range !3 | |
| switch i64 %454, label %match_else133 [ | |
| i64 1, label %match_case134 | |
| ] | |
| case_body128: ; preds = %match_case134 | |
| %455 = load i64*, i64** %__llmatch131 | |
| %456 = bitcast i64* %offset to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %456) | |
| %457 = load i64, i64* %455, align 8 | |
| store i64 %457, i64* %offset, align 8 | |
| %458 = load i32*, i32** %__llmatch129 | |
| %459 = bitcast i32* %c130 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %459) | |
| %460 = load i32, i32* %458, align 4, !range !0 | |
| store i32 %460, i32* %c130, align 4 | |
| %461 = bitcast double* %base to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %461) | |
| %462 = load i32, i32* %c130, align 4, !range !0 | |
| %463 = icmp eq i32 %462, 69 | |
| br i1 %463, label %match_case139, label %compare_next140 | |
| case_body132: ; preds = %match_else133 | |
| store double 1.000000e+00, double* %exp, align 8 | |
| br label %join188 | |
| match_else133: ; preds = %next-block127 | |
| br label %case_body132 | |
| match_case134: ; preds = %next-block127 | |
| %464 = bitcast %"option::Option<(char, usize)>"* %exp_info to { i64, { i32, i64 } }* | |
| %465 = getelementptr inbounds { i64, { i32, i64 } }, { i64, { i32, i64 } }* %464, i32 0, i32 1 | |
| %466 = getelementptr inbounds { i32, i64 }, { i32, i64 }* %465, i32 0, i32 0 | |
| %467 = getelementptr inbounds { i32, i64 }, { i32, i64 }* %465, i32 0, i32 1 | |
| %468 = bitcast i64** %__llmatch131 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %468) | |
| store i64* %467, i64** %__llmatch131 | |
| %469 = bitcast i32** %__llmatch129 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %469) | |
| store i32* %466, i32** %__llmatch129 | |
| br label %case_body128 | |
| case_body135: ; preds = %next143, %next | |
| store double 1.000000e+01, double* %base, align 8 | |
| br label %join154 | |
| case_body136: ; preds = %next151, %next147 | |
| store double 2.000000e+00, double* %base, align 8 | |
| br label %join154 | |
| case_body137: ; preds = %cond152, %match_else138 | |
| %470 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, { i8 }, [14 x i8] }* | |
| %471 = bitcast { i8, { i8 }, [14 x i8] }* %470 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %471, i8* getelementptr inbounds ({ i8, { i8 }, [14 x i8] }, { i8, { i8 }, [14 x i8] }* @const43558, i32 0, i32 0), i64 16, i32 8, i1 false) | |
| br label %clean_custom_153 | |
| match_else138: ; preds = %compare_next150 | |
| br label %case_body137 | |
| match_case139: ; preds = %case_body128 | |
| %472 = load i32, i32* %radix, align 4 | |
| %473 = icmp eq i32 %472, 10 | |
| %474 = xor i1 %473, true | |
| br i1 %474, label %cond, label %next | |
| compare_next140: ; preds = %cond, %case_body128 | |
| %475 = icmp eq i32 %462, 101 | |
| br i1 %475, label %match_case141, label %compare_next142 | |
| next: ; preds = %match_case139 | |
| br label %case_body135 | |
| cond: ; preds = %match_case139 | |
| br label %compare_next140 | |
| match_case141: ; preds = %compare_next140 | |
| %476 = load i32, i32* %radix, align 4 | |
| %477 = icmp eq i32 %476, 10 | |
| %478 = xor i1 %477, true | |
| br i1 %478, label %cond144, label %next143 | |
| compare_next142: ; preds = %cond144, %compare_next140 | |
| %479 = icmp eq i32 %462, 80 | |
| br i1 %479, label %match_case145, label %compare_next146 | |
| next143: ; preds = %match_case141 | |
| br label %case_body135 | |
| cond144: ; preds = %match_case141 | |
| br label %compare_next142 | |
| match_case145: ; preds = %compare_next142 | |
| %480 = load i32, i32* %radix, align 4 | |
| %481 = icmp eq i32 %480, 16 | |
| %482 = xor i1 %481, true | |
| br i1 %482, label %cond148, label %next147 | |
| compare_next146: ; preds = %cond148, %compare_next142 | |
| %483 = icmp eq i32 %462, 112 | |
| br i1 %483, label %match_case149, label %compare_next150 | |
| next147: ; preds = %match_case145 | |
| br label %case_body136 | |
| cond148: ; preds = %match_case145 | |
| br label %compare_next146 | |
| match_case149: ; preds = %compare_next146 | |
| %484 = load i32, i32* %radix, align 4 | |
| %485 = icmp eq i32 %484, 16 | |
| %486 = xor i1 %485, true | |
| br i1 %486, label %cond152, label %next151 | |
| compare_next150: ; preds = %compare_next146 | |
| br label %match_else138 | |
| next151: ; preds = %match_case149 | |
| br label %case_body136 | |
| cond152: ; preds = %match_case149 | |
| br label %case_body137 | |
| clean_custom_153: ; preds = %clean_ast_2102_, %clean_ast_2103_, %case_body137 | |
| %487 = bitcast i32** %__llmatch129 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %487) | |
| %488 = bitcast i32* %c130 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %488) | |
| %489 = bitcast i64** %__llmatch131 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %489) | |
| %490 = bitcast i64* %offset to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %490) | |
| br label %clean_ast_1647_ | |
| join154: ; preds = %case_body136, %case_body135 | |
| %491 = bitcast %str_slice* %src155 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %491) | |
| %492 = bitcast %"ops::RangeFrom<usize>"* %19 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %492) | |
| %493 = getelementptr inbounds %"ops::RangeFrom<usize>", %"ops::RangeFrom<usize>"* %19, i32 0, i32 0 | |
| %494 = load i64, i64* %offset, align 8 | |
| store i64 %494, i64* %493, align 8 | |
| %495 = bitcast %"ops::RangeFrom<usize>"* %19 to i64* | |
| %496 = load i64, i64* %495, align 8 | |
| %497 = bitcast %"ops::RangeFrom<usize>"* %19 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %497) | |
| %498 = bitcast %str_slice* %overloaded_index_elt to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %498) | |
| %499 = getelementptr inbounds %str_slice, %str_slice* %src25, i32 0, i32 0 | |
| %500 = load i8*, i8** %499 | |
| %501 = getelementptr inbounds %str_slice, %str_slice* %src25, i32 0, i32 1 | |
| %502 = load i64, i64* %501 | |
| %503 = call %str_slice @"_ZN3str6traits49str.ops..Index$LT$ops..RangeFrom$LT$usize$GT$$GT$5index20h3f1b10be0dd1c356pYJE"(i8* noalias nonnull readonly %500, i64 %502, i64 %496) | |
| store %str_slice %503, %str_slice* %overloaded_index_elt, align 8 | |
| %504 = bitcast %str_slice* %__fat_ptr to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %504) | |
| %505 = bitcast %str_slice* %overloaded_index_elt to i8* | |
| %506 = bitcast %str_slice* %__fat_ptr to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %506, i8* %505, i64 16, i32 8, i1 false) | |
| %507 = bitcast %str_slice* %__fat_ptr to i8* | |
| %508 = bitcast %str_slice* %src155 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %508, i8* %507, i64 16, i32 8, i1 false) | |
| %509 = bitcast %str_slice* %__fat_ptr to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %509) | |
| %510 = bitcast { i8, %"result::Result<usize, num::ParseIntError>" }* %20 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %510) | |
| %511 = bitcast %"option::Option<(char, &'static str)>"* %21 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %511) | |
| %512 = getelementptr inbounds %str_slice, %str_slice* %src155, i32 0, i32 0 | |
| %513 = load i8*, i8** %512 | |
| %514 = getelementptr inbounds %str_slice, %str_slice* %src155, i32 0, i32 1 | |
| %515 = load i64, i64* %514 | |
| call void @_ZN3str10str.StrExt16slice_shift_char20h763b6d43914ac21cBtKE(%"option::Option<(char, &'static str)>"* noalias nocapture sret dereferenceable(24) %21, i8* noalias nonnull readonly %513, i64 %515) | |
| %516 = getelementptr inbounds %"option::Option<(char, &'static str)>", %"option::Option<(char, &'static str)>"* %21, i32 0, i32 0, i32 1, i32 0 | |
| %517 = load i8*, i8** %516 | |
| %518 = icmp ne i8* %517, null | |
| switch i1 %518, label %match_else164 [ | |
| i1 true, label %match_case165 | |
| ] | |
| case_body156: ; preds = %match_case167 | |
| %519 = load %str_slice*, %str_slice** %__llmatch157 | |
| %520 = bitcast %str_slice* %src158 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %520) | |
| %521 = bitcast %str_slice* %519 to i8* | |
| %522 = bitcast %str_slice* %src158 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %522, i8* %521, i64 16, i32 8, i1 false) | |
| %523 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %20, i32 0, i32 0 | |
| store i8 0, i8* %523, align 1 | |
| %524 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %20, i32 0, i32 1 | |
| %525 = getelementptr inbounds %str_slice, %str_slice* %src158, i32 0, i32 0 | |
| %526 = load i8*, i8** %525 | |
| %527 = getelementptr inbounds %str_slice, %str_slice* %src158, i32 0, i32 1 | |
| %528 = load i64, i64* %527 | |
| call void @_ZN3str10str.StrExt5parse21h10035881824587292317E(%"result::Result<usize, num::ParseIntError>"* noalias nocapture sret dereferenceable(16) %524, i8* noalias nonnull readonly %526, i64 %528) | |
| %529 = bitcast %str_slice** %__llmatch157 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %529) | |
| %530 = bitcast %str_slice* %src158 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %530) | |
| br label %join171 | |
| case_body159: ; preds = %match_case169 | |
| %531 = load %str_slice*, %str_slice** %__llmatch160 | |
| %532 = bitcast %str_slice* %src161 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %532) | |
| %533 = bitcast %str_slice* %531 to i8* | |
| %534 = bitcast %str_slice* %src161 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %534, i8* %533, i64 16, i32 8, i1 false) | |
| %535 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %20, i32 0, i32 0 | |
| store i8 1, i8* %535, align 1 | |
| %536 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %20, i32 0, i32 1 | |
| %537 = getelementptr inbounds %str_slice, %str_slice* %src161, i32 0, i32 0 | |
| %538 = load i8*, i8** %537 | |
| %539 = getelementptr inbounds %str_slice, %str_slice* %src161, i32 0, i32 1 | |
| %540 = load i64, i64* %539 | |
| call void @_ZN3str10str.StrExt5parse21h10035881824587292317E(%"result::Result<usize, num::ParseIntError>"* noalias nocapture sret dereferenceable(16) %536, i8* noalias nonnull readonly %538, i64 %540) | |
| %541 = bitcast %str_slice** %__llmatch160 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %541) | |
| %542 = bitcast %str_slice* %src161 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %542) | |
| br label %join171 | |
| case_body162: ; preds = %match_else166 | |
| %543 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %20, i32 0, i32 0 | |
| store i8 1, i8* %543, align 1 | |
| %544 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %20, i32 0, i32 1 | |
| %545 = getelementptr inbounds %str_slice, %str_slice* %src155, i32 0, i32 0 | |
| %546 = load i8*, i8** %545 | |
| %547 = getelementptr inbounds %str_slice, %str_slice* %src155, i32 0, i32 1 | |
| %548 = load i64, i64* %547 | |
| call void @_ZN3str10str.StrExt5parse21h10035881824587292317E(%"result::Result<usize, num::ParseIntError>"* noalias nocapture sret dereferenceable(16) %544, i8* noalias nonnull readonly %546, i64 %548) | |
| br label %join171 | |
| case_body163: ; preds = %match_else164 | |
| %549 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, { i8 }, [14 x i8] }* | |
| %550 = bitcast { i8, { i8 }, [14 x i8] }* %549 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %550, i8* getelementptr inbounds ({ i8, { i8 }, [14 x i8] }, { i8, { i8 }, [14 x i8] }* @const43558, i32 0, i32 0), i64 16, i32 8, i1 false) | |
| br label %clean_ast_2139_ | |
| match_else164: ; preds = %join154 | |
| br label %case_body163 | |
| match_case165: ; preds = %join154 | |
| %551 = getelementptr inbounds %"option::Option<(char, &'static str)>", %"option::Option<(char, &'static str)>"* %21, i32 0, i32 0 | |
| %552 = getelementptr inbounds { i32, %str_slice }, { i32, %str_slice }* %551, i32 0, i32 0 | |
| %553 = getelementptr inbounds { i32, %str_slice }, { i32, %str_slice }* %551, i32 0, i32 1 | |
| %554 = load i32, i32* %552, align 4, !range !0 | |
| %555 = icmp eq i32 %554, 45 | |
| br i1 %555, label %match_case167, label %compare_next168 | |
| match_else166: ; preds = %compare_next170 | |
| br label %case_body162 | |
| match_case167: ; preds = %match_case165 | |
| %556 = bitcast %str_slice** %__llmatch157 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %556) | |
| store %str_slice* %553, %str_slice** %__llmatch157 | |
| br label %case_body156 | |
| compare_next168: ; preds = %match_case165 | |
| %557 = icmp eq i32 %554, 43 | |
| br i1 %557, label %match_case169, label %compare_next170 | |
| match_case169: ; preds = %compare_next168 | |
| %558 = bitcast %str_slice** %__llmatch160 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %558) | |
| store %str_slice* %553, %str_slice** %__llmatch160 | |
| br label %case_body159 | |
| compare_next170: ; preds = %compare_next168 | |
| br label %match_else166 | |
| clean_ast_2103_: ; preds = %clean_ast_2139_ | |
| %559 = bitcast %str_slice* %src155 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %559) | |
| %560 = bitcast double* %base to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %560) | |
| br label %clean_custom_153 | |
| clean_ast_2139_: ; preds = %case_body163 | |
| %561 = bitcast %"option::Option<(char, &'static str)>"* %21 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %561) | |
| br label %clean_ast_2103_ | |
| join171: ; preds = %case_body162, %case_body159, %case_body156 | |
| %562 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %20, i32 0, i32 0 | |
| call void @llvm.lifetime.start(i64 1, i8* %is_positive172) | |
| %563 = load i8, i8* %562, align 1, !range !1 | |
| %564 = trunc i8 %563 to i1 | |
| %565 = zext i1 %564 to i8 | |
| store i8 %565, i8* %is_positive172, align 1 | |
| %566 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %20, i32 0, i32 1 | |
| %567 = bitcast %"result::Result<usize, num::ParseIntError>"* %exp173 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %567) | |
| %568 = bitcast %"result::Result<usize, num::ParseIntError>"* %566 to i8* | |
| %569 = bitcast %"result::Result<usize, num::ParseIntError>"* %exp173 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %569, i8* %568, i64 16, i32 8, i1 false) | |
| %570 = bitcast { i8, %"result::Result<usize, num::ParseIntError>" }* %20 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %570) | |
| %571 = bitcast %"option::Option<(char, &'static str)>"* %21 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %571) | |
| %572 = bitcast { i8, %"result::Result<usize, num::ParseIntError>" }* %22 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %572) | |
| %573 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %22, i32 0, i32 0 | |
| %574 = load i8, i8* %is_positive172, align 1, !range !1 | |
| %575 = trunc i8 %574 to i1 | |
| %576 = zext i1 %575 to i8 | |
| store i8 %576, i8* %573, align 1 | |
| %577 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %22, i32 0, i32 1 | |
| %578 = bitcast %"result::Result<usize, num::ParseIntError>"* %exp173 to i8* | |
| %579 = bitcast %"result::Result<usize, num::ParseIntError>"* %577 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %579, i8* %578, i64 16, i32 8, i1 false) | |
| %580 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %22, i32 0, i32 0 | |
| %581 = getelementptr inbounds { i8, %"result::Result<usize, num::ParseIntError>" }, { i8, %"result::Result<usize, num::ParseIntError>" }* %22, i32 0, i32 1 | |
| %582 = getelementptr inbounds %"result::Result<usize, num::ParseIntError>", %"result::Result<usize, num::ParseIntError>"* %581, i32 0, i32 0 | |
| %583 = load i8, i8* %582, !range !1 | |
| switch i8 %583, label %match_else181 [ | |
| i8 0, label %match_case182 | |
| ] | |
| case_body174: ; preds = %match_case184 | |
| %584 = load i64*, i64** %__llmatch175 | |
| %585 = bitcast i64* %exp176 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %585) | |
| %586 = load i64, i64* %584, align 8 | |
| store i64 %586, i64* %exp176, align 8 | |
| %587 = load double, double* %base, align 8 | |
| %588 = load i64, i64* %exp176, align 8 | |
| %589 = trunc i64 %588 to i32 | |
| %590 = call double @_ZN3f649f64.Float4powi20h73dbe66746767a0ePPaE(double %587, i32 %589) | |
| store double %590, double* %exp, align 8 | |
| %591 = bitcast i64** %__llmatch175 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %591) | |
| %592 = bitcast i64* %exp176 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %592) | |
| br label %join187 | |
| case_body177: ; preds = %match_else183 | |
| %593 = load i64*, i64** %__llmatch178 | |
| %594 = bitcast i64* %exp179 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %594) | |
| %595 = load i64, i64* %593, align 8 | |
| store i64 %595, i64* %exp179, align 8 | |
| %596 = bitcast double* %23 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %596) | |
| %597 = load double, double* %base, align 8 | |
| %598 = load i64, i64* %exp179, align 8 | |
| %599 = trunc i64 %598 to i32 | |
| %600 = call double @_ZN3f649f64.Float4powi20h73dbe66746767a0ePPaE(double %597, i32 %599) | |
| store double %600, double* %23, align 8 | |
| %601 = load double, double* %23, align 8 | |
| %602 = bitcast double* %23 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %602) | |
| %603 = fdiv double 1.000000e+00, %601 | |
| store double %603, double* %exp, align 8 | |
| %604 = bitcast i64** %__llmatch178 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %604) | |
| %605 = bitcast i64* %exp179 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %605) | |
| br label %join187 | |
| case_body180: ; preds = %match_else181 | |
| %606 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, { i8 }, [14 x i8] }* | |
| %607 = bitcast { i8, { i8 }, [14 x i8] }* %606 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %607, i8* getelementptr inbounds ({ i8, { i8 }, [14 x i8] }, { i8, { i8 }, [14 x i8] }* @const43558, i32 0, i32 0), i64 16, i32 8, i1 false) | |
| br label %clean_ast_2103_186 | |
| match_else181: ; preds = %join171 | |
| %608 = bitcast %"result::Result<usize, num::ParseIntError>"* %581 to { i8, %"num::ParseIntError" }* | |
| %609 = getelementptr inbounds { i8, %"num::ParseIntError" }, { i8, %"num::ParseIntError" }* %608, i32 0, i32 1 | |
| br label %case_body180 | |
| match_case182: ; preds = %join171 | |
| %610 = bitcast %"result::Result<usize, num::ParseIntError>"* %581 to { i8, i64 }* | |
| %611 = getelementptr inbounds { i8, i64 }, { i8, i64 }* %610, i32 0, i32 1 | |
| %612 = load i8, i8* %580, align 1, !range !1 | |
| %613 = trunc i8 %612 to i1 | |
| %614 = icmp eq i1 %613, true | |
| br i1 %614, label %match_case184, label %compare_next185 | |
| match_else183: ; preds = %compare_next185 | |
| %615 = bitcast i64** %__llmatch178 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %615) | |
| store i64* %611, i64** %__llmatch178 | |
| br label %case_body177 | |
| match_case184: ; preds = %match_case182 | |
| %616 = bitcast i64** %__llmatch175 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %616) | |
| store i64* %611, i64** %__llmatch175 | |
| br label %case_body174 | |
| compare_next185: ; preds = %match_case182 | |
| br label %match_else183 | |
| clean_ast_2102_: ; preds = %clean_ast_2103_186 | |
| %617 = bitcast { i8, %"result::Result<usize, num::ParseIntError>" }* %22 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %617) | |
| br label %clean_custom_153 | |
| clean_ast_2103_186: ; preds = %case_body180 | |
| %618 = bitcast %"result::Result<usize, num::ParseIntError>"* %exp173 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %618) | |
| call void @llvm.lifetime.end(i64 1, i8* %is_positive172) | |
| %619 = bitcast %str_slice* %src155 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %619) | |
| %620 = bitcast double* %base to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %620) | |
| br label %clean_ast_2102_ | |
| join187: ; preds = %case_body177, %case_body174 | |
| %621 = bitcast %"result::Result<usize, num::ParseIntError>"* %exp173 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %621) | |
| call void @llvm.lifetime.end(i64 1, i8* %is_positive172) | |
| %622 = bitcast %str_slice* %src155 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %622) | |
| %623 = bitcast double* %base to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %623) | |
| %624 = bitcast { i8, %"result::Result<usize, num::ParseIntError>" }* %22 to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %624) | |
| %625 = bitcast i32** %__llmatch129 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %625) | |
| %626 = bitcast i32* %c130 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %626) | |
| %627 = bitcast i64** %__llmatch131 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %627) | |
| %628 = bitcast i64* %offset to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %628) | |
| br label %join188 | |
| join188: ; preds = %join187, %case_body132 | |
| %629 = bitcast %"result::Result<f64, num::ParseFloatError>"* %0 to { i8, double }* | |
| %630 = getelementptr inbounds { i8, double }, { i8, double }* %629, i32 0, i32 1 | |
| %631 = load double, double* %sig, align 8 | |
| %632 = load double, double* %exp, align 8 | |
| %633 = fmul double %631, %632 | |
| store double %633, double* %630, align 8 | |
| %634 = getelementptr inbounds %"result::Result<f64, num::ParseFloatError>", %"result::Result<f64, num::ParseFloatError>"* %0, i32 0, i32 0 | |
| store i8 0, i8* %634 | |
| %635 = bitcast double* %exp to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %635) | |
| %636 = bitcast %"option::Option<(char, usize)>"* %exp_info to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %636) | |
| %637 = bitcast %"iter::Enumerate<str::Chars>"* %cs to i8* | |
| call void @llvm.lifetime.end(i64 24, i8* %637) | |
| %638 = bitcast double* %prev_sig to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %638) | |
| %639 = bitcast double* %sig to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %639) | |
| %640 = bitcast %str_slice* %src25 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %640) | |
| call void @llvm.lifetime.end(i64 1, i8* %is_positive) | |
| br label %clean_custom_ | |
| return: ; preds = %clean_custom_ | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float4powi20h73dbe66746767a0ePPaE(double, i32) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %n = alloca i32 | |
| %2 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store double %0, double* %self, align 8 | |
| %3 = bitcast i32* %n to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %n, align 4 | |
| %4 = load double, double* %self, align 8 | |
| %5 = load i32, i32* %n, align 4 | |
| %6 = call double @llvm.powi.f64(double %4, i32 %5) | |
| %7 = bitcast i32* %n to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret double %6 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3f649f64.Float6is_nan20hd2b52f757ad41f222JaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = load double, double* %self, align 8 | |
| %4 = fcmp une double %2, %3 | |
| %5 = zext i1 %4 to i8 | |
| %6 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %6) | |
| %7 = trunc i8 %5 to i1 | |
| ret i1 %7 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3f649f64.Float11is_infinite20h5637b0f7019edfc2cKaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = alloca double | |
| %2 = alloca double | |
| %3 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store double %0, double* %self, align 8 | |
| %4 = bitcast double* %1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = call double @_ZN3f649f64.Float8infinity20hfdd23488d7b0fb7e7zaE() | |
| store double %5, double* %1, align 8 | |
| %6 = load double, double* %1, align 8 | |
| %7 = bitcast double* %1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = load double, double* %self, align 8 | |
| %9 = fcmp oeq double %8, %6 | |
| br i1 %9, label %join, label %before_rhs | |
| join: ; preds = %before_rhs, %entry-block | |
| %10 = phi i1 [ %9, %entry-block ], [ %19, %before_rhs ] | |
| %11 = zext i1 %10 to i8 | |
| %12 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = trunc i8 %11 to i1 | |
| ret i1 %13 | |
| before_rhs: ; preds = %entry-block | |
| %14 = bitcast double* %2 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %14) | |
| %15 = call double @_ZN3f649f64.Float12neg_infinity20hb5011eb9b9df0d43cAaE() | |
| store double %15, double* %2, align 8 | |
| %16 = load double, double* %2, align 8 | |
| %17 = bitcast double* %2 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %17) | |
| %18 = load double, double* %self, align 8 | |
| %19 = fcmp oeq double %18, %16 | |
| br label %join | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3f649f64.Float9is_finite20h756246c3d7fe0119sKaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = alloca i8 | |
| %2 = alloca i8 | |
| %3 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store double %0, double* %self, align 8 | |
| call void @llvm.lifetime.start(i64 1, i8* %1) | |
| %4 = load double, double* %self, align 8 | |
| %5 = call zeroext i1 @_ZN3f649f64.Float6is_nan20hd2b52f757ad41f222JaE(double %4) | |
| %6 = zext i1 %5 to i8 | |
| store i8 %6, i8* %1, align 1 | |
| %7 = load i8, i8* %1, align 1, !range !1 | |
| %8 = trunc i8 %7 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %1) | |
| br i1 %8, label %join, label %before_rhs | |
| join: ; preds = %before_rhs, %entry-block | |
| %9 = phi i1 [ %8, %entry-block ], [ %18, %before_rhs ] | |
| %10 = xor i1 %9, true | |
| %11 = zext i1 %10 to i8 | |
| %12 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = trunc i8 %11 to i1 | |
| ret i1 %13 | |
| before_rhs: ; preds = %entry-block | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %14 = load double, double* %self, align 8 | |
| %15 = call zeroext i1 @_ZN3f649f64.Float11is_infinite20h5637b0f7019edfc2cKaE(double %14) | |
| %16 = zext i1 %15 to i8 | |
| store i8 %16, i8* %2, align 1 | |
| %17 = load i8, i8* %2, align 1, !range !1 | |
| %18 = trunc i8 %17 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %2) | |
| br label %join | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3f649f64.Float9is_normal20h11468061c8633aefGKaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = alloca i8 | |
| %autoref = alloca i8 | |
| %2 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store double %0, double* %self, align 8 | |
| call void @llvm.lifetime.start(i64 1, i8* %1) | |
| %3 = load double, double* %self, align 8 | |
| %4 = call i8 @_ZN3f649f64.Float8classify20h4d425b43b48afc36RKaE(double %3) | |
| store i8 %4, i8* %1, align 1 | |
| %5 = load i8, i8* %1, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %1) | |
| call void @llvm.lifetime.start(i64 1, i8* %autoref) | |
| store i8 %5, i8* %autoref, align 1 | |
| %6 = call zeroext i1 @_ZN3num33FpCategory...core..cmp..PartialEq2eq20h48fccd04b574d039HihE(i8* noalias readonly dereferenceable(1) %autoref, i8* noalias readonly dereferenceable(1) @const43534) | |
| %7 = zext i1 %6 to i8 | |
| call void @llvm.lifetime.end(i64 1, i8* %autoref) | |
| %8 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| %9 = trunc i8 %7 to i1 | |
| ret i1 %9 | |
| } | |
| ; Function Attrs: uwtable | |
| define i8 @_ZN3f649f64.Float8classify20h4d425b43b48afc36RKaE(double) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca i8 | |
| %self = alloca double | |
| %bits = alloca i64 | |
| %1 = alloca { i64, i64 } | |
| %2 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store double %0, double* %self, align 8 | |
| %3 = bitcast i64* %bits to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| %4 = load double, double* %self, align 8 | |
| %5 = bitcast double %4 to i64 | |
| store i64 %5, i64* %bits | |
| %6 = bitcast { i64, i64 }* %1 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| %7 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %1, i32 0, i32 0 | |
| %8 = load i64, i64* %bits, align 8 | |
| %9 = and i64 %8, 4503599627370495 | |
| store i64 %9, i64* %7, align 8 | |
| %10 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %1, i32 0, i32 1 | |
| %11 = load i64, i64* %bits, align 8 | |
| %12 = and i64 %11, 9218868437227405312 | |
| store i64 %12, i64* %10, align 8 | |
| %13 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %1, i32 0, i32 0 | |
| %14 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %1, i32 0, i32 1 | |
| %15 = load i64, i64* %14, align 8 | |
| switch i64 %15, label %match_else [ | |
| i64 0, label %match_case | |
| i64 9218868437227405312, label %match_case7 | |
| ] | |
| case_body: ; preds = %match_case6 | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret_slot, i8* @const43537, i64 1, i32 1, i1 false) | |
| br label %join | |
| case_body1: ; preds = %match_else5 | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret_slot, i8* @const43538, i64 1, i32 1, i1 false) | |
| br label %join | |
| case_body2: ; preds = %match_case9 | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret_slot, i8* @const43523, i64 1, i32 1, i1 false) | |
| br label %join | |
| case_body3: ; preds = %match_else8 | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret_slot, i8* @const43522, i64 1, i32 1, i1 false) | |
| br label %join | |
| case_body4: ; preds = %match_else | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret_slot, i8* @const43534, i64 1, i32 1, i1 false) | |
| br label %join | |
| match_else: ; preds = %entry-block | |
| br label %case_body4 | |
| match_case: ; preds = %entry-block | |
| %16 = load i64, i64* %13, align 8 | |
| switch i64 %16, label %match_else5 [ | |
| i64 0, label %match_case6 | |
| ] | |
| match_else5: ; preds = %match_case | |
| br label %case_body1 | |
| match_case6: ; preds = %match_case | |
| br label %case_body | |
| match_case7: ; preds = %entry-block | |
| %17 = load i64, i64* %13, align 8 | |
| switch i64 %17, label %match_else8 [ | |
| i64 0, label %match_case9 | |
| ] | |
| match_else8: ; preds = %match_case7 | |
| br label %case_body3 | |
| match_case9: ; preds = %match_case7 | |
| br label %case_body2 | |
| join: ; preds = %case_body4, %case_body3, %case_body2, %case_body1, %case_body | |
| %18 = bitcast { i64, i64 }* %1 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %18) | |
| %19 = bitcast i64* %bits to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %19) | |
| %20 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %20) | |
| %21 = load i8, i8* %sret_slot, align 1 | |
| ret i8 %21 | |
| } | |
| ; Function Attrs: uwtable | |
| define void @_ZN3f649f64.Float14integer_decode20h29be328c8a39d201JLaE({ i64, i16, i8 }* noalias nocapture sret dereferenceable(16), double) unnamed_addr #2 { | |
| entry-block: | |
| %self = alloca double | |
| %bits = alloca i64 | |
| %sign = alloca i8 | |
| %exponent = alloca i16 | |
| %mantissa = alloca i64 | |
| %2 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store double %1, double* %self, align 8 | |
| %3 = bitcast i64* %bits to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| %4 = load double, double* %self, align 8 | |
| %5 = bitcast double %4 to i64 | |
| store i64 %5, i64* %bits | |
| call void @llvm.lifetime.start(i64 1, i8* %sign) | |
| %6 = load i64, i64* %bits, align 8 | |
| %7 = lshr i64 %6, 63 | |
| %8 = icmp eq i64 %7, 0 | |
| br i1 %8, label %then-block-2358-, label %else-block | |
| then-block-2358-: ; preds = %entry-block | |
| store i8 1, i8* %sign, align 1 | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| store i8 -1, i8* %sign, align 1 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-2358- | |
| %9 = bitcast i16* %exponent to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %9) | |
| %10 = load i64, i64* %bits, align 8 | |
| %11 = lshr i64 %10, 52 | |
| %12 = and i64 %11, 2047 | |
| %13 = trunc i64 %12 to i16 | |
| store i16 %13, i16* %exponent, align 2 | |
| %14 = bitcast i64* %mantissa to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %14) | |
| %15 = load i16, i16* %exponent, align 2 | |
| %16 = icmp eq i16 %15, 0 | |
| br i1 %16, label %then-block-2384-, label %else-block1 | |
| then-block-2384-: ; preds = %join | |
| %17 = load i64, i64* %bits, align 8 | |
| %18 = and i64 %17, 4503599627370495 | |
| %19 = shl i64 %18, 1 | |
| store i64 %19, i64* %mantissa, align 8 | |
| br label %join2 | |
| else-block1: ; preds = %join | |
| %20 = load i64, i64* %bits, align 8 | |
| %21 = and i64 %20, 4503599627370495 | |
| %22 = or i64 %21, 4503599627370496 | |
| store i64 %22, i64* %mantissa, align 8 | |
| br label %join2 | |
| join2: ; preds = %else-block1, %then-block-2384- | |
| %23 = load i16, i16* %exponent, align 2 | |
| %24 = sub i16 %23, 1075 | |
| store i16 %24, i16* %exponent, align 2 | |
| %25 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %0, i32 0, i32 0 | |
| %26 = load i64, i64* %mantissa, align 8 | |
| store i64 %26, i64* %25, align 8 | |
| %27 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %0, i32 0, i32 1 | |
| %28 = load i16, i16* %exponent, align 2 | |
| store i16 %28, i16* %27, align 2 | |
| %29 = getelementptr inbounds { i64, i16, i8 }, { i64, i16, i8 }* %0, i32 0, i32 2 | |
| %30 = load i8, i8* %sign, align 1 | |
| store i8 %30, i8* %29, align 1 | |
| %31 = bitcast i64* %mantissa to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %31) | |
| %32 = bitcast i16* %exponent to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %32) | |
| call void @llvm.lifetime.end(i64 1, i8* %sign) | |
| %33 = bitcast i64* %bits to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %33) | |
| %34 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %34) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float5floor20hb18a7221c0daed091MaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = call double @llvm.floor.f64(double %2) | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %4) | |
| ret double %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.floor.f64(double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float4ceil20hd6f4858fdddfed01dNaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = call double @llvm.ceil.f64(double %2) | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %4) | |
| ret double %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.ceil.f64(double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float5round20h46f9edd8c9c534acpNaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = call double @llvm.round.f64(double %2) | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %4) | |
| ret double %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.round.f64(double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float5trunc20h9b92294279c4fe7fBNaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = call double @llvm.trunc.f64(double %2) | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %4) | |
| ret double %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.trunc.f64(double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float5fract20h43bfce6dd26bb606NNaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = alloca double | |
| %2 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store double %0, double* %self, align 8 | |
| %3 = bitcast double* %1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| %4 = load double, double* %self, align 8 | |
| %5 = call double @_ZN3f649f64.Float5trunc20h9b92294279c4fe7fBNaE(double %4) | |
| store double %5, double* %1, align 8 | |
| %6 = load double, double* %1, align 8 | |
| %7 = bitcast double* %1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = load double, double* %self, align 8 | |
| %9 = fsub double %8, %6 | |
| %10 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %10) | |
| ret double %9 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float3abs20hf607ac5ce696803bYNaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = call double @llvm.fabs.f64(double %2) | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %4) | |
| ret double %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.fabs.f64(double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float6signum20h4dfccfe8b2894100aOaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca double | |
| %self = alloca double | |
| %1 = alloca i8 | |
| %2 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store double %0, double* %self, align 8 | |
| call void @llvm.lifetime.start(i64 1, i8* %1) | |
| %3 = load double, double* %self, align 8 | |
| %4 = call zeroext i1 @_ZN3f649f64.Float6is_nan20hd2b52f757ad41f222JaE(double %3) | |
| %5 = zext i1 %4 to i8 | |
| store i8 %5, i8* %1, align 1 | |
| %6 = load i8, i8* %1, align 1, !range !1 | |
| %7 = trunc i8 %6 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %1) | |
| br i1 %7, label %then-block-2490-, label %else-block | |
| then-block-2490-: ; preds = %entry-block | |
| %8 = call double @_ZN3f649f64.Float3nan20h5b9c8d892c4939332zaE() | |
| store double %8, double* %sret_slot, align 8 | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %9 = load double, double* %self, align 8 | |
| %10 = call double @llvm.copysign.f64(double 1.000000e+00, double %9) | |
| store double %10, double* %sret_slot, align 8 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-2490- | |
| %11 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = load double, double* %sret_slot, align 8 | |
| ret double %12 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.copysign.f64(double, double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3f649f64.Float11is_positive20h59b43adcf6bfbde5vOaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = alloca double | |
| %2 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store double %0, double* %self, align 8 | |
| %3 = load double, double* %self, align 8 | |
| %4 = fcmp ogt double %3, 0.000000e+00 | |
| br i1 %4, label %join, label %before_rhs | |
| join: ; preds = %before_rhs, %entry-block | |
| %5 = phi i1 [ %4, %entry-block ], [ %15, %before_rhs ] | |
| %6 = zext i1 %5 to i8 | |
| %7 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = trunc i8 %6 to i1 | |
| ret i1 %8 | |
| before_rhs: ; preds = %entry-block | |
| %9 = load double, double* %self, align 8 | |
| %10 = fdiv double 1.000000e+00, %9 | |
| %11 = bitcast double* %1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %11) | |
| %12 = call double @_ZN3f649f64.Float8infinity20hfdd23488d7b0fb7e7zaE() | |
| store double %12, double* %1, align 8 | |
| %13 = load double, double* %1, align 8 | |
| %14 = bitcast double* %1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %14) | |
| %15 = fcmp oeq double %10, %13 | |
| br label %join | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3f649f64.Float11is_negative20he2a64b5b70a853daNOaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = alloca double | |
| %2 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store double %0, double* %self, align 8 | |
| %3 = load double, double* %self, align 8 | |
| %4 = fcmp olt double %3, 0.000000e+00 | |
| br i1 %4, label %join, label %before_rhs | |
| join: ; preds = %before_rhs, %entry-block | |
| %5 = phi i1 [ %4, %entry-block ], [ %15, %before_rhs ] | |
| %6 = zext i1 %5 to i8 | |
| %7 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = trunc i8 %6 to i1 | |
| ret i1 %8 | |
| before_rhs: ; preds = %entry-block | |
| %9 = load double, double* %self, align 8 | |
| %10 = fdiv double 1.000000e+00, %9 | |
| %11 = bitcast double* %1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %11) | |
| %12 = call double @_ZN3f649f64.Float12neg_infinity20hb5011eb9b9df0d43cAaE() | |
| store double %12, double* %1, align 8 | |
| %13 = load double, double* %1, align 8 | |
| %14 = bitcast double* %1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %14) | |
| %15 = fcmp oeq double %10, %13 | |
| br label %join | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float7mul_add20h523e7e24258cc3c95OaE(double, double, double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %a = alloca double | |
| %b = alloca double | |
| %3 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store double %0, double* %self, align 8 | |
| %4 = bitcast double* %a to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store double %1, double* %a, align 8 | |
| %5 = bitcast double* %b to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| store double %2, double* %b, align 8 | |
| %6 = load double, double* %self, align 8 | |
| %7 = load double, double* %a, align 8 | |
| %8 = load double, double* %b, align 8 | |
| %9 = call double @llvm.fma.f64(double %6, double %7, double %8) | |
| %10 = bitcast double* %b to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %10) | |
| %11 = bitcast double* %a to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| ret double %9 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.fma.f64(double, double, double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float5recip20hfda1dc100832f4d4pPaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = fdiv double 1.000000e+00, %2 | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %4) | |
| ret double %3 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float4powf20h8f88d9b14739859azPaE(double, double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %n = alloca double | |
| %2 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store double %0, double* %self, align 8 | |
| %3 = bitcast double* %n to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store double %1, double* %n, align 8 | |
| %4 = load double, double* %self, align 8 | |
| %5 = load double, double* %n, align 8 | |
| %6 = call double @llvm.pow.f64(double %4, double %5) | |
| %7 = bitcast double* %n to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret double %6 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.pow.f64(double, double) unnamed_addr #5 | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.powi.f64(double, i32) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float4sqrt20h3d1a44207b654e255PaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca double | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = fcmp olt double %2, 0.000000e+00 | |
| br i1 %3, label %then-block-2610-, label %else-block | |
| then-block-2610-: ; preds = %entry-block | |
| store double 0x7FF8000000000000, double* %sret_slot, align 8 | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %4 = load double, double* %self, align 8 | |
| %5 = call double @llvm.sqrt.f64(double %4) | |
| store double %5, double* %sret_slot, align 8 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-2610- | |
| %6 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %6) | |
| %7 = load double, double* %sret_slot, align 8 | |
| ret double %7 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.sqrt.f64(double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float5rsqrt20hf167504da2d070b4pQaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = alloca double | |
| %2 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store double %0, double* %self, align 8 | |
| %3 = bitcast double* %1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| %4 = load double, double* %self, align 8 | |
| %5 = call double @_ZN3f649f64.Float4sqrt20h3d1a44207b654e255PaE(double %4) | |
| store double %5, double* %1, align 8 | |
| %6 = load double, double* %1, align 8 | |
| %7 = bitcast double* %1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = call double @_ZN3f649f64.Float5recip20hfda1dc100832f4d4pPaE(double %6) | |
| %9 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %9) | |
| ret double %8 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float3exp20hae99c187d7c58e03zQaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = call double @llvm.exp.f64(double %2) | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %4) | |
| ret double %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.exp.f64(double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float4exp220hfd95b8ae71f1e5feLQaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = call double @llvm.exp2.f64(double %2) | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %4) | |
| ret double %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.exp2.f64(double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float2ln20hc3cf0634c48fde07XQaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = call double @llvm.log.f64(double %2) | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %4) | |
| ret double %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.log.f64(double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float3log20h3d617802f86dbbf69QaE(double, double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %base = alloca double | |
| %2 = alloca double | |
| %3 = alloca double | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store double %0, double* %self, align 8 | |
| %5 = bitcast double* %base to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| store double %1, double* %base, align 8 | |
| %6 = bitcast double* %2 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %6) | |
| %7 = load double, double* %self, align 8 | |
| %8 = call double @_ZN3f649f64.Float2ln20hc3cf0634c48fde07XQaE(double %7) | |
| store double %8, double* %2, align 8 | |
| %9 = load double, double* %2, align 8 | |
| %10 = bitcast double* %2 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %10) | |
| %11 = bitcast double* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %11) | |
| %12 = load double, double* %base, align 8 | |
| %13 = call double @_ZN3f649f64.Float2ln20hc3cf0634c48fde07XQaE(double %12) | |
| store double %13, double* %3, align 8 | |
| %14 = load double, double* %3, align 8 | |
| %15 = bitcast double* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %15) | |
| %16 = fdiv double %9, %14 | |
| %17 = bitcast double* %base to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %17) | |
| %18 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %18) | |
| ret double %16 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float4log220h710edf013b47a218oRaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = call double @llvm.log2.f64(double %2) | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %4) | |
| ret double %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.log2.f64(double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float5log1020h69fac92814ac38b5ARaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = call double @llvm.log10.f64(double %2) | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %4) | |
| ret double %3 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare double @llvm.log10.f64(double) unnamed_addr #5 | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float10to_degrees20h979562193646ca1eMRaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = load double, double* %self, align 8 | |
| %3 = fmul double %2, 0x404CA5DC1A63C1F8 | |
| %4 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %4) | |
| ret double %3 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define double @_ZN3f649f64.Float10to_radians20h7d9ba36ed60302f5ZRaE(double) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca double | |
| %value = alloca double | |
| %1 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store double %0, double* %self, align 8 | |
| %2 = bitcast double* %value to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store double 0x400921FB54442D18, double* %value, align 8 | |
| %3 = load double, double* %value, align 8 | |
| %4 = fdiv double %3, 1.800000e+02 | |
| %5 = load double, double* %self, align 8 | |
| %6 = fmul double %5, %4 | |
| %7 = bitcast double* %value to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast double* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret double %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping35Wrapping$LT$u8$GT$.Shl$LT$usize$GT$3shl20h5707305426c591b0a2aE"(i8, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u8>" | |
| %self = alloca %"num::Wrapping<u8>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %self, i32 0, i32 0 | |
| %7 = load i8, i8* %6, align 1 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = trunc i64 %8 to i8 | |
| %10 = and i8 %9, 7 | |
| %11 = shl i8 %7, %10 | |
| store i8 %11, i8* %5, align 1 | |
| %12 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping35Wrapping$LT$u8$GT$.Shr$LT$usize$GT$3shr20hc0d9e75afa9396edA2aE"(i8, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u8>" | |
| %self = alloca %"num::Wrapping<u8>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %self, i32 0, i32 0 | |
| %7 = load i8, i8* %6, align 1 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = trunc i64 %8 to i8 | |
| %10 = and i8 %9, 7 | |
| %11 = lshr i8 %7, %10 | |
| store i8 %11, i8* %5, align 1 | |
| %12 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping36Wrapping$LT$u16$GT$.Shl$LT$usize$GT$3shl20hb2ceaedce81273ad02aE"(i16, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u16>" | |
| %self = alloca %"num::Wrapping<u16>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %self, i32 0, i32 0 | |
| %7 = load i16, i16* %6, align 2 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = trunc i64 %8 to i16 | |
| %10 = and i16 %9, 15 | |
| %11 = shl i16 %7, %10 | |
| store i16 %11, i16* %5, align 2 | |
| %12 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping36Wrapping$LT$u16$GT$.Shr$LT$usize$GT$3shr20hc29e9b2b5ced3a05q3aE"(i16, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u16>" | |
| %self = alloca %"num::Wrapping<u16>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %self, i32 0, i32 0 | |
| %7 = load i16, i16* %6, align 2 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = trunc i64 %8 to i16 | |
| %10 = and i16 %9, 15 | |
| %11 = lshr i16 %7, %10 | |
| store i16 %11, i16* %5, align 2 | |
| %12 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping36Wrapping$LT$u32$GT$.Shl$LT$usize$GT$3shl20hd49ae1515a44f54fQ3aE"(i32, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u32>" | |
| %self = alloca %"num::Wrapping<u32>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %self, i32 0, i32 0 | |
| %7 = load i32, i32* %6, align 4 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = trunc i64 %8 to i32 | |
| %10 = and i32 %9, 31 | |
| %11 = shl i32 %7, %10 | |
| store i32 %11, i32* %5, align 4 | |
| %12 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping36Wrapping$LT$u32$GT$.Shr$LT$usize$GT$3shr20hde995e01af1790b5g4aE"(i32, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u32>" | |
| %self = alloca %"num::Wrapping<u32>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %self, i32 0, i32 0 | |
| %7 = load i32, i32* %6, align 4 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = trunc i64 %8 to i32 | |
| %10 = and i32 %9, 31 | |
| %11 = lshr i32 %7, %10 | |
| store i32 %11, i32* %5, align 4 | |
| %12 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping36Wrapping$LT$u64$GT$.Shl$LT$usize$GT$3shl20h42f075c40d6200dcG4aE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u64>" | |
| %self = alloca %"num::Wrapping<u64>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %self, i32 0, i32 0 | |
| %7 = load i64, i64* %6, align 8 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = and i64 %8, 63 | |
| %10 = shl i64 %7, %9 | |
| store i64 %10, i64* %5, align 8 | |
| %11 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u64>"* %sret_slot to i64* | |
| %14 = load i64, i64* %13, align 8 | |
| ret i64 %14 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping36Wrapping$LT$u64$GT$.Shr$LT$usize$GT$3shr20he45e601015c5d91264aE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u64>" | |
| %self = alloca %"num::Wrapping<u64>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %self, i32 0, i32 0 | |
| %7 = load i64, i64* %6, align 8 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = and i64 %8, 63 | |
| %10 = lshr i64 %7, %9 | |
| store i64 %10, i64* %5, align 8 | |
| %11 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u64>"* %sret_slot to i64* | |
| %14 = load i64, i64* %13, align 8 | |
| ret i64 %14 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping38Wrapping$LT$usize$GT$.Shl$LT$usize$GT$3shl20hb09f563feeecac61w5aE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<usize>" | |
| %self = alloca %"num::Wrapping<usize>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<usize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %self, i32 0, i32 0 | |
| %7 = load i64, i64* %6, align 8 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = and i64 %8, 63 | |
| %10 = shl i64 %7, %9 | |
| store i64 %10, i64* %5, align 8 | |
| %11 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<usize>"* %sret_slot to i64* | |
| %14 = load i64, i64* %13, align 8 | |
| ret i64 %14 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping38Wrapping$LT$usize$GT$.Shr$LT$usize$GT$3shr20h712f98a07aad05a3W5aE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<usize>" | |
| %self = alloca %"num::Wrapping<usize>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<usize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %self, i32 0, i32 0 | |
| %7 = load i64, i64* %6, align 8 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = and i64 %8, 63 | |
| %10 = lshr i64 %7, %9 | |
| store i64 %10, i64* %5, align 8 | |
| %11 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<usize>"* %sret_slot to i64* | |
| %14 = load i64, i64* %13, align 8 | |
| ret i64 %14 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping35Wrapping$LT$i8$GT$.Shl$LT$usize$GT$3shl20hf8a5ada2721eb80bm6aE"(i8, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i8>" | |
| %self = alloca %"num::Wrapping<i8>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %self, i32 0, i32 0 | |
| %7 = load i8, i8* %6, align 1 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = trunc i64 %8 to i8 | |
| %10 = and i8 %9, 7 | |
| %11 = shl i8 %7, %10 | |
| store i8 %11, i8* %5, align 1 | |
| %12 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping35Wrapping$LT$i8$GT$.Shr$LT$usize$GT$3shr20hbb4e9c43e22507ebM6aE"(i8, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i8>" | |
| %self = alloca %"num::Wrapping<i8>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %self, i32 0, i32 0 | |
| %7 = load i8, i8* %6, align 1 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = trunc i64 %8 to i8 | |
| %10 = and i8 %9, 7 | |
| %11 = ashr i8 %7, %10 | |
| store i8 %11, i8* %5, align 1 | |
| %12 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping36Wrapping$LT$i16$GT$.Shl$LT$usize$GT$3shl20hbe1b758cb56cb1c1c7aE"(i16, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i16>" | |
| %self = alloca %"num::Wrapping<i16>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %self, i32 0, i32 0 | |
| %7 = load i16, i16* %6, align 2 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = trunc i64 %8 to i16 | |
| %10 = and i16 %9, 15 | |
| %11 = shl i16 %7, %10 | |
| store i16 %11, i16* %5, align 2 | |
| %12 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping36Wrapping$LT$i16$GT$.Shr$LT$usize$GT$3shr20h74cdbfb85cc4d1a5C7aE"(i16, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i16>" | |
| %self = alloca %"num::Wrapping<i16>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %self, i32 0, i32 0 | |
| %7 = load i16, i16* %6, align 2 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = trunc i64 %8 to i16 | |
| %10 = and i16 %9, 15 | |
| %11 = ashr i16 %7, %10 | |
| store i16 %11, i16* %5, align 2 | |
| %12 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping36Wrapping$LT$i32$GT$.Shl$LT$usize$GT$3shl20h2ce8d91a9890b07227aE"(i32, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i32>" | |
| %self = alloca %"num::Wrapping<i32>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %self, i32 0, i32 0 | |
| %7 = load i32, i32* %6, align 4 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = trunc i64 %8 to i32 | |
| %10 = and i32 %9, 31 | |
| %11 = shl i32 %7, %10 | |
| store i32 %11, i32* %5, align 4 | |
| %12 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping36Wrapping$LT$i32$GT$.Shr$LT$usize$GT$3shr20h4b2abb67cbf10558s8aE"(i32, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i32>" | |
| %self = alloca %"num::Wrapping<i32>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %self, i32 0, i32 0 | |
| %7 = load i32, i32* %6, align 4 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = trunc i64 %8 to i32 | |
| %10 = and i32 %9, 31 | |
| %11 = ashr i32 %7, %10 | |
| store i32 %11, i32* %5, align 4 | |
| %12 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping36Wrapping$LT$i64$GT$.Shl$LT$usize$GT$3shl20h2cf71e04387bd5d4S8aE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i64>" | |
| %self = alloca %"num::Wrapping<i64>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %self, i32 0, i32 0 | |
| %7 = load i64, i64* %6, align 8 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = and i64 %8, 63 | |
| %10 = shl i64 %7, %9 | |
| store i64 %10, i64* %5, align 8 | |
| %11 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i64>"* %sret_slot to i64* | |
| %14 = load i64, i64* %13, align 8 | |
| ret i64 %14 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping36Wrapping$LT$i64$GT$.Shr$LT$usize$GT$3shr20h8d901bf7292a6eb3i9aE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i64>" | |
| %self = alloca %"num::Wrapping<i64>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %self, i32 0, i32 0 | |
| %7 = load i64, i64* %6, align 8 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = and i64 %8, 63 | |
| %10 = ashr i64 %7, %9 | |
| store i64 %10, i64* %5, align 8 | |
| %11 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i64>"* %sret_slot to i64* | |
| %14 = load i64, i64* %13, align 8 | |
| ret i64 %14 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping38Wrapping$LT$isize$GT$.Shl$LT$usize$GT$3shl20h58c0fd625881e85bI9aE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<isize>" | |
| %self = alloca %"num::Wrapping<isize>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<isize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %self, i32 0, i32 0 | |
| %7 = load i64, i64* %6, align 8 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = and i64 %8, 63 | |
| %10 = shl i64 %7, %9 | |
| store i64 %10, i64* %5, align 8 | |
| %11 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<isize>"* %sret_slot to i64* | |
| %14 = load i64, i64* %13, align 8 | |
| ret i64 %14 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping38Wrapping$LT$isize$GT$.Shr$LT$usize$GT$3shr20h89bf0f5902e0d6ea89aE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<isize>" | |
| %self = alloca %"num::Wrapping<isize>" | |
| %other = alloca i64 | |
| %2 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<isize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %other, align 8 | |
| %5 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %sret_slot, i32 0, i32 0 | |
| %6 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %self, i32 0, i32 0 | |
| %7 = load i64, i64* %6, align 8 | |
| %8 = load i64, i64* %other, align 8 | |
| %9 = and i64 %8, 63 | |
| %10 = ashr i64 %7, %9 | |
| store i64 %10, i64* %5, align 8 | |
| %11 = bitcast i64* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<isize>"* %sret_slot to i64* | |
| %14 = load i64, i64* %13, align 8 | |
| ret i64 %14 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping25Wrapping$LT$usize$GT$.Add3add20hf9ea7339dd696c3fyabE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<usize>" | |
| %self = alloca %"num::Wrapping<usize>" | |
| %other = alloca %"num::Wrapping<usize>" | |
| %2 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<usize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<usize>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<usize>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %self, i32 0, i32 0 | |
| %8 = load i64, i64* %7, align 8 | |
| %9 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %other, i32 0, i32 0 | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = call i64 @_ZN3num5usize12wrapping_add20h370dc824fd72c8c34chE(i64 %8, i64 %10) | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<usize>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<usize>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN3num5usize12wrapping_add20h370dc824fd72c8c34chE(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %rhs, align 8 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = load i64, i64* %rhs, align 8 | |
| %6 = add i64 %4, %5 | |
| %7 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i64 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping25Wrapping$LT$usize$GT$.Sub3sub20h6ec3964204aa3e2dZabE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<usize>" | |
| %self = alloca %"num::Wrapping<usize>" | |
| %other = alloca %"num::Wrapping<usize>" | |
| %2 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<usize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<usize>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<usize>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %self, i32 0, i32 0 | |
| %8 = load i64, i64* %7, align 8 | |
| %9 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %other, i32 0, i32 0 | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = call i64 @_ZN3num5usize12wrapping_sub20h5a18f374b5302817kdhE(i64 %8, i64 %10) | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<usize>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<usize>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN3num5usize12wrapping_sub20h5a18f374b5302817kdhE(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %rhs, align 8 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = load i64, i64* %rhs, align 8 | |
| %6 = sub i64 %4, %5 | |
| %7 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i64 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping25Wrapping$LT$usize$GT$.Mul3mul20h6ddbc1241fc5c77fqbbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<usize>" | |
| %self = alloca %"num::Wrapping<usize>" | |
| %other = alloca %"num::Wrapping<usize>" | |
| %2 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<usize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<usize>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<usize>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %self, i32 0, i32 0 | |
| %8 = load i64, i64* %7, align 8 | |
| %9 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %other, i32 0, i32 0 | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = call i64 @_ZN3num5usize12wrapping_mul20hcf574084be18b68aAdhE(i64 %8, i64 %10) | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<usize>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<usize>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN3num5usize12wrapping_mul20hcf574084be18b68aAdhE(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %rhs, align 8 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = load i64, i64* %rhs, align 8 | |
| %6 = mul i64 %4, %5 | |
| %7 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i64 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping25Wrapping$LT$usize$GT$.Not3not20h60d23bf3e461859dRbbE"(i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<usize>" | |
| %self = alloca %"num::Wrapping<usize>" | |
| %1 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| %2 = bitcast %"num::Wrapping<usize>"* %self to i64* | |
| store i64 %0, i64* %2, align 8 | |
| %3 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %sret_slot, i32 0, i32 0 | |
| %4 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %self, i32 0, i32 0 | |
| %5 = load i64, i64* %4, align 8 | |
| %6 = xor i64 %5, -1 | |
| store i64 %6, i64* %3, align 8 | |
| %7 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast %"num::Wrapping<usize>"* %sret_slot to i64* | |
| %9 = load i64, i64* %8, align 8 | |
| ret i64 %9 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping28Wrapping$LT$usize$GT$.BitXor6bitxor20h84bbe71272127282ccbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<usize>" | |
| %self = alloca %"num::Wrapping<usize>" | |
| %other = alloca %"num::Wrapping<usize>" | |
| %2 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<usize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<usize>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<usize>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %other, i32 0, i32 0 | |
| %9 = load i64, i64* %7, align 8 | |
| %10 = load i64, i64* %8, align 8 | |
| %11 = xor i64 %9, %10 | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<usize>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<usize>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping27Wrapping$LT$usize$GT$.BitOr5bitor20h470c347d2940e11fDcbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<usize>" | |
| %self = alloca %"num::Wrapping<usize>" | |
| %other = alloca %"num::Wrapping<usize>" | |
| %2 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<usize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<usize>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<usize>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %other, i32 0, i32 0 | |
| %9 = load i64, i64* %7, align 8 | |
| %10 = load i64, i64* %8, align 8 | |
| %11 = or i64 %9, %10 | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<usize>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<usize>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping28Wrapping$LT$usize$GT$.BitAnd6bitand20hd88cc205058eaf2a4cbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<usize>" | |
| %self = alloca %"num::Wrapping<usize>" | |
| %other = alloca %"num::Wrapping<usize>" | |
| %2 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<usize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<usize>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<usize>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<usize>", %"num::Wrapping<usize>"* %other, i32 0, i32 0 | |
| %9 = load i64, i64* %7, align 8 | |
| %10 = load i64, i64* %8, align 8 | |
| %11 = and i64 %9, %10 | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<usize>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<usize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<usize>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping22Wrapping$LT$u8$GT$.Add3add20hc5bf686140774b05vdbE"(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u8>" | |
| %self = alloca %"num::Wrapping<u8>" | |
| %other = alloca %"num::Wrapping<u8>" | |
| %2 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| store i8 %1, i8* %5, align 1 | |
| %6 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %self, i32 0, i32 0 | |
| %8 = load i8, i8* %7, align 1 | |
| %9 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %other, i32 0, i32 0 | |
| %10 = load i8, i8* %9, align 1 | |
| %11 = call i8 @_ZN3num2u812wrapping_add20hc8a32ac693713172ysgE(i8 %8, i8 %10) | |
| store i8 %11, i8* %6, align 1 | |
| %12 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i8 @_ZN3num2u812wrapping_add20hc8a32ac693713172ysgE(i8, i8) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = load i8, i8* %rhs, align 1 | |
| %4 = add i8 %2, %3 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| ret i8 %4 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping22Wrapping$LT$u8$GT$.Sub3sub20h395181ccc152f78cWdbE"(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u8>" | |
| %self = alloca %"num::Wrapping<u8>" | |
| %other = alloca %"num::Wrapping<u8>" | |
| %2 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| store i8 %1, i8* %5, align 1 | |
| %6 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %self, i32 0, i32 0 | |
| %8 = load i8, i8* %7, align 1 | |
| %9 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %other, i32 0, i32 0 | |
| %10 = load i8, i8* %9, align 1 | |
| %11 = call i8 @_ZN3num2u812wrapping_sub20h2545170fa5cfa26dOsgE(i8 %8, i8 %10) | |
| store i8 %11, i8* %6, align 1 | |
| %12 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i8 @_ZN3num2u812wrapping_sub20h2545170fa5cfa26dOsgE(i8, i8) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = load i8, i8* %rhs, align 1 | |
| %4 = sub i8 %2, %3 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| ret i8 %4 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping22Wrapping$LT$u8$GT$.Mul3mul20h09eac29c13904288nebE"(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u8>" | |
| %self = alloca %"num::Wrapping<u8>" | |
| %other = alloca %"num::Wrapping<u8>" | |
| %2 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| store i8 %1, i8* %5, align 1 | |
| %6 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %self, i32 0, i32 0 | |
| %8 = load i8, i8* %7, align 1 | |
| %9 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %other, i32 0, i32 0 | |
| %10 = load i8, i8* %9, align 1 | |
| %11 = call i8 @_ZN3num2u812wrapping_mul20h2a57a61fc02570524sgE(i8 %8, i8 %10) | |
| store i8 %11, i8* %6, align 1 | |
| %12 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i8 @_ZN3num2u812wrapping_mul20h2a57a61fc02570524sgE(i8, i8) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = load i8, i8* %rhs, align 1 | |
| %4 = mul i8 %2, %3 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| ret i8 %4 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping22Wrapping$LT$u8$GT$.Not3not20hc7f9d2d7d5697e37OebE"(i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u8>" | |
| %self = alloca %"num::Wrapping<u8>" | |
| %1 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %1) | |
| %2 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| store i8 %0, i8* %2, align 1 | |
| %3 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %sret_slot, i32 0, i32 0 | |
| %4 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %self, i32 0, i32 0 | |
| %5 = load i8, i8* %4, align 1 | |
| %6 = xor i8 %5, -1 | |
| store i8 %6, i8* %3, align 1 | |
| %7 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %7) | |
| %8 = bitcast %"num::Wrapping<u8>"* %sret_slot to i8* | |
| %9 = load i8, i8* %8, align 1 | |
| ret i8 %9 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping25Wrapping$LT$u8$GT$.BitXor6bitxor20h90b3479f0c2790c29ebE"(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u8>" | |
| %self = alloca %"num::Wrapping<u8>" | |
| %other = alloca %"num::Wrapping<u8>" | |
| %2 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| store i8 %1, i8* %5, align 1 | |
| %6 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %other, i32 0, i32 0 | |
| %9 = load i8, i8* %7, align 1 | |
| %10 = load i8, i8* %8, align 1 | |
| %11 = xor i8 %9, %10 | |
| store i8 %11, i8* %6, align 1 | |
| %12 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping24Wrapping$LT$u8$GT$.BitOr5bitor20h8a20d033dc9bbd12AfbE"(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u8>" | |
| %self = alloca %"num::Wrapping<u8>" | |
| %other = alloca %"num::Wrapping<u8>" | |
| %2 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| store i8 %1, i8* %5, align 1 | |
| %6 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %other, i32 0, i32 0 | |
| %9 = load i8, i8* %7, align 1 | |
| %10 = load i8, i8* %8, align 1 | |
| %11 = or i8 %9, %10 | |
| store i8 %11, i8* %6, align 1 | |
| %12 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping25Wrapping$LT$u8$GT$.BitAnd6bitand20h3c0ab9c965d6759d1fbE"(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u8>" | |
| %self = alloca %"num::Wrapping<u8>" | |
| %other = alloca %"num::Wrapping<u8>" | |
| %2 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| store i8 %1, i8* %5, align 1 | |
| %6 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<u8>", %"num::Wrapping<u8>"* %other, i32 0, i32 0 | |
| %9 = load i8, i8* %7, align 1 | |
| %10 = load i8, i8* %8, align 1 | |
| %11 = and i8 %9, %10 | |
| store i8 %11, i8* %6, align 1 | |
| %12 = bitcast %"num::Wrapping<u8>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping23Wrapping$LT$u16$GT$.Add3add20h6ac490f919914468sgbE"(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u16>" | |
| %self = alloca %"num::Wrapping<u16>" | |
| %other = alloca %"num::Wrapping<u16>" | |
| %2 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast %"num::Wrapping<u16>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u16>"* %other to i16* | |
| store i16 %1, i16* %5, align 2 | |
| %6 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %self, i32 0, i32 0 | |
| %8 = load i16, i16* %7, align 2 | |
| %9 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %other, i32 0, i32 0 | |
| %10 = load i16, i16* %9, align 2 | |
| %11 = call i16 @_ZN3num3u1612wrapping_add20h54caf0e7cdda9b7bbEgE(i16 %8, i16 %10) | |
| store i16 %11, i16* %6, align 2 | |
| %12 = bitcast %"num::Wrapping<u16>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i16 @_ZN3num3u1612wrapping_add20h54caf0e7cdda9b7bbEgE(i16, i16) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = load i16, i16* %rhs, align 2 | |
| %6 = add i16 %4, %5 | |
| %7 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %7) | |
| %8 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %8) | |
| ret i16 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping23Wrapping$LT$u16$GT$.Sub3sub20h345a77428c6da3b1TgbE"(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u16>" | |
| %self = alloca %"num::Wrapping<u16>" | |
| %other = alloca %"num::Wrapping<u16>" | |
| %2 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast %"num::Wrapping<u16>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u16>"* %other to i16* | |
| store i16 %1, i16* %5, align 2 | |
| %6 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %self, i32 0, i32 0 | |
| %8 = load i16, i16* %7, align 2 | |
| %9 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %other, i32 0, i32 0 | |
| %10 = load i16, i16* %9, align 2 | |
| %11 = call i16 @_ZN3num3u1612wrapping_sub20hacb0852d192dfbf4rEgE(i16 %8, i16 %10) | |
| store i16 %11, i16* %6, align 2 | |
| %12 = bitcast %"num::Wrapping<u16>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i16 @_ZN3num3u1612wrapping_sub20hacb0852d192dfbf4rEgE(i16, i16) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = load i16, i16* %rhs, align 2 | |
| %6 = sub i16 %4, %5 | |
| %7 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %7) | |
| %8 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %8) | |
| ret i16 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping23Wrapping$LT$u16$GT$.Mul3mul20ha19313a4fd4e77a7khbE"(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u16>" | |
| %self = alloca %"num::Wrapping<u16>" | |
| %other = alloca %"num::Wrapping<u16>" | |
| %2 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast %"num::Wrapping<u16>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u16>"* %other to i16* | |
| store i16 %1, i16* %5, align 2 | |
| %6 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %self, i32 0, i32 0 | |
| %8 = load i16, i16* %7, align 2 | |
| %9 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %other, i32 0, i32 0 | |
| %10 = load i16, i16* %9, align 2 | |
| %11 = call i16 @_ZN3num3u1612wrapping_mul20hb7b1004e799a4d74HEgE(i16 %8, i16 %10) | |
| store i16 %11, i16* %6, align 2 | |
| %12 = bitcast %"num::Wrapping<u16>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i16 @_ZN3num3u1612wrapping_mul20hb7b1004e799a4d74HEgE(i16, i16) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = load i16, i16* %rhs, align 2 | |
| %6 = mul i16 %4, %5 | |
| %7 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %7) | |
| %8 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %8) | |
| ret i16 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping23Wrapping$LT$u16$GT$.Not3not20heba1a0e444ccc4bbLhbE"(i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u16>" | |
| %self = alloca %"num::Wrapping<u16>" | |
| %1 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %1) | |
| %2 = bitcast %"num::Wrapping<u16>"* %self to i16* | |
| store i16 %0, i16* %2, align 2 | |
| %3 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %sret_slot, i32 0, i32 0 | |
| %4 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %self, i32 0, i32 0 | |
| %5 = load i16, i16* %4, align 2 | |
| %6 = xor i16 %5, -1 | |
| store i16 %6, i16* %3, align 2 | |
| %7 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %7) | |
| %8 = bitcast %"num::Wrapping<u16>"* %sret_slot to i16* | |
| %9 = load i16, i16* %8, align 2 | |
| ret i16 %9 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping26Wrapping$LT$u16$GT$.BitXor6bitxor20h008cc82624f08a4d6hbE"(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u16>" | |
| %self = alloca %"num::Wrapping<u16>" | |
| %other = alloca %"num::Wrapping<u16>" | |
| %2 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast %"num::Wrapping<u16>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u16>"* %other to i16* | |
| store i16 %1, i16* %5, align 2 | |
| %6 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %other, i32 0, i32 0 | |
| %9 = load i16, i16* %7, align 2 | |
| %10 = load i16, i16* %8, align 2 | |
| %11 = xor i16 %9, %10 | |
| store i16 %11, i16* %6, align 2 | |
| %12 = bitcast %"num::Wrapping<u16>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping25Wrapping$LT$u16$GT$.BitOr5bitor20h90f5649e2b099697xibE"(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u16>" | |
| %self = alloca %"num::Wrapping<u16>" | |
| %other = alloca %"num::Wrapping<u16>" | |
| %2 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast %"num::Wrapping<u16>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u16>"* %other to i16* | |
| store i16 %1, i16* %5, align 2 | |
| %6 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %other, i32 0, i32 0 | |
| %9 = load i16, i16* %7, align 2 | |
| %10 = load i16, i16* %8, align 2 | |
| %11 = or i16 %9, %10 | |
| store i16 %11, i16* %6, align 2 | |
| %12 = bitcast %"num::Wrapping<u16>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping26Wrapping$LT$u16$GT$.BitAnd6bitand20h7e0fc9c8b7e8f1ceYibE"(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u16>" | |
| %self = alloca %"num::Wrapping<u16>" | |
| %other = alloca %"num::Wrapping<u16>" | |
| %2 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast %"num::Wrapping<u16>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u16>"* %other to i16* | |
| store i16 %1, i16* %5, align 2 | |
| %6 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<u16>", %"num::Wrapping<u16>"* %other, i32 0, i32 0 | |
| %9 = load i16, i16* %7, align 2 | |
| %10 = load i16, i16* %8, align 2 | |
| %11 = and i16 %9, %10 | |
| store i16 %11, i16* %6, align 2 | |
| %12 = bitcast %"num::Wrapping<u16>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping23Wrapping$LT$u32$GT$.Add3add20h3722a265a93beddfpjbE"(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u32>" | |
| %self = alloca %"num::Wrapping<u32>" | |
| %other = alloca %"num::Wrapping<u32>" | |
| %2 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast %"num::Wrapping<u32>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u32>"* %other to i32* | |
| store i32 %1, i32* %5, align 4 | |
| %6 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %self, i32 0, i32 0 | |
| %8 = load i32, i32* %7, align 4 | |
| %9 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %other, i32 0, i32 0 | |
| %10 = load i32, i32* %9, align 4 | |
| %11 = call i32 @_ZN3num3u3212wrapping_add20h39718c532b7e77c7OPgE(i32 %8, i32 %10) | |
| store i32 %11, i32* %6, align 4 | |
| %12 = bitcast %"num::Wrapping<u32>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i32 @_ZN3num3u3212wrapping_add20h39718c532b7e77c7OPgE(i32, i32) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = add i32 %4, %5 | |
| %7 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %8) | |
| ret i32 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping23Wrapping$LT$u32$GT$.Sub3sub20h4d60290545701494QjbE"(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u32>" | |
| %self = alloca %"num::Wrapping<u32>" | |
| %other = alloca %"num::Wrapping<u32>" | |
| %2 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast %"num::Wrapping<u32>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u32>"* %other to i32* | |
| store i32 %1, i32* %5, align 4 | |
| %6 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %self, i32 0, i32 0 | |
| %8 = load i32, i32* %7, align 4 | |
| %9 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %other, i32 0, i32 0 | |
| %10 = load i32, i32* %9, align 4 | |
| %11 = call i32 @_ZN3num3u3212wrapping_sub20h882c8c0558af65ac4PgE(i32 %8, i32 %10) | |
| store i32 %11, i32* %6, align 4 | |
| %12 = bitcast %"num::Wrapping<u32>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i32 @_ZN3num3u3212wrapping_sub20h882c8c0558af65ac4PgE(i32, i32) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = sub i32 %4, %5 | |
| %7 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %8) | |
| ret i32 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping23Wrapping$LT$u32$GT$.Mul3mul20h099df974307af8dahkbE"(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u32>" | |
| %self = alloca %"num::Wrapping<u32>" | |
| %other = alloca %"num::Wrapping<u32>" | |
| %2 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast %"num::Wrapping<u32>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u32>"* %other to i32* | |
| store i32 %1, i32* %5, align 4 | |
| %6 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %self, i32 0, i32 0 | |
| %8 = load i32, i32* %7, align 4 | |
| %9 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %other, i32 0, i32 0 | |
| %10 = load i32, i32* %9, align 4 | |
| %11 = call i32 @_ZN3num3u3212wrapping_mul20hd46451d697eebbabkQgE(i32 %8, i32 %10) | |
| store i32 %11, i32* %6, align 4 | |
| %12 = bitcast %"num::Wrapping<u32>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i32 @_ZN3num3u3212wrapping_mul20hd46451d697eebbabkQgE(i32, i32) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = mul i32 %4, %5 | |
| %7 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %8) | |
| ret i32 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping23Wrapping$LT$u32$GT$.Not3not20h97e42d070d85b7c2IkbE"(i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u32>" | |
| %self = alloca %"num::Wrapping<u32>" | |
| %1 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| %2 = bitcast %"num::Wrapping<u32>"* %self to i32* | |
| store i32 %0, i32* %2, align 4 | |
| %3 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %sret_slot, i32 0, i32 0 | |
| %4 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %self, i32 0, i32 0 | |
| %5 = load i32, i32* %4, align 4 | |
| %6 = xor i32 %5, -1 | |
| store i32 %6, i32* %3, align 4 | |
| %7 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast %"num::Wrapping<u32>"* %sret_slot to i32* | |
| %9 = load i32, i32* %8, align 4 | |
| ret i32 %9 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping26Wrapping$LT$u32$GT$.BitXor6bitxor20hcb1ed8169a4a2e9a3kbE"(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u32>" | |
| %self = alloca %"num::Wrapping<u32>" | |
| %other = alloca %"num::Wrapping<u32>" | |
| %2 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast %"num::Wrapping<u32>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u32>"* %other to i32* | |
| store i32 %1, i32* %5, align 4 | |
| %6 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %other, i32 0, i32 0 | |
| %9 = load i32, i32* %7, align 4 | |
| %10 = load i32, i32* %8, align 4 | |
| %11 = xor i32 %9, %10 | |
| store i32 %11, i32* %6, align 4 | |
| %12 = bitcast %"num::Wrapping<u32>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping25Wrapping$LT$u32$GT$.BitOr5bitor20hda13ad90a55df1a1ulbE"(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u32>" | |
| %self = alloca %"num::Wrapping<u32>" | |
| %other = alloca %"num::Wrapping<u32>" | |
| %2 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast %"num::Wrapping<u32>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u32>"* %other to i32* | |
| store i32 %1, i32* %5, align 4 | |
| %6 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %other, i32 0, i32 0 | |
| %9 = load i32, i32* %7, align 4 | |
| %10 = load i32, i32* %8, align 4 | |
| %11 = or i32 %9, %10 | |
| store i32 %11, i32* %6, align 4 | |
| %12 = bitcast %"num::Wrapping<u32>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping26Wrapping$LT$u32$GT$.BitAnd6bitand20h3d22a441b9241b13VlbE"(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u32>" | |
| %self = alloca %"num::Wrapping<u32>" | |
| %other = alloca %"num::Wrapping<u32>" | |
| %2 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast %"num::Wrapping<u32>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u32>"* %other to i32* | |
| store i32 %1, i32* %5, align 4 | |
| %6 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<u32>", %"num::Wrapping<u32>"* %other, i32 0, i32 0 | |
| %9 = load i32, i32* %7, align 4 | |
| %10 = load i32, i32* %8, align 4 | |
| %11 = and i32 %9, %10 | |
| store i32 %11, i32* %6, align 4 | |
| %12 = bitcast %"num::Wrapping<u32>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping23Wrapping$LT$u64$GT$.Add3add20h77277bc53ea102f0mmbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u64>" | |
| %self = alloca %"num::Wrapping<u64>" | |
| %other = alloca %"num::Wrapping<u64>" | |
| %2 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<u64>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u64>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %self, i32 0, i32 0 | |
| %8 = load i64, i64* %7, align 8 | |
| %9 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %other, i32 0, i32 0 | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = call i64 @_ZN3num3u6412wrapping_add20h14585383ea5422dcr1gE(i64 %8, i64 %10) | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<u64>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u64>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN3num3u6412wrapping_add20h14585383ea5422dcr1gE(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %rhs, align 8 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = load i64, i64* %rhs, align 8 | |
| %6 = add i64 %4, %5 | |
| %7 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i64 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping23Wrapping$LT$u64$GT$.Sub3sub20h5f25cf74142de1b9NmbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u64>" | |
| %self = alloca %"num::Wrapping<u64>" | |
| %other = alloca %"num::Wrapping<u64>" | |
| %2 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<u64>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u64>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %self, i32 0, i32 0 | |
| %8 = load i64, i64* %7, align 8 | |
| %9 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %other, i32 0, i32 0 | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = call i64 @_ZN3num3u6412wrapping_sub20h5498c333f194f6b1H1gE(i64 %8, i64 %10) | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<u64>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u64>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN3num3u6412wrapping_sub20h5498c333f194f6b1H1gE(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %rhs, align 8 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = load i64, i64* %rhs, align 8 | |
| %6 = sub i64 %4, %5 | |
| %7 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i64 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping23Wrapping$LT$u64$GT$.Mul3mul20hfda0e14f23bc18b5enbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u64>" | |
| %self = alloca %"num::Wrapping<u64>" | |
| %other = alloca %"num::Wrapping<u64>" | |
| %2 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<u64>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u64>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %self, i32 0, i32 0 | |
| %8 = load i64, i64* %7, align 8 | |
| %9 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %other, i32 0, i32 0 | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = call i64 @_ZN3num3u6412wrapping_mul20hc6ace60754d0fb10X1gE(i64 %8, i64 %10) | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<u64>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u64>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN3num3u6412wrapping_mul20hc6ace60754d0fb10X1gE(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %rhs, align 8 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = load i64, i64* %rhs, align 8 | |
| %6 = mul i64 %4, %5 | |
| %7 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i64 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping23Wrapping$LT$u64$GT$.Not3not20h0c75c43a41f3a6baFnbE"(i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u64>" | |
| %self = alloca %"num::Wrapping<u64>" | |
| %1 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| %2 = bitcast %"num::Wrapping<u64>"* %self to i64* | |
| store i64 %0, i64* %2, align 8 | |
| %3 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %sret_slot, i32 0, i32 0 | |
| %4 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %self, i32 0, i32 0 | |
| %5 = load i64, i64* %4, align 8 | |
| %6 = xor i64 %5, -1 | |
| store i64 %6, i64* %3, align 8 | |
| %7 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast %"num::Wrapping<u64>"* %sret_slot to i64* | |
| %9 = load i64, i64* %8, align 8 | |
| ret i64 %9 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping26Wrapping$LT$u64$GT$.BitXor6bitxor20h025922fdb3ec6c450nbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u64>" | |
| %self = alloca %"num::Wrapping<u64>" | |
| %other = alloca %"num::Wrapping<u64>" | |
| %2 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<u64>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u64>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %other, i32 0, i32 0 | |
| %9 = load i64, i64* %7, align 8 | |
| %10 = load i64, i64* %8, align 8 | |
| %11 = xor i64 %9, %10 | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<u64>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u64>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping25Wrapping$LT$u64$GT$.BitOr5bitor20h30937a48b9105731robE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u64>" | |
| %self = alloca %"num::Wrapping<u64>" | |
| %other = alloca %"num::Wrapping<u64>" | |
| %2 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<u64>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u64>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %other, i32 0, i32 0 | |
| %9 = load i64, i64* %7, align 8 | |
| %10 = load i64, i64* %8, align 8 | |
| %11 = or i64 %9, %10 | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<u64>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u64>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping26Wrapping$LT$u64$GT$.BitAnd6bitand20h5d03a1758618717aSobE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<u64>" | |
| %self = alloca %"num::Wrapping<u64>" | |
| %other = alloca %"num::Wrapping<u64>" | |
| %2 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<u64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<u64>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<u64>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<u64>", %"num::Wrapping<u64>"* %other, i32 0, i32 0 | |
| %9 = load i64, i64* %7, align 8 | |
| %10 = load i64, i64* %8, align 8 | |
| %11 = and i64 %9, %10 | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<u64>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<u64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<u64>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping25Wrapping$LT$isize$GT$.Add3add20h09065d3a004b1920jpbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<isize>" | |
| %self = alloca %"num::Wrapping<isize>" | |
| %other = alloca %"num::Wrapping<isize>" | |
| %2 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<isize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<isize>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<isize>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %self, i32 0, i32 0 | |
| %8 = load i64, i64* %7, align 8 | |
| %9 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %other, i32 0, i32 0 | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = call i64 @_ZN3num5isize12wrapping_add20h2b7134a854dddd6bmhgE(i64 %8, i64 %10) | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<isize>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<isize>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN3num5isize12wrapping_add20h2b7134a854dddd6bmhgE(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %rhs, align 8 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = load i64, i64* %rhs, align 8 | |
| %6 = add i64 %4, %5 | |
| %7 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i64 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping25Wrapping$LT$isize$GT$.Sub3sub20hd914fc0c58f885f8KpbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<isize>" | |
| %self = alloca %"num::Wrapping<isize>" | |
| %other = alloca %"num::Wrapping<isize>" | |
| %2 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<isize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<isize>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<isize>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %self, i32 0, i32 0 | |
| %8 = load i64, i64* %7, align 8 | |
| %9 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %other, i32 0, i32 0 | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = call i64 @_ZN3num5isize12wrapping_sub20h49f83e45632bbaaeChgE(i64 %8, i64 %10) | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<isize>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<isize>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN3num5isize12wrapping_sub20h49f83e45632bbaaeChgE(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %rhs, align 8 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = load i64, i64* %rhs, align 8 | |
| %6 = sub i64 %4, %5 | |
| %7 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i64 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping25Wrapping$LT$isize$GT$.Mul3mul20h61e4f962db0389b2bqbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<isize>" | |
| %self = alloca %"num::Wrapping<isize>" | |
| %other = alloca %"num::Wrapping<isize>" | |
| %2 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<isize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<isize>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<isize>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %self, i32 0, i32 0 | |
| %8 = load i64, i64* %7, align 8 | |
| %9 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %other, i32 0, i32 0 | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = call i64 @_ZN3num5isize12wrapping_mul20hb5ed05b02e6a870fShgE(i64 %8, i64 %10) | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<isize>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<isize>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN3num5isize12wrapping_mul20hb5ed05b02e6a870fShgE(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %rhs, align 8 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = load i64, i64* %rhs, align 8 | |
| %6 = mul i64 %4, %5 | |
| %7 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i64 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping25Wrapping$LT$isize$GT$.Not3not20hd352b63d443e21ceCqbE"(i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<isize>" | |
| %self = alloca %"num::Wrapping<isize>" | |
| %1 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| %2 = bitcast %"num::Wrapping<isize>"* %self to i64* | |
| store i64 %0, i64* %2, align 8 | |
| %3 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %sret_slot, i32 0, i32 0 | |
| %4 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %self, i32 0, i32 0 | |
| %5 = load i64, i64* %4, align 8 | |
| %6 = xor i64 %5, -1 | |
| store i64 %6, i64* %3, align 8 | |
| %7 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast %"num::Wrapping<isize>"* %sret_slot to i64* | |
| %9 = load i64, i64* %8, align 8 | |
| ret i64 %9 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping28Wrapping$LT$isize$GT$.BitXor6bitxor20h100cfbcf773ddf3cXqbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<isize>" | |
| %self = alloca %"num::Wrapping<isize>" | |
| %other = alloca %"num::Wrapping<isize>" | |
| %2 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<isize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<isize>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<isize>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %other, i32 0, i32 0 | |
| %9 = load i64, i64* %7, align 8 | |
| %10 = load i64, i64* %8, align 8 | |
| %11 = xor i64 %9, %10 | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<isize>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<isize>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping27Wrapping$LT$isize$GT$.BitOr5bitor20h392899cd8aa9017dorbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<isize>" | |
| %self = alloca %"num::Wrapping<isize>" | |
| %other = alloca %"num::Wrapping<isize>" | |
| %2 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<isize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<isize>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<isize>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %other, i32 0, i32 0 | |
| %9 = load i64, i64* %7, align 8 | |
| %10 = load i64, i64* %8, align 8 | |
| %11 = or i64 %9, %10 | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<isize>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<isize>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping28Wrapping$LT$isize$GT$.BitAnd6bitand20h77af85d93959be1dPrbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<isize>" | |
| %self = alloca %"num::Wrapping<isize>" | |
| %other = alloca %"num::Wrapping<isize>" | |
| %2 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<isize>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<isize>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<isize>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<isize>", %"num::Wrapping<isize>"* %other, i32 0, i32 0 | |
| %9 = load i64, i64* %7, align 8 | |
| %10 = load i64, i64* %8, align 8 | |
| %11 = and i64 %9, %10 | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<isize>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<isize>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<isize>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping22Wrapping$LT$i8$GT$.Add3add20h3c1ffddf640fbed4gsbE"(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i8>" | |
| %self = alloca %"num::Wrapping<i8>" | |
| %other = alloca %"num::Wrapping<i8>" | |
| %2 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| store i8 %1, i8* %5, align 1 | |
| %6 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %self, i32 0, i32 0 | |
| %8 = load i8, i8* %7, align 1 | |
| %9 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %other, i32 0, i32 0 | |
| %10 = load i8, i8* %9, align 1 | |
| %11 = call i8 @_ZN3num2i812wrapping_add20ha27f5712e06491c8MAfE(i8 %8, i8 %10) | |
| store i8 %11, i8* %6, align 1 | |
| %12 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i8 @_ZN3num2i812wrapping_add20ha27f5712e06491c8MAfE(i8, i8) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = load i8, i8* %rhs, align 1 | |
| %4 = add i8 %2, %3 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| ret i8 %4 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping22Wrapping$LT$i8$GT$.Sub3sub20h472ed05a53a51ba7HsbE"(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i8>" | |
| %self = alloca %"num::Wrapping<i8>" | |
| %other = alloca %"num::Wrapping<i8>" | |
| %2 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| store i8 %1, i8* %5, align 1 | |
| %6 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %self, i32 0, i32 0 | |
| %8 = load i8, i8* %7, align 1 | |
| %9 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %other, i32 0, i32 0 | |
| %10 = load i8, i8* %9, align 1 | |
| %11 = call i8 @_ZN3num2i812wrapping_sub20h51de74257669001c2AfE(i8 %8, i8 %10) | |
| store i8 %11, i8* %6, align 1 | |
| %12 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i8 @_ZN3num2i812wrapping_sub20h51de74257669001c2AfE(i8, i8) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = load i8, i8* %rhs, align 1 | |
| %4 = sub i8 %2, %3 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| ret i8 %4 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping22Wrapping$LT$i8$GT$.Mul3mul20hce438926dc23645d8sbE"(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i8>" | |
| %self = alloca %"num::Wrapping<i8>" | |
| %other = alloca %"num::Wrapping<i8>" | |
| %2 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| store i8 %1, i8* %5, align 1 | |
| %6 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %self, i32 0, i32 0 | |
| %8 = load i8, i8* %7, align 1 | |
| %9 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %other, i32 0, i32 0 | |
| %10 = load i8, i8* %9, align 1 | |
| %11 = call i8 @_ZN3num2i812wrapping_mul20hbd67f7cc84343087iBfE(i8 %8, i8 %10) | |
| store i8 %11, i8* %6, align 1 | |
| %12 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i8 @_ZN3num2i812wrapping_mul20hbd67f7cc84343087iBfE(i8, i8) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = load i8, i8* %rhs, align 1 | |
| %4 = mul i8 %2, %3 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| ret i8 %4 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping22Wrapping$LT$i8$GT$.Not3not20hb4fe405a8b8c87d6ztbE"(i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i8>" | |
| %self = alloca %"num::Wrapping<i8>" | |
| %1 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %1) | |
| %2 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| store i8 %0, i8* %2, align 1 | |
| %3 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %sret_slot, i32 0, i32 0 | |
| %4 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %self, i32 0, i32 0 | |
| %5 = load i8, i8* %4, align 1 | |
| %6 = xor i8 %5, -1 | |
| store i8 %6, i8* %3, align 1 | |
| %7 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %7) | |
| %8 = bitcast %"num::Wrapping<i8>"* %sret_slot to i8* | |
| %9 = load i8, i8* %8, align 1 | |
| ret i8 %9 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping25Wrapping$LT$i8$GT$.BitXor6bitxor20hf364d461ca8a5478UtbE"(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i8>" | |
| %self = alloca %"num::Wrapping<i8>" | |
| %other = alloca %"num::Wrapping<i8>" | |
| %2 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| store i8 %1, i8* %5, align 1 | |
| %6 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %other, i32 0, i32 0 | |
| %9 = load i8, i8* %7, align 1 | |
| %10 = load i8, i8* %8, align 1 | |
| %11 = xor i8 %9, %10 | |
| store i8 %11, i8* %6, align 1 | |
| %12 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping24Wrapping$LT$i8$GT$.BitOr5bitor20h8c00858826e0af3flubE"(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i8>" | |
| %self = alloca %"num::Wrapping<i8>" | |
| %other = alloca %"num::Wrapping<i8>" | |
| %2 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| store i8 %1, i8* %5, align 1 | |
| %6 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %other, i32 0, i32 0 | |
| %9 = load i8, i8* %7, align 1 | |
| %10 = load i8, i8* %8, align 1 | |
| %11 = or i8 %9, %10 | |
| store i8 %11, i8* %6, align 1 | |
| %12 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i8 @"_ZN3num8wrapping25Wrapping$LT$i8$GT$.BitAnd6bitand20hab06f6f2d349e7e0MubE"(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i8>" | |
| %self = alloca %"num::Wrapping<i8>" | |
| %other = alloca %"num::Wrapping<i8>" | |
| %2 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| store i8 %0, i8* %3, align 1 | |
| %4 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| store i8 %1, i8* %5, align 1 | |
| %6 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<i8>", %"num::Wrapping<i8>"* %other, i32 0, i32 0 | |
| %9 = load i8, i8* %7, align 1 | |
| %10 = load i8, i8* %8, align 1 | |
| %11 = and i8 %9, %10 | |
| store i8 %11, i8* %6, align 1 | |
| %12 = bitcast %"num::Wrapping<i8>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i8>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 1, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i8>"* %sret_slot to i8* | |
| %15 = load i8, i8* %14, align 1 | |
| ret i8 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping23Wrapping$LT$i16$GT$.Add3add20h9b2daf5f40381cb5dvbE"(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i16>" | |
| %self = alloca %"num::Wrapping<i16>" | |
| %other = alloca %"num::Wrapping<i16>" | |
| %2 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast %"num::Wrapping<i16>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i16>"* %other to i16* | |
| store i16 %1, i16* %5, align 2 | |
| %6 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %self, i32 0, i32 0 | |
| %8 = load i16, i16* %7, align 2 | |
| %9 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %other, i32 0, i32 0 | |
| %10 = load i16, i16* %9, align 2 | |
| %11 = call i16 @_ZN3num3i1612wrapping_add20h7ce5dd23fe50704bqLfE(i16 %8, i16 %10) | |
| store i16 %11, i16* %6, align 2 | |
| %12 = bitcast %"num::Wrapping<i16>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i16 @_ZN3num3i1612wrapping_add20h7ce5dd23fe50704bqLfE(i16, i16) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = load i16, i16* %rhs, align 2 | |
| %6 = add i16 %4, %5 | |
| %7 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %7) | |
| %8 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %8) | |
| ret i16 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping23Wrapping$LT$i16$GT$.Sub3sub20h91cf597c1007c623EvbE"(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i16>" | |
| %self = alloca %"num::Wrapping<i16>" | |
| %other = alloca %"num::Wrapping<i16>" | |
| %2 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast %"num::Wrapping<i16>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i16>"* %other to i16* | |
| store i16 %1, i16* %5, align 2 | |
| %6 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %self, i32 0, i32 0 | |
| %8 = load i16, i16* %7, align 2 | |
| %9 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %other, i32 0, i32 0 | |
| %10 = load i16, i16* %9, align 2 | |
| %11 = call i16 @_ZN3num3i1612wrapping_sub20hc21a8e9d756f104bGLfE(i16 %8, i16 %10) | |
| store i16 %11, i16* %6, align 2 | |
| %12 = bitcast %"num::Wrapping<i16>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i16 @_ZN3num3i1612wrapping_sub20hc21a8e9d756f104bGLfE(i16, i16) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = load i16, i16* %rhs, align 2 | |
| %6 = sub i16 %4, %5 | |
| %7 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %7) | |
| %8 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %8) | |
| ret i16 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping23Wrapping$LT$i16$GT$.Mul3mul20h44e14b70bf77b09e5vbE"(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i16>" | |
| %self = alloca %"num::Wrapping<i16>" | |
| %other = alloca %"num::Wrapping<i16>" | |
| %2 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast %"num::Wrapping<i16>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i16>"* %other to i16* | |
| store i16 %1, i16* %5, align 2 | |
| %6 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %self, i32 0, i32 0 | |
| %8 = load i16, i16* %7, align 2 | |
| %9 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %other, i32 0, i32 0 | |
| %10 = load i16, i16* %9, align 2 | |
| %11 = call i16 @_ZN3num3i1612wrapping_mul20h939f896eeb8d530cWLfE(i16 %8, i16 %10) | |
| store i16 %11, i16* %6, align 2 | |
| %12 = bitcast %"num::Wrapping<i16>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i16 @_ZN3num3i1612wrapping_mul20h939f896eeb8d530cWLfE(i16, i16) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = load i16, i16* %rhs, align 2 | |
| %6 = mul i16 %4, %5 | |
| %7 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %7) | |
| %8 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %8) | |
| ret i16 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping23Wrapping$LT$i16$GT$.Not3not20hc503df88631c3cf7wwbE"(i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i16>" | |
| %self = alloca %"num::Wrapping<i16>" | |
| %1 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %1) | |
| %2 = bitcast %"num::Wrapping<i16>"* %self to i16* | |
| store i16 %0, i16* %2, align 2 | |
| %3 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %sret_slot, i32 0, i32 0 | |
| %4 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %self, i32 0, i32 0 | |
| %5 = load i16, i16* %4, align 2 | |
| %6 = xor i16 %5, -1 | |
| store i16 %6, i16* %3, align 2 | |
| %7 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %7) | |
| %8 = bitcast %"num::Wrapping<i16>"* %sret_slot to i16* | |
| %9 = load i16, i16* %8, align 2 | |
| ret i16 %9 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping26Wrapping$LT$i16$GT$.BitXor6bitxor20h58f39a9c6838ae31RwbE"(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i16>" | |
| %self = alloca %"num::Wrapping<i16>" | |
| %other = alloca %"num::Wrapping<i16>" | |
| %2 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast %"num::Wrapping<i16>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i16>"* %other to i16* | |
| store i16 %1, i16* %5, align 2 | |
| %6 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %other, i32 0, i32 0 | |
| %9 = load i16, i16* %7, align 2 | |
| %10 = load i16, i16* %8, align 2 | |
| %11 = xor i16 %9, %10 | |
| store i16 %11, i16* %6, align 2 | |
| %12 = bitcast %"num::Wrapping<i16>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping25Wrapping$LT$i16$GT$.BitOr5bitor20hd32b4b0d758a80cfixbE"(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i16>" | |
| %self = alloca %"num::Wrapping<i16>" | |
| %other = alloca %"num::Wrapping<i16>" | |
| %2 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast %"num::Wrapping<i16>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i16>"* %other to i16* | |
| store i16 %1, i16* %5, align 2 | |
| %6 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %other, i32 0, i32 0 | |
| %9 = load i16, i16* %7, align 2 | |
| %10 = load i16, i16* %8, align 2 | |
| %11 = or i16 %9, %10 | |
| store i16 %11, i16* %6, align 2 | |
| %12 = bitcast %"num::Wrapping<i16>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @"_ZN3num8wrapping26Wrapping$LT$i16$GT$.BitAnd6bitand20hff53c717530cf5dbJxbE"(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i16>" | |
| %self = alloca %"num::Wrapping<i16>" | |
| %other = alloca %"num::Wrapping<i16>" | |
| %2 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i16>"* %self to i16* | |
| store i16 %0, i16* %3, align 2 | |
| %4 = bitcast %"num::Wrapping<i16>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i16>"* %other to i16* | |
| store i16 %1, i16* %5, align 2 | |
| %6 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<i16>", %"num::Wrapping<i16>"* %other, i32 0, i32 0 | |
| %9 = load i16, i16* %7, align 2 | |
| %10 = load i16, i16* %8, align 2 | |
| %11 = and i16 %9, %10 | |
| store i16 %11, i16* %6, align 2 | |
| %12 = bitcast %"num::Wrapping<i16>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i16>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i16>"* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 2 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping23Wrapping$LT$i32$GT$.Add3add20ha967777bba4981dfaybE"(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i32>" | |
| %self = alloca %"num::Wrapping<i32>" | |
| %other = alloca %"num::Wrapping<i32>" | |
| %2 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast %"num::Wrapping<i32>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i32>"* %other to i32* | |
| store i32 %1, i32* %5, align 4 | |
| %6 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %self, i32 0, i32 0 | |
| %8 = load i32, i32* %7, align 4 | |
| %9 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %other, i32 0, i32 0 | |
| %10 = load i32, i32* %9, align 4 | |
| %11 = call i32 @_ZN3num3i3212wrapping_add20h5bc37dbb6f4cb18d4VfE(i32 %8, i32 %10) | |
| store i32 %11, i32* %6, align 4 | |
| %12 = bitcast %"num::Wrapping<i32>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i32 @_ZN3num3i3212wrapping_add20h5bc37dbb6f4cb18d4VfE(i32, i32) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = add i32 %4, %5 | |
| %7 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %8) | |
| ret i32 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping23Wrapping$LT$i32$GT$.Sub3sub20h7a48794abd0a4dcaBybE"(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i32>" | |
| %self = alloca %"num::Wrapping<i32>" | |
| %other = alloca %"num::Wrapping<i32>" | |
| %2 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast %"num::Wrapping<i32>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i32>"* %other to i32* | |
| store i32 %1, i32* %5, align 4 | |
| %6 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %self, i32 0, i32 0 | |
| %8 = load i32, i32* %7, align 4 | |
| %9 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %other, i32 0, i32 0 | |
| %10 = load i32, i32* %9, align 4 | |
| %11 = call i32 @_ZN3num3i3212wrapping_sub20h930a2756f3e93c67kWfE(i32 %8, i32 %10) | |
| store i32 %11, i32* %6, align 4 | |
| %12 = bitcast %"num::Wrapping<i32>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i32 @_ZN3num3i3212wrapping_sub20h930a2756f3e93c67kWfE(i32, i32) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = sub i32 %4, %5 | |
| %7 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %8) | |
| ret i32 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping23Wrapping$LT$i32$GT$.Mul3mul20h4b756def7434b0b82ybE"(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i32>" | |
| %self = alloca %"num::Wrapping<i32>" | |
| %other = alloca %"num::Wrapping<i32>" | |
| %2 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast %"num::Wrapping<i32>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i32>"* %other to i32* | |
| store i32 %1, i32* %5, align 4 | |
| %6 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %self, i32 0, i32 0 | |
| %8 = load i32, i32* %7, align 4 | |
| %9 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %other, i32 0, i32 0 | |
| %10 = load i32, i32* %9, align 4 | |
| %11 = call i32 @_ZN3num3i3212wrapping_mul20h6369fd0bdea30f6fAWfE(i32 %8, i32 %10) | |
| store i32 %11, i32* %6, align 4 | |
| %12 = bitcast %"num::Wrapping<i32>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i32 @_ZN3num3i3212wrapping_mul20h6369fd0bdea30f6fAWfE(i32, i32) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = mul i32 %4, %5 | |
| %7 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %8) | |
| ret i32 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping23Wrapping$LT$i32$GT$.Not3not20h8e6c51ac31d62052tzbE"(i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i32>" | |
| %self = alloca %"num::Wrapping<i32>" | |
| %1 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| %2 = bitcast %"num::Wrapping<i32>"* %self to i32* | |
| store i32 %0, i32* %2, align 4 | |
| %3 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %sret_slot, i32 0, i32 0 | |
| %4 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %self, i32 0, i32 0 | |
| %5 = load i32, i32* %4, align 4 | |
| %6 = xor i32 %5, -1 | |
| store i32 %6, i32* %3, align 4 | |
| %7 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast %"num::Wrapping<i32>"* %sret_slot to i32* | |
| %9 = load i32, i32* %8, align 4 | |
| ret i32 %9 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping26Wrapping$LT$i32$GT$.BitXor6bitxor20h0245dde3f35d2de7OzbE"(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i32>" | |
| %self = alloca %"num::Wrapping<i32>" | |
| %other = alloca %"num::Wrapping<i32>" | |
| %2 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast %"num::Wrapping<i32>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i32>"* %other to i32* | |
| store i32 %1, i32* %5, align 4 | |
| %6 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %other, i32 0, i32 0 | |
| %9 = load i32, i32* %7, align 4 | |
| %10 = load i32, i32* %8, align 4 | |
| %11 = xor i32 %9, %10 | |
| store i32 %11, i32* %6, align 4 | |
| %12 = bitcast %"num::Wrapping<i32>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping25Wrapping$LT$i32$GT$.BitOr5bitor20h5c4b80051aca0181fAbE"(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i32>" | |
| %self = alloca %"num::Wrapping<i32>" | |
| %other = alloca %"num::Wrapping<i32>" | |
| %2 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast %"num::Wrapping<i32>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i32>"* %other to i32* | |
| store i32 %1, i32* %5, align 4 | |
| %6 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %other, i32 0, i32 0 | |
| %9 = load i32, i32* %7, align 4 | |
| %10 = load i32, i32* %8, align 4 | |
| %11 = or i32 %9, %10 | |
| store i32 %11, i32* %6, align 4 | |
| %12 = bitcast %"num::Wrapping<i32>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @"_ZN3num8wrapping26Wrapping$LT$i32$GT$.BitAnd6bitand20h85bdc272fb0f99f5GAbE"(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i32>" | |
| %self = alloca %"num::Wrapping<i32>" | |
| %other = alloca %"num::Wrapping<i32>" | |
| %2 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i32>"* %self to i32* | |
| store i32 %0, i32* %3, align 4 | |
| %4 = bitcast %"num::Wrapping<i32>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i32>"* %other to i32* | |
| store i32 %1, i32* %5, align 4 | |
| %6 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<i32>", %"num::Wrapping<i32>"* %other, i32 0, i32 0 | |
| %9 = load i32, i32* %7, align 4 | |
| %10 = load i32, i32* %8, align 4 | |
| %11 = and i32 %9, %10 | |
| store i32 %11, i32* %6, align 4 | |
| %12 = bitcast %"num::Wrapping<i32>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i32>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i32>"* %sret_slot to i32* | |
| %15 = load i32, i32* %14, align 4 | |
| ret i32 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping23Wrapping$LT$i64$GT$.Add3add20h392227c7d0704ad97AbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i64>" | |
| %self = alloca %"num::Wrapping<i64>" | |
| %other = alloca %"num::Wrapping<i64>" | |
| %2 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<i64>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i64>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %self, i32 0, i32 0 | |
| %8 = load i64, i64* %7, align 8 | |
| %9 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %other, i32 0, i32 0 | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = call i64 @_ZN3num3i6412wrapping_add20h7c6b3de5558a4a13I6fE(i64 %8, i64 %10) | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<i64>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i64>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN3num3i6412wrapping_add20h7c6b3de5558a4a13I6fE(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %rhs, align 8 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = load i64, i64* %rhs, align 8 | |
| %6 = add i64 %4, %5 | |
| %7 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i64 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping23Wrapping$LT$i64$GT$.Sub3sub20h327e78fa912016e8yBbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i64>" | |
| %self = alloca %"num::Wrapping<i64>" | |
| %other = alloca %"num::Wrapping<i64>" | |
| %2 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<i64>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i64>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %self, i32 0, i32 0 | |
| %8 = load i64, i64* %7, align 8 | |
| %9 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %other, i32 0, i32 0 | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = call i64 @_ZN3num3i6412wrapping_sub20h2f7a2a48ca48dd47Y6fE(i64 %8, i64 %10) | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<i64>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i64>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN3num3i6412wrapping_sub20h2f7a2a48ca48dd47Y6fE(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %rhs, align 8 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = load i64, i64* %rhs, align 8 | |
| %6 = sub i64 %4, %5 | |
| %7 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i64 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping23Wrapping$LT$i64$GT$.Mul3mul20hc067c51f02cede6fZBbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i64>" | |
| %self = alloca %"num::Wrapping<i64>" | |
| %other = alloca %"num::Wrapping<i64>" | |
| %2 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<i64>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i64>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %self, i32 0, i32 0 | |
| %8 = load i64, i64* %7, align 8 | |
| %9 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %other, i32 0, i32 0 | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = call i64 @_ZN3num3i6412wrapping_mul20he6bc4ca739044300e7fE(i64 %8, i64 %10) | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<i64>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i64>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i64 @_ZN3num3i6412wrapping_mul20he6bc4ca739044300e7fE(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %rhs, align 8 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = load i64, i64* %rhs, align 8 | |
| %6 = mul i64 %4, %5 | |
| %7 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i64 %6 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping23Wrapping$LT$i64$GT$.Not3not20hb3c9c2044c6d35d9qCbE"(i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i64>" | |
| %self = alloca %"num::Wrapping<i64>" | |
| %1 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| %2 = bitcast %"num::Wrapping<i64>"* %self to i64* | |
| store i64 %0, i64* %2, align 8 | |
| %3 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %sret_slot, i32 0, i32 0 | |
| %4 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %self, i32 0, i32 0 | |
| %5 = load i64, i64* %4, align 8 | |
| %6 = xor i64 %5, -1 | |
| store i64 %6, i64* %3, align 8 | |
| %7 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast %"num::Wrapping<i64>"* %sret_slot to i64* | |
| %9 = load i64, i64* %8, align 8 | |
| ret i64 %9 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping26Wrapping$LT$i64$GT$.BitXor6bitxor20h9336ec2d368a7b00LCbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i64>" | |
| %self = alloca %"num::Wrapping<i64>" | |
| %other = alloca %"num::Wrapping<i64>" | |
| %2 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<i64>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i64>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %other, i32 0, i32 0 | |
| %9 = load i64, i64* %7, align 8 | |
| %10 = load i64, i64* %8, align 8 | |
| %11 = xor i64 %9, %10 | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<i64>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i64>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping25Wrapping$LT$i64$GT$.BitOr5bitor20h5dd8b1e1b9152f7fcDbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i64>" | |
| %self = alloca %"num::Wrapping<i64>" | |
| %other = alloca %"num::Wrapping<i64>" | |
| %2 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<i64>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i64>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %other, i32 0, i32 0 | |
| %9 = load i64, i64* %7, align 8 | |
| %10 = load i64, i64* %8, align 8 | |
| %11 = or i64 %9, %10 | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<i64>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i64>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @"_ZN3num8wrapping26Wrapping$LT$i64$GT$.BitAnd6bitand20hfa1aaead6bc8c3d8DDbE"(i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca %"num::Wrapping<i64>" | |
| %self = alloca %"num::Wrapping<i64>" | |
| %other = alloca %"num::Wrapping<i64>" | |
| %2 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| %3 = bitcast %"num::Wrapping<i64>"* %self to i64* | |
| store i64 %0, i64* %3, align 8 | |
| %4 = bitcast %"num::Wrapping<i64>"* %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %"num::Wrapping<i64>"* %other to i64* | |
| store i64 %1, i64* %5, align 8 | |
| %6 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %sret_slot, i32 0, i32 0 | |
| %7 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %self, i32 0, i32 0 | |
| %8 = getelementptr inbounds %"num::Wrapping<i64>", %"num::Wrapping<i64>"* %other, i32 0, i32 0 | |
| %9 = load i64, i64* %7, align 8 | |
| %10 = load i64, i64* %8, align 8 | |
| %11 = and i64 %9, %10 | |
| store i64 %11, i64* %6, align 8 | |
| %12 = bitcast %"num::Wrapping<i64>"* %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = bitcast %"num::Wrapping<i64>"* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast %"num::Wrapping<i64>"* %sret_slot to i64* | |
| %15 = load i64, i64* %14, align 8 | |
| ret i64 %15 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17i8.OverflowingOps15overflowing_add20h20121bf2edac2291KEbE(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| %tmp = alloca { i8, i8 } | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = load i8, i8* %rhs, align 1 | |
| %4 = call { i8, i1 } @llvm.sadd.with.overflow.i8(i8 %2, i8 %3) | |
| %5 = extractvalue { i8, i1 } %4, 0 | |
| %6 = extractvalue { i8, i1 } %4, 1 | |
| %7 = zext i1 %6 to i8 | |
| %8 = insertvalue { i8, i8 } undef, i8 %5, 0 | |
| %9 = insertvalue { i8, i8 } %8, i8 %7, 1 | |
| %10 = bitcast { i8, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %10) | |
| store { i8, i8 } %9, { i8, i8 }* %tmp | |
| %11 = bitcast { i8, i8 }* %tmp to i16* | |
| %12 = load i16, i16* %11, align 1 | |
| %13 = bitcast { i8, i8 }* %sret_slot to i16* | |
| store i16 %12, i16* %13, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %14 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 1 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i8, i1 } @llvm.sadd.with.overflow.i8(i8, i8) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17i8.OverflowingOps15overflowing_sub20h5dd0d52a1bba927a2EbE(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| %tmp = alloca { i8, i8 } | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = load i8, i8* %rhs, align 1 | |
| %4 = call { i8, i1 } @llvm.ssub.with.overflow.i8(i8 %2, i8 %3) | |
| %5 = extractvalue { i8, i1 } %4, 0 | |
| %6 = extractvalue { i8, i1 } %4, 1 | |
| %7 = zext i1 %6 to i8 | |
| %8 = insertvalue { i8, i8 } undef, i8 %5, 0 | |
| %9 = insertvalue { i8, i8 } %8, i8 %7, 1 | |
| %10 = bitcast { i8, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %10) | |
| store { i8, i8 } %9, { i8, i8 }* %tmp | |
| %11 = bitcast { i8, i8 }* %tmp to i16* | |
| %12 = load i16, i16* %11, align 1 | |
| %13 = bitcast { i8, i8 }* %sret_slot to i16* | |
| store i16 %12, i16* %13, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %14 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 1 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i8, i1 } @llvm.ssub.with.overflow.i8(i8, i8) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17i8.OverflowingOps15overflowing_mul20hd9a8e716f88d9920kFbE(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| %tmp = alloca { i8, i8 } | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = load i8, i8* %rhs, align 1 | |
| %4 = call { i8, i1 } @llvm.smul.with.overflow.i8(i8 %2, i8 %3) | |
| %5 = extractvalue { i8, i1 } %4, 0 | |
| %6 = extractvalue { i8, i1 } %4, 1 | |
| %7 = zext i1 %6 to i8 | |
| %8 = insertvalue { i8, i8 } undef, i8 %5, 0 | |
| %9 = insertvalue { i8, i8 } %8, i8 %7, 1 | |
| %10 = bitcast { i8, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %10) | |
| store { i8, i8 } %9, { i8, i8 }* %tmp | |
| %11 = bitcast { i8, i8 }* %tmp to i16* | |
| %12 = load i16, i16* %11, align 1 | |
| %13 = bitcast { i8, i8 }* %sret_slot to i16* | |
| store i16 %12, i16* %13, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %14 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 1 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i8, i1 } @llvm.smul.with.overflow.i8(i8, i8) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17i8.OverflowingOps15overflowing_div20h883526b636bbb9a0CFbE(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = icmp eq i8 %2, -128 | |
| br i1 %3, label %before_rhs, label %join | |
| join: ; preds = %before_rhs, %entry-block | |
| %4 = phi i1 [ %3, %entry-block ], [ %6, %before_rhs ] | |
| br i1 %4, label %then-block-5815-, label %else-block | |
| before_rhs: ; preds = %entry-block | |
| %5 = load i8, i8* %rhs, align 1 | |
| %6 = icmp eq i8 %5, -1 | |
| br label %join | |
| then-block-5815-: ; preds = %join | |
| %7 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %8 = load i8, i8* %self, align 1 | |
| store i8 %8, i8* %7, align 1 | |
| %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 1, i8* %9, align 1 | |
| br label %join5 | |
| else-block: ; preds = %join | |
| %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %11 = load i8, i8* %self, align 1 | |
| %12 = load i8, i8* %rhs, align 1 | |
| %13 = icmp eq i8 %12, 0 | |
| br i1 %13, label %cond, label %next | |
| next: ; preds = %else-block | |
| %14 = icmp eq i8 %12, -1 | |
| br i1 %14, label %cond2, label %next1 | |
| cond: ; preds = %else-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43576) | |
| unreachable | |
| next1: ; preds = %next3, %next | |
| %15 = sdiv i8 %11, %12 | |
| store i8 %15, i8* %10, align 1 | |
| %16 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %16, align 1 | |
| br label %join5 | |
| cond2: ; preds = %next | |
| %17 = icmp eq i8 %11, -128 | |
| br i1 %17, label %cond4, label %next3 | |
| next3: ; preds = %cond2 | |
| br label %next1 | |
| cond4: ; preds = %cond2 | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43578) | |
| unreachable | |
| join5: ; preds = %next1, %then-block-5815- | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %18 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %19 = load i16, i16* %18, align 1 | |
| ret i16 %19 | |
| } | |
| ; Function Attrs: cold noinline noreturn uwtable | |
| define void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40)) unnamed_addr #7 { | |
| entry-block: | |
| %expr_file_line = alloca { %str_slice, %str_slice, i32 }* | |
| %expr = alloca %str_slice | |
| %file = alloca %str_slice | |
| %line = alloca i32 | |
| %1 = alloca %"fmt::Arguments" | |
| %2 = alloca [1 x %str_slice] | |
| %__coerce_target = alloca { %str_slice*, i64 } | |
| %3 = alloca { %str_slice, i32 } | |
| %4 = bitcast { %str_slice, %str_slice, i32 }** %expr_file_line to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store { %str_slice, %str_slice, i32 }* %0, { %str_slice, %str_slice, i32 }** %expr_file_line, align 8 | |
| %5 = load { %str_slice, %str_slice, i32 }*, { %str_slice, %str_slice, i32 }** %expr_file_line, align 8, !nonnull !2 | |
| %6 = getelementptr inbounds { %str_slice, %str_slice, i32 }, { %str_slice, %str_slice, i32 }* %5, i32 0, i32 0 | |
| %7 = bitcast %str_slice* %expr to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %7) | |
| %8 = bitcast %str_slice* %6 to i8* | |
| %9 = bitcast %str_slice* %expr to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %9, i8* %8, i64 16, i32 8, i1 false) | |
| %10 = getelementptr inbounds { %str_slice, %str_slice, i32 }, { %str_slice, %str_slice, i32 }* %5, i32 0, i32 1 | |
| %11 = bitcast %str_slice* %file to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %11) | |
| %12 = bitcast %str_slice* %10 to i8* | |
| %13 = bitcast %str_slice* %file to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %13, i8* %12, i64 16, i32 8, i1 false) | |
| %14 = getelementptr inbounds { %str_slice, %str_slice, i32 }, { %str_slice, %str_slice, i32 }* %5, i32 0, i32 2 | |
| %15 = bitcast i32* %line to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %15) | |
| %16 = load i32, i32* %14, align 4 | |
| store i32 %16, i32* %line, align 4 | |
| %17 = bitcast %"fmt::Arguments"* %1 to i8* | |
| call void @llvm.lifetime.start(i64 48, i8* %17) | |
| %18 = bitcast [1 x %str_slice]* %2 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %18) | |
| %19 = getelementptr inbounds [1 x %str_slice], [1 x %str_slice]* %2, i32 0, i32 0 | |
| %20 = getelementptr inbounds %str_slice, %str_slice* %19, i32 0 | |
| %21 = bitcast %str_slice* %expr to i8* | |
| %22 = bitcast %str_slice* %20 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %22, i8* %21, i64 16, i32 8, i1 false) | |
| %23 = bitcast [1 x %str_slice]* %2 to %str_slice* | |
| %24 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %__coerce_target, i32 0, i32 0 | |
| store %str_slice* %23, %str_slice** %24 | |
| %25 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %__coerce_target, i32 0, i32 1 | |
| store i64 1, i64* %25 | |
| %26 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %__coerce_target, i32 0, i32 0 | |
| %27 = load %str_slice*, %str_slice** %26 | |
| %28 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %__coerce_target, i32 0, i32 1 | |
| %29 = load i64, i64* %28 | |
| %30 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** getelementptr inbounds ({ %"fmt::ArgumentV1"*, i64 }, { %"fmt::ArgumentV1"*, i64 }* @const44067, i32 0, i32 0) | |
| %31 = load i64, i64* getelementptr inbounds ({ %"fmt::ArgumentV1"*, i64 }, { %"fmt::ArgumentV1"*, i64 }* @const44067, i32 0, i32 1) | |
| call void @"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120h32916b984e369815hbNE"(%"fmt::Arguments"* noalias nocapture sret dereferenceable(48) %1, %str_slice* noalias nonnull readonly %27, i64 %29, %"fmt::ArgumentV1"* noalias nonnull readonly %30, i64 %31) | |
| %32 = bitcast { %str_slice, i32 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 24, i8* %32) | |
| %33 = getelementptr inbounds { %str_slice, i32 }, { %str_slice, i32 }* %3, i32 0, i32 0 | |
| %34 = bitcast %str_slice* %file to i8* | |
| %35 = bitcast %str_slice* %33 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %35, i8* %34, i64 16, i32 8, i1 false) | |
| %36 = getelementptr inbounds { %str_slice, i32 }, { %str_slice, i32 }* %3, i32 0, i32 1 | |
| %37 = load i32, i32* %line, align 4 | |
| store i32 %37, i32* %36, align 4 | |
| call void @_ZN9panicking9panic_fmt20h6fd5cab7f5e05869H8BE(%"fmt::Arguments"* noalias nocapture dereferenceable(48) %1, { %str_slice, i32 }* noalias readonly dereferenceable(24) %3) | |
| %38 = bitcast %"fmt::Arguments"* %1 to i8* | |
| call void @llvm.lifetime.end(i64 48, i8* %38) | |
| unreachable | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17i8.OverflowingOps15overflowing_rem20h8302a9d27feb02868FbE(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = icmp eq i8 %2, -128 | |
| br i1 %3, label %before_rhs, label %join | |
| join: ; preds = %before_rhs, %entry-block | |
| %4 = phi i1 [ %3, %entry-block ], [ %6, %before_rhs ] | |
| br i1 %4, label %then-block-5847-, label %else-block | |
| before_rhs: ; preds = %entry-block | |
| %5 = load i8, i8* %rhs, align 1 | |
| %6 = icmp eq i8 %5, -1 | |
| br label %join | |
| then-block-5847-: ; preds = %join | |
| %7 = bitcast { i8, i8 }* %sret_slot to { i8, i1 }* | |
| %8 = bitcast { i8, i1 }* %7 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %8, i8* getelementptr inbounds ({ i8, i1 }, { i8, i1 }* @const43579, i32 0, i32 0), i64 2, i32 1, i1 false) | |
| br label %join5 | |
| else-block: ; preds = %join | |
| %9 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %10 = load i8, i8* %self, align 1 | |
| %11 = load i8, i8* %rhs, align 1 | |
| %12 = icmp eq i8 %11, 0 | |
| br i1 %12, label %cond, label %next | |
| next: ; preds = %else-block | |
| %13 = icmp eq i8 %11, -1 | |
| br i1 %13, label %cond2, label %next1 | |
| cond: ; preds = %else-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43581) | |
| unreachable | |
| next1: ; preds = %next3, %next | |
| %14 = srem i8 %10, %11 | |
| store i8 %14, i8* %9, align 1 | |
| %15 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %15, align 1 | |
| br label %join5 | |
| cond2: ; preds = %next | |
| %16 = icmp eq i8 %10, -128 | |
| br i1 %16, label %cond4, label %next3 | |
| next3: ; preds = %cond2 | |
| br label %next1 | |
| cond4: ; preds = %cond2 | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43583) | |
| unreachable | |
| join5: ; preds = %next1, %then-block-5847- | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %17 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %18 = load i16, i16* %17, align 1 | |
| ret i16 %18 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17i8.OverflowingOps15overflowing_shl20h9e127748ad6c3998EGbE(i8, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i32 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| %2 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %1, i32* %rhs, align 4 | |
| %3 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %4 = load i32, i32* %rhs, align 4 | |
| %5 = and i32 %4, 7 | |
| %6 = load i8, i8* %self, align 1 | |
| %7 = trunc i32 %5 to i8 | |
| %8 = and i8 %7, 7 | |
| %9 = shl i8 %6, %8 | |
| store i8 %9, i8* %3, align 1 | |
| %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| %11 = load i32, i32* %rhs, align 4 | |
| %12 = icmp ugt i32 %11, 7 | |
| %13 = zext i1 %12 to i8 | |
| store i8 %13, i8* %10, align 1 | |
| %14 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %14) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %15 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %16 = load i16, i16* %15, align 1 | |
| ret i16 %16 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17i8.OverflowingOps15overflowing_shr20haee3c66edf848ce31GbE(i8, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i32 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| %2 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %1, i32* %rhs, align 4 | |
| %3 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %4 = load i32, i32* %rhs, align 4 | |
| %5 = and i32 %4, 7 | |
| %6 = load i8, i8* %self, align 1 | |
| %7 = trunc i32 %5 to i8 | |
| %8 = and i8 %7, 7 | |
| %9 = ashr i8 %6, %8 | |
| store i8 %9, i8* %3, align 1 | |
| %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| %11 = load i32, i32* %rhs, align 4 | |
| %12 = icmp ugt i32 %11, 7 | |
| %13 = zext i1 %12 to i8 | |
| store i8 %13, i8* %10, align 1 | |
| %14 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %14) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %15 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %16 = load i16, i16* %15, align 1 | |
| ret i16 %16 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17i8.OverflowingOps15overflowing_neg20h2db8665aab1526a3oHbE(i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| %1 = load i8, i8* %self, align 1 | |
| %2 = icmp eq i8 %1, -128 | |
| br i1 %2, label %then-block-5917-, label %else-block | |
| then-block-5917-: ; preds = %entry-block | |
| %3 = bitcast { i8, i8 }* %sret_slot to { i8, i1 }* | |
| %4 = bitcast { i8, i1 }* %3 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %4, i8* getelementptr inbounds ({ i8, i1 }, { i8, i1 }* @const43585, i32 0, i32 0), i64 2, i32 1, i1 false) | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %5 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %6 = load i8, i8* %self, align 1 | |
| %7 = sub i8 0, %6 | |
| store i8 %7, i8* %5, align 1 | |
| %8 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %8, align 1 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-5917- | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %9 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %10 = load i16, i16* %9, align 1 | |
| ret i16 %10 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18i16.OverflowingOps15overflowing_add20h047159babdc01a4bPHbE(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %tmp = alloca { i16, i8 } | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = load i16, i16* %rhs, align 2 | |
| %6 = call { i16, i1 } @llvm.sadd.with.overflow.i16(i16 %4, i16 %5) | |
| %7 = extractvalue { i16, i1 } %6, 0 | |
| %8 = extractvalue { i16, i1 } %6, 1 | |
| %9 = zext i1 %8 to i8 | |
| %10 = insertvalue { i16, i8 } undef, i16 %7, 0 | |
| %11 = insertvalue { i16, i8 } %10, i8 %9, 1 | |
| %12 = bitcast { i16, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %12) | |
| store { i16, i8 } %11, { i16, i8 }* %tmp | |
| %13 = bitcast { i16, i8 }* %tmp to i32* | |
| %14 = load i32, i32* %13, align 2 | |
| %15 = bitcast { i16, i8 }* %sret_slot to i32* | |
| store i32 %14, i32* %15, align 2 | |
| %16 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %16) | |
| %17 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %17) | |
| %18 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %19 = load i32, i32* %18, align 2 | |
| ret i32 %19 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i16, i1 } @llvm.sadd.with.overflow.i16(i16, i16) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18i16.OverflowingOps15overflowing_sub20hd4d198bdd71cbf3c7HbE(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %tmp = alloca { i16, i8 } | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = load i16, i16* %rhs, align 2 | |
| %6 = call { i16, i1 } @llvm.ssub.with.overflow.i16(i16 %4, i16 %5) | |
| %7 = extractvalue { i16, i1 } %6, 0 | |
| %8 = extractvalue { i16, i1 } %6, 1 | |
| %9 = zext i1 %8 to i8 | |
| %10 = insertvalue { i16, i8 } undef, i16 %7, 0 | |
| %11 = insertvalue { i16, i8 } %10, i8 %9, 1 | |
| %12 = bitcast { i16, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %12) | |
| store { i16, i8 } %11, { i16, i8 }* %tmp | |
| %13 = bitcast { i16, i8 }* %tmp to i32* | |
| %14 = load i32, i32* %13, align 2 | |
| %15 = bitcast { i16, i8 }* %sret_slot to i32* | |
| store i32 %14, i32* %15, align 2 | |
| %16 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %16) | |
| %17 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %17) | |
| %18 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %19 = load i32, i32* %18, align 2 | |
| ret i32 %19 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i16, i1 } @llvm.ssub.with.overflow.i16(i16, i16) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18i16.OverflowingOps15overflowing_mul20hed04ed47a5addc60pIbE(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %tmp = alloca { i16, i8 } | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = load i16, i16* %rhs, align 2 | |
| %6 = call { i16, i1 } @llvm.smul.with.overflow.i16(i16 %4, i16 %5) | |
| %7 = extractvalue { i16, i1 } %6, 0 | |
| %8 = extractvalue { i16, i1 } %6, 1 | |
| %9 = zext i1 %8 to i8 | |
| %10 = insertvalue { i16, i8 } undef, i16 %7, 0 | |
| %11 = insertvalue { i16, i8 } %10, i8 %9, 1 | |
| %12 = bitcast { i16, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %12) | |
| store { i16, i8 } %11, { i16, i8 }* %tmp | |
| %13 = bitcast { i16, i8 }* %tmp to i32* | |
| %14 = load i32, i32* %13, align 2 | |
| %15 = bitcast { i16, i8 }* %sret_slot to i32* | |
| store i32 %14, i32* %15, align 2 | |
| %16 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %16) | |
| %17 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %17) | |
| %18 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %19 = load i32, i32* %18, align 2 | |
| ret i32 %19 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i16, i1 } @llvm.smul.with.overflow.i16(i16, i16) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18i16.OverflowingOps15overflowing_div20h5bb50609cf41aab0HIbE(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = icmp eq i16 %4, -32768 | |
| br i1 %5, label %before_rhs, label %join | |
| join: ; preds = %before_rhs, %entry-block | |
| %6 = phi i1 [ %5, %entry-block ], [ %8, %before_rhs ] | |
| br i1 %6, label %then-block-6006-, label %else-block | |
| before_rhs: ; preds = %entry-block | |
| %7 = load i16, i16* %rhs, align 2 | |
| %8 = icmp eq i16 %7, -1 | |
| br label %join | |
| then-block-6006-: ; preds = %join | |
| %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 0 | |
| %10 = load i16, i16* %self, align 2 | |
| store i16 %10, i16* %9, align 2 | |
| %11 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 1, i8* %11, align 1 | |
| br label %join5 | |
| else-block: ; preds = %join | |
| %12 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 0 | |
| %13 = load i16, i16* %self, align 2 | |
| %14 = load i16, i16* %rhs, align 2 | |
| %15 = icmp eq i16 %14, 0 | |
| br i1 %15, label %cond, label %next | |
| next: ; preds = %else-block | |
| %16 = icmp eq i16 %14, -1 | |
| br i1 %16, label %cond2, label %next1 | |
| cond: ; preds = %else-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43576) | |
| unreachable | |
| next1: ; preds = %next3, %next | |
| %17 = sdiv i16 %13, %14 | |
| store i16 %17, i16* %12, align 2 | |
| %18 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %18, align 1 | |
| br label %join5 | |
| cond2: ; preds = %next | |
| %19 = icmp eq i16 %13, -32768 | |
| br i1 %19, label %cond4, label %next3 | |
| next3: ; preds = %cond2 | |
| br label %next1 | |
| cond4: ; preds = %cond2 | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43578) | |
| unreachable | |
| join5: ; preds = %next1, %then-block-6006- | |
| %20 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %20) | |
| %21 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %21) | |
| %22 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %23 = load i32, i32* %22, align 2 | |
| ret i32 %23 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18i16.OverflowingOps15overflowing_rem20hdbbbffe800c34266dJbE(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = icmp eq i16 %4, -32768 | |
| br i1 %5, label %before_rhs, label %join | |
| join: ; preds = %before_rhs, %entry-block | |
| %6 = phi i1 [ %5, %entry-block ], [ %8, %before_rhs ] | |
| br i1 %6, label %then-block-6038-, label %else-block | |
| before_rhs: ; preds = %entry-block | |
| %7 = load i16, i16* %rhs, align 2 | |
| %8 = icmp eq i16 %7, -1 | |
| br label %join | |
| then-block-6038-: ; preds = %join | |
| %9 = bitcast { i16, i8 }* %sret_slot to { i16, i1, [1 x i8] }* | |
| %10 = bitcast { i16, i1, [1 x i8] }* %9 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %10, i8* bitcast ({ i16, i1, [1 x i8] }* @const43589 to i8*), i64 4, i32 2, i1 false) | |
| br label %join5 | |
| else-block: ; preds = %join | |
| %11 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 0 | |
| %12 = load i16, i16* %self, align 2 | |
| %13 = load i16, i16* %rhs, align 2 | |
| %14 = icmp eq i16 %13, 0 | |
| br i1 %14, label %cond, label %next | |
| next: ; preds = %else-block | |
| %15 = icmp eq i16 %13, -1 | |
| br i1 %15, label %cond2, label %next1 | |
| cond: ; preds = %else-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43581) | |
| unreachable | |
| next1: ; preds = %next3, %next | |
| %16 = srem i16 %12, %13 | |
| store i16 %16, i16* %11, align 2 | |
| %17 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %17, align 1 | |
| br label %join5 | |
| cond2: ; preds = %next | |
| %18 = icmp eq i16 %12, -32768 | |
| br i1 %18, label %cond4, label %next3 | |
| next3: ; preds = %cond2 | |
| br label %next1 | |
| cond4: ; preds = %cond2 | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43583) | |
| unreachable | |
| join5: ; preds = %next1, %then-block-6038- | |
| %19 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %19) | |
| %20 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %20) | |
| %21 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %22 = load i32, i32* %21, align 2 | |
| ret i32 %22 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18i16.OverflowingOps15overflowing_shl20hd651253647612d41JJbE(i16, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i32 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 0 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = and i32 %5, 15 | |
| %7 = load i16, i16* %self, align 2 | |
| %8 = trunc i32 %6 to i16 | |
| %9 = and i16 %8, 15 | |
| %10 = shl i16 %7, %9 | |
| store i16 %10, i16* %4, align 2 | |
| %11 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 1 | |
| %12 = load i32, i32* %rhs, align 4 | |
| %13 = icmp ugt i32 %12, 15 | |
| %14 = zext i1 %13 to i8 | |
| store i8 %14, i8* %11, align 1 | |
| %15 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %15) | |
| %16 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %16) | |
| %17 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %18 = load i32, i32* %17, align 2 | |
| ret i32 %18 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18i16.OverflowingOps15overflowing_shr20hfec63052f8da56806JbE(i16, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i32 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 0 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = and i32 %5, 15 | |
| %7 = load i16, i16* %self, align 2 | |
| %8 = trunc i32 %6 to i16 | |
| %9 = and i16 %8, 15 | |
| %10 = ashr i16 %7, %9 | |
| store i16 %10, i16* %4, align 2 | |
| %11 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 1 | |
| %12 = load i32, i32* %rhs, align 4 | |
| %13 = icmp ugt i32 %12, 15 | |
| %14 = zext i1 %13 to i8 | |
| store i8 %14, i8* %11, align 1 | |
| %15 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %15) | |
| %16 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %16) | |
| %17 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %18 = load i32, i32* %17, align 2 | |
| ret i32 %18 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18i16.OverflowingOps15overflowing_neg20h264857738d39bf81tKbE(i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %1 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %1) | |
| store i16 %0, i16* %self, align 2 | |
| %2 = load i16, i16* %self, align 2 | |
| %3 = icmp eq i16 %2, -32768 | |
| br i1 %3, label %then-block-6108-, label %else-block | |
| then-block-6108-: ; preds = %entry-block | |
| %4 = bitcast { i16, i8 }* %sret_slot to { i16, i1, [1 x i8] }* | |
| %5 = bitcast { i16, i1, [1 x i8] }* %4 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* bitcast ({ i16, i1, [1 x i8] }* @const43591 to i8*), i64 4, i32 2, i1 false) | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %6 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 0 | |
| %7 = load i16, i16* %self, align 2 | |
| %8 = sub i16 0, %7 | |
| store i16 %8, i16* %6, align 2 | |
| %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %9, align 1 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-6108- | |
| %10 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %10) | |
| %11 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %12 = load i32, i32* %11, align 2 | |
| ret i32 %12 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18i32.OverflowingOps15overflowing_add20h05f3dff3bbd7687fUKbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %tmp = alloca { i32, i8 } | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %4, i32 %5) | |
| %7 = extractvalue { i32, i1 } %6, 0 | |
| %8 = extractvalue { i32, i1 } %6, 1 | |
| %9 = zext i1 %8 to i8 | |
| %10 = insertvalue { i32, i8 } undef, i32 %7, 0 | |
| %11 = insertvalue { i32, i8 } %10, i8 %9, 1 | |
| %12 = bitcast { i32, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %12) | |
| store { i32, i8 } %11, { i32, i8 }* %tmp | |
| %13 = bitcast { i32, i8 }* %tmp to i64* | |
| %14 = load i64, i64* %13, align 4 | |
| %15 = bitcast { i32, i8 }* %sret_slot to i64* | |
| store i64 %14, i64* %15, align 4 | |
| %16 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %16) | |
| %17 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %17) | |
| %18 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %19 = load i64, i64* %18, align 4 | |
| ret i64 %19 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i32, i1 } @llvm.sadd.with.overflow.i32(i32, i32) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18i32.OverflowingOps15overflowing_sub20h27196228e532b1eecLbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %tmp = alloca { i32, i8 } | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %4, i32 %5) | |
| %7 = extractvalue { i32, i1 } %6, 0 | |
| %8 = extractvalue { i32, i1 } %6, 1 | |
| %9 = zext i1 %8 to i8 | |
| %10 = insertvalue { i32, i8 } undef, i32 %7, 0 | |
| %11 = insertvalue { i32, i8 } %10, i8 %9, 1 | |
| %12 = bitcast { i32, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %12) | |
| store { i32, i8 } %11, { i32, i8 }* %tmp | |
| %13 = bitcast { i32, i8 }* %tmp to i64* | |
| %14 = load i64, i64* %13, align 4 | |
| %15 = bitcast { i32, i8 }* %sret_slot to i64* | |
| store i64 %14, i64* %15, align 4 | |
| %16 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %16) | |
| %17 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %17) | |
| %18 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %19 = load i64, i64* %18, align 4 | |
| ret i64 %19 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i32, i1 } @llvm.ssub.with.overflow.i32(i32, i32) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18i32.OverflowingOps15overflowing_mul20hd8aa560e0f41cc31uLbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %tmp = alloca { i32, i8 } | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %4, i32 %5) | |
| %7 = extractvalue { i32, i1 } %6, 0 | |
| %8 = extractvalue { i32, i1 } %6, 1 | |
| %9 = zext i1 %8 to i8 | |
| %10 = insertvalue { i32, i8 } undef, i32 %7, 0 | |
| %11 = insertvalue { i32, i8 } %10, i8 %9, 1 | |
| %12 = bitcast { i32, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %12) | |
| store { i32, i8 } %11, { i32, i8 }* %tmp | |
| %13 = bitcast { i32, i8 }* %tmp to i64* | |
| %14 = load i64, i64* %13, align 4 | |
| %15 = bitcast { i32, i8 }* %sret_slot to i64* | |
| store i64 %14, i64* %15, align 4 | |
| %16 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %16) | |
| %17 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %17) | |
| %18 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %19 = load i64, i64* %18, align 4 | |
| ret i64 %19 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i32, i1 } @llvm.smul.with.overflow.i32(i32, i32) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18i32.OverflowingOps15overflowing_div20h056a1d16668edeb2MLbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = icmp eq i32 %4, -2147483648 | |
| br i1 %5, label %before_rhs, label %join | |
| join: ; preds = %before_rhs, %entry-block | |
| %6 = phi i1 [ %5, %entry-block ], [ %8, %before_rhs ] | |
| br i1 %6, label %then-block-6197-, label %else-block | |
| before_rhs: ; preds = %entry-block | |
| %7 = load i32, i32* %rhs, align 4 | |
| %8 = icmp eq i32 %7, -1 | |
| br label %join | |
| then-block-6197-: ; preds = %join | |
| %9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 0 | |
| %10 = load i32, i32* %self, align 4 | |
| store i32 %10, i32* %9, align 4 | |
| %11 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 1, i8* %11, align 1 | |
| br label %join5 | |
| else-block: ; preds = %join | |
| %12 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 0 | |
| %13 = load i32, i32* %self, align 4 | |
| %14 = load i32, i32* %rhs, align 4 | |
| %15 = icmp eq i32 %14, 0 | |
| br i1 %15, label %cond, label %next | |
| next: ; preds = %else-block | |
| %16 = icmp eq i32 %14, -1 | |
| br i1 %16, label %cond2, label %next1 | |
| cond: ; preds = %else-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43576) | |
| unreachable | |
| next1: ; preds = %next3, %next | |
| %17 = sdiv i32 %13, %14 | |
| store i32 %17, i32* %12, align 4 | |
| %18 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %18, align 1 | |
| br label %join5 | |
| cond2: ; preds = %next | |
| %19 = icmp eq i32 %13, -2147483648 | |
| br i1 %19, label %cond4, label %next3 | |
| next3: ; preds = %cond2 | |
| br label %next1 | |
| cond4: ; preds = %cond2 | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43578) | |
| unreachable | |
| join5: ; preds = %next1, %then-block-6197- | |
| %20 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %20) | |
| %21 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %21) | |
| %22 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %23 = load i64, i64* %22, align 4 | |
| ret i64 %23 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18i32.OverflowingOps15overflowing_rem20he8592d21102053d6iMbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = icmp eq i32 %4, -2147483648 | |
| br i1 %5, label %before_rhs, label %join | |
| join: ; preds = %before_rhs, %entry-block | |
| %6 = phi i1 [ %5, %entry-block ], [ %8, %before_rhs ] | |
| br i1 %6, label %then-block-6229-, label %else-block | |
| before_rhs: ; preds = %entry-block | |
| %7 = load i32, i32* %rhs, align 4 | |
| %8 = icmp eq i32 %7, -1 | |
| br label %join | |
| then-block-6229-: ; preds = %join | |
| %9 = bitcast { i32, i8 }* %sret_slot to { i32, i1, [3 x i8] }* | |
| %10 = bitcast { i32, i1, [3 x i8] }* %9 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %10, i8* bitcast ({ i32, i1, [3 x i8] }* @const43595 to i8*), i64 8, i32 4, i1 false) | |
| br label %join5 | |
| else-block: ; preds = %join | |
| %11 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 0 | |
| %12 = load i32, i32* %self, align 4 | |
| %13 = load i32, i32* %rhs, align 4 | |
| %14 = icmp eq i32 %13, 0 | |
| br i1 %14, label %cond, label %next | |
| next: ; preds = %else-block | |
| %15 = icmp eq i32 %13, -1 | |
| br i1 %15, label %cond2, label %next1 | |
| cond: ; preds = %else-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43581) | |
| unreachable | |
| next1: ; preds = %next3, %next | |
| %16 = srem i32 %12, %13 | |
| store i32 %16, i32* %11, align 4 | |
| %17 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %17, align 1 | |
| br label %join5 | |
| cond2: ; preds = %next | |
| %18 = icmp eq i32 %12, -2147483648 | |
| br i1 %18, label %cond4, label %next3 | |
| next3: ; preds = %cond2 | |
| br label %next1 | |
| cond4: ; preds = %cond2 | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43583) | |
| unreachable | |
| join5: ; preds = %next1, %then-block-6229- | |
| %19 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %19) | |
| %20 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %20) | |
| %21 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %22 = load i64, i64* %21, align 4 | |
| ret i64 %22 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18i32.OverflowingOps15overflowing_shl20h902762266aa4ae6eOMbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 0 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = and i32 %5, 31 | |
| %7 = load i32, i32* %self, align 4 | |
| %8 = and i32 %6, 31 | |
| %9 = shl i32 %7, %8 | |
| store i32 %9, i32* %4, align 4 | |
| %10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 1 | |
| %11 = load i32, i32* %rhs, align 4 | |
| %12 = icmp ugt i32 %11, 31 | |
| %13 = zext i1 %12 to i8 | |
| store i8 %13, i8* %10, align 1 | |
| %14 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %14) | |
| %15 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %15) | |
| %16 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %17 = load i64, i64* %16, align 4 | |
| ret i64 %17 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18i32.OverflowingOps15overflowing_shr20h0beb5ba693b7046bbNbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 0 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = and i32 %5, 31 | |
| %7 = load i32, i32* %self, align 4 | |
| %8 = and i32 %6, 31 | |
| %9 = ashr i32 %7, %8 | |
| store i32 %9, i32* %4, align 4 | |
| %10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 1 | |
| %11 = load i32, i32* %rhs, align 4 | |
| %12 = icmp ugt i32 %11, 31 | |
| %13 = zext i1 %12 to i8 | |
| store i8 %13, i8* %10, align 1 | |
| %14 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %14) | |
| %15 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %15) | |
| %16 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %17 = load i64, i64* %16, align 4 | |
| ret i64 %17 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18i32.OverflowingOps15overflowing_neg20he7546a50fe08689fyNbE(i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %1 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store i32 %0, i32* %self, align 4 | |
| %2 = load i32, i32* %self, align 4 | |
| %3 = icmp eq i32 %2, -2147483648 | |
| br i1 %3, label %then-block-6299-, label %else-block | |
| then-block-6299-: ; preds = %entry-block | |
| %4 = bitcast { i32, i8 }* %sret_slot to { i32, i1, [3 x i8] }* | |
| %5 = bitcast { i32, i1, [3 x i8] }* %4 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* bitcast ({ i32, i1, [3 x i8] }* @const43596 to i8*), i64 8, i32 4, i1 false) | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %6 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 0 | |
| %7 = load i32, i32* %self, align 4 | |
| %8 = sub i32 0, %7 | |
| store i32 %8, i32* %6, align 4 | |
| %9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %9, align 1 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-6299- | |
| %10 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %10) | |
| %11 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %12 = load i64, i64* %11, align 4 | |
| ret i64 %12 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_add20hcde021b8485034eaZNbE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = load i64, i64* %self, align 8 | |
| %6 = load i64, i64* %rhs, align 8 | |
| %7 = call { i64, i1 } @llvm.sadd.with.overflow.i64(i64 %5, i64 %6) | |
| %8 = extractvalue { i64, i1 } %7, 0 | |
| %9 = extractvalue { i64, i1 } %7, 1 | |
| %10 = zext i1 %9 to i8 | |
| %11 = insertvalue { i64, i8 } undef, i64 %8, 0 | |
| %12 = insertvalue { i64, i8 } %11, i8 %10, 1 | |
| store { i64, i8 } %12, { i64, i8 }* %0, align 8 | |
| %13 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %14) | |
| ret void | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i64, i1 } @llvm.sadd.with.overflow.i64(i64, i64) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_sub20h968b795249b5d57dhObE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = load i64, i64* %self, align 8 | |
| %6 = load i64, i64* %rhs, align 8 | |
| %7 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 %5, i64 %6) | |
| %8 = extractvalue { i64, i1 } %7, 0 | |
| %9 = extractvalue { i64, i1 } %7, 1 | |
| %10 = zext i1 %9 to i8 | |
| %11 = insertvalue { i64, i8 } undef, i64 %8, 0 | |
| %12 = insertvalue { i64, i8 } %11, i8 %10, 1 | |
| store { i64, i8 } %12, { i64, i8 }* %0, align 8 | |
| %13 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %14) | |
| ret void | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i64, i1 } @llvm.ssub.with.overflow.i64(i64, i64) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_mul20hb022a4d030286267zObE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = load i64, i64* %self, align 8 | |
| %6 = load i64, i64* %rhs, align 8 | |
| %7 = call { i64, i1 } @llvm.smul.with.overflow.i64(i64 %5, i64 %6) | |
| %8 = extractvalue { i64, i1 } %7, 0 | |
| %9 = extractvalue { i64, i1 } %7, 1 | |
| %10 = zext i1 %9 to i8 | |
| %11 = insertvalue { i64, i8 } undef, i64 %8, 0 | |
| %12 = insertvalue { i64, i8 } %11, i8 %10, 1 | |
| store { i64, i8 } %12, { i64, i8 }* %0, align 8 | |
| %13 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %14) | |
| ret void | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i64, i1 } @llvm.smul.with.overflow.i64(i64, i64) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_div20haf2358da37c53bf2RObE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = load i64, i64* %self, align 8 | |
| %6 = icmp eq i64 %5, -9223372036854775808 | |
| br i1 %6, label %before_rhs, label %join | |
| join: ; preds = %before_rhs, %entry-block | |
| %7 = phi i1 [ %6, %entry-block ], [ %9, %before_rhs ] | |
| br i1 %7, label %then-block-6388-, label %else-block | |
| before_rhs: ; preds = %entry-block | |
| %8 = load i64, i64* %rhs, align 8 | |
| %9 = icmp eq i64 %8, -1 | |
| br label %join | |
| then-block-6388-: ; preds = %join | |
| %10 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %11 = load i64, i64* %self, align 8 | |
| store i64 %11, i64* %10, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| store i8 1, i8* %12, align 1 | |
| br label %join5 | |
| else-block: ; preds = %join | |
| %13 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %14 = load i64, i64* %self, align 8 | |
| %15 = load i64, i64* %rhs, align 8 | |
| %16 = icmp eq i64 %15, 0 | |
| br i1 %16, label %cond, label %next | |
| next: ; preds = %else-block | |
| %17 = icmp eq i64 %15, -1 | |
| br i1 %17, label %cond2, label %next1 | |
| cond: ; preds = %else-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43576) | |
| unreachable | |
| next1: ; preds = %next3, %next | |
| %18 = sdiv i64 %14, %15 | |
| store i64 %18, i64* %13, align 8 | |
| %19 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| store i8 0, i8* %19, align 1 | |
| br label %join5 | |
| cond2: ; preds = %next | |
| %20 = icmp eq i64 %14, -9223372036854775808 | |
| br i1 %20, label %cond4, label %next3 | |
| next3: ; preds = %cond2 | |
| br label %next1 | |
| cond4: ; preds = %cond2 | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43578) | |
| unreachable | |
| join5: ; preds = %next1, %then-block-6388- | |
| %21 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %21) | |
| %22 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %22) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_rem20h6177c7f991718bf4nPbE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = load i64, i64* %self, align 8 | |
| %6 = icmp eq i64 %5, -9223372036854775808 | |
| br i1 %6, label %before_rhs, label %join | |
| join: ; preds = %before_rhs, %entry-block | |
| %7 = phi i1 [ %6, %entry-block ], [ %9, %before_rhs ] | |
| br i1 %7, label %then-block-6420-, label %else-block | |
| before_rhs: ; preds = %entry-block | |
| %8 = load i64, i64* %rhs, align 8 | |
| %9 = icmp eq i64 %8, -1 | |
| br label %join | |
| then-block-6420-: ; preds = %join | |
| %10 = bitcast { i64, i8 }* %0 to { i64, i1, [7 x i8] }* | |
| %11 = bitcast { i64, i1, [7 x i8] }* %10 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %11, i8* bitcast ({ i64, i1, [7 x i8] }* @const43600 to i8*), i64 16, i32 8, i1 false) | |
| br label %join5 | |
| else-block: ; preds = %join | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %13 = load i64, i64* %self, align 8 | |
| %14 = load i64, i64* %rhs, align 8 | |
| %15 = icmp eq i64 %14, 0 | |
| br i1 %15, label %cond, label %next | |
| next: ; preds = %else-block | |
| %16 = icmp eq i64 %14, -1 | |
| br i1 %16, label %cond2, label %next1 | |
| cond: ; preds = %else-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43581) | |
| unreachable | |
| next1: ; preds = %next3, %next | |
| %17 = srem i64 %13, %14 | |
| store i64 %17, i64* %12, align 8 | |
| %18 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| store i8 0, i8* %18, align 1 | |
| br label %join5 | |
| cond2: ; preds = %next | |
| %19 = icmp eq i64 %13, -9223372036854775808 | |
| br i1 %19, label %cond4, label %next3 | |
| next3: ; preds = %cond2 | |
| br label %next1 | |
| cond4: ; preds = %cond2 | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43583) | |
| unreachable | |
| join5: ; preds = %next1, %then-block-6420- | |
| %20 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %20) | |
| %21 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %21) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_shl20h5c790e51b6132409TPbE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i32) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i32 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| store i32 %2, i32* %rhs, align 4 | |
| %5 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %6 = load i32, i32* %rhs, align 4 | |
| %7 = and i32 %6, 63 | |
| %8 = load i64, i64* %self, align 8 | |
| %9 = zext i32 %7 to i64 | |
| %10 = and i64 %9, 63 | |
| %11 = shl i64 %8, %10 | |
| store i64 %11, i64* %5, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %13 = load i32, i32* %rhs, align 4 | |
| %14 = icmp ugt i32 %13, 63 | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %12, align 1 | |
| %16 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %16) | |
| %17 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %17) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_shr20h991ddb5b8ca35fefgQbE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i32) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i32 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| store i32 %2, i32* %rhs, align 4 | |
| %5 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %6 = load i32, i32* %rhs, align 4 | |
| %7 = and i32 %6, 63 | |
| %8 = load i64, i64* %self, align 8 | |
| %9 = zext i32 %7 to i64 | |
| %10 = and i64 %9, 63 | |
| %11 = ashr i64 %8, %10 | |
| store i64 %11, i64* %5, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %13 = load i32, i32* %rhs, align 4 | |
| %14 = icmp ugt i32 %13, 63 | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %12, align 1 | |
| %16 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %16) | |
| %17 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %17) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_neg20h4029042b00095a7cDQbE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %1, i64* %self, align 8 | |
| %3 = load i64, i64* %self, align 8 | |
| %4 = icmp eq i64 %3, -9223372036854775808 | |
| br i1 %4, label %then-block-6490-, label %else-block | |
| then-block-6490-: ; preds = %entry-block | |
| %5 = bitcast { i64, i8 }* %0 to { i64, i1, [7 x i8] }* | |
| %6 = bitcast { i64, i1, [7 x i8] }* %5 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %6, i8* bitcast ({ i64, i1, [7 x i8] }* @const43601 to i8*), i64 16, i32 8, i1 false) | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %7 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %8 = load i64, i64* %self, align 8 | |
| %9 = sub i64 0, %8 | |
| store i64 %9, i64* %7, align 8 | |
| %10 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| store i8 0, i8* %10, align 1 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-6490- | |
| %11 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17u8.OverflowingOps15overflowing_add20hc9776e63858bc0a34QbE(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| %tmp = alloca { i8, i8 } | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = load i8, i8* %rhs, align 1 | |
| %4 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %2, i8 %3) | |
| %5 = extractvalue { i8, i1 } %4, 0 | |
| %6 = extractvalue { i8, i1 } %4, 1 | |
| %7 = zext i1 %6 to i8 | |
| %8 = insertvalue { i8, i8 } undef, i8 %5, 0 | |
| %9 = insertvalue { i8, i8 } %8, i8 %7, 1 | |
| %10 = bitcast { i8, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %10) | |
| store { i8, i8 } %9, { i8, i8 }* %tmp | |
| %11 = bitcast { i8, i8 }* %tmp to i16* | |
| %12 = load i16, i16* %11, align 1 | |
| %13 = bitcast { i8, i8 }* %sret_slot to i16* | |
| store i16 %12, i16* %13, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %14 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 1 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i8, i1 } @llvm.uadd.with.overflow.i8(i8, i8) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17u8.OverflowingOps15overflowing_sub20hdc2edf2fcbb861e1mRbE(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| %tmp = alloca { i8, i8 } | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = load i8, i8* %rhs, align 1 | |
| %4 = call { i8, i1 } @llvm.usub.with.overflow.i8(i8 %2, i8 %3) | |
| %5 = extractvalue { i8, i1 } %4, 0 | |
| %6 = extractvalue { i8, i1 } %4, 1 | |
| %7 = zext i1 %6 to i8 | |
| %8 = insertvalue { i8, i8 } undef, i8 %5, 0 | |
| %9 = insertvalue { i8, i8 } %8, i8 %7, 1 | |
| %10 = bitcast { i8, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %10) | |
| store { i8, i8 } %9, { i8, i8 }* %tmp | |
| %11 = bitcast { i8, i8 }* %tmp to i16* | |
| %12 = load i16, i16* %11, align 1 | |
| %13 = bitcast { i8, i8 }* %sret_slot to i16* | |
| store i16 %12, i16* %13, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %14 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 1 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i8, i1 } @llvm.usub.with.overflow.i8(i8, i8) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17u8.OverflowingOps15overflowing_mul20h840646b983ab5673ERbE(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| %tmp = alloca { i8, i8 } | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = load i8, i8* %rhs, align 1 | |
| %4 = call { i8, i1 } @llvm.umul.with.overflow.i8(i8 %2, i8 %3) | |
| %5 = extractvalue { i8, i1 } %4, 0 | |
| %6 = extractvalue { i8, i1 } %4, 1 | |
| %7 = zext i1 %6 to i8 | |
| %8 = insertvalue { i8, i8 } undef, i8 %5, 0 | |
| %9 = insertvalue { i8, i8 } %8, i8 %7, 1 | |
| %10 = bitcast { i8, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %10) | |
| store { i8, i8 } %9, { i8, i8 }* %tmp | |
| %11 = bitcast { i8, i8 }* %tmp to i16* | |
| %12 = load i16, i16* %11, align 1 | |
| %13 = bitcast { i8, i8 }* %sret_slot to i16* | |
| store i16 %12, i16* %13, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %14 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %15 = load i16, i16* %14, align 1 | |
| ret i16 %15 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i8, i1 } @llvm.umul.with.overflow.i8(i8, i8) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17u8.OverflowingOps15overflowing_div20h4f9e492696057376WRbE(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %3 = load i8, i8* %self, align 1 | |
| %4 = load i8, i8* %rhs, align 1 | |
| %5 = icmp eq i8 %4, 0 | |
| br i1 %5, label %cond, label %next | |
| next: ; preds = %entry-block | |
| %6 = udiv i8 %3, %4 | |
| store i8 %6, i8* %2, align 1 | |
| %7 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %7, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %8 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %9 = load i16, i16* %8, align 1 | |
| ret i16 %9 | |
| cond: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43602) | |
| unreachable | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17u8.OverflowingOps15overflowing_rem20h1d385d2449292797dSbE(i8, i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %rhs) | |
| store i8 %1, i8* %rhs, align 1 | |
| %2 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %3 = load i8, i8* %self, align 1 | |
| %4 = load i8, i8* %rhs, align 1 | |
| %5 = icmp eq i8 %4, 0 | |
| br i1 %5, label %cond, label %next | |
| next: ; preds = %entry-block | |
| %6 = urem i8 %3, %4 | |
| store i8 %6, i8* %2, align 1 | |
| %7 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %7, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %rhs) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %8 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %9 = load i16, i16* %8, align 1 | |
| ret i16 %9 | |
| cond: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43603) | |
| unreachable | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17u8.OverflowingOps15overflowing_shl20hb05dd6f4e30e43cfuSbE(i8, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i32 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| %2 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %1, i32* %rhs, align 4 | |
| %3 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %4 = load i32, i32* %rhs, align 4 | |
| %5 = and i32 %4, 7 | |
| %6 = load i8, i8* %self, align 1 | |
| %7 = trunc i32 %5 to i8 | |
| %8 = and i8 %7, 7 | |
| %9 = shl i8 %6, %8 | |
| store i8 %9, i8* %3, align 1 | |
| %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| %11 = load i32, i32* %rhs, align 4 | |
| %12 = icmp ugt i32 %11, 7 | |
| %13 = zext i1 %12 to i8 | |
| store i8 %13, i8* %10, align 1 | |
| %14 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %14) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %15 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %16 = load i16, i16* %15, align 1 | |
| ret i16 %16 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17u8.OverflowingOps15overflowing_shr20h808578ceaf704c5fRSbE(i8, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %rhs = alloca i32 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| %2 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %1, i32* %rhs, align 4 | |
| %3 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %4 = load i32, i32* %rhs, align 4 | |
| %5 = and i32 %4, 7 | |
| %6 = load i8, i8* %self, align 1 | |
| %7 = trunc i32 %5 to i8 | |
| %8 = and i8 %7, 7 | |
| %9 = lshr i8 %6, %8 | |
| store i8 %9, i8* %3, align 1 | |
| %10 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| %11 = load i32, i32* %rhs, align 4 | |
| %12 = icmp ugt i32 %11, 7 | |
| %13 = zext i1 %12 to i8 | |
| store i8 %13, i8* %10, align 1 | |
| %14 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %14) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %15 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %16 = load i16, i16* %15, align 1 | |
| ret i16 %16 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i16 @_ZN3num8wrapping17u8.OverflowingOps15overflowing_neg20hd41ef787b1772c23eTbE(i8) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| %1 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %2 = load i8, i8* %self, align 1 | |
| %3 = xor i8 %2, -1 | |
| %4 = call i8 @_ZN3num2u812wrapping_add20hc8a32ac693713172ysgE(i8 %3, i8 1) | |
| store i8 %4, i8* %1, align 1 | |
| %5 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 1, i8* %5, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %6 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %7 = load i16, i16* %6, align 1 | |
| ret i16 %7 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18u16.OverflowingOps15overflowing_add20ha29b9399e0e9799dyTbE(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %tmp = alloca { i16, i8 } | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = load i16, i16* %rhs, align 2 | |
| %6 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %4, i16 %5) | |
| %7 = extractvalue { i16, i1 } %6, 0 | |
| %8 = extractvalue { i16, i1 } %6, 1 | |
| %9 = zext i1 %8 to i8 | |
| %10 = insertvalue { i16, i8 } undef, i16 %7, 0 | |
| %11 = insertvalue { i16, i8 } %10, i8 %9, 1 | |
| %12 = bitcast { i16, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %12) | |
| store { i16, i8 } %11, { i16, i8 }* %tmp | |
| %13 = bitcast { i16, i8 }* %tmp to i32* | |
| %14 = load i32, i32* %13, align 2 | |
| %15 = bitcast { i16, i8 }* %sret_slot to i32* | |
| store i32 %14, i32* %15, align 2 | |
| %16 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %16) | |
| %17 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %17) | |
| %18 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %19 = load i32, i32* %18, align 2 | |
| ret i32 %19 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i16, i1 } @llvm.uadd.with.overflow.i16(i16, i16) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18u16.OverflowingOps15overflowing_sub20h48c69bc173bb4c50QTbE(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %tmp = alloca { i16, i8 } | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = load i16, i16* %rhs, align 2 | |
| %6 = call { i16, i1 } @llvm.usub.with.overflow.i16(i16 %4, i16 %5) | |
| %7 = extractvalue { i16, i1 } %6, 0 | |
| %8 = extractvalue { i16, i1 } %6, 1 | |
| %9 = zext i1 %8 to i8 | |
| %10 = insertvalue { i16, i8 } undef, i16 %7, 0 | |
| %11 = insertvalue { i16, i8 } %10, i8 %9, 1 | |
| %12 = bitcast { i16, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %12) | |
| store { i16, i8 } %11, { i16, i8 }* %tmp | |
| %13 = bitcast { i16, i8 }* %tmp to i32* | |
| %14 = load i32, i32* %13, align 2 | |
| %15 = bitcast { i16, i8 }* %sret_slot to i32* | |
| store i32 %14, i32* %15, align 2 | |
| %16 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %16) | |
| %17 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %17) | |
| %18 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %19 = load i32, i32* %18, align 2 | |
| ret i32 %19 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i16, i1 } @llvm.usub.with.overflow.i16(i16, i16) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18u16.OverflowingOps15overflowing_mul20hed3a00c1d54d8c1d8TbE(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %tmp = alloca { i16, i8 } | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = load i16, i16* %self, align 2 | |
| %5 = load i16, i16* %rhs, align 2 | |
| %6 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %4, i16 %5) | |
| %7 = extractvalue { i16, i1 } %6, 0 | |
| %8 = extractvalue { i16, i1 } %6, 1 | |
| %9 = zext i1 %8 to i8 | |
| %10 = insertvalue { i16, i8 } undef, i16 %7, 0 | |
| %11 = insertvalue { i16, i8 } %10, i8 %9, 1 | |
| %12 = bitcast { i16, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %12) | |
| store { i16, i8 } %11, { i16, i8 }* %tmp | |
| %13 = bitcast { i16, i8 }* %tmp to i32* | |
| %14 = load i32, i32* %13, align 2 | |
| %15 = bitcast { i16, i8 }* %sret_slot to i32* | |
| store i32 %14, i32* %15, align 2 | |
| %16 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %16) | |
| %17 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %17) | |
| %18 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %19 = load i32, i32* %18, align 2 | |
| ret i32 %19 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i16, i1 } @llvm.umul.with.overflow.i16(i16, i16) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18u16.OverflowingOps15overflowing_div20h32091944d2fb57e5qUbE(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 0 | |
| %5 = load i16, i16* %self, align 2 | |
| %6 = load i16, i16* %rhs, align 2 | |
| %7 = icmp eq i16 %6, 0 | |
| br i1 %7, label %cond, label %next | |
| next: ; preds = %entry-block | |
| %8 = udiv i16 %5, %6 | |
| store i16 %8, i16* %4, align 2 | |
| %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %9, align 1 | |
| %10 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %10) | |
| %11 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %11) | |
| %12 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %13 = load i32, i32* %12, align 2 | |
| ret i32 %13 | |
| cond: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43602) | |
| unreachable | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18u16.OverflowingOps15overflowing_rem20h9497910ece68bb8cHUbE(i16, i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i16 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %3) | |
| store i16 %1, i16* %rhs, align 2 | |
| %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 0 | |
| %5 = load i16, i16* %self, align 2 | |
| %6 = load i16, i16* %rhs, align 2 | |
| %7 = icmp eq i16 %6, 0 | |
| br i1 %7, label %cond, label %next | |
| next: ; preds = %entry-block | |
| %8 = urem i16 %5, %6 | |
| store i16 %8, i16* %4, align 2 | |
| %9 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %9, align 1 | |
| %10 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %10) | |
| %11 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %11) | |
| %12 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %13 = load i32, i32* %12, align 2 | |
| ret i32 %13 | |
| cond: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43603) | |
| unreachable | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18u16.OverflowingOps15overflowing_shl20h1502952d103fb6b2YUbE(i16, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i32 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 0 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = and i32 %5, 15 | |
| %7 = load i16, i16* %self, align 2 | |
| %8 = trunc i32 %6 to i16 | |
| %9 = and i16 %8, 15 | |
| %10 = shl i16 %7, %9 | |
| store i16 %10, i16* %4, align 2 | |
| %11 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 1 | |
| %12 = load i32, i32* %rhs, align 4 | |
| %13 = icmp ugt i32 %12, 15 | |
| %14 = zext i1 %13 to i8 | |
| store i8 %14, i8* %11, align 1 | |
| %15 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %15) | |
| %16 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %16) | |
| %17 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %18 = load i32, i32* %17, align 2 | |
| ret i32 %18 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18u16.OverflowingOps15overflowing_shr20he4dbc90acfa38e40lVbE(i16, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %rhs = alloca i32 | |
| %2 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %2) | |
| store i16 %0, i16* %self, align 2 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 0 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = and i32 %5, 15 | |
| %7 = load i16, i16* %self, align 2 | |
| %8 = trunc i32 %6 to i16 | |
| %9 = and i16 %8, 15 | |
| %10 = lshr i16 %7, %9 | |
| store i16 %10, i16* %4, align 2 | |
| %11 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 1 | |
| %12 = load i32, i32* %rhs, align 4 | |
| %13 = icmp ugt i32 %12, 15 | |
| %14 = zext i1 %13 to i8 | |
| store i8 %14, i8* %11, align 1 | |
| %15 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %15) | |
| %16 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %16) | |
| %17 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %18 = load i32, i32* %17, align 2 | |
| ret i32 %18 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i32 @_ZN3num8wrapping18u16.OverflowingOps15overflowing_neg20h785b518a961c5058IVbE(i16) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i8 } | |
| %self = alloca i16 | |
| %1 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %1) | |
| store i16 %0, i16* %self, align 2 | |
| %2 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 0 | |
| %3 = load i16, i16* %self, align 2 | |
| %4 = xor i16 %3, -1 | |
| %5 = call i16 @_ZN3num3u1612wrapping_add20h54caf0e7cdda9b7bbEgE(i16 %4, i16 1) | |
| store i16 %5, i16* %2, align 2 | |
| %6 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 1, i8* %6, align 1 | |
| %7 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %7) | |
| %8 = bitcast { i16, i8 }* %sret_slot to i32* | |
| %9 = load i32, i32* %8, align 2 | |
| ret i32 %9 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18u32.OverflowingOps15overflowing_add20hf8288f768e74e6832VbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %tmp = alloca { i32, i8 } | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %4, i32 %5) | |
| %7 = extractvalue { i32, i1 } %6, 0 | |
| %8 = extractvalue { i32, i1 } %6, 1 | |
| %9 = zext i1 %8 to i8 | |
| %10 = insertvalue { i32, i8 } undef, i32 %7, 0 | |
| %11 = insertvalue { i32, i8 } %10, i8 %9, 1 | |
| %12 = bitcast { i32, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %12) | |
| store { i32, i8 } %11, { i32, i8 }* %tmp | |
| %13 = bitcast { i32, i8 }* %tmp to i64* | |
| %14 = load i64, i64* %13, align 4 | |
| %15 = bitcast { i32, i8 }* %sret_slot to i64* | |
| store i64 %14, i64* %15, align 4 | |
| %16 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %16) | |
| %17 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %17) | |
| %18 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %19 = load i64, i64* %18, align 4 | |
| ret i64 %19 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i32, i1 } @llvm.uadd.with.overflow.i32(i32, i32) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18u32.OverflowingOps15overflowing_sub20h6721824184383a57kWbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %tmp = alloca { i32, i8 } | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = call { i32, i1 } @llvm.usub.with.overflow.i32(i32 %4, i32 %5) | |
| %7 = extractvalue { i32, i1 } %6, 0 | |
| %8 = extractvalue { i32, i1 } %6, 1 | |
| %9 = zext i1 %8 to i8 | |
| %10 = insertvalue { i32, i8 } undef, i32 %7, 0 | |
| %11 = insertvalue { i32, i8 } %10, i8 %9, 1 | |
| %12 = bitcast { i32, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %12) | |
| store { i32, i8 } %11, { i32, i8 }* %tmp | |
| %13 = bitcast { i32, i8 }* %tmp to i64* | |
| %14 = load i64, i64* %13, align 4 | |
| %15 = bitcast { i32, i8 }* %sret_slot to i64* | |
| store i64 %14, i64* %15, align 4 | |
| %16 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %16) | |
| %17 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %17) | |
| %18 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %19 = load i64, i64* %18, align 4 | |
| ret i64 %19 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i32, i1 } @llvm.usub.with.overflow.i32(i32, i32) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18u32.OverflowingOps15overflowing_mul20hba622f339c467cf9CWbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %tmp = alloca { i32, i8 } | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = load i32, i32* %self, align 4 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %4, i32 %5) | |
| %7 = extractvalue { i32, i1 } %6, 0 | |
| %8 = extractvalue { i32, i1 } %6, 1 | |
| %9 = zext i1 %8 to i8 | |
| %10 = insertvalue { i32, i8 } undef, i32 %7, 0 | |
| %11 = insertvalue { i32, i8 } %10, i8 %9, 1 | |
| %12 = bitcast { i32, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %12) | |
| store { i32, i8 } %11, { i32, i8 }* %tmp | |
| %13 = bitcast { i32, i8 }* %tmp to i64* | |
| %14 = load i64, i64* %13, align 4 | |
| %15 = bitcast { i32, i8 }* %sret_slot to i64* | |
| store i64 %14, i64* %15, align 4 | |
| %16 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %16) | |
| %17 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %17) | |
| %18 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %19 = load i64, i64* %18, align 4 | |
| ret i64 %19 | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i32, i1 } @llvm.umul.with.overflow.i32(i32, i32) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18u32.OverflowingOps15overflowing_div20hd30e2ed2f4177aa3UWbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 0 | |
| %5 = load i32, i32* %self, align 4 | |
| %6 = load i32, i32* %rhs, align 4 | |
| %7 = icmp eq i32 %6, 0 | |
| br i1 %7, label %cond, label %next | |
| next: ; preds = %entry-block | |
| %8 = udiv i32 %5, %6 | |
| store i32 %8, i32* %4, align 4 | |
| %9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %9, align 1 | |
| %10 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %10) | |
| %11 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %11) | |
| %12 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %13 = load i64, i64* %12, align 4 | |
| ret i64 %13 | |
| cond: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43602) | |
| unreachable | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18u32.OverflowingOps15overflowing_rem20hc3e4904e0017f192bXbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 0 | |
| %5 = load i32, i32* %self, align 4 | |
| %6 = load i32, i32* %rhs, align 4 | |
| %7 = icmp eq i32 %6, 0 | |
| br i1 %7, label %cond, label %next | |
| next: ; preds = %entry-block | |
| %8 = urem i32 %5, %6 | |
| store i32 %8, i32* %4, align 4 | |
| %9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 0, i8* %9, align 1 | |
| %10 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %10) | |
| %11 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %11) | |
| %12 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %13 = load i64, i64* %12, align 4 | |
| ret i64 %13 | |
| cond: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43603) | |
| unreachable | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18u32.OverflowingOps15overflowing_shl20hb0df96758be5f4e2sXbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 0 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = and i32 %5, 31 | |
| %7 = load i32, i32* %self, align 4 | |
| %8 = and i32 %6, 31 | |
| %9 = shl i32 %7, %8 | |
| store i32 %9, i32* %4, align 4 | |
| %10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 1 | |
| %11 = load i32, i32* %rhs, align 4 | |
| %12 = icmp ugt i32 %11, 31 | |
| %13 = zext i1 %12 to i8 | |
| store i8 %13, i8* %10, align 1 | |
| %14 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %14) | |
| %15 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %15) | |
| %16 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %17 = load i64, i64* %16, align 4 | |
| ret i64 %17 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18u32.OverflowingOps15overflowing_shr20h5f2e39a7a7f725ecPXbE(i32, i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %rhs = alloca i32 | |
| %2 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %0, i32* %self, align 4 | |
| %3 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %3) | |
| store i32 %1, i32* %rhs, align 4 | |
| %4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 0 | |
| %5 = load i32, i32* %rhs, align 4 | |
| %6 = and i32 %5, 31 | |
| %7 = load i32, i32* %self, align 4 | |
| %8 = and i32 %6, 31 | |
| %9 = lshr i32 %7, %8 | |
| store i32 %9, i32* %4, align 4 | |
| %10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 1 | |
| %11 = load i32, i32* %rhs, align 4 | |
| %12 = icmp ugt i32 %11, 31 | |
| %13 = zext i1 %12 to i8 | |
| store i8 %13, i8* %10, align 1 | |
| %14 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %14) | |
| %15 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %15) | |
| %16 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %17 = load i64, i64* %16, align 4 | |
| ret i64 %17 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define i64 @_ZN3num8wrapping18u32.OverflowingOps15overflowing_neg20h90660b8c9d1dd3b8cYbE(i32) unnamed_addr #6 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i8 } | |
| %self = alloca i32 | |
| %1 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %1) | |
| store i32 %0, i32* %self, align 4 | |
| %2 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 0 | |
| %3 = load i32, i32* %self, align 4 | |
| %4 = xor i32 %3, -1 | |
| %5 = call i32 @_ZN3num3u3212wrapping_add20h39718c532b7e77c7OPgE(i32 %4, i32 1) | |
| store i32 %5, i32* %2, align 4 | |
| %6 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %sret_slot, i32 0, i32 1 | |
| store i8 1, i8* %6, align 1 | |
| %7 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %7) | |
| %8 = bitcast { i32, i8 }* %sret_slot to i64* | |
| %9 = load i64, i64* %8, align 4 | |
| ret i64 %9 | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_add20ha0207dcfd28513b3wYbE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = load i64, i64* %self, align 8 | |
| %6 = load i64, i64* %rhs, align 8 | |
| %7 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %5, i64 %6) | |
| %8 = extractvalue { i64, i1 } %7, 0 | |
| %9 = extractvalue { i64, i1 } %7, 1 | |
| %10 = zext i1 %9 to i8 | |
| %11 = insertvalue { i64, i8 } undef, i64 %8, 0 | |
| %12 = insertvalue { i64, i8 } %11, i8 %10, 1 | |
| store { i64, i8 } %12, { i64, i8 }* %0, align 8 | |
| %13 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %14) | |
| ret void | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i64, i1 } @llvm.uadd.with.overflow.i64(i64, i64) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_sub20h6f596f830ba6bcbeOYbE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = load i64, i64* %self, align 8 | |
| %6 = load i64, i64* %rhs, align 8 | |
| %7 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %5, i64 %6) | |
| %8 = extractvalue { i64, i1 } %7, 0 | |
| %9 = extractvalue { i64, i1 } %7, 1 | |
| %10 = zext i1 %9 to i8 | |
| %11 = insertvalue { i64, i8 } undef, i64 %8, 0 | |
| %12 = insertvalue { i64, i8 } %11, i8 %10, 1 | |
| store { i64, i8 } %12, { i64, i8 }* %0, align 8 | |
| %13 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %14) | |
| ret void | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i64, i1 } @llvm.usub.with.overflow.i64(i64, i64) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_mul20h71795bbcab9a51bd6YbE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = load i64, i64* %self, align 8 | |
| %6 = load i64, i64* %rhs, align 8 | |
| %7 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %5, i64 %6) | |
| %8 = extractvalue { i64, i1 } %7, 0 | |
| %9 = extractvalue { i64, i1 } %7, 1 | |
| %10 = zext i1 %9 to i8 | |
| %11 = insertvalue { i64, i8 } undef, i64 %8, 0 | |
| %12 = insertvalue { i64, i8 } %11, i8 %10, 1 | |
| store { i64, i8 } %12, { i64, i8 }* %0, align 8 | |
| %13 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %14) | |
| ret void | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare { i64, i1 } @llvm.umul.with.overflow.i64(i64, i64) unnamed_addr #5 | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_div20h9f1390a24b439586oZbE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %6 = load i64, i64* %self, align 8 | |
| %7 = load i64, i64* %rhs, align 8 | |
| %8 = icmp eq i64 %7, 0 | |
| br i1 %8, label %cond, label %next | |
| next: ; preds = %entry-block | |
| %9 = udiv i64 %6, %7 | |
| store i64 %9, i64* %5, align 8 | |
| %10 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| store i8 0, i8* %10, align 1 | |
| %11 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| ret void | |
| cond: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43602) | |
| unreachable | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_rem20h1fbf67b672b46663FZbE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %6 = load i64, i64* %self, align 8 | |
| %7 = load i64, i64* %rhs, align 8 | |
| %8 = icmp eq i64 %7, 0 | |
| br i1 %8, label %cond, label %next | |
| next: ; preds = %entry-block | |
| %9 = urem i64 %6, %7 | |
| store i64 %9, i64* %5, align 8 | |
| %10 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| store i8 0, i8* %10, align 1 | |
| %11 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| ret void | |
| cond: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43603) | |
| unreachable | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_shl20h6b57e4a6072b750aWZbE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i32) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i32 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| store i32 %2, i32* %rhs, align 4 | |
| %5 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %6 = load i32, i32* %rhs, align 4 | |
| %7 = and i32 %6, 63 | |
| %8 = load i64, i64* %self, align 8 | |
| %9 = zext i32 %7 to i64 | |
| %10 = and i64 %9, 63 | |
| %11 = shl i64 %8, %10 | |
| store i64 %11, i64* %5, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %13 = load i32, i32* %rhs, align 4 | |
| %14 = icmp ugt i32 %13, 63 | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %12, align 1 | |
| %16 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %16) | |
| %17 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %17) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_shr20h87027d6f7a10fc0cj0bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i32) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i32 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| store i32 %2, i32* %rhs, align 4 | |
| %5 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %6 = load i32, i32* %rhs, align 4 | |
| %7 = and i32 %6, 63 | |
| %8 = load i64, i64* %self, align 8 | |
| %9 = zext i32 %7 to i64 | |
| %10 = and i64 %9, 63 | |
| %11 = lshr i64 %8, %10 | |
| store i64 %11, i64* %5, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %13 = load i32, i32* %rhs, align 4 | |
| %14 = icmp ugt i32 %13, 63 | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %12, align 1 | |
| %16 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %16) | |
| %17 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %17) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_neg20h2b935556cccf3acdG0bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %1, i64* %self, align 8 | |
| %3 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = xor i64 %4, -1 | |
| %6 = call i64 @_ZN3num3u6412wrapping_add20h14585383ea5422dcr1gE(i64 %5, i64 1) | |
| store i64 %6, i64* %3, align 8 | |
| %7 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| store i8 1, i8* %7, align 1 | |
| %8 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20usize.OverflowingOps15overflowing_add20hae272db05ab30d1100bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %res = alloca { i64, i8 } | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = bitcast { i64, i8 }* %res to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| %6 = load i64, i64* %self, align 8 | |
| %7 = load i64, i64* %rhs, align 8 | |
| %8 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %6, i64 %7) | |
| %9 = extractvalue { i64, i1 } %8, 0 | |
| %10 = extractvalue { i64, i1 } %8, 1 | |
| %11 = zext i1 %10 to i8 | |
| %12 = insertvalue { i64, i8 } undef, i64 %9, 0 | |
| %13 = insertvalue { i64, i8 } %12, i8 %11, 1 | |
| store { i64, i8 } %13, { i64, i8 }* %res, align 8 | |
| %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %15 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %res, i32 0, i32 0 | |
| %16 = load i64, i64* %15, align 8 | |
| store i64 %16, i64* %14, align 8 | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %18 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %res, i32 0, i32 1 | |
| %19 = load i8, i8* %18, align 1, !range !1 | |
| %20 = trunc i8 %19 to i1 | |
| %21 = zext i1 %20 to i8 | |
| store i8 %21, i8* %17, align 1 | |
| %22 = bitcast { i64, i8 }* %res to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %22) | |
| %23 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %24) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20usize.OverflowingOps15overflowing_sub20h88757c75421619d3w1bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %res = alloca { i64, i8 } | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = bitcast { i64, i8 }* %res to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| %6 = load i64, i64* %self, align 8 | |
| %7 = load i64, i64* %rhs, align 8 | |
| %8 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %6, i64 %7) | |
| %9 = extractvalue { i64, i1 } %8, 0 | |
| %10 = extractvalue { i64, i1 } %8, 1 | |
| %11 = zext i1 %10 to i8 | |
| %12 = insertvalue { i64, i8 } undef, i64 %9, 0 | |
| %13 = insertvalue { i64, i8 } %12, i8 %11, 1 | |
| store { i64, i8 } %13, { i64, i8 }* %res, align 8 | |
| %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %15 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %res, i32 0, i32 0 | |
| %16 = load i64, i64* %15, align 8 | |
| store i64 %16, i64* %14, align 8 | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %18 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %res, i32 0, i32 1 | |
| %19 = load i8, i8* %18, align 1, !range !1 | |
| %20 = trunc i8 %19 to i1 | |
| %21 = zext i1 %20 to i8 | |
| store i8 %21, i8* %17, align 1 | |
| %22 = bitcast { i64, i8 }* %res to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %22) | |
| %23 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %24) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20usize.OverflowingOps15overflowing_mul20h3b948f8c48932ec321bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %res = alloca { i64, i8 } | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = bitcast { i64, i8 }* %res to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| %6 = load i64, i64* %self, align 8 | |
| %7 = load i64, i64* %rhs, align 8 | |
| %8 = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %6, i64 %7) | |
| %9 = extractvalue { i64, i1 } %8, 0 | |
| %10 = extractvalue { i64, i1 } %8, 1 | |
| %11 = zext i1 %10 to i8 | |
| %12 = insertvalue { i64, i8 } undef, i64 %9, 0 | |
| %13 = insertvalue { i64, i8 } %12, i8 %11, 1 | |
| store { i64, i8 } %13, { i64, i8 }* %res, align 8 | |
| %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %15 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %res, i32 0, i32 0 | |
| %16 = load i64, i64* %15, align 8 | |
| store i64 %16, i64* %14, align 8 | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %18 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %res, i32 0, i32 1 | |
| %19 = load i8, i8* %18, align 1, !range !1 | |
| %20 = trunc i8 %19 to i1 | |
| %21 = zext i1 %20 to i8 | |
| store i8 %21, i8* %17, align 1 | |
| %22 = bitcast { i64, i8 }* %res to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %22) | |
| %23 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %24) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20usize.OverflowingOps15overflowing_div20h4b55a43ba09454efy2bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = alloca { i64, i8 } | |
| %r = alloca i64 | |
| %f = alloca i8 | |
| %4 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %self, align 8 | |
| %5 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| store i64 %2, i64* %rhs, align 8 | |
| %6 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| %7 = load i64, i64* %self, align 8 | |
| %8 = load i64, i64* %rhs, align 8 | |
| call void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_div20h9f1390a24b439586oZbE({ i64, i8 }* noalias nocapture sret dereferenceable(16) %3, i64 %7, i64 %8) | |
| %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 0 | |
| %10 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = load i64, i64* %9, align 8 | |
| store i64 %11, i64* %r, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %f) | |
| %13 = load i8, i8* %12, align 1, !range !1 | |
| %14 = trunc i8 %13 to i1 | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %f, align 1 | |
| %16 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %16) | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %18 = load i64, i64* %r, align 8 | |
| store i64 %18, i64* %17, align 8 | |
| %19 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %20 = load i8, i8* %f, align 1, !range !1 | |
| %21 = trunc i8 %20 to i1 | |
| %22 = zext i1 %21 to i8 | |
| store i8 %22, i8* %19, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %f) | |
| %23 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %24) | |
| %25 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20usize.OverflowingOps15overflowing_rem20h379a30ddf97a633922bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = alloca { i64, i8 } | |
| %r = alloca i64 | |
| %f = alloca i8 | |
| %4 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %self, align 8 | |
| %5 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| store i64 %2, i64* %rhs, align 8 | |
| %6 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| %7 = load i64, i64* %self, align 8 | |
| %8 = load i64, i64* %rhs, align 8 | |
| call void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_rem20h1fbf67b672b46663FZbE({ i64, i8 }* noalias nocapture sret dereferenceable(16) %3, i64 %7, i64 %8) | |
| %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 0 | |
| %10 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = load i64, i64* %9, align 8 | |
| store i64 %11, i64* %r, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %f) | |
| %13 = load i8, i8* %12, align 1, !range !1 | |
| %14 = trunc i8 %13 to i1 | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %f, align 1 | |
| %16 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %16) | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %18 = load i64, i64* %r, align 8 | |
| store i64 %18, i64* %17, align 8 | |
| %19 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %20 = load i8, i8* %f, align 1, !range !1 | |
| %21 = trunc i8 %20 to i1 | |
| %22 = zext i1 %21 to i8 | |
| store i8 %22, i8* %19, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %f) | |
| %23 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %24) | |
| %25 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20usize.OverflowingOps15overflowing_neg20h610c9144b77318aaw3bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %2 = alloca { i64, i8 } | |
| %r = alloca i64 | |
| %f = alloca i8 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast { i64, i8 }* %2 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %4) | |
| %5 = load i64, i64* %self, align 8 | |
| call void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_neg20h2b935556cccf3acdG0bE({ i64, i8 }* noalias nocapture sret dereferenceable(16) %2, i64 %5) | |
| %6 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %2, i32 0, i32 0 | |
| %7 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %7) | |
| %8 = load i64, i64* %6, align 8 | |
| store i64 %8, i64* %r, align 8 | |
| %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %2, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %f) | |
| %10 = load i8, i8* %9, align 1, !range !1 | |
| %11 = trunc i8 %10 to i1 | |
| %12 = zext i1 %11 to i8 | |
| store i8 %12, i8* %f, align 1 | |
| %13 = bitcast { i64, i8 }* %2 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %13) | |
| %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %15 = load i64, i64* %r, align 8 | |
| store i64 %15, i64* %14, align 8 | |
| %16 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %17 = load i8, i8* %f, align 1, !range !1 | |
| %18 = trunc i8 %17 to i1 | |
| %19 = zext i1 %18 to i8 | |
| store i8 %19, i8* %16, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %f) | |
| %20 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %20) | |
| %21 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %21) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20usize.OverflowingOps15overflowing_shl20hba4fe07ce2777651U3bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i32) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i32 | |
| %3 = alloca { i64, i8 } | |
| %r = alloca i64 | |
| %f = alloca i8 | |
| %4 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %self, align 8 | |
| %5 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %5) | |
| store i32 %2, i32* %rhs, align 4 | |
| %6 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| %7 = load i64, i64* %self, align 8 | |
| %8 = load i32, i32* %rhs, align 4 | |
| call void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_shl20h6b57e4a6072b750aWZbE({ i64, i8 }* noalias nocapture sret dereferenceable(16) %3, i64 %7, i32 %8) | |
| %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 0 | |
| %10 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = load i64, i64* %9, align 8 | |
| store i64 %11, i64* %r, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %f) | |
| %13 = load i8, i8* %12, align 1, !range !1 | |
| %14 = trunc i8 %13 to i1 | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %f, align 1 | |
| %16 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %16) | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %18 = load i64, i64* %r, align 8 | |
| store i64 %18, i64* %17, align 8 | |
| %19 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %20 = load i8, i8* %f, align 1, !range !1 | |
| %21 = trunc i8 %20 to i1 | |
| %22 = zext i1 %21 to i8 | |
| store i8 %22, i8* %19, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %f) | |
| %23 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %24) | |
| %25 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20usize.OverflowingOps15overflowing_shr20h88a0448e8e847c58m4bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i32) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i32 | |
| %3 = alloca { i64, i8 } | |
| %r = alloca i64 | |
| %f = alloca i8 | |
| %4 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %self, align 8 | |
| %5 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %5) | |
| store i32 %2, i32* %rhs, align 4 | |
| %6 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| %7 = load i64, i64* %self, align 8 | |
| %8 = load i32, i32* %rhs, align 4 | |
| call void @_ZN3num8wrapping18u64.OverflowingOps15overflowing_shr20h87027d6f7a10fc0cj0bE({ i64, i8 }* noalias nocapture sret dereferenceable(16) %3, i64 %7, i32 %8) | |
| %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 0 | |
| %10 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = load i64, i64* %9, align 8 | |
| store i64 %11, i64* %r, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %f) | |
| %13 = load i8, i8* %12, align 1, !range !1 | |
| %14 = trunc i8 %13 to i1 | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %f, align 1 | |
| %16 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %16) | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %18 = load i64, i64* %r, align 8 | |
| store i64 %18, i64* %17, align 8 | |
| %19 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %20 = load i8, i8* %f, align 1, !range !1 | |
| %21 = trunc i8 %20 to i1 | |
| %22 = zext i1 %21 to i8 | |
| store i8 %22, i8* %19, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %f) | |
| %23 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %24) | |
| %25 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20isize.OverflowingOps15overflowing_add20h909a216bae36b048S4bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %res = alloca { i64, i8 } | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = bitcast { i64, i8 }* %res to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| %6 = load i64, i64* %self, align 8 | |
| %7 = load i64, i64* %rhs, align 8 | |
| %8 = call { i64, i1 } @llvm.sadd.with.overflow.i64(i64 %6, i64 %7) | |
| %9 = extractvalue { i64, i1 } %8, 0 | |
| %10 = extractvalue { i64, i1 } %8, 1 | |
| %11 = zext i1 %10 to i8 | |
| %12 = insertvalue { i64, i8 } undef, i64 %9, 0 | |
| %13 = insertvalue { i64, i8 } %12, i8 %11, 1 | |
| store { i64, i8 } %13, { i64, i8 }* %res, align 8 | |
| %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %15 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %res, i32 0, i32 0 | |
| %16 = load i64, i64* %15, align 8 | |
| store i64 %16, i64* %14, align 8 | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %18 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %res, i32 0, i32 1 | |
| %19 = load i8, i8* %18, align 1, !range !1 | |
| %20 = trunc i8 %19 to i1 | |
| %21 = zext i1 %20 to i8 | |
| store i8 %21, i8* %17, align 1 | |
| %22 = bitcast { i64, i8 }* %res to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %22) | |
| %23 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %24) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20isize.OverflowingOps15overflowing_sub20h35d6435da3e99965o5bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %res = alloca { i64, i8 } | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = bitcast { i64, i8 }* %res to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| %6 = load i64, i64* %self, align 8 | |
| %7 = load i64, i64* %rhs, align 8 | |
| %8 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 %6, i64 %7) | |
| %9 = extractvalue { i64, i1 } %8, 0 | |
| %10 = extractvalue { i64, i1 } %8, 1 | |
| %11 = zext i1 %10 to i8 | |
| %12 = insertvalue { i64, i8 } undef, i64 %9, 0 | |
| %13 = insertvalue { i64, i8 } %12, i8 %11, 1 | |
| store { i64, i8 } %13, { i64, i8 }* %res, align 8 | |
| %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %15 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %res, i32 0, i32 0 | |
| %16 = load i64, i64* %15, align 8 | |
| store i64 %16, i64* %14, align 8 | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %18 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %res, i32 0, i32 1 | |
| %19 = load i8, i8* %18, align 1, !range !1 | |
| %20 = trunc i8 %19 to i1 | |
| %21 = zext i1 %20 to i8 | |
| store i8 %21, i8* %17, align 1 | |
| %22 = bitcast { i64, i8 }* %res to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %22) | |
| %23 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %24) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20isize.OverflowingOps15overflowing_mul20hddfd5cf1539fd978U5bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %res = alloca { i64, i8 } | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %2, i64* %rhs, align 8 | |
| %5 = bitcast { i64, i8 }* %res to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| %6 = load i64, i64* %self, align 8 | |
| %7 = load i64, i64* %rhs, align 8 | |
| %8 = call { i64, i1 } @llvm.smul.with.overflow.i64(i64 %6, i64 %7) | |
| %9 = extractvalue { i64, i1 } %8, 0 | |
| %10 = extractvalue { i64, i1 } %8, 1 | |
| %11 = zext i1 %10 to i8 | |
| %12 = insertvalue { i64, i8 } undef, i64 %9, 0 | |
| %13 = insertvalue { i64, i8 } %12, i8 %11, 1 | |
| store { i64, i8 } %13, { i64, i8 }* %res, align 8 | |
| %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %15 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %res, i32 0, i32 0 | |
| %16 = load i64, i64* %15, align 8 | |
| store i64 %16, i64* %14, align 8 | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %18 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %res, i32 0, i32 1 | |
| %19 = load i8, i8* %18, align 1, !range !1 | |
| %20 = trunc i8 %19 to i1 | |
| %21 = zext i1 %20 to i8 | |
| store i8 %21, i8* %17, align 1 | |
| %22 = bitcast { i64, i8 }* %res to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %22) | |
| %23 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %24) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20isize.OverflowingOps15overflowing_div20h67d77fbfdc0c4b0fq6bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = alloca { i64, i8 } | |
| %r = alloca i64 | |
| %f = alloca i8 | |
| %4 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %self, align 8 | |
| %5 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| store i64 %2, i64* %rhs, align 8 | |
| %6 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| %7 = load i64, i64* %self, align 8 | |
| %8 = load i64, i64* %rhs, align 8 | |
| call void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_div20haf2358da37c53bf2RObE({ i64, i8 }* noalias nocapture sret dereferenceable(16) %3, i64 %7, i64 %8) | |
| %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 0 | |
| %10 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = load i64, i64* %9, align 8 | |
| store i64 %11, i64* %r, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %f) | |
| %13 = load i8, i8* %12, align 1, !range !1 | |
| %14 = trunc i8 %13 to i1 | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %f, align 1 | |
| %16 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %16) | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %18 = load i64, i64* %r, align 8 | |
| store i64 %18, i64* %17, align 8 | |
| %19 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %20 = load i8, i8* %f, align 1, !range !1 | |
| %21 = trunc i8 %20 to i1 | |
| %22 = zext i1 %21 to i8 | |
| store i8 %22, i8* %19, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %f) | |
| %23 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %24) | |
| %25 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20isize.OverflowingOps15overflowing_rem20hbc42a634ae1a2244U6bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i64 | |
| %3 = alloca { i64, i8 } | |
| %r = alloca i64 | |
| %f = alloca i8 | |
| %4 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %self, align 8 | |
| %5 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| store i64 %2, i64* %rhs, align 8 | |
| %6 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| %7 = load i64, i64* %self, align 8 | |
| %8 = load i64, i64* %rhs, align 8 | |
| call void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_rem20h6177c7f991718bf4nPbE({ i64, i8 }* noalias nocapture sret dereferenceable(16) %3, i64 %7, i64 %8) | |
| %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 0 | |
| %10 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = load i64, i64* %9, align 8 | |
| store i64 %11, i64* %r, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %f) | |
| %13 = load i8, i8* %12, align 1, !range !1 | |
| %14 = trunc i8 %13 to i1 | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %f, align 1 | |
| %16 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %16) | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %18 = load i64, i64* %r, align 8 | |
| store i64 %18, i64* %17, align 8 | |
| %19 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %20 = load i8, i8* %f, align 1, !range !1 | |
| %21 = trunc i8 %20 to i1 | |
| %22 = zext i1 %21 to i8 | |
| store i8 %22, i8* %19, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %f) | |
| %23 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %24) | |
| %25 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20isize.OverflowingOps15overflowing_neg20hce84e224f7f54384o7bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %2 = alloca { i64, i8 } | |
| %r = alloca i64 | |
| %f = alloca i8 | |
| %3 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %self, align 8 | |
| %4 = bitcast { i64, i8 }* %2 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %4) | |
| %5 = load i64, i64* %self, align 8 | |
| call void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_neg20h4029042b00095a7cDQbE({ i64, i8 }* noalias nocapture sret dereferenceable(16) %2, i64 %5) | |
| %6 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %2, i32 0, i32 0 | |
| %7 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %7) | |
| %8 = load i64, i64* %6, align 8 | |
| store i64 %8, i64* %r, align 8 | |
| %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %2, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %f) | |
| %10 = load i8, i8* %9, align 1, !range !1 | |
| %11 = trunc i8 %10 to i1 | |
| %12 = zext i1 %11 to i8 | |
| store i8 %12, i8* %f, align 1 | |
| %13 = bitcast { i64, i8 }* %2 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %13) | |
| %14 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %15 = load i64, i64* %r, align 8 | |
| store i64 %15, i64* %14, align 8 | |
| %16 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %17 = load i8, i8* %f, align 1, !range !1 | |
| %18 = trunc i8 %17 to i1 | |
| %19 = zext i1 %18 to i8 | |
| store i8 %19, i8* %16, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %f) | |
| %20 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %20) | |
| %21 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %21) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20isize.OverflowingOps15overflowing_shl20hb8272ded570cffadM7bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i32) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i32 | |
| %3 = alloca { i64, i8 } | |
| %r = alloca i64 | |
| %f = alloca i8 | |
| %4 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %self, align 8 | |
| %5 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %5) | |
| store i32 %2, i32* %rhs, align 4 | |
| %6 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| %7 = load i64, i64* %self, align 8 | |
| %8 = load i32, i32* %rhs, align 4 | |
| call void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_shl20h5c790e51b6132409TPbE({ i64, i8 }* noalias nocapture sret dereferenceable(16) %3, i64 %7, i32 %8) | |
| %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 0 | |
| %10 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = load i64, i64* %9, align 8 | |
| store i64 %11, i64* %r, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %f) | |
| %13 = load i8, i8* %12, align 1, !range !1 | |
| %14 = trunc i8 %13 to i1 | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %f, align 1 | |
| %16 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %16) | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %18 = load i64, i64* %r, align 8 | |
| store i64 %18, i64* %17, align 8 | |
| %19 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %20 = load i8, i8* %f, align 1, !range !1 | |
| %21 = trunc i8 %20 to i1 | |
| %22 = zext i1 %21 to i8 | |
| store i8 %22, i8* %19, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %f) | |
| %23 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %24) | |
| %25 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define void @_ZN3num8wrapping20isize.OverflowingOps15overflowing_shr20h6441ca3c8d35a13de8bE({ i64, i8 }* noalias nocapture sret dereferenceable(16), i64, i32) unnamed_addr #6 { | |
| entry-block: | |
| %self = alloca i64 | |
| %rhs = alloca i32 | |
| %3 = alloca { i64, i8 } | |
| %r = alloca i64 | |
| %f = alloca i8 | |
| %4 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %self, align 8 | |
| %5 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %5) | |
| store i32 %2, i32* %rhs, align 4 | |
| %6 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| %7 = load i64, i64* %self, align 8 | |
| %8 = load i32, i32* %rhs, align 4 | |
| call void @_ZN3num8wrapping18i64.OverflowingOps15overflowing_shr20h991ddb5b8ca35fefgQbE({ i64, i8 }* noalias nocapture sret dereferenceable(16) %3, i64 %7, i32 %8) | |
| %9 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 0 | |
| %10 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = load i64, i64* %9, align 8 | |
| store i64 %11, i64* %r, align 8 | |
| %12 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %3, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %f) | |
| %13 = load i8, i8* %12, align 1, !range !1 | |
| %14 = trunc i8 %13 to i1 | |
| %15 = zext i1 %14 to i8 | |
| store i8 %15, i8* %f, align 1 | |
| %16 = bitcast { i64, i8 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %16) | |
| %17 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 0 | |
| %18 = load i64, i64* %r, align 8 | |
| store i64 %18, i64* %17, align 8 | |
| %19 = getelementptr inbounds { i64, i8 }, { i64, i8 }* %0, i32 0, i32 1 | |
| %20 = load i8, i8* %f, align 1, !range !1 | |
| %21 = trunc i8 %20 to i1 | |
| %22 = zext i1 %21 to i8 | |
| store i8 %22, i8* %19, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %f) | |
| %23 = bitcast i64* %r to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| %24 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %24) | |
| %25 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| ret void | |
| } | |
| ; Function Attrs: uwtable | |
| define i16 @_ZN3num7flt2dec9estimator23estimate_scaling_factor20h3652ca1571bbc801U8bE(i64, i16) unnamed_addr #2 { | |
| entry-block: | |
| %mant = alloca i64 | |
| %exp = alloca i16 | |
| %nbits = alloca i64 | |
| %2 = alloca i32 | |
| %3 = bitcast i64* %mant to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %0, i64* %mant, align 8 | |
| %4 = bitcast i16* %exp to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| store i16 %1, i16* %exp, align 2 | |
| %5 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| %6 = bitcast i32* %2 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %6) | |
| %7 = load i64, i64* %mant, align 8 | |
| %8 = sub i64 %7, 1 | |
| %9 = call i32 @_ZN3num3u6413leading_zeros20h0a03a71e3f0838f1kVgE(i64 %8) | |
| store i32 %9, i32* %2, align 4 | |
| %10 = load i32, i32* %2, align 4 | |
| %11 = bitcast i32* %2 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %11) | |
| %12 = zext i32 %10 to i64 | |
| %13 = sub i64 64, %12 | |
| store i64 %13, i64* %nbits, align 8 | |
| %14 = load i16, i16* %exp, align 2 | |
| %15 = sext i16 %14 to i64 | |
| %16 = load i64, i64* %nbits, align 8 | |
| %17 = add i64 %16, %15 | |
| %18 = mul i64 %17, 1292913986 | |
| %19 = ashr i64 %18, 32 | |
| %20 = trunc i64 %19 to i16 | |
| %21 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %21) | |
| %22 = bitcast i16* %exp to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %22) | |
| %23 = bitcast i64* %mant to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %23) | |
| ret i16 %20 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define i32 @_ZN3num3u6413leading_zeros20h0a03a71e3f0838f1kVgE(i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64 | |
| %1 = alloca i64 | |
| %2 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64 %0, i64* %self, align 8 | |
| %3 = bitcast i64* %1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| %4 = load i64, i64* %self, align 8 | |
| %5 = call i64 @llvm.ctlz.i64(i64 %4, i1 false) | |
| store i64 %5, i64* %1, align 8 | |
| %6 = load i64, i64* %1, align 8 | |
| %7 = bitcast i64* %1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = trunc i64 %6 to i32 | |
| %9 = bitcast i64* %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %9) | |
| ret i32 %8 | |
| } | |
| ; Function Attrs: uwtable | |
| define i16 @_ZN3num7flt2dec6bignum10u8.FullOps8full_add20h095213d6580a1777yacE(i8, i8, i1 zeroext) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %other = alloca i8 | |
| %carry = alloca i8 | |
| %3 = alloca { i8, i8 } | |
| %tmp = alloca { i8, i8 } | |
| %let = alloca { i8, i8 } | |
| %v = alloca i8 | |
| %carry1 = alloca i8 | |
| %4 = alloca { i8, i8 } | |
| %5 = alloca i8 | |
| %tmp1 = alloca { i8, i8 } | |
| %let2 = alloca { i8, i8 } | |
| %v3 = alloca i8 | |
| %carry2 = alloca i8 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %other) | |
| store i8 %1, i8* %other, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %carry) | |
| %6 = zext i1 %2 to i8 | |
| store i8 %6, i8* %carry, align 1 | |
| %7 = bitcast { i8, i8 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %7) | |
| %8 = load i8, i8* %self, align 1 | |
| %9 = load i8, i8* %other, align 1 | |
| %10 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %8, i8 %9) | |
| %11 = extractvalue { i8, i1 } %10, 0 | |
| %12 = extractvalue { i8, i1 } %10, 1 | |
| %13 = zext i1 %12 to i8 | |
| %14 = insertvalue { i8, i8 } undef, i8 %11, 0 | |
| %15 = insertvalue { i8, i8 } %14, i8 %13, 1 | |
| %16 = bitcast { i8, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %16) | |
| store { i8, i8 } %15, { i8, i8 }* %tmp | |
| %17 = bitcast { i8, i8 }* %tmp to i16* | |
| %18 = load i16, i16* %17, align 1 | |
| %19 = bitcast { i8, i8 }* %3 to i16* | |
| store i16 %18, i16* %19, align 1 | |
| %20 = bitcast { i8, i8 }* %3 to i16* | |
| %21 = load i16, i16* %20, align 1 | |
| %22 = bitcast { i8, i8 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %22) | |
| %23 = bitcast { i8, i8 }* %let to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %23) | |
| %24 = bitcast { i8, i8 }* %let to i16* | |
| store i16 %21, i16* %24, align 1 | |
| %25 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %let, i32 0, i32 0 | |
| call void @llvm.lifetime.start(i64 1, i8* %v) | |
| %26 = load i8, i8* %25, align 1 | |
| store i8 %26, i8* %v, align 1 | |
| %27 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %let, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %carry1) | |
| %28 = load i8, i8* %27, align 1, !range !1 | |
| %29 = trunc i8 %28 to i1 | |
| %30 = zext i1 %29 to i8 | |
| store i8 %30, i8* %carry1, align 1 | |
| %31 = bitcast { i8, i8 }* %let to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %31) | |
| %32 = bitcast { i8, i8 }* %4 to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %32) | |
| %33 = load i8, i8* %v, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %5) | |
| %34 = load i8, i8* %carry, align 1, !range !1 | |
| %35 = trunc i8 %34 to i1 | |
| br i1 %35, label %then-block-7750-, label %else-block | |
| then-block-7750-: ; preds = %entry-block | |
| store i8 1, i8* %5, align 1 | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| store i8 0, i8* %5, align 1 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-7750- | |
| %36 = load i8, i8* %5, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %5) | |
| %37 = call { i8, i1 } @llvm.uadd.with.overflow.i8(i8 %33, i8 %36) | |
| %38 = extractvalue { i8, i1 } %37, 0 | |
| %39 = extractvalue { i8, i1 } %37, 1 | |
| %40 = zext i1 %39 to i8 | |
| %41 = insertvalue { i8, i8 } undef, i8 %38, 0 | |
| %42 = insertvalue { i8, i8 } %41, i8 %40, 1 | |
| %43 = bitcast { i8, i8 }* %tmp1 to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %43) | |
| store { i8, i8 } %42, { i8, i8 }* %tmp1 | |
| %44 = bitcast { i8, i8 }* %tmp1 to i16* | |
| %45 = load i16, i16* %44, align 1 | |
| %46 = bitcast { i8, i8 }* %4 to i16* | |
| store i16 %45, i16* %46, align 1 | |
| %47 = bitcast { i8, i8 }* %4 to i16* | |
| %48 = load i16, i16* %47, align 1 | |
| %49 = bitcast { i8, i8 }* %4 to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %49) | |
| %50 = bitcast { i8, i8 }* %let2 to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %50) | |
| %51 = bitcast { i8, i8 }* %let2 to i16* | |
| store i16 %48, i16* %51, align 1 | |
| %52 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %let2, i32 0, i32 0 | |
| call void @llvm.lifetime.start(i64 1, i8* %v3) | |
| %53 = load i8, i8* %52, align 1 | |
| store i8 %53, i8* %v3, align 1 | |
| %54 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %let2, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %carry2) | |
| %55 = load i8, i8* %54, align 1, !range !1 | |
| %56 = trunc i8 %55 to i1 | |
| %57 = zext i1 %56 to i8 | |
| store i8 %57, i8* %carry2, align 1 | |
| %58 = bitcast { i8, i8 }* %let2 to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %58) | |
| %59 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %60 = load i8, i8* %carry1, align 1, !range !1 | |
| %61 = trunc i8 %60 to i1 | |
| br i1 %61, label %join4, label %before_rhs | |
| join4: ; preds = %before_rhs, %join | |
| %62 = phi i1 [ %61, %join ], [ %69, %before_rhs ] | |
| %63 = zext i1 %62 to i8 | |
| store i8 %63, i8* %59, align 1 | |
| %64 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| %65 = load i8, i8* %v3, align 1 | |
| store i8 %65, i8* %64, align 1 | |
| call void @llvm.lifetime.end(i64 1, i8* %carry2) | |
| call void @llvm.lifetime.end(i64 1, i8* %v3) | |
| call void @llvm.lifetime.end(i64 1, i8* %carry1) | |
| call void @llvm.lifetime.end(i64 1, i8* %v) | |
| call void @llvm.lifetime.end(i64 1, i8* %carry) | |
| call void @llvm.lifetime.end(i64 1, i8* %other) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %66 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %67 = load i16, i16* %66, align 1 | |
| ret i16 %67 | |
| before_rhs: ; preds = %join | |
| %68 = load i8, i8* %carry2, align 1, !range !1 | |
| %69 = trunc i8 %68 to i1 | |
| br label %join4 | |
| } | |
| ; Function Attrs: uwtable | |
| define i16 @_ZN3num7flt2dec6bignum10u8.FullOps8full_mul20h25999529a6aca575kbcE(i8, i8, i8) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %other = alloca i8 | |
| %carry = alloca i8 | |
| %nbits = alloca i64 | |
| %3 = alloca i64 | |
| %v = alloca i16 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %other) | |
| store i8 %1, i8* %other, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %carry) | |
| store i8 %2, i8* %carry, align 1 | |
| %4 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| %6 = call i64 @_ZN3mem7size_of21h14327607028964852902E() | |
| store i64 %6, i64* %3, align 8 | |
| %7 = load i64, i64* %3, align 8 | |
| %8 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| %9 = mul i64 %7, 8 | |
| store i64 %9, i64* %nbits, align 8 | |
| %10 = bitcast i16* %v to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %10) | |
| %11 = load i8, i8* %self, align 1 | |
| %12 = zext i8 %11 to i16 | |
| %13 = load i8, i8* %other, align 1 | |
| %14 = zext i8 %13 to i16 | |
| %15 = mul i16 %12, %14 | |
| %16 = load i8, i8* %carry, align 1 | |
| %17 = zext i8 %16 to i16 | |
| %18 = add i16 %15, %17 | |
| store i16 %18, i16* %v, align 2 | |
| %19 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %20 = load i16, i16* %v, align 2 | |
| %21 = load i64, i64* %nbits, align 8 | |
| %22 = trunc i64 %21 to i16 | |
| %23 = and i16 %22, 15 | |
| %24 = lshr i16 %20, %23 | |
| %25 = trunc i16 %24 to i8 | |
| store i8 %25, i8* %19, align 1 | |
| %26 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| %27 = load i16, i16* %v, align 2 | |
| %28 = trunc i16 %27 to i8 | |
| store i8 %28, i8* %26, align 1 | |
| %29 = bitcast i16* %v to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %29) | |
| %30 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %30) | |
| call void @llvm.lifetime.end(i64 1, i8* %carry) | |
| call void @llvm.lifetime.end(i64 1, i8* %other) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %31 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %32 = load i16, i16* %31, align 1 | |
| ret i16 %32 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal i64 @_ZN3mem7size_of21h14327607028964852902E() unnamed_addr #0 { | |
| entry-block: | |
| ret i64 1 | |
| } | |
| ; Function Attrs: uwtable | |
| define i16 @_ZN3num7flt2dec6bignum10u8.FullOps12full_mul_add20he48e996ee39b32ef8bcE(i8, i8, i8, i8) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %other = alloca i8 | |
| %other2 = alloca i8 | |
| %carry = alloca i8 | |
| %nbits = alloca i64 | |
| %4 = alloca i64 | |
| %v = alloca i16 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %other) | |
| store i8 %1, i8* %other, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %other2) | |
| store i8 %2, i8* %other2, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %carry) | |
| store i8 %3, i8* %carry, align 1 | |
| %5 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| %6 = bitcast i64* %4 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %6) | |
| %7 = call i64 @_ZN3mem7size_of21h14327607028964852902E() | |
| store i64 %7, i64* %4, align 8 | |
| %8 = load i64, i64* %4, align 8 | |
| %9 = bitcast i64* %4 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %9) | |
| %10 = mul i64 %8, 8 | |
| store i64 %10, i64* %nbits, align 8 | |
| %11 = bitcast i16* %v to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %11) | |
| %12 = load i8, i8* %self, align 1 | |
| %13 = zext i8 %12 to i16 | |
| %14 = load i8, i8* %other, align 1 | |
| %15 = zext i8 %14 to i16 | |
| %16 = mul i16 %13, %15 | |
| %17 = load i8, i8* %other2, align 1 | |
| %18 = zext i8 %17 to i16 | |
| %19 = add i16 %16, %18 | |
| %20 = load i8, i8* %carry, align 1 | |
| %21 = zext i8 %20 to i16 | |
| %22 = add i16 %19, %21 | |
| store i16 %22, i16* %v, align 2 | |
| %23 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %24 = load i16, i16* %v, align 2 | |
| %25 = load i64, i64* %nbits, align 8 | |
| %26 = trunc i64 %25 to i16 | |
| %27 = and i16 %26, 15 | |
| %28 = lshr i16 %24, %27 | |
| %29 = trunc i16 %28 to i8 | |
| store i8 %29, i8* %23, align 1 | |
| %30 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| %31 = load i16, i16* %v, align 2 | |
| %32 = trunc i16 %31 to i8 | |
| store i8 %32, i8* %30, align 1 | |
| %33 = bitcast i16* %v to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %33) | |
| %34 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %34) | |
| call void @llvm.lifetime.end(i64 1, i8* %carry) | |
| call void @llvm.lifetime.end(i64 1, i8* %other2) | |
| call void @llvm.lifetime.end(i64 1, i8* %other) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %35 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %36 = load i16, i16* %35, align 1 | |
| ret i16 %36 | |
| } | |
| ; Function Attrs: uwtable | |
| define i16 @_ZN3num7flt2dec6bignum10u8.FullOps12full_div_rem20h077884344ee824334ccE(i8, i8, i8) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i8 } | |
| %self = alloca i8 | |
| %other = alloca i8 | |
| %borrow = alloca i8 | |
| %nbits = alloca i64 | |
| %3 = alloca i64 | |
| %lhs = alloca i16 | |
| %rhs = alloca i16 | |
| call void @llvm.lifetime.start(i64 1, i8* %self) | |
| store i8 %0, i8* %self, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %other) | |
| store i8 %1, i8* %other, align 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %borrow) | |
| store i8 %2, i8* %borrow, align 1 | |
| %4 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| %6 = call i64 @_ZN3mem7size_of21h14327607028964852902E() | |
| store i64 %6, i64* %3, align 8 | |
| %7 = load i64, i64* %3, align 8 | |
| %8 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| %9 = mul i64 %7, 8 | |
| store i64 %9, i64* %nbits, align 8 | |
| %10 = bitcast i16* %lhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %10) | |
| %11 = load i8, i8* %borrow, align 1 | |
| %12 = zext i8 %11 to i16 | |
| %13 = load i64, i64* %nbits, align 8 | |
| %14 = trunc i64 %13 to i16 | |
| %15 = and i16 %14, 15 | |
| %16 = shl i16 %12, %15 | |
| %17 = load i8, i8* %self, align 1 | |
| %18 = zext i8 %17 to i16 | |
| %19 = or i16 %16, %18 | |
| store i16 %19, i16* %lhs, align 2 | |
| %20 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %20) | |
| %21 = load i8, i8* %other, align 1 | |
| %22 = zext i8 %21 to i16 | |
| store i16 %22, i16* %rhs, align 2 | |
| %23 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 0 | |
| %24 = load i16, i16* %lhs, align 2 | |
| %25 = load i16, i16* %rhs, align 2 | |
| %26 = icmp eq i16 %25, 0 | |
| br i1 %26, label %cond, label %next | |
| next: ; preds = %entry-block | |
| %27 = udiv i16 %24, %25 | |
| %28 = trunc i16 %27 to i8 | |
| store i8 %28, i8* %23, align 1 | |
| %29 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %sret_slot, i32 0, i32 1 | |
| %30 = load i16, i16* %lhs, align 2 | |
| %31 = load i16, i16* %rhs, align 2 | |
| %32 = icmp eq i16 %31, 0 | |
| br i1 %32, label %cond2, label %next1 | |
| cond: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43608) | |
| unreachable | |
| next1: ; preds = %next | |
| %33 = urem i16 %30, %31 | |
| %34 = trunc i16 %33 to i8 | |
| store i8 %34, i8* %29, align 1 | |
| %35 = bitcast i16* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %35) | |
| %36 = bitcast i16* %lhs to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %36) | |
| %37 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %37) | |
| call void @llvm.lifetime.end(i64 1, i8* %borrow) | |
| call void @llvm.lifetime.end(i64 1, i8* %other) | |
| call void @llvm.lifetime.end(i64 1, i8* %self) | |
| %38 = bitcast { i8, i8 }* %sret_slot to i16* | |
| %39 = load i16, i16* %38, align 1 | |
| ret i16 %39 | |
| cond2: ; preds = %next | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43609) | |
| unreachable | |
| } | |
| ; Function Attrs: uwtable | |
| define i32 @_ZN3num7flt2dec6bignum11u16.FullOps8full_add20h9c5fd1a50d73273ayecE(i16, i16, i1 zeroext) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i16 } | |
| %self = alloca i16 | |
| %other = alloca i16 | |
| %carry = alloca i8 | |
| %3 = alloca { i16, i8 } | |
| %tmp = alloca { i16, i8 } | |
| %let = alloca { i16, i8 } | |
| %v = alloca i16 | |
| %carry1 = alloca i8 | |
| %4 = alloca { i16, i8 } | |
| %5 = alloca i16 | |
| %tmp1 = alloca { i16, i8 } | |
| %let2 = alloca { i16, i8 } | |
| %v3 = alloca i16 | |
| %carry2 = alloca i8 | |
| %6 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %6) | |
| store i16 %0, i16* %self, align 2 | |
| %7 = bitcast i16* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %7) | |
| store i16 %1, i16* %other, align 2 | |
| call void @llvm.lifetime.start(i64 1, i8* %carry) | |
| %8 = zext i1 %2 to i8 | |
| store i8 %8, i8* %carry, align 1 | |
| %9 = bitcast { i16, i8 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %9) | |
| %10 = load i16, i16* %self, align 2 | |
| %11 = load i16, i16* %other, align 2 | |
| %12 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %10, i16 %11) | |
| %13 = extractvalue { i16, i1 } %12, 0 | |
| %14 = extractvalue { i16, i1 } %12, 1 | |
| %15 = zext i1 %14 to i8 | |
| %16 = insertvalue { i16, i8 } undef, i16 %13, 0 | |
| %17 = insertvalue { i16, i8 } %16, i8 %15, 1 | |
| %18 = bitcast { i16, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %18) | |
| store { i16, i8 } %17, { i16, i8 }* %tmp | |
| %19 = bitcast { i16, i8 }* %tmp to i32* | |
| %20 = load i32, i32* %19, align 2 | |
| %21 = bitcast { i16, i8 }* %3 to i32* | |
| store i32 %20, i32* %21, align 2 | |
| %22 = bitcast { i16, i8 }* %3 to i32* | |
| %23 = load i32, i32* %22, align 2 | |
| %24 = bitcast { i16, i8 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %24) | |
| %25 = bitcast { i16, i8 }* %let to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %25) | |
| %26 = bitcast { i16, i8 }* %let to i32* | |
| store i32 %23, i32* %26, align 2 | |
| %27 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %let, i32 0, i32 0 | |
| %28 = bitcast i16* %v to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %28) | |
| %29 = load i16, i16* %27, align 2 | |
| store i16 %29, i16* %v, align 2 | |
| %30 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %let, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %carry1) | |
| %31 = load i8, i8* %30, align 1, !range !1 | |
| %32 = trunc i8 %31 to i1 | |
| %33 = zext i1 %32 to i8 | |
| store i8 %33, i8* %carry1, align 1 | |
| %34 = bitcast { i16, i8 }* %let to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %34) | |
| %35 = bitcast { i16, i8 }* %4 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %35) | |
| %36 = load i16, i16* %v, align 2 | |
| %37 = bitcast i16* %5 to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %37) | |
| %38 = load i8, i8* %carry, align 1, !range !1 | |
| %39 = trunc i8 %38 to i1 | |
| br i1 %39, label %then-block-7998-, label %else-block | |
| then-block-7998-: ; preds = %entry-block | |
| store i16 1, i16* %5, align 2 | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| store i16 0, i16* %5, align 2 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-7998- | |
| %40 = load i16, i16* %5, align 2 | |
| %41 = bitcast i16* %5 to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %41) | |
| %42 = call { i16, i1 } @llvm.uadd.with.overflow.i16(i16 %36, i16 %40) | |
| %43 = extractvalue { i16, i1 } %42, 0 | |
| %44 = extractvalue { i16, i1 } %42, 1 | |
| %45 = zext i1 %44 to i8 | |
| %46 = insertvalue { i16, i8 } undef, i16 %43, 0 | |
| %47 = insertvalue { i16, i8 } %46, i8 %45, 1 | |
| %48 = bitcast { i16, i8 }* %tmp1 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %48) | |
| store { i16, i8 } %47, { i16, i8 }* %tmp1 | |
| %49 = bitcast { i16, i8 }* %tmp1 to i32* | |
| %50 = load i32, i32* %49, align 2 | |
| %51 = bitcast { i16, i8 }* %4 to i32* | |
| store i32 %50, i32* %51, align 2 | |
| %52 = bitcast { i16, i8 }* %4 to i32* | |
| %53 = load i32, i32* %52, align 2 | |
| %54 = bitcast { i16, i8 }* %4 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %54) | |
| %55 = bitcast { i16, i8 }* %let2 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %55) | |
| %56 = bitcast { i16, i8 }* %let2 to i32* | |
| store i32 %53, i32* %56, align 2 | |
| %57 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %let2, i32 0, i32 0 | |
| %58 = bitcast i16* %v3 to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %58) | |
| %59 = load i16, i16* %57, align 2 | |
| store i16 %59, i16* %v3, align 2 | |
| %60 = getelementptr inbounds { i16, i8 }, { i16, i8 }* %let2, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %carry2) | |
| %61 = load i8, i8* %60, align 1, !range !1 | |
| %62 = trunc i8 %61 to i1 | |
| %63 = zext i1 %62 to i8 | |
| store i8 %63, i8* %carry2, align 1 | |
| %64 = bitcast { i16, i8 }* %let2 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %64) | |
| %65 = getelementptr inbounds { i8, i16 }, { i8, i16 }* %sret_slot, i32 0, i32 0 | |
| %66 = load i8, i8* %carry1, align 1, !range !1 | |
| %67 = trunc i8 %66 to i1 | |
| br i1 %67, label %join4, label %before_rhs | |
| join4: ; preds = %before_rhs, %join | |
| %68 = phi i1 [ %67, %join ], [ %79, %before_rhs ] | |
| %69 = zext i1 %68 to i8 | |
| store i8 %69, i8* %65, align 1 | |
| %70 = getelementptr inbounds { i8, i16 }, { i8, i16 }* %sret_slot, i32 0, i32 1 | |
| %71 = load i16, i16* %v3, align 2 | |
| store i16 %71, i16* %70, align 2 | |
| call void @llvm.lifetime.end(i64 1, i8* %carry2) | |
| %72 = bitcast i16* %v3 to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %72) | |
| call void @llvm.lifetime.end(i64 1, i8* %carry1) | |
| %73 = bitcast i16* %v to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %73) | |
| call void @llvm.lifetime.end(i64 1, i8* %carry) | |
| %74 = bitcast i16* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %74) | |
| %75 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %75) | |
| %76 = bitcast { i8, i16 }* %sret_slot to i32* | |
| %77 = load i32, i32* %76, align 2 | |
| ret i32 %77 | |
| before_rhs: ; preds = %join | |
| %78 = load i8, i8* %carry2, align 1, !range !1 | |
| %79 = trunc i8 %78 to i1 | |
| br label %join4 | |
| } | |
| ; Function Attrs: uwtable | |
| define i32 @_ZN3num7flt2dec6bignum11u16.FullOps8full_mul20h47b1f886d9a42900kfcE(i16, i16, i16) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i16 } | |
| %self = alloca i16 | |
| %other = alloca i16 | |
| %carry = alloca i16 | |
| %nbits = alloca i64 | |
| %3 = alloca i64 | |
| %v = alloca i32 | |
| %4 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| store i16 %0, i16* %self, align 2 | |
| %5 = bitcast i16* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %5) | |
| store i16 %1, i16* %other, align 2 | |
| %6 = bitcast i16* %carry to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %6) | |
| store i16 %2, i16* %carry, align 2 | |
| %7 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %7) | |
| %8 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %8) | |
| %9 = call i64 @_ZN3mem7size_of20h9541873515897831608E() | |
| store i64 %9, i64* %3, align 8 | |
| %10 = load i64, i64* %3, align 8 | |
| %11 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = mul i64 %10, 8 | |
| store i64 %12, i64* %nbits, align 8 | |
| %13 = bitcast i32* %v to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %13) | |
| %14 = load i16, i16* %self, align 2 | |
| %15 = zext i16 %14 to i32 | |
| %16 = load i16, i16* %other, align 2 | |
| %17 = zext i16 %16 to i32 | |
| %18 = mul i32 %15, %17 | |
| %19 = load i16, i16* %carry, align 2 | |
| %20 = zext i16 %19 to i32 | |
| %21 = add i32 %18, %20 | |
| store i32 %21, i32* %v, align 4 | |
| %22 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %sret_slot, i32 0, i32 0 | |
| %23 = load i32, i32* %v, align 4 | |
| %24 = load i64, i64* %nbits, align 8 | |
| %25 = trunc i64 %24 to i32 | |
| %26 = and i32 %25, 31 | |
| %27 = lshr i32 %23, %26 | |
| %28 = trunc i32 %27 to i16 | |
| store i16 %28, i16* %22, align 2 | |
| %29 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %sret_slot, i32 0, i32 1 | |
| %30 = load i32, i32* %v, align 4 | |
| %31 = trunc i32 %30 to i16 | |
| store i16 %31, i16* %29, align 2 | |
| %32 = bitcast i32* %v to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %32) | |
| %33 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %33) | |
| %34 = bitcast i16* %carry to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %34) | |
| %35 = bitcast i16* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %35) | |
| %36 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %36) | |
| %37 = bitcast { i16, i16 }* %sret_slot to i32* | |
| %38 = load i32, i32* %37, align 2 | |
| ret i32 %38 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal i64 @_ZN3mem7size_of20h9541873515897831608E() unnamed_addr #0 { | |
| entry-block: | |
| ret i64 2 | |
| } | |
| ; Function Attrs: uwtable | |
| define i32 @_ZN3num7flt2dec6bignum11u16.FullOps12full_mul_add20hec91e64255c8ecae8fcE(i16, i16, i16, i16) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i16 } | |
| %self = alloca i16 | |
| %other = alloca i16 | |
| %other2 = alloca i16 | |
| %carry = alloca i16 | |
| %nbits = alloca i64 | |
| %4 = alloca i64 | |
| %v = alloca i32 | |
| %5 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %5) | |
| store i16 %0, i16* %self, align 2 | |
| %6 = bitcast i16* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %6) | |
| store i16 %1, i16* %other, align 2 | |
| %7 = bitcast i16* %other2 to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %7) | |
| store i16 %2, i16* %other2, align 2 | |
| %8 = bitcast i16* %carry to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %8) | |
| store i16 %3, i16* %carry, align 2 | |
| %9 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %9) | |
| %10 = bitcast i64* %4 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = call i64 @_ZN3mem7size_of20h9541873515897831608E() | |
| store i64 %11, i64* %4, align 8 | |
| %12 = load i64, i64* %4, align 8 | |
| %13 = bitcast i64* %4 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = mul i64 %12, 8 | |
| store i64 %14, i64* %nbits, align 8 | |
| %15 = bitcast i32* %v to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %15) | |
| %16 = load i16, i16* %self, align 2 | |
| %17 = zext i16 %16 to i32 | |
| %18 = load i16, i16* %other, align 2 | |
| %19 = zext i16 %18 to i32 | |
| %20 = mul i32 %17, %19 | |
| %21 = load i16, i16* %other2, align 2 | |
| %22 = zext i16 %21 to i32 | |
| %23 = add i32 %20, %22 | |
| %24 = load i16, i16* %carry, align 2 | |
| %25 = zext i16 %24 to i32 | |
| %26 = add i32 %23, %25 | |
| store i32 %26, i32* %v, align 4 | |
| %27 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %sret_slot, i32 0, i32 0 | |
| %28 = load i32, i32* %v, align 4 | |
| %29 = load i64, i64* %nbits, align 8 | |
| %30 = trunc i64 %29 to i32 | |
| %31 = and i32 %30, 31 | |
| %32 = lshr i32 %28, %31 | |
| %33 = trunc i32 %32 to i16 | |
| store i16 %33, i16* %27, align 2 | |
| %34 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %sret_slot, i32 0, i32 1 | |
| %35 = load i32, i32* %v, align 4 | |
| %36 = trunc i32 %35 to i16 | |
| store i16 %36, i16* %34, align 2 | |
| %37 = bitcast i32* %v to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %37) | |
| %38 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %38) | |
| %39 = bitcast i16* %carry to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %39) | |
| %40 = bitcast i16* %other2 to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %40) | |
| %41 = bitcast i16* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %41) | |
| %42 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %42) | |
| %43 = bitcast { i16, i16 }* %sret_slot to i32* | |
| %44 = load i32, i32* %43, align 2 | |
| ret i32 %44 | |
| } | |
| ; Function Attrs: uwtable | |
| define i32 @_ZN3num7flt2dec6bignum11u16.FullOps12full_div_rem20h6e5995a4fd4db2514gcE(i16, i16, i16) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca { i16, i16 } | |
| %self = alloca i16 | |
| %other = alloca i16 | |
| %borrow = alloca i16 | |
| %nbits = alloca i64 | |
| %3 = alloca i64 | |
| %lhs = alloca i32 | |
| %rhs = alloca i32 | |
| %4 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %4) | |
| store i16 %0, i16* %self, align 2 | |
| %5 = bitcast i16* %other to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %5) | |
| store i16 %1, i16* %other, align 2 | |
| %6 = bitcast i16* %borrow to i8* | |
| call void @llvm.lifetime.start(i64 2, i8* %6) | |
| store i16 %2, i16* %borrow, align 2 | |
| %7 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %7) | |
| %8 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %8) | |
| %9 = call i64 @_ZN3mem7size_of20h9541873515897831608E() | |
| store i64 %9, i64* %3, align 8 | |
| %10 = load i64, i64* %3, align 8 | |
| %11 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = mul i64 %10, 8 | |
| store i64 %12, i64* %nbits, align 8 | |
| %13 = bitcast i32* %lhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %13) | |
| %14 = load i16, i16* %borrow, align 2 | |
| %15 = zext i16 %14 to i32 | |
| %16 = load i64, i64* %nbits, align 8 | |
| %17 = trunc i64 %16 to i32 | |
| %18 = and i32 %17, 31 | |
| %19 = shl i32 %15, %18 | |
| %20 = load i16, i16* %self, align 2 | |
| %21 = zext i16 %20 to i32 | |
| %22 = or i32 %19, %21 | |
| store i32 %22, i32* %lhs, align 4 | |
| %23 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %23) | |
| %24 = load i16, i16* %other, align 2 | |
| %25 = zext i16 %24 to i32 | |
| store i32 %25, i32* %rhs, align 4 | |
| %26 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %sret_slot, i32 0, i32 0 | |
| %27 = load i32, i32* %lhs, align 4 | |
| %28 = load i32, i32* %rhs, align 4 | |
| %29 = icmp eq i32 %28, 0 | |
| br i1 %29, label %cond, label %next | |
| next: ; preds = %entry-block | |
| %30 = udiv i32 %27, %28 | |
| %31 = trunc i32 %30 to i16 | |
| store i16 %31, i16* %26, align 2 | |
| %32 = getelementptr inbounds { i16, i16 }, { i16, i16 }* %sret_slot, i32 0, i32 1 | |
| %33 = load i32, i32* %lhs, align 4 | |
| %34 = load i32, i32* %rhs, align 4 | |
| %35 = icmp eq i32 %34, 0 | |
| br i1 %35, label %cond2, label %next1 | |
| cond: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43608) | |
| unreachable | |
| next1: ; preds = %next | |
| %36 = urem i32 %33, %34 | |
| %37 = trunc i32 %36 to i16 | |
| store i16 %37, i16* %32, align 2 | |
| %38 = bitcast i32* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %38) | |
| %39 = bitcast i32* %lhs to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %39) | |
| %40 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %40) | |
| %41 = bitcast i16* %borrow to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %41) | |
| %42 = bitcast i16* %other to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %42) | |
| %43 = bitcast i16* %self to i8* | |
| call void @llvm.lifetime.end(i64 2, i8* %43) | |
| %44 = bitcast { i16, i16 }* %sret_slot to i32* | |
| %45 = load i32, i32* %44, align 2 | |
| ret i32 %45 | |
| cond2: ; preds = %next | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43609) | |
| unreachable | |
| } | |
| ; Function Attrs: uwtable | |
| define i64 @_ZN3num7flt2dec6bignum11u32.FullOps8full_add20h44ed614bdfacc600yicE(i32, i32, i1 zeroext) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca { i8, i32 } | |
| %self = alloca i32 | |
| %other = alloca i32 | |
| %carry = alloca i8 | |
| %3 = alloca { i32, i8 } | |
| %tmp = alloca { i32, i8 } | |
| %let = alloca { i32, i8 } | |
| %v = alloca i32 | |
| %carry1 = alloca i8 | |
| %4 = alloca { i32, i8 } | |
| %5 = alloca i32 | |
| %tmp1 = alloca { i32, i8 } | |
| %let2 = alloca { i32, i8 } | |
| %v3 = alloca i32 | |
| %carry2 = alloca i8 | |
| %6 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %6) | |
| store i32 %0, i32* %self, align 4 | |
| %7 = bitcast i32* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %7) | |
| store i32 %1, i32* %other, align 4 | |
| call void @llvm.lifetime.start(i64 1, i8* %carry) | |
| %8 = zext i1 %2 to i8 | |
| store i8 %8, i8* %carry, align 1 | |
| %9 = bitcast { i32, i8 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %9) | |
| %10 = load i32, i32* %self, align 4 | |
| %11 = load i32, i32* %other, align 4 | |
| %12 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %10, i32 %11) | |
| %13 = extractvalue { i32, i1 } %12, 0 | |
| %14 = extractvalue { i32, i1 } %12, 1 | |
| %15 = zext i1 %14 to i8 | |
| %16 = insertvalue { i32, i8 } undef, i32 %13, 0 | |
| %17 = insertvalue { i32, i8 } %16, i8 %15, 1 | |
| %18 = bitcast { i32, i8 }* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %18) | |
| store { i32, i8 } %17, { i32, i8 }* %tmp | |
| %19 = bitcast { i32, i8 }* %tmp to i64* | |
| %20 = load i64, i64* %19, align 4 | |
| %21 = bitcast { i32, i8 }* %3 to i64* | |
| store i64 %20, i64* %21, align 4 | |
| %22 = bitcast { i32, i8 }* %3 to i64* | |
| %23 = load i64, i64* %22, align 4 | |
| %24 = bitcast { i32, i8 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %24) | |
| %25 = bitcast { i32, i8 }* %let to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %25) | |
| %26 = bitcast { i32, i8 }* %let to i64* | |
| store i64 %23, i64* %26, align 4 | |
| %27 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %let, i32 0, i32 0 | |
| %28 = bitcast i32* %v to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %28) | |
| %29 = load i32, i32* %27, align 4 | |
| store i32 %29, i32* %v, align 4 | |
| %30 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %let, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %carry1) | |
| %31 = load i8, i8* %30, align 1, !range !1 | |
| %32 = trunc i8 %31 to i1 | |
| %33 = zext i1 %32 to i8 | |
| store i8 %33, i8* %carry1, align 1 | |
| %34 = bitcast { i32, i8 }* %let to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %34) | |
| %35 = bitcast { i32, i8 }* %4 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %35) | |
| %36 = load i32, i32* %v, align 4 | |
| %37 = bitcast i32* %5 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %37) | |
| %38 = load i8, i8* %carry, align 1, !range !1 | |
| %39 = trunc i8 %38 to i1 | |
| br i1 %39, label %then-block-8246-, label %else-block | |
| then-block-8246-: ; preds = %entry-block | |
| store i32 1, i32* %5, align 4 | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| store i32 0, i32* %5, align 4 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-8246- | |
| %40 = load i32, i32* %5, align 4 | |
| %41 = bitcast i32* %5 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %41) | |
| %42 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %36, i32 %40) | |
| %43 = extractvalue { i32, i1 } %42, 0 | |
| %44 = extractvalue { i32, i1 } %42, 1 | |
| %45 = zext i1 %44 to i8 | |
| %46 = insertvalue { i32, i8 } undef, i32 %43, 0 | |
| %47 = insertvalue { i32, i8 } %46, i8 %45, 1 | |
| %48 = bitcast { i32, i8 }* %tmp1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %48) | |
| store { i32, i8 } %47, { i32, i8 }* %tmp1 | |
| %49 = bitcast { i32, i8 }* %tmp1 to i64* | |
| %50 = load i64, i64* %49, align 4 | |
| %51 = bitcast { i32, i8 }* %4 to i64* | |
| store i64 %50, i64* %51, align 4 | |
| %52 = bitcast { i32, i8 }* %4 to i64* | |
| %53 = load i64, i64* %52, align 4 | |
| %54 = bitcast { i32, i8 }* %4 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %54) | |
| %55 = bitcast { i32, i8 }* %let2 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %55) | |
| %56 = bitcast { i32, i8 }* %let2 to i64* | |
| store i64 %53, i64* %56, align 4 | |
| %57 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %let2, i32 0, i32 0 | |
| %58 = bitcast i32* %v3 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %58) | |
| %59 = load i32, i32* %57, align 4 | |
| store i32 %59, i32* %v3, align 4 | |
| %60 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %let2, i32 0, i32 1 | |
| call void @llvm.lifetime.start(i64 1, i8* %carry2) | |
| %61 = load i8, i8* %60, align 1, !range !1 | |
| %62 = trunc i8 %61 to i1 | |
| %63 = zext i1 %62 to i8 | |
| store i8 %63, i8* %carry2, align 1 | |
| %64 = bitcast { i32, i8 }* %let2 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %64) | |
| %65 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %sret_slot, i32 0, i32 0 | |
| %66 = load i8, i8* %carry1, align 1, !range !1 | |
| %67 = trunc i8 %66 to i1 | |
| br i1 %67, label %join4, label %before_rhs | |
| join4: ; preds = %before_rhs, %join | |
| %68 = phi i1 [ %67, %join ], [ %79, %before_rhs ] | |
| %69 = zext i1 %68 to i8 | |
| store i8 %69, i8* %65, align 1 | |
| %70 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %sret_slot, i32 0, i32 1 | |
| %71 = load i32, i32* %v3, align 4 | |
| store i32 %71, i32* %70, align 4 | |
| call void @llvm.lifetime.end(i64 1, i8* %carry2) | |
| %72 = bitcast i32* %v3 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %72) | |
| call void @llvm.lifetime.end(i64 1, i8* %carry1) | |
| %73 = bitcast i32* %v to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %73) | |
| call void @llvm.lifetime.end(i64 1, i8* %carry) | |
| %74 = bitcast i32* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %74) | |
| %75 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %75) | |
| %76 = bitcast { i8, i32 }* %sret_slot to i64* | |
| %77 = load i64, i64* %76, align 4 | |
| ret i64 %77 | |
| before_rhs: ; preds = %join | |
| %78 = load i8, i8* %carry2, align 1, !range !1 | |
| %79 = trunc i8 %78 to i1 | |
| br label %join4 | |
| } | |
| ; Function Attrs: uwtable | |
| define i64 @_ZN3num7flt2dec6bignum11u32.FullOps8full_mul20hec274f145b0d9886kjcE(i32, i32, i32) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i32 } | |
| %self = alloca i32 | |
| %other = alloca i32 | |
| %carry = alloca i32 | |
| %nbits = alloca i64 | |
| %3 = alloca i64 | |
| %v = alloca i64 | |
| %4 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| store i32 %0, i32* %self, align 4 | |
| %5 = bitcast i32* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %5) | |
| store i32 %1, i32* %other, align 4 | |
| %6 = bitcast i32* %carry to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %6) | |
| store i32 %2, i32* %carry, align 4 | |
| %7 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %7) | |
| %8 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %8) | |
| %9 = call i64 @_ZN3mem7size_of20h4125651325415643322E() | |
| store i64 %9, i64* %3, align 8 | |
| %10 = load i64, i64* %3, align 8 | |
| %11 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = mul i64 %10, 8 | |
| store i64 %12, i64* %nbits, align 8 | |
| %13 = bitcast i64* %v to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %13) | |
| %14 = load i32, i32* %self, align 4 | |
| %15 = zext i32 %14 to i64 | |
| %16 = load i32, i32* %other, align 4 | |
| %17 = zext i32 %16 to i64 | |
| %18 = mul i64 %15, %17 | |
| %19 = load i32, i32* %carry, align 4 | |
| %20 = zext i32 %19 to i64 | |
| %21 = add i64 %18, %20 | |
| store i64 %21, i64* %v, align 8 | |
| %22 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %sret_slot, i32 0, i32 0 | |
| %23 = load i64, i64* %v, align 8 | |
| %24 = load i64, i64* %nbits, align 8 | |
| %25 = and i64 %24, 63 | |
| %26 = lshr i64 %23, %25 | |
| %27 = trunc i64 %26 to i32 | |
| store i32 %27, i32* %22, align 4 | |
| %28 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %sret_slot, i32 0, i32 1 | |
| %29 = load i64, i64* %v, align 8 | |
| %30 = trunc i64 %29 to i32 | |
| store i32 %30, i32* %28, align 4 | |
| %31 = bitcast i64* %v to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %31) | |
| %32 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %32) | |
| %33 = bitcast i32* %carry to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %33) | |
| %34 = bitcast i32* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %34) | |
| %35 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %35) | |
| %36 = bitcast { i32, i32 }* %sret_slot to i64* | |
| %37 = load i64, i64* %36, align 4 | |
| ret i64 %37 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal i64 @_ZN3mem7size_of20h4125651325415643322E() unnamed_addr #0 { | |
| entry-block: | |
| ret i64 4 | |
| } | |
| ; Function Attrs: uwtable | |
| define i64 @_ZN3num7flt2dec6bignum11u32.FullOps12full_mul_add20ha266eb1caaaa9d348jcE(i32, i32, i32, i32) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i32 } | |
| %self = alloca i32 | |
| %other = alloca i32 | |
| %other2 = alloca i32 | |
| %carry = alloca i32 | |
| %nbits = alloca i64 | |
| %4 = alloca i64 | |
| %v = alloca i64 | |
| %5 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %5) | |
| store i32 %0, i32* %self, align 4 | |
| %6 = bitcast i32* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %6) | |
| store i32 %1, i32* %other, align 4 | |
| %7 = bitcast i32* %other2 to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %7) | |
| store i32 %2, i32* %other2, align 4 | |
| %8 = bitcast i32* %carry to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %8) | |
| store i32 %3, i32* %carry, align 4 | |
| %9 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %9) | |
| %10 = bitcast i64* %4 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = call i64 @_ZN3mem7size_of20h4125651325415643322E() | |
| store i64 %11, i64* %4, align 8 | |
| %12 = load i64, i64* %4, align 8 | |
| %13 = bitcast i64* %4 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %13) | |
| %14 = mul i64 %12, 8 | |
| store i64 %14, i64* %nbits, align 8 | |
| %15 = bitcast i64* %v to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %15) | |
| %16 = load i32, i32* %self, align 4 | |
| %17 = zext i32 %16 to i64 | |
| %18 = load i32, i32* %other, align 4 | |
| %19 = zext i32 %18 to i64 | |
| %20 = mul i64 %17, %19 | |
| %21 = load i32, i32* %other2, align 4 | |
| %22 = zext i32 %21 to i64 | |
| %23 = add i64 %20, %22 | |
| %24 = load i32, i32* %carry, align 4 | |
| %25 = zext i32 %24 to i64 | |
| %26 = add i64 %23, %25 | |
| store i64 %26, i64* %v, align 8 | |
| %27 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %sret_slot, i32 0, i32 0 | |
| %28 = load i64, i64* %v, align 8 | |
| %29 = load i64, i64* %nbits, align 8 | |
| %30 = and i64 %29, 63 | |
| %31 = lshr i64 %28, %30 | |
| %32 = trunc i64 %31 to i32 | |
| store i32 %32, i32* %27, align 4 | |
| %33 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %sret_slot, i32 0, i32 1 | |
| %34 = load i64, i64* %v, align 8 | |
| %35 = trunc i64 %34 to i32 | |
| store i32 %35, i32* %33, align 4 | |
| %36 = bitcast i64* %v to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %36) | |
| %37 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %37) | |
| %38 = bitcast i32* %carry to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %38) | |
| %39 = bitcast i32* %other2 to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %39) | |
| %40 = bitcast i32* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %40) | |
| %41 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %41) | |
| %42 = bitcast { i32, i32 }* %sret_slot to i64* | |
| %43 = load i64, i64* %42, align 4 | |
| ret i64 %43 | |
| } | |
| ; Function Attrs: uwtable | |
| define i64 @_ZN3num7flt2dec6bignum11u32.FullOps12full_div_rem20h809dd614c421c6684kcE(i32, i32, i32) unnamed_addr #2 { | |
| entry-block: | |
| %sret_slot = alloca { i32, i32 } | |
| %self = alloca i32 | |
| %other = alloca i32 | |
| %borrow = alloca i32 | |
| %nbits = alloca i64 | |
| %3 = alloca i64 | |
| %lhs = alloca i64 | |
| %rhs = alloca i64 | |
| %4 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| store i32 %0, i32* %self, align 4 | |
| %5 = bitcast i32* %other to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %5) | |
| store i32 %1, i32* %other, align 4 | |
| %6 = bitcast i32* %borrow to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %6) | |
| store i32 %2, i32* %borrow, align 4 | |
| %7 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %7) | |
| %8 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %8) | |
| %9 = call i64 @_ZN3mem7size_of20h4125651325415643322E() | |
| store i64 %9, i64* %3, align 8 | |
| %10 = load i64, i64* %3, align 8 | |
| %11 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = mul i64 %10, 8 | |
| store i64 %12, i64* %nbits, align 8 | |
| %13 = bitcast i64* %lhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %13) | |
| %14 = load i32, i32* %borrow, align 4 | |
| %15 = zext i32 %14 to i64 | |
| %16 = load i64, i64* %nbits, align 8 | |
| %17 = and i64 %16, 63 | |
| %18 = shl i64 %15, %17 | |
| %19 = load i32, i32* %self, align 4 | |
| %20 = zext i32 %19 to i64 | |
| %21 = or i64 %18, %20 | |
| store i64 %21, i64* %lhs, align 8 | |
| %22 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %22) | |
| %23 = load i32, i32* %other, align 4 | |
| %24 = zext i32 %23 to i64 | |
| store i64 %24, i64* %rhs, align 8 | |
| %25 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %sret_slot, i32 0, i32 0 | |
| %26 = load i64, i64* %lhs, align 8 | |
| %27 = load i64, i64* %rhs, align 8 | |
| %28 = icmp eq i64 %27, 0 | |
| br i1 %28, label %cond, label %next | |
| next: ; preds = %entry-block | |
| %29 = udiv i64 %26, %27 | |
| %30 = trunc i64 %29 to i32 | |
| store i32 %30, i32* %25, align 4 | |
| %31 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %sret_slot, i32 0, i32 1 | |
| %32 = load i64, i64* %lhs, align 8 | |
| %33 = load i64, i64* %rhs, align 8 | |
| %34 = icmp eq i64 %33, 0 | |
| br i1 %34, label %cond2, label %next1 | |
| cond: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43608) | |
| unreachable | |
| next1: ; preds = %next | |
| %35 = urem i64 %32, %33 | |
| %36 = trunc i64 %35 to i32 | |
| store i32 %36, i32* %31, align 4 | |
| %37 = bitcast i64* %rhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %37) | |
| %38 = bitcast i64* %lhs to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %38) | |
| %39 = bitcast i64* %nbits to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %39) | |
| %40 = bitcast i32* %borrow to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %40) | |
| %41 = bitcast i32* %other to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %41) | |
| %42 = bitcast i32* %self to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %42) | |
| %43 = bitcast { i32, i32 }* %sret_slot to i64* | |
| %44 = load i64, i64* %43, align 4 | |
| ret i64 %44 | |
| cond2: ; preds = %next | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc43609) | |
| unreachable | |
| } | |
| ; Function Attrs: uwtable | |
| define void @_ZN3num7flt2dec6bignum8Big32x3610from_small20h7d33b6b38af351e3JmcE(%"num::flt2dec::bignum::Big32x36"* noalias nocapture sret dereferenceable(152), i32) unnamed_addr #2 { | |
| entry-block: | |
| %v = alloca i32 | |
| %base = alloca [36 x i32] | |
| %2 = bitcast i32* %v to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %2) | |
| store i32 %1, i32* %v, align 4 | |
| %3 = bitcast [36 x i32]* %base to i8* | |
| call void @llvm.lifetime.start(i64 144, i8* %3) | |
| %4 = getelementptr inbounds [36 x i32], [36 x i32]* %base, i32 0, i32 0 | |
| br label %expr_repeat | |
| expr_repeat: ; preds = %expr_repeat, %entry-block | |
| %5 = phi i64 [ 0, %entry-block ], [ %7, %expr_repeat ] | |
| %6 = getelementptr inbounds i32, i32* %4, i64 %5 | |
| store i32 0, i32* %6, align 4 | |
| %7 = add i64 %5, 1 | |
| %8 = icmp ult i64 %7, 36 | |
| br i1 %8, label %expr_repeat, label %"expr_repeat: next" | |
| "expr_repeat: next": ; preds = %expr_repeat | |
| %9 = getelementptr inbounds [36 x i32], [36 x i32]* %base, i32 0, i32 0 | |
| %10 = call i1 @llvm.expect.i1(i1 false, i1 false) | |
| br i1 %10, label %cond, label %next | |
| next: ; preds = %"expr_repeat: next" | |
| %11 = getelementptr inbounds i32, i32* %9, i64 0 | |
| %12 = load i32, i32* %v, align 4 | |
| store i32 %12, i32* %11, align 4 | |
| %13 = getelementptr inbounds %"num::flt2dec::bignum::Big32x36", %"num::flt2dec::bignum::Big32x36"* %0, i32 0, i32 0 | |
| store i64 1, i64* %13, align 8 | |
| %14 = getelementptr inbounds %"num::flt2dec::bignum::Big32x36", %"num::flt2dec::bignum::Big32x36"* %0, i32 0, i32 1 | |
| %15 = bitcast [36 x i32]* %base to i8* | |
| %16 = bitcast [36 x i32]* %14 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %16, i8* %15, i64 144, i32 4, i1 false) | |
| %17 = bitcast [36 x i32]* %base to i8* | |
| call void @llvm.lifetime.end(i64 144, i8* %17) | |
| %18 = bitcast i32* %v to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %18) | |
| ret void | |
| cond: ; preds = %"expr_repeat: next" | |
| call void @_ZN9panicking18panic_bounds_check20h237e73ee030240aaN7BE({ %str_slice, i32 }* noalias readonly dereferenceable(24) @panic_bounds_check_loc43611, i64 0, i64 36) | |
| unreachable | |
| } | |
| ; Function Attrs: nounwind readnone | |
| declare i1 @llvm.expect.i1(i1, i1) unnamed_addr #5 | |
| ; Function Attrs: cold noinline noreturn uwtable | |
| define void @_ZN9panicking18panic_bounds_check20h237e73ee030240aaN7BE({ %str_slice, i32 }* noalias readonly dereferenceable(24), i64, i64) unnamed_addr #7 { | |
| entry-block: | |
| %file_line = alloca { %str_slice, i32 }* | |
| %index = alloca i64 | |
| %len = alloca i64 | |
| %3 = alloca %"fmt::Arguments" | |
| %4 = alloca { %str_slice*, i64 } | |
| %5 = alloca [2 x %"fmt::ArgumentV1"] | |
| %6 = alloca { i64*, i64* } | |
| %__llmatch = alloca i64** | |
| %__arg0 = alloca i64* | |
| %__llmatch1 = alloca i64** | |
| %__arg1 = alloca i64* | |
| %__coerce_target = alloca { %"fmt::ArgumentV1"*, i64 } | |
| %7 = bitcast { %str_slice, i32 }** %file_line to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %7) | |
| store { %str_slice, i32 }* %0, { %str_slice, i32 }** %file_line, align 8 | |
| %8 = bitcast i64* %index to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %8) | |
| store i64 %1, i64* %index, align 8 | |
| %9 = bitcast i64* %len to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %9) | |
| store i64 %2, i64* %len, align 8 | |
| %10 = bitcast %"fmt::Arguments"* %3 to i8* | |
| call void @llvm.lifetime.start(i64 48, i8* %10) | |
| %11 = bitcast { %str_slice*, i64 }* %4 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %11) | |
| %12 = bitcast { %str_slice*, i64 }* %4 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %12, i8* bitcast ({ %str_slice*, i64 }* @_ZN9panicking18panic_bounds_check15__STATIC_FMTSTR20h9a0d40d93917c69ab8BE to i8*), i64 16, i32 8, i1 false) | |
| %13 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %4, i32 0, i32 0 | |
| %14 = load %str_slice*, %str_slice** %13 | |
| %15 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %4, i32 0, i32 1 | |
| %16 = load i64, i64* %15 | |
| %17 = bitcast [2 x %"fmt::ArgumentV1"]* %5 to i8* | |
| call void @llvm.lifetime.start(i64 32, i8* %17) | |
| %18 = bitcast { i64*, i64* }* %6 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %18) | |
| %19 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %6, i32 0, i32 0 | |
| store i64* %len, i64** %19, align 8 | |
| %20 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %6, i32 0, i32 1 | |
| store i64* %index, i64** %20, align 8 | |
| %21 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %6, i32 0, i32 0 | |
| %22 = getelementptr inbounds { i64*, i64* }, { i64*, i64* }* %6, i32 0, i32 1 | |
| %23 = bitcast i64*** %__llmatch1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %23) | |
| store i64** %22, i64*** %__llmatch1 | |
| %24 = bitcast i64*** %__llmatch to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %24) | |
| store i64** %21, i64*** %__llmatch | |
| br label %case_body | |
| case_body: ; preds = %entry-block | |
| %25 = load i64**, i64*** %__llmatch | |
| %26 = bitcast i64** %__arg0 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %26) | |
| %27 = load i64*, i64** %25, align 8, !nonnull !2 | |
| store i64* %27, i64** %__arg0, align 8 | |
| %28 = load i64**, i64*** %__llmatch1 | |
| %29 = bitcast i64** %__arg1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %29) | |
| %30 = load i64*, i64** %28, align 8, !nonnull !2 | |
| store i64* %30, i64** %__arg1, align 8 | |
| %31 = getelementptr inbounds [2 x %"fmt::ArgumentV1"], [2 x %"fmt::ArgumentV1"]* %5, i32 0, i32 0 | |
| %32 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %31, i32 0 | |
| %33 = load i64*, i64** %__arg0, align 8, !nonnull !2 | |
| call void @"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h4473555948147189664E"(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(16) %32, i64* noalias readonly dereferenceable(8) %33, i8 (i64*, %"fmt::Formatter"*)* @_ZN3fmt3num18usize.fmt..Display3fmt20h1307f0a0aaa587a885LE) | |
| %34 = getelementptr inbounds %"fmt::ArgumentV1", %"fmt::ArgumentV1"* %31, i32 1 | |
| %35 = load i64*, i64** %__arg1, align 8, !nonnull !2 | |
| call void @"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h4473555948147189664E"(%"fmt::ArgumentV1"* noalias nocapture sret dereferenceable(16) %34, i64* noalias readonly dereferenceable(8) %35, i8 (i64*, %"fmt::Formatter"*)* @_ZN3fmt3num18usize.fmt..Display3fmt20h1307f0a0aaa587a885LE) | |
| %36 = bitcast i64*** %__llmatch1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %36) | |
| %37 = bitcast i64** %__arg1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %37) | |
| %38 = bitcast i64*** %__llmatch to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %38) | |
| %39 = bitcast i64** %__arg0 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %39) | |
| br label %join | |
| join: ; preds = %case_body | |
| %40 = bitcast [2 x %"fmt::ArgumentV1"]* %5 to %"fmt::ArgumentV1"* | |
| %41 = getelementptr inbounds { %"fmt::ArgumentV1"*, i64 }, { %"fmt::ArgumentV1"*, i64 }* %__coerce_target, i32 0, i32 0 | |
| store %"fmt::ArgumentV1"* %40, %"fmt::ArgumentV1"** %41 | |
| %42 = getelementptr inbounds { %"fmt::ArgumentV1"*, i64 }, { %"fmt::ArgumentV1"*, i64 }* %__coerce_target, i32 0, i32 1 | |
| store i64 2, i64* %42 | |
| %43 = getelementptr inbounds { %"fmt::ArgumentV1"*, i64 }, { %"fmt::ArgumentV1"*, i64 }* %__coerce_target, i32 0, i32 0 | |
| %44 = load %"fmt::ArgumentV1"*, %"fmt::ArgumentV1"** %43 | |
| %45 = getelementptr inbounds { %"fmt::ArgumentV1"*, i64 }, { %"fmt::ArgumentV1"*, i64 }* %__coerce_target, i32 0, i32 1 | |
| %46 = load i64, i64* %45 | |
| call void @"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120h32916b984e369815hbNE"(%"fmt::Arguments"* noalias nocapture sret dereferenceable(48) %3, %str_slice* noalias nonnull readonly %14, i64 %16, %"fmt::ArgumentV1"* noalias nonnull readonly %44, i64 %46) | |
| %47 = load { %str_slice, i32 }*, { %str_slice, i32 }** %file_line, align 8, !nonnull !2 | |
| call void @_ZN9panicking9panic_fmt20h6fd5cab7f5e05869H8BE(%"fmt::Arguments"* noalias nocapture dereferenceable(48) %3, { %str_slice, i32 }* noalias readonly dereferenceable(24) %47) | |
| %48 = bitcast %"fmt::Arguments"* %3 to i8* | |
| call void @llvm.lifetime.end(i64 48, i8* %48) | |
| unreachable | |
| } | |
| ; Function Attrs: uwtable | |
| define void @_ZN3num7flt2dec6bignum8Big32x368from_u6420h097d04ac469590615mcE(%"num::flt2dec::bignum::Big32x36"* noalias nocapture sret dereferenceable(152), i64) unnamed_addr #2 { | |
| entry-block: | |
| %v = alloca i64 | |
| %base = alloca [36 x i32] | |
| %sz = alloca i64 | |
| %2 = alloca i64 | |
| %3 = bitcast i64* %v to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %v, align 8 | |
| %4 = bitcast [36 x i32]* %base to i8* | |
| call void @llvm.lifetime.start(i64 144, i8* %4) | |
| %5 = getelementptr inbounds [36 x i32], [36 x i32]* %base, i32 0, i32 0 | |
| br label %expr_repeat | |
| expr_repeat: ; preds = %expr_repeat, %entry-block | |
| %6 = phi i64 [ 0, %entry-block ], [ %8, %expr_repeat ] | |
| %7 = getelementptr inbounds i32, i32* %5, i64 %6 | |
| store i32 0, i32* %7, align 4 | |
| %8 = add i64 %6, 1 | |
| %9 = icmp ult i64 %8, 36 | |
| br i1 %9, label %expr_repeat, label %"expr_repeat: next" | |
| "expr_repeat: next": ; preds = %expr_repeat | |
| %10 = bitcast i64* %sz to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| store i64 0, i64* %sz, align 8 | |
| br label %while_cond | |
| while_exit: ; preds = %while_cond | |
| %11 = getelementptr inbounds %"num::flt2dec::bignum::Big32x36", %"num::flt2dec::bignum::Big32x36"* %0, i32 0, i32 0 | |
| %12 = load i64, i64* %sz, align 8 | |
| store i64 %12, i64* %11, align 8 | |
| %13 = getelementptr inbounds %"num::flt2dec::bignum::Big32x36", %"num::flt2dec::bignum::Big32x36"* %0, i32 0, i32 1 | |
| %14 = bitcast [36 x i32]* %base to i8* | |
| %15 = bitcast [36 x i32]* %13 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %15, i8* %14, i64 144, i32 4, i1 false) | |
| %16 = bitcast i64* %sz to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %16) | |
| %17 = bitcast [36 x i32]* %base to i8* | |
| call void @llvm.lifetime.end(i64 144, i8* %17) | |
| %18 = bitcast i64* %v to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %18) | |
| ret void | |
| while_cond: ; preds = %next, %"expr_repeat: next" | |
| %19 = load i64, i64* %v, align 8 | |
| %20 = icmp ugt i64 %19, 0 | |
| br i1 %20, label %while_body, label %while_exit | |
| while_body: ; preds = %while_cond | |
| %21 = load i64, i64* %v, align 8 | |
| %22 = trunc i64 %21 to i32 | |
| %23 = load i64, i64* %sz, align 8 | |
| %24 = getelementptr inbounds [36 x i32], [36 x i32]* %base, i32 0, i32 0 | |
| %25 = icmp uge i64 %23, 36 | |
| %26 = call i1 @llvm.expect.i1(i1 %25, i1 false) | |
| br i1 %26, label %cond, label %next | |
| next: ; preds = %while_body | |
| %27 = getelementptr inbounds i32, i32* %24, i64 %23 | |
| store i32 %22, i32* %27, align 4 | |
| %28 = load i64, i64* %v, align 8 | |
| %29 = bitcast i64* %2 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %29) | |
| %30 = call i64 @_ZN3mem7size_of20h4125651325415643322E() | |
| store i64 %30, i64* %2, align 8 | |
| %31 = load i64, i64* %2, align 8 | |
| %32 = bitcast i64* %2 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %32) | |
| %33 = mul i64 %31, 8 | |
| %34 = and i64 %33, 63 | |
| %35 = lshr i64 %28, %34 | |
| store i64 %35, i64* %v, align 8 | |
| %36 = load i64, i64* %sz, align 8 | |
| %37 = add i64 %36, 1 | |
| store i64 %37, i64* %sz, align 8 | |
| br label %while_cond | |
| cond: ; preds = %while_body | |
| call void @_ZN9panicking18panic_bounds_check20h237e73ee030240aaN7BE({ %str_slice, i32 }* noalias readonly dereferenceable(24) @panic_bounds_check_loc43612, i64 %23, i64 36) | |
| unreachable | |
| } | |
| ; Function Attrs: uwtable | |
| define zeroext i1 @_ZN3num7flt2dec6bignum8Big32x367is_zero20hc3f158a46ff8de66RncE(%"num::flt2dec::bignum::Big32x36"* noalias readonly dereferenceable(152)) unnamed_addr #2 { | |
| entry-block: | |
| %self = alloca %"num::flt2dec::bignum::Big32x36"* | |
| %1 = alloca %"slice::Iter<u32>" | |
| %__coerce_target = alloca { i32*, i64 } | |
| %2 = alloca %"ops::RangeTo<usize>" | |
| %overloaded_index_elt = alloca { i32*, i64 } | |
| %__fat_ptr = alloca { i32*, i64 } | |
| %3 = bitcast %"num::flt2dec::bignum::Big32x36"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store %"num::flt2dec::bignum::Big32x36"* %0, %"num::flt2dec::bignum::Big32x36"** %self, align 8 | |
| %4 = bitcast %"slice::Iter<u32>"* %1 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %4) | |
| %5 = load %"num::flt2dec::bignum::Big32x36"*, %"num::flt2dec::bignum::Big32x36"** %self, align 8, !nonnull !2 | |
| %6 = getelementptr inbounds %"num::flt2dec::bignum::Big32x36", %"num::flt2dec::bignum::Big32x36"* %5, i32 0, i32 1 | |
| %7 = bitcast [36 x i32]* %6 to i32* | |
| %8 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__coerce_target, i32 0, i32 0 | |
| store i32* %7, i32** %8 | |
| %9 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__coerce_target, i32 0, i32 1 | |
| store i64 36, i64* %9 | |
| %10 = bitcast %"ops::RangeTo<usize>"* %2 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = getelementptr inbounds %"ops::RangeTo<usize>", %"ops::RangeTo<usize>"* %2, i32 0, i32 0 | |
| %12 = load %"num::flt2dec::bignum::Big32x36"*, %"num::flt2dec::bignum::Big32x36"** %self, align 8, !nonnull !2 | |
| %13 = getelementptr inbounds %"num::flt2dec::bignum::Big32x36", %"num::flt2dec::bignum::Big32x36"* %12, i32 0, i32 0 | |
| %14 = load i64, i64* %13, align 8 | |
| store i64 %14, i64* %11, align 8 | |
| %15 = bitcast %"ops::RangeTo<usize>"* %2 to i64* | |
| %16 = load i64, i64* %15, align 8 | |
| %17 = bitcast %"ops::RangeTo<usize>"* %2 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %17) | |
| %18 = bitcast { i32*, i64 }* %overloaded_index_elt to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %18) | |
| %19 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__coerce_target, i32 0, i32 0 | |
| %20 = load i32*, i32** %19 | |
| %21 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__coerce_target, i32 0, i32 1 | |
| %22 = load i64, i64* %21 | |
| %23 = call { i32*, i64 } @"_ZN5slice56_$u5b$T$u5d$.ops..Index$LT$ops..RangeTo$LT$usize$GT$$GT$5index21h18093220961502650614E"(i32* noalias nonnull readonly %20, i64 %22, i64 %16) | |
| store { i32*, i64 } %23, { i32*, i64 }* %overloaded_index_elt, align 8 | |
| %24 = bitcast { i32*, i64 }* %__fat_ptr to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %24) | |
| %25 = bitcast { i32*, i64 }* %overloaded_index_elt to i8* | |
| %26 = bitcast { i32*, i64 }* %__fat_ptr to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %26, i8* %25, i64 16, i32 8, i1 false) | |
| %27 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__fat_ptr, i32 0, i32 0 | |
| %28 = load i32*, i32** %27 | |
| %29 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__fat_ptr, i32 0, i32 1 | |
| %30 = load i64, i64* %29 | |
| call void @"_ZN5slice21_$u5b$T$u5d$.SliceExt4iter21h13703703381004627772E"(%"slice::Iter<u32>"* noalias nocapture sret dereferenceable(16) %1, i32* noalias nonnull readonly %28, i64 %30) | |
| %31 = call zeroext i1 @_ZN4iter8Iterator3all20h7573691891675112475E(%"slice::Iter<u32>"* noalias dereferenceable(16) %1, %closure.0 undef) | |
| %32 = zext i1 %31 to i8 | |
| %33 = bitcast %"slice::Iter<u32>"* %1 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %33) | |
| %34 = bitcast %"num::flt2dec::bignum::Big32x36"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %34) | |
| %35 = trunc i8 %32 to i1 | |
| ret i1 %35 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal zeroext i1 @_ZN4iter8Iterator3all20h7573691891675112475E(%"slice::Iter<u32>"* noalias dereferenceable(16), %closure.0) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca i8 | |
| %self = alloca %"slice::Iter<u32>"* | |
| %f = alloca %closure.0 | |
| %result = alloca {} | |
| %2 = alloca %"slice::Iter<u32>"* | |
| %3 = alloca %"slice::Iter<u32>"* | |
| %match = alloca %"slice::Iter<u32>"* | |
| %iter = alloca %"slice::Iter<u32>"** | |
| %4 = alloca i8* | |
| %match1 = alloca i8* | |
| %__llmatch = alloca i32** | |
| %x = alloca i32* | |
| %5 = alloca i8 | |
| %6 = bitcast %"slice::Iter<u32>"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %6) | |
| store %"slice::Iter<u32>"* %0, %"slice::Iter<u32>"** %self, align 8 | |
| %7 = bitcast %closure.0* %f to i8* | |
| call void @llvm.lifetime.start(i64 0, i8* %7) | |
| %8 = bitcast {}* %result to i8* | |
| call void @llvm.lifetime.start(i64 0, i8* %8) | |
| %9 = bitcast %"slice::Iter<u32>"** %2 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %9) | |
| %10 = bitcast %"slice::Iter<u32>"** %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %self, align 8, !nonnull !2 | |
| %12 = call dereferenceable(16) %"slice::Iter<u32>"* @_ZN4iter8Iterator6by_ref20h4947923434145485298E(%"slice::Iter<u32>"* noalias dereferenceable(16) %11) | |
| store %"slice::Iter<u32>"* %12, %"slice::Iter<u32>"** %3, align 8 | |
| %13 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %3, align 8, !nonnull !2 | |
| %14 = bitcast %"slice::Iter<u32>"** %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %14) | |
| %15 = call dereferenceable(16) %"slice::Iter<u32>"* @_ZN4iter14I.IntoIterator9into_iter19h257626559875800590E(%"slice::Iter<u32>"* noalias dereferenceable(16) %13) | |
| store %"slice::Iter<u32>"* %15, %"slice::Iter<u32>"** %2, align 8 | |
| %16 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %2, align 8, !nonnull !2 | |
| %17 = bitcast %"slice::Iter<u32>"** %2 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %17) | |
| %18 = bitcast %"slice::Iter<u32>"** %match to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %18) | |
| store %"slice::Iter<u32>"* %16, %"slice::Iter<u32>"** %match, align 8 | |
| %19 = bitcast %"slice::Iter<u32>"*** %iter to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %19) | |
| store %"slice::Iter<u32>"** %match, %"slice::Iter<u32>"*** %iter | |
| br label %case_body | |
| case_body: ; preds = %entry-block | |
| %20 = load %"slice::Iter<u32>"**, %"slice::Iter<u32>"*** %iter | |
| br label %loop_body | |
| loop_exit: ; preds = %clean_ast_108279_6 | |
| %21 = bitcast %"slice::Iter<u32>"*** %iter to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %21) | |
| br label %join7 | |
| loop_body: ; preds = %join, %case_body | |
| %22 = bitcast i8** %4 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %22) | |
| %23 = call i8* @"_ZN4iter34_$RF$$u27$a$u20$mut$u20$I.Iterator4next20h8606647266037004043E"(%"slice::Iter<u32>"** noalias dereferenceable(8) %20) | |
| store i8* %23, i8** %4, align 8 | |
| %24 = load i8*, i8** %4, align 8 | |
| %25 = bitcast i8** %4 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| %26 = bitcast i8** %match1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %26) | |
| store i8* %24, i8** %match1, align 8 | |
| %27 = load i8*, i8** %match1 | |
| %28 = icmp ne i8* %27, null | |
| switch i1 %28, label %match_else [ | |
| i1 true, label %match_case | |
| ] | |
| case_body2: ; preds = %match_case | |
| %29 = load i32**, i32*** %__llmatch | |
| %30 = bitcast i32** %x to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %30) | |
| %31 = load i32*, i32** %29, align 8, !nonnull !2 | |
| store i32* %31, i32** %x, align 8 | |
| call void @llvm.lifetime.start(i64 1, i8* %5) | |
| %32 = load i32*, i32** %x, align 8, !nonnull !2 | |
| %33 = call zeroext i1 @_ZN3num7flt2dec6bignum8Big32x367is_zero13closure.43616E(%closure.0* noalias %f, i32* noalias readonly dereferenceable(4) %32) | |
| %34 = zext i1 %33 to i8 | |
| store i8 %34, i8* %5, align 1 | |
| %35 = load i8, i8* %5, align 1, !range !1 | |
| %36 = trunc i8 %35 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %5) | |
| %37 = xor i1 %36, true | |
| br i1 %37, label %then-block-108294-, label %next-block | |
| case_body3: ; preds = %match_else | |
| br label %clean_ast_108279_6 | |
| match_else: ; preds = %loop_body | |
| br label %case_body3 | |
| match_case: ; preds = %loop_body | |
| %38 = bitcast i8** %match1 to i32** | |
| %39 = bitcast i32*** %__llmatch to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %39) | |
| store i32** %38, i32*** %__llmatch | |
| br label %case_body2 | |
| then-block-108294-: ; preds = %case_body2 | |
| store i8 0, i8* %sret_slot, align 1 | |
| br label %clean_custom_5 | |
| clean_custom_: ; preds = %join7, %clean_ast_108269_ | |
| %40 = bitcast %closure.0* %f to i8* | |
| call void @llvm.lifetime.end(i64 0, i8* %40) | |
| %41 = bitcast %"slice::Iter<u32>"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %41) | |
| br label %return | |
| clean_ast_108269_: ; preds = %clean_custom_4 | |
| %42 = bitcast %"slice::Iter<u32>"** %match to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %42) | |
| br label %clean_custom_ | |
| clean_custom_4: ; preds = %clean_ast_108279_ | |
| %43 = bitcast %"slice::Iter<u32>"*** %iter to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %43) | |
| br label %clean_ast_108269_ | |
| clean_ast_108279_: ; preds = %clean_custom_5 | |
| %44 = bitcast i8** %match1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %44) | |
| br label %clean_custom_4 | |
| clean_custom_5: ; preds = %then-block-108294- | |
| %45 = bitcast i32*** %__llmatch to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %45) | |
| %46 = bitcast i32** %x to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %46) | |
| br label %clean_ast_108279_ | |
| next-block: ; preds = %case_body2 | |
| %47 = bitcast i32*** %__llmatch to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %47) | |
| %48 = bitcast i32** %x to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %48) | |
| br label %join | |
| clean_ast_108279_6: ; preds = %case_body3 | |
| %49 = bitcast i8** %match1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %49) | |
| br label %loop_exit | |
| join: ; preds = %next-block | |
| %50 = bitcast i8** %match1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %50) | |
| br label %loop_body | |
| join7: ; preds = %loop_exit | |
| %51 = bitcast %"slice::Iter<u32>"** %match to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %51) | |
| %52 = bitcast {}* %result to i8* | |
| call void @llvm.lifetime.end(i64 0, i8* %52) | |
| store i8 1, i8* %sret_slot, align 1 | |
| br label %clean_custom_ | |
| return: ; preds = %clean_custom_ | |
| %53 = load i8, i8* %sret_slot, align 1, !range !1 | |
| %54 = trunc i8 %53 to i1 | |
| ret i1 %54 | |
| } | |
| ; Function Attrs: uwtable | |
| define internal dereferenceable(16) %"slice::Iter<u32>"* @_ZN4iter14I.IntoIterator9into_iter19h257626559875800590E(%"slice::Iter<u32>"* noalias dereferenceable(16)) unnamed_addr #2 { | |
| entry-block: | |
| %self = alloca %"slice::Iter<u32>"* | |
| %1 = bitcast %"slice::Iter<u32>"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store %"slice::Iter<u32>"* %0, %"slice::Iter<u32>"** %self, align 8 | |
| %2 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %self, align 8, !nonnull !2 | |
| %3 = bitcast %"slice::Iter<u32>"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %3) | |
| ret %"slice::Iter<u32>"* %2 | |
| } | |
| ; Function Attrs: uwtable | |
| define internal dereferenceable(16) %"slice::Iter<u32>"* @_ZN4iter8Iterator6by_ref20h4947923434145485298E(%"slice::Iter<u32>"* noalias dereferenceable(16)) unnamed_addr #2 { | |
| entry-block: | |
| %self = alloca %"slice::Iter<u32>"* | |
| %1 = bitcast %"slice::Iter<u32>"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store %"slice::Iter<u32>"* %0, %"slice::Iter<u32>"** %self, align 8 | |
| %2 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %self, align 8, !nonnull !2 | |
| %3 = bitcast %"slice::Iter<u32>"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %3) | |
| ret %"slice::Iter<u32>"* %2 | |
| } | |
| ; Function Attrs: uwtable | |
| define internal i8* @"_ZN4iter34_$RF$$u27$a$u20$mut$u20$I.Iterator4next20h8606647266037004043E"(%"slice::Iter<u32>"** noalias dereferenceable(8)) unnamed_addr #2 { | |
| entry-block: | |
| %self = alloca %"slice::Iter<u32>"** | |
| %1 = bitcast %"slice::Iter<u32>"*** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store %"slice::Iter<u32>"** %0, %"slice::Iter<u32>"*** %self, align 8 | |
| %2 = load %"slice::Iter<u32>"**, %"slice::Iter<u32>"*** %self, align 8, !nonnull !2 | |
| %3 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %2, align 8, !nonnull !2 | |
| %4 = call i8* @"_ZN5slice36Iter$LT$$u27$a$C$$u20$T$GT$.Iterator4next21h17988686776990959875E"(%"slice::Iter<u32>"* noalias dereferenceable(16) %3) | |
| %5 = bitcast %"slice::Iter<u32>"*** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %5) | |
| ret i8* %4 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal i8* @"_ZN5slice36Iter$LT$$u27$a$C$$u20$T$GT$.Iterator4next21h17988686776990959875E"(%"slice::Iter<u32>"* noalias dereferenceable(16)) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca i8* | |
| %self = alloca %"slice::Iter<u32>"* | |
| %1 = alloca i64 | |
| %2 = alloca i8 | |
| %3 = alloca i8 | |
| %old = alloca i32* | |
| %4 = alloca i32* | |
| %ptr = alloca i32* | |
| %5 = alloca i64 | |
| %6 = alloca i8* | |
| %7 = alloca i32* | |
| %ptr2 = alloca i32* | |
| %8 = alloca i32* | |
| %9 = alloca i64 | |
| %10 = bitcast %"slice::Iter<u32>"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| store %"slice::Iter<u32>"* %0, %"slice::Iter<u32>"** %self, align 8 | |
| %11 = bitcast i64* %1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %11) | |
| %12 = call i64 @_ZN3mem7size_of20h4125651325415643322E() | |
| store i64 %12, i64* %1, align 8 | |
| %13 = load i64, i64* %1, align 8 | |
| %14 = bitcast i64* %1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %14) | |
| %15 = icmp ne i64 %13, 0 | |
| br i1 %15, label %then-block-126282-, label %next-block | |
| then-block-126282-: ; preds = %entry-block | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %16 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %self, align 8, !nonnull !2 | |
| %17 = getelementptr inbounds %"slice::Iter<u32>", %"slice::Iter<u32>"* %16, i32 0, i32 0 | |
| %18 = load i32*, i32** %17, align 8 | |
| %19 = call zeroext i1 @"_ZN3ptr16_$BP$const$u20$T7is_null21h13949666015118894368E"(i32* %18) | |
| %20 = zext i1 %19 to i8 | |
| store i8 %20, i8* %2, align 1 | |
| %21 = load i8, i8* %2, align 1, !range !1 | |
| %22 = trunc i8 %21 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %2) | |
| %23 = xor i1 %22, true | |
| call void @llvm.assume(i1 %23) | |
| call void @llvm.lifetime.start(i64 1, i8* %3) | |
| %24 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %self, align 8, !nonnull !2 | |
| %25 = getelementptr inbounds %"slice::Iter<u32>", %"slice::Iter<u32>"* %24, i32 0, i32 1 | |
| %26 = load i32*, i32** %25, align 8 | |
| %27 = call zeroext i1 @"_ZN3ptr16_$BP$const$u20$T7is_null21h13949666015118894368E"(i32* %26) | |
| %28 = zext i1 %27 to i8 | |
| store i8 %28, i8* %3, align 1 | |
| %29 = load i8, i8* %3, align 1, !range !1 | |
| %30 = trunc i8 %29 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %3) | |
| %31 = xor i1 %30, true | |
| call void @llvm.assume(i1 %31) | |
| br label %next-block | |
| next-block: ; preds = %then-block-126282-, %entry-block | |
| %32 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %self, align 8, !nonnull !2 | |
| %33 = getelementptr inbounds %"slice::Iter<u32>", %"slice::Iter<u32>"* %32, i32 0, i32 0 | |
| %34 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %self, align 8, !nonnull !2 | |
| %35 = getelementptr inbounds %"slice::Iter<u32>", %"slice::Iter<u32>"* %34, i32 0, i32 1 | |
| %36 = load i32*, i32** %33, align 8 | |
| %37 = load i32*, i32** %35, align 8 | |
| %38 = icmp eq i32* %36, %37 | |
| br i1 %38, label %then-block-126303-, label %else-block | |
| then-block-126303-: ; preds = %next-block | |
| %39 = bitcast i8** %sret_slot to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %39, i8* bitcast (i8** @const43614 to i8*), i64 8, i32 8, i1 false) | |
| br label %join5 | |
| else-block: ; preds = %next-block | |
| %40 = bitcast i32** %old to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %40) | |
| %41 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %self, align 8, !nonnull !2 | |
| %42 = getelementptr inbounds %"slice::Iter<u32>", %"slice::Iter<u32>"* %41, i32 0, i32 0 | |
| %43 = load i32*, i32** %42, align 8 | |
| store i32* %43, i32** %old, align 8 | |
| %44 = bitcast i32** %4 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %44) | |
| %45 = bitcast i32** %ptr to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %45) | |
| %46 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %self, align 8, !nonnull !2 | |
| %47 = getelementptr inbounds %"slice::Iter<u32>", %"slice::Iter<u32>"* %46, i32 0, i32 0 | |
| %48 = load i32*, i32** %47, align 8 | |
| store i32* %48, i32** %ptr, align 8 | |
| %49 = bitcast i64* %5 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %49) | |
| %50 = load i32*, i32** %ptr, align 8 | |
| %51 = call i64 @_ZN5slice13size_from_ptr20h1689821366228711994E(i32* %50) | |
| store i64 %51, i64* %5, align 8 | |
| %52 = load i64, i64* %5, align 8 | |
| %53 = bitcast i64* %5 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %53) | |
| %54 = icmp eq i64 %52, 0 | |
| br i1 %54, label %then-block-126329-, label %else-block1 | |
| then-block-126329-: ; preds = %else-block | |
| %55 = bitcast i8** %6 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %55) | |
| %56 = load i32*, i32** %ptr, align 8 | |
| %57 = bitcast i32* %56 to i8* | |
| %58 = getelementptr i8, i8* %57, i64 1 | |
| store i8* %58, i8** %6, align 8 | |
| %59 = load i8*, i8** %6, align 8 | |
| %60 = bitcast i8** %6 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %60) | |
| %61 = bitcast i8* %59 to i32* | |
| store i32* %61, i32** %4, align 8 | |
| br label %join | |
| else-block1: ; preds = %else-block | |
| %62 = load i32*, i32** %ptr, align 8 | |
| %63 = call i32* @"_ZN3ptr16_$BP$const$u20$T6offset21h16624248233940954270E"(i32* %62, i64 1) | |
| store i32* %63, i32** %4, align 8 | |
| br label %join | |
| join: ; preds = %else-block1, %then-block-126329- | |
| %64 = bitcast i32** %ptr to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %64) | |
| %65 = load i32*, i32** %4, align 8 | |
| %66 = bitcast i32** %4 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %66) | |
| %67 = load %"slice::Iter<u32>"*, %"slice::Iter<u32>"** %self, align 8, !nonnull !2 | |
| %68 = getelementptr inbounds %"slice::Iter<u32>", %"slice::Iter<u32>"* %67, i32 0, i32 0 | |
| store i32* %65, i32** %68, align 8 | |
| %69 = bitcast i8** %sret_slot to i32** | |
| %70 = bitcast i32** %7 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %70) | |
| %71 = bitcast i32** %ptr2 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %71) | |
| %72 = load i32*, i32** %old, align 8 | |
| store i32* %72, i32** %ptr2, align 8 | |
| %73 = bitcast i32** %8 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %73) | |
| %74 = bitcast i64* %9 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %74) | |
| %75 = load i32*, i32** %ptr2, align 8 | |
| %76 = call i64 @_ZN5slice13size_from_ptr20h1689821366228711994E(i32* %75) | |
| store i64 %76, i64* %9, align 8 | |
| %77 = load i64, i64* %9, align 8 | |
| %78 = bitcast i64* %9 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %78) | |
| %79 = icmp eq i64 %77, 0 | |
| br i1 %79, label %then-block-126359-, label %else-block3 | |
| then-block-126359-: ; preds = %join | |
| store i32* inttoptr (i64 1 to i32*), i32** %8, align 8 | |
| br label %join4 | |
| else-block3: ; preds = %join | |
| %80 = load i32*, i32** %ptr2, align 8 | |
| store i32* %80, i32** %8 | |
| br label %join4 | |
| join4: ; preds = %else-block3, %then-block-126359- | |
| %81 = load i32*, i32** %8, align 8, !nonnull !2 | |
| %82 = bitcast i32** %8 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %82) | |
| store i32* %81, i32** %7, align 8 | |
| %83 = bitcast i32** %ptr2 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %83) | |
| %84 = load i32*, i32** %7, align 8, !nonnull !2 | |
| %85 = bitcast i32** %7 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %85) | |
| store i32* %84, i32** %69, align 8 | |
| %86 = bitcast i32** %old to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %86) | |
| br label %join5 | |
| join5: ; preds = %join4, %then-block-126303- | |
| %87 = bitcast %"slice::Iter<u32>"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %87) | |
| %88 = load i8*, i8** %sret_slot, align 8 | |
| ret i8* %88 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal zeroext i1 @"_ZN3ptr16_$BP$const$u20$T7is_null21h13949666015118894368E"(i32*) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i32* | |
| %1 = bitcast i32** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store i32* %0, i32** %self, align 8 | |
| %2 = load i32*, i32** %self, align 8 | |
| %3 = icmp eq i32* %2, null | |
| %4 = zext i1 %3 to i8 | |
| %5 = bitcast i32** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %5) | |
| %6 = trunc i8 %4 to i1 | |
| ret i1 %6 | |
| } | |
| ; Function Attrs: nounwind | |
| declare void @llvm.assume(i1) unnamed_addr #3 | |
| ; Function Attrs: alwaysinline uwtable | |
| define internal i64 @_ZN5slice13size_from_ptr20h1689821366228711994E(i32*) unnamed_addr #6 { | |
| entry-block: | |
| %__arg = alloca i32* | |
| %1 = bitcast i32** %__arg to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store i32* %0, i32** %__arg, align 8 | |
| %2 = call i64 @_ZN3mem7size_of20h4125651325415643322E() | |
| %3 = bitcast i32** %__arg to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %3) | |
| ret i64 %2 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal i32* @"_ZN3ptr16_$BP$const$u20$T6offset21h16624248233940954270E"(i32*, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i32* | |
| %count = alloca i64 | |
| %2 = bitcast i32** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i32* %0, i32** %self, align 8 | |
| %3 = bitcast i64* %count to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %count, align 8 | |
| %4 = load i32*, i32** %self, align 8 | |
| %5 = load i64, i64* %count, align 8 | |
| %6 = getelementptr inbounds i32, i32* %4, i64 %5 | |
| %7 = bitcast i64* %count to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %7) | |
| %8 = bitcast i32** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %8) | |
| ret i32* %6 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal zeroext i1 @_ZN3num7flt2dec6bignum8Big32x367is_zero13closure.43616E(%closure.0* noalias, i32* noalias readonly dereferenceable(4)) unnamed_addr #4 { | |
| entry-block: | |
| %__arg = alloca i32* | |
| %v = alloca i32 | |
| %2 = bitcast i32** %__arg to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i32* %1, i32** %__arg, align 8 | |
| %3 = load i32*, i32** %__arg | |
| %4 = bitcast i32* %v to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %4) | |
| %5 = load i32, i32* %3, align 4 | |
| store i32 %5, i32* %v, align 4 | |
| %6 = load i32, i32* %v, align 4 | |
| %7 = icmp eq i32 %6, 0 | |
| %8 = zext i1 %7 to i8 | |
| %9 = bitcast i32* %v to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %9) | |
| %10 = bitcast i32** %__arg to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %10) | |
| %11 = trunc i8 %8 to i1 | |
| ret i1 %11 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @"_ZN5slice21_$u5b$T$u5d$.SliceExt4iter21h13703703381004627772E"(%"slice::Iter<u32>"* noalias nocapture sret dereferenceable(16), i32* noalias nonnull readonly, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca { i32*, i64 } | |
| %p = alloca i32* | |
| %3 = alloca i64 | |
| %p1 = alloca i32* | |
| %4 = alloca i8 | |
| %ptr = alloca i32* | |
| %5 = alloca i64 | |
| %6 = alloca i8* | |
| %7 = alloca i64 | |
| %8 = alloca i64 | |
| %9 = insertvalue { i32*, i64 } undef, i32* %1, 0 | |
| %10 = insertvalue { i32*, i64 } %9, i64 %2, 1 | |
| %11 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %11) | |
| store { i32*, i64 } %10, { i32*, i64 }* %self, align 8 | |
| %12 = bitcast i32** %p to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %12) | |
| %13 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %13) | |
| %14 = call i64 @_ZN3mem7size_of20h4125651325415643322E() | |
| store i64 %14, i64* %3, align 8 | |
| %15 = load i64, i64* %3, align 8 | |
| %16 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %16) | |
| %17 = icmp eq i64 %15, 0 | |
| br i1 %17, label %then-block-124131-, label %else-block | |
| then-block-124131-: ; preds = %entry-block | |
| store i32* inttoptr (i64 1 to i32*), i32** %p, align 8 | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %18 = bitcast i32** %p1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %18) | |
| %19 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %20 = load i32*, i32** %19 | |
| %21 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %22 = load i64, i64* %21 | |
| %23 = call i32* @"_ZN5slice21_$u5b$T$u5d$.SliceExt6as_ptr20h8185024613234627950E"(i32* noalias nonnull readonly %20, i64 %22) | |
| store i32* %23, i32** %p1, align 8 | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %24 = load i32*, i32** %p1, align 8 | |
| %25 = call zeroext i1 @"_ZN3ptr16_$BP$const$u20$T7is_null21h13949666015118894368E"(i32* %24) | |
| %26 = zext i1 %25 to i8 | |
| store i8 %26, i8* %4, align 1 | |
| %27 = load i8, i8* %4, align 1, !range !1 | |
| %28 = trunc i8 %27 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %4) | |
| %29 = xor i1 %28, true | |
| call void @llvm.assume(i1 %29) | |
| %30 = load i32*, i32** %p1, align 8 | |
| store i32* %30, i32** %p, align 8 | |
| %31 = bitcast i32** %p1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %31) | |
| br label %join | |
| join: ; preds = %else-block, %then-block-124131- | |
| %32 = getelementptr inbounds %"slice::Iter<u32>", %"slice::Iter<u32>"* %0, i32 0, i32 0 | |
| %33 = load i32*, i32** %p, align 8 | |
| store i32* %33, i32** %32, align 8 | |
| %34 = getelementptr inbounds %"slice::Iter<u32>", %"slice::Iter<u32>"* %0, i32 0, i32 1 | |
| %35 = bitcast i32** %ptr to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %35) | |
| %36 = load i32*, i32** %p, align 8 | |
| store i32* %36, i32** %ptr, align 8 | |
| %37 = bitcast i64* %5 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %37) | |
| %38 = load i32*, i32** %ptr, align 8 | |
| %39 = call i64 @_ZN5slice13size_from_ptr20h1689821366228711994E(i32* %38) | |
| store i64 %39, i64* %5, align 8 | |
| %40 = load i64, i64* %5, align 8 | |
| %41 = bitcast i64* %5 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %41) | |
| %42 = icmp eq i64 %40, 0 | |
| br i1 %42, label %then-block-124164-, label %else-block2 | |
| then-block-124164-: ; preds = %join | |
| %43 = bitcast i8** %6 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %43) | |
| %44 = load i32*, i32** %ptr, align 8 | |
| %45 = bitcast i32* %44 to i8* | |
| %46 = bitcast i64* %7 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %46) | |
| %47 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %48 = load i32*, i32** %47 | |
| %49 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %50 = load i64, i64* %49 | |
| %51 = call i64 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h10789329301273490820E"(i32* noalias nonnull readonly %48, i64 %50) | |
| store i64 %51, i64* %7, align 8 | |
| %52 = load i64, i64* %7, align 8 | |
| %53 = bitcast i64* %7 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %53) | |
| %54 = getelementptr i8, i8* %45, i64 %52 | |
| store i8* %54, i8** %6, align 8 | |
| %55 = load i8*, i8** %6, align 8 | |
| %56 = bitcast i8** %6 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %56) | |
| %57 = bitcast i8* %55 to i32* | |
| store i32* %57, i32** %34, align 8 | |
| br label %join3 | |
| else-block2: ; preds = %join | |
| %58 = load i32*, i32** %ptr, align 8 | |
| %59 = bitcast i64* %8 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %59) | |
| %60 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %61 = load i32*, i32** %60 | |
| %62 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %63 = load i64, i64* %62 | |
| %64 = call i64 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h10789329301273490820E"(i32* noalias nonnull readonly %61, i64 %63) | |
| store i64 %64, i64* %8, align 8 | |
| %65 = load i64, i64* %8, align 8 | |
| %66 = bitcast i64* %8 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %66) | |
| %67 = call i32* @"_ZN3ptr16_$BP$const$u20$T6offset21h16624248233940954270E"(i32* %58, i64 %65) | |
| store i32* %67, i32** %34, align 8 | |
| br label %join3 | |
| join3: ; preds = %else-block2, %then-block-124164- | |
| %68 = bitcast i32** %ptr to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %68) | |
| %69 = getelementptr inbounds %"slice::Iter<u32>", %"slice::Iter<u32>"* %0, i32 0, i32 2 | |
| %70 = bitcast %"marker::PhantomData<&'static u32>"* %69 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %70, i8* bitcast (%"marker::PhantomData<&'static u32>"* @const43618 to i8*), i64 0, i32 1, i1 false) | |
| %71 = bitcast i32** %p to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %71) | |
| %72 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %72) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal i32* @"_ZN5slice21_$u5b$T$u5d$.SliceExt6as_ptr20h8185024613234627950E"(i32* noalias nonnull readonly, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca { i32*, i64 } | |
| %2 = alloca %"raw::Slice<u32>" | |
| %3 = insertvalue { i32*, i64 } undef, i32* %0, 0 | |
| %4 = insertvalue { i32*, i64 } %3, i64 %1, 1 | |
| %5 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| store { i32*, i64 } %4, { i32*, i64 }* %self, align 8 | |
| %6 = bitcast %"raw::Slice<u32>"* %2 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| %7 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %8 = load i32*, i32** %7 | |
| %9 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %10 = load i64, i64* %9 | |
| call void @_ZN3raw4Repr4repr20h8530958648119263582E(%"raw::Slice<u32>"* noalias nocapture sret dereferenceable(16) %2, i32* noalias nonnull readonly %8, i64 %10) | |
| %11 = getelementptr inbounds %"raw::Slice<u32>", %"raw::Slice<u32>"* %2, i32 0, i32 0 | |
| %12 = load i32*, i32** %11, align 8 | |
| %13 = bitcast %"raw::Slice<u32>"* %2 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %13) | |
| %14 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %14) | |
| ret i32* %12 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @_ZN3raw4Repr4repr20h8530958648119263582E(%"raw::Slice<u32>"* noalias nocapture sret dereferenceable(16), i32* noalias nonnull readonly, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca { i32*, i64 } | |
| %3 = insertvalue { i32*, i64 } undef, i32* %1, 0 | |
| %4 = insertvalue { i32*, i64 } %3, i64 %2, 1 | |
| %5 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| store { i32*, i64 } %4, { i32*, i64 }* %self, align 8 | |
| call void @_ZN3mem14transmute_copy21h17751542385444535273E(%"raw::Slice<u32>"* noalias nocapture sret dereferenceable(16) %0, { i32*, i64 }* noalias readonly dereferenceable(16) %self) | |
| %6 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %6) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @_ZN3mem14transmute_copy21h17751542385444535273E(%"raw::Slice<u32>"* noalias nocapture sret dereferenceable(16), { i32*, i64 }* noalias readonly dereferenceable(16)) unnamed_addr #0 { | |
| entry-block: | |
| %src = alloca { i32*, i64 }* | |
| %2 = bitcast { i32*, i64 }** %src to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store { i32*, i64 }* %1, { i32*, i64 }** %src, align 8 | |
| %3 = load { i32*, i64 }*, { i32*, i64 }** %src, align 8 | |
| %4 = bitcast { i32*, i64 }* %3 to %"raw::Slice<u32>"* | |
| call void @_ZN3ptr4read20h2153910800644215568E(%"raw::Slice<u32>"* noalias nocapture sret dereferenceable(16) %0, %"raw::Slice<u32>"* %4) | |
| %5 = bitcast { i32*, i64 }** %src to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %5) | |
| ret void | |
| } | |
| ; Function Attrs: alwaysinline uwtable | |
| define internal void @_ZN3ptr4read20h2153910800644215568E(%"raw::Slice<u32>"* noalias nocapture sret dereferenceable(16), %"raw::Slice<u32>"*) unnamed_addr #6 { | |
| entry-block: | |
| %src = alloca %"raw::Slice<u32>"* | |
| %tmp = alloca %"raw::Slice<u32>" | |
| %2 = bitcast %"raw::Slice<u32>"** %src to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store %"raw::Slice<u32>"* %1, %"raw::Slice<u32>"** %src, align 8 | |
| %3 = bitcast %"raw::Slice<u32>"* %tmp to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %3) | |
| call void @_ZN3mem13uninitialized20h3110330219745135956E(%"raw::Slice<u32>"* noalias nocapture sret dereferenceable(16) %tmp) | |
| %4 = load %"raw::Slice<u32>"*, %"raw::Slice<u32>"** %src, align 8 | |
| %5 = bitcast %"raw::Slice<u32>"* %tmp to i8* | |
| %6 = bitcast %"raw::Slice<u32>"* %4 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* %6, i64 16, i32 8, i1 false) | |
| %7 = bitcast %"raw::Slice<u32>"* %tmp to i8* | |
| %8 = bitcast %"raw::Slice<u32>"* %0 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %8, i8* %7, i64 16, i32 8, i1 false) | |
| %9 = bitcast %"raw::Slice<u32>"* %tmp to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %9) | |
| %10 = bitcast %"raw::Slice<u32>"** %src to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %10) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @_ZN3mem13uninitialized20h3110330219745135956E(%"raw::Slice<u32>"* noalias nocapture sret dereferenceable(16)) unnamed_addr #0 { | |
| entry-block: | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal i64 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h10789329301273490820E"(i32* noalias nonnull readonly, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca { i32*, i64 } | |
| %2 = alloca %"raw::Slice<u32>" | |
| %3 = insertvalue { i32*, i64 } undef, i32* %0, 0 | |
| %4 = insertvalue { i32*, i64 } %3, i64 %1, 1 | |
| %5 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| store { i32*, i64 } %4, { i32*, i64 }* %self, align 8 | |
| %6 = bitcast %"raw::Slice<u32>"* %2 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| %7 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %8 = load i32*, i32** %7 | |
| %9 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %10 = load i64, i64* %9 | |
| call void @_ZN3raw4Repr4repr20h8530958648119263582E(%"raw::Slice<u32>"* noalias nocapture sret dereferenceable(16) %2, i32* noalias nonnull readonly %8, i64 %10) | |
| %11 = getelementptr inbounds %"raw::Slice<u32>", %"raw::Slice<u32>"* %2, i32 0, i32 1 | |
| %12 = load i64, i64* %11, align 8 | |
| %13 = bitcast %"raw::Slice<u32>"* %2 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %13) | |
| %14 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %14) | |
| ret i64 %12 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal { i32*, i64 } @"_ZN5slice56_$u5b$T$u5d$.ops..Index$LT$ops..RangeTo$LT$usize$GT$$GT$5index21h18093220961502650614E"(i32* noalias nonnull readonly, i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca { i32*, i64 } | |
| %self = alloca { i32*, i64 } | |
| %index = alloca %"ops::RangeTo<usize>" | |
| %3 = alloca { i32*, i64 } | |
| %4 = alloca %"ops::Range<usize>" | |
| %5 = insertvalue { i32*, i64 } undef, i32* %0, 0 | |
| %6 = insertvalue { i32*, i64 } %5, i64 %1, 1 | |
| %7 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %7) | |
| store { i32*, i64 } %6, { i32*, i64 }* %self, align 8 | |
| %8 = bitcast %"ops::RangeTo<usize>"* %index to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %8) | |
| %9 = bitcast %"ops::RangeTo<usize>"* %index to i64* | |
| store i64 %2, i64* %9, align 8 | |
| %10 = bitcast { i32*, i64 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %10) | |
| %11 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %12 = load i32*, i32** %11 | |
| %13 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %14 = load i64, i64* %13 | |
| %15 = bitcast %"ops::Range<usize>"* %4 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %15) | |
| %16 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %4, i32 0, i32 0 | |
| store i64 0, i64* %16, align 8 | |
| %17 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %4, i32 0, i32 1 | |
| %18 = getelementptr inbounds %"ops::RangeTo<usize>", %"ops::RangeTo<usize>"* %index, i32 0, i32 0 | |
| %19 = load i64, i64* %18, align 8 | |
| store i64 %19, i64* %17, align 8 | |
| %20 = call { i32*, i64 } @"_ZN5slice54_$u5b$T$u5d$.ops..Index$LT$ops..Range$LT$usize$GT$$GT$5index20h2804395842260086815E"(i32* noalias nonnull readonly %12, i64 %14, %"ops::Range<usize>"* noalias nocapture dereferenceable(16) %4) | |
| store { i32*, i64 } %20, { i32*, i64 }* %3, align 8 | |
| %21 = bitcast %"ops::Range<usize>"* %4 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %21) | |
| %22 = bitcast { i32*, i64 }* %3 to i8* | |
| %23 = bitcast { i32*, i64 }* %sret_slot to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %23, i8* %22, i64 16, i32 8, i1 false) | |
| %24 = bitcast { i32*, i64 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %24) | |
| %25 = bitcast %"ops::RangeTo<usize>"* %index to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| %26 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %26) | |
| %27 = load { i32*, i64 }, { i32*, i64 }* %sret_slot, align 8 | |
| ret { i32*, i64 } %27 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal { i32*, i64 } @"_ZN5slice54_$u5b$T$u5d$.ops..Index$LT$ops..Range$LT$usize$GT$$GT$5index20h2804395842260086815E"(i32* noalias nonnull readonly, i64, %"ops::Range<usize>"* noalias nocapture dereferenceable(16)) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca { i32*, i64 } | |
| %self = alloca { i32*, i64 } | |
| %3 = alloca i64 | |
| %4 = alloca { i32*, i64 } | |
| %5 = alloca { i32*, i64 } | |
| %6 = alloca i32* | |
| %7 = alloca i32* | |
| %8 = insertvalue { i32*, i64 } undef, i32* %0, 0 | |
| %9 = insertvalue { i32*, i64 } %8, i64 %1, 1 | |
| %10 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %10) | |
| store { i32*, i64 } %9, { i32*, i64 }* %self, align 8 | |
| %11 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %2, i32 0, i32 0 | |
| %12 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %2, i32 0, i32 1 | |
| %13 = load i64, i64* %11, align 8 | |
| %14 = load i64, i64* %12, align 8 | |
| %15 = icmp ule i64 %13, %14 | |
| %16 = xor i1 %15, true | |
| br i1 %16, label %then-block-125661-, label %next-block | |
| then-block-125661-: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN5slice54_$u5b$T$u5d$.ops..Index$LT$ops..Range$LT$usize$GT$$GT$5index14_MSG_FILE_LINE20h6e428c54043941af1QGE" to { %str_slice, %str_slice, i32 }*)) | |
| unreachable | |
| next-block: ; preds = %entry-block | |
| %17 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %2, i32 0, i32 1 | |
| %18 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %18) | |
| %19 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %20 = load i32*, i32** %19 | |
| %21 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %22 = load i64, i64* %21 | |
| %23 = call i64 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h10789329301273490820E"(i32* noalias nonnull readonly %20, i64 %22) | |
| store i64 %23, i64* %3, align 8 | |
| %24 = load i64, i64* %3, align 8 | |
| %25 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| %26 = load i64, i64* %17, align 8 | |
| %27 = icmp ule i64 %26, %24 | |
| %28 = xor i1 %27, true | |
| br i1 %28, label %then-block-125690-, label %next-block1 | |
| then-block-125690-: ; preds = %next-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN5slice54_$u5b$T$u5d$.ops..Index$LT$ops..Range$LT$usize$GT$$GT$5index14_MSG_FILE_LINE20h6e428c54043941afuRGE" to { %str_slice, %str_slice, i32 }*)) | |
| unreachable | |
| next-block1: ; preds = %next-block | |
| %29 = bitcast { i32*, i64 }* %4 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %29) | |
| %30 = bitcast { i32*, i64 }* %5 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %30) | |
| %31 = bitcast i32** %6 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %31) | |
| %32 = bitcast i32** %7 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %32) | |
| %33 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %34 = load i32*, i32** %33 | |
| %35 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %36 = load i64, i64* %35 | |
| %37 = call i32* @"_ZN5slice21_$u5b$T$u5d$.SliceExt6as_ptr20h8185024613234627950E"(i32* noalias nonnull readonly %34, i64 %36) | |
| store i32* %37, i32** %7, align 8 | |
| %38 = load i32*, i32** %7, align 8 | |
| %39 = bitcast i32** %7 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %39) | |
| %40 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %2, i32 0, i32 0 | |
| %41 = load i64, i64* %40, align 8 | |
| %42 = call i32* @"_ZN3ptr16_$BP$const$u20$T6offset21h16624248233940954270E"(i32* %38, i64 %41) | |
| store i32* %42, i32** %6, align 8 | |
| %43 = load i32*, i32** %6, align 8 | |
| %44 = bitcast i32** %6 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %44) | |
| %45 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %2, i32 0, i32 1 | |
| %46 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %2, i32 0, i32 0 | |
| %47 = load i64, i64* %45, align 8 | |
| %48 = load i64, i64* %46, align 8 | |
| %49 = sub i64 %47, %48 | |
| %50 = call { i32*, i64 } @_ZN5slice14from_raw_parts20h5245010131318023926E(i32* %43, i64 %49) | |
| store { i32*, i64 } %50, { i32*, i64 }* %5, align 8 | |
| %51 = bitcast { i32*, i64 }* %5 to i8* | |
| %52 = bitcast { i32*, i64 }* %4 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %52, i8* %51, i64 16, i32 8, i1 false) | |
| %53 = bitcast { i32*, i64 }* %5 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %53) | |
| %54 = bitcast { i32*, i64 }* %4 to i8* | |
| %55 = bitcast { i32*, i64 }* %sret_slot to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %55, i8* %54, i64 16, i32 8, i1 false) | |
| %56 = bitcast { i32*, i64 }* %4 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %56) | |
| %57 = bitcast %"ops::Range<usize>"* %2 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %57) | |
| %58 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %58) | |
| %59 = load { i32*, i64 }, { i32*, i64 }* %sret_slot, align 8 | |
| ret { i32*, i64 } %59 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal { i32*, i64 } @_ZN5slice14from_raw_parts20h5245010131318023926E(i32*, i64) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca { i32*, i64 } | |
| %p = alloca i32* | |
| %len = alloca i64 | |
| %2 = bitcast i32** %p to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i32* %0, i32** %p, align 8 | |
| %3 = bitcast i64* %len to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %len, align 8 | |
| %4 = bitcast { i32*, i64 }* %sret_slot to %"raw::Slice<u32>"* | |
| %5 = getelementptr inbounds %"raw::Slice<u32>", %"raw::Slice<u32>"* %4, i32 0, i32 0 | |
| %6 = load i32*, i32** %p, align 8 | |
| store i32* %6, i32** %5, align 8 | |
| %7 = getelementptr inbounds %"raw::Slice<u32>", %"raw::Slice<u32>"* %4, i32 0, i32 1 | |
| %8 = load i64, i64* %len, align 8 | |
| store i64 %8, i64* %7, align 8 | |
| %9 = bitcast i64* %len to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %9) | |
| %10 = bitcast i32** %p to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %10) | |
| %11 = load { i32*, i64 }, { i32*, i64 }* %sret_slot, align 8 | |
| ret { i32*, i64 } %11 | |
| } | |
| ; Function Attrs: uwtable | |
| define dereferenceable(152) %"num::flt2dec::bignum::Big32x36"* @_ZN3num7flt2dec6bignum8Big32x363add20h1808d7f26c0e4158focE(%"num::flt2dec::bignum::Big32x36"* noalias dereferenceable(152), %"num::flt2dec::bignum::Big32x36"* noalias readonly dereferenceable(152)) unnamed_addr #2 { | |
| entry-block: | |
| %self = alloca %"num::flt2dec::bignum::Big32x36"* | |
| %other = alloca %"num::flt2dec::bignum::Big32x36"* | |
| %sz = alloca i64 | |
| %carry = alloca i8 | |
| %result = alloca {} | |
| %2 = alloca %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>" | |
| %3 = alloca %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>" | |
| %4 = alloca %"slice::IterMut<u32>" | |
| %__coerce_target = alloca { i32*, i64 } | |
| %5 = alloca %"ops::RangeTo<usize>" | |
| %overloaded_index_elt = alloca { i32*, i64 } | |
| %__fat_ptr = alloca { i32*, i64 } | |
| %__coerce_target1 = alloca { i32*, i64 } | |
| %6 = alloca %"ops::RangeTo<usize>" | |
| %overloaded_index_elt2 = alloca { i32*, i64 } | |
| %__fat_ptr3 = alloca { i32*, i64 } | |
| %iter = alloca %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* | |
| %7 = alloca %"option::Option<(&'static mut u32, &'static u32)>" | |
| %a = alloca i32** | |
| %__llmatch = alloca i32** | |
| %b = alloca i32* | |
| %8 = alloca { i8, i32 } | |
| %let = alloca { i8, i32 } | |
| %c = alloca i8 | |
| %v = alloca i32 | |
| %9 = bitcast %"num::flt2dec::bignum::Big32x36"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %9) | |
| store %"num::flt2dec::bignum::Big32x36"* %0, %"num::flt2dec::bignum::Big32x36"** %self, align 8 | |
| %10 = bitcast %"num::flt2dec::bignum::Big32x36"** %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| store %"num::flt2dec::bignum::Big32x36"* %1, %"num::flt2dec::bignum::Big32x36"** %other, align 8 | |
| %11 = bitcast i64* %sz to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %11) | |
| %12 = load %"num::flt2dec::bignum::Big32x36"*, %"num::flt2dec::bignum::Big32x36"** %self, align 8, !nonnull !2 | |
| %13 = getelementptr inbounds %"num::flt2dec::bignum::Big32x36", %"num::flt2dec::bignum::Big32x36"* %12, i32 0, i32 0 | |
| %14 = load i64, i64* %13, align 8 | |
| %15 = load %"num::flt2dec::bignum::Big32x36"*, %"num::flt2dec::bignum::Big32x36"** %other, align 8, !nonnull !2 | |
| %16 = getelementptr inbounds %"num::flt2dec::bignum::Big32x36", %"num::flt2dec::bignum::Big32x36"* %15, i32 0, i32 0 | |
| %17 = load i64, i64* %16, align 8 | |
| %18 = call i64 @_ZN3cmp3max21h17569119418434179040E(i64 %14, i64 %17) | |
| store i64 %18, i64* %sz, align 8 | |
| call void @llvm.lifetime.start(i64 1, i8* %carry) | |
| store i8 0, i8* %carry, align 1 | |
| %19 = bitcast {}* %result to i8* | |
| call void @llvm.lifetime.start(i64 0, i8* %19) | |
| %20 = bitcast %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %2 to i8* | |
| call void @llvm.lifetime.start(i64 32, i8* %20) | |
| %21 = bitcast %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %3 to i8* | |
| call void @llvm.lifetime.start(i64 32, i8* %21) | |
| %22 = bitcast %"slice::IterMut<u32>"* %4 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %22) | |
| %23 = load %"num::flt2dec::bignum::Big32x36"*, %"num::flt2dec::bignum::Big32x36"** %self, align 8, !nonnull !2 | |
| %24 = getelementptr inbounds %"num::flt2dec::bignum::Big32x36", %"num::flt2dec::bignum::Big32x36"* %23, i32 0, i32 1 | |
| %25 = bitcast [36 x i32]* %24 to i32* | |
| %26 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__coerce_target, i32 0, i32 0 | |
| store i32* %25, i32** %26 | |
| %27 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__coerce_target, i32 0, i32 1 | |
| store i64 36, i64* %27 | |
| %28 = bitcast %"ops::RangeTo<usize>"* %5 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %28) | |
| %29 = getelementptr inbounds %"ops::RangeTo<usize>", %"ops::RangeTo<usize>"* %5, i32 0, i32 0 | |
| %30 = load i64, i64* %sz, align 8 | |
| store i64 %30, i64* %29, align 8 | |
| %31 = bitcast %"ops::RangeTo<usize>"* %5 to i64* | |
| %32 = load i64, i64* %31, align 8 | |
| %33 = bitcast %"ops::RangeTo<usize>"* %5 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %33) | |
| %34 = bitcast { i32*, i64 }* %overloaded_index_elt to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %34) | |
| %35 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__coerce_target, i32 0, i32 0 | |
| %36 = load i32*, i32** %35 | |
| %37 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__coerce_target, i32 0, i32 1 | |
| %38 = load i64, i64* %37 | |
| %39 = call { i32*, i64 } @"_ZN5slice59_$u5b$T$u5d$.ops..IndexMut$LT$ops..RangeTo$LT$usize$GT$$GT$9index_mut20h6124698314950640338E"(i32* noalias nonnull %36, i64 %38, i64 %32) | |
| store { i32*, i64 } %39, { i32*, i64 }* %overloaded_index_elt, align 8 | |
| %40 = bitcast { i32*, i64 }* %__fat_ptr to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %40) | |
| %41 = bitcast { i32*, i64 }* %overloaded_index_elt to i8* | |
| %42 = bitcast { i32*, i64 }* %__fat_ptr to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %42, i8* %41, i64 16, i32 8, i1 false) | |
| %43 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__fat_ptr, i32 0, i32 0 | |
| %44 = load i32*, i32** %43 | |
| %45 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__fat_ptr, i32 0, i32 1 | |
| %46 = load i64, i64* %45 | |
| call void @"_ZN5slice21_$u5b$T$u5d$.SliceExt8iter_mut21h11495445293580348981E"(%"slice::IterMut<u32>"* noalias nocapture sret dereferenceable(16) %4, i32* noalias nonnull %44, i64 %46) | |
| %47 = load %"num::flt2dec::bignum::Big32x36"*, %"num::flt2dec::bignum::Big32x36"** %other, align 8, !nonnull !2 | |
| %48 = getelementptr inbounds %"num::flt2dec::bignum::Big32x36", %"num::flt2dec::bignum::Big32x36"* %47, i32 0, i32 1 | |
| %49 = bitcast [36 x i32]* %48 to i32* | |
| %50 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__coerce_target1, i32 0, i32 0 | |
| store i32* %49, i32** %50 | |
| %51 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__coerce_target1, i32 0, i32 1 | |
| store i64 36, i64* %51 | |
| %52 = bitcast %"ops::RangeTo<usize>"* %6 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %52) | |
| %53 = getelementptr inbounds %"ops::RangeTo<usize>", %"ops::RangeTo<usize>"* %6, i32 0, i32 0 | |
| %54 = load i64, i64* %sz, align 8 | |
| store i64 %54, i64* %53, align 8 | |
| %55 = bitcast %"ops::RangeTo<usize>"* %6 to i64* | |
| %56 = load i64, i64* %55, align 8 | |
| %57 = bitcast %"ops::RangeTo<usize>"* %6 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %57) | |
| %58 = bitcast { i32*, i64 }* %overloaded_index_elt2 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %58) | |
| %59 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__coerce_target1, i32 0, i32 0 | |
| %60 = load i32*, i32** %59 | |
| %61 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__coerce_target1, i32 0, i32 1 | |
| %62 = load i64, i64* %61 | |
| %63 = call { i32*, i64 } @"_ZN5slice56_$u5b$T$u5d$.ops..Index$LT$ops..RangeTo$LT$usize$GT$$GT$5index21h18093220961502650614E"(i32* noalias nonnull readonly %60, i64 %62, i64 %56) | |
| store { i32*, i64 } %63, { i32*, i64 }* %overloaded_index_elt2, align 8 | |
| %64 = bitcast { i32*, i64 }* %__fat_ptr3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %64) | |
| %65 = bitcast { i32*, i64 }* %overloaded_index_elt2 to i8* | |
| %66 = bitcast { i32*, i64 }* %__fat_ptr3 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %66, i8* %65, i64 16, i32 8, i1 false) | |
| %67 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__fat_ptr3, i32 0, i32 0 | |
| %68 = load i32*, i32** %67 | |
| %69 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %__fat_ptr3, i32 0, i32 1 | |
| %70 = load i64, i64* %69 | |
| call void @_ZN4iter8Iterator3zip21h16785923938305249218E(%"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* noalias nocapture sret dereferenceable(32) %3, %"slice::IterMut<u32>"* noalias nocapture dereferenceable(16) %4, i32* noalias nonnull readonly %68, i64 %70) | |
| %71 = bitcast %"slice::IterMut<u32>"* %4 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %71) | |
| call void @_ZN4iter14I.IntoIterator9into_iter21h12432923736620794277E(%"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* noalias nocapture sret dereferenceable(32) %2, %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* noalias nocapture dereferenceable(32) %3) | |
| %72 = bitcast %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %3 to i8* | |
| call void @llvm.lifetime.end(i64 32, i8* %72) | |
| %73 = bitcast %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"** %iter to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %73) | |
| store %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %2, %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"** %iter | |
| br label %case_body | |
| case_body: ; preds = %entry-block | |
| %74 = load %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"*, %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"** %iter | |
| br label %loop_body | |
| loop_exit: ; preds = %clean_ast_8617_ | |
| %75 = bitcast %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"** %iter to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %75) | |
| br label %join6 | |
| loop_body: ; preds = %join, %case_body | |
| %76 = bitcast %"option::Option<(&'static mut u32, &'static u32)>"* %7 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %76) | |
| call void @"_ZN4iter30Zip$LT$A$C$$u20$B$GT$.Iterator4next20h8352294025034994784E"(%"option::Option<(&'static mut u32, &'static u32)>"* noalias nocapture sret dereferenceable(16) %7, %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* noalias dereferenceable(32) %74) | |
| %77 = getelementptr inbounds %"option::Option<(&'static mut u32, &'static u32)>", %"option::Option<(&'static mut u32, &'static u32)>"* %7, i32 0, i32 0, i32 0 | |
| %78 = load i32*, i32** %77 | |
| %79 = icmp ne i32* %78, null | |
| switch i1 %79, label %match_else [ | |
| i1 true, label %match_case | |
| ] | |
| case_body4: ; preds = %match_case | |
| %80 = load i32**, i32*** %a | |
| %81 = load i32**, i32*** %__llmatch | |
| %82 = bitcast i32** %b to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %82) | |
| %83 = load i32*, i32** %81, align 8, !nonnull !2 | |
| store i32* %83, i32** %b, align 8 | |
| %84 = bitcast { i8, i32 }* %8 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %84) | |
| %85 = load i32*, i32** %80, align 8, !nonnull !2 | |
| %86 = load i32, i32* %85, align 4 | |
| %87 = load i32*, i32** %b, align 8, !nonnull !2 | |
| %88 = load i32, i32* %87, align 4 | |
| %89 = load i8, i8* %carry, align 1, !range !1 | |
| %90 = trunc i8 %89 to i1 | |
| %91 = call i64 @_ZN3num7flt2dec6bignum11u32.FullOps8full_add20h44ed614bdfacc600yicE(i32 %86, i32 %88, i1 zeroext %90) | |
| %92 = bitcast { i8, i32 }* %8 to i64* | |
| store i64 %91, i64* %92, align 4 | |
| %93 = bitcast { i8, i32 }* %8 to i64* | |
| %94 = load i64, i64* %93, align 4 | |
| %95 = bitcast { i8, i32 }* %8 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %95) | |
| %96 = bitcast { i8, i32 }* %let to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %96) | |
| %97 = bitcast { i8, i32 }* %let to i64* | |
| store i64 %94, i64* %97, align 4 | |
| %98 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %let, i32 0, i32 0 | |
| call void @llvm.lifetime.start(i64 1, i8* %c) | |
| %99 = load i8, i8* %98, align 1, !range !1 | |
| %100 = trunc i8 %99 to i1 | |
| %101 = zext i1 %100 to i8 | |
| store i8 %101, i8* %c, align 1 | |
| %102 = getelementptr inbounds { i8, i32 }, { i8, i32 }* %let, i32 0, i32 1 | |
| %103 = bitcast i32* %v to i8* | |
| call void @llvm.lifetime.start(i64 4, i8* %103) | |
| %104 = load i32, i32* %102, align 4 | |
| store i32 %104, i32* %v, align 4 | |
| %105 = bitcast { i8, i32 }* %let to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %105) | |
| %106 = load i32*, i32** %80, align 8, !nonnull !2 | |
| %107 = load i32, i32* %v, align 4 | |
| store i32 %107, i32* %106, align 4 | |
| %108 = load i8, i8* %c, align 1, !range !1 | |
| %109 = trunc i8 %108 to i1 | |
| %110 = zext i1 %109 to i8 | |
| store i8 %110, i8* %carry, align 1 | |
| %111 = bitcast i32* %v to i8* | |
| call void @llvm.lifetime.end(i64 4, i8* %111) | |
| call void @llvm.lifetime.end(i64 1, i8* %c) | |
| %112 = bitcast i32*** %__llmatch to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %112) | |
| %113 = bitcast i32** %b to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %113) | |
| %114 = bitcast i32*** %a to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %114) | |
| br label %join | |
| case_body5: ; preds = %match_else | |
| br label %clean_ast_8617_ | |
| match_else: ; preds = %loop_body | |
| br label %case_body5 | |
| match_case: ; preds = %loop_body | |
| %115 = getelementptr inbounds %"option::Option<(&'static mut u32, &'static u32)>", %"option::Option<(&'static mut u32, &'static u32)>"* %7, i32 0, i32 0 | |
| %116 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %115, i32 0, i32 0 | |
| %117 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %115, i32 0, i32 1 | |
| %118 = bitcast i32*** %__llmatch to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %118) | |
| store i32** %117, i32*** %__llmatch | |
| %119 = bitcast i32*** %a to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %119) | |
| store i32** %116, i32*** %a | |
| br label %case_body4 | |
| clean_ast_8617_: ; preds = %case_body5 | |
| %120 = bitcast %"option::Option<(&'static mut u32, &'static u32)>"* %7 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %120) | |
| br label %loop_exit | |
| join: ; preds = %case_body4 | |
| %121 = bitcast %"option::Option<(&'static mut u32, &'static u32)>"* %7 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %121) | |
| br label %loop_body | |
| join6: ; preds = %loop_exit | |
| %122 = bitcast %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %2 to i8* | |
| call void @llvm.lifetime.end(i64 32, i8* %122) | |
| %123 = bitcast {}* %result to i8* | |
| call void @llvm.lifetime.end(i64 0, i8* %123) | |
| %124 = load i8, i8* %carry, align 1, !range !1 | |
| %125 = trunc i8 %124 to i1 | |
| br i1 %125, label %then-block-8656-, label %next-block | |
| then-block-8656-: ; preds = %join6 | |
| %126 = load %"num::flt2dec::bignum::Big32x36"*, %"num::flt2dec::bignum::Big32x36"** %self, align 8, !nonnull !2 | |
| %127 = getelementptr inbounds %"num::flt2dec::bignum::Big32x36", %"num::flt2dec::bignum::Big32x36"* %126, i32 0, i32 1 | |
| %128 = load i64, i64* %sz, align 8 | |
| %129 = getelementptr inbounds [36 x i32], [36 x i32]* %127, i32 0, i32 0 | |
| %130 = icmp uge i64 %128, 36 | |
| %131 = call i1 @llvm.expect.i1(i1 %130, i1 false) | |
| br i1 %131, label %cond, label %next | |
| next: ; preds = %then-block-8656- | |
| %132 = getelementptr inbounds i32, i32* %129, i64 %128 | |
| store i32 1, i32* %132, align 4 | |
| %133 = load i64, i64* %sz, align 8 | |
| %134 = add i64 %133, 1 | |
| store i64 %134, i64* %sz, align 8 | |
| br label %next-block | |
| cond: ; preds = %then-block-8656- | |
| call void @_ZN9panicking18panic_bounds_check20h237e73ee030240aaN7BE({ %str_slice, i32 }* noalias readonly dereferenceable(24) @panic_bounds_check_loc43632, i64 %128, i64 36) | |
| unreachable | |
| next-block: ; preds = %next, %join6 | |
| %135 = load %"num::flt2dec::bignum::Big32x36"*, %"num::flt2dec::bignum::Big32x36"** %self, align 8, !nonnull !2 | |
| %136 = getelementptr inbounds %"num::flt2dec::bignum::Big32x36", %"num::flt2dec::bignum::Big32x36"* %135, i32 0, i32 0 | |
| %137 = load i64, i64* %sz, align 8 | |
| store i64 %137, i64* %136, align 8 | |
| %138 = load %"num::flt2dec::bignum::Big32x36"*, %"num::flt2dec::bignum::Big32x36"** %self, align 8, !nonnull !2 | |
| call void @llvm.lifetime.end(i64 1, i8* %carry) | |
| %139 = bitcast i64* %sz to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %139) | |
| %140 = bitcast %"num::flt2dec::bignum::Big32x36"** %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %140) | |
| %141 = bitcast %"num::flt2dec::bignum::Big32x36"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %141) | |
| ret %"num::flt2dec::bignum::Big32x36"* %138 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal i64 @_ZN3cmp3max21h17569119418434179040E(i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca i64 | |
| %v1 = alloca i64 | |
| %v2 = alloca i64 | |
| %2 = alloca i8 | |
| %3 = bitcast i64* %v1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %0, i64* %v1, align 8 | |
| %4 = bitcast i64* %v2 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %v2, align 8 | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %5 = call zeroext i1 @_ZN3cmp5impls16usize.PartialOrd2ge20h3d834c1232ee39796KsE(i64* noalias readonly dereferenceable(8) %v2, i64* noalias readonly dereferenceable(8) %v1) | |
| %6 = zext i1 %5 to i8 | |
| store i8 %6, i8* %2, align 1 | |
| %7 = load i8, i8* %2, align 1, !range !1 | |
| %8 = trunc i8 %7 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %2) | |
| br i1 %8, label %then-block-70497-, label %else-block | |
| then-block-70497-: ; preds = %entry-block | |
| %9 = load i64, i64* %v2, align 8 | |
| store i64 %9, i64* %sret_slot, align 8 | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %10 = load i64, i64* %v1, align 8 | |
| store i64 %10, i64* %sret_slot, align 8 | |
| br label %join | |
| join: ; preds = %else-block, %then-block-70497- | |
| %11 = bitcast i64* %v2 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast i64* %v1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| %13 = load i64, i64* %sret_slot, align 8 | |
| ret i64 %13 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define zeroext i1 @_ZN3cmp5impls16usize.PartialOrd2ge20h3d834c1232ee39796KsE(i64* noalias readonly dereferenceable(8), i64* noalias readonly dereferenceable(8)) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i64* | |
| %other = alloca i64* | |
| %2 = bitcast i64** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i64* %0, i64** %self, align 8 | |
| %3 = bitcast i64** %other to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64* %1, i64** %other, align 8 | |
| %4 = load i64*, i64** %self, align 8, !nonnull !2 | |
| %5 = load i64*, i64** %other, align 8, !nonnull !2 | |
| %6 = load i64, i64* %4, align 8 | |
| %7 = load i64, i64* %5, align 8 | |
| %8 = icmp uge i64 %6, %7 | |
| %9 = zext i1 %8 to i8 | |
| %10 = bitcast i64** %other to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %10) | |
| %11 = bitcast i64** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = trunc i8 %9 to i1 | |
| ret i1 %12 | |
| } | |
| ; Function Attrs: uwtable | |
| define internal void @_ZN4iter14I.IntoIterator9into_iter21h12432923736620794277E(%"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* noalias nocapture sret dereferenceable(32), %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* noalias nocapture dereferenceable(32)) unnamed_addr #2 { | |
| entry-block: | |
| %2 = bitcast %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %1 to i8* | |
| %3 = bitcast %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %0 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %3, i8* %2, i64 32, i32 8, i1 false) | |
| %4 = bitcast %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %1 to i8* | |
| call void @llvm.lifetime.end(i64 32, i8* %4) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @_ZN4iter8Iterator3zip21h16785923938305249218E(%"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* noalias nocapture sret dereferenceable(32), %"slice::IterMut<u32>"* noalias nocapture dereferenceable(16), i32* noalias nonnull readonly, i64) unnamed_addr #0 { | |
| entry-block: | |
| %other = alloca { i32*, i64 } | |
| %4 = insertvalue { i32*, i64 } undef, i32* %2, 0 | |
| %5 = insertvalue { i32*, i64 } %4, i64 %3, 1 | |
| %6 = bitcast { i32*, i64 }* %other to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| store { i32*, i64 } %5, { i32*, i64 }* %other, align 8 | |
| %7 = getelementptr inbounds %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>", %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %0, i32 0, i32 0 | |
| %8 = bitcast %"slice::IterMut<u32>"* %1 to i8* | |
| %9 = bitcast %"slice::IterMut<u32>"* %7 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %9, i8* %8, i64 16, i32 8, i1 false) | |
| %10 = getelementptr inbounds %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>", %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %0, i32 0, i32 1 | |
| %11 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %other, i32 0, i32 0 | |
| %12 = load i32*, i32** %11 | |
| %13 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %other, i32 0, i32 1 | |
| %14 = load i64, i64* %13 | |
| call void @"_ZN5slice40_$RF$$u27$a$u20$$u5b$T$u5d$.IntoIterator9into_iter21h11275002074765435445E"(%"slice::Iter<u32>"* noalias nocapture sret dereferenceable(16) %10, i32* noalias nonnull readonly %12, i64 %14) | |
| %15 = bitcast { i32*, i64 }* %other to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %15) | |
| %16 = bitcast %"slice::IterMut<u32>"* %1 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %16) | |
| ret void | |
| } | |
| ; Function Attrs: uwtable | |
| define internal void @"_ZN5slice40_$RF$$u27$a$u20$$u5b$T$u5d$.IntoIterator9into_iter21h11275002074765435445E"(%"slice::Iter<u32>"* noalias nocapture sret dereferenceable(16), i32* noalias nonnull readonly, i64) unnamed_addr #2 { | |
| entry-block: | |
| %self = alloca { i32*, i64 } | |
| %3 = insertvalue { i32*, i64 } undef, i32* %1, 0 | |
| %4 = insertvalue { i32*, i64 } %3, i64 %2, 1 | |
| %5 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| store { i32*, i64 } %4, { i32*, i64 }* %self, align 8 | |
| %6 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %7 = load i32*, i32** %6 | |
| %8 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %9 = load i64, i64* %8 | |
| call void @"_ZN5slice21_$u5b$T$u5d$.SliceExt4iter21h13703703381004627772E"(%"slice::Iter<u32>"* noalias nocapture sret dereferenceable(16) %0, i32* noalias nonnull readonly %7, i64 %9) | |
| %10 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %10) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @"_ZN5slice21_$u5b$T$u5d$.SliceExt8iter_mut21h11495445293580348981E"(%"slice::IterMut<u32>"* noalias nocapture sret dereferenceable(16), i32* noalias nonnull, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca { i32*, i64 } | |
| %p = alloca i32* | |
| %3 = alloca i64 | |
| %p1 = alloca i32* | |
| %4 = alloca i8 | |
| %ptr = alloca i32* | |
| %5 = alloca i64 | |
| %6 = alloca i8* | |
| %7 = alloca i64 | |
| %8 = alloca i64 | |
| %9 = insertvalue { i32*, i64 } undef, i32* %1, 0 | |
| %10 = insertvalue { i32*, i64 } %9, i64 %2, 1 | |
| %11 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %11) | |
| store { i32*, i64 } %10, { i32*, i64 }* %self, align 8 | |
| %12 = bitcast i32** %p to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %12) | |
| %13 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %13) | |
| %14 = call i64 @_ZN3mem7size_of20h4125651325415643322E() | |
| store i64 %14, i64* %3, align 8 | |
| %15 = load i64, i64* %3, align 8 | |
| %16 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %16) | |
| %17 = icmp eq i64 %15, 0 | |
| br i1 %17, label %then-block-124669-, label %else-block | |
| then-block-124669-: ; preds = %entry-block | |
| store i32* inttoptr (i64 1 to i32*), i32** %p, align 8 | |
| br label %join | |
| else-block: ; preds = %entry-block | |
| %18 = bitcast i32** %p1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %18) | |
| %19 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %20 = load i32*, i32** %19 | |
| %21 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %22 = load i64, i64* %21 | |
| %23 = call i32* @"_ZN5slice21_$u5b$T$u5d$.SliceExt10as_mut_ptr20h6579736442856853846E"(i32* noalias nonnull %20, i64 %22) | |
| store i32* %23, i32** %p1, align 8 | |
| call void @llvm.lifetime.start(i64 1, i8* %4) | |
| %24 = load i32*, i32** %p1, align 8 | |
| %25 = call zeroext i1 @"_ZN3ptr14_$BP$mut$u20$T7is_null20h5321699873322523225E"(i32* %24) | |
| %26 = zext i1 %25 to i8 | |
| store i8 %26, i8* %4, align 1 | |
| %27 = load i8, i8* %4, align 1, !range !1 | |
| %28 = trunc i8 %27 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %4) | |
| %29 = xor i1 %28, true | |
| call void @llvm.assume(i1 %29) | |
| %30 = load i32*, i32** %p1, align 8 | |
| store i32* %30, i32** %p, align 8 | |
| %31 = bitcast i32** %p1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %31) | |
| br label %join | |
| join: ; preds = %else-block, %then-block-124669- | |
| %32 = getelementptr inbounds %"slice::IterMut<u32>", %"slice::IterMut<u32>"* %0, i32 0, i32 0 | |
| %33 = load i32*, i32** %p, align 8 | |
| store i32* %33, i32** %32, align 8 | |
| %34 = getelementptr inbounds %"slice::IterMut<u32>", %"slice::IterMut<u32>"* %0, i32 0, i32 1 | |
| %35 = bitcast i32** %ptr to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %35) | |
| %36 = load i32*, i32** %p, align 8 | |
| store i32* %36, i32** %ptr, align 8 | |
| %37 = bitcast i64* %5 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %37) | |
| %38 = load i32*, i32** %ptr, align 8 | |
| %39 = call i64 @_ZN5slice13size_from_ptr20h1689821366228711994E(i32* %38) | |
| store i64 %39, i64* %5, align 8 | |
| %40 = load i64, i64* %5, align 8 | |
| %41 = bitcast i64* %5 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %41) | |
| %42 = icmp eq i64 %40, 0 | |
| br i1 %42, label %then-block-124702-, label %else-block2 | |
| then-block-124702-: ; preds = %join | |
| %43 = bitcast i8** %6 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %43) | |
| %44 = load i32*, i32** %ptr, align 8 | |
| %45 = bitcast i32* %44 to i8* | |
| %46 = bitcast i64* %7 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %46) | |
| %47 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %48 = load i32*, i32** %47 | |
| %49 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %50 = load i64, i64* %49 | |
| %51 = call i64 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h10789329301273490820E"(i32* noalias nonnull readonly %48, i64 %50) | |
| store i64 %51, i64* %7, align 8 | |
| %52 = load i64, i64* %7, align 8 | |
| %53 = bitcast i64* %7 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %53) | |
| %54 = getelementptr i8, i8* %45, i64 %52 | |
| store i8* %54, i8** %6, align 8 | |
| %55 = load i8*, i8** %6, align 8 | |
| %56 = bitcast i8** %6 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %56) | |
| %57 = bitcast i8* %55 to i32* | |
| store i32* %57, i32** %34, align 8 | |
| br label %join3 | |
| else-block2: ; preds = %join | |
| %58 = load i32*, i32** %ptr, align 8 | |
| %59 = bitcast i64* %8 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %59) | |
| %60 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %61 = load i32*, i32** %60 | |
| %62 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %63 = load i64, i64* %62 | |
| %64 = call i64 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h10789329301273490820E"(i32* noalias nonnull readonly %61, i64 %63) | |
| store i64 %64, i64* %8, align 8 | |
| %65 = load i64, i64* %8, align 8 | |
| %66 = bitcast i64* %8 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %66) | |
| %67 = call i32* @"_ZN3ptr14_$BP$mut$u20$T6offset20h8407611375416755751E"(i32* %58, i64 %65) | |
| store i32* %67, i32** %34, align 8 | |
| br label %join3 | |
| join3: ; preds = %else-block2, %then-block-124702- | |
| %68 = bitcast i32** %ptr to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %68) | |
| %69 = getelementptr inbounds %"slice::IterMut<u32>", %"slice::IterMut<u32>"* %0, i32 0, i32 2 | |
| %70 = bitcast %"marker::PhantomData<&'static mut u32>"* %69 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %70, i8* bitcast (%"marker::PhantomData<&'static mut u32>"* @const43623 to i8*), i64 0, i32 1, i1 false) | |
| %71 = bitcast i32** %p to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %71) | |
| %72 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %72) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal i32* @"_ZN5slice21_$u5b$T$u5d$.SliceExt10as_mut_ptr20h6579736442856853846E"(i32* noalias nonnull, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca { i32*, i64 } | |
| %2 = alloca %"raw::Slice<u32>" | |
| %3 = insertvalue { i32*, i64 } undef, i32* %0, 0 | |
| %4 = insertvalue { i32*, i64 } %3, i64 %1, 1 | |
| %5 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %5) | |
| store { i32*, i64 } %4, { i32*, i64 }* %self, align 8 | |
| %6 = bitcast %"raw::Slice<u32>"* %2 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %6) | |
| %7 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %8 = load i32*, i32** %7 | |
| %9 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %10 = load i64, i64* %9 | |
| call void @_ZN3raw4Repr4repr20h8530958648119263582E(%"raw::Slice<u32>"* noalias nocapture sret dereferenceable(16) %2, i32* noalias nonnull readonly %8, i64 %10) | |
| %11 = getelementptr inbounds %"raw::Slice<u32>", %"raw::Slice<u32>"* %2, i32 0, i32 0 | |
| %12 = load i32*, i32** %11, align 8 | |
| %13 = bitcast %"raw::Slice<u32>"* %2 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %13) | |
| %14 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %14) | |
| ret i32* %12 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal zeroext i1 @"_ZN3ptr14_$BP$mut$u20$T7is_null20h5321699873322523225E"(i32*) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i32* | |
| %1 = bitcast i32** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %1) | |
| store i32* %0, i32** %self, align 8 | |
| %2 = load i32*, i32** %self, align 8 | |
| %3 = icmp eq i32* %2, null | |
| %4 = zext i1 %3 to i8 | |
| %5 = bitcast i32** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %5) | |
| %6 = trunc i8 %4 to i1 | |
| ret i1 %6 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal i32* @"_ZN3ptr14_$BP$mut$u20$T6offset20h8407611375416755751E"(i32*, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i32* | |
| %count = alloca i64 | |
| %2 = alloca i32* | |
| %3 = bitcast i32** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i32* %0, i32** %self, align 8 | |
| %4 = bitcast i64* %count to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store i64 %1, i64* %count, align 8 | |
| %5 = bitcast i32** %2 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| %6 = load i32*, i32** %self, align 8 | |
| %7 = load i64, i64* %count, align 8 | |
| %8 = getelementptr inbounds i32, i32* %6, i64 %7 | |
| store i32* %8, i32** %2, align 8 | |
| %9 = load i32*, i32** %2, align 8 | |
| %10 = bitcast i32** %2 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %10) | |
| %11 = bitcast i64* %count to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %11) | |
| %12 = bitcast i32** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| ret i32* %9 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal { i32*, i64 } @"_ZN5slice59_$u5b$T$u5d$.ops..IndexMut$LT$ops..RangeTo$LT$usize$GT$$GT$9index_mut20h6124698314950640338E"(i32* noalias nonnull, i64, i64) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca { i32*, i64 } | |
| %self = alloca { i32*, i64 } | |
| %index = alloca %"ops::RangeTo<usize>" | |
| %3 = alloca { i32*, i64 } | |
| %4 = alloca %"ops::Range<usize>" | |
| %5 = insertvalue { i32*, i64 } undef, i32* %0, 0 | |
| %6 = insertvalue { i32*, i64 } %5, i64 %1, 1 | |
| %7 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %7) | |
| store { i32*, i64 } %6, { i32*, i64 }* %self, align 8 | |
| %8 = bitcast %"ops::RangeTo<usize>"* %index to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %8) | |
| %9 = bitcast %"ops::RangeTo<usize>"* %index to i64* | |
| store i64 %2, i64* %9, align 8 | |
| %10 = bitcast { i32*, i64 }* %3 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %10) | |
| %11 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %12 = load i32*, i32** %11 | |
| %13 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %14 = load i64, i64* %13 | |
| %15 = bitcast %"ops::Range<usize>"* %4 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %15) | |
| %16 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %4, i32 0, i32 0 | |
| store i64 0, i64* %16, align 8 | |
| %17 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %4, i32 0, i32 1 | |
| %18 = getelementptr inbounds %"ops::RangeTo<usize>", %"ops::RangeTo<usize>"* %index, i32 0, i32 0 | |
| %19 = load i64, i64* %18, align 8 | |
| store i64 %19, i64* %17, align 8 | |
| %20 = call { i32*, i64 } @"_ZN5slice57_$u5b$T$u5d$.ops..IndexMut$LT$ops..Range$LT$usize$GT$$GT$9index_mut21h17114389079751788827E"(i32* noalias nonnull %12, i64 %14, %"ops::Range<usize>"* noalias nocapture dereferenceable(16) %4) | |
| store { i32*, i64 } %20, { i32*, i64 }* %3, align 8 | |
| %21 = bitcast %"ops::Range<usize>"* %4 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %21) | |
| %22 = bitcast { i32*, i64 }* %3 to i8* | |
| %23 = bitcast { i32*, i64 }* %sret_slot to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %23, i8* %22, i64 16, i32 8, i1 false) | |
| %24 = bitcast { i32*, i64 }* %3 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %24) | |
| %25 = bitcast %"ops::RangeTo<usize>"* %index to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| %26 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %26) | |
| %27 = load { i32*, i64 }, { i32*, i64 }* %sret_slot, align 8 | |
| ret { i32*, i64 } %27 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal { i32*, i64 } @"_ZN5slice57_$u5b$T$u5d$.ops..IndexMut$LT$ops..Range$LT$usize$GT$$GT$9index_mut21h17114389079751788827E"(i32* noalias nonnull, i64, %"ops::Range<usize>"* noalias nocapture dereferenceable(16)) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca { i32*, i64 } | |
| %self = alloca { i32*, i64 } | |
| %3 = alloca i64 | |
| %4 = alloca { i32*, i64 } | |
| %5 = alloca { i32*, i64 } | |
| %6 = alloca i32* | |
| %7 = alloca i32* | |
| %8 = insertvalue { i32*, i64 } undef, i32* %0, 0 | |
| %9 = insertvalue { i32*, i64 } %8, i64 %1, 1 | |
| %10 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %10) | |
| store { i32*, i64 } %9, { i32*, i64 }* %self, align 8 | |
| %11 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %2, i32 0, i32 0 | |
| %12 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %2, i32 0, i32 1 | |
| %13 = load i64, i64* %11, align 8 | |
| %14 = load i64, i64* %12, align 8 | |
| %15 = icmp ule i64 %13, %14 | |
| %16 = xor i1 %15, true | |
| br i1 %16, label %then-block-125840-, label %next-block | |
| then-block-125840-: ; preds = %entry-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN5slice57_$u5b$T$u5d$.ops..IndexMut$LT$ops..Range$LT$usize$GT$$GT$9index_mut14_MSG_FILE_LINE20h6e428c54043941afUTGE" to { %str_slice, %str_slice, i32 }*)) | |
| unreachable | |
| next-block: ; preds = %entry-block | |
| %17 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %2, i32 0, i32 1 | |
| %18 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %18) | |
| %19 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %20 = load i32*, i32** %19 | |
| %21 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %22 = load i64, i64* %21 | |
| %23 = call i64 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h10789329301273490820E"(i32* noalias nonnull readonly %20, i64 %22) | |
| store i64 %23, i64* %3, align 8 | |
| %24 = load i64, i64* %3, align 8 | |
| %25 = bitcast i64* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %25) | |
| %26 = load i64, i64* %17, align 8 | |
| %27 = icmp ule i64 %26, %24 | |
| %28 = xor i1 %27, true | |
| br i1 %28, label %then-block-125869-, label %next-block1 | |
| then-block-125869-: ; preds = %next-block | |
| call void @_ZN9panicking5panic20h57b53d875a567e59e7BE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN5slice57_$u5b$T$u5d$.ops..IndexMut$LT$ops..Range$LT$usize$GT$$GT$9index_mut14_MSG_FILE_LINE20h6e428c54043941afnUGE" to { %str_slice, %str_slice, i32 }*)) | |
| unreachable | |
| next-block1: ; preds = %next-block | |
| %29 = bitcast { i32*, i64 }* %4 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %29) | |
| %30 = bitcast { i32*, i64 }* %5 to i8* | |
| call void @llvm.lifetime.start(i64 16, i8* %30) | |
| %31 = bitcast i32** %6 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %31) | |
| %32 = bitcast i32** %7 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %32) | |
| %33 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 0 | |
| %34 = load i32*, i32** %33 | |
| %35 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %self, i32 0, i32 1 | |
| %36 = load i64, i64* %35 | |
| %37 = call i32* @"_ZN5slice21_$u5b$T$u5d$.SliceExt10as_mut_ptr20h6579736442856853846E"(i32* noalias nonnull %34, i64 %36) | |
| store i32* %37, i32** %7, align 8 | |
| %38 = load i32*, i32** %7, align 8 | |
| %39 = bitcast i32** %7 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %39) | |
| %40 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %2, i32 0, i32 0 | |
| %41 = load i64, i64* %40, align 8 | |
| %42 = call i32* @"_ZN3ptr14_$BP$mut$u20$T6offset20h8407611375416755751E"(i32* %38, i64 %41) | |
| store i32* %42, i32** %6, align 8 | |
| %43 = load i32*, i32** %6, align 8 | |
| %44 = bitcast i32** %6 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %44) | |
| %45 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %2, i32 0, i32 1 | |
| %46 = getelementptr inbounds %"ops::Range<usize>", %"ops::Range<usize>"* %2, i32 0, i32 0 | |
| %47 = load i64, i64* %45, align 8 | |
| %48 = load i64, i64* %46, align 8 | |
| %49 = sub i64 %47, %48 | |
| %50 = call { i32*, i64 } @_ZN5slice18from_raw_parts_mut20h2453143898684749224E(i32* %43, i64 %49) | |
| store { i32*, i64 } %50, { i32*, i64 }* %5, align 8 | |
| %51 = bitcast { i32*, i64 }* %5 to i8* | |
| %52 = bitcast { i32*, i64 }* %4 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %52, i8* %51, i64 16, i32 8, i1 false) | |
| %53 = bitcast { i32*, i64 }* %5 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %53) | |
| %54 = bitcast { i32*, i64 }* %4 to i8* | |
| %55 = bitcast { i32*, i64 }* %sret_slot to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %55, i8* %54, i64 16, i32 8, i1 false) | |
| %56 = bitcast { i32*, i64 }* %4 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %56) | |
| %57 = bitcast %"ops::Range<usize>"* %2 to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %57) | |
| %58 = bitcast { i32*, i64 }* %self to i8* | |
| call void @llvm.lifetime.end(i64 16, i8* %58) | |
| %59 = load { i32*, i64 }, { i32*, i64 }* %sret_slot, align 8 | |
| ret { i32*, i64 } %59 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal { i32*, i64 } @_ZN5slice18from_raw_parts_mut20h2453143898684749224E(i32*, i64) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca { i32*, i64 } | |
| %p = alloca i32* | |
| %len = alloca i64 | |
| %2 = bitcast i32** %p to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %2) | |
| store i32* %0, i32** %p, align 8 | |
| %3 = bitcast i64* %len to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i64 %1, i64* %len, align 8 | |
| %4 = bitcast { i32*, i64 }* %sret_slot to %"raw::Slice<u32>"* | |
| %5 = getelementptr inbounds %"raw::Slice<u32>", %"raw::Slice<u32>"* %4, i32 0, i32 0 | |
| %6 = load i32*, i32** %p, align 8 | |
| store i32* %6, i32** %5, align 8 | |
| %7 = getelementptr inbounds %"raw::Slice<u32>", %"raw::Slice<u32>"* %4, i32 0, i32 1 | |
| %8 = load i64, i64* %len, align 8 | |
| store i64 %8, i64* %7, align 8 | |
| %9 = bitcast i64* %len to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %9) | |
| %10 = bitcast i32** %p to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %10) | |
| %11 = load { i32*, i64 }, { i32*, i64 }* %sret_slot, align 8 | |
| ret { i32*, i64 } %11 | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @"_ZN4iter30Zip$LT$A$C$$u20$B$GT$.Iterator4next20h8352294025034994784E"(%"option::Option<(&'static mut u32, &'static u32)>"* noalias nocapture sret dereferenceable(16), %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* noalias dereferenceable(32)) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* | |
| %2 = alloca i8* | |
| %3 = alloca %closure.1 | |
| %4 = bitcast %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| store %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %1, %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"** %self, align 8 | |
| %5 = bitcast i8** %2 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| %6 = load %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"*, %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"** %self, align 8, !nonnull !2 | |
| %7 = getelementptr inbounds %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>", %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %6, i32 0, i32 0 | |
| %8 = call i8* @"_ZN5slice39IterMut$LT$$u27$a$C$$u20$T$GT$.Iterator4next21h16390438492890736598E"(%"slice::IterMut<u32>"* noalias dereferenceable(16) %7) | |
| store i8* %8, i8** %2, align 8 | |
| %9 = load i8*, i8** %2, align 8 | |
| %10 = bitcast i8** %2 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %10) | |
| %11 = bitcast %closure.1* %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %11) | |
| %12 = getelementptr inbounds %closure.1, %closure.1* %3, i32 0, i32 0 | |
| store %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"** %self, %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"*** %12 | |
| %13 = bitcast %closure.1* %3 to i64* | |
| %14 = load i64, i64* %13, align 8 | |
| %15 = bitcast %closure.1* %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %15) | |
| call void @"_ZN6option15Option$LT$T$GT$8and_then21h13395882188463669542E"(%"option::Option<(&'static mut u32, &'static u32)>"* noalias nocapture sret dereferenceable(16) %0, i8* %9, i64 %14) | |
| %16 = bitcast %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %16) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @"_ZN6option15Option$LT$T$GT$8and_then21h13395882188463669542E"(%"option::Option<(&'static mut u32, &'static u32)>"* noalias nocapture sret dereferenceable(16), i8*, i64) unnamed_addr #0 { | |
| entry-block: | |
| %self = alloca i8* | |
| %f = alloca %closure.1 | |
| %x = alloca i32** | |
| %3 = bitcast i8** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %3) | |
| store i8* %1, i8** %self, align 8 | |
| %4 = bitcast %closure.1* %f to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %4) | |
| %5 = bitcast %closure.1* %f to i64* | |
| store i64 %2, i64* %5, align 8 | |
| %6 = load i8*, i8** %self | |
| %7 = icmp ne i8* %6, null | |
| switch i1 %7, label %match_else [ | |
| i1 true, label %match_case | |
| ] | |
| case_body: ; preds = %match_case | |
| %8 = load i32**, i32*** %x | |
| %9 = bitcast %closure.1* %f to i64* | |
| %10 = load i64, i64* %9, align 8 | |
| %11 = load i32*, i32** %8, align 8, !nonnull !2 | |
| call void @"_ZN4iter30Zip$LT$A$C$$u20$B$GT$.Iterator4next13closure.43624E"(%"option::Option<(&'static mut u32, &'static u32)>"* noalias nocapture sret dereferenceable(16) %0, i64 %10, i32* noalias dereferenceable(4) %11) | |
| %12 = bitcast i32*** %x to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %12) | |
| br label %join | |
| case_body1: ; preds = %match_else | |
| %13 = bitcast %"option::Option<(&'static mut u32, &'static u32)>"* %0 to { { i8*, i8* } }* | |
| %14 = bitcast { { i8*, i8* } }* %13 to i8* | |
| call void @llvm.memcpy.p0i8.p0i8.i64(i8* %14, i8* bitcast ({ { i8*, i8* } }* @const43626 to i8*), i64 16, i32 8, i1 false) | |
| br label %join | |
| match_else: ; preds = %entry-block | |
| br label %case_body1 | |
| match_case: ; preds = %entry-block | |
| %15 = bitcast i8** %self to i32** | |
| %16 = bitcast i32*** %x to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %16) | |
| store i32** %15, i32*** %x | |
| br label %case_body | |
| join: ; preds = %case_body1, %case_body | |
| %17 = bitcast %closure.1* %f to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %17) | |
| %18 = bitcast i8** %self to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %18) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal void @"_ZN4iter30Zip$LT$A$C$$u20$B$GT$.Iterator4next13closure.43624E"(%"option::Option<(&'static mut u32, &'static u32)>"* noalias nocapture sret dereferenceable(16), i64, i32* noalias dereferenceable(4)) unnamed_addr #4 { | |
| entry-block: | |
| %x = alloca i32* | |
| %closure_env = alloca %closure.1 | |
| %3 = alloca i8* | |
| %4 = alloca %closure.2 | |
| %5 = bitcast i32** %x to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %5) | |
| store i32* %2, i32** %x, align 8 | |
| %6 = bitcast %closure.1* %closure_env to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %6) | |
| %7 = bitcast %closure.1* %closure_env to i64* | |
| store i64 %1, i64* %7, align 8 | |
| %8 = getelementptr inbounds %closure.1, %closure.1* %closure_env, i32 0, i32 0 | |
| %9 = load %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"**, %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"*** %8 | |
| %10 = bitcast i8** %3 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| %11 = load %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"*, %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"** %9, align 8, !nonnull !2 | |
| %12 = getelementptr inbounds %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>", %"iter::Zip<slice::IterMut<u32>, slice::Iter<u32>>"* %11, i32 0, i32 1 | |
| %13 = call i8* @"_ZN5slice36Iter$LT$$u27$a$C$$u20$T$GT$.Iterator4next21h17988686776990959875E"(%"slice::Iter<u32>"* noalias dereferenceable(16) %12) | |
| store i8* %13, i8** %3, align 8 | |
| %14 = load i8*, i8** %3, align 8 | |
| %15 = bitcast i8** %3 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %15) | |
| %16 = bitcast %closure.2* %4 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %16) | |
| %17 = getelementptr inbounds %closure.2, %closure.2* %4, i32 0, i32 0 | |
| %18 = load i32*, i32** %x, align 8, !nonnull !2 | |
| store i32* %18, i32** %17, align 8 | |
| %19 = bitcast %closure.2* %4 to i64* | |
| %20 = load i64, i64* %19, align 8 | |
| %21 = bitcast %closure.2* %4 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %21) | |
| call void @"_ZN6option15Option$LT$T$GT$8and_then20h9030917949127121372E"(%"option::Option<(&'static mut u32, &'static u32)>"* noalias nocapture sret dereferenceable(16) %0, i8* %14, i64 %20) | |
| %22 = bitcast i32** %x to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %22) | |
| ret void | |
| } | |
| ; Function Attrs: inlinehint uwtable | |
| define internal i8* @"_ZN5slice39IterMut$LT$$u27$a$C$$u20$T$GT$.Iterator4next21h16390438492890736598E"(%"slice::IterMut<u32>"* noalias dereferenceable(16)) unnamed_addr #0 { | |
| entry-block: | |
| %sret_slot = alloca i8* | |
| %self = alloca %"slice::IterMut<u32>"* | |
| %1 = alloca i64 | |
| %2 = alloca i8 | |
| %3 = alloca i8 | |
| %old = alloca i32* | |
| %4 = alloca i32* | |
| %ptr = alloca i32* | |
| %5 = alloca i64 | |
| %6 = alloca i8* | |
| %7 = alloca i32* | |
| %ptr2 = alloca i32* | |
| %8 = alloca i32* | |
| %9 = alloca i64 | |
| %10 = bitcast %"slice::IterMut<u32>"** %self to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %10) | |
| store %"slice::IterMut<u32>"* %0, %"slice::IterMut<u32>"** %self, align 8 | |
| %11 = bitcast i64* %1 to i8* | |
| call void @llvm.lifetime.start(i64 8, i8* %11) | |
| %12 = call i64 @_ZN3mem7size_of20h4125651325415643322E() | |
| store i64 %12, i64* %1, align 8 | |
| %13 = load i64, i64* %1, align 8 | |
| %14 = bitcast i64* %1 to i8* | |
| call void @llvm.lifetime.end(i64 8, i8* %14) | |
| %15 = icmp ne i64 %13, 0 | |
| br i1 %15, label %then-block-126945-, label %next-block | |
| then-block-126945-: ; preds = %entry-block | |
| call void @llvm.lifetime.start(i64 1, i8* %2) | |
| %16 = load %"slice::IterMut<u32>"*, %"slice::IterMut<u32>"** %self, align 8, !nonnull !2 | |
| %17 = getelementptr inbounds %"slice::IterMut<u32>", %"slice::IterMut<u32>"* %16, i32 0, i32 0 | |
| %18 = load i32*, i32** %17, align 8 | |
| %19 = call zeroext i1 @"_ZN3ptr14_$BP$mut$u20$T7is_null20h5321699873322523225E"(i32* %18) | |
| %20 = zext i1 %19 to i8 | |
| store i8 %20, i8* %2, align 1 | |
| %21 = load i8, i8* %2, align 1, !range !1 | |
| %22 = trunc i8 %21 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %2) | |
| %23 = xor i1 %22, true | |
| call void @llvm.assume(i1 %23) | |
| call void @llvm.lifetime.start(i64 1, i8* %3) | |
| %24 = load %"slice::IterMut<u32>"*, %"slice::IterMut<u32>"** %self, align 8, !nonnull !2 | |
| %25 = getelementptr inbounds %"slice::IterMut<u32>", %"slice::IterMut<u32>"* %24, i32 0, i32 1 | |
| %26 = load i32*, i32** %25, align 8 | |
| %27 = call zeroext i1 @"_ZN3ptr14_$BP$mut$u20$T7is_null20h5321699873322523225E"(i32* %26) | |
| %28 = zext i1 %27 to i8 | |
| store i8 %28, i8* %3, align 1 | |
| %29 = load i8, i8* %3, align 1, !range !1 | |
| %30 = trunc i8 %29 to i1 | |
| call void @llvm.lifetime.end(i64 1, i8* %3) | |
| %31 = xor i1 %30, true | |
| call void @llvm.assume(i1 %31) | |
| br label %next-block | |
| next-block: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment