Skip to content

Instantly share code, notes, and snippets.

@aturon
Created November 5, 2014 20:48
Show Gist options
  • Save aturon/408b84b7a9897cc5fd8b to your computer and use it in GitHub Desktop.
Save aturon/408b84b7a9897cc5fd8b to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
; ModuleID = 'test-addrinfo.0.rs'
target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-gnu"
%str_slice = type { i8*, i64 }
%"struct.core::intrinsics::TypeId<[]>[#3]" = type { i64 }
%"struct.task::Ops<[]>" = type { %"struct.rustrt::mutex::NativeMutex<[]>[#9]", i8, { i64, i64 }, i64 }
%"struct.rustrt::mutex::NativeMutex<[]>[#9]" = type { %"struct.rustrt::mutex::StaticNativeMutex<[]>[#9]", i8 }
%"struct.rustrt::mutex::StaticNativeMutex<[]>[#9]" = type { %"struct.rustrt::mutex::imp::Mutex<[]>[#9]" }
%"struct.rustrt::mutex::imp::Mutex<[]>[#9]" = type { %"struct.core::atomic::AtomicUint<[]>[#3]", %"struct.core::atomic::AtomicUint<[]>[#3]" }
%"struct.core::atomic::AtomicUint<[]>[#3]" = type { %"struct.core::cell::UnsafeCell<[uint]>[#3]", %"struct.core::kinds::marker::NoCopy<[]>[#3]" }
%"struct.core::cell::UnsafeCell<[uint]>[#3]" = type { i64 }
%"struct.core::kinds::marker::NoCopy<[]>[#3]" = type {}
%"struct.rustrt::task::Task<[]>[#9]" = type { %"struct.rustrt::task::LocalStorage<[]>[#9]", %"struct.rustrt::unwind::Unwinder<[]>[#9]", %"struct.rustrt::task::Death<[]>[#9]", %"enum.core::option::Option<[collections::str::MaybeOwned]>[#3]", i8, %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]", i8 }
%"struct.rustrt::task::LocalStorage<[]>[#9]" = type { %"enum.core::option::Option<[collections::tree::map::TreeMap<uint, rustrt::local_data::TLDValue>]>[#3]" }
%"enum.core::option::Option<[collections::tree::map::TreeMap<uint, rustrt::local_data::TLDValue>]>[#3]" = type { i8, [7 x i8], [2 x i64] }
%"struct.rustrt::unwind::Unwinder<[]>[#9]" = type { i8 }
%"struct.rustrt::task::Death<[]>[#9]" = type { %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]", %"struct.core::kinds::marker::NoCopy<[]>[#3]" }
%"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]" = type { { void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)*, i8* } }
%"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]" = type { { i8*, void (i8*)** } }
%"enum.core::option::Option<[collections::str::MaybeOwned]>[#3]" = type { i8, [7 x i8], [4 x i64] }
%"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]" = type { { i8*, void (i8*)** } }
%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]" = type { i8, [7 x i8], [2 x i64] }
%"enum.rustrt::task::BlockedTask<[]>[#9]" = type { i8, [7 x i8], [1 x i64] }
%"struct.rustrt::task::TaskOpts<[]>[#9]" = type { %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]", %"enum.core::option::Option<[collections::str::MaybeOwned]>[#3]", %"enum.core::option::Option<[uint]>[#3]" }
%"enum.core::option::Option<[uint]>[#3]" = type { i8, [7 x i8], [1 x i64] }
%"struct.core::intrinsics::TypeId<[]>[#2]" = type { i64 }
%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" = type { i8, [0 x i8], [1 x i8] }
%"struct.io::Writer::write_fmt::Adaptor<[rustrt::util::Stdio]>" = type { %"struct.rustrt::util::Stdio<[]>[#8]"*, %"enum.core::result::Result<[(), io::IoError]>[#2]" }
%"struct.rustrt::util::Stdio<[]>[#8]" = type { i32 }
%"enum.core::result::Result<[(), io::IoError]>[#2]" = type { i8, [7 x i8], [8 x i64] }
%"struct.core::fmt::Arguments<[]>[#3]" = type { { %str_slice*, i64 }, %"enum.core::option::Option<[&'static [core::fmt::rt::Argument]]>[#3]", { %"struct.core::fmt::Argument<[]>[#3]"*, i64 } }
%"enum.core::option::Option<[&'static [core::fmt::rt::Argument]]>[#3]" = type { { %"struct.core::fmt::rt::Argument<[]>[#3]"*, i64 } }
%"struct.core::fmt::rt::Argument<[]>[#3]" = type { %"enum.core::fmt::rt::Position<[]>[#3]", %"struct.core::fmt::rt::FormatSpec<[]>[#3]" }
%"enum.core::fmt::rt::Position<[]>[#3]" = type { i8, [7 x i8], [1 x i64] }
%"struct.core::fmt::rt::FormatSpec<[]>[#3]" = type { i32, i8, i64, %"enum.core::fmt::rt::Count<[]>[#3]", %"enum.core::fmt::rt::Count<[]>[#3]" }
%"enum.core::fmt::rt::Count<[]>[#3]" = type { i8, [7 x i8], [1 x i64] }
%"struct.core::fmt::Argument<[]>[#3]" = type { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*, %"enum.core::fmt::Void<[]>[#3]"* }
%"struct.core::fmt::Formatter<[]>[#3]" = type { i64, i32, i8, %"enum.core::option::Option<[uint]>[#3]", %"enum.core::option::Option<[uint]>[#3]", { i8*, void (i8*)** }, %"struct.core::slice::Items<[core::fmt::Argument]>[#3]", { %"struct.core::fmt::Argument<[]>[#3]"*, i64 } }
%"struct.core::slice::Items<[core::fmt::Argument]>[#3]" = type { %"struct.core::fmt::Argument<[]>[#3]"*, %"struct.core::fmt::Argument<[]>[#3]"*, %"struct.core::kinds::marker::ContravariantLifetime<[]>[#3]" }
%"struct.core::kinds::marker::ContravariantLifetime<[]>[#3]" = type {}
%"enum.core::fmt::Void<[]>[#3]" = type {}
%"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>" = type { %"struct.io::mem::MemWriter<[]>"*, %"enum.core::result::Result<[(), io::IoError]>[#2]" }
%"struct.io::mem::MemWriter<[]>" = type { %"struct.collections::vec::Vec<[u8]>[#5]" }
%"struct.collections::vec::Vec<[u8]>[#5]" = type { i8*, i64, i64 }
%"struct.util::abort::BufWriter<[]>" = type { { i8*, i64 }, i64 }
%"struct.unwind::begin_unwind_fmt::VecWriter<[]>" = type { %"struct.collections::vec::Vec<[u8]>[#5]"* }
%"struct.collections::string::String<[]>[#5]" = type { %"struct.collections::vec::Vec<[u8]>[#5]" }
%"struct.core::intrinsics::TypeId<[]>[#1]" = type { i64 }
%"enum.core::option::Option<[collections::string::String]>[#3]" = type { i8, [7 x i8], [3 x i64] }
%"enum.io::net::ip::IpAddr<[]>" = type { i8, [1 x i8], [8 x i16] }
%"enum.core::option::Option<[rustrt::c_str::CString]>[#2]" = type { i8, [7 x i8], [2 x i64] }
%"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]" = type { i32, i32, i32, i32, i64, i8*, %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"*, %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* }
%"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]" = type { i16, [14 x i8] }
%"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]" = type { i8, [7 x i8], [8 x i64] }
%"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]" = type { i8, [7 x i8], [8 x i64] }
%"struct.rustrt::c_str::CString<[]>[#8]" = type { i8*, i8, i8 }
%"struct.std::io::IoError<[]>[#1]" = type { %"enum.std::io::IoErrorKind<[]>[#1]", %str_slice, %"enum.core::option::Option<[collections::string::String]>[#3]" }
%"enum.std::io::IoErrorKind<[]>[#1]" = type { i8, [7 x i8], [1 x i64] }
%"struct.io::net::addrinfo::Info<[]>" = type { %"struct.io::net::ip::SocketAddr<[]>", i64, %"enum.core::option::Option<[io::net::addrinfo::SocketType]>[#2]", %"enum.core::option::Option<[io::net::addrinfo::Protocol]>[#2]", i64 }
%"struct.io::net::ip::SocketAddr<[]>" = type { %"enum.io::net::ip::IpAddr<[]>", i16 }
%"enum.core::option::Option<[io::net::addrinfo::SocketType]>[#2]" = type { i8, [0 x i8], [1 x i8] }
%"enum.core::option::Option<[io::net::addrinfo::Protocol]>[#2]" = type { i8, [0 x i8], [1 x i8] }
%"struct.ascii::Ascii<[]>" = type { i8 }
%"enum.std::io::net::ip::IpAddr<[]>[#1]" = type { i8, [1 x i8], [8 x i16] }
%"enum.core::option::Option<[proc():Send]>[#1]" = type { { void (i8*)*, i8* } }
%"struct.libc::types::os::arch::extra::SYSTEM_INFO<[]>[#3]" = type { i16, i16, i32, i8*, i8*, i64, i32, i32, i32, i16, i16 }
%"enum.core::option::Option<[int]>[#3]" = type { i8, [7 x i8], [1 x i64] }
%"enum.core::option::Option<[proc():'static]>[#3]" = type { { void (i8*)*, i8* } }
%"struct.exclusive::Exclusive<[collections::vec::Vec<proc():Send>]>" = type { %"struct.rustrt::mutex::NativeMutex<[]>[#9]", %"struct.core::cell::UnsafeCell<[collections::vec::Vec<proc():Send>]>[#1]" }
%"struct.core::cell::UnsafeCell<[collections::vec::Vec<proc():Send>]>[#1]" = type { %"struct.collections::vec::Vec<[proc():Send]>[#4]" }
%"struct.collections::vec::Vec<[proc():Send]>[#4]" = type { { void (i8*)*, i8* }*, i64, i64 }
%"struct.libc::types::os::arch::extra::SECURITY_ATTRIBUTES<[]>[#3]" = type { i32, i8*, i32 }
%"enum.core::option::Option<[core::result::Result<(), rustrt::task::BlockedTask>]>[#3]" = type { i8, [7 x i8], [3 x i64] }
%"enum.core::option::Option<[rustrt::task::BlockedTask]>[#3]" = type { i8, [7 x i8], [2 x i64] }
%"struct.alloc::arc::ArcInner<[core::atomic::AtomicUint]>[#2]" = type { %"struct.core::atomic::AtomicUint<[]>[#3]", %"struct.core::atomic::AtomicUint<[]>[#3]", %"struct.core::atomic::AtomicUint<[]>[#3]" }
%"struct.rustrt::bookkeeping::Token<[]>[#9]" = type { {}, i8 }
%"enum.core::option::Option<[proc():Send]>[#3]" = type { { void (i8*)*, i8* } }
%"enum.core::result::Result<[collections::string::String, collections::vec::Vec<u8>]>[#2]" = type { i8, [7 x i8], [3 x i64] }
%"enum.core::result::Result<[(), collections::string::String]>[#2]" = type { i8, [7 x i8], [3 x i64] }
%"struct.collections::vec::Vec<[u16]>[#5]" = type { i16*, i64, i64 }
%"struct.path::windows::Path<[]>" = type { %"struct.collections::string::String<[]>[#5]", %"enum.core::option::Option<[path::windows::PathPrefix]>[#2]", %"enum.core::option::Option<[uint]>[#3]" }
%"enum.core::option::Option<[path::windows::PathPrefix]>[#2]" = type { i8, [7 x i8], [3 x i64] }
%"struct.rt::backtrace::imp::arch::CONTEXT<[]>" = type { [0 x <2 x i64>], i64, i64, i64, i64, i64, i64, i32, i32, i16, i16, i16, i16, i16, i16, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, %"struct.rt::backtrace::imp::arch::FLOATING_SAVE_AREA<[]>", [26 x %"struct.rt::backtrace::imp::arch::M128A<[]>"], i64, i64, i64, i64, i64, i64 }
%"struct.rt::backtrace::imp::arch::FLOATING_SAVE_AREA<[]>" = type { [0 x <2 x i64>], [512 x i8] }
%"struct.rt::backtrace::imp::arch::M128A<[]>" = type { [0 x <2 x i64>], i64, i64 }
%"struct.core::str::Utf16CodeUnits<[]>[#2]" = type { %"struct.core::str::Chars<[]>[#2]", i16 }
%"struct.core::str::Chars<[]>[#2]" = type { %"struct.core::slice::Items<[u8]>[#2]" }
%"struct.core::slice::Items<[u8]>[#2]" = type { i8*, i8*, %"struct.core::kinds::marker::ContravariantLifetime<[]>[#3]" }
%"struct.core::str::CharRange<[]>[#2]" = type { i32, i64 }
%"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]" = type { i8, [7 x i8], [3 x i64] }
%"struct.dynamic_lib::DynamicLibrary<[]>" = type { i8*, i8 }
%"struct.rt::backtrace::imp::STACKFRAME64<[]>" = type { %"struct.rt::backtrace::imp::ADDRESS64<[]>", %"struct.rt::backtrace::imp::ADDRESS64<[]>", %"struct.rt::backtrace::imp::ADDRESS64<[]>", %"struct.rt::backtrace::imp::ADDRESS64<[]>", %"struct.rt::backtrace::imp::ADDRESS64<[]>", i8*, [4 x i64], i32, i32, [3 x i64], %"struct.rt::backtrace::imp::KDHELP64<[]>" }
%"struct.rt::backtrace::imp::ADDRESS64<[]>" = type { i64, i16, i32 }
%"struct.rt::backtrace::imp::KDHELP64<[]>" = type { i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, [5 x i64] }
%"struct.rt::backtrace::imp::SYMBOL_INFO<[]>" = type { i32, i32, [2 x i64], i32, i32, i64, i32, i64, i64, i32, i32, i32, i32, i32, [2000 x i8] }
%"enum.core::option::Option<[rustrt::local_data::TLDValue]>[#2]" = type { i8, [7 x i8], [2 x i64] }
%"struct.rustrt::local_data::TLDValue<[]>[#9]" = type { {}*, void ({}*)* }
%"struct.collections::tree::map::TreeNode<[uint, rustrt::local_data::TLDValue]>[#5]" = type { i64, %"struct.rustrt::local_data::TLDValue<[]>[#9]", i8*, i8*, i64 }
%"enum.core::option::Option<[Box<io::Writer+Send>]>[#2]" = type { { i8*, void (i8*)** } }
%"enum.core::option::Option<[rustrt::task::Task]>[#2]" = type { i8, [7 x i8], [15 x i64] }
%"struct.rustrt::local_data::TLDValueBox<[Box<io::Writer+Send>]>[#8]" = type { { i8*, void (i8*)** }, %"struct.core::cell::UnsafeCell<[uint]>[#3]" }
%"enum.core::option::Option<[collections::vec::Vec<&'static str>]>[#2]" = type { i8, [7 x i8], [3 x i64] }
%"enum.core::option::Option<[(uint, uint)]>[#2]" = type { i8, [7 x i8], [2 x i64] }
%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]" = type {}
%"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]" = type {}
%"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]" = type {}
%"struct.libunwind::_Unwind_Exception<[]>" = type { i64, void (i32, %"struct.libunwind::_Unwind_Exception<[]>"*)*, [6 x i64] }
%"struct.stack_overflow::imp::EXCEPTION_POINTERS<[]>" = type { %"struct.stack_overflow::imp::EXCEPTION_RECORD<[]>"*, i8* }
%"struct.stack_overflow::imp::EXCEPTION_RECORD<[]>" = type { i32, i32, %"struct.stack_overflow::imp::EXCEPTION_RECORD<[]>"*, i8*, i32, [15 x i8*] }
%"enum.core::option::Option<[Box<core::any::Any+Send>]>[#1]" = type { { i8*, void (i8*)** } }
%"enum.libunwind::_Unwind_Context<[]>" = type {}
%"enum.collections::str::MaybeOwned<[]>[#5]" = type { i8, [7 x i8], [3 x i64] }
%"enum.core::option::Option<[&'static str]>[#2]" = type { %str_slice }
%"enum.core::option::Option<[core::str::Utf16Item]>[#1]" = type { i8, [3 x i8], [2 x i32] }
%"enum.option::Option<[char]>" = type { i8, [3 x i8], [1 x i32] }
@str1660 = internal constant [9 x i8] c"localhost"
@vtable1735 = internal constant { void (%str_slice**)*, i64, i64, %"struct.core::intrinsics::TypeId<[]>[#3]" (%str_slice*)* } { void (%str_slice**)* @"_ZN32Box$LT$$BP$$x27static$x20str$GT$14glue_drop.172317hd55d66504444ed2eE", i64 16, i64 8, %"struct.core::intrinsics::TypeId<[]>[#3]" (%str_slice*)* @_ZN3any5T.Any11get_type_id21h13552194398611234940E }
@str1739 = internal constant [29 x i8] c"assertion failed: found_local"
@str1740 = internal constant [16 x i8] c"test-addrinfo.rs"
@_ZN4main10_FILE_LINE20h4da2afd5f850df1e4aaE = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([16 x i8]* @str1740, i32 0, i32 0), i64 16 }, i64 13 }
@vtable2486 = internal constant { void (%"struct.task::Ops<[]>"**)*, i64, i64, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, i64, %"struct.rustrt::task::Task<[]>[#9]"*, { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::task::TaskOpts<[]>[#9]"*, { void (i8*)*, i8* }*)*, void ({ i64, i64 }*, %"struct.task::Ops<[]>"*)*, void (%"enum.core::option::Option<[uint]>[#3]"*, %"struct.task::Ops<[]>"*)*, i1 (%"struct.task::Ops<[]>"*)*, void ({ i8*, void (i8*)** }*, %"struct.task::Ops<[]>"*)* } { void (%"struct.task::Ops<[]>"**)* @"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE", i64 56, i64 8, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)* @_ZN4task15Ops.rt..Runtime9yield_now20hba5b226fe3a3efe3ifaE, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)* @_ZN4task15Ops.rt..Runtime11maybe_yield20h200ef8d60492c888KfaE, void (%"struct.task::Ops<[]>"*, i64, %"struct.rustrt::task::Task<[]>[#9]"*, { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }*)* @_ZN4task15Ops.rt..Runtime10deschedule20h325293fc8dd7b552ehaE, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)* @_ZN4task15Ops.rt..Runtime8reawaken20h239fbd8c066ea172zkaE, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::task::TaskOpts<[]>[#9]"*, { void (i8*)*, i8* }*)* @_ZN4task15Ops.rt..Runtime13spawn_sibling20h571444045f477cd3ulaE, void ({ i64, i64 }*, %"struct.task::Ops<[]>"*)* @_ZN4task15Ops.rt..Runtime12stack_bounds20ha1a10a8392176374vgaE, void (%"enum.core::option::Option<[uint]>[#3]"*, %"struct.task::Ops<[]>"*)* @_ZN4task15Ops.rt..Runtime11stack_guard20hb7ea1bdd702ab2aeIgaE, i1 (%"struct.task::Ops<[]>"*)* @_ZN4task15Ops.rt..Runtime9can_block20h21f6fc9ed47c99ef5gaE, void ({ i8*, void (i8*)** }*, %"struct.task::Ops<[]>"*)* @_ZN4task15Ops.rt..Runtime4wrap20haa24f4dc0c4115ff9faE }
@vtable2705 = internal constant { void (%"struct.task::Ops<[]>"**)*, i64, i64, %"struct.core::intrinsics::TypeId<[]>[#3]" (%"struct.task::Ops<[]>"*)* } { void (%"struct.task::Ops<[]>"**)* @"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE", i64 56, i64 8, %"struct.core::intrinsics::TypeId<[]>[#3]" (%"struct.task::Ops<[]>"*)* @_ZN3any5T.Any11get_type_id21h16988523686319441879E }
@str2871 = internal constant [6 x i8] c"<main>"
@str27311 = internal constant [60 x i8] c"from_str_radix_int: must lie in the range `[2, 36]` - found "
@_ZN3num7strconv18from_str_radix_int15__STATIC_FMTSTR20h3b268a400200c96ew8cE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([60 x i8]* @str27311, i32 0, i32 0), i64 60 }]
@str27366 = internal constant [44 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibstd\5Clib.rs"
@const = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([44 x i8]* @str27366, i32 0, i32 0), i64 44 }, i64 1 }
@str27472 = internal constant [0 x i8] zeroinitializer
@vtable27547 = internal constant { void (%str_slice**)*, i64, i64, %"struct.core::intrinsics::TypeId<[]>[#2]" (%str_slice*)* } { void (%str_slice**)* @"_ZN32Box$LT$$BP$$x27static$x20str$GT$15glue_drop.2753417h412f548e5828f50aE", i64 16, i64 8, %"struct.core::intrinsics::TypeId<[]>[#2]" (%str_slice*)* @_ZN3any5T.Any11get_type_id19h207709216360153155E }
@str27560 = internal constant [52 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibstd\5Cnum\5Cstrconv.rs"
@str28220 = internal constant [46 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibstd\5Cascii.rs"
@_ZN5ascii15ASCII_UPPER_MAP20h0c8d0bf89adc4aa4iRbE = internal unnamed_addr constant [256 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F\10\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F !\22#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\5C]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~\7F\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF"
@_ZN5ascii9AsciiCast8to_ascii10_FILE_LINE20hfb7d95c84f9294edrxbE = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([46 x i8]* @str28220, i32 0, i32 0), i64 46 }, i64 143 }
@str28321 = internal constant [1 x i8] c"."
@_ZN3num7strconv18from_str_radix_int8_run_fmt10_FILE_LINE20hfb7d95c84f9294ed77cE = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([52 x i8]* @str27560, i32 0, i32 0), i64 52 }, i64 574 }
@str28332 = internal constant [2 x i8] c": "
@str28512 = internal constant [8 x i8] c"exists()"
@str28519 = internal constant [11 x i8] c"Error code "
@_ZN11dynamic_lib2dl19check_for_errors_in15__STATIC_FMTSTR20h3b268a400200c96eOlgE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([11 x i8]* @str28519, i32 0, i32 0), i64 11 }]
@_ZN11dynamic_lib19DynamicLibrary.Drop4drop15__STATIC_FMTSTR20h3b268a400200c96e7dgE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str27472, i32 0, i32 0), i64 0 }]
@str28525 = internal constant [52 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibstd\5Cdynamic_lib.rs"
@_ZN11dynamic_lib19DynamicLibrary.Drop4drop8_run_fmt10_FILE_LINE20hfb7d95c84f9294edIdgE = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([52 x i8]* @str28525, i32 0, i32 0), i64 52 }, i64 46 }
@str28556 = internal constant [38 x i8] c"assertion failed: !contains_nul(&path)"
@str28557 = internal constant [49 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibstd\5Cpath\5Cmod.rs"
@_ZN4path11GenericPath3new10_FILE_LINE20hfb7d95c84f9294ednhpE = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([49 x i8]* @str28557, i32 0, i32 0), i64 49 }, i64 164 }
@str28568 = internal constant [34 x i8] c"assertion failed: !path.is_empty()"
@str28569 = internal constant [53 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibstd\5Cpath\5Cwindows.rs"
@_ZN4path7windows22Path.GenericPathUnsafe13new_unchecked10_FILE_LINE20hfb7d95c84f9294edp3nE = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([53 x i8]* @str28569, i32 0, i32 0), i64 53 }, i64 168 }
@str28602 = internal constant [57 x i8] c"fill_utf16_buf_and_decode: closure created invalid UTF-16"
@_ZN2os13with_env_lock4LOCK20h778e00d1a4fb7f62htgE = internal global { { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } } zeroinitializer
@_ZN2os11EXIT_STATUS20h3b179df124a85fe7tNgE = internal global { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } zeroinitializer
@str29641 = internal constant [2 x i8] c"::"
@str29644 = internal constant [1 x i8] c":"
@str29646 = internal constant [1 x i8] c"["
@str29776 = internal constant [1 x i8] c")"
@str29920 = internal constant [2 x i8] c".."
@str29995 = internal constant [1 x i8] c"'"
@const152 = private constant i8 0
@_ZN2io6Writer9write_int15__STATIC_FMTSTR20h3b268a400200c96evBmE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str27472, i32 0, i32 0), i64 0 }]
@_ZN2io6Writer10write_uint15__STATIC_FMTSTR20h3b268a400200c96eqCmE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str27472, i32 0, i32 0), i64 0 }]
@vtable30366 = internal constant { void (i8*)*, i64, i64, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[rustrt::util::Stdio]>"*, { i8*, i64 }*)*, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[rustrt::util::Stdio]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* } { void (i8*)* @_ZN2i815glue_drop.3031417hcadcf4258211a4deE, i64 80, i64 8, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[rustrt::util::Stdio]>"*, { i8*, i64 }*)* @"_ZN2io6Writer9write_fmt46Adaptor$LT$$x27a$C$$x20T$GT$.fmt..FormatWriter5write20h9781316303715619889E", %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[rustrt::util::Stdio]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* @_ZN3fmt12FormatWriter9write_fmt21h16392951587605698001E }
@vtable30367 = internal constant { void (i8*)*, i64, i64, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[rustrt::util::Stdio]>"*, { i8*, i64 }*)*, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[rustrt::util::Stdio]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* } { void (i8*)* @_ZN2i815glue_drop.3031417hcadcf4258211a4deE, i64 80, i64 8, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[rustrt::util::Stdio]>"*, { i8*, i64 }*)* @"_ZN2io6Writer9write_fmt46Adaptor$LT$$x27a$C$$x20T$GT$.fmt..FormatWriter5write20h9781316303715619889E", %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[rustrt::util::Stdio]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* @_ZN3fmt12FormatWriter9write_fmt21h16392951587605698001E }
@str30420 = internal constant [1 x i8] c"\0A"
@str30616 = internal constant [13 x i8] c"unknown error"
@_ZN2io17IoError.fmt..Show3fmt15__STATIC_FMTSTR20h3b268a400200c96eZClE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str27472, i32 0, i32 0), i64 0 }]
@_ZN2io17IoError.fmt..Show3fmt15__STATIC_FMTSTR20h3b268a400200c96eKDlE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str27472, i32 0, i32 0), i64 0 }]
@str30617 = internal constant [2 x i8] c" ("
@_ZN2io17IoError.fmt..Show3fmt15__STATIC_FMTSTR20haa7fade197b8e9aazElE = internal constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str27472, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([2 x i8]* @str30617, i32 0, i32 0), i64 2 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str29776, i32 0, i32 0), i64 1 }]
@str30642 = internal constant [11 x i8] c"end of file"
@str30646 = internal constant [14 x i8] c"file not found"
@str30647 = internal constant [17 x i8] c"permission denied"
@str30650 = internal constant [18 x i8] c"connection refused"
@str30651 = internal constant [16 x i8] c"connection reset"
@str30652 = internal constant [18 x i8] c"connection aborted"
@str30653 = internal constant [13 x i8] c"not connected"
@str30659 = internal constant [19 x i8] c"operation timed out"
@str30751 = internal constant [33 x i8] c"assertion failed: self.is_ascii()"
@const175 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([53 x i8]* @str28569, i32 0, i32 0), i64 53 }, i64 728 }
@const177 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([53 x i8]* @str28569, i32 0, i32 0), i64 53 }, i64 733 }
@const181 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([53 x i8]* @str28569, i32 0, i32 0), i64 53 }, i64 757 }
@const184 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([53 x i8]* @str28569, i32 0, i32 0), i64 53 }, i64 788 }
@const185 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([53 x i8]* @str28569, i32 0, i32 0), i64 53 }, i64 794 }
@str30838 = internal constant [2 x i8] c"\5C\5C"
@const186 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([53 x i8]* @str28569, i32 0, i32 0), i64 53 }, i64 857 }
@str30855 = internal constant [2 x i8] c"?\5C"
@str30856 = internal constant [4 x i8] c"UNC\5C"
@const188 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([53 x i8]* @str28569, i32 0, i32 0), i64 53 }, i64 1003 }
@str30859 = internal constant [2 x i8] c".\5C"
@_ZN3fmt6format15__STATIC_FMTSTR20h3b268a400200c96ebDpE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str27472, i32 0, i32 0), i64 0 }]
@vtable30877 = internal constant { void (i8*)*, i64, i64, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"*, { i8*, i64 }*)*, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* } { void (i8*)* @_ZN2i815glue_drop.3031417hcadcf4258211a4deE, i64 80, i64 8, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"*, { i8*, i64 }*)* @"_ZN2io6Writer9write_fmt46Adaptor$LT$$x27a$C$$x20T$GT$.fmt..FormatWriter5write20h8216972420358847891E", %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* @_ZN3fmt12FormatWriter9write_fmt21h10907134482829863651E }
@vtable30878 = internal constant { void (i8*)*, i64, i64, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"*, { i8*, i64 }*)*, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* } { void (i8*)* @_ZN2i815glue_drop.3031417hcadcf4258211a4deE, i64 80, i64 8, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"*, { i8*, i64 }*)* @"_ZN2io6Writer9write_fmt46Adaptor$LT$$x27a$C$$x20T$GT$.fmt..FormatWriter5write20h8216972420358847891E", %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* @_ZN3fmt12FormatWriter9write_fmt21h10907134482829863651E }
@str30910 = internal constant [1 x i8] c"*"
@str30953 = internal constant [9 x i8] c"OS Error "
@str30954 = internal constant [34 x i8] c" (FormatMessageW() returned error "
@_ZN3sys2os12error_string15__STATIC_FMTSTR20haa7fade197b8e9aamsqE = internal constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([9 x i8]* @str30953, i32 0, i32 0), i64 9 }, %str_slice { i8* getelementptr inbounds ([34 x i8]* @str30954, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str29776, i32 0, i32 0), i64 1 }]
@_ZN3sys2os12error_string15__STATIC_FMTSTR20h8066512442a01568otqE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([9 x i8]* @str30953, i32 0, i32 0), i64 9 }, %str_slice { i8* getelementptr inbounds ([2 x i8]* @str28332, i32 0, i32 0), i64 2 }]
@str30955 = internal constant [43 x i8] c" (FormatMessageW() returned invalid UTF-16)"
@_ZN3sys2os12error_string15__STATIC_FMTSTR20h8066512442a01568auqE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([9 x i8]* @str30953, i32 0, i32 0), i64 9 }, %str_slice { i8* getelementptr inbounds ([43 x i8]* @str30955, i32 0, i32 0), i64 43 }]
@str30973 = internal constant [18 x i8] c"the pipe has ended"
@str31022 = internal constant [18 x i8] c"no process to kill"
@str31344 = internal constant [35 x i8] c"invalid handle provided to function"
@str31345 = internal constant [24 x i8] c"the pipe is being closed"
@str31346 = internal constant [17 x i8] c"invalid file name"
@str31347 = internal constant [32 x i8] c"resource temporarily unavailable"
@str31348 = internal constant [21 x i8] c"address not available"
@str31349 = internal constant [14 x i8] c"address in use"
@str31350 = internal constant [16 x i8] c"invalid argument"
@str31351 = internal constant [24 x i8] c"function not implemented"
@str31352 = internal constant [32 x i8] c"illegal operation on a directory"
@str31392 = internal constant [55 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibstd\5Csys\5Ccommon\5Cnet.rs"
@str31393 = internal constant [68 x i8] c"assertion failed: len as uint >= mem::size_of::<libc::sockaddr_in>()"
@_ZN10sys_common3net16sockaddr_to_addr10_FILE_LINE20hfb7d95c84f9294edLCsE = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([55 x i8]* @str31392, i32 0, i32 0), i64 55 }, i64 171 }
@str31394 = internal constant [69 x i8] c"assertion failed: len as uint >= mem::size_of::<libc::sockaddr_in6>()"
@_ZN10sys_common3net16sockaddr_to_addr10_FILE_LINE20hfb7d95c84f9294edCEsE = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([55 x i8]* @str31392, i32 0, i32 0), i64 55 }, i64 186 }
@_ZN2rt9backtrace11log_enabled7ENABLED20h3b179df124a85fe7pBtE = internal global { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } zeroinitializer
@str31515 = internal constant [14 x i8] c"RUST_BACKTRACE"
@str31516 = internal constant [3 x i8] c"_ZN"
@str31517 = internal constant [1 x i8] c"E"
@str31529 = internal constant [1 x i8] c"$"
@str31530 = internal constant [4 x i8] c"$SP$"
@str31531 = internal constant [1 x i8] c"@"
@str31532 = internal constant [4 x i8] c"$UP$"
@str31533 = internal constant [3 x i8] c"Box"
@str31534 = internal constant [4 x i8] c"$RP$"
@str31535 = internal constant [4 x i8] c"$BP$"
@str31536 = internal constant [1 x i8] c"&"
@str31537 = internal constant [4 x i8] c"$LT$"
@str31538 = internal constant [1 x i8] c"<"
@str31539 = internal constant [4 x i8] c"$GT$"
@str31540 = internal constant [1 x i8] c">"
@str31541 = internal constant [4 x i8] c"$LP$"
@str31542 = internal constant [1 x i8] c"("
@str31543 = internal constant [3 x i8] c"$C$"
@str31544 = internal constant [1 x i8] c","
@str31545 = internal constant [4 x i8] c"$x20"
@str31546 = internal constant [1 x i8] c" "
@str31547 = internal constant [4 x i8] c"$x27"
@str31548 = internal constant [4 x i8] c"$x5b"
@str31549 = internal constant [4 x i8] c"$x5d"
@str31550 = internal constant [1 x i8] c"]"
@_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE = internal global { { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } } zeroinitializer
@str31553 = internal constant [11 x i8] c"dbghelp.dll"
@str31571 = internal constant [11 x i8] c"SymFromAddr"
@str31572 = internal constant [13 x i8] c"SymInitialize"
@str31573 = internal constant [10 x i8] c"SymCleanup"
@str31574 = internal constant [11 x i8] c"StackWalk64"
@str31575 = internal constant [17 x i8] c"stack backtrace:\0A"
@_ZN2rt9backtrace3imp5write15__STATIC_FMTSTR20h3b268a400200c96eK0tE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([17 x i8]* @str31575, i32 0, i32 0), i64 17 }]
@str31582 = internal constant [2 x i8] c" "
@_ZN2rt9backtrace3imp5write15__STATIC_FMTSTR20h8066512442a01568L2tE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([2 x i8]* @str31582, i32 0, i32 0), i64 2 }, %str_slice { i8* getelementptr inbounds ([2 x i8]* @str28332, i32 0, i32 0), i64 2 }]
@_ZN2rt9backtrace3imp5write16__STATIC_FMTARGS20hd34c3de82e230c51W2tE = internal constant { { { i8, [15 x i8] }, { i32, i8, i64, { i8, [15 x i8] }, { i8, i64, [0 x i8] } } }, { { i8, [15 x i8] }, { i32, i8, i64, { i8, [15 x i8] }, { i8, i64, [0 x i8] } } } } { { { i8, [15 x i8] }, { i32, i8, i64, { i8, [15 x i8] }, { i8, i64, [0 x i8] } } } { { i8, [15 x i8] } { i8 0, [15 x i8] undef }, { i32, i8, i64, { i8, [15 x i8] }, { i8, i64, [0 x i8] } } { i32 32, i8 3, i64 0, { i8, [15 x i8] } { i8 3, [15 x i8] undef }, { i8, i64, [0 x i8] } { i8 0, i64 2, [0 x i8] undef } } }, { { i8, [15 x i8] }, { i32, i8, i64, { i8, [15 x i8] }, { i8, i64, [0 x i8] } } } { { i8, [15 x i8] } { i8 0, [15 x i8] undef }, { i32, i8, i64, { i8, [15 x i8] }, { i8, i64, [0 x i8] } } { i32 32, i8 3, i64 4, { i8, [15 x i8] } { i8 3, [15 x i8] undef }, { i8, i64, [0 x i8] } { i8 1, i64 2, [0 x i8] undef } } } }
@str31583 = internal constant [3 x i8] c" - "
@_ZN2rt9backtrace3imp5write15__STATIC_FMTSTR20h3b268a400200c96e24tE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([3 x i8]* @str31583, i32 0, i32 0), i64 3 }]
@_ZN2rt4util9min_stack3MIN20h3ace694a6c323b04P7tE = internal global { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } zeroinitializer
@str31589 = internal constant [14 x i8] c"RUST_MIN_STACK"
@str31611 = internal constant [8 x i8] c"Box<Any>"
@str31612 = internal constant [13 x i8] c"panicked at '"
@str31613 = internal constant [3 x i8] c"', "
@_ZN7failure7on_fail15__STATIC_FMTSTR20h0b5dfa840f8df90fQduE = internal constant [4 x %str_slice] [%str_slice { i8* getelementptr inbounds ([13 x i8]* @str31612, i32 0, i32 0), i64 13 }, %str_slice { i8* getelementptr inbounds ([3 x i8]* @str31613, i32 0, i32 0), i64 3 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str29644, i32 0, i32 0), i64 1 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str30420, i32 0, i32 0), i64 1 }]
@vtable31614 = internal constant { void (i8*)*, i64, i64, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, { i8*, i64 }*)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, %"struct.core::fmt::Arguments<[]>[#3]"*)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, %str_slice*)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, %str_slice*)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i32)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i32)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i16)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i32)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i16)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, double)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, float)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i32)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i16)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i32)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i16)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, double)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, float)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i8)*, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i8)* } { void (i8*)* @_ZN2i815glue_drop.3031417hcadcf4258211a4deE, i64 4, i64 4, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, { i8*, i64 }*)* @_ZN7failure12Stdio.Writer5write20hcb55a460db67bba5GbuE, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*)* @_ZN2io6Writer5flush21h12197010950012657478E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* @_ZN2io6Writer9write_fmt20h6005095333203503257E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, %str_slice*)* @_ZN2io6Writer9write_str20h5446382397778664401E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, %str_slice*)* @_ZN2io6Writer10write_line19h316895469290020448E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i32)* @_ZN2io6Writer10write_char20h8574268311742318443E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)* @_ZN2io6Writer9write_int19h740604980962448319E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)* @_ZN2io6Writer10write_uint21h15799298197756175213E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)* @_ZN2io6Writer13write_le_uint21h12678610587954595586E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)* @_ZN2io6Writer12write_le_int21h12648085494276751449E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)* @_ZN2io6Writer13write_be_uint20h4938720131813908695E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)* @_ZN2io6Writer12write_be_int20h4662692809864773565E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)* @_ZN2io6Writer12write_be_u6421h16640493143400454964E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i32)* @_ZN2io6Writer12write_be_u3221h15442051777637799001E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i16)* @_ZN2io6Writer12write_be_u1621h16689827810865059214E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)* @_ZN2io6Writer12write_be_i6421h12457816248428460452E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i32)* @_ZN2io6Writer12write_be_i3220h8778215453503412529E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i16)* @_ZN2io6Writer12write_be_i1620h9974220599146284925E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, double)* @_ZN2io6Writer12write_be_f6420h1424801206621986691E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, float)* @_ZN2io6Writer12write_be_f3221h16906874444183002586E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)* @_ZN2io6Writer12write_le_u6421h10699497518859453164E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i32)* @_ZN2io6Writer12write_le_u3221h16356211988057721105E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i16)* @_ZN2io6Writer12write_le_u1620h1532368526126140682E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i64)* @_ZN2io6Writer12write_le_i6421h17817658729895978090E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i32)* @_ZN2io6Writer12write_le_i3221h17420067112325909641E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i16)* @_ZN2io6Writer12write_le_i1621h16494511357251008347E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, double)* @_ZN2io6Writer12write_le_f6421h14216883806809154780E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, float)* @_ZN2io6Writer12write_le_f3220h3023800969150865284E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i8)* @_ZN2io6Writer8write_u820h9355695744737250495E, void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, %"struct.rustrt::util::Stdio<[]>[#8]"*, i8)* @_ZN2io6Writer8write_i821h15820779426556331801E }
@str31615 = internal constant [47 x i8] c"run with `RUST_BACKTRACE=1` to see a backtrace\0A"
@_ZN7failure7on_fail15__STATIC_FMTSTR20h3b268a400200c96e0euE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([47 x i8]* @str31615, i32 0, i32 0), i64 47 }]
@str31622 = internal constant [9 x i8] c"<unnamed>"
@str31623 = internal constant [6 x i8] c"task '"
@str31624 = internal constant [15 x i8] c"' panicked at '"
@str31625 = internal constant [2 x i8] c"\0A\0A"
@_ZN7failure7on_fail15__STATIC_FMTSTR20h69f1e1cbd53a4837KguE = internal constant [5 x %str_slice] [%str_slice { i8* getelementptr inbounds ([6 x i8]* @str31623, i32 0, i32 0), i64 6 }, %str_slice { i8* getelementptr inbounds ([15 x i8]* @str31624, i32 0, i32 0), i64 15 }, %str_slice { i8* getelementptr inbounds ([3 x i8]* @str31613, i32 0, i32 0), i64 3 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str29644, i32 0, i32 0), i64 1 }, %str_slice { i8* getelementptr inbounds ([2 x i8]* @str31625, i32 0, i32 0), i64 2 }]
@_ZN7failure7on_fail15__STATIC_FMTSTR20h69f1e1cbd53a4837iiuE = internal constant [5 x %str_slice] [%str_slice { i8* getelementptr inbounds ([6 x i8]* @str31623, i32 0, i32 0), i64 6 }, %str_slice { i8* getelementptr inbounds ([15 x i8]* @str31624, i32 0, i32 0), i64 15 }, %str_slice { i8* getelementptr inbounds ([3 x i8]* @str31613, i32 0, i32 0), i64 3 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str29644, i32 0, i32 0), i64 1 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str30420, i32 0, i32 0), i64 1 }]
@_ZN11at_exit_imp5QUEUE20hca9db8247d813a33KaaE = internal global { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } zeroinitializer
@_ZN11at_exit_imp7RUNNING20habfc260907389e38OaaE = internal global { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } zeroinitializer
@str5515 = internal constant [29 x i8] c"!RUNNING.load(atomic::SeqCst)"
@str5540 = internal constant [19 x i8] c" assertion failed: "
@_ZN11at_exit_imp4init15__STATIC_FMTSTR20h349f0f2acd1459fcxbaE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([19 x i8]* @str5540, i32 0, i32 0), i64 19 }]
@str5542 = internal constant [72 x i8] c"assertion failed: QUEUE.swap(mem::transmute(state), atomic::SeqCst) == 0"
@str5543 = internal constant [55 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibrustrt\5Cat_exit_imp.rs"
@_ZN11at_exit_imp4init14_MSG_FILE_LINE20hbf26a2c2f4e59a61jcaE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([72 x i8]* @str5542, i32 0, i32 0), i64 72 }, %str_slice { i8* getelementptr inbounds ([55 x i8]* @str5543, i32 0, i32 0), i64 55 }, i64 33 }
@str5546 = internal constant [10 x i8] c"queue != 0"
@_ZN11at_exit_imp3run15__STATIC_FMTSTR20h349f0f2acd1459fcrfaE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([19 x i8]* @str5540, i32 0, i32 0), i64 19 }]
@_ZN11at_exit_imp3run15__STATIC_FMTSTR20h349f0f2acd1459fcsgaE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([19 x i8]* @str5540, i32 0, i32 0), i64 19 }]
@str5639 = internal constant [37 x i8] c"Aiee, returning null borrowed object!"
@"_ZN9local_ptr22Borrowed$LT$T$GT$.Drop4drop15__STATIC_FMTSTR20h349f0f2acd1459fcbiaE" = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([37 x i8]* @str5639, i32 0, i32 0), i64 37 }]
@"_ZN9local_ptr22Borrowed$LT$T$GT$.Drop4drop15__STATIC_FMTSTR20h349f0f2acd1459fcgjaE" = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([19 x i8]* @str5540, i32 0, i32 0), i64 19 }]
@_ZN9local_ptr6native10RT_TLS_KEY20hde2fb88314fef024plaE = internal unnamed_addr global i32 -1
@str5640 = internal constant [16 x i8] c"RT_TLS_KEY != -1"
@_ZN9local_ptr6native7cleanup15__STATIC_FMTSTR20h349f0f2acd1459fc6laE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([19 x i8]* @str5540, i32 0, i32 0), i64 19 }]
@str5641 = internal constant [36 x i8] c"thread-local pointer is null. bogus!"
@_ZN9local_ptr6native4take15__STATIC_FMTSTR20h349f0f2acd1459fcLnaE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([36 x i8]* @str5641, i32 0, i32 0), i64 36 }]
@_ZN9local_ptr6native13unsafe_borrow15__STATIC_FMTSTR20h349f0f2acd1459fcsraE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([36 x i8]* @str5641, i32 0, i32 0), i64 36 }]
@str5643 = internal constant [31 x i8] c"runtime tls key not initialized"
@_ZN9local_ptr6native7tls_key15__STATIC_FMTSTR20h349f0f2acd1459fcVsaE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([31 x i8]* @str5643, i32 0, i32 0), i64 31 }]
@str5644 = internal constant [44 x i8] c"assertion failed: *key != TLS_OUT_OF_INDEXES"
@str5645 = internal constant [64 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibrustrt\5Cthread_local_storage.rs"
@_ZN20thread_local_storage6create14_MSG_FILE_LINE20hbf26a2c2f4e59a61ruaE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([44 x i8]* @str5644, i32 0, i32 0), i64 44 }, %str_slice { i8* getelementptr inbounds ([64 x i8]* @str5645, i32 0, i32 0), i64 64 }, i64 67 }
@str5646 = internal constant [69 x i8] c"assertion failed: 0 != TlsSetValue(key, value as *mut ::libc::c_void)"
@_ZN20thread_local_storage3set14_MSG_FILE_LINE20hbf26a2c2f4e59a61evaE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([69 x i8]* @str5646, i32 0, i32 0), i64 69 }, %str_slice { i8* getelementptr inbounds ([64 x i8]* @str5645, i32 0, i32 0), i64 64 }, i64 72 }
@str5647 = internal constant [35 x i8] c"assertion failed: TlsFree(key) != 0"
@_ZN20thread_local_storage7destroy14_MSG_FILE_LINE20hbf26a2c2f4e59a619vaE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([35 x i8]* @str5647, i32 0, i32 0), i64 35 }, %str_slice { i8* getelementptr inbounds ([64 x i8]* @str5645, i32 0, i32 0), i64 64 }, i64 82 }
@vtable5659 = internal constant { void (i8*)*, i64, i64, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.rustrt::util::Stdio<[]>[#8]"*, { i8*, i64 }*)*, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.rustrt::util::Stdio<[]>[#8]"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* } { void (i8*)* @_ZN2i814glue_drop.565717h36c8632b20f0c168E, i64 4, i64 4, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.rustrt::util::Stdio<[]>[#8]"*, { i8*, i64 }*)* @_ZN4util23Stdio.fmt..FormatWriter5write20h2158ab63f0f2524fCxaE, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.rustrt::util::Stdio<[]>[#8]"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* @_ZN3fmt12FormatWriter9write_fmt19h707530086622976452E }
@str5660 = internal constant [0 x i8] zeroinitializer
@_ZN4util5abort15__STATIC_FMTSTR20h349f0f2acd1459fcyAaE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str5660, i32 0, i32 0), i64 0 }]
@vtable5661 = internal constant { void (i8*)*, i64, i64, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.util::abort::BufWriter<[]>"*, { i8*, i64 }*)*, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.util::abort::BufWriter<[]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* } { void (i8*)* @_ZN2i814glue_drop.565717h36c8632b20f0c168E, i64 24, i64 8, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.util::abort::BufWriter<[]>"*, { i8*, i64 }*)* @"_ZN4util5abort35BufWriter$LT$$x27a$GT$.FormatWriter5write20hf4391ab4ef862befczaE", %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.util::abort::BufWriter<[]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* @_ZN3fmt12FormatWriter9write_fmt20h4581400380919140459E }
@str5670 = internal constant [7 x i8] c"aborted"
@str5694 = internal constant [355 x i8] c"\0AIt was from the artists and poets that the pertinent answers came, and I\0Aknow that panic would have broken loose had they been able to compare notes.\0AAs it was, lacking their original letters, I half suspected the compiler of\0Ahaving asked leading questions, or of having edited the correspondence in\0Acorroboration of what he had latently resolved to see."
@str5695 = internal constant [756 x i8] c"\0AThere are not many persons who know what wonders are opened to them in the\0Astories and visions of their youth; for when as children we listen and dream,\0Awe think but half-formed thoughts, and when as men we try to remember, we are\0Adulled and prosaic with the poison of life. But some of us awake in the night\0Awith strange phantasms of enchanted hills and gardens, of fountains that sing\0Ain the sun, of golden cliffs overhanging murmuring seas, of plains that stretch\0Adown to sleeping cities of bronze and stone, and of shadowy companies of heroes\0Athat ride caparisoned white horses along the edges of thick forests; and then\0Awe know that we have looked back through the ivory gates into that world of\0Awonder which was ours before we were wise and unhappy."
@str5696 = internal constant [536 x i8] c"\0AInstead of the poems I had hoped for, there came only a shuddering blackness\0Aand ineffable loneliness; and I saw at last a fearful truth which no one had\0Aever dared to breathe before \E2\80\94 the unwhisperable secret of secrets \E2\80\94 The fact\0Athat this city of stone and stridor is not a sentient perpetuation of Old New\0AYork as London is of Old London and Paris of Old Paris, but that it is in fact\0Aquite dead, its sprawling body imperfectly embalmed and infested with queer\0Aanimate things which have nothing to do with it as it was in life."
@str5697 = internal constant [641 x i8] c"\0AThe ocean ate the last of the land and poured into the smoking gulf, thereby\0Agiving up all it had ever conquered. From the new-flooded lands it flowed\0Aagain, uncovering death and decay; and from its ancient and immemorial bed it\0Atrickled loathsomely, uncovering nighted secrets of the years when Time was\0Ayoung and the gods unborn. Above the waves rose weedy remembered spires. The\0Amoon laid pale lilies of light on dead London, and Paris stood up from its damp\0Agrave to be sanctified with star-dust. Then rose spires and monoliths that were\0Aweedy but not remembered; terrible spires and monoliths of lands that men never\0Aknew were lands..."
@str5698 = internal constant [357 x i8] c"\0AThere was a night when winds from unknown spaces whirled us irresistibly into\0Alimitless vacuum beyond all thought and entity. Perceptions of the most\0Amaddeningly untransmissible sort thronged upon us; perceptions of infinity\0Awhich at the time convulsed us with joy, yet which are now partly lost to my\0Amemory and partly incapable of presentation to others."
@str5699 = internal constant [45 x i8] c"You've met with a terrible fate, haven't you?"
@str5700 = internal constant [1 x i8] c"\0A"
@_ZN4util5abort15__STATIC_FMTSTR20hadbe7fc4153c767buCaE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str5660, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str5700, i32 0, i32 0), i64 1 }]
@_ZN4util5abort15__STATIC_FMTSTR20hadbe7fc4153c767beDaE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str5660, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str5700, i32 0, i32 0), i64 1 }]
@_ZN4util5abort15__STATIC_FMTSTR20hadbe7fc4153c767bYDaE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str5660, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str5700, i32 0, i32 0), i64 1 }]
@str5701 = internal constant [21 x i8] c"fatal runtime error: "
@_ZN4util5abort15__STATIC_FMTSTR20hadbe7fc4153c767bIEaE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([21 x i8]* @str5701, i32 0, i32 0), i64 21 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str5700, i32 0, i32 0), i64 1 }]
@str5803 = internal constant [9 x i8] c"<unknown>"
@str5804 = internal constant [7 x i8] c"\0Atask '"
@str5805 = internal constant [27 x i8] c"' has overflowed its stack\0A"
@_ZN14stack_overflow6report15__STATIC_FMTSTR20hadbe7fc4153c767bDIaE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([7 x i8]* @str5804, i32 0, i32 0), i64 7 }, %str_slice { i8* getelementptr inbounds ([27 x i8]* @str5805, i32 0, i32 0), i64 27 }]
@str5822 = internal constant [35 x i8] c"failed to install exception handler"
@str5823 = internal constant [58 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibrustrt\5Cstack_overflow.rs"
@_ZN14stack_overflow3imp4init14_MSG_FILE_LINE20hbf26a2c2f4e59a61ILaE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([35 x i8]* @str5822, i32 0, i32 0), i64 35 }, %str_slice { i8* getelementptr inbounds ([58 x i8]* @str5823, i32 0, i32 0), i64 58 }, i64 119 }
@str5824 = internal constant [52 x i8] c"failed to reserve stack space for exception handling"
@_ZN14stack_overflow3imp12make_handler14_MSG_FILE_LINE20hbf26a2c2f4e59a61tMaE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([52 x i8]* @str5824, i32 0, i32 0), i64 52 }, %str_slice { i8* getelementptr inbounds ([58 x i8]* @str5823, i32 0, i32 0), i64 58 }, i64 130 }
@_ZN11bookkeeping10TASK_COUNT20hca9db8247d813a33QTaE = internal global { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } zeroinitializer
@_ZN11bookkeeping9TASK_LOCK20hfdd7f8b229507086UTaE = internal global { { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } } zeroinitializer
@str5855 = internal constant [49 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibrustrt\5Cc_str.rs"
@str5893 = internal constant [25 x i8] c"assertion failed: *p != 0"
@_ZN5c_str14check_for_null14_MSG_FILE_LINE20hbf26a2c2f4e59a61lcbE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([25 x i8]* @str5893, i32 0, i32 0), i64 25 }, %str_slice { i8* getelementptr inbounds ([49 x i8]* @str5855, i32 0, i32 0), i64 49 }, i64 458 }
@str5947 = internal constant [54 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibrustrt\5Clocal_data.rs"
@str5948 = internal constant [41 x i8] c"must have a local task to insert into TLD"
@"_ZN10local_data17KeyValue$LT$T$GT$7replace14_MSG_FILE_LINE20hbf26a2c2f4e59a61KobE" = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([41 x i8]* @str5948, i32 0, i32 0), i64 41 }, %str_slice { i8* getelementptr inbounds ([54 x i8]* @str5947, i32 0, i32 0), i64 54 }, i64 183 }
@str5949 = internal constant [59 x i8] c"TLD value cannot be replaced because it is already borrowed"
@"_ZN10local_data17KeyValue$LT$T$GT$7replace14_MSG_FILE_LINE20hbf26a2c2f4e59a61NrbE" = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([59 x i8]* @str5949, i32 0, i32 0), i64 59 }, %str_slice { i8* getelementptr inbounds ([54 x i8]* @str5947, i32 0, i32 0), i64 54 }, i64 235 }
@str5950 = internal constant [34 x i8] c"TLDValue destructed while borrowed"
@_ZN10local_data8TLDValue3new1d14_MSG_FILE_LINE20hbf26a2c2f4e59a61DAbE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([34 x i8]* @str5950, i32 0, i32 0), i64 34 }, %str_slice { i8* getelementptr inbounds ([54 x i8]* @str5947, i32 0, i32 0), i64 54 }, i64 369 }
@str5952 = internal constant [57 x i8] c"assertion failed: SetEvent(self.getcond() as HANDLE) != 0"
@str5953 = internal constant [49 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibrustrt\5Cmutex.rs"
@_ZN5mutex3imp5Mutex6signal14_MSG_FILE_LINE20hbf26a2c2f4e59a61YJbE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([57 x i8]* @str5952, i32 0, i32 0), i64 57 }, %str_slice { i8* getelementptr inbounds ([49 x i8]* @str5953, i32 0, i32 0), i64 49 }, i64 568 }
@str5961 = internal constant [30 x i8] c"cannot re-use a destroyed task"
@str5962 = internal constant [48 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibrustrt\5Ctask.rs"
@_ZN4task4Task3run14_MSG_FILE_LINE20hbf26a2c2f4e59a61ZYbE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([30 x i8]* @str5961, i32 0, i32 0), i64 30 }, %str_slice { i8* getelementptr inbounds ([48 x i8]* @str5962, i32 0, i32 0), i64 48 }, i64 208 }
@str5963 = internal constant [44 x i8] c"cannot run a task recursively inside another"
@_ZN4task4Task3run14_MSG_FILE_LINE20hbf26a2c2f4e59a61vZbE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([44 x i8]* @str5963, i32 0, i32 0), i64 44 }, %str_slice { i8* getelementptr inbounds ([48 x i8]* @str5962, i32 0, i32 0), i64 48 }, i64 214 }
@str5975 = internal constant [8 x i8] c"exists()"
@str5996 = internal constant [14 x i8] c"result.is_ok()"
@_ZN4task4Task7cleanup15__STATIC_FMTSTR20h349f0f2acd1459fcm2bE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([19 x i8]* @str5540, i32 0, i32 0), i64 19 }]
@str6000 = internal constant [36 x i8] c"assertion failed: self.imp.is_none()"
@_ZN4task4Task11put_runtime14_MSG_FILE_LINE20hbf26a2c2f4e59a61f4bE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([36 x i8]* @str6000, i32 0, i32 0), i64 36 }, %str_slice { i8* getelementptr inbounds ([48 x i8]* @str5962, i32 0, i32 0), i64 48 }, i64 333 }
@str6001 = internal constant [36 x i8] c"assertion failed: self.imp.is_some()"
@_ZN4task4Task12take_runtime14_MSG_FILE_LINE20hbf26a2c2f4e59a6124bE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([36 x i8]* @str6001, i32 0, i32 0), i64 36 }, %str_slice { i8* getelementptr inbounds ([48 x i8]* @str5962, i32 0, i32 0), i64 48 }, i64 340 }
@str6033 = internal constant [19 x i8] c"self.state != Armed"
@_ZN4task9Task.Drop4drop15__STATIC_FMTSTR20h349f0f2acd1459fcbbcE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([19 x i8]* @str5540, i32 0, i32 0), i64 19 }]
@str6094 = internal constant [50 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibrustrt\5Cthread.rs"
@str6111 = internal constant [31 x i8] c"failed to spawn native thread: "
@_ZN6thread3imp6create15__STATIC_FMTSTR20h349f0f2acd1459fc5qcE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([31 x i8]* @str6111, i32 0, i32 0), i64 31 }]
@_ZN6thread3imp6create8_run_fmt10_FILE_LINE20he903507015456385GqcE = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([50 x i8]* @str6094, i32 0, i32 0), i64 50 }, i64 238 }
@str6112 = internal constant [48 x i8] c"assertion failed: libc::CloseHandle(native) != 0"
@_ZN6thread3imp6detach14_MSG_FILE_LINE20hbf26a2c2f4e59a61dscE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([48 x i8]* @str6112, i32 0, i32 0), i64 48 }, %str_slice { i8* getelementptr inbounds ([50 x i8]* @str6094, i32 0, i32 0), i64 50 }, i64 249 }
@_ZN6unwind9CALLBACKS20hddf03420eded5e24kucE = internal global { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } zeroinitializer
@_ZN6unwind12CALLBACK_CNT20hca9db8247d813a33GucE = internal global { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } zeroinitializer
@str6125 = internal constant [32 x i8] c"Could not unwind stack, error = "
@_ZN6unwind10rust_panic15__STATIC_FMTSTR20h349f0f2acd1459fcSzcE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([32 x i8]* @str6125, i32 0, i32 0), i64 32 }]
@_ZN6unwind16begin_unwind_fmt15__STATIC_FMTSTR20h349f0f2acd1459fcbHcE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str5660, i32 0, i32 0), i64 0 }]
@vtable6127 = internal constant { void (i8*)*, i64, i64, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.unwind::begin_unwind_fmt::VecWriter<[]>"*, { i8*, i64 }*)*, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.unwind::begin_unwind_fmt::VecWriter<[]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* } { void (i8*)* @_ZN2i814glue_drop.565717h36c8632b20f0c168E, i64 8, i64 8, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.unwind::begin_unwind_fmt::VecWriter<[]>"*, { i8*, i64 }*)* @"_ZN6unwind16begin_unwind_fmt40VecWriter$LT$$x27a$GT$.fmt..FormatWriter5write20h90391042d9bf499aoGcE", %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.unwind::begin_unwind_fmt::VecWriter<[]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* @_ZN3fmt12FormatWriter9write_fmt21h17320541650524655160E }
@vtable6202 = internal constant { void (%"struct.collections::string::String<[]>[#5]"**)*, i64, i64, %"struct.core::intrinsics::TypeId<[]>[#1]" (%"struct.collections::string::String<[]>[#5]"*)* } { void (%"struct.collections::string::String<[]>[#5]"**)* @"_ZN38Box$LT$collections..string..String$GT$14glue_drop.619517hcc1488a13cff7ac9E", i64 24, i64 8, %"struct.core::intrinsics::TypeId<[]>[#1]" (%"struct.collections::string::String<[]>[#5]"*)* @_ZN3any5T.Any11get_type_id21h15404434092690603610E }
@str6203 = internal constant [40 x i8] c"task failed during unwinding. aborting.\0A"
@_ZN6unwind18begin_unwind_inner15__STATIC_FMTSTR20h349f0f2acd1459fcgKcE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([40 x i8]* @str6203, i32 0, i32 0), i64 40 }]
@str6206 = internal constant [9 x i8] c"prev == 0"
@_ZN6unwind8register15__STATIC_FMTSTR20h349f0f2acd1459fcTLcE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([19 x i8]* @str5540, i32 0, i32 0), i64 19 }]
@str12907 = internal constant [17 x i8] c"capacity overflow"
@str12975 = internal constant [40 x i8] c"Vec::reserve_additional: `uint` overflow"
@str12976 = internal constant [52 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibcollections\5Cvec.rs"
@"_ZN3vec12Vec$LT$T$GT$18reserve_additional14_MSG_FILE_LINE20h73a791f0248413baY9iE" = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([40 x i8]* @str12975, i32 0, i32 0), i64 40 }, %str_slice { i8* getelementptr inbounds ([52 x i8]* @str12976, i32 0, i32 0), i64 52 }, i64 584 }
@"_ZN3vec12Vec$LT$T$GT$4push14_MSG_FILE_LINE20h73a791f0248413baEnjE" = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([17 x i8]* @str12907, i32 0, i32 0), i64 17 }, %str_slice { i8* getelementptr inbounds ([52 x i8]* @str12976, i32 0, i32 0), i64 52 }, i64 990 }
@str15502 = internal constant [48 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibunicode\5Clib.rs"
@const6104 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([48 x i8]* @str15502, i32 0, i32 0), i64 48 }, i64 1 }
@const6126 = private unnamed_addr constant [62 x { i32, i32 }] [{ i32, i32 } { i32 48, i32 57 }, { i32, i32 } { i32 1632, i32 1641 }, { i32, i32 } { i32 1776, i32 1785 }, { i32, i32 } { i32 1984, i32 1993 }, { i32, i32 } { i32 2406, i32 2415 }, { i32, i32 } { i32 2534, i32 2543 }, { i32, i32 } { i32 2662, i32 2671 }, { i32, i32 } { i32 2790, i32 2799 }, { i32, i32 } { i32 2918, i32 2927 }, { i32, i32 } { i32 3046, i32 3055 }, { i32, i32 } { i32 3174, i32 3183 }, { i32, i32 } { i32 3302, i32 3311 }, { i32, i32 } { i32 3430, i32 3439 }, { i32, i32 } { i32 3558, i32 3567 }, { i32, i32 } { i32 3664, i32 3673 }, { i32, i32 } { i32 3792, i32 3801 }, { i32, i32 } { i32 3872, i32 3881 }, { i32, i32 } { i32 4160, i32 4169 }, { i32, i32 } { i32 4240, i32 4249 }, { i32, i32 } { i32 5870, i32 5872 }, { i32, i32 } { i32 6112, i32 6121 }, { i32, i32 } { i32 6160, i32 6169 }, { i32, i32 } { i32 6470, i32 6479 }, { i32, i32 } { i32 6608, i32 6617 }, { i32, i32 } { i32 6784, i32 6793 }, { i32, i32 } { i32 6800, i32 6809 }, { i32, i32 } { i32 6992, i32 7001 }, { i32, i32 } { i32 7088, i32 7097 }, { i32, i32 } { i32 7232, i32 7241 }, { i32, i32 } { i32 7248, i32 7257 }, { i32, i32 } { i32 8544, i32 8578 }, { i32, i32 } { i32 8581, i32 8584 }, { i32, i32 } { i32 12295, i32 12295 }, { i32, i32 } { i32 12321, i32 12329 }, { i32, i32 } { i32 12344, i32 12346 }, { i32, i32 } { i32 42528, i32 42537 }, { i32, i32 } { i32 42726, i32 42735 }, { i32, i32 } { i32 43216, i32 43225 }, { i32, i32 } { i32 43264, i32 43273 }, { i32, i32 } { i32 43472, i32 43481 }, { i32, i32 } { i32 43504, i32 43513 }, { i32, i32 } { i32 43600, i32 43609 }, { i32, i32 } { i32 44016, i32 44025 }, { i32, i32 } { i32 65296, i32 65305 }, { i32, i32 } { i32 65856, i32 65908 }, { i32, i32 } { i32 66369, i32 66369 }, { i32, i32 } { i32 66378, i32 66378 }, { i32, i32 } { i32 66513, i32 66517 }, { i32, i32 } { i32 66720, i32 66729 }, { i32, i32 } { i32 69734, i32 69743 }, { i32, i32 } { i32 69872, i32 69881 }, { i32, i32 } { i32 69942, i32 69951 }, { i32, i32 } { i32 70096, i32 70105 }, { i32, i32 } { i32 70384, i32 70393 }, { i32, i32 } { i32 70864, i32 70873 }, { i32, i32 } { i32 71248, i32 71257 }, { i32, i32 } { i32 71360, i32 71369 }, { i32, i32 } { i32 71904, i32 71913 }, { i32, i32 } { i32 74752, i32 74862 }, { i32, i32 } { i32 92768, i32 92777 }, { i32, i32 } { i32 93008, i32 93017 }, { i32, i32 } { i32 120782, i32 120831 }]
@const6147 = private unnamed_addr constant [908 x { i32, i32 }] [{ i32, i32 } { i32 65, i32 90 }, { i32, i32 } { i32 97, i32 122 }, { i32, i32 } { i32 170, i32 170 }, { i32, i32 } { i32 181, i32 181 }, { i32, i32 } { i32 186, i32 186 }, { i32, i32 } { i32 192, i32 214 }, { i32, i32 } { i32 216, i32 246 }, { i32, i32 } { i32 248, i32 442 }, { i32, i32 } { i32 443, i32 443 }, { i32, i32 } { i32 444, i32 447 }, { i32, i32 } { i32 448, i32 451 }, { i32, i32 } { i32 452, i32 659 }, { i32, i32 } { i32 660, i32 660 }, { i32, i32 } { i32 661, i32 687 }, { i32, i32 } { i32 688, i32 705 }, { i32, i32 } { i32 710, i32 721 }, { i32, i32 } { i32 736, i32 740 }, { i32, i32 } { i32 748, i32 748 }, { i32, i32 } { i32 750, i32 750 }, { i32, i32 } { i32 837, i32 837 }, { i32, i32 } { i32 880, i32 883 }, { i32, i32 } { i32 884, i32 884 }, { i32, i32 } { i32 886, i32 887 }, { i32, i32 } { i32 890, i32 890 }, { i32, i32 } { i32 891, i32 893 }, { i32, i32 } { i32 895, i32 895 }, { i32, i32 } { i32 902, i32 902 }, { i32, i32 } { i32 904, i32 906 }, { i32, i32 } { i32 908, i32 908 }, { i32, i32 } { i32 910, i32 929 }, { i32, i32 } { i32 931, i32 1013 }, { i32, i32 } { i32 1015, i32 1153 }, { i32, i32 } { i32 1162, i32 1327 }, { i32, i32 } { i32 1329, i32 1366 }, { i32, i32 } { i32 1369, i32 1369 }, { i32, i32 } { i32 1377, i32 1415 }, { i32, i32 } { i32 1456, i32 1469 }, { i32, i32 } { i32 1471, i32 1471 }, { i32, i32 } { i32 1473, i32 1474 }, { i32, i32 } { i32 1476, i32 1477 }, { i32, i32 } { i32 1479, i32 1479 }, { i32, i32 } { i32 1488, i32 1514 }, { i32, i32 } { i32 1520, i32 1522 }, { i32, i32 } { i32 1552, i32 1562 }, { i32, i32 } { i32 1568, i32 1599 }, { i32, i32 } { i32 1600, i32 1600 }, { i32, i32 } { i32 1601, i32 1610 }, { i32, i32 } { i32 1611, i32 1623 }, { i32, i32 } { i32 1625, i32 1631 }, { i32, i32 } { i32 1646, i32 1647 }, { i32, i32 } { i32 1648, i32 1648 }, { i32, i32 } { i32 1649, i32 1747 }, { i32, i32 } { i32 1749, i32 1749 }, { i32, i32 } { i32 1750, i32 1756 }, { i32, i32 } { i32 1761, i32 1764 }, { i32, i32 } { i32 1765, i32 1766 }, { i32, i32 } { i32 1767, i32 1768 }, { i32, i32 } { i32 1773, i32 1773 }, { i32, i32 } { i32 1774, i32 1775 }, { i32, i32 } { i32 1786, i32 1788 }, { i32, i32 } { i32 1791, i32 1791 }, { i32, i32 } { i32 1808, i32 1808 }, { i32, i32 } { i32 1809, i32 1809 }, { i32, i32 } { i32 1810, i32 1839 }, { i32, i32 } { i32 1840, i32 1855 }, { i32, i32 } { i32 1869, i32 1957 }, { i32, i32 } { i32 1958, i32 1968 }, { i32, i32 } { i32 1969, i32 1969 }, { i32, i32 } { i32 1994, i32 2026 }, { i32, i32 } { i32 2036, i32 2037 }, { i32, i32 } { i32 2042, i32 2042 }, { i32, i32 } { i32 2048, i32 2069 }, { i32, i32 } { i32 2070, i32 2071 }, { i32, i32 } { i32 2074, i32 2074 }, { i32, i32 } { i32 2075, i32 2083 }, { i32, i32 } { i32 2084, i32 2084 }, { i32, i32 } { i32 2085, i32 2087 }, { i32, i32 } { i32 2088, i32 2088 }, { i32, i32 } { i32 2089, i32 2092 }, { i32, i32 } { i32 2112, i32 2136 }, { i32, i32 } { i32 2208, i32 2226 }, { i32, i32 } { i32 2276, i32 2281 }, { i32, i32 } { i32 2288, i32 2306 }, { i32, i32 } { i32 2307, i32 2307 }, { i32, i32 } { i32 2308, i32 2361 }, { i32, i32 } { i32 2362, i32 2362 }, { i32, i32 } { i32 2363, i32 2363 }, { i32, i32 } { i32 2365, i32 2365 }, { i32, i32 } { i32 2366, i32 2368 }, { i32, i32 } { i32 2369, i32 2376 }, { i32, i32 } { i32 2377, i32 2380 }, { i32, i32 } { i32 2382, i32 2383 }, { i32, i32 } { i32 2384, i32 2384 }, { i32, i32 } { i32 2389, i32 2391 }, { i32, i32 } { i32 2392, i32 2401 }, { i32, i32 } { i32 2402, i32 2403 }, { i32, i32 } { i32 2417, i32 2417 }, { i32, i32 } { i32 2418, i32 2432 }, { i32, i32 } { i32 2433, i32 2433 }, { i32, i32 } { i32 2434, i32 2435 }, { i32, i32 } { i32 2437, i32 2444 }, { i32, i32 } { i32 2447, i32 2448 }, { i32, i32 } { i32 2451, i32 2472 }, { i32, i32 } { i32 2474, i32 2480 }, { i32, i32 } { i32 2482, i32 2482 }, { i32, i32 } { i32 2486, i32 2489 }, { i32, i32 } { i32 2493, i32 2493 }, { i32, i32 } { i32 2494, i32 2496 }, { i32, i32 } { i32 2497, i32 2500 }, { i32, i32 } { i32 2503, i32 2504 }, { i32, i32 } { i32 2507, i32 2508 }, { i32, i32 } { i32 2510, i32 2510 }, { i32, i32 } { i32 2519, i32 2519 }, { i32, i32 } { i32 2524, i32 2525 }, { i32, i32 } { i32 2527, i32 2529 }, { i32, i32 } { i32 2530, i32 2531 }, { i32, i32 } { i32 2544, i32 2545 }, { i32, i32 } { i32 2561, i32 2562 }, { i32, i32 } { i32 2563, i32 2563 }, { i32, i32 } { i32 2565, i32 2570 }, { i32, i32 } { i32 2575, i32 2576 }, { i32, i32 } { i32 2579, i32 2600 }, { i32, i32 } { i32 2602, i32 2608 }, { i32, i32 } { i32 2610, i32 2611 }, { i32, i32 } { i32 2613, i32 2614 }, { i32, i32 } { i32 2616, i32 2617 }, { i32, i32 } { i32 2622, i32 2624 }, { i32, i32 } { i32 2625, i32 2626 }, { i32, i32 } { i32 2631, i32 2632 }, { i32, i32 } { i32 2635, i32 2636 }, { i32, i32 } { i32 2641, i32 2641 }, { i32, i32 } { i32 2649, i32 2652 }, { i32, i32 } { i32 2654, i32 2654 }, { i32, i32 } { i32 2672, i32 2673 }, { i32, i32 } { i32 2674, i32 2676 }, { i32, i32 } { i32 2677, i32 2677 }, { i32, i32 } { i32 2689, i32 2690 }, { i32, i32 } { i32 2691, i32 2691 }, { i32, i32 } { i32 2693, i32 2701 }, { i32, i32 } { i32 2703, i32 2705 }, { i32, i32 } { i32 2707, i32 2728 }, { i32, i32 } { i32 2730, i32 2736 }, { i32, i32 } { i32 2738, i32 2739 }, { i32, i32 } { i32 2741, i32 2745 }, { i32, i32 } { i32 2749, i32 2749 }, { i32, i32 } { i32 2750, i32 2752 }, { i32, i32 } { i32 2753, i32 2757 }, { i32, i32 } { i32 2759, i32 2760 }, { i32, i32 } { i32 2761, i32 2761 }, { i32, i32 } { i32 2763, i32 2764 }, { i32, i32 } { i32 2768, i32 2768 }, { i32, i32 } { i32 2784, i32 2785 }, { i32, i32 } { i32 2786, i32 2787 }, { i32, i32 } { i32 2817, i32 2817 }, { i32, i32 } { i32 2818, i32 2819 }, { i32, i32 } { i32 2821, i32 2828 }, { i32, i32 } { i32 2831, i32 2832 }, { i32, i32 } { i32 2835, i32 2856 }, { i32, i32 } { i32 2858, i32 2864 }, { i32, i32 } { i32 2866, i32 2867 }, { i32, i32 } { i32 2869, i32 2873 }, { i32, i32 } { i32 2877, i32 2877 }, { i32, i32 } { i32 2878, i32 2878 }, { i32, i32 } { i32 2879, i32 2879 }, { i32, i32 } { i32 2880, i32 2880 }, { i32, i32 } { i32 2881, i32 2884 }, { i32, i32 } { i32 2887, i32 2888 }, { i32, i32 } { i32 2891, i32 2892 }, { i32, i32 } { i32 2902, i32 2902 }, { i32, i32 } { i32 2903, i32 2903 }, { i32, i32 } { i32 2908, i32 2909 }, { i32, i32 } { i32 2911, i32 2913 }, { i32, i32 } { i32 2914, i32 2915 }, { i32, i32 } { i32 2929, i32 2929 }, { i32, i32 } { i32 2946, i32 2946 }, { i32, i32 } { i32 2947, i32 2947 }, { i32, i32 } { i32 2949, i32 2954 }, { i32, i32 } { i32 2958, i32 2960 }, { i32, i32 } { i32 2962, i32 2965 }, { i32, i32 } { i32 2969, i32 2970 }, { i32, i32 } { i32 2972, i32 2972 }, { i32, i32 } { i32 2974, i32 2975 }, { i32, i32 } { i32 2979, i32 2980 }, { i32, i32 } { i32 2984, i32 2986 }, { i32, i32 } { i32 2990, i32 3001 }, { i32, i32 } { i32 3006, i32 3007 }, { i32, i32 } { i32 3008, i32 3008 }, { i32, i32 } { i32 3009, i32 3010 }, { i32, i32 } { i32 3014, i32 3016 }, { i32, i32 } { i32 3018, i32 3020 }, { i32, i32 } { i32 3024, i32 3024 }, { i32, i32 } { i32 3031, i32 3031 }, { i32, i32 } { i32 3072, i32 3072 }, { i32, i32 } { i32 3073, i32 3075 }, { i32, i32 } { i32 3077, i32 3084 }, { i32, i32 } { i32 3086, i32 3088 }, { i32, i32 } { i32 3090, i32 3112 }, { i32, i32 } { i32 3114, i32 3129 }, { i32, i32 } { i32 3133, i32 3133 }, { i32, i32 } { i32 3134, i32 3136 }, { i32, i32 } { i32 3137, i32 3140 }, { i32, i32 } { i32 3142, i32 3144 }, { i32, i32 } { i32 3146, i32 3148 }, { i32, i32 } { i32 3157, i32 3158 }, { i32, i32 } { i32 3160, i32 3161 }, { i32, i32 } { i32 3168, i32 3169 }, { i32, i32 } { i32 3170, i32 3171 }, { i32, i32 } { i32 3201, i32 3201 }, { i32, i32 } { i32 3202, i32 3203 }, { i32, i32 } { i32 3205, i32 3212 }, { i32, i32 } { i32 3214, i32 3216 }, { i32, i32 } { i32 3218, i32 3240 }, { i32, i32 } { i32 3242, i32 3251 }, { i32, i32 } { i32 3253, i32 3257 }, { i32, i32 } { i32 3261, i32 3261 }, { i32, i32 } { i32 3262, i32 3262 }, { i32, i32 } { i32 3263, i32 3263 }, { i32, i32 } { i32 3264, i32 3268 }, { i32, i32 } { i32 3270, i32 3270 }, { i32, i32 } { i32 3271, i32 3272 }, { i32, i32 } { i32 3274, i32 3275 }, { i32, i32 } { i32 3276, i32 3276 }, { i32, i32 } { i32 3285, i32 3286 }, { i32, i32 } { i32 3294, i32 3294 }, { i32, i32 } { i32 3296, i32 3297 }, { i32, i32 } { i32 3298, i32 3299 }, { i32, i32 } { i32 3313, i32 3314 }, { i32, i32 } { i32 3329, i32 3329 }, { i32, i32 } { i32 3330, i32 3331 }, { i32, i32 } { i32 3333, i32 3340 }, { i32, i32 } { i32 3342, i32 3344 }, { i32, i32 } { i32 3346, i32 3386 }, { i32, i32 } { i32 3389, i32 3389 }, { i32, i32 } { i32 3390, i32 3392 }, { i32, i32 } { i32 3393, i32 3396 }, { i32, i32 } { i32 3398, i32 3400 }, { i32, i32 } { i32 3402, i32 3404 }, { i32, i32 } { i32 3406, i32 3406 }, { i32, i32 } { i32 3415, i32 3415 }, { i32, i32 } { i32 3424, i32 3425 }, { i32, i32 } { i32 3426, i32 3427 }, { i32, i32 } { i32 3450, i32 3455 }, { i32, i32 } { i32 3458, i32 3459 }, { i32, i32 } { i32 3461, i32 3478 }, { i32, i32 } { i32 3482, i32 3505 }, { i32, i32 } { i32 3507, i32 3515 }, { i32, i32 } { i32 3517, i32 3517 }, { i32, i32 } { i32 3520, i32 3526 }, { i32, i32 } { i32 3535, i32 3537 }, { i32, i32 } { i32 3538, i32 3540 }, { i32, i32 } { i32 3542, i32 3542 }, { i32, i32 } { i32 3544, i32 3551 }, { i32, i32 } { i32 3570, i32 3571 }, { i32, i32 } { i32 3585, i32 3632 }, { i32, i32 } { i32 3633, i32 3633 }, { i32, i32 } { i32 3634, i32 3635 }, { i32, i32 } { i32 3636, i32 3642 }, { i32, i32 } { i32 3648, i32 3653 }, { i32, i32 } { i32 3654, i32 3654 }, { i32, i32 } { i32 3661, i32 3661 }, { i32, i32 } { i32 3713, i32 3714 }, { i32, i32 } { i32 3716, i32 3716 }, { i32, i32 } { i32 3719, i32 3720 }, { i32, i32 } { i32 3722, i32 3722 }, { i32, i32 } { i32 3725, i32 3725 }, { i32, i32 } { i32 3732, i32 3735 }, { i32, i32 } { i32 3737, i32 3743 }, { i32, i32 } { i32 3745, i32 3747 }, { i32, i32 } { i32 3749, i32 3749 }, { i32, i32 } { i32 3751, i32 3751 }, { i32, i32 } { i32 3754, i32 3755 }, { i32, i32 } { i32 3757, i32 3760 }, { i32, i32 } { i32 3761, i32 3761 }, { i32, i32 } { i32 3762, i32 3763 }, { i32, i32 } { i32 3764, i32 3769 }, { i32, i32 } { i32 3771, i32 3772 }, { i32, i32 } { i32 3773, i32 3773 }, { i32, i32 } { i32 3776, i32 3780 }, { i32, i32 } { i32 3782, i32 3782 }, { i32, i32 } { i32 3789, i32 3789 }, { i32, i32 } { i32 3804, i32 3807 }, { i32, i32 } { i32 3840, i32 3840 }, { i32, i32 } { i32 3904, i32 3911 }, { i32, i32 } { i32 3913, i32 3948 }, { i32, i32 } { i32 3953, i32 3966 }, { i32, i32 } { i32 3967, i32 3967 }, { i32, i32 } { i32 3968, i32 3969 }, { i32, i32 } { i32 3976, i32 3980 }, { i32, i32 } { i32 3981, i32 3991 }, { i32, i32 } { i32 3993, i32 4028 }, { i32, i32 } { i32 4096, i32 4138 }, { i32, i32 } { i32 4139, i32 4140 }, { i32, i32 } { i32 4141, i32 4144 }, { i32, i32 } { i32 4145, i32 4145 }, { i32, i32 } { i32 4146, i32 4150 }, { i32, i32 } { i32 4152, i32 4152 }, { i32, i32 } { i32 4155, i32 4156 }, { i32, i32 } { i32 4157, i32 4158 }, { i32, i32 } { i32 4159, i32 4159 }, { i32, i32 } { i32 4176, i32 4181 }, { i32, i32 } { i32 4182, i32 4183 }, { i32, i32 } { i32 4184, i32 4185 }, { i32, i32 } { i32 4186, i32 4189 }, { i32, i32 } { i32 4190, i32 4192 }, { i32, i32 } { i32 4193, i32 4193 }, { i32, i32 } { i32 4194, i32 4194 }, { i32, i32 } { i32 4197, i32 4198 }, { i32, i32 } { i32 4199, i32 4200 }, { i32, i32 } { i32 4206, i32 4208 }, { i32, i32 } { i32 4209, i32 4212 }, { i32, i32 } { i32 4213, i32 4225 }, { i32, i32 } { i32 4226, i32 4226 }, { i32, i32 } { i32 4227, i32 4228 }, { i32, i32 } { i32 4229, i32 4230 }, { i32, i32 } { i32 4238, i32 4238 }, { i32, i32 } { i32 4252, i32 4252 }, { i32, i32 } { i32 4253, i32 4253 }, { i32, i32 } { i32 4256, i32 4293 }, { i32, i32 } { i32 4295, i32 4295 }, { i32, i32 } { i32 4301, i32 4301 }, { i32, i32 } { i32 4304, i32 4346 }, { i32, i32 } { i32 4348, i32 4348 }, { i32, i32 } { i32 4349, i32 4680 }, { i32, i32 } { i32 4682, i32 4685 }, { i32, i32 } { i32 4688, i32 4694 }, { i32, i32 } { i32 4696, i32 4696 }, { i32, i32 } { i32 4698, i32 4701 }, { i32, i32 } { i32 4704, i32 4744 }, { i32, i32 } { i32 4746, i32 4749 }, { i32, i32 } { i32 4752, i32 4784 }, { i32, i32 } { i32 4786, i32 4789 }, { i32, i32 } { i32 4792, i32 4798 }, { i32, i32 } { i32 4800, i32 4800 }, { i32, i32 } { i32 4802, i32 4805 }, { i32, i32 } { i32 4808, i32 4822 }, { i32, i32 } { i32 4824, i32 4880 }, { i32, i32 } { i32 4882, i32 4885 }, { i32, i32 } { i32 4888, i32 4954 }, { i32, i32 } { i32 4959, i32 4959 }, { i32, i32 } { i32 4992, i32 5007 }, { i32, i32 } { i32 5024, i32 5108 }, { i32, i32 } { i32 5121, i32 5740 }, { i32, i32 } { i32 5743, i32 5759 }, { i32, i32 } { i32 5761, i32 5786 }, { i32, i32 } { i32 5792, i32 5866 }, { i32, i32 } { i32 5870, i32 5872 }, { i32, i32 } { i32 5873, i32 5880 }, { i32, i32 } { i32 5888, i32 5900 }, { i32, i32 } { i32 5902, i32 5905 }, { i32, i32 } { i32 5906, i32 5907 }, { i32, i32 } { i32 5920, i32 5937 }, { i32, i32 } { i32 5938, i32 5939 }, { i32, i32 } { i32 5952, i32 5969 }, { i32, i32 } { i32 5970, i32 5971 }, { i32, i32 } { i32 5984, i32 5996 }, { i32, i32 } { i32 5998, i32 6000 }, { i32, i32 } { i32 6002, i32 6003 }, { i32, i32 } { i32 6016, i32 6067 }, { i32, i32 } { i32 6070, i32 6070 }, { i32, i32 } { i32 6071, i32 6077 }, { i32, i32 } { i32 6078, i32 6085 }, { i32, i32 } { i32 6086, i32 6086 }, { i32, i32 } { i32 6087, i32 6088 }, { i32, i32 } { i32 6103, i32 6103 }, { i32, i32 } { i32 6108, i32 6108 }, { i32, i32 } { i32 6176, i32 6210 }, { i32, i32 } { i32 6211, i32 6211 }, { i32, i32 } { i32 6212, i32 6263 }, { i32, i32 } { i32 6272, i32 6312 }, { i32, i32 } { i32 6313, i32 6313 }, { i32, i32 } { i32 6314, i32 6314 }, { i32, i32 } { i32 6320, i32 6389 }, { i32, i32 } { i32 6400, i32 6430 }, { i32, i32 } { i32 6432, i32 6434 }, { i32, i32 } { i32 6435, i32 6438 }, { i32, i32 } { i32 6439, i32 6440 }, { i32, i32 } { i32 6441, i32 6443 }, { i32, i32 } { i32 6448, i32 6449 }, { i32, i32 } { i32 6450, i32 6450 }, { i32, i32 } { i32 6451, i32 6456 }, { i32, i32 } { i32 6480, i32 6509 }, { i32, i32 } { i32 6512, i32 6516 }, { i32, i32 } { i32 6528, i32 6571 }, { i32, i32 } { i32 6576, i32 6592 }, { i32, i32 } { i32 6593, i32 6599 }, { i32, i32 } { i32 6600, i32 6601 }, { i32, i32 } { i32 6656, i32 6678 }, { i32, i32 } { i32 6679, i32 6680 }, { i32, i32 } { i32 6681, i32 6682 }, { i32, i32 } { i32 6683, i32 6683 }, { i32, i32 } { i32 6688, i32 6740 }, { i32, i32 } { i32 6741, i32 6741 }, { i32, i32 } { i32 6742, i32 6742 }, { i32, i32 } { i32 6743, i32 6743 }, { i32, i32 } { i32 6744, i32 6750 }, { i32, i32 } { i32 6753, i32 6753 }, { i32, i32 } { i32 6754, i32 6754 }, { i32, i32 } { i32 6755, i32 6756 }, { i32, i32 } { i32 6757, i32 6764 }, { i32, i32 } { i32 6765, i32 6770 }, { i32, i32 } { i32 6771, i32 6772 }, { i32, i32 } { i32 6823, i32 6823 }, { i32, i32 } { i32 6912, i32 6915 }, { i32, i32 } { i32 6916, i32 6916 }, { i32, i32 } { i32 6917, i32 6963 }, { i32, i32 } { i32 6965, i32 6965 }, { i32, i32 } { i32 6966, i32 6970 }, { i32, i32 } { i32 6971, i32 6971 }, { i32, i32 } { i32 6972, i32 6972 }, { i32, i32 } { i32 6973, i32 6977 }, { i32, i32 } { i32 6978, i32 6978 }, { i32, i32 } { i32 6979, i32 6979 }, { i32, i32 } { i32 6981, i32 6987 }, { i32, i32 } { i32 7040, i32 7041 }, { i32, i32 } { i32 7042, i32 7042 }, { i32, i32 } { i32 7043, i32 7072 }, { i32, i32 } { i32 7073, i32 7073 }, { i32, i32 } { i32 7074, i32 7077 }, { i32, i32 } { i32 7078, i32 7079 }, { i32, i32 } { i32 7080, i32 7081 }, { i32, i32 } { i32 7084, i32 7085 }, { i32, i32 } { i32 7086, i32 7087 }, { i32, i32 } { i32 7098, i32 7141 }, { i32, i32 } { i32 7143, i32 7143 }, { i32, i32 } { i32 7144, i32 7145 }, { i32, i32 } { i32 7146, i32 7148 }, { i32, i32 } { i32 7149, i32 7149 }, { i32, i32 } { i32 7150, i32 7150 }, { i32, i32 } { i32 7151, i32 7153 }, { i32, i32 } { i32 7168, i32 7203 }, { i32, i32 } { i32 7204, i32 7211 }, { i32, i32 } { i32 7212, i32 7219 }, { i32, i32 } { i32 7220, i32 7221 }, { i32, i32 } { i32 7245, i32 7247 }, { i32, i32 } { i32 7258, i32 7287 }, { i32, i32 } { i32 7288, i32 7293 }, { i32, i32 } { i32 7401, i32 7404 }, { i32, i32 } { i32 7406, i32 7409 }, { i32, i32 } { i32 7410, i32 7411 }, { i32, i32 } { i32 7413, i32 7414 }, { i32, i32 } { i32 7424, i32 7467 }, { i32, i32 } { i32 7468, i32 7530 }, { i32, i32 } { i32 7531, i32 7543 }, { i32, i32 } { i32 7544, i32 7544 }, { i32, i32 } { i32 7545, i32 7578 }, { i32, i32 } { i32 7579, i32 7615 }, { i32, i32 } { i32 7655, i32 7668 }, { i32, i32 } { i32 7680, i32 7957 }, { i32, i32 } { i32 7960, i32 7965 }, { i32, i32 } { i32 7968, i32 8005 }, { i32, i32 } { i32 8008, i32 8013 }, { i32, i32 } { i32 8016, i32 8023 }, { i32, i32 } { i32 8025, i32 8025 }, { i32, i32 } { i32 8027, i32 8027 }, { i32, i32 } { i32 8029, i32 8029 }, { i32, i32 } { i32 8031, i32 8061 }, { i32, i32 } { i32 8064, i32 8116 }, { i32, i32 } { i32 8118, i32 8124 }, { i32, i32 } { i32 8126, i32 8126 }, { i32, i32 } { i32 8130, i32 8132 }, { i32, i32 } { i32 8134, i32 8140 }, { i32, i32 } { i32 8144, i32 8147 }, { i32, i32 } { i32 8150, i32 8155 }, { i32, i32 } { i32 8160, i32 8172 }, { i32, i32 } { i32 8178, i32 8180 }, { i32, i32 } { i32 8182, i32 8188 }, { i32, i32 } { i32 8305, i32 8305 }, { i32, i32 } { i32 8319, i32 8319 }, { i32, i32 } { i32 8336, i32 8348 }, { i32, i32 } { i32 8450, i32 8450 }, { i32, i32 } { i32 8455, i32 8455 }, { i32, i32 } { i32 8458, i32 8467 }, { i32, i32 } { i32 8469, i32 8469 }, { i32, i32 } { i32 8473, i32 8477 }, { i32, i32 } { i32 8484, i32 8484 }, { i32, i32 } { i32 8486, i32 8486 }, { i32, i32 } { i32 8488, i32 8488 }, { i32, i32 } { i32 8490, i32 8493 }, { i32, i32 } { i32 8495, i32 8500 }, { i32, i32 } { i32 8501, i32 8504 }, { i32, i32 } { i32 8505, i32 8505 }, { i32, i32 } { i32 8508, i32 8511 }, { i32, i32 } { i32 8517, i32 8521 }, { i32, i32 } { i32 8526, i32 8526 }, { i32, i32 } { i32 8544, i32 8578 }, { i32, i32 } { i32 8579, i32 8580 }, { i32, i32 } { i32 8581, i32 8584 }, { i32, i32 } { i32 9398, i32 9449 }, { i32, i32 } { i32 11264, i32 11310 }, { i32, i32 } { i32 11312, i32 11358 }, { i32, i32 } { i32 11360, i32 11387 }, { i32, i32 } { i32 11388, i32 11389 }, { i32, i32 } { i32 11390, i32 11492 }, { i32, i32 } { i32 11499, i32 11502 }, { i32, i32 } { i32 11506, i32 11507 }, { i32, i32 } { i32 11520, i32 11557 }, { i32, i32 } { i32 11559, i32 11559 }, { i32, i32 } { i32 11565, i32 11565 }, { i32, i32 } { i32 11568, i32 11623 }, { i32, i32 } { i32 11631, i32 11631 }, { i32, i32 } { i32 11648, i32 11670 }, { i32, i32 } { i32 11680, i32 11686 }, { i32, i32 } { i32 11688, i32 11694 }, { i32, i32 } { i32 11696, i32 11702 }, { i32, i32 } { i32 11704, i32 11710 }, { i32, i32 } { i32 11712, i32 11718 }, { i32, i32 } { i32 11720, i32 11726 }, { i32, i32 } { i32 11728, i32 11734 }, { i32, i32 } { i32 11736, i32 11742 }, { i32, i32 } { i32 11744, i32 11775 }, { i32, i32 } { i32 11823, i32 11823 }, { i32, i32 } { i32 12293, i32 12293 }, { i32, i32 } { i32 12294, i32 12294 }, { i32, i32 } { i32 12295, i32 12295 }, { i32, i32 } { i32 12321, i32 12329 }, { i32, i32 } { i32 12337, i32 12341 }, { i32, i32 } { i32 12344, i32 12346 }, { i32, i32 } { i32 12347, i32 12347 }, { i32, i32 } { i32 12348, i32 12348 }, { i32, i32 } { i32 12353, i32 12438 }, { i32, i32 } { i32 12445, i32 12446 }, { i32, i32 } { i32 12447, i32 12447 }, { i32, i32 } { i32 12449, i32 12538 }, { i32, i32 } { i32 12540, i32 12542 }, { i32, i32 } { i32 12543, i32 12543 }, { i32, i32 } { i32 12549, i32 12589 }, { i32, i32 } { i32 12593, i32 12686 }, { i32, i32 } { i32 12704, i32 12730 }, { i32, i32 } { i32 12784, i32 12799 }, { i32, i32 } { i32 13312, i32 19893 }, { i32, i32 } { i32 19968, i32 40908 }, { i32, i32 } { i32 40960, i32 40980 }, { i32, i32 } { i32 40981, i32 40981 }, { i32, i32 } { i32 40982, i32 42124 }, { i32, i32 } { i32 42192, i32 42231 }, { i32, i32 } { i32 42232, i32 42237 }, { i32, i32 } { i32 42240, i32 42507 }, { i32, i32 } { i32 42508, i32 42508 }, { i32, i32 } { i32 42512, i32 42527 }, { i32, i32 } { i32 42538, i32 42539 }, { i32, i32 } { i32 42560, i32 42605 }, { i32, i32 } { i32 42606, i32 42606 }, { i32, i32 } { i32 42612, i32 42619 }, { i32, i32 } { i32 42623, i32 42623 }, { i32, i32 } { i32 42624, i32 42651 }, { i32, i32 } { i32 42652, i32 42653 }, { i32, i32 } { i32 42655, i32 42655 }, { i32, i32 } { i32 42656, i32 42725 }, { i32, i32 } { i32 42726, i32 42735 }, { i32, i32 } { i32 42775, i32 42783 }, { i32, i32 } { i32 42786, i32 42863 }, { i32, i32 } { i32 42864, i32 42864 }, { i32, i32 } { i32 42865, i32 42887 }, { i32, i32 } { i32 42888, i32 42888 }, { i32, i32 } { i32 42891, i32 42894 }, { i32, i32 } { i32 42896, i32 42925 }, { i32, i32 } { i32 42928, i32 42929 }, { i32, i32 } { i32 42999, i32 42999 }, { i32, i32 } { i32 43000, i32 43001 }, { i32, i32 } { i32 43002, i32 43002 }, { i32, i32 } { i32 43003, i32 43009 }, { i32, i32 } { i32 43011, i32 43013 }, { i32, i32 } { i32 43015, i32 43018 }, { i32, i32 } { i32 43020, i32 43042 }, { i32, i32 } { i32 43043, i32 43044 }, { i32, i32 } { i32 43045, i32 43046 }, { i32, i32 } { i32 43047, i32 43047 }, { i32, i32 } { i32 43072, i32 43123 }, { i32, i32 } { i32 43136, i32 43137 }, { i32, i32 } { i32 43138, i32 43187 }, { i32, i32 } { i32 43188, i32 43203 }, { i32, i32 } { i32 43250, i32 43255 }, { i32, i32 } { i32 43259, i32 43259 }, { i32, i32 } { i32 43274, i32 43301 }, { i32, i32 } { i32 43302, i32 43306 }, { i32, i32 } { i32 43312, i32 43334 }, { i32, i32 } { i32 43335, i32 43345 }, { i32, i32 } { i32 43346, i32 43346 }, { i32, i32 } { i32 43360, i32 43388 }, { i32, i32 } { i32 43392, i32 43394 }, { i32, i32 } { i32 43395, i32 43395 }, { i32, i32 } { i32 43396, i32 43442 }, { i32, i32 } { i32 43444, i32 43445 }, { i32, i32 } { i32 43446, i32 43449 }, { i32, i32 } { i32 43450, i32 43451 }, { i32, i32 } { i32 43452, i32 43452 }, { i32, i32 } { i32 43453, i32 43455 }, { i32, i32 } { i32 43471, i32 43471 }, { i32, i32 } { i32 43488, i32 43492 }, { i32, i32 } { i32 43494, i32 43494 }, { i32, i32 } { i32 43495, i32 43503 }, { i32, i32 } { i32 43514, i32 43518 }, { i32, i32 } { i32 43520, i32 43560 }, { i32, i32 } { i32 43561, i32 43566 }, { i32, i32 } { i32 43567, i32 43568 }, { i32, i32 } { i32 43569, i32 43570 }, { i32, i32 } { i32 43571, i32 43572 }, { i32, i32 } { i32 43573, i32 43574 }, { i32, i32 } { i32 43584, i32 43586 }, { i32, i32 } { i32 43587, i32 43587 }, { i32, i32 } { i32 43588, i32 43595 }, { i32, i32 } { i32 43596, i32 43596 }, { i32, i32 } { i32 43597, i32 43597 }, { i32, i32 } { i32 43616, i32 43631 }, { i32, i32 } { i32 43632, i32 43632 }, { i32, i32 } { i32 43633, i32 43638 }, { i32, i32 } { i32 43642, i32 43642 }, { i32, i32 } { i32 43646, i32 43695 }, { i32, i32 } { i32 43696, i32 43696 }, { i32, i32 } { i32 43697, i32 43697 }, { i32, i32 } { i32 43698, i32 43700 }, { i32, i32 } { i32 43701, i32 43702 }, { i32, i32 } { i32 43703, i32 43704 }, { i32, i32 } { i32 43705, i32 43709 }, { i32, i32 } { i32 43710, i32 43710 }, { i32, i32 } { i32 43712, i32 43712 }, { i32, i32 } { i32 43714, i32 43714 }, { i32, i32 } { i32 43739, i32 43740 }, { i32, i32 } { i32 43741, i32 43741 }, { i32, i32 } { i32 43744, i32 43754 }, { i32, i32 } { i32 43755, i32 43755 }, { i32, i32 } { i32 43756, i32 43757 }, { i32, i32 } { i32 43758, i32 43759 }, { i32, i32 } { i32 43762, i32 43762 }, { i32, i32 } { i32 43763, i32 43764 }, { i32, i32 } { i32 43765, i32 43765 }, { i32, i32 } { i32 43777, i32 43782 }, { i32, i32 } { i32 43785, i32 43790 }, { i32, i32 } { i32 43793, i32 43798 }, { i32, i32 } { i32 43808, i32 43814 }, { i32, i32 } { i32 43816, i32 43822 }, { i32, i32 } { i32 43824, i32 43866 }, { i32, i32 } { i32 43868, i32 43871 }, { i32, i32 } { i32 43876, i32 43877 }, { i32, i32 } { i32 43968, i32 44002 }, { i32, i32 } { i32 44003, i32 44004 }, { i32, i32 } { i32 44005, i32 44005 }, { i32, i32 } { i32 44006, i32 44007 }, { i32, i32 } { i32 44008, i32 44008 }, { i32, i32 } { i32 44009, i32 44010 }, { i32, i32 } { i32 44032, i32 55203 }, { i32, i32 } { i32 55216, i32 55238 }, { i32, i32 } { i32 55243, i32 55291 }, { i32, i32 } { i32 63744, i32 64109 }, { i32, i32 } { i32 64112, i32 64217 }, { i32, i32 } { i32 64256, i32 64262 }, { i32, i32 } { i32 64275, i32 64279 }, { i32, i32 } { i32 64285, i32 64285 }, { i32, i32 } { i32 64286, i32 64286 }, { i32, i32 } { i32 64287, i32 64296 }, { i32, i32 } { i32 64298, i32 64310 }, { i32, i32 } { i32 64312, i32 64316 }, { i32, i32 } { i32 64318, i32 64318 }, { i32, i32 } { i32 64320, i32 64321 }, { i32, i32 } { i32 64323, i32 64324 }, { i32, i32 } { i32 64326, i32 64433 }, { i32, i32 } { i32 64467, i32 64829 }, { i32, i32 } { i32 64848, i32 64911 }, { i32, i32 } { i32 64914, i32 64967 }, { i32, i32 } { i32 65008, i32 65019 }, { i32, i32 } { i32 65136, i32 65140 }, { i32, i32 } { i32 65142, i32 65276 }, { i32, i32 } { i32 65313, i32 65338 }, { i32, i32 } { i32 65345, i32 65370 }, { i32, i32 } { i32 65382, i32 65391 }, { i32, i32 } { i32 65392, i32 65392 }, { i32, i32 } { i32 65393, i32 65437 }, { i32, i32 } { i32 65438, i32 65439 }, { i32, i32 } { i32 65440, i32 65470 }, { i32, i32 } { i32 65474, i32 65479 }, { i32, i32 } { i32 65482, i32 65487 }, { i32, i32 } { i32 65490, i32 65495 }, { i32, i32 } { i32 65498, i32 65500 }, { i32, i32 } { i32 65536, i32 65547 }, { i32, i32 } { i32 65549, i32 65574 }, { i32, i32 } { i32 65576, i32 65594 }, { i32, i32 } { i32 65596, i32 65597 }, { i32, i32 } { i32 65599, i32 65613 }, { i32, i32 } { i32 65616, i32 65629 }, { i32, i32 } { i32 65664, i32 65786 }, { i32, i32 } { i32 65856, i32 65908 }, { i32, i32 } { i32 66176, i32 66204 }, { i32, i32 } { i32 66208, i32 66256 }, { i32, i32 } { i32 66304, i32 66335 }, { i32, i32 } { i32 66352, i32 66368 }, { i32, i32 } { i32 66369, i32 66369 }, { i32, i32 } { i32 66370, i32 66377 }, { i32, i32 } { i32 66378, i32 66378 }, { i32, i32 } { i32 66384, i32 66421 }, { i32, i32 } { i32 66422, i32 66426 }, { i32, i32 } { i32 66432, i32 66461 }, { i32, i32 } { i32 66464, i32 66499 }, { i32, i32 } { i32 66504, i32 66511 }, { i32, i32 } { i32 66513, i32 66517 }, { i32, i32 } { i32 66560, i32 66639 }, { i32, i32 } { i32 66640, i32 66717 }, { i32, i32 } { i32 66816, i32 66855 }, { i32, i32 } { i32 66864, i32 66915 }, { i32, i32 } { i32 67072, i32 67382 }, { i32, i32 } { i32 67392, i32 67413 }, { i32, i32 } { i32 67424, i32 67431 }, { i32, i32 } { i32 67584, i32 67589 }, { i32, i32 } { i32 67592, i32 67592 }, { i32, i32 } { i32 67594, i32 67637 }, { i32, i32 } { i32 67639, i32 67640 }, { i32, i32 } { i32 67644, i32 67644 }, { i32, i32 } { i32 67647, i32 67669 }, { i32, i32 } { i32 67680, i32 67702 }, { i32, i32 } { i32 67712, i32 67742 }, { i32, i32 } { i32 67840, i32 67861 }, { i32, i32 } { i32 67872, i32 67897 }, { i32, i32 } { i32 67968, i32 68023 }, { i32, i32 } { i32 68030, i32 68031 }, { i32, i32 } { i32 68096, i32 68096 }, { i32, i32 } { i32 68097, i32 68099 }, { i32, i32 } { i32 68101, i32 68102 }, { i32, i32 } { i32 68108, i32 68111 }, { i32, i32 } { i32 68112, i32 68115 }, { i32, i32 } { i32 68117, i32 68119 }, { i32, i32 } { i32 68121, i32 68147 }, { i32, i32 } { i32 68192, i32 68220 }, { i32, i32 } { i32 68224, i32 68252 }, { i32, i32 } { i32 68288, i32 68295 }, { i32, i32 } { i32 68297, i32 68324 }, { i32, i32 } { i32 68352, i32 68405 }, { i32, i32 } { i32 68416, i32 68437 }, { i32, i32 } { i32 68448, i32 68466 }, { i32, i32 } { i32 68480, i32 68497 }, { i32, i32 } { i32 68608, i32 68680 }, { i32, i32 } { i32 69632, i32 69632 }, { i32, i32 } { i32 69633, i32 69633 }, { i32, i32 } { i32 69634, i32 69634 }, { i32, i32 } { i32 69635, i32 69687 }, { i32, i32 } { i32 69688, i32 69701 }, { i32, i32 } { i32 69762, i32 69762 }, { i32, i32 } { i32 69763, i32 69807 }, { i32, i32 } { i32 69808, i32 69810 }, { i32, i32 } { i32 69811, i32 69814 }, { i32, i32 } { i32 69815, i32 69816 }, { i32, i32 } { i32 69840, i32 69864 }, { i32, i32 } { i32 69888, i32 69890 }, { i32, i32 } { i32 69891, i32 69926 }, { i32, i32 } { i32 69927, i32 69931 }, { i32, i32 } { i32 69932, i32 69932 }, { i32, i32 } { i32 69933, i32 69938 }, { i32, i32 } { i32 69968, i32 70002 }, { i32, i32 } { i32 70006, i32 70006 }, { i32, i32 } { i32 70016, i32 70017 }, { i32, i32 } { i32 70018, i32 70018 }, { i32, i32 } { i32 70019, i32 70066 }, { i32, i32 } { i32 70067, i32 70069 }, { i32, i32 } { i32 70070, i32 70078 }, { i32, i32 } { i32 70079, i32 70079 }, { i32, i32 } { i32 70081, i32 70084 }, { i32, i32 } { i32 70106, i32 70106 }, { i32, i32 } { i32 70144, i32 70161 }, { i32, i32 } { i32 70163, i32 70187 }, { i32, i32 } { i32 70188, i32 70190 }, { i32, i32 } { i32 70191, i32 70193 }, { i32, i32 } { i32 70194, i32 70195 }, { i32, i32 } { i32 70196, i32 70196 }, { i32, i32 } { i32 70199, i32 70199 }, { i32, i32 } { i32 70320, i32 70366 }, { i32, i32 } { i32 70367, i32 70367 }, { i32, i32 } { i32 70368, i32 70370 }, { i32, i32 } { i32 70371, i32 70376 }, { i32, i32 } { i32 70401, i32 70401 }, { i32, i32 } { i32 70402, i32 70403 }, { i32, i32 } { i32 70405, i32 70412 }, { i32, i32 } { i32 70415, i32 70416 }, { i32, i32 } { i32 70419, i32 70440 }, { i32, i32 } { i32 70442, i32 70448 }, { i32, i32 } { i32 70450, i32 70451 }, { i32, i32 } { i32 70453, i32 70457 }, { i32, i32 } { i32 70461, i32 70461 }, { i32, i32 } { i32 70462, i32 70463 }, { i32, i32 } { i32 70464, i32 70464 }, { i32, i32 } { i32 70465, i32 70468 }, { i32, i32 } { i32 70471, i32 70472 }, { i32, i32 } { i32 70475, i32 70476 }, { i32, i32 } { i32 70487, i32 70487 }, { i32, i32 } { i32 70493, i32 70497 }, { i32, i32 } { i32 70498, i32 70499 }, { i32, i32 } { i32 70784, i32 70831 }, { i32, i32 } { i32 70832, i32 70834 }, { i32, i32 } { i32 70835, i32 70840 }, { i32, i32 } { i32 70841, i32 70841 }, { i32, i32 } { i32 70842, i32 70842 }, { i32, i32 } { i32 70843, i32 70846 }, { i32, i32 } { i32 70847, i32 70848 }, { i32, i32 } { i32 70849, i32 70849 }, { i32, i32 } { i32 70852, i32 70853 }, { i32, i32 } { i32 70855, i32 70855 }, { i32, i32 } { i32 71040, i32 71086 }, { i32, i32 } { i32 71087, i32 71089 }, { i32, i32 } { i32 71090, i32 71093 }, { i32, i32 } { i32 71096, i32 71099 }, { i32, i32 } { i32 71100, i32 71101 }, { i32, i32 } { i32 71102, i32 71102 }, { i32, i32 } { i32 71168, i32 71215 }, { i32, i32 } { i32 71216, i32 71218 }, { i32, i32 } { i32 71219, i32 71226 }, { i32, i32 } { i32 71227, i32 71228 }, { i32, i32 } { i32 71229, i32 71229 }, { i32, i32 } { i32 71230, i32 71230 }, { i32, i32 } { i32 71232, i32 71232 }, { i32, i32 } { i32 71236, i32 71236 }, { i32, i32 } { i32 71296, i32 71338 }, { i32, i32 } { i32 71339, i32 71339 }, { i32, i32 } { i32 71340, i32 71340 }, { i32, i32 } { i32 71341, i32 71341 }, { i32, i32 } { i32 71342, i32 71343 }, { i32, i32 } { i32 71344, i32 71349 }, { i32, i32 } { i32 71840, i32 71903 }, { i32, i32 } { i32 71935, i32 71935 }, { i32, i32 } { i32 72384, i32 72440 }, { i32, i32 } { i32 73728, i32 74648 }, { i32, i32 } { i32 74752, i32 74862 }, { i32, i32 } { i32 77824, i32 78894 }, { i32, i32 } { i32 92160, i32 92728 }, { i32, i32 } { i32 92736, i32 92766 }, { i32, i32 } { i32 92880, i32 92909 }, { i32, i32 } { i32 92928, i32 92975 }, { i32, i32 } { i32 92976, i32 92982 }, { i32, i32 } { i32 92992, i32 92995 }, { i32, i32 } { i32 93027, i32 93047 }, { i32, i32 } { i32 93053, i32 93071 }, { i32, i32 } { i32 93952, i32 94020 }, { i32, i32 } { i32 94032, i32 94032 }, { i32, i32 } { i32 94033, i32 94078 }, { i32, i32 } { i32 94099, i32 94111 }, { i32, i32 } { i32 110592, i32 110593 }, { i32, i32 } { i32 113664, i32 113770 }, { i32, i32 } { i32 113776, i32 113788 }, { i32, i32 } { i32 113792, i32 113800 }, { i32, i32 } { i32 113808, i32 113817 }, { i32, i32 } { i32 113822, i32 113822 }, { i32, i32 } { i32 119808, i32 119892 }, { i32, i32 } { i32 119894, i32 119964 }, { i32, i32 } { i32 119966, i32 119967 }, { i32, i32 } { i32 119970, i32 119970 }, { i32, i32 } { i32 119973, i32 119974 }, { i32, i32 } { i32 119977, i32 119980 }, { i32, i32 } { i32 119982, i32 119993 }, { i32, i32 } { i32 119995, i32 119995 }, { i32, i32 } { i32 119997, i32 120003 }, { i32, i32 } { i32 120005, i32 120069 }, { i32, i32 } { i32 120071, i32 120074 }, { i32, i32 } { i32 120077, i32 120084 }, { i32, i32 } { i32 120086, i32 120092 }, { i32, i32 } { i32 120094, i32 120121 }, { i32, i32 } { i32 120123, i32 120126 }, { i32, i32 } { i32 120128, i32 120132 }, { i32, i32 } { i32 120134, i32 120134 }, { i32, i32 } { i32 120138, i32 120144 }, { i32, i32 } { i32 120146, i32 120485 }, { i32, i32 } { i32 120488, i32 120512 }, { i32, i32 } { i32 120514, i32 120538 }, { i32, i32 } { i32 120540, i32 120570 }, { i32, i32 } { i32 120572, i32 120596 }, { i32, i32 } { i32 120598, i32 120628 }, { i32, i32 } { i32 120630, i32 120654 }, { i32, i32 } { i32 120656, i32 120686 }, { i32, i32 } { i32 120688, i32 120712 }, { i32, i32 } { i32 120714, i32 120744 }, { i32, i32 } { i32 120746, i32 120770 }, { i32, i32 } { i32 120772, i32 120779 }, { i32, i32 } { i32 124928, i32 125124 }, { i32, i32 } { i32 126464, i32 126467 }, { i32, i32 } { i32 126469, i32 126495 }, { i32, i32 } { i32 126497, i32 126498 }, { i32, i32 } { i32 126500, i32 126500 }, { i32, i32 } { i32 126503, i32 126503 }, { i32, i32 } { i32 126505, i32 126514 }, { i32, i32 } { i32 126516, i32 126519 }, { i32, i32 } { i32 126521, i32 126521 }, { i32, i32 } { i32 126523, i32 126523 }, { i32, i32 } { i32 126530, i32 126530 }, { i32, i32 } { i32 126535, i32 126535 }, { i32, i32 } { i32 126537, i32 126537 }, { i32, i32 } { i32 126539, i32 126539 }, { i32, i32 } { i32 126541, i32 126543 }, { i32, i32 } { i32 126545, i32 126546 }, { i32, i32 } { i32 126548, i32 126548 }, { i32, i32 } { i32 126551, i32 126551 }, { i32, i32 } { i32 126553, i32 126553 }, { i32, i32 } { i32 126555, i32 126555 }, { i32, i32 } { i32 126557, i32 126557 }, { i32, i32 } { i32 126559, i32 126559 }, { i32, i32 } { i32 126561, i32 126562 }, { i32, i32 } { i32 126564, i32 126564 }, { i32, i32 } { i32 126567, i32 126570 }, { i32, i32 } { i32 126572, i32 126578 }, { i32, i32 } { i32 126580, i32 126583 }, { i32, i32 } { i32 126585, i32 126588 }, { i32, i32 } { i32 126590, i32 126590 }, { i32, i32 } { i32 126592, i32 126601 }, { i32, i32 } { i32 126603, i32 126619 }, { i32, i32 } { i32 126625, i32 126627 }, { i32, i32 } { i32 126629, i32 126633 }, { i32, i32 } { i32 126635, i32 126651 }, { i32, i32 } { i32 127280, i32 127305 }, { i32, i32 } { i32 127312, i32 127337 }, { i32, i32 } { i32 127344, i32 127369 }, { i32, i32 } { i32 131072, i32 173782 }, { i32, i32 } { i32 173824, i32 177972 }, { i32, i32 } { i32 177984, i32 178205 }, { i32, i32 } { i32 194560, i32 195101 }]
@str21564 = internal constant [40 x i8] c"to_digit: radix is too high (maximum 36)"
@str21565 = internal constant [46 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibcore\5Cchar.rs"
@_ZN4char8to_digit14_MSG_FILE_LINE20h88bf3a07bb7eb41daOjE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([40 x i8]* @str21564, i32 0, i32 0), i64 40 }, %str_slice { i8* getelementptr inbounds ([46 x i8]* @str21565, i32 0, i32 0), i64 46 }, i64 123 }
@str21567 = internal constant [0 x i8] zeroinitializer
@_ZN9panicking5panic15__STATIC_FMTSTR20hb10265f657406cf2J4jE = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str21567, i32 0, i32 0), i64 0 }]
@str21570 = internal constant [32 x i8] c"index out of bounds: the len is "
@str21571 = internal constant [18 x i8] c" but the index is "
@_ZN9panicking18panic_bounds_check15__STATIC_FMTSTR20hea2825b2fadbf29955jE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([32 x i8]* @str21570, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([18 x i8]* @str21571, i32 0, i32 0), i64 18 }]
@str21581 = internal constant [2 x i8] c", "
@str21585 = internal constant [48 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibcore\5Coption.rs"
@"_ZN6option15Option$LT$T$GT$6expect8_run_fmt10_FILE_LINE20hce989b18623e43c1rvmE" = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([48 x i8]* @str21585, i32 0, i32 0), i64 48 }, i64 315 }
@"_ZN6option15Option$LT$T$GT$6expect15__STATIC_FMTSTR20hb10265f657406cf2QvmE" = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str21567, i32 0, i32 0), i64 0 }]
@str21586 = internal constant [43 x i8] c"called `Option::unwrap()` on a `None` value"
@"_ZN6option15Option$LT$T$GT$6unwrap14_MSG_FILE_LINE20h88bf3a07bb7eb41dEwmE" = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([43 x i8]* @str21586, i32 0, i32 0), i64 43 }, %str_slice { i8* getelementptr inbounds ([48 x i8]* @str21585, i32 0, i32 0), i64 48 }, i64 347 }
@str21589 = internal constant [48 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibcore\5Cresult.rs"
@"_ZN6result23Result$LT$T$C$$x20E$GT$6unwrap8_run_fmt10_FILE_LINE20hce989b18623e43c1s9mE" = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([48 x i8]* @str21589, i32 0, i32 0), i64 48 }, i64 788 }
@str21590 = internal constant [45 x i8] c"called `Result::unwrap()` on an `Err` value: "
@"_ZN6result23Result$LT$T$C$$x20E$GT$6unwrap15__STATIC_FMTSTR20hb10265f657406cf2R9mE" = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([45 x i8]* @str21590, i32 0, i32 0), i64 45 }]
@str21603 = internal constant [47 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibcore\5Cslice.rs"
@str21604 = internal constant [35 x i8] c"assertion failed: end <= self.len()"
@"_ZN5slice34_$x5bT$x5d.ImmutableSlice$LT$T$GT$5slice14_MSG_FILE_LINE20h88bf3a07bb7eb41dANnE" = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([35 x i8]* @str21604, i32 0, i32 0), i64 35 }, %str_slice { i8* getelementptr inbounds ([47 x i8]* @str21603, i32 0, i32 0), i64 47 }, i64 266 }
@str21606 = internal constant [32 x i8] c"assertion failed: *start <= *end"
@"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail14_MSG_FILE_LINE20h88bf3a07bb7eb41dSYnE" = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([32 x i8]* @str21606, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([47 x i8]* @str21603, i32 0, i32 0), i64 47 }, i64 421 }
@str21607 = internal constant [36 x i8] c"assertion failed: *end <= self.len()"
@"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail14_MSG_FILE_LINE20h88bf3a07bb7eb41doZnE" = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([36 x i8]* @str21607, i32 0, i32 0), i64 36 }, %str_slice { i8* getelementptr inbounds ([47 x i8]* @str21603, i32 0, i32 0), i64 47 }, i64 422 }
@"_ZN5slice52_$x5bT$x5d.ops..SliceMut$LT$uint$C$$x20$x5bT$x5d$GT$17slice_or_fail_mut14_MSG_FILE_LINE20h88bf3a07bb7eb41dQ1nE" = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([32 x i8]* @str21606, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([47 x i8]* @str21603, i32 0, i32 0), i64 47 }, i64 450 }
@"_ZN5slice52_$x5bT$x5d.ops..SliceMut$LT$uint$C$$x20$x5bT$x5d$GT$17slice_or_fail_mut14_MSG_FILE_LINE20h88bf3a07bb7eb41dm2nE" = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([36 x i8]* @str21607, i32 0, i32 0), i64 36 }, %str_slice { i8* getelementptr inbounds ([47 x i8]* @str21603, i32 0, i32 0), i64 47 }, i64 451 }
@str21616 = internal constant [45 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibcore\5Cstr.rs"
@_ZN3str15UTF8_CHAR_WIDTH20hced655db793707851rqE = internal unnamed_addr constant [256 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\04\04\04\04\04\00\00\00\00\00\00\00\00\00\00\00"
@str21628 = internal constant [30 x i8] c"assertion failed: begin <= end"
@_ZN3str3raw11slice_bytes14_MSG_FILE_LINE20h88bf3a07bb7eb41dhzqE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([30 x i8]* @str21628, i32 0, i32 0), i64 30 }, %str_slice { i8* getelementptr inbounds ([45 x i8]* @str21616, i32 0, i32 0), i64 45 }, i64 1095 }
@str21629 = internal constant [32 x i8] c"assertion failed: end <= s.len()"
@_ZN3str3raw11slice_bytes14_MSG_FILE_LINE20h88bf3a07bb7eb41dMzqE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([32 x i8]* @str21629, i32 0, i32 0), i64 32 }, %str_slice { i8* getelementptr inbounds ([45 x i8]* @str21616, i32 0, i32 0), i64 45 }, i64 1096 }
@_ZN3str16slice_error_fail14_MSG_FILE_LINE20h88bf3a07bb7eb41dBOqE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([30 x i8]* @str21628, i32 0, i32 0), i64 30 }, %str_slice { i8* getelementptr inbounds ([45 x i8]* @str21616, i32 0, i32 0), i64 45 }, i64 1845 }
@str21630 = internal constant [6 x i8] c"index "
@str21631 = internal constant [8 x i8] c" and/or "
@str21632 = internal constant [5 x i8] c" in `"
@str21633 = internal constant [34 x i8] c"` do not lie on character boundary"
@_ZN3str16slice_error_fail15__STATIC_FMTSTR20h145cb7e6be1bf0a5EPqE = internal constant [4 x %str_slice] [%str_slice { i8* getelementptr inbounds ([6 x i8]* @str21630, i32 0, i32 0), i64 6 }, %str_slice { i8* getelementptr inbounds ([8 x i8]* @str21631, i32 0, i32 0), i64 8 }, %str_slice { i8* getelementptr inbounds ([5 x i8]* @str21632, i32 0, i32 0), i64 5 }, %str_slice { i8* getelementptr inbounds ([34 x i8]* @str21633, i32 0, i32 0), i64 34 }]
@_ZN3str16slice_error_fail8_run_fmt10_FILE_LINE20hce989b18623e43c19OqE = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([45 x i8]* @str21616, i32 0, i32 0), i64 45 }, i64 1846 }
@str21643 = internal constant [44 x i8] c"slice_chars: `begin` is beyond end of string"
@_ZN3str12str.StrSlice11slice_chars14_MSG_FILE_LINE20h88bf3a07bb7eb41dDZqE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([44 x i8]* @str21643, i32 0, i32 0), i64 44 }, %str_slice { i8* getelementptr inbounds ([45 x i8]* @str21616, i32 0, i32 0), i64 45 }, i64 2000 }
@str21644 = internal constant [42 x i8] c"slice_chars: `end` is beyond end of string"
@_ZN3str12str.StrSlice11slice_chars14_MSG_FILE_LINE20h88bf3a07bb7eb41d3ZqE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([42 x i8]* @str21644, i32 0, i32 0), i64 42 }, %str_slice { i8* getelementptr inbounds ([45 x i8]* @str21616, i32 0, i32 0), i64 45 }, i64 2001 }
@const945876 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([45 x i8]* @str21616, i32 0, i32 0), i64 45 }, i64 2069 }
@str21645 = internal constant [26 x i8] c"assertion failed: (w != 0)"
@_ZN3str12str.StrSlice13char_range_at23multibyte_char_range_at14_MSG_FILE_LINE20h88bf3a07bb7eb41dp6qE = internal constant { %str_slice, %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([26 x i8]* @str21645, i32 0, i32 0), i64 26 }, %str_slice { i8* getelementptr inbounds ([45 x i8]* @str21616, i32 0, i32 0), i64 45 }, i64 2071 }
@const965877 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([45 x i8]* @str21616, i32 0, i32 0), i64 45 }, i64 2074 }
@const975878 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([45 x i8]* @str21616, i32 0, i32 0), i64 45 }, i64 2075 }
@const985879 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([45 x i8]* @str21616, i32 0, i32 0), i64 45 }, i64 2076 }
@str21651 = internal constant [27 x i8] c"number not in the range 0.."
@str21652 = internal constant [2 x i8] c": "
@str21653 = internal constant [49 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibcore\5Cfmt\5Cnum.rs"
@_ZN3fmt3num20Decimal.GenericRadix5digit15__STATIC_FMTSTR20hea2825b2fadbf299mtxE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([27 x i8]* @str21651, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([2 x i8]* @str21652, i32 0, i32 0), i64 2 }]
@_ZN3fmt3num20Decimal.GenericRadix5digit8_run_fmt10_FILE_LINE20hce989b18623e43c1RsxE = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([49 x i8]* @str21653, i32 0, i32 0), i64 49 }, i64 103 }
@str21655 = internal constant [2 x i8] c"0x"
@_ZN3fmt3num21LowerHex.GenericRadix5digit15__STATIC_FMTSTR20hea2825b2fadbf299BvxE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([27 x i8]* @str21651, i32 0, i32 0), i64 27 }, %str_slice { i8* getelementptr inbounds ([2 x i8]* @str21652, i32 0, i32 0), i64 2 }]
@_ZN3fmt3num21LowerHex.GenericRadix5digit8_run_fmt10_FILE_LINE20hce989b18623e43c16uxE = internal constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([49 x i8]* @str21653, i32 0, i32 0), i64 49 }, i64 104 }
@_ZN3fmt16DEFAULT_ARGUMENT20h15d62a7a678b05694ByE = internal constant { { i8, [15 x i8] }, { i32, i8, i64, { i8, [15 x i8] }, { i8, [15 x i8] } } } { { i8, [15 x i8] } { i8 0, [15 x i8] undef }, { i32, i8, i64, { i8, [15 x i8] }, { i8, [15 x i8] } } { i32 32, i8 3, i64 0, { i8, [15 x i8] } { i8 3, [15 x i8] undef }, { i8, [15 x i8] } { i8 3, [15 x i8] undef } } }
@str21663 = internal constant [49 x i8] c"C:\5Cmsys64\5Chome\5Caturon\5Crust\5Csrc\5Clibcore\5Cfmt\5Cmod.rs"
@const1075886 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([49 x i8]* @str21663, i32 0, i32 0), i64 49 }, i64 362 }
@const1085887 = private constant { %str_slice, i64 } { %str_slice { i8* getelementptr inbounds ([49 x i8]* @str21663, i32 0, i32 0), i64 49 }, i64 374 }
@str21708 = internal constant [1 x i8] c"["
@"_ZN3fmt15_$x5bT$x5d.Show3fmt15__STATIC_FMTSTR20hb10265f657406cf2p4BE" = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8]* @str21708, i32 0, i32 0), i64 1 }]
@"_ZN3fmt15_$x5bT$x5d.Show3fmt15__STATIC_FMTSTR20hb10265f657406cf2w5BE" = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([2 x i8]* @str21581, i32 0, i32 0), i64 2 }]
@"_ZN3fmt15_$x5bT$x5d.Show3fmt15__STATIC_FMTSTR20hb10265f657406cf2l6BE" = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str21567, i32 0, i32 0), i64 0 }]
@str21709 = internal constant [1 x i8] c"]"
@"_ZN3fmt15_$x5bT$x5d.Show3fmt15__STATIC_FMTSTR20hb10265f657406cf2r7BE" = internal constant [1 x %str_slice] [%str_slice { i8* getelementptr inbounds ([1 x i8]* @str21709, i32 0, i32 0), i64 1 }]
; Function Attrs: uwtable
define internal void @_ZN4main20hcabd963f65d0eea8gaaE() unnamed_addr #0 {
match_case.i142.i.i.i:
%0 = alloca %str_slice, align 8
%1 = alloca %str_slice, align 8
%.sroa.23.i.i.i = alloca [15 x i8], align 1
%err.sroa.6.i.i = alloca [15 x i8], align 1
%2 = alloca %"enum.core::option::Option<[collections::string::String]>[#3]", align 8
%next.i.sroa.5.i = alloca [55 x i8], align 1
%arg.i176.sroa.5.i = alloca [55 x i8], align 1
%loop_option.i131.sroa.3.i = alloca [19 x i8], align 1
%arg.i132.i = alloca %"enum.io::net::ip::IpAddr<[]>", align 8
%3 = alloca { i8*, i64 }, align 8
%c_host.i.i.i = alloca %"enum.core::option::Option<[rustrt::c_str::CString]>[#2]", align 8
%res.i.i.i = alloca %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"*, align 8
%.sroa.28 = alloca [31 x i8], align 1
%.sroa.8.i.i.i = alloca [5 x i8], align 1
%4 = alloca %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]", align 8
%5 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%6 = alloca %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]", align 8
%7 = alloca %str_slice, align 8
%8 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]"* %6, i64 0, i32 0
call void @llvm.lifetime.start(i64 72, i8* %8)
%9 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 0
call void @llvm.lifetime.start(i64 72, i8* %9), !noalias !0
%10 = getelementptr inbounds %"enum.core::option::Option<[rustrt::c_str::CString]>[#2]"* %c_host.i.i.i, i64 0, i32 0
call void @llvm.lifetime.start(i64 24, i8* %10), !noalias !4
%11 = getelementptr inbounds %"enum.core::option::Option<[rustrt::c_str::CString]>[#2]"* %c_host.i.i.i, i64 0, i32 2
%12 = bitcast [2 x i64]* %11 to %"struct.rustrt::c_str::CString<[]>[#8]"*
%13 = bitcast { i8*, i64 }* %3 to i8*
call void @llvm.lifetime.start(i64 16, i8* %13), !noalias !15
%arg.i455.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds { i8*, i64 }* %3, i64 0, i32 0
store i8* getelementptr inbounds ([9 x i8]* @str1660, i64 0, i64 0), i8** %arg.i455.sroa.0.0..sroa_idx.i.i.i, align 8, !noalias !4
%arg.i455.sroa.5.0..sroa_idx543.i.i.i = getelementptr inbounds { i8*, i64 }* %3, i64 0, i32 1
store i64 9, i64* %arg.i455.sroa.5.0..sroa_idx543.i.i.i, align 8, !noalias !4
call fastcc void @"_ZN5c_str18_$x5bu8$x5d.ToCStr8to_c_str20h71b6d184520ba5ccn6aE"(%"struct.rustrt::c_str::CString<[]>[#8]"* noalias nocapture sret dereferenceable(16) %12, { i8*, i64 }* noalias nocapture dereferenceable(16) %3), !noalias !19
call void @llvm.lifetime.end(i64 16, i8* %13), !noalias !15
store i8 1, i8* %10, align 8, !alias.scope !20, !noalias !23
%14 = bitcast [2 x i64]* %11 to i8**
%15 = load i8** %14, align 8, !alias.scope !26, !noalias !0
%16 = bitcast %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"** %res.i.i.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %16), !noalias !4
store %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* null, %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"** %res.i.i.i, align 8, !noalias !4
%17 = call i32 @getaddrinfo(i8* %15, i8* null, %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* null, %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"** %res.i.i.i), !noalias !4
%18 = icmp eq i32 %17, 0
br i1 %18, label %normal-return37.i.i.i, label %then-block-71458-.i.i.i
clean_custom_.i.i.i: ; preds = %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit251.i.i.i", %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit247.i.i.i"
%.sroa.0.0.i.i.i = phi i8* [ %.fca.0.extract115.i.i.i, %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit251.i.i.i" ], [ %.fca.0.extract111.i.i.i, %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit247.i.i.i" ]
%.sroa.11.0.i.i.i = phi i32 [ %.fca.1.extract117.i.i.i, %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit251.i.i.i" ], [ %.fca.1.extract113.i.i.i, %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit247.i.i.i" ]
%.fca.0.insert.i.i.i = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0.i.i.i, 0
%.fca.1.insert.i.i.i = insertvalue { i8*, i32 } %.fca.0.insert.i.i.i, i32 %.sroa.11.0.i.i.i, 1
resume { i8*, i32 } %.fca.1.insert.i.i.i
then-block-71458-.i.i.i: ; preds = %match_case.i142.i.i.i
%19 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2
%20 = bitcast [8 x i64]* %19 to %"struct.std::io::IoError<[]>[#1]"*
%21 = invoke i32 @WSAGetLastError()
to label %.noexc3.i unwind label %enum-iter-variant-1.i245.i.i.i, !noalias !0
.noexc3.i: ; preds = %then-block-71458-.i.i.i
%err.sroa.6.0..sroa_idx47.i.i = getelementptr inbounds [15 x i8]* %err.sroa.6.i.i, i64 0, i64 0
call void @llvm.lifetime.start(i64 15, i8* %err.sroa.6.0..sroa_idx47.i.i)
%.sroa.23.0..sroa_idx57.i.i.i = getelementptr inbounds [15 x i8]* %.sroa.23.i.i.i, i64 0, i64 0
call void @llvm.lifetime.start(i64 15, i8* %.sroa.23.0..sroa_idx57.i.i.i)
switch i32 %21, label %match_else.i.i.i [
i32 -1, label %match_case.i.i.i
i32 232, label %match_case20.i.i.i
i32 2, label %match_case21.i.i.i
i32 123, label %match_case22.i.i.i
i32 10061, label %match_case23.i.i.i
i32 10054, label %match_case24.i.i.i
i32 5, label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
i32 10013, label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
i32 10035, label %match_case27.i.i.i
i32 10057, label %match_case28.i.i.i
i32 10053, label %match_case29.i.i.i
i32 10049, label %match_case30.i.i.i
i32 10048, label %match_case31.i.i.i
i32 109, label %match_case32.i.i.i
i32 995, label %match_case33.i.i.i
i32 10022, label %match_case34.i.i.i
i32 120, label %match_case35.i.i.i
i32 6, label %match_case36.i.i.i
i32 758, label %match_case37.i.i.i
i32 1, label %match_case38.i.i.i
]
match_else.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case20.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case21.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case22.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case23.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case24.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case27.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case28.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case29.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case30.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case31.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case32.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case33.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case34.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case35.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case36.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case37.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
match_case38.i.i.i: ; preds = %.noexc3.i
br label %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i: ; preds = %match_case38.i.i.i, %match_case37.i.i.i, %match_case36.i.i.i, %match_case35.i.i.i, %match_case34.i.i.i, %match_case33.i.i.i, %match_case32.i.i.i, %match_case31.i.i.i, %match_case30.i.i.i, %match_case29.i.i.i, %match_case28.i.i.i, %match_case27.i.i.i, %match_case24.i.i.i, %match_case23.i.i.i, %match_case22.i.i.i, %match_case21.i.i.i, %match_case20.i.i.i, %match_case.i.i.i, %match_else.i.i.i, %.noexc3.i, %.noexc3.i
%.sroa.44.0.i.i.i = phi i64 [ 13, %match_else.i.i.i ], [ 32, %match_case38.i.i.i ], [ 18, %match_case37.i.i.i ], [ 35, %match_case36.i.i.i ], [ 24, %match_case35.i.i.i ], [ 16, %match_case34.i.i.i ], [ 19, %match_case33.i.i.i ], [ 18, %match_case32.i.i.i ], [ 14, %match_case31.i.i.i ], [ 21, %match_case30.i.i.i ], [ 18, %match_case29.i.i.i ], [ 13, %match_case28.i.i.i ], [ 32, %match_case27.i.i.i ], [ 16, %match_case24.i.i.i ], [ 18, %match_case23.i.i.i ], [ 17, %match_case22.i.i.i ], [ 14, %match_case21.i.i.i ], [ 24, %match_case20.i.i.i ], [ 11, %match_case.i.i.i ], [ 17, %.noexc3.i ], [ 17, %.noexc3.i ]
%.sroa.2344.0.i.i.i = phi i8* [ getelementptr inbounds ([13 x i8]* @str30616, i64 0, i64 0), %match_else.i.i.i ], [ getelementptr inbounds ([32 x i8]* @str31352, i64 0, i64 0), %match_case38.i.i.i ], [ getelementptr inbounds ([18 x i8]* @str31022, i64 0, i64 0), %match_case37.i.i.i ], [ getelementptr inbounds ([35 x i8]* @str31344, i64 0, i64 0), %match_case36.i.i.i ], [ getelementptr inbounds ([24 x i8]* @str31351, i64 0, i64 0), %match_case35.i.i.i ], [ getelementptr inbounds ([16 x i8]* @str31350, i64 0, i64 0), %match_case34.i.i.i ], [ getelementptr inbounds ([19 x i8]* @str30659, i64 0, i64 0), %match_case33.i.i.i ], [ getelementptr inbounds ([18 x i8]* @str30973, i64 0, i64 0), %match_case32.i.i.i ], [ getelementptr inbounds ([14 x i8]* @str31349, i64 0, i64 0), %match_case31.i.i.i ], [ getelementptr inbounds ([21 x i8]* @str31348, i64 0, i64 0), %match_case30.i.i.i ], [ getelementptr inbounds ([18 x i8]* @str30652, i64 0, i64 0), %match_case29.i.i.i ], [ getelementptr inbounds ([13 x i8]* @str30653, i64 0, i64 0), %match_case28.i.i.i ], [ getelementptr inbounds ([32 x i8]* @str31347, i64 0, i64 0), %match_case27.i.i.i ], [ getelementptr inbounds ([16 x i8]* @str30651, i64 0, i64 0), %match_case24.i.i.i ], [ getelementptr inbounds ([18 x i8]* @str30650, i64 0, i64 0), %match_case23.i.i.i ], [ getelementptr inbounds ([17 x i8]* @str31346, i64 0, i64 0), %match_case22.i.i.i ], [ getelementptr inbounds ([14 x i8]* @str30646, i64 0, i64 0), %match_case21.i.i.i ], [ getelementptr inbounds ([24 x i8]* @str31345, i64 0, i64 0), %match_case20.i.i.i ], [ getelementptr inbounds ([11 x i8]* @str30642, i64 0, i64 0), %match_case.i.i.i ], [ getelementptr inbounds ([17 x i8]* @str30647, i64 0, i64 0), %.noexc3.i ], [ getelementptr inbounds ([17 x i8]* @str30647, i64 0, i64 0), %.noexc3.i ]
%.sroa.0.0.i.i2.i = phi i8 [ 0, %match_else.i.i.i ], [ 16, %match_case38.i.i.i ], [ 16, %match_case37.i.i.i ], [ 13, %match_case36.i.i.i ], [ 15, %match_case35.i.i.i ], [ 16, %match_case34.i.i.i ], [ 17, %match_case33.i.i.i ], [ 1, %match_case32.i.i.i ], [ 6, %match_case31.i.i.i ], [ 6, %match_case30.i.i.i ], [ 8, %match_case29.i.i.i ], [ 9, %match_case28.i.i.i ], [ 14, %match_case27.i.i.i ], [ 7, %match_case24.i.i.i ], [ 6, %match_case23.i.i.i ], [ 16, %match_case22.i.i.i ], [ 2, %match_case21.i.i.i ], [ 10, %match_case20.i.i.i ], [ 1, %match_case.i.i.i ], [ 3, %.noexc3.i ], [ 3, %.noexc3.i ]
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %err.sroa.6.0..sroa_idx47.i.i, i8* %.sroa.23.0..sroa_idx57.i.i.i, i64 15, i32 1, i1 false) #1, !noalias !29
call void @llvm.lifetime.end(i64 15, i8* %.sroa.23.0..sroa_idx57.i.i.i)
%22 = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %2, i64 0, i32 0
call void @llvm.lifetime.start(i64 32, i8* %22), !noalias !34
%23 = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %2, i64 0, i32 2
%24 = bitcast [3 x i64]* %23 to %"struct.collections::string::String<[]>[#5]"*
invoke fastcc void @_ZN3sys2os12error_string20ha63922e33727c6f2hqqE(%"struct.collections::string::String<[]>[#5]"* noalias nocapture sret dereferenceable(24) %24, i32 %21)
to label %_ZN3sys14last_net_error20he59ebf7cfa5028f2qisE.exit.i unwind label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit.i.i, !noalias !34
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit.i.i: ; preds = %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
%25 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
call void @llvm.lifetime.end(i64 15, i8* %err.sroa.6.0..sroa_idx47.i.i)
br label %enum-iter-variant-1.i245.i.i.body.i
_ZN3sys14last_net_error20he59ebf7cfa5028f2qisE.exit.i: ; preds = %_ZN3sys12decode_error20hd7d015bc265c0b078isE.exit.i.i
store i8 1, i8* %22, align 8, !noalias !34
%err.sroa.14.32..sroa_idx.i.i = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %2, i64 0, i32 1, i64 0
%err.sroa.1427.32..sroa_cast.i.i = bitcast [3 x i64]* %23 to i8**
%err.sroa.1427.32.copyload.i.i = load i8** %err.sroa.1427.32..sroa_cast.i.i, align 8, !noalias !34
%err.sroa.17.32..sroa_idx.i.i = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %2, i64 0, i32 2, i64 1
%26 = bitcast i64* %err.sroa.17.32..sroa_idx.i.i to <2 x i64>*
%27 = load <2 x i64>* %26, align 8, !noalias !34
%err.sroa.0.0..sroa_idx.i.i = bitcast [8 x i64]* %19 to i8*
store i8 %.sroa.0.0.i.i2.i, i8* %err.sroa.0.0..sroa_idx.i.i, align 8, !alias.scope !35, !noalias !36
%err.sroa.6.0..sroa_idx12.i.i = getelementptr inbounds %"struct.std::io::IoError<[]>[#1]"* %20, i64 0, i32 0, i32 1, i64 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %err.sroa.6.0..sroa_idx12.i.i, i8* %err.sroa.6.0..sroa_idx47.i.i, i64 15, i32 1, i1 false), !noalias !36
%err.sroa.7.0..sroa_idx.i.i = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2, i64 2
%.sroa.2344.0.i.i.i.c = ptrtoint i8* %.sroa.2344.0.i.i.i to i64
store i64 %.sroa.2344.0.i.i.i.c, i64* %err.sroa.7.0..sroa_idx.i.i, align 8, !alias.scope !35, !noalias !36
%28 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2, i64 3
store i64 %.sroa.44.0.i.i.i, i64* %28, align 8, !alias.scope !35, !noalias !36
%err.sroa.9.0..sroa_idx.i.i = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2, i64 4
%29 = bitcast i64* %err.sroa.9.0..sroa_idx.i.i to i8*
store i8 1, i8* %29, align 8, !alias.scope !35, !noalias !36
%err.sroa.14.0..sroa_idx23.i.i = getelementptr inbounds %"struct.std::io::IoError<[]>[#1]"* %20, i64 0, i32 2, i32 1, i64 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %err.sroa.14.0..sroa_idx23.i.i, i8* %err.sroa.14.32..sroa_idx.i.i, i64 7, i32 1, i1 false), !noalias !36
%30 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2, i64 5
%err.sroa.1427.32.copyload.c.i.i = ptrtoint i8* %err.sroa.1427.32.copyload.i.i to i64
store i64 %err.sroa.1427.32.copyload.c.i.i, i64* %30, align 8, !alias.scope !35, !noalias !36
%31 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2, i64 6
%32 = bitcast i64* %31 to <2 x i64>*
store <2 x i64> %27, <2 x i64>* %32, align 8, !alias.scope !35, !noalias !36
call void @llvm.lifetime.end(i64 15, i8* %err.sroa.6.0..sroa_idx47.i.i)
store i8 1, i8* %9, align 8, !alias.scope !37, !noalias !36
call void @llvm.lifetime.end(i64 8, i8* %16), !noalias !4
%33 = getelementptr inbounds %"struct.rustrt::c_str::CString<[]>[#8]"* %12, i64 0, i32 2
%34 = load i8* %33, align 1, !range !38, !noalias !4
%35 = icmp eq i8 %34, 0
br i1 %35, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit239.i.i.i", label %cond.i.i238.i.i.i
cond.i.i238.i.i.i: ; preds = %_ZN3sys14last_net_error20he59ebf7cfa5028f2qisE.exit.i
%36 = getelementptr inbounds %"enum.core::option::Option<[rustrt::c_str::CString]>[#2]"* %c_host.i.i.i, i64 0, i32 2, i64 1
%37 = bitcast i64* %36 to i8*
%38 = load i8* %37, align 8, !range !38, !alias.scope !39, !noalias !0
%39 = icmp eq i8 %38, 0
br i1 %39, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit239.i.i.i", label %then-block-3345-.i5.i
then-block-3345-.i5.i: ; preds = %cond.i.i238.i.i.i
call void @free(i8* %15) #1, !noalias !42
br label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit239.i.i.i"
"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit239.i.i.i": ; preds = %cond.i.i238.i.i.i, %then-block-3345-.i5.i, %_ZN3sys14last_net_error20he59ebf7cfa5028f2qisE.exit.i
call void @llvm.lifetime.end(i64 24, i8* %10), !noalias !4
br label %normal-return7.i
enum-iter-variant-1.i245.i.i.i: ; preds = %then-block-71458-.i.i.i
%40 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %enum-iter-variant-1.i245.i.i.body.i
enum-iter-variant-1.i245.i.i.body.i: ; preds = %enum-iter-variant-1.i245.i.i.i, %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit.i.i
%eh.lpad-body4.i = phi { i8*, i32 } [ %40, %enum-iter-variant-1.i245.i.i.i ], [ %25, %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit.i.i ]
%.fca.0.extract111.i.i.i = extractvalue { i8*, i32 } %eh.lpad-body4.i, 0
%.fca.1.extract113.i.i.i = extractvalue { i8*, i32 } %eh.lpad-body4.i, 1
call void @llvm.lifetime.end(i64 8, i8* %16), !noalias !4
%41 = getelementptr inbounds %"struct.rustrt::c_str::CString<[]>[#8]"* %12, i64 0, i32 2
%42 = load i8* %41, align 1, !range !38, !noalias !4
%43 = icmp eq i8 %42, 0
br i1 %43, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit247.i.i.i", label %cond.i.i246.i.i.i
cond.i.i246.i.i.i: ; preds = %enum-iter-variant-1.i245.i.i.body.i
%44 = getelementptr inbounds %"enum.core::option::Option<[rustrt::c_str::CString]>[#2]"* %c_host.i.i.i, i64 0, i32 2, i64 1
%45 = bitcast i64* %44 to i8*
%46 = load i8* %45, align 8, !range !38, !alias.scope !43, !noalias !0
%47 = icmp eq i8 %46, 0
br i1 %47, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit247.i.i.i", label %then-block-3345-.i7.i
then-block-3345-.i7.i: ; preds = %cond.i.i246.i.i.i
call void @free(i8* %15) #1, !noalias !46
br label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit247.i.i.i"
"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit247.i.i.i": ; preds = %cond.i.i246.i.i.i, %then-block-3345-.i7.i, %enum-iter-variant-1.i245.i.i.body.i
call void @llvm.lifetime.end(i64 24, i8* %10), !noalias !4
br label %clean_custom_.i.i.i
normal-return37.i.i.i: ; preds = %match_case.i142.i.i.i
%48 = load %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"** %res.i.i.i, align 8, !noalias !4
%49 = icmp eq %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* %48, null
br i1 %49, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit261.i.i.i", label %while_body.lr.ph.i.i.i
while_body.lr.ph.i.i.i: ; preds = %normal-return37.i.i.i
%.sroa.8.0..sroa_idx293.i.i.i = getelementptr inbounds [5 x i8]* %.sroa.8.i.i.i, i64 0, i64 0
%.sroa.28.0..sroa_idx115 = getelementptr inbounds [31 x i8]* %.sroa.28, i64 0, i64 0
br label %while_body.i.i.i
"normal-return38._ZN52collections..vec..Vec$LT$io..net..addrinfo..Info$GT$15glue_drop.2954217he0325ad4a7e93aefE.exit257_crit_edge.i.i.i": ; preds = %normal-return50.i.i.i
%.pre.i.i.i = load %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"** %res.i.i.i, align 8, !noalias !4
br label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit261.i.i.i"
"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit261.i.i.i": ; preds = %normal-return37.i.i.i, %"normal-return38._ZN52collections..vec..Vec$LT$io..net..addrinfo..Info$GT$15glue_drop.2954217he0325ad4a7e93aefE.exit257_crit_edge.i.i.i"
%50 = phi %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* [ %.pre.i.i.i, %"normal-return38._ZN52collections..vec..Vec$LT$io..net..addrinfo..Info$GT$15glue_drop.2954217he0325ad4a7e93aefE.exit257_crit_edge.i.i.i" ], [ null, %normal-return37.i.i.i ]
%addrs.sroa.0.0.388.lcssa.i.i.i = phi %"struct.io::net::addrinfo::Info<[]>"* [ %addrs.sroa.0.0.387.i.i.i, %"normal-return38._ZN52collections..vec..Vec$LT$io..net..addrinfo..Info$GT$15glue_drop.2954217he0325ad4a7e93aefE.exit257_crit_edge.i.i.i" ], [ inttoptr (i64 1 to %"struct.io::net::addrinfo::Info<[]>"*), %normal-return37.i.i.i ]
%arg.i1.sroa.9.0.copyload.i = phi i64 [ %180, %"normal-return38._ZN52collections..vec..Vec$LT$io..net..addrinfo..Info$GT$15glue_drop.2954217he0325ad4a7e93aefE.exit257_crit_edge.i.i.i" ], [ 0, %normal-return37.i.i.i ]
%51 = phi i64 [ %addrs.sroa.19.0.copyload393.i.i.i, %"normal-return38._ZN52collections..vec..Vec$LT$io..net..addrinfo..Info$GT$15glue_drop.2954217he0325ad4a7e93aefE.exit257_crit_edge.i.i.i" ], [ 0, %normal-return37.i.i.i ]
call void @freeaddrinfo(%"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* %50), !noalias !4
%52 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2, i64 0
%addrs.sroa.0.0.388.c.i.i.i = ptrtoint %"struct.io::net::addrinfo::Info<[]>"* %addrs.sroa.0.0.388.lcssa.i.i.i to i64
store i64 %addrs.sroa.0.0.388.c.i.i.i, i64* %52, align 8, !alias.scope !37, !noalias !36
%addrs.sroa.13.0..sroa_idx316.i.i.i = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2, i64 1
store i64 %arg.i1.sroa.9.0.copyload.i, i64* %addrs.sroa.13.0..sroa_idx316.i.i.i, align 8, !alias.scope !37, !noalias !36
%addrs.sroa.19.0..sroa_idx323.i.i.i = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2, i64 2
store i64 %51, i64* %addrs.sroa.19.0..sroa_idx323.i.i.i, align 8, !alias.scope !37, !noalias !36
store i8 0, i8* %9, align 8, !alias.scope !37, !noalias !36
call void @llvm.lifetime.end(i64 8, i8* %16), !noalias !4
%53 = load i8* %10, align 8, !range !38, !noalias !4
%cond.i262.i.i.i = icmp eq i8 %53, 1
br i1 %cond.i262.i.i.i, label %enum-iter-variant-1.i263.i.i.i, label %.noexc189.i
enum-iter-variant-1.i263.i.i.i: ; preds = %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit261.i.i.i"
%54 = getelementptr inbounds %"struct.rustrt::c_str::CString<[]>[#8]"* %12, i64 0, i32 2
%55 = load i8* %54, align 1, !range !38, !noalias !4
%56 = icmp eq i8 %55, 0
br i1 %56, label %.noexc189.i, label %cond.i.i264.i.i.i
cond.i.i264.i.i.i: ; preds = %enum-iter-variant-1.i263.i.i.i
%57 = getelementptr inbounds %"enum.core::option::Option<[rustrt::c_str::CString]>[#2]"* %c_host.i.i.i, i64 0, i32 2, i64 1
%58 = bitcast i64* %57 to i8*
%59 = load i8* %58, align 8, !range !38, !alias.scope !47, !noalias !0
%60 = icmp eq i8 %59, 0
br i1 %60, label %.noexc189.i, label %then-block-3345-.i11.i
then-block-3345-.i11.i: ; preds = %cond.i.i264.i.i.i
%61 = load i8** %14, align 8, !alias.scope !47, !noalias !0
call void @free(i8* %61) #1, !noalias !50
br label %.noexc189.i
while_body.i.i.i: ; preds = %normal-return50.i.i.i, %while_body.lr.ph.i.i.i
%.sroa.13.sroa.6.0 = phi i8 [ undef, %while_body.lr.ph.i.i.i ], [ %.sroa.13.sroa.6.1, %normal-return50.i.i.i ]
%.sroa.15.sroa.7.0 = phi i8 [ undef, %while_body.lr.ph.i.i.i ], [ %.sroa.15.sroa.7.1, %normal-return50.i.i.i ]
%.sroa.15.sroa.0.0 = phi i8 [ undef, %while_body.lr.ph.i.i.i ], [ %.sroa.15.sroa.0.1, %normal-return50.i.i.i ]
%.sroa.23.0 = phi i16 [ undef, %while_body.lr.ph.i.i.i ], [ %143, %normal-return50.i.i.i ]
%.sroa.22.0 = phi i16 [ undef, %while_body.lr.ph.i.i.i ], [ %.sroa.22.1, %normal-return50.i.i.i ]
%.sroa.21.0 = phi i16 [ undef, %while_body.lr.ph.i.i.i ], [ %.sroa.21.1, %normal-return50.i.i.i ]
%.sroa.20.0 = phi i16 [ undef, %while_body.lr.ph.i.i.i ], [ %.sroa.20.1, %normal-return50.i.i.i ]
%.sroa.19.0 = phi i16 [ undef, %while_body.lr.ph.i.i.i ], [ %.sroa.19.1, %normal-return50.i.i.i ]
%.sroa.18.0 = phi i16 [ undef, %while_body.lr.ph.i.i.i ], [ %.sroa.18.1, %normal-return50.i.i.i ]
%.sroa.9.0 = phi i8 [ undef, %while_body.lr.ph.i.i.i ], [ %.sroa.9.1, %normal-return50.i.i.i ]
%62 = phi %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* [ %48, %while_body.lr.ph.i.i.i ], [ %182, %normal-return50.i.i.i ]
%addrs.sroa.0.0.388424.i.i.i = phi %"struct.io::net::addrinfo::Info<[]>"* [ inttoptr (i64 1 to %"struct.io::net::addrinfo::Info<[]>"*), %while_body.lr.ph.i.i.i ], [ %addrs.sroa.0.0.387.i.i.i, %normal-return50.i.i.i ]
%addrs.sroa.13.0.copyload391423.i.i.i = phi i64 [ 0, %while_body.lr.ph.i.i.i ], [ %180, %normal-return50.i.i.i ]
%addrs.sroa.19.0.copyload394422.i.i.i = phi i64 [ 0, %while_body.lr.ph.i.i.i ], [ %addrs.sroa.19.0.copyload393.i.i.i, %normal-return50.i.i.i ]
call void @llvm.lifetime.start(i64 31, i8* %.sroa.28.0..sroa_idx115)
%63 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* %62, i64 0, i32 6
%64 = load %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"** %63, align 8, !noalias !4
%65 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* %62, i64 0, i32 4
%66 = load i64* %65, align 8, !noalias !4
%67 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"* %64, i64 0, i32 0
%68 = load i16* %67, align 2, !alias.scope !51, !noalias !54
%69 = zext i16 %68 to i32
switch i32 %69, label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit189.i.i.i [
i32 2, label %match_case.i.i65
i32 23, label %match_case3.i.i
]
match_case.i.i65: ; preds = %while_body.i.i.i
%70 = icmp ult i64 %66, 16
br i1 %70, label %then-block-70961-.i.i, label %next-block.i.i
match_case3.i.i: ; preds = %while_body.i.i.i
%71 = icmp ult i64 %66, 28
br i1 %71, label %then-block-71076-.i.i, label %next-block5.i.i
then-block-70961-.i.i: ; preds = %match_case.i.i65
%72 = bitcast %str_slice* %0 to i8*
call void @llvm.lifetime.start(i64 16, i8* %72), !noalias !56
%73 = getelementptr inbounds %str_slice* %0, i64 0, i32 0
store i8* getelementptr inbounds ([68 x i8]* @str31393, i64 0, i64 0), i8** %73, align 8, !noalias !56
%74 = getelementptr inbounds %str_slice* %0, i64 0, i32 1
store i64 68, i64* %74, align 8, !noalias !56
invoke fastcc void @_ZN6unwind12begin_unwind20h7719782560231522453E(%str_slice* noalias nocapture dereferenceable(16) %0, { %str_slice, i64 }* noalias nocapture readonly dereferenceable(24) @_ZN10sys_common3net16sockaddr_to_addr10_FILE_LINE20hfb7d95c84f9294edLCsE)
to label %.noexc13.i unwind label %clean_ast_71285_40.loopexit.i.i.i.nonloopexit, !noalias !0
.noexc13.i: ; preds = %then-block-70961-.i.i
unreachable
next-block.i.i: ; preds = %match_case.i.i65
%75 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"* %64, i64 0, i32 1, i64 2
%76 = bitcast i8* %75 to i32*
%77 = load i32* %76, align 4, !alias.scope !51, !noalias !54
%78 = call i32 @llvm.bswap.i32(i32 %77) #1
%79 = lshr i32 %78, 24
%80 = trunc i32 %79 to i8
%81 = lshr i32 %78, 16
%82 = trunc i32 %81 to i16
%83 = lshr i32 %78, 8
%84 = trunc i32 %83 to i16
%85 = trunc i32 %78 to i16
%86 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"* %64, i64 0, i32 1
%87 = bitcast [14 x i8]* %86 to i16*
%88 = load i16* %87, align 2, !alias.scope !51, !noalias !54
br label %"_ZN69core..result..Result$LT$io..net..ip..SocketAddr$C$$x20io..IoError$GT$15glue_drop.3141017hcbb0d429a2bdfb6bE.exit230.i.i.i"
then-block-71076-.i.i: ; preds = %match_case3.i.i
%89 = bitcast %str_slice* %1 to i8*
call void @llvm.lifetime.start(i64 16, i8* %89), !noalias !56
%90 = getelementptr inbounds %str_slice* %1, i64 0, i32 0
store i8* getelementptr inbounds ([69 x i8]* @str31394, i64 0, i64 0), i8** %90, align 8, !noalias !56
%91 = getelementptr inbounds %str_slice* %1, i64 0, i32 1
store i64 69, i64* %91, align 8, !noalias !56
invoke fastcc void @_ZN6unwind12begin_unwind20h7719782560231522453E(%str_slice* noalias nocapture dereferenceable(16) %1, { %str_slice, i64 }* noalias nocapture readonly dereferenceable(24) @_ZN10sys_common3net16sockaddr_to_addr10_FILE_LINE20hfb7d95c84f9294edCEsE)
to label %.noexc14.i unwind label %clean_ast_71285_40.loopexit.i.i.i.nonloopexit, !noalias !0
.noexc14.i: ; preds = %then-block-71076-.i.i
unreachable
next-block5.i.i: ; preds = %match_case3.i.i
%92 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"* %64, i64 0, i32 1, i64 6
%93 = bitcast i8* %92 to i16*
%94 = load i16* %93, align 2, !alias.scope !51, !noalias !54
%95 = call i16 @llvm.bswap.i16(i16 %94) #1
%96 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"* %64, i64 0, i32 1, i64 8
%97 = bitcast i8* %96 to i16*
%98 = load i16* %97, align 2, !alias.scope !51, !noalias !54
%99 = call i16 @llvm.bswap.i16(i16 %98) #1
%100 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"* %64, i64 0, i32 1, i64 10
%101 = bitcast i8* %100 to i16*
%102 = load i16* %101, align 2, !alias.scope !51, !noalias !54
%103 = call i16 @llvm.bswap.i16(i16 %102) #1
%104 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"* %64, i64 0, i32 1, i64 12
%105 = bitcast i8* %104 to i16*
%106 = load i16* %105, align 2, !alias.scope !51, !noalias !54
%107 = call i16 @llvm.bswap.i16(i16 %106) #1
%108 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"* %64, i64 0, i32 1, i64 14
%109 = bitcast i8* %108 to i16*
%110 = load i16* %109, align 2, !alias.scope !51, !noalias !54
%111 = call i16 @llvm.bswap.i16(i16 %110) #1
%112 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"* %64, i64 0, i32 1, i64 16
%113 = bitcast i8* %112 to i16*
%114 = load i16* %113, align 2, !alias.scope !51, !noalias !54
%115 = call i16 @llvm.bswap.i16(i16 %114) #1
%116 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"* %64, i64 0, i32 1, i64 18
%117 = bitcast i8* %116 to i16*
%118 = load i16* %117, align 2, !alias.scope !51, !noalias !54
%119 = call i16 @llvm.bswap.i16(i16 %118) #1
%120 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"* %64, i64 0, i32 1, i64 20
%121 = bitcast i8* %120 to i16*
%122 = load i16* %121, align 2, !alias.scope !51, !noalias !54
%123 = call i16 @llvm.bswap.i16(i16 %122) #1
%.sroa.10.sroa.6.0.extract.shift = lshr i16 %95, 8
%.sroa.13.sroa.6.0.extract.shift = lshr i16 %99, 8
%.sroa.13.sroa.6.0.extract.trunc = trunc i16 %.sroa.13.sroa.6.0.extract.shift to i8
%.sroa.15.sroa.0.0.extract.trunc = trunc i16 %103 to i8
%.sroa.15.sroa.7.0.extract.shift = lshr i16 %103, 8
%.sroa.15.sroa.7.0.extract.trunc = trunc i16 %.sroa.15.sroa.7.0.extract.shift to i8
%124 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::sockaddr<[]>[#3]"* %64, i64 0, i32 1
%125 = bitcast [14 x i8]* %124 to i16*
%126 = load i16* %125, align 2, !alias.scope !51, !noalias !54
br label %"_ZN69core..result..Result$LT$io..net..ip..SocketAddr$C$$x20io..IoError$GT$15glue_drop.3141017hcbb0d429a2bdfb6bE.exit230.i.i.i"
clean_ast_71285_40.loopexit.i.i.i.loopexit: ; preds = %next-block1.i.i.i.i
%lpad.loopexit206 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %clean_ast_71285_40.i.i.i
clean_ast_71285_40.loopexit.i.i.i.nonloopexit: ; preds = %then-block-70961-.i.i, %then-block-71076-.i.i
%lpad.nonloopexit207 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %clean_ast_71285_40.i.i.i
clean_ast_71285_40.nonloopexit.i.i.i: ; preds = %then-block-86604-.i.i.i.i
%lpad.nonloopexit.i.i.i = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %clean_ast_71285_40.i.i.i
clean_ast_71285_40.i.i.i: ; preds = %clean_ast_71285_40.loopexit.i.i.i.loopexit, %clean_ast_71285_40.loopexit.i.i.i.nonloopexit, %clean_ast_71285_40.nonloopexit.i.i.i
%addrs.sroa.19.0.copyload394422441.i.i.i = phi i64 [ %addrs.sroa.13.0.copyload391423.i.i.i, %clean_ast_71285_40.nonloopexit.i.i.i ], [ %addrs.sroa.13.0.copyload391423.i.i.i, %clean_ast_71285_40.loopexit.i.i.i.loopexit ], [ %addrs.sroa.19.0.copyload394422.i.i.i, %clean_ast_71285_40.loopexit.i.i.i.nonloopexit ]
%lpad.phi.i.i.i = phi { i8*, i32 } [ %lpad.nonloopexit.i.i.i, %clean_ast_71285_40.nonloopexit.i.i.i ], [ %lpad.loopexit206, %clean_ast_71285_40.loopexit.i.i.i.loopexit ], [ %lpad.nonloopexit207, %clean_ast_71285_40.loopexit.i.i.i.nonloopexit ]
%.fca.0.extract115.i.i.i = extractvalue { i8*, i32 } %lpad.phi.i.i.i, 0
%.fca.1.extract117.i.i.i = extractvalue { i8*, i32 } %lpad.phi.i.i.i, 1
%127 = icmp eq i64 %addrs.sroa.19.0.copyload394422441.i.i.i, 0
br i1 %127, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit269.i.i.i", label %then-block-86101-.i.i270.i.i.i
then-block-86101-.i.i270.i.i.i: ; preds = %clean_ast_71285_40.i.i.i
%128 = getelementptr inbounds %"struct.io::net::addrinfo::Info<[]>"* %addrs.sroa.0.0.388424.i.i.i, i64 %addrs.sroa.13.0.copyload391423.i.i.i
br label %for_loopback.i.i274.i.i.i
for_exit.i.i271.i.i.i: ; preds = %for_loopback.i.i274.i.i.i
%129 = getelementptr inbounds %"struct.io::net::addrinfo::Info<[]>"* %addrs.sroa.0.0.388424.i.i.i, i64 0, i32 0, i32 0, i32 0
%130 = mul i64 %addrs.sroa.19.0.copyload394422441.i.i.i, 48
call void @je_sdallocx(i8* %129, i64 %130, i32 0), !noalias !57
br label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit269.i.i.i"
for_loopback.i.i274.i.i.i: ; preds = %for_loopback.i.i274.i.i.i, %then-block-86101-.i.i270.i.i.i
%.sroa.013.0.18.i.i272.i.i.i = phi %"struct.io::net::addrinfo::Info<[]>"* [ %133, %for_loopback.i.i274.i.i.i ], [ %addrs.sroa.0.0.388424.i.i.i, %then-block-86101-.i.i270.i.i.i ]
%131 = icmp eq %"struct.io::net::addrinfo::Info<[]>"* %.sroa.013.0.18.i.i272.i.i.i, %128
%132 = icmp eq %"struct.io::net::addrinfo::Info<[]>"* %.sroa.013.0.18.i.i272.i.i.i, null
%or.cond.i.i273.i.i.i = or i1 %131, %132
%133 = getelementptr inbounds %"struct.io::net::addrinfo::Info<[]>"* %.sroa.013.0.18.i.i272.i.i.i, i64 1
br i1 %or.cond.i.i273.i.i.i, label %for_exit.i.i271.i.i.i, label %for_loopback.i.i274.i.i.i
"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit269.i.i.i": ; preds = %clean_ast_71285_40.i.i.i, %for_exit.i.i271.i.i.i
call void @llvm.lifetime.end(i64 8, i8* %16), !noalias !4
%134 = load i8* %10, align 8, !range !38, !noalias !4
%cond.i248.i.i.i = icmp eq i8 %134, 1
br i1 %cond.i248.i.i.i, label %enum-iter-variant-1.i249.i.i.i, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit251.i.i.i"
enum-iter-variant-1.i249.i.i.i: ; preds = %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit269.i.i.i"
%135 = getelementptr inbounds %"struct.rustrt::c_str::CString<[]>[#8]"* %12, i64 0, i32 2
%136 = load i8* %135, align 1, !range !38, !noalias !4
%137 = icmp eq i8 %136, 0
br i1 %137, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit251.i.i.i", label %cond.i.i250.i.i.i
cond.i.i250.i.i.i: ; preds = %enum-iter-variant-1.i249.i.i.i
%138 = getelementptr inbounds %"enum.core::option::Option<[rustrt::c_str::CString]>[#2]"* %c_host.i.i.i, i64 0, i32 2, i64 1
%139 = bitcast i64* %138 to i8*
%140 = load i8* %139, align 8, !range !38, !alias.scope !60, !noalias !0
%141 = icmp eq i8 %140, 0
br i1 %141, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit251.i.i.i", label %then-block-3345-.i18.i
then-block-3345-.i18.i: ; preds = %cond.i.i250.i.i.i
%142 = load i8** %14, align 8, !alias.scope !60, !noalias !0
call void @free(i8* %142) #1, !noalias !63
br label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit251.i.i.i"
"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit251.i.i.i": ; preds = %cond.i.i250.i.i.i, %then-block-3345-.i18.i, %enum-iter-variant-1.i249.i.i.i, %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit269.i.i.i"
call void @llvm.lifetime.end(i64 24, i8* %10), !noalias !4
br label %clean_custom_.i.i.i
"_ZN69core..result..Result$LT$io..net..ip..SocketAddr$C$$x20io..IoError$GT$15glue_drop.3141017hcbb0d429a2bdfb6bE.exit230.i.i.i": ; preds = %next-block5.i.i, %next-block.i.i
%.sink = phi i16 [ %88, %next-block.i.i ], [ %126, %next-block5.i.i ]
%.sroa.10.sroa.0.0 = phi i16 [ %95, %next-block5.i.i ], [ %82, %next-block.i.i ]
%.sroa.13.sroa.6.1 = phi i8 [ %.sroa.13.sroa.6.0.extract.trunc, %next-block5.i.i ], [ %.sroa.13.sroa.6.0, %next-block.i.i ]
%.sroa.13.sroa.0.0 = phi i16 [ %99, %next-block5.i.i ], [ %85, %next-block.i.i ]
%.sroa.15.sroa.7.1 = phi i8 [ %.sroa.15.sroa.7.0.extract.trunc, %next-block5.i.i ], [ %.sroa.15.sroa.7.0, %next-block.i.i ]
%.sroa.15.sroa.0.1 = phi i8 [ %.sroa.15.sroa.0.0.extract.trunc, %next-block5.i.i ], [ %.sroa.15.sroa.0.0, %next-block.i.i ]
%.sroa.10.sroa.6.0 = phi i16 [ %.sroa.10.sroa.6.0.extract.shift, %next-block5.i.i ], [ %84, %next-block.i.i ]
%.sroa.22.1 = phi i16 [ %123, %next-block5.i.i ], [ %.sroa.22.0, %next-block.i.i ]
%.sroa.21.1 = phi i16 [ %119, %next-block5.i.i ], [ %.sroa.21.0, %next-block.i.i ]
%.sroa.20.1 = phi i16 [ %115, %next-block5.i.i ], [ %.sroa.20.0, %next-block.i.i ]
%.sroa.19.1 = phi i16 [ %111, %next-block5.i.i ], [ %.sroa.19.0, %next-block.i.i ]
%.sroa.18.1 = phi i16 [ %107, %next-block5.i.i ], [ %.sroa.18.0, %next-block.i.i ]
%.sroa.9.1 = phi i8 [ %.sroa.9.0, %next-block5.i.i ], [ %80, %next-block.i.i ]
%.sroa.681.0 = phi i8 [ 1, %next-block5.i.i ], [ 0, %next-block.i.i ]
%143 = call i16 @llvm.bswap.i16(i16 %.sink) #1
%.sroa.10.sroa.6.0.insert.shift = shl i16 %.sroa.10.sroa.6.0, 8
%.sroa.10.sroa.0.0.insert.ext = and i16 %.sroa.10.sroa.0.0, 255
%.sroa.10.sroa.0.0.insert.insert = or i16 %.sroa.10.sroa.6.0.insert.shift, %.sroa.10.sroa.0.0.insert.ext
%.sroa.13.sroa.6.0.insert.ext = zext i8 %.sroa.13.sroa.6.1 to i16
%.sroa.13.sroa.6.0.insert.shift = shl nuw i16 %.sroa.13.sroa.6.0.insert.ext, 8
%.sroa.13.sroa.0.0.insert.ext = and i16 %.sroa.13.sroa.0.0, 255
%.sroa.13.sroa.0.0.insert.insert = or i16 %.sroa.13.sroa.6.0.insert.shift, %.sroa.13.sroa.0.0.insert.ext
%.sroa.15.sroa.7.0.insert.ext = zext i8 %.sroa.15.sroa.7.1 to i16
%.sroa.15.sroa.7.0.insert.shift = shl nuw i16 %.sroa.15.sroa.7.0.insert.ext, 8
%.sroa.15.sroa.0.0.insert.ext = zext i8 %.sroa.15.sroa.0.1 to i16
%.sroa.15.sroa.0.0.insert.insert = or i16 %.sroa.15.sroa.7.0.insert.shift, %.sroa.15.sroa.0.0.insert.ext
call void @llvm.lifetime.end(i64 31, i8* %.sroa.28.0..sroa_idx115)
call void @llvm.lifetime.start(i64 5, i8* %.sroa.8.0..sroa_idx293.i.i.i)
%144 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* %62, i64 0, i32 1
%145 = load i32* %144, align 4, !noalias !4
%146 = sext i32 %145 to i64
%147 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* %62, i64 0, i32 0
%148 = load i32* %147, align 4, !noalias !4
%149 = sext i32 %148 to i64
%150 = icmp eq i64 %addrs.sroa.13.0.copyload391423.i.i.i, %addrs.sroa.19.0.copyload394422.i.i.i
br i1 %150, label %then-block-86572-.i.i.i.i, label %normal-return50.i.i.i
then-block-86572-.i.i.i.i: ; preds = %"_ZN69core..result..Result$LT$io..net..ip..SocketAddr$C$$x20io..IoError$GT$15glue_drop.3141017hcbb0d429a2bdfb6bE.exit230.i.i.i"
%151 = mul i64 %addrs.sroa.13.0.copyload391423.i.i.i, 48
%152 = icmp ugt i64 %151, 96
%.op.i.i.i.i = mul i64 %addrs.sroa.13.0.copyload391423.i.i.i, 96
%153 = select i1 %152, i64 %.op.i.i.i.i, i64 192
%154 = icmp ugt i64 %151, %153
br i1 %154, label %then-block-86604-.i.i.i.i, label %next-block1.i.i.i.i
then-block-86604-.i.i.i.i: ; preds = %then-block-86572-.i.i.i.i
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @"_ZN3vec12Vec$LT$T$GT$4push14_MSG_FILE_LINE20h73a791f0248413baEnjE")
to label %.noexc195.i.i.i unwind label %clean_ast_71285_40.nonloopexit.i.i.i, !noalias !4
.noexc195.i.i.i: ; preds = %then-block-86604-.i.i.i.i
unreachable
next-block1.i.i.i.i: ; preds = %then-block-86572-.i.i.i.i
%155 = bitcast %"struct.io::net::addrinfo::Info<[]>"* %addrs.sroa.0.0.388424.i.i.i to %"struct.ascii::Ascii<[]>"*
%156 = invoke fastcc %"struct.ascii::Ascii<[]>"* @_ZN3vec16alloc_or_realloc21h17029606631136577561E(%"struct.ascii::Ascii<[]>"* %155, i64 %151, i64 %153)
to label %.noexc196.i.i.i unwind label %clean_ast_71285_40.loopexit.i.i.i.loopexit, !noalias !0
.noexc196.i.i.i: ; preds = %next-block1.i.i.i.i
%157 = icmp eq %"struct.ascii::Ascii<[]>"* %156, null
br i1 %157, label %then-block-86645-.i.i.i.i, label %next-block2.i.i.i.i
then-block-86645-.i.i.i.i: ; preds = %.noexc196.i.i.i
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE(), !noalias !0
unreachable
next-block2.i.i.i.i: ; preds = %.noexc196.i.i.i
%158 = bitcast %"struct.ascii::Ascii<[]>"* %156 to %"struct.io::net::addrinfo::Info<[]>"*
%159 = icmp ugt i64 %addrs.sroa.13.0.copyload391423.i.i.i, 2
%.op42.i.i.i.i = shl i64 %addrs.sroa.13.0.copyload391423.i.i.i, 1
%160 = select i1 %159, i64 %.op42.i.i.i.i, i64 4
br label %normal-return50.i.i.i
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit189.i.i.i: ; preds = %while_body.i.i.i
%161 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2
%162 = bitcast [8 x i64]* %161 to i8*
%.sroa.15.8..sroa_cast88 = bitcast [8 x i64]* %161 to i16*
%.sroa.15.sroa.7.0.insert.ext120 = zext i8 %.sroa.15.sroa.7.0 to i16
%.sroa.15.sroa.7.0.insert.shift121 = shl nuw i16 %.sroa.15.sroa.7.0.insert.ext120, 8
%.sroa.15.sroa.0.0.insert.insert118 = or i16 %.sroa.15.sroa.7.0.insert.shift121, 16
store i16 %.sroa.15.sroa.0.0.insert.insert118, i16* %.sroa.15.8..sroa_cast88, align 8
%.sroa.18.8..sroa_idx = getelementptr inbounds i8* %162, i64 2
%.sroa.18.8..sroa_cast = bitcast i8* %.sroa.18.8..sroa_idx to i16*
store i16 %.sroa.18.0, i16* %.sroa.18.8..sroa_cast, align 2
%.sroa.19.8..sroa_idx = getelementptr inbounds i8* %162, i64 4
%.sroa.19.8..sroa_cast = bitcast i8* %.sroa.19.8..sroa_idx to i16*
store i16 %.sroa.19.0, i16* %.sroa.19.8..sroa_cast, align 4
%.sroa.20.8..sroa_idx = getelementptr inbounds i8* %162, i64 6
%.sroa.20.8..sroa_cast = bitcast i8* %.sroa.20.8..sroa_idx to i16*
store i16 %.sroa.20.0, i16* %.sroa.20.8..sroa_cast, align 2
%.sroa.21.8..sroa_idx368 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2, i64 1
%.sroa.21.8..sroa_cast = bitcast i64* %.sroa.21.8..sroa_idx368 to i16*
store i16 %.sroa.21.0, i16* %.sroa.21.8..sroa_cast, align 8
%.sroa.22.8..sroa_idx = getelementptr inbounds i8* %162, i64 10
%.sroa.22.8..sroa_cast = bitcast i8* %.sroa.22.8..sroa_idx to i16*
store i16 %.sroa.22.0, i16* %.sroa.22.8..sroa_cast, align 2
%.sroa.23.8..sroa_idx = getelementptr inbounds i8* %162, i64 12
%.sroa.23.8..sroa_cast = bitcast i8* %.sroa.23.8..sroa_idx to i16*
store i16 %.sroa.23.0, i16* %.sroa.23.8..sroa_cast, align 4
%.sroa.25104.8..sroa_idx107 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2, i64 2
store i64 ptrtoint ([16 x i8]* @str31350 to i64), i64* %.sroa.25104.8..sroa_idx107, align 8
%.sroa.26.8..sroa_idx110 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2, i64 3
store i64 16, i64* %.sroa.26.8..sroa_idx110, align 8
%.sroa.27.8..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2, i64 4
%.sroa.27.8..sroa_cast = bitcast i64* %.sroa.27.8..sroa_idx to i8*
store i8 0, i8* %.sroa.27.8..sroa_cast, align 8
%.sroa.28.8..sroa_raw_cast = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 0
%.sroa.28.8..sroa_raw_idx = getelementptr inbounds i8* %.sroa.28.8..sroa_raw_cast, i64 41
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.28.8..sroa_raw_idx, i8* %.sroa.28.0..sroa_idx115, i64 31, i32 1, i1 false)
store i8 1, i8* %9, align 8, !alias.scope !37, !noalias !36
call void @llvm.lifetime.end(i64 31, i8* %.sroa.28.0..sroa_idx115)
%163 = icmp eq i64 %addrs.sroa.19.0.copyload394422.i.i.i, 0
br i1 %163, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit150.i.i.i", label %then-block-86101-.i.i.i.i.i
then-block-86101-.i.i.i.i.i: ; preds = %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit189.i.i.i
%164 = getelementptr inbounds %"struct.io::net::addrinfo::Info<[]>"* %addrs.sroa.0.0.388424.i.i.i, i64 %addrs.sroa.13.0.copyload391423.i.i.i
br label %for_loopback.i.i.i.i.i
for_exit.i.i.i.i.i: ; preds = %for_loopback.i.i.i.i.i
%165 = getelementptr inbounds %"struct.io::net::addrinfo::Info<[]>"* %addrs.sroa.0.0.388424.i.i.i, i64 0, i32 0, i32 0, i32 0
%166 = mul i64 %addrs.sroa.19.0.copyload394422.i.i.i, 48
call void @je_sdallocx(i8* %165, i64 %166, i32 0), !noalias !64
br label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit150.i.i.i"
for_loopback.i.i.i.i.i: ; preds = %for_loopback.i.i.i.i.i, %then-block-86101-.i.i.i.i.i
%.sroa.013.0.18.i.i.i.i.i = phi %"struct.io::net::addrinfo::Info<[]>"* [ %169, %for_loopback.i.i.i.i.i ], [ %addrs.sroa.0.0.388424.i.i.i, %then-block-86101-.i.i.i.i.i ]
%167 = icmp eq %"struct.io::net::addrinfo::Info<[]>"* %.sroa.013.0.18.i.i.i.i.i, %164
%168 = icmp eq %"struct.io::net::addrinfo::Info<[]>"* %.sroa.013.0.18.i.i.i.i.i, null
%or.cond.i.i.i.i.i = or i1 %167, %168
%169 = getelementptr inbounds %"struct.io::net::addrinfo::Info<[]>"* %.sroa.013.0.18.i.i.i.i.i, i64 1
br i1 %or.cond.i.i.i.i.i, label %for_exit.i.i.i.i.i, label %for_loopback.i.i.i.i.i
"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit150.i.i.i": ; preds = %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit189.i.i.i, %for_exit.i.i.i.i.i
call void @llvm.lifetime.end(i64 8, i8* %16), !noalias !4
%170 = load i8* %10, align 8, !range !38, !noalias !4
%cond.i139.i.i.i = icmp eq i8 %170, 1
br i1 %cond.i139.i.i.i, label %enum-iter-variant-1.i140.i.i.i, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit.i.i.i"
enum-iter-variant-1.i140.i.i.i: ; preds = %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit150.i.i.i"
%171 = getelementptr inbounds %"struct.rustrt::c_str::CString<[]>[#8]"* %12, i64 0, i32 2
%172 = load i8* %171, align 1, !range !38, !noalias !4
%173 = icmp eq i8 %172, 0
br i1 %173, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit.i.i.i", label %cond.i.i141.i.i.i
cond.i.i141.i.i.i: ; preds = %enum-iter-variant-1.i140.i.i.i
%174 = getelementptr inbounds %"enum.core::option::Option<[rustrt::c_str::CString]>[#2]"* %c_host.i.i.i, i64 0, i32 2, i64 1
%175 = bitcast i64* %174 to i8*
%176 = load i8* %175, align 8, !range !38, !alias.scope !67, !noalias !0
%177 = icmp eq i8 %176, 0
br i1 %177, label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit.i.i.i", label %then-block-3345-.i24.i
then-block-3345-.i24.i: ; preds = %cond.i.i141.i.i.i
%178 = load i8** %14, align 8, !alias.scope !67, !noalias !0
call void @free(i8* %178) #1, !noalias !70
br label %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit.i.i.i"
"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit.i.i.i": ; preds = %cond.i.i141.i.i.i, %then-block-3345-.i24.i, %enum-iter-variant-1.i140.i.i.i, %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit150.i.i.i"
call void @llvm.lifetime.end(i64 24, i8* %10), !noalias !4
br label %normal-return7.i
normal-return50.i.i.i: ; preds = %next-block2.i.i.i.i, %"_ZN69core..result..Result$LT$io..net..ip..SocketAddr$C$$x20io..IoError$GT$15glue_drop.3141017hcbb0d429a2bdfb6bE.exit230.i.i.i"
%addrs.sroa.19.0.copyload393.i.i.i = phi i64 [ %160, %next-block2.i.i.i.i ], [ %addrs.sroa.19.0.copyload394422.i.i.i, %"_ZN69core..result..Result$LT$io..net..ip..SocketAddr$C$$x20io..IoError$GT$15glue_drop.3141017hcbb0d429a2bdfb6bE.exit230.i.i.i" ]
%addrs.sroa.0.0.387.i.i.i = phi %"struct.io::net::addrinfo::Info<[]>"* [ %158, %next-block2.i.i.i.i ], [ %addrs.sroa.0.0.388424.i.i.i, %"_ZN69core..result..Result$LT$io..net..ip..SocketAddr$C$$x20io..IoError$GT$15glue_drop.3141017hcbb0d429a2bdfb6bE.exit230.i.i.i" ]
%179 = getelementptr inbounds %"struct.io::net::addrinfo::Info<[]>"* %addrs.sroa.0.0.387.i.i.i, i64 %addrs.sroa.13.0.copyload391423.i.i.i, i32 0, i32 0, i32 0
store i8 %.sroa.681.0, i8* %179, align 8
%.sroa.0.i.i.i.sroa.5.0..sroa_raw_idx = getelementptr inbounds i8* %179, i64 1
store i8 %.sroa.9.1, i8* %.sroa.0.i.i.i.sroa.5.0..sroa_raw_idx, align 1
%.sroa.0.i.i.i.sroa.6.0..sroa_idx = getelementptr inbounds i8* %179, i64 2
%.sroa.0.i.i.i.sroa.6.0..sroa_cast = bitcast i8* %.sroa.0.i.i.i.sroa.6.0..sroa_idx to i16*
store i16 %.sroa.10.sroa.0.0.insert.insert, i16* %.sroa.0.i.i.i.sroa.6.0..sroa_cast, align 2
%.sroa.0.i.i.i.sroa.7.0..sroa_idx = getelementptr inbounds i8* %179, i64 4
%.sroa.0.i.i.i.sroa.7.0..sroa_cast = bitcast i8* %.sroa.0.i.i.i.sroa.7.0..sroa_idx to i16*
store i16 %.sroa.13.sroa.0.0.insert.insert, i16* %.sroa.0.i.i.i.sroa.7.0..sroa_cast, align 4
%.sroa.0.i.i.i.sroa.8.0..sroa_idx = getelementptr inbounds i8* %179, i64 6
%.sroa.0.i.i.i.sroa.8.0..sroa_cast = bitcast i8* %.sroa.0.i.i.i.sroa.8.0..sroa_idx to i16*
store i16 %.sroa.15.sroa.0.0.insert.insert, i16* %.sroa.0.i.i.i.sroa.8.0..sroa_cast, align 2
%.sroa.0.i.i.i.sroa.9.0..sroa_idx = getelementptr inbounds i8* %179, i64 8
%.sroa.0.i.i.i.sroa.9.0..sroa_cast = bitcast i8* %.sroa.0.i.i.i.sroa.9.0..sroa_idx to i16*
store i16 %.sroa.18.1, i16* %.sroa.0.i.i.i.sroa.9.0..sroa_cast, align 8
%.sroa.0.i.i.i.sroa.10.0..sroa_idx = getelementptr inbounds i8* %179, i64 10
%.sroa.0.i.i.i.sroa.10.0..sroa_cast = bitcast i8* %.sroa.0.i.i.i.sroa.10.0..sroa_idx to i16*
store i16 %.sroa.19.1, i16* %.sroa.0.i.i.i.sroa.10.0..sroa_cast, align 2
%.sroa.0.i.i.i.sroa.11.0..sroa_idx = getelementptr inbounds i8* %179, i64 12
%.sroa.0.i.i.i.sroa.11.0..sroa_cast = bitcast i8* %.sroa.0.i.i.i.sroa.11.0..sroa_idx to i16*
store i16 %.sroa.20.1, i16* %.sroa.0.i.i.i.sroa.11.0..sroa_cast, align 4
%.sroa.0.i.i.i.sroa.12.0..sroa_idx = getelementptr inbounds i8* %179, i64 14
%.sroa.0.i.i.i.sroa.12.0..sroa_cast = bitcast i8* %.sroa.0.i.i.i.sroa.12.0..sroa_idx to i16*
store i16 %.sroa.21.1, i16* %.sroa.0.i.i.i.sroa.12.0..sroa_cast, align 2
%.sroa.0.i.i.i.sroa.13.0..sroa_idx = getelementptr inbounds i8* %179, i64 16
%.sroa.0.i.i.i.sroa.13.0..sroa_cast = bitcast i8* %.sroa.0.i.i.i.sroa.13.0..sroa_idx to i16*
store i16 %.sroa.22.1, i16* %.sroa.0.i.i.i.sroa.13.0..sroa_cast, align 8
%.sroa.0.i.i.i.sroa.14.0..sroa_idx = getelementptr inbounds i8* %179, i64 18
%.sroa.0.i.i.i.sroa.14.0..sroa_cast = bitcast i8* %.sroa.0.i.i.i.sroa.14.0..sroa_idx to i16*
store i16 %143, i16* %.sroa.0.i.i.i.sroa.14.0..sroa_cast, align 2
%.sroa.5.0..sroa_idx.i.i.i = getelementptr inbounds i8* %179, i64 24
%.sroa.5.0..sroa_cast282.i.i.i = bitcast i8* %.sroa.5.0..sroa_idx.i.i.i to i64*
store i64 %146, i64* %.sroa.5.0..sroa_cast282.i.i.i, align 8, !noalias !4
%.sroa.6.0..sroa_raw_idx.i.i.i = getelementptr inbounds i8* %179, i64 32
store i8 0, i8* %.sroa.6.0..sroa_raw_idx.i.i.i, align 8, !noalias !4
%.sroa.7284.0..sroa_raw_idx.i.i.i = getelementptr inbounds i8* %179, i64 34
store i8 0, i8* %.sroa.7284.0..sroa_raw_idx.i.i.i, align 2, !noalias !4
%.sroa.8.0..sroa_raw_idx.i.i.i = getelementptr inbounds i8* %179, i64 35
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.8.0..sroa_raw_idx.i.i.i, i8* %.sroa.8.0..sroa_idx293.i.i.i, i64 5, i32 1, i1 false), !noalias !4
%.sroa.8288.0..sroa_idx.i.i.i = getelementptr inbounds i8* %179, i64 40
%.sroa.8288.0..sroa_cast290.i.i.i = bitcast i8* %.sroa.8288.0..sroa_idx.i.i.i to i64*
store i64 %149, i64* %.sroa.8288.0..sroa_cast290.i.i.i, align 8, !noalias !4
%180 = add i64 %addrs.sroa.13.0.copyload391423.i.i.i, 1
call void @llvm.lifetime.end(i64 5, i8* %.sroa.8.0..sroa_idx293.i.i.i)
call void @llvm.lifetime.end(i64 5, i8* %.sroa.8.0..sroa_idx293.i.i.i)
%181 = getelementptr inbounds %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* %62, i64 0, i32 7
%182 = load %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"** %181, align 8, !noalias !4
%183 = icmp eq %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"* %182, null
br i1 %183, label %"normal-return38._ZN52collections..vec..Vec$LT$io..net..addrinfo..Info$GT$15glue_drop.2954217he0325ad4a7e93aefE.exit257_crit_edge.i.i.i", label %while_body.i.i.i
.noexc189.i: ; preds = %cond.i.i264.i.i.i, %then-block-3345-.i11.i, %enum-iter-variant-1.i263.i.i.i, %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit261.i.i.i"
call void @llvm.lifetime.end(i64 24, i8* %10), !noalias !4
%.pre.i = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<io::net::addrinfo::Info>, io::IoError]>[#2]"* %4, i64 0, i32 2
%184 = bitcast [8 x i64]* %.pre.i to i8*
call void @llvm.memset.p0i8.i64(i8* %184, i8 0, i64 24, i32 8, i1 false), !alias.scope !71, !noalias !74
%185 = getelementptr inbounds %"struct.io::net::addrinfo::Info<[]>"* %addrs.sroa.0.0.388.lcssa.i.i.i, i64 %arg.i1.sroa.9.0.copyload.i
%.idx.i = mul nuw i64 %arg.i1.sroa.9.0.copyload.i, 48
%186 = icmp ult i64 %.idx.i, 48
br i1 %186, label %for_loopback.i134.preheader.i, label %.noexc193.i
for_loopback.i134.preheader.i: ; preds = %.noexc189.i, %.noexc194.i
%vector.i.i.sroa.0.0 = phi %"enum.io::net::ip::IpAddr<[]>"* [ %190, %.noexc194.i ], [ inttoptr (i64 1 to %"enum.io::net::ip::IpAddr<[]>"*), %.noexc189.i ]
%vector.i.i.sroa.18.0 = phi i64 [ %arg.i1.sroa.9.0.copyload.i, %.noexc194.i ], [ 0, %.noexc189.i ]
%next.i.sroa.5.0..sroa_idx303.i = getelementptr inbounds [55 x i8]* %next.i.sroa.5.i, i64 0, i64 0
%arg.i176.sroa.5.0..sroa_idx334.i = getelementptr inbounds [55 x i8]* %arg.i176.sroa.5.i, i64 0, i64 0
%187 = getelementptr inbounds %"enum.io::net::ip::IpAddr<[]>"* %arg.i132.i, i64 0, i32 0
%next.i.sroa.5.8..sroa_idx302.i = getelementptr inbounds [55 x i8]* %next.i.sroa.5.i, i64 0, i64 7
%arg.i176.sroa.5.8..sroa_idx297.i = getelementptr inbounds [55 x i8]* %arg.i176.sroa.5.i, i64 0, i64 7
%loop_option.i131.sroa.3.i.0..sroa_idx = getelementptr inbounds [19 x i8]* %loop_option.i131.sroa.3.i, i64 0, i64 0
call void @llvm.lifetime.start(i64 19, i8* %loop_option.i131.sroa.3.i.0..sroa_idx)
call void @llvm.lifetime.start(i64 55, i8* %next.i.sroa.5.0..sroa_idx303.i)
%188 = icmp eq i64 %arg.i1.sroa.9.0.copyload.i, 0
br i1 %188, label %"_ZN3vec17Vec$LT$T$GT$.Drop4drop20h4462356055718563373E.exit34.i", label %for_body.i135.lr.ph.i
for_body.i135.lr.ph.i: ; preds = %for_loopback.i134.preheader.i
%loop_option.i131.sroa.3.2..sroa_idx385.i = getelementptr inbounds [19 x i8]* %loop_option.i131.sroa.3.i, i64 0, i64 1
br label %for_body.i135.i
.noexc193.i: ; preds = %.noexc189.i
%umul_with_overflow.i = mul nuw i64 %arg.i1.sroa.9.0.copyload.i, 18
%189 = invoke i8* @je_mallocx(i64 %umul_with_overflow.i, i32 0)
to label %.noexc194.i unwind label %unwind_ast_34108_.i.i, !noalias !0
.noexc194.i: ; preds = %.noexc193.i
%190 = bitcast i8* %189 to %"enum.io::net::ip::IpAddr<[]>"*
br label %for_loopback.i134.preheader.i
"_ZN3vec17Vec$LT$T$GT$.Drop4drop20h4462356055718563373E.exit34.i": ; preds = %for_loopback.i134.preheader.i, %"_ZN3vec12Vec$LT$T$GT$4push20h5926799470892602742E.exit.i"
%vector.i.i.sroa.0.1 = phi %"enum.io::net::ip::IpAddr<[]>"* [ %vector.i.i.sroa.0.0, %for_loopback.i134.preheader.i ], [ %vector.i.i.sroa.0.3, %"_ZN3vec12Vec$LT$T$GT$4push20h5926799470892602742E.exit.i" ]
%vector.i.i.sroa.12.1 = phi i64 [ 0, %for_loopback.i134.preheader.i ], [ %206, %"_ZN3vec12Vec$LT$T$GT$4push20h5926799470892602742E.exit.i" ]
%vector.i.i.sroa.18.1 = phi i64 [ %vector.i.i.sroa.18.0, %for_loopback.i134.preheader.i ], [ %vector.i.i.sroa.18.3, %"_ZN3vec12Vec$LT$T$GT$4push20h5926799470892602742E.exit.i" ]
call void @llvm.lifetime.start(i64 55, i8* %arg.i176.sroa.5.0..sroa_idx334.i)
call void @llvm.lifetime.end(i64 55, i8* %arg.i176.sroa.5.0..sroa_idx334.i)
call void @llvm.lifetime.end(i64 55, i8* %arg.i176.sroa.5.0..sroa_idx334.i)
call void @llvm.lifetime.end(i64 55, i8* %next.i.sroa.5.0..sroa_idx303.i)
%191 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]"* %6, i64 0, i32 2, i64 0
%vector.i.i.sroa.0.1.c = ptrtoint %"enum.io::net::ip::IpAddr<[]>"* %vector.i.i.sroa.0.1 to i64
store i64 %vector.i.i.sroa.0.1.c, i64* %191, align 8
%vector.i.i.sroa.12.0..sroa_idx185 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]"* %6, i64 0, i32 2, i64 1
store i64 %vector.i.i.sroa.12.1, i64* %vector.i.i.sroa.12.0..sroa_idx185, align 8
%vector.i.i.sroa.18.0..sroa_idx190 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]"* %6, i64 0, i32 2, i64 2
store i64 %vector.i.i.sroa.18.1, i64* %vector.i.i.sroa.18.0..sroa_idx190, align 8
%192 = icmp eq i64 %51, 0
br i1 %192, label %normal-return1, label %for_exit.i150.i
for_body.i135.i: ; preds = %"_ZN3vec12Vec$LT$T$GT$4push20h5926799470892602742E.exit.i", %for_body.i135.lr.ph.i
%vector.i.i.sroa.0.2 = phi %"enum.io::net::ip::IpAddr<[]>"* [ %vector.i.i.sroa.0.0, %for_body.i135.lr.ph.i ], [ %vector.i.i.sroa.0.3, %"_ZN3vec12Vec$LT$T$GT$4push20h5926799470892602742E.exit.i" ]
%vector.i.i.sroa.12.2 = phi i64 [ 0, %for_body.i135.lr.ph.i ], [ %206, %"_ZN3vec12Vec$LT$T$GT$4push20h5926799470892602742E.exit.i" ]
%vector.i.i.sroa.18.2 = phi i64 [ %vector.i.i.sroa.18.0, %for_body.i135.lr.ph.i ], [ %vector.i.i.sroa.18.3, %"_ZN3vec12Vec$LT$T$GT$4push20h5926799470892602742E.exit.i" ]
%193 = phi %"struct.io::net::addrinfo::Info<[]>"* [ %addrs.sroa.0.0.388.lcssa.i.i.i, %for_body.i135.lr.ph.i ], [ %207, %"_ZN3vec12Vec$LT$T$GT$4push20h5926799470892602742E.exit.i" ]
%next.i.sroa.5.8..sroa_idx.i = getelementptr inbounds %"struct.io::net::addrinfo::Info<[]>"* %193, i64 0, i32 0, i32 0, i32 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %next.i.sroa.5.8..sroa_idx302.i, i8* %next.i.sroa.5.8..sroa_idx.i, i64 48, i32 1, i1 false), !noalias !0
call void @llvm.lifetime.start(i64 55, i8* %arg.i176.sroa.5.0..sroa_idx334.i)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg.i176.sroa.5.0..sroa_idx334.i, i8* %next.i.sroa.5.0..sroa_idx303.i, i64 55, i32 1, i1 false), !noalias !0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %loop_option.i131.sroa.3.2..sroa_idx385.i, i8* %arg.i176.sroa.5.8..sroa_idx297.i, i64 18, i32 1, i1 false), !noalias !0
call void @llvm.lifetime.end(i64 55, i8* %arg.i176.sroa.5.0..sroa_idx334.i)
call void @llvm.lifetime.end(i64 55, i8* %arg.i176.sroa.5.0..sroa_idx334.i)
call void @llvm.lifetime.end(i64 55, i8* %next.i.sroa.5.0..sroa_idx303.i)
call void @llvm.lifetime.start(i64 18, i8* %187)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %187, i8* %loop_option.i131.sroa.3.2..sroa_idx385.i, i64 18, i32 1, i1 false), !noalias !0
%194 = icmp eq i64 %vector.i.i.sroa.12.2, %vector.i.i.sroa.18.2
br i1 %194, label %then-block-86572-.i.i, label %"_ZN3vec12Vec$LT$T$GT$4push20h5926799470892602742E.exit.i"
then-block-86572-.i.i: ; preds = %for_body.i135.i
%195 = mul i64 %vector.i.i.sroa.12.2, 18
%196 = icmp ugt i64 %195, 36
%.op.i.i = mul i64 %vector.i.i.sroa.12.2, 36
%197 = select i1 %196, i64 %.op.i.i, i64 72
%198 = icmp ugt i64 %195, %197
br i1 %198, label %then-block-86604-.i.i, label %next-block1.i.i
then-block-86604-.i.i: ; preds = %then-block-86572-.i.i
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @"_ZN3vec12Vec$LT$T$GT$4push14_MSG_FILE_LINE20h73a791f0248413baEnjE")
to label %.noexc35.i unwind label %unwind_ast_92709_.i.i.nonloopexit, !noalias !0
.noexc35.i: ; preds = %then-block-86604-.i.i
unreachable
next-block1.i.i: ; preds = %then-block-86572-.i.i
%199 = bitcast %"enum.io::net::ip::IpAddr<[]>"* %vector.i.i.sroa.0.2 to %"struct.ascii::Ascii<[]>"*
%200 = invoke fastcc %"struct.ascii::Ascii<[]>"* @_ZN3vec16alloc_or_realloc21h17029606631136577561E(%"struct.ascii::Ascii<[]>"* %199, i64 %195, i64 %197)
to label %.noexc36.i unwind label %unwind_ast_92709_.i.i.loopexit, !noalias !0
.noexc36.i: ; preds = %next-block1.i.i
%201 = bitcast %"struct.ascii::Ascii<[]>"* %200 to %"enum.io::net::ip::IpAddr<[]>"*
%202 = icmp eq %"struct.ascii::Ascii<[]>"* %200, null
br i1 %202, label %then-block-86645-.i.i, label %next-block2.i.i
then-block-86645-.i.i: ; preds = %.noexc36.i
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE(), !noalias !77
unreachable
next-block2.i.i: ; preds = %.noexc36.i
%203 = icmp ugt i64 %vector.i.i.sroa.12.2, 2
%.op42.i.i = shl i64 %vector.i.i.sroa.12.2, 1
%204 = select i1 %203, i64 %.op42.i.i, i64 4
br label %"_ZN3vec12Vec$LT$T$GT$4push20h5926799470892602742E.exit.i"
"_ZN3vec12Vec$LT$T$GT$4push20h5926799470892602742E.exit.i": ; preds = %for_body.i135.i, %next-block2.i.i
%vector.i.i.sroa.0.3 = phi %"enum.io::net::ip::IpAddr<[]>"* [ %201, %next-block2.i.i ], [ %vector.i.i.sroa.0.2, %for_body.i135.i ]
%vector.i.i.sroa.18.3 = phi i64 [ %204, %next-block2.i.i ], [ %vector.i.i.sroa.18.2, %for_body.i135.i ]
%205 = getelementptr inbounds %"enum.io::net::ip::IpAddr<[]>"* %vector.i.i.sroa.0.3, i64 %vector.i.i.sroa.12.2, i32 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %205, i8* %187, i64 18, i32 2, i1 false), !noalias !81
%206 = add i64 %vector.i.i.sroa.12.2, 1
call void @llvm.lifetime.end(i64 18, i8* %187)
%207 = getelementptr inbounds %"struct.io::net::addrinfo::Info<[]>"* %193, i64 1
call void @llvm.lifetime.end(i64 18, i8* %187)
call void @llvm.lifetime.end(i64 19, i8* %loop_option.i131.sroa.3.i.0..sroa_idx)
call void @llvm.lifetime.start(i64 19, i8* %loop_option.i131.sroa.3.i.0..sroa_idx)
call void @llvm.lifetime.start(i64 55, i8* %next.i.sroa.5.0..sroa_idx303.i)
%208 = icmp eq %"struct.io::net::addrinfo::Info<[]>"* %207, %185
br i1 %208, label %"_ZN3vec17Vec$LT$T$GT$.Drop4drop20h4462356055718563373E.exit34.i", label %for_body.i135.i
unwind_ast_92709_.i.i.loopexit: ; preds = %next-block1.i.i
%lpad.loopexit = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_92709_.i.i
unwind_ast_92709_.i.i.nonloopexit: ; preds = %then-block-86604-.i.i
%lpad.nonloopexit = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_92709_.i.i
unwind_ast_92709_.i.i: ; preds = %unwind_ast_92709_.i.i.nonloopexit, %unwind_ast_92709_.i.i.loopexit
%lpad.phi = phi { i8*, i32 } [ %lpad.loopexit, %unwind_ast_92709_.i.i.loopexit ], [ %lpad.nonloopexit, %unwind_ast_92709_.i.i.nonloopexit ]
%209 = icmp eq i64 %vector.i.i.sroa.12.2, 0
br i1 %209, label %cond.i.i, label %then-block-86101-.i.i
then-block-86101-.i.i: ; preds = %unwind_ast_92709_.i.i
%210 = getelementptr inbounds %"enum.io::net::ip::IpAddr<[]>"* %vector.i.i.sroa.0.2, i64 %vector.i.i.sroa.12.2
br label %for_loopback.i.i69
for_exit.i1.i: ; preds = %for_loopback.i.i69
%211 = getelementptr inbounds %"enum.io::net::ip::IpAddr<[]>"* %vector.i.i.sroa.0.2, i64 0, i32 0
invoke void @je_sdallocx(i8* %211, i64 %195, i32 0)
to label %cond.i.i unwind label %unwind_ast_34108_.i.i, !noalias !0
for_loopback.i.i69: ; preds = %for_loopback.i.i69, %then-block-86101-.i.i
%.sroa.013.0.18.i.i = phi %"enum.io::net::ip::IpAddr<[]>"* [ %214, %for_loopback.i.i69 ], [ %vector.i.i.sroa.0.2, %then-block-86101-.i.i ]
%212 = icmp eq %"enum.io::net::ip::IpAddr<[]>"* %.sroa.013.0.18.i.i, %210
%213 = icmp eq %"enum.io::net::ip::IpAddr<[]>"* %.sroa.013.0.18.i.i, null
%or.cond.i.i68 = or i1 %212, %213
%214 = getelementptr inbounds %"enum.io::net::ip::IpAddr<[]>"* %.sroa.013.0.18.i.i, i64 1
br i1 %or.cond.i.i68, label %for_exit.i1.i, label %for_loopback.i.i69
for_exit.i150.i: ; preds = %"_ZN3vec17Vec$LT$T$GT$.Drop4drop20h4462356055718563373E.exit34.i"
%215 = getelementptr inbounds %"struct.io::net::addrinfo::Info<[]>"* %addrs.sroa.0.0.388.lcssa.i.i.i, i64 0, i32 0, i32 0, i32 0
%216 = mul i64 %51, 48
invoke void @je_sdallocx(i8* %215, i64 %216, i32 0)
to label %normal-return1 unwind label %"_ZN98core..result..Result$LT$collections..vec..Vec$LT$io..net..addrinfo..Info$GT$$C$$x20io..IoError$GT$15glue_drop.2953917h1b8c21fd5bae00f3E.exit.i.i", !noalias !0
unwind_ast_34108_.i.i: ; preds = %for_exit.i1.i, %.noexc193.i
%217 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %cond.i.i
cond.i.i: ; preds = %unwind_ast_92709_.i.i, %for_exit.i1.i, %unwind_ast_34108_.i.i
%eh.lpad-body142.i = phi { i8*, i32 } [ %217, %unwind_ast_34108_.i.i ], [ %lpad.phi, %for_exit.i1.i ], [ %lpad.phi, %unwind_ast_92709_.i.i ]
%218 = icmp eq i64 %51, 0
br i1 %218, label %"_ZN98core..result..Result$LT$collections..vec..Vec$LT$io..net..addrinfo..Info$GT$$C$$x20io..IoError$GT$15glue_drop.2953917h1b8c21fd5bae00f3E.exit.i.body.i", label %for_exit.i.i70
for_exit.i.i70: ; preds = %cond.i.i
%219 = getelementptr inbounds %"struct.io::net::addrinfo::Info<[]>"* %addrs.sroa.0.0.388.lcssa.i.i.i, i64 0, i32 0, i32 0, i32 0
%220 = mul i64 %51, 48
invoke void @je_sdallocx(i8* %219, i64 %220, i32 0)
to label %"_ZN98core..result..Result$LT$collections..vec..Vec$LT$io..net..addrinfo..Info$GT$$C$$x20io..IoError$GT$15glue_drop.2953917h1b8c21fd5bae00f3E.exit.i.body.i" unwind label %"_ZN98core..result..Result$LT$collections..vec..Vec$LT$io..net..addrinfo..Info$GT$$C$$x20io..IoError$GT$15glue_drop.2953917h1b8c21fd5bae00f3E.exit.i.i", !noalias !0
"_ZN98core..result..Result$LT$collections..vec..Vec$LT$io..net..addrinfo..Info$GT$$C$$x20io..IoError$GT$15glue_drop.2953917h1b8c21fd5bae00f3E.exit.i.i": ; preds = %for_exit.i.i70, %for_exit.i150.i
%221 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %"_ZN98core..result..Result$LT$collections..vec..Vec$LT$io..net..addrinfo..Info$GT$$C$$x20io..IoError$GT$15glue_drop.2953917h1b8c21fd5bae00f3E.exit.i.body.i"
"_ZN98core..result..Result$LT$collections..vec..Vec$LT$io..net..addrinfo..Info$GT$$C$$x20io..IoError$GT$15glue_drop.2953917h1b8c21fd5bae00f3E.exit.i.body.i": ; preds = %"_ZN98core..result..Result$LT$collections..vec..Vec$LT$io..net..addrinfo..Info$GT$$C$$x20io..IoError$GT$15glue_drop.2953917h1b8c21fd5bae00f3E.exit.i.i", %for_exit.i.i70, %cond.i.i
%eh.lpad-body.i = phi { i8*, i32 } [ %221, %"_ZN98core..result..Result$LT$collections..vec..Vec$LT$io..net..addrinfo..Info$GT$$C$$x20io..IoError$GT$15glue_drop.2953917h1b8c21fd5bae00f3E.exit.i.i" ], [ %eh.lpad-body142.i, %for_exit.i.i70 ], [ %eh.lpad-body142.i, %cond.i.i ]
call void @llvm.lifetime.end(i64 72, i8* %9), !alias.scope !71, !noalias !74
resume { i8*, i32 } %eh.lpad-body.i
unwind_custom_.i: ; preds = %normal-return7.i
%222 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%223 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]"* %6, i64 0, i32 2, i64 4
%224 = bitcast i64* %223 to i8*
%225 = load i8* %224, align 8, !range !38, !alias.scope !82, !noalias !85
%cond.i.i.i = icmp eq i8 %225, 1
br i1 %cond.i.i.i, label %enum-iter-variant-1.i.i.i, label %_ZN16std..io..IoError14glue_drop.162517h31ec762eed7ef64fE.exit.i
enum-iter-variant-1.i.i.i: ; preds = %unwind_custom_.i
%226 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]"* %6, i64 0, i32 2, i64 7
%227 = load i64* %226, align 8, !alias.scope !87, !noalias !85
%228 = icmp eq i64 %227, 0
br i1 %228, label %_ZN16std..io..IoError14glue_drop.162517h31ec762eed7ef64fE.exit.i, label %then-block-211-.i.i.i.i.i.i
then-block-211-.i.i.i.i.i.i: ; preds = %enum-iter-variant-1.i.i.i
%229 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]"* %6, i64 0, i32 2, i64 5
%.idx.i.i.i.i.i.i = bitcast i64* %229 to i8**
%.idx.val.i.i.i.i.i.i = load i8** %.idx.i.i.i.i.i.i, align 8, !alias.scope !87, !noalias !85
call void @je_sdallocx(i8* %.idx.val.i.i.i.i.i.i, i64 %227, i32 0), !noalias !90
br label %_ZN16std..io..IoError14glue_drop.162517h31ec762eed7ef64fE.exit.i
_ZN16std..io..IoError14glue_drop.162517h31ec762eed7ef64fE.exit.i: ; preds = %then-block-211-.i.i.i.i.i.i, %enum-iter-variant-1.i.i.i, %unwind_custom_.i
call void @llvm.lifetime.end(i64 72, i8* %8), !alias.scope !82, !noalias !85
resume { i8*, i32 } %222
normal-return7.i: ; preds = %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit.i.i.i", %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit239.i.i.i"
%.pre-phi.ph.i = phi [8 x i64]* [ %161, %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit.i.i.i" ], [ %19, %"_ZN50core..option..Option$LT$rustrt..c_str..CString$GT$15glue_drop.2984817h731fb823050f55a5E.exit239.i.i.i" ]
%230 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]"* %6, i64 0, i32 2
%231 = bitcast [8 x i64]* %.pre-phi.ph.i to i8*
%232 = bitcast [8 x i64]* %230 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %232, i8* %231, i64 64, i32 8, i1 false), !alias.scope !91, !noalias !92
store i8 1, i8* %8, align 8, !alias.scope !93, !noalias !94
call void @llvm.memset.p0i8.i64(i8* %231, i8 0, i64 64, i32 8, i1 false), !alias.scope !71, !noalias !74
call void @llvm.lifetime.end(i64 72, i8* %9), !alias.scope !71, !noalias !74
call void @llvm.lifetime.end(i64 72, i8* %9), !noalias !0
%233 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]"* %6, i64 0, i32 2
%234 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %5 to i8*
call void @llvm.lifetime.start(i64 16, i8* %234), !noalias !95
%235 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %5, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.std::io::IoError<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @_ZN2io17IoError.fmt..Show3fmt20h4e5239989c386b1bsClE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %235, align 8, !alias.scope !96, !noalias !99
%236 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %5, i64 0, i32 1
%.c.i.i = bitcast [8 x i64]* %233 to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i.i, %"enum.core::fmt::Void<[]>[#3]"** %236, align 8, !alias.scope !96, !noalias !99
%237 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %237), !noalias !95
%__fat_ptr4.sroa.0.0..sroa_idx.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @"_ZN6result23Result$LT$T$C$$x20E$GT$6unwrap15__STATIC_FMTSTR20hb10265f657406cf2R9mE", i64 0, i64 0), %str_slice** %__fat_ptr4.sroa.0.0..sroa_idx.i, align 8, !noalias !95
%__fat_ptr4.sroa.5.0..sroa_idx47.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr4.sroa.5.0..sroa_idx47.i, align 8, !noalias !95
%238 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %238, align 8, !alias.scope !101, !noalias !104
%__fat_ptr6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %5, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr6.sroa.0.0..sroa_idx.i, align 8, !noalias !95
%__fat_ptr6.sroa.5.0..sroa_idx42.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr6.sroa.5.0..sroa_idx42.i, align 8, !noalias !95
invoke fastcc void @_ZN9panicking9panic_fmt20heef0d8eba24c8ed4X6jE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i, { %str_slice, i64 }* noalias nocapture readonly dereferenceable(24) @"_ZN6result23Result$LT$T$C$$x20E$GT$6unwrap8_run_fmt10_FILE_LINE20hce989b18623e43c1s9mE")
to label %.noexc.i unwind label %unwind_custom_.i, !noalias !85
.noexc.i: ; preds = %normal-return7.i
unreachable
unwind_ast_9_: ; preds = %then-block-52-
%239 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%240 = icmp eq i64 %ipaddrs.sroa.10.0.copyload, 0
br i1 %240, label %"_ZN53collections..vec..Vec$LT$std..io..net..ip..IpAddr$GT$14glue_drop.145717h5891081e0c4c0ab2E.exit19", label %for_loopback.i.i18
for_exit.i.i15: ; preds = %for_loopback.i.i18
%241 = getelementptr inbounds %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %ipaddrs.sroa.0.0.copyload, i64 0, i32 0
%242 = mul i64 %ipaddrs.sroa.10.0.copyload, 18
tail call void @je_sdallocx(i8* %241, i64 %242, i32 0), !noalias !107
br label %"_ZN53collections..vec..Vec$LT$std..io..net..ip..IpAddr$GT$14glue_drop.145717h5891081e0c4c0ab2E.exit19"
for_loopback.i.i18: ; preds = %unwind_ast_9_, %for_loopback.i.i18
%.sroa.014.0.19.i.i16 = phi %"enum.std::io::net::ip::IpAddr<[]>[#1]"* [ %245, %for_loopback.i.i18 ], [ %ipaddrs.sroa.0.0.copyload, %unwind_ast_9_ ]
%243 = icmp eq %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %.sroa.014.0.19.i.i16, %247
%244 = icmp eq %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %.sroa.014.0.19.i.i16, null
%or.cond.i.i17 = or i1 %243, %244
%245 = getelementptr inbounds %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %.sroa.014.0.19.i.i16, i64 1
br i1 %or.cond.i.i17, label %for_exit.i.i15, label %for_loopback.i.i18
"_ZN53collections..vec..Vec$LT$std..io..net..ip..IpAddr$GT$14glue_drop.145717h5891081e0c4c0ab2E.exit19": ; preds = %unwind_ast_9_, %for_exit.i.i15
resume { i8*, i32 } %239
normal-return1: ; preds = %"_ZN3vec17Vec$LT$T$GT$.Drop4drop20h4462356055718563373E.exit34.i", %for_exit.i150.i
store i8 0, i8* %8, align 8, !alias.scope !93, !noalias !94
call void @llvm.memset.p0i8.i64(i8* %184, i8 0, i64 24, i32 8, i1 false), !alias.scope !71, !noalias !74
call void @llvm.lifetime.end(i64 72, i8* %9), !alias.scope !71, !noalias !74
call void @llvm.lifetime.end(i64 72, i8* %9), !noalias !0
%246 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]"* %6, i64 0, i32 2
%ipaddrs.sroa.0.0..sroa_cast31 = bitcast [8 x i64]* %246 to %"enum.std::io::net::ip::IpAddr<[]>[#1]"**
%ipaddrs.sroa.0.0.copyload = load %"enum.std::io::net::ip::IpAddr<[]>[#1]"** %ipaddrs.sroa.0.0..sroa_cast31, align 8
%ipaddrs.sroa.7.0..sroa_idx34 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]"* %6, i64 0, i32 2, i64 1
%ipaddrs.sroa.7.0.copyload = load i64* %ipaddrs.sroa.7.0..sroa_idx34, align 8
%ipaddrs.sroa.10.0..sroa_idx37 = getelementptr inbounds %"enum.core::result::Result<[collections::vec::Vec<std::io::net::ip::IpAddr>, std::io::IoError]>[#3]"* %6, i64 0, i32 2, i64 2
%ipaddrs.sroa.10.0.copyload = load i64* %ipaddrs.sroa.10.0..sroa_idx37, align 8
call void @llvm.lifetime.end(i64 72, i8* %8), !alias.scope !82, !noalias !85
call void @llvm.lifetime.end(i64 72, i8* %8)
%247 = getelementptr inbounds %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %ipaddrs.sroa.0.0.copyload, i64 %ipaddrs.sroa.7.0.copyload
%248 = icmp eq i64 %ipaddrs.sroa.7.0.copyload, 0
br i1 %248, label %then-block-52-, label %normal-return2
for_exit: ; preds = %normal-return2, %for_loopback.backedge
%found_local.0.lcssa = phi i1 [ %found_local.0.be, %for_loopback.backedge ], [ %found_local.062, %normal-return2 ]
br i1 %found_local.0.lcssa, label %next-block, label %then-block-52-
for_body: ; preds = %normal-return2
br i1 %found_local.062, label %for_loopback.backedge, label %match_case.i.i
for_loopback.backedge: ; preds = %for_body, %match_case12.i.i, %join16.i.i, %join18.i.i, %before_rhs21.i.i, %match_case.i.i
%found_local.0.be = phi i1 [ true, %for_body ], [ false, %match_case.i.i ], [ false, %join18.i.i ], [ %264, %before_rhs21.i.i ], [ false, %join16.i.i ], [ false, %match_case12.i.i ]
%249 = icmp eq %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %250, %247
br i1 %249, label %for_exit, label %normal-return2
normal-return2: ; preds = %normal-return1, %for_loopback.backedge
%found_local.062 = phi i1 [ %found_local.0.be, %for_loopback.backedge ], [ false, %normal-return1 ]
%ipaddrs.sroa.0.0.ipaddrs.idx.val3961 = phi %"enum.std::io::net::ip::IpAddr<[]>[#1]"* [ %250, %for_loopback.backedge ], [ %ipaddrs.sroa.0.0.copyload, %normal-return1 ]
%250 = getelementptr inbounds %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %ipaddrs.sroa.0.0.ipaddrs.idx.val3961, i64 1
%251 = icmp eq %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %ipaddrs.sroa.0.0.ipaddrs.idx.val3961, null
br i1 %251, label %for_exit, label %for_body
match_case.i.i: ; preds = %for_body
%252 = getelementptr inbounds %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %ipaddrs.sroa.0.0.ipaddrs.idx.val3961, i64 0, i32 0
%253 = load i8* %252, align 1, !range !38, !alias.scope !110, !noalias !113
%cond51.i.i = icmp eq i8 %253, 0
br i1 %cond51.i.i, label %match_case12.i.i, label %for_loopback.backedge
match_case12.i.i: ; preds = %match_case.i.i
%254 = bitcast %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %ipaddrs.sroa.0.0.ipaddrs.idx.val3961 to { i8, i8, i8, i8, i8 }*
%255 = getelementptr inbounds %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %ipaddrs.sroa.0.0.ipaddrs.idx.val3961, i64 0, i32 1, i64 0
%256 = getelementptr inbounds { i8, i8, i8, i8, i8 }* %254, i64 0, i32 3
%257 = getelementptr inbounds %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %ipaddrs.sroa.0.0.ipaddrs.idx.val3961, i64 0, i32 2, i64 1
%258 = bitcast i16* %257 to i8*
%.val100.i.i = load i8* %255, align 1, !alias.scope !110, !noalias !113
%259 = icmp eq i8 %.val100.i.i, 127
br i1 %259, label %join16.i.i, label %for_loopback.backedge
join16.i.i: ; preds = %match_case12.i.i
%260 = getelementptr inbounds %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %ipaddrs.sroa.0.0.ipaddrs.idx.val3961, i64 0, i32 2
%261 = bitcast [8 x i16]* %260 to i8*
%.val98.i.i = load i8* %261, align 1, !alias.scope !110, !noalias !113
%262 = icmp eq i8 %.val98.i.i, 0
br i1 %262, label %join18.i.i, label %for_loopback.backedge
join18.i.i: ; preds = %join16.i.i
%.val96.i.i = load i8* %256, align 1, !alias.scope !110, !noalias !113
%263 = icmp eq i8 %.val96.i.i, 0
br i1 %263, label %before_rhs21.i.i, label %for_loopback.backedge
before_rhs21.i.i: ; preds = %join18.i.i
%.val.i.i = load i8* %258, align 1, !alias.scope !110, !noalias !113
%264 = icmp eq i8 %.val.i.i, 1
br label %for_loopback.backedge
then-block-52-: ; preds = %normal-return1, %for_exit
%265 = bitcast %str_slice* %7 to i8*
call void @llvm.lifetime.start(i64 16, i8* %265)
%266 = getelementptr inbounds %str_slice* %7, i64 0, i32 0
store i8* getelementptr inbounds ([29 x i8]* @str1739, i64 0, i64 0), i8** %266, align 8
%267 = getelementptr inbounds %str_slice* %7, i64 0, i32 1
store i64 29, i64* %267, align 8
invoke fastcc void @_ZN6unwind12begin_unwind21h16988964954821698211E(%str_slice* noalias nocapture dereferenceable(16) %7)
to label %normal-return4 unwind label %unwind_ast_9_
normal-return4: ; preds = %then-block-52-
call void @llvm.lifetime.end(i64 16, i8* %265)
unreachable
next-block: ; preds = %for_exit
%268 = icmp eq i64 %ipaddrs.sroa.10.0.copyload, 0
br i1 %268, label %"_ZN53collections..vec..Vec$LT$std..io..net..ip..IpAddr$GT$14glue_drop.145717h5891081e0c4c0ab2E.exit", label %for_loopback.i.i
for_exit.i.i: ; preds = %for_loopback.i.i
%269 = getelementptr inbounds %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %ipaddrs.sroa.0.0.copyload, i64 0, i32 0
%270 = mul i64 %ipaddrs.sroa.10.0.copyload, 18
tail call void @je_sdallocx(i8* %269, i64 %270, i32 0), !noalias !115
br label %"_ZN53collections..vec..Vec$LT$std..io..net..ip..IpAddr$GT$14glue_drop.145717h5891081e0c4c0ab2E.exit"
for_loopback.i.i: ; preds = %next-block, %for_loopback.i.i
%.sroa.014.0.19.i.i = phi %"enum.std::io::net::ip::IpAddr<[]>[#1]"* [ %273, %for_loopback.i.i ], [ %ipaddrs.sroa.0.0.copyload, %next-block ]
%271 = icmp eq %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %.sroa.014.0.19.i.i, %247
%272 = icmp eq %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %.sroa.014.0.19.i.i, null
%or.cond.i.i = or i1 %271, %272
%273 = getelementptr inbounds %"enum.std::io::net::ip::IpAddr<[]>[#1]"* %.sroa.014.0.19.i.i, i64 1
br i1 %or.cond.i.i, label %for_exit.i.i, label %for_loopback.i.i
"_ZN53collections..vec..Vec$LT$std..io..net..ip..IpAddr$GT$14glue_drop.145717h5891081e0c4c0ab2E.exit": ; preds = %next-block, %for_exit.i.i
ret void
}
define dllexport i64 @main(i64, i8** nocapture readnone) unnamed_addr {
top:
%2 = alloca %str_slice, align 8
%3 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args.i1.i.i.i.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%loop_option.i.i95.i.i.i.i.i = alloca %"enum.core::option::Option<[proc():Send]>[#1]", align 8
%loop_option.i.i.i.i.i.i.i = alloca %"enum.core::option::Option<[proc():Send]>[#1]", align 8
%4 = alloca %str_slice, align 8
%5 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args.i.i.i22.i.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%6 = alloca %str_slice, align 8
%7 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args11.i.i.i.i.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%loop_option.i.i.i.i.i = alloca %"enum.core::option::Option<[proc():Send]>[#1]", align 8
%8 = alloca %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]", align 8
%__uniq_fat_ptr.i.i.i = alloca { i8*, void (i8*)** }, align 8
%arg.i.i.i = alloca { i8*, void (i8*)** }, align 8
%9 = alloca %str_slice, align 8
%10 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args.i.i.i.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%11 = alloca %str_slice, align 8
%12 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args.i.i.i.i.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%addr_of.i.i.i.i.i.i.i.i = alloca i32, align 4
%info.i.i.i.i.i.i.i = alloca %"struct.libc::types::os::arch::extra::SYSTEM_INFO<[]>[#3]", align 8
%something_around_the_top_of_the_stack.i.i = alloca i64, align 8
%my_stack_top.i.i = alloca i64, align 8
%my_stack_bottom.i.i = alloca i64, align 8
%exit_code.i.i = alloca %"enum.core::option::Option<[int]>[#3]", align 8
%main.i.i = alloca %"enum.core::option::Option<[proc():'static]>[#3]", align 8
%.sroa.317.i.i = alloca [7 x i8], align 1
%.sroa.4.i.i = alloca [7 x i8], align 1
%13 = alloca { void (i8*)*, i8* }, align 8
%__closure.i.i = alloca { i64, {}*, i8*, i8*, { i64*, i64*, %"enum.core::option::Option<[proc():'static]>[#3]"*, %"enum.core::option::Option<[int]>[#3]"* } }, align 8
%14 = alloca { void (i8*)*, i8* }, align 8
%15 = bitcast { void (i8*)*, i8* }* %14 to i8*
call void @llvm.lifetime.start(i64 16, i8* %15)
%16 = tail call i8* @je_mallocx(i64 40, i32 0)
%17 = icmp eq i8* %16, null
br i1 %17, label %then-block-1016-.i.i, label %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i
then-block-1016-.i.i: ; preds = %top
tail call fastcc void @_ZN3oom20heb64331fabedeb18pTaE()
unreachable
_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i: ; preds = %top
%18 = getelementptr inbounds i8* %16, i64 8
%19 = bitcast i8* %18 to {}**
store {}* bitcast (void ({ i64, {}*, i8*, i8*, { i8* } }**)* @"_ZN128Box$LT$$LP$uint$C$$x20$RP$const$x20$LP$$RP$$C$$x20$RP$const$x20i8$C$$x20$RP$const$x20i8$C$$x20$LP$$RP$const$x20u8$C$$RP$$RP$$GT$14glue_drop.285517h3d0a850e1b321b00E" to {}*), {}** %19, align 8
%20 = getelementptr inbounds i8* %16, i64 32
%21 = bitcast i8* %20 to i8**
store i8* bitcast (void ()* @_ZN4main20hcabd963f65d0eea8gaaE to i8*), i8** %21, align 8
%22 = getelementptr inbounds { void (i8*)*, i8* }* %14, i64 0, i32 0
store void (i8*)* @_ZN10lang_start12closure.2852E, void (i8*)** %22, align 8
%23 = getelementptr inbounds { void (i8*)*, i8* }* %14, i64 0, i32 1
store i8* %16, i8** %23, align 8
%24 = bitcast i64* %something_around_the_top_of_the_stack.i.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %24), !noalias !118
store i64 1, i64* %something_around_the_top_of_the_stack.i.i, align 8, !noalias !118
%25 = bitcast i64* %my_stack_top.i.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %25), !noalias !118
%26 = ptrtoint i64* %something_around_the_top_of_the_stack.i.i to i64
store i64 %26, i64* %my_stack_top.i.i, align 8, !noalias !118
%27 = bitcast i64* %my_stack_bottom.i.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %27), !noalias !118
%28 = add i64 %26, -1028576
store i64 %28, i64* %my_stack_bottom.i.i, align 8, !noalias !118
%29 = invoke i32 @TlsAlloc()
to label %.noexc.i.i unwind label %unwind_custom_.i.i
.noexc.i.i: ; preds = %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i
store i32 %29, i32* @_ZN9local_ptr6native10RT_TLS_KEY20hde2fb88314fef024plaE, align 4
%30 = icmp eq i32 %29, -1
br i1 %30, label %then-block-1253-.i.i.i.i.i.i, label %_ZN9local_ptr6native4init20h0b8a31c914a93edaulaE.exit.i.i.i.i
then-block-1253-.i.i.i.i.i.i: ; preds = %.noexc.i.i
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN20thread_local_storage6create14_MSG_FILE_LINE20hbf26a2c2f4e59a61ruaE)
to label %.noexc2.i.i unwind label %unwind_custom_.i.i
.noexc2.i.i: ; preds = %then-block-1253-.i.i.i.i.i.i
unreachable
_ZN9local_ptr6native4init20h0b8a31c914a93edaulaE.exit.i.i.i.i: ; preds = %.noexc.i.i
%31 = invoke i8* @je_mallocx(i64 48, i32 0)
to label %.noexc3.i.i unwind label %unwind_custom_.i.i
.noexc3.i.i: ; preds = %_ZN9local_ptr6native4init20h0b8a31c914a93edaulaE.exit.i.i.i.i
%32 = icmp eq i8* %31, null
br i1 %32, label %then-block-10532-.i.i.i.i.i.i, label %normal-return.i.i.i.i.i
then-block-10532-.i.i.i.i.i.i: ; preds = %.noexc3.i.i
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE()
unreachable
normal-return.i.i.i.i.i: ; preds = %.noexc3.i.i
%33 = bitcast i8* %31 to %"struct.exclusive::Exclusive<[collections::vec::Vec<proc():Send>]>"*
%34 = invoke i8* @je_mallocx(i64 40, i32 0)
to label %.noexc.i.i.i.i.i.i unwind label %unwind_custom_.body.i.i.i.i.i, !noalias !121
.noexc.i.i.i.i.i.i: ; preds = %normal-return.i.i.i.i.i
%35 = icmp eq i8* %34, null
br i1 %35, label %then-block-6280-.i.i.i.i.i.i.i.i.i.i, label %_ZN5mutex17StaticNativeMutex3new20h6076b1113884a9dbiDbE.exit.i.i.i.i.i.i.i
then-block-6280-.i.i.i.i.i.i.i.i.i.i: ; preds = %.noexc.i.i.i.i.i.i
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE()
unreachable
_ZN5mutex17StaticNativeMutex3new20h6076b1113884a9dbiDbE.exit.i.i.i.i.i.i.i: ; preds = %.noexc.i.i.i.i.i.i
%36 = invoke i32 @InitializeCriticalSectionAndSpinCount(i8* %34, i32 4000)
to label %.noexc11.i.i.i.i.i.i unwind label %unwind_custom_.body.i.i.i.i.i, !noalias !121
.noexc11.i.i.i.i.i.i: ; preds = %_ZN5mutex17StaticNativeMutex3new20h6076b1113884a9dbiDbE.exit.i.i.i.i.i.i.i
%37 = bitcast i8* %31 to %"struct.core::atomic::AtomicUint<[]>[#3]"*
%38 = ptrtoint i8* %34 to i64
%oldret.i.i.i.i.i.i.i.i.i.i = insertvalue %"struct.core::cell::UnsafeCell<[uint]>[#3]" undef, i64 %38, 0
%oldret6.i.i.i.i.i.i.i.i.i = insertvalue %"struct.core::atomic::AtomicUint<[]>[#3]" undef, %"struct.core::cell::UnsafeCell<[uint]>[#3]" %oldret.i.i.i.i.i.i.i.i.i.i, 0
store %"struct.core::atomic::AtomicUint<[]>[#3]" %oldret6.i.i.i.i.i.i.i.i.i, %"struct.core::atomic::AtomicUint<[]>[#3]"* %37, align 8, !alias.scope !125, !noalias !132
%39 = invoke i8* @CreateEventA(%"struct.libc::types::os::arch::extra::SECURITY_ATTRIBUTES<[]>[#3]"* null, i32 0, i32 0, i8* null)
to label %normal-return2.i.i.i.i.i unwind label %unwind_custom_.body.i.i.i.i.i, !noalias !121
unwind_custom_.body.i.i.i.i.i: ; preds = %.noexc11.i.i.i.i.i.i, %_ZN5mutex17StaticNativeMutex3new20h6076b1113884a9dbiDbE.exit.i.i.i.i.i.i.i, %normal-return.i.i.i.i.i
%40 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
invoke void @je_sdallocx(i8* %31, i64 48, i32 0)
to label %.noexc4.i.i unwind label %unwind_custom_.i.i
.noexc4.i.i: ; preds = %unwind_custom_.body.i.i.i.i.i
%.fca.1.extract.i.i.i.i.i = extractvalue { i8*, i32 } %40, 1
br label %resume.i.i.i.i.i
resume.i.i.i.i.i: ; preds = %.noexc5.i.i, %.noexc4.i.i
%.sink = phi { i8*, i32 } [ %40, %.noexc4.i.i ], [ %48, %.noexc5.i.i ]
%.sroa.4.0.i.i.i.i.i = phi i32 [ %.fca.1.extract31.i.i.i.i.i, %.noexc5.i.i ], [ %.fca.1.extract.i.i.i.i.i, %.noexc4.i.i ]
%.fca.0.extract24.i.i.i.i.i = extractvalue { i8*, i32 } %.sink, 0
%.fca.0.insert26.i.i.i.i.i = insertvalue { i8*, i32 } undef, i8* %.fca.0.extract24.i.i.i.i.i, 0
%.fca.1.insert.i.i.i.i.i = insertvalue { i8*, i32 } %.fca.0.insert26.i.i.i.i.i, i32 %.sroa.4.0.i.i.i.i.i, 1
br label %unwind_custom_.body.i.i
normal-return2.i.i.i.i.i: ; preds = %.noexc11.i.i.i.i.i.i
%41 = getelementptr inbounds i8* %31, i64 8
%42 = bitcast i8* %41 to %"struct.core::atomic::AtomicUint<[]>[#3]"*
%43 = ptrtoint i8* %39 to i64
%oldret.i9.i.i.i.i.i.i.i.i.i = insertvalue %"struct.core::cell::UnsafeCell<[uint]>[#3]" undef, i64 %43, 0
%oldret.i.i.i.i.i.i.i.i.i = insertvalue %"struct.core::atomic::AtomicUint<[]>[#3]" undef, %"struct.core::cell::UnsafeCell<[uint]>[#3]" %oldret.i9.i.i.i.i.i.i.i.i.i, 0
store %"struct.core::atomic::AtomicUint<[]>[#3]" %oldret.i.i.i.i.i.i.i.i.i, %"struct.core::atomic::AtomicUint<[]>[#3]"* %42, align 8, !alias.scope !125, !noalias !132
%44 = getelementptr inbounds i8* %31, i64 16
store i8 1, i8* %44, align 8, !alias.scope !133, !noalias !132
%arg.i.sroa.0.0..sroa_idx.i.i.i.i.i = getelementptr inbounds i8* %31, i64 24
%45 = bitcast i8* %arg.i.sroa.0.0..sroa_idx.i.i.i.i.i to { void (i8*)*, i8* }**
store { void (i8*)*, i8* }* inttoptr (i64 1 to { void (i8*)*, i8* }*), { void (i8*)*, i8* }** %45, align 8
%arg.i.sroa.5.0..sroa_idx57.i.i.i.i.i = getelementptr inbounds i8* %31, i64 32
call void @llvm.memset.p0i8.i64(i8* %arg.i.sroa.5.0..sroa_idx57.i.i.i.i.i, i8 0, i64 16, i32 8, i1 false)
%46 = load atomic volatile i64* getelementptr inbounds ({ { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }* @_ZN11at_exit_imp7RUNNING20habfc260907389e38OaaE, i64 0, i32 0, i32 0) seq_cst, align 8
%47 = icmp eq i64 %46, 0
br i1 %47, label %normal-return10.i.i.i.i.i, label %normal-return7.i.i.i.i.i
unwind_ast_47_.i.i.i.i.i: ; preds = %then-block-129-.i.i.i.i.i, %normal-return7.i.i.i.i.i
%state.i.i.i.i.i.0 = phi %"struct.exclusive::Exclusive<[collections::vec::Vec<proc():Send>]>"* [ null, %then-block-129-.i.i.i.i.i ], [ %33, %normal-return7.i.i.i.i.i ]
%48 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
invoke fastcc void @"_ZN85Box$LT$exclusive..Exclusive$LT$collections..vec..Vec$LT$proc$LP$$RP$.Send$GT$$GT$$GT$14glue_drop.550717hc9d66629c1690e8eE"(%"struct.exclusive::Exclusive<[collections::vec::Vec<proc():Send>]>"* %state.i.i.i.i.i.0)
to label %.noexc5.i.i unwind label %unwind_custom_.i.i
.noexc5.i.i: ; preds = %unwind_ast_47_.i.i.i.i.i
%.fca.1.extract31.i.i.i.i.i = extractvalue { i8*, i32 } %48, 1
br label %resume.i.i.i.i.i
normal-return7.i.i.i.i.i: ; preds = %normal-return2.i.i.i.i.i
%49 = bitcast %str_slice* %11 to i8*
call void @llvm.lifetime.start(i64 16, i8* %49), !noalias !118
%50 = getelementptr inbounds %str_slice* %11, i64 0, i32 0
store i8* getelementptr inbounds ([29 x i8]* @str5515, i64 0, i64 0), i8** %50, align 8, !noalias !118
%51 = getelementptr inbounds %str_slice* %11, i64 0, i32 1
store i64 29, i64* %51, align 8, !noalias !118
%52 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %12 to i8*
call void @llvm.lifetime.start(i64 16, i8* %52), !noalias !118
%53 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %12, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%str_slice*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h12531999020422642356E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %53, align 8, !alias.scope !134, !noalias !137
%54 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %12, i64 0, i32 1
%.c.i.i.i.i.i.i = bitcast %str_slice* %11 to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i.i.i.i.i.i, %"enum.core::fmt::Void<[]>[#3]"** %54, align 8, !alias.scope !134, !noalias !137
%55 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i.i.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %55), !noalias !118
%__fat_ptr4.sroa.0.0..sroa_idx.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i.i.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN11at_exit_imp4init15__STATIC_FMTSTR20h349f0f2acd1459fcxbaE, i64 0, i64 0), %str_slice** %__fat_ptr4.sroa.0.0..sroa_idx.i.i.i.i.i, align 8, !noalias !118
%__fat_ptr4.sroa.5.0..sroa_idx42.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i.i.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr4.sroa.5.0..sroa_idx42.i.i.i.i.i, align 8, !noalias !118
%56 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i.i.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %56, align 8, !alias.scope !139, !noalias !142
%__fat_ptr6.sroa.0.0..sroa_idx.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i.i.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %12, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr6.sroa.0.0..sroa_idx.i.i.i.i.i, align 8, !noalias !118
%__fat_ptr6.sroa.5.0..sroa_idx37.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i.i.i, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr6.sroa.5.0..sroa_idx37.i.i.i.i.i, align 8, !noalias !118
invoke fastcc void @_ZN4util5abort20ha89562d169f67818NyaE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i.i.i.i.i)
to label %normal-return8.i.i.i.i.i unwind label %unwind_ast_47_.i.i.i.i.i
normal-return8.i.i.i.i.i: ; preds = %normal-return7.i.i.i.i.i
unreachable
normal-return10.i.i.i.i.i: ; preds = %normal-return2.i.i.i.i.i
%57 = ptrtoint i8* %31 to i64
%58 = atomicrmw xchg i64* getelementptr inbounds ({ { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }* @_ZN11at_exit_imp5QUEUE20hca9db8247d813a33KaaE, i64 0, i32 0, i32 0), i64 %57 seq_cst
%59 = icmp eq i64 %58, 0
br i1 %59, label %_ZN11at_exit_imp4init20hbf8dbae390a48ca2SaaE.exit.i.i.i.i, label %then-block-129-.i.i.i.i.i
then-block-129-.i.i.i.i.i: ; preds = %normal-return10.i.i.i.i.i
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN11at_exit_imp4init14_MSG_FILE_LINE20hbf26a2c2f4e59a61jcaE)
to label %normal-return11.i.i.i.i.i unwind label %unwind_ast_47_.i.i.i.i.i
normal-return11.i.i.i.i.i: ; preds = %then-block-129-.i.i.i.i.i
unreachable
_ZN11at_exit_imp4init20hbf8dbae390a48ca2SaaE.exit.i.i.i.i: ; preds = %normal-return10.i.i.i.i.i
invoke fastcc void @"_ZN85Box$LT$exclusive..Exclusive$LT$collections..vec..Vec$LT$proc$LP$$RP$.Send$GT$$GT$$GT$14glue_drop.550717hc9d66629c1690e8eE"(%"struct.exclusive::Exclusive<[collections::vec::Vec<proc():Send>]>"* null)
to label %.noexc6.i.i unwind label %unwind_custom_.i.i
.noexc6.i.i: ; preds = %_ZN11at_exit_imp4init20hbf8dbae390a48ca2SaaE.exit.i.i.i.i
%60 = bitcast %"struct.libc::types::os::arch::extra::SYSTEM_INFO<[]>[#3]"* %info.i.i.i.i.i.i.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %60), !noalias !118
call void @llvm.memset.p0i8.i64(i8* %60, i8 0, i64 48, i32 8, i1 false), !noalias !118
invoke void @GetSystemInfo(%"struct.libc::types::os::arch::extra::SYSTEM_INFO<[]>[#3]"* %info.i.i.i.i.i.i.i)
to label %.noexc7.i.i unwind label %unwind_custom_.i.i
.noexc7.i.i: ; preds = %.noexc6.i.i
%61 = invoke i8* @AddVectoredExceptionHandler(i32 0, i32 (%"struct.stack_overflow::imp::EXCEPTION_POINTERS<[]>"*)* @_ZN14stack_overflow3imp16vectored_handler20hf8b6099ab7ae4283hKaE)
to label %.noexc8.i.i unwind label %unwind_custom_.i.i
.noexc8.i.i: ; preds = %.noexc7.i.i
%62 = icmp eq i8* %61, null
br i1 %62, label %then-block-2323-.i.i.i.i.i.i.i, label %next-block.i.i.i.i.i.i.i
then-block-2323-.i.i.i.i.i.i.i: ; preds = %.noexc8.i.i
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN14stack_overflow3imp4init14_MSG_FILE_LINE20hbf26a2c2f4e59a61ILaE)
to label %.noexc9.i.i unwind label %unwind_custom_.i.i
.noexc9.i.i: ; preds = %then-block-2323-.i.i.i.i.i.i.i
unreachable
next-block.i.i.i.i.i.i.i: ; preds = %.noexc8.i.i
%63 = bitcast i32* %addr_of.i.i.i.i.i.i.i.i to i8*
call void @llvm.lifetime.start(i64 4, i8* %63), !noalias !145
store i32 20480, i32* %addr_of.i.i.i.i.i.i.i.i, align 4, !noalias !145
%64 = invoke i32 @SetThreadStackGuarantee(i32* %addr_of.i.i.i.i.i.i.i.i)
to label %.noexc10.i.i unwind label %unwind_custom_.i.i
.noexc10.i.i: ; preds = %next-block.i.i.i.i.i.i.i
%65 = icmp eq i32 %64, 0
call void @llvm.lifetime.end(i64 4, i8* %63), !noalias !145
br i1 %65, label %then-block-2370-.i.i.i.i.i.i.i.i, label %_ZN4init20h6fcc06e3009fa3bf1OcE.exit.i.i.i
then-block-2370-.i.i.i.i.i.i.i.i: ; preds = %.noexc10.i.i
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN14stack_overflow3imp12make_handler14_MSG_FILE_LINE20hbf26a2c2f4e59a61tMaE)
to label %.noexc11.i.i unwind label %unwind_custom_.i.i
.noexc11.i.i: ; preds = %then-block-2370-.i.i.i.i.i.i.i.i
unreachable
_ZN4init20h6fcc06e3009fa3bf1OcE.exit.i.i.i: ; preds = %.noexc10.i.i
call void @llvm.lifetime.end(i64 48, i8* %60), !noalias !118
%66 = atomicrmw add i64* getelementptr inbounds ({ { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }* @_ZN6unwind12CALLBACK_CNT20hca9db8247d813a33GucE, i64 0, i32 0, i32 0), i64 1 seq_cst
%67 = icmp ugt i64 %66, 15
br i1 %67, label %cond.i.i1.i.i, label %next2.i.i.i.i
cond.i.i1.i.i: ; preds = %_ZN4init20h6fcc06e3009fa3bf1OcE.exit.i.i.i
store atomic volatile i64 16, i64* getelementptr inbounds ({ { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }* @_ZN6unwind12CALLBACK_CNT20hca9db8247d813a33GucE, i64 0, i32 0, i32 0) seq_cst, align 8
br label %_ZN2rt4init20h53e74b2380c72350DauE.exit.i.i
next2.i.i.i.i: ; preds = %_ZN4init20h6fcc06e3009fa3bf1OcE.exit.i.i.i
%68 = getelementptr inbounds %"struct.core::atomic::AtomicUint<[]>[#3]"* bitcast ({ { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } }* @_ZN6unwind9CALLBACKS20hddf03420eded5e24kucE to %"struct.core::atomic::AtomicUint<[]>[#3]"*), i64 %66, i32 0, i32 0
%69 = atomicrmw xchg i64* %68, i64 ptrtoint (void ({ i8*, void (i8*)** }*, %str_slice*, i64)* @_ZN7failure7on_fail20h9c9adb2556da1ac8wcuE to i64) seq_cst
%70 = icmp eq i64 %69, 0
br i1 %70, label %_ZN2rt4init20h53e74b2380c72350DauE.exit.i.i, label %then-block-10016-.i.i.i.i
then-block-10016-.i.i.i.i: ; preds = %next2.i.i.i.i
%71 = bitcast %str_slice* %9 to i8*
call void @llvm.lifetime.start(i64 16, i8* %71), !noalias !118
%72 = getelementptr inbounds %str_slice* %9, i64 0, i32 0
store i8* getelementptr inbounds ([9 x i8]* @str6206, i64 0, i64 0), i8** %72, align 8, !noalias !118
%73 = getelementptr inbounds %str_slice* %9, i64 0, i32 1
store i64 9, i64* %73, align 8, !noalias !118
%74 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %10 to i8*
call void @llvm.lifetime.start(i64 16, i8* %74), !noalias !118
%75 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %10, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%str_slice*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h12531999020422642356E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %75, align 8, !alias.scope !148, !noalias !151
%76 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %10, i64 0, i32 1
%.c.i.i.i.i.i = bitcast %str_slice* %9 to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i.i.i.i.i, %"enum.core::fmt::Void<[]>[#3]"** %76, align 8, !alias.scope !148, !noalias !151
%77 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %77), !noalias !118
%__fat_ptr8.sroa.0.0..sroa_idx.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN6unwind8register15__STATIC_FMTSTR20h349f0f2acd1459fcTLcE, i64 0, i64 0), %str_slice** %__fat_ptr8.sroa.0.0..sroa_idx.i.i.i.i, align 8, !noalias !118
%__fat_ptr8.sroa.5.0..sroa_idx43.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr8.sroa.5.0..sroa_idx43.i.i.i.i, align 8, !noalias !118
%78 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %78, align 8, !alias.scope !153, !noalias !156
%__fat_ptr10.sroa.0.0..sroa_idx.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %10, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr10.sroa.0.0..sroa_idx.i.i.i.i, align 8, !noalias !118
%__fat_ptr10.sroa.5.0..sroa_idx38.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i.i, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr10.sroa.5.0..sroa_idx38.i.i.i.i, align 8, !noalias !118
invoke fastcc void @_ZN4util5abort20ha89562d169f67818NyaE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i.i.i.i)
to label %.noexc12.i.i unwind label %unwind_custom_.i.i
.noexc12.i.i: ; preds = %then-block-10016-.i.i.i.i
unreachable
_ZN2rt4init20h53e74b2380c72350DauE.exit.i.i: ; preds = %next2.i.i.i.i, %cond.i.i1.i.i
%79 = getelementptr inbounds %"enum.core::option::Option<[int]>[#3]"* %exit_code.i.i, i64 0, i32 0
call void @llvm.lifetime.start(i64 16, i8* %79), !noalias !118
store i8 0, i8* %79, align 8, !noalias !118
%80 = bitcast %"enum.core::option::Option<[proc():'static]>[#3]"* %main.i.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %80), !noalias !118
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %80, i8* %15, i64 16, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %15, i8 0, i64 16, i32 8, i1 false), !alias.scope !118
%81 = invoke i8* @je_mallocx(i64 120, i32 0)
to label %.noexc14.i.i unwind label %unwind_ast_812_.i.i
unwind_custom_.i.i: ; preds = %unwind_ast_47_.i.i.i.i.i, %_ZN11at_exit_imp4init20hbf8dbae390a48ca2SaaE.exit.i.i.i.i, %then-block-10016-.i.i.i.i, %then-block-2370-.i.i.i.i.i.i.i.i, %next-block.i.i.i.i.i.i.i, %then-block-2323-.i.i.i.i.i.i.i, %.noexc7.i.i, %.noexc6.i.i, %unwind_custom_.body.i.i.i.i.i, %_ZN9local_ptr6native4init20h0b8a31c914a93edaulaE.exit.i.i.i.i, %then-block-1253-.i.i.i.i.i.i, %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i
%82 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_custom_.body.i.i
unwind_custom_.body.i.i: ; preds = %unwind_custom_.i.i, %resume.i.i.i.i.i
%eh.lpad-body.i.i = phi { i8*, i32 } [ %82, %unwind_custom_.i.i ], [ %.fca.1.insert.i.i.i.i.i, %resume.i.i.i.i.i ]
%.fca.0.extract.i.i = extractvalue { i8*, i32 } %eh.lpad-body.i.i, 0
%.fca.1.extract.i.i = extractvalue { i8*, i32 } %eh.lpad-body.i.i, 1
br label %clean_custom_.i.i
clean_custom_.i.i: ; preds = %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit57.i.i", %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit.i.i", %unwind_custom_.body.i.i
%.sroa.040.0.i.i = phi i8* [ %.fca.0.extract37.i.i, %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit57.i.i" ], [ %.fca.0.extract33.i.i, %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit.i.i" ], [ %.fca.0.extract.i.i, %unwind_custom_.body.i.i ]
%.sroa.541.0.i.i = phi i32 [ %.fca.1.extract39.i.i, %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit57.i.i" ], [ %.fca.1.extract35.i.i, %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit.i.i" ], [ %.fca.1.extract.i.i, %unwind_custom_.body.i.i ]
%83 = load i8** %23, align 8, !alias.scope !118
%84 = icmp eq i8* %83, null
br i1 %84, label %"_ZN12proc$LP$$RP$14glue_drop.285817h9b970546fd4d4757E.exit51.i.i", label %cond.i50.i.i
cond.i50.i.i: ; preds = %clean_custom_.i.i
%85 = getelementptr inbounds i8* %83, i64 8
%86 = bitcast i8* %85 to void (i8*)**
%87 = load void (i8*)** %86, align 8
%88 = bitcast i8** %23 to i8*
call void %87(i8* %88)
br label %"_ZN12proc$LP$$RP$14glue_drop.285817h9b970546fd4d4757E.exit51.i.i"
"_ZN12proc$LP$$RP$14glue_drop.285817h9b970546fd4d4757E.exit51.i.i": ; preds = %cond.i50.i.i, %clean_custom_.i.i
call void @llvm.lifetime.end(i64 16, i8* %15), !alias.scope !118
%.fca.0.insert.i.i = insertvalue { i8*, i32 } undef, i8* %.sroa.040.0.i.i, 0
%.fca.1.insert.i.i = insertvalue { i8*, i32 } %.fca.0.insert.i.i, i32 %.sroa.541.0.i.i, 1
resume { i8*, i32 } %.fca.1.insert.i.i
.noexc14.i.i: ; preds = %_ZN2rt4init20h53e74b2380c72350DauE.exit.i.i
%89 = icmp eq i8* %81, null
br i1 %89, label %then-block-1016-.i.i.i.i, label %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i.i.i
then-block-1016-.i.i.i.i: ; preds = %.noexc14.i.i
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE(), !noalias !159
unreachable
_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i.i.i: ; preds = %.noexc14.i.i
%90 = bitcast i8* %81 to %"struct.rustrt::task::Task<[]>[#9]"*
store i8 0, i8* %81, align 8, !alias.scope !162, !noalias !159
%91 = getelementptr inbounds i8* %81, i64 24
%92 = bitcast i8* %91 to %"struct.rustrt::unwind::Unwinder<[]>[#9]"*
store %"struct.rustrt::unwind::Unwinder<[]>[#9]" zeroinitializer, %"struct.rustrt::unwind::Unwinder<[]>[#9]"* %92, align 8, !alias.scope !162, !noalias !159
%93 = getelementptr inbounds i8* %81, i64 32
%94 = bitcast i8* %93 to void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)**
store void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* null, void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %94, align 8, !alias.scope !165, !noalias !159
%95 = getelementptr inbounds i8* %81, i64 88
store i8 0, i8* %95, align 8, !alias.scope !162, !noalias !159
%96 = getelementptr inbounds i8* %81, i64 48
store i8 0, i8* %96, align 8, !alias.scope !162, !noalias !159
%97 = getelementptr inbounds i8* %81, i64 96
%98 = bitcast i8* %97 to i8**
store i8* null, i8** %98, align 8, !alias.scope !162, !noalias !159
%99 = getelementptr inbounds i8* %81, i64 112
store i8 1, i8* %99, align 8, !alias.scope !162, !noalias !159
%100 = invoke i8* @je_mallocx(i64 56, i32 0)
to label %.noexc.i.i.i unwind label %unwind_ast_43_.i.i.i, !noalias !159
.noexc.i.i.i: ; preds = %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i.i.i
%101 = icmp eq i8* %100, null
br i1 %101, label %then-block-1016-.i.i.i.i.i, label %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i.i.i.i
then-block-1016-.i.i.i.i.i: ; preds = %.noexc.i.i.i
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE(), !noalias !159
unreachable
_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i.i.i.i: ; preds = %.noexc.i.i.i
%102 = invoke i8* @je_mallocx(i64 40, i32 0)
to label %.noexc1.i.i.i unwind label %unwind_custom_.i.i.i.i, !noalias !159
.noexc1.i.i.i: ; preds = %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i.i.i.i
%103 = icmp eq i8* %102, null
br i1 %103, label %then-block-6280-.i.i.i.i.i.i.i, label %_ZN5mutex17StaticNativeMutex3new20h6076b1113884a9dbiDbE.exit.i.i.i.i
then-block-6280-.i.i.i.i.i.i.i: ; preds = %.noexc1.i.i.i
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE(), !noalias !168
unreachable
_ZN5mutex17StaticNativeMutex3new20h6076b1113884a9dbiDbE.exit.i.i.i.i: ; preds = %.noexc1.i.i.i
%104 = invoke i32 @InitializeCriticalSectionAndSpinCount(i8* %102, i32 4000)
to label %.noexc2.i.i.i unwind label %unwind_custom_.i.i.i.i, !noalias !159
.noexc2.i.i.i: ; preds = %_ZN5mutex17StaticNativeMutex3new20h6076b1113884a9dbiDbE.exit.i.i.i.i
%105 = bitcast i8* %100 to %"struct.core::atomic::AtomicUint<[]>[#3]"*
%106 = ptrtoint i8* %102 to i64
%oldret.i.i.i.i.i.i.i = insertvalue %"struct.core::cell::UnsafeCell<[uint]>[#3]" undef, i64 %106, 0
%oldret6.i.i.i.i.i.i = insertvalue %"struct.core::atomic::AtomicUint<[]>[#3]" undef, %"struct.core::cell::UnsafeCell<[uint]>[#3]" %oldret.i.i.i.i.i.i.i, 0
store %"struct.core::atomic::AtomicUint<[]>[#3]" %oldret6.i.i.i.i.i.i, %"struct.core::atomic::AtomicUint<[]>[#3]"* %105, align 8, !alias.scope !175, !noalias !159
%107 = invoke i8* @CreateEventA(%"struct.libc::types::os::arch::extra::SECURITY_ATTRIBUTES<[]>[#3]"* null, i32 0, i32 0, i8* null)
to label %_ZN5mutex11NativeMutex3new20h57f4e261e6dbf0fb9EbE.exit.i.i.i unwind label %unwind_custom_.i.i.i.i, !noalias !159
_ZN5mutex11NativeMutex3new20h57f4e261e6dbf0fb9EbE.exit.i.i.i: ; preds = %.noexc2.i.i.i
%108 = getelementptr inbounds i8* %100, i64 8
%109 = bitcast i8* %108 to %"struct.core::atomic::AtomicUint<[]>[#3]"*
%110 = ptrtoint i8* %107 to i64
%oldret.i9.i.i.i.i.i.i = insertvalue %"struct.core::cell::UnsafeCell<[uint]>[#3]" undef, i64 %110, 0
%oldret.i.i.i.i.i.i = insertvalue %"struct.core::atomic::AtomicUint<[]>[#3]" undef, %"struct.core::cell::UnsafeCell<[uint]>[#3]" %oldret.i9.i.i.i.i.i.i, 0
store %"struct.core::atomic::AtomicUint<[]>[#3]" %oldret.i.i.i.i.i.i, %"struct.core::atomic::AtomicUint<[]>[#3]"* %109, align 8, !alias.scope !175, !noalias !159
%111 = getelementptr inbounds i8* %100, i64 16
store i8 1, i8* %111, align 8, !alias.scope !176, !noalias !159
%112 = getelementptr inbounds i8* %100, i64 24
store i8 0, i8* %112, align 1, !noalias !159
%113 = getelementptr inbounds i8* %100, i64 32
%.sroa.0.0..sroa_cast8 = bitcast i8* %113 to i64*
store i64 %28, i64* %.sroa.0.0..sroa_cast8, align 8
%.sroa.6.0..sroa_idx = getelementptr inbounds i8* %100, i64 40
%.sroa.6.0..sroa_cast12 = bitcast i8* %.sroa.6.0..sroa_idx to i64*
store i64 %26, i64* %.sroa.6.0..sroa_cast12, align 8
%114 = getelementptr inbounds i8* %100, i64 48
%115 = bitcast i8* %114 to i64*
store i64 0, i64* %115, align 8, !noalias !159
%116 = bitcast { i8*, void (i8*)** }* %__uniq_fat_ptr.i.i.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %116), !noalias !177
%117 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr.i.i.i, i64 0, i32 0
store i8* %100, i8** %117, align 8, !noalias !177
%118 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr.i.i.i, i64 0, i32 1
store void (i8*)** bitcast ({ void (%"struct.task::Ops<[]>"**)*, i64, i64, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, i64, %"struct.rustrt::task::Task<[]>[#9]"*, { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::task::TaskOpts<[]>[#9]"*, { void (i8*)*, i8* }*)*, void ({ i64, i64 }*, %"struct.task::Ops<[]>"*)*, void (%"enum.core::option::Option<[uint]>[#3]"*, %"struct.task::Ops<[]>"*)*, i1 (%"struct.task::Ops<[]>"*)*, void ({ i8*, void (i8*)** }*, %"struct.task::Ops<[]>"*)* }* @vtable2486 to void (i8*)**), void (i8*)*** %118, align 8, !noalias !177
%119 = bitcast { i8*, void (i8*)** }* %arg.i.i.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %119), !noalias !177
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %119, i8* %116, i64 16, i32 8, i1 false), !noalias !177
call void @llvm.memset.p0i8.i64(i8* %116, i8 0, i64 16, i32 8, i1 false), !noalias !177
%120 = load i8** %98, align 8, !alias.scope !178, !noalias !185
%121 = icmp eq i8* %120, null
br i1 %121, label %_ZN4task4Task11put_runtime20h125659bdedad5258Q3bE.exit.i.i.i, label %then-block-7317-.i.i.i.i
unwind_custom_.i.i.i.i: ; preds = %.noexc2.i.i.i, %_ZN5mutex17StaticNativeMutex3new20h6076b1113884a9dbiDbE.exit.i.i.i.i, %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i.i.i.i
%122 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
invoke void @je_sdallocx(i8* %100, i64 56, i32 0)
to label %unwind_ast_43_.body.i.i.i unwind label %unwind_ast_43_.i.i.i, !noalias !159
clean_custom_.i.i.i: ; preds = %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit27.i.i.i", %.noexc16.i.i
%.sroa.5.0.i.i.i = phi i32 [ %.fca.1.extract12.i.i.i, %.noexc16.i.i ], [ %.fca.1.extract16.i.i.i, %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit27.i.i.i" ]
%.sroa.0.0.i.i.i = phi i8* [ %.fca.0.extract10.i.i.i, %.noexc16.i.i ], [ %.fca.0.extract14.i.i.i, %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit27.i.i.i" ]
%.fca.0.insert.i.i.i = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0.i.i.i, 0
%.fca.1.insert.i.i.i = insertvalue { i8*, i32 } %.fca.0.insert.i.i.i, i32 %.sroa.5.0.i.i.i, 1
br label %unwind_ast_812_.body.i.i
unwind_custom_.i4.i.i.i: ; preds = %then-block-7317-.i.i.i.i
%123 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%124 = getelementptr inbounds { i8*, void (i8*)** }* %arg.i.i.i, i64 0, i32 0
%125 = load i8** %124, align 8, !alias.scope !187, !noalias !188
%126 = icmp eq i8* %125, null
br i1 %126, label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i.i.i.i", label %cond.i13.i.i.i.i
cond.i13.i.i.i.i: ; preds = %unwind_custom_.i4.i.i.i
%127 = getelementptr inbounds { i8*, void (i8*)** }* %arg.i.i.i, i64 0, i32 1
%128 = load void (i8*)*** %127, align 8, !alias.scope !187, !noalias !188
%129 = load void (i8*)** %128, align 8, !noalias !189
invoke void %129(i8* %119)
to label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i.i.i.i" unwind label %unwind_ast_67_.i.i.i, !noalias !159
"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i.i.i.i": ; preds = %unwind_custom_.i4.i.i.i, %cond.i13.i.i.i.i
call void @llvm.lifetime.end(i64 16, i8* %119), !alias.scope !187, !noalias !188
br label %unwind_ast_67_.body.i.i.i
then-block-7317-.i.i.i.i: ; preds = %_ZN5mutex11NativeMutex3new20h57f4e261e6dbf0fb9EbE.exit.i.i.i
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN4task4Task11put_runtime14_MSG_FILE_LINE20hbf26a2c2f4e59a61f4bE)
to label %normal-return1.i.i.i.i unwind label %unwind_custom_.i4.i.i.i, !noalias !190
normal-return1.i.i.i.i: ; preds = %then-block-7317-.i.i.i.i
unreachable
_ZN4task4Task11put_runtime20h125659bdedad5258Q3bE.exit.i.i.i: ; preds = %_ZN5mutex11NativeMutex3new20h57f4e261e6dbf0fb9EbE.exit.i.i.i
call void @llvm.memmove.p0i8.p0i8.i64(i8* %97, i8* %119, i64 16, i32 8, i1 false)
call void @llvm.lifetime.end(i64 16, i8* %119), !alias.scope !187, !noalias !188
call void @llvm.lifetime.end(i64 16, i8* %119), !noalias !177
%130 = load i8** %117, align 8, !noalias !177
%131 = icmp eq i8* %130, null
br i1 %131, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit.i.i.i", label %cond.i.i13.i.i
unwind_ast_43_.i.i.i: ; preds = %unwind_custom_.i.i.i.i, %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i.i.i
%132 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_43_.body.i.i.i
unwind_ast_43_.body.i.i.i: ; preds = %unwind_ast_43_.i.i.i, %unwind_custom_.i.i.i.i
%eh.lpad-body.i.i.i = phi { i8*, i32 } [ %132, %unwind_ast_43_.i.i.i ], [ %122, %unwind_custom_.i.i.i.i ]
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %90)
to label %.noexc16.i.i unwind label %unwind_ast_812_.i.i
.noexc16.i.i: ; preds = %unwind_ast_43_.body.i.i.i
%.fca.1.extract12.i.i.i = extractvalue { i8*, i32 } %eh.lpad-body.i.i.i, 1
%.fca.0.extract10.i.i.i = extractvalue { i8*, i32 } %eh.lpad-body.i.i.i, 0
br label %clean_custom_.i.i.i
cond.i.i13.i.i: ; preds = %_ZN4task4Task11put_runtime20h125659bdedad5258Q3bE.exit.i.i.i
%133 = load void (i8*)*** %118, align 8, !noalias !177
%134 = load void (i8*)** %133, align 8, !noalias !159
invoke void %134(i8* %116)
to label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit.i.i.i" unwind label %unwind_ast_812_.i.i
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit.i.i.i": ; preds = %cond.i.i13.i.i, %_ZN4task4Task11put_runtime20h125659bdedad5258Q3bE.exit.i.i.i
call void @llvm.lifetime.end(i64 16, i8* %116), !noalias !177
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %_ZN4task3new20hb6f404e8cbc51207AaaE.exit.i.i unwind label %unwind_ast_812_.i.i
unwind_ast_67_.i.i.i: ; preds = %cond.i13.i.i.i.i
%135 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_67_.body.i.i.i
unwind_ast_67_.body.i.i.i: ; preds = %unwind_ast_67_.i.i.i, %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i.i.i.i"
%eh.lpad-body6.i.i.i = phi { i8*, i32 } [ %135, %unwind_ast_67_.i.i.i ], [ %123, %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i.i.i.i" ]
%.fca.0.extract14.i.i.i = extractvalue { i8*, i32 } %eh.lpad-body6.i.i.i, 0
%.fca.1.extract16.i.i.i = extractvalue { i8*, i32 } %eh.lpad-body6.i.i.i, 1
%136 = load i8** %117, align 8, !noalias !177
%137 = icmp eq i8* %136, null
br i1 %137, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit27.i.i.i", label %cond.i22.i.i.i
cond.i22.i.i.i: ; preds = %unwind_ast_67_.body.i.i.i
%138 = load void (i8*)*** %118, align 8, !noalias !177
%139 = load void (i8*)** %138, align 8, !noalias !159
invoke void %139(i8* %116)
to label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit27.i.i.i" unwind label %unwind_ast_812_.i.i
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit27.i.i.i": ; preds = %cond.i22.i.i.i, %unwind_ast_67_.body.i.i.i
call void @llvm.lifetime.end(i64 16, i8* %116), !noalias !177
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %90)
to label %clean_custom_.i.i.i unwind label %unwind_ast_812_.i.i
_ZN4task3new20hb6f404e8cbc51207AaaE.exit.i.i: ; preds = %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit.i.i.i"
%.sroa.317.0..sroa_idx28.i.i = getelementptr inbounds [7 x i8]* %.sroa.317.i.i, i64 0, i64 0
call void @llvm.lifetime.start(i64 7, i8* %.sroa.317.0..sroa_idx28.i.i)
%.sroa.4.0..sroa_idx27.i.i = getelementptr inbounds [7 x i8]* %.sroa.4.i.i, i64 0, i64 0
call void @llvm.lifetime.start(i64 7, i8* %.sroa.4.0..sroa_idx27.i.i)
%140 = load i8* %96, align 1, !range !38
%cond.i52.i.i = icmp eq i8 %140, 1
%141 = getelementptr inbounds i8* %81, i64 56
%142 = load i8* %141, align 1
%cond.i.i53.i.i = icmp eq i8 %142, 1
%or.cond.i.i = and i1 %cond.i52.i.i, %cond.i.i53.i.i
br i1 %or.cond.i.i, label %enum-iter-variant-1.i.i.i.i, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i.i"
unwind_ast_812_.i.i: ; preds = %unwind_ast_43_.body.i.i.i, %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit.i.i.i", %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit27.i.i.i", %cond.i22.i.i.i, %cond.i.i13.i.i, %_ZN2rt4init20h53e74b2380c72350DauE.exit.i.i
%143 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_812_.body.i.i
unwind_ast_812_.body.i.i: ; preds = %unwind_ast_812_.i.i, %clean_custom_.i.i.i
%eh.lpad-body15.i.i = phi { i8*, i32 } [ %143, %unwind_ast_812_.i.i ], [ %.fca.1.insert.i.i.i, %clean_custom_.i.i.i ]
%.fca.0.extract33.i.i = extractvalue { i8*, i32 } %eh.lpad-body15.i.i, 0
%.fca.1.extract35.i.i = extractvalue { i8*, i32 } %eh.lpad-body15.i.i, 1
%144 = getelementptr inbounds %"enum.core::option::Option<[proc():'static]>[#3]"* %main.i.i, i64 0, i32 0, i32 0
%145 = load void (i8*)** %144, align 8, !noalias !118
%146 = icmp eq void (i8*)* %145, null
br i1 %146, label %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit.i.i", label %enum-iter-variant-1.i.i.i
enum-iter-variant-1.i.i.i: ; preds = %unwind_ast_812_.body.i.i
%147 = getelementptr inbounds %"enum.core::option::Option<[proc():'static]>[#3]"* %main.i.i, i64 0, i32 0, i32 1
%148 = load i8** %147, align 8, !noalias !118
%149 = icmp eq i8* %148, null
br i1 %149, label %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit.i.i", label %cond.i.i.i.i
cond.i.i.i.i: ; preds = %enum-iter-variant-1.i.i.i
%150 = getelementptr inbounds i8* %148, i64 8
%151 = bitcast i8* %150 to void (i8*)**
%152 = load void (i8*)** %151, align 8
%153 = bitcast i8** %147 to i8*
call void %152(i8* %153)
br label %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit.i.i"
"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit.i.i": ; preds = %cond.i.i.i.i, %enum-iter-variant-1.i.i.i, %unwind_ast_812_.body.i.i
call void @llvm.lifetime.end(i64 16, i8* %80), !noalias !118
call void @llvm.lifetime.end(i64 16, i8* %79), !noalias !118
call void @llvm.lifetime.end(i64 8, i8* %27), !noalias !118
call void @llvm.lifetime.end(i64 8, i8* %25), !noalias !118
call void @llvm.lifetime.end(i64 8, i8* %24), !noalias !118
br label %clean_custom_.i.i
enum-iter-variant-1.i.i.i.i: ; preds = %_ZN4task3new20hb6f404e8cbc51207AaaE.exit.i.i
%154 = getelementptr inbounds i8* %81, i64 80
%155 = bitcast i8* %154 to i64*
%156 = load i64* %155, align 8, !alias.scope !191
%157 = icmp eq i64 %156, 0
br i1 %157, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i.i", label %then-block-1294-.i.i.i.i.i.i.i
then-block-1294-.i.i.i.i.i.i.i: ; preds = %enum-iter-variant-1.i.i.i.i
%158 = getelementptr inbounds i8* %81, i64 64
%159 = bitcast i8* %158 to i8**
%160 = load i8** %159, align 8, !alias.scope !191
call void @je_sdallocx(i8* %160, i64 %156, i32 0), !noalias !191
br label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i.i"
"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i.i": ; preds = %then-block-1294-.i.i.i.i.i.i.i, %enum-iter-variant-1.i.i.i.i, %_ZN4task3new20hb6f404e8cbc51207AaaE.exit.i.i
store i8 1, i8* %96, align 8
%161 = getelementptr inbounds i8* %81, i64 49
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %161, i8* %.sroa.317.0..sroa_idx28.i.i, i64 7, i32 1, i1 false)
store i8 0, i8* %141, align 8
%.sroa.4.0..sroa_raw_idx.i.i = getelementptr inbounds i8* %81, i64 57
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.4.0..sroa_raw_idx.i.i, i8* %.sroa.4.0..sroa_idx27.i.i, i64 7, i32 1, i1 false)
%.sroa.422.0..sroa_idx.i.i = getelementptr inbounds i8* %81, i64 64
%.sroa.422.0..sroa_cast24.i.i = bitcast i8* %.sroa.422.0..sroa_idx.i.i to i8**
store i8* getelementptr inbounds ([6 x i8]* @str2871, i64 0, i64 0), i8** %.sroa.422.0..sroa_cast24.i.i, align 8
%.sroa.5.0..sroa_idx25.i.i = getelementptr inbounds i8* %81, i64 72
%162 = bitcast i8* %.sroa.5.0..sroa_idx25.i.i to i64*
store i64 6, i64* %162, align 8
%163 = bitcast { void (i8*)*, i8* }* %13 to i8*
call void @llvm.lifetime.start(i64 16, i8* %163), !noalias !118
%164 = bitcast { i64, {}*, i8*, i8*, { i64*, i64*, %"enum.core::option::Option<[proc():'static]>[#3]"*, %"enum.core::option::Option<[int]>[#3]"* } }* %__closure.i.i to i8*
call void @llvm.lifetime.start(i64 64, i8* %164), !noalias !118
%165 = getelementptr inbounds { i64, {}*, i8*, i8*, { i64*, i64*, %"enum.core::option::Option<[proc():'static]>[#3]"*, %"enum.core::option::Option<[int]>[#3]"* } }* %__closure.i.i, i64 0, i32 4, i32 0
store i64* %my_stack_bottom.i.i, i64** %165, align 8, !noalias !118
%166 = getelementptr inbounds { i64, {}*, i8*, i8*, { i64*, i64*, %"enum.core::option::Option<[proc():'static]>[#3]"*, %"enum.core::option::Option<[int]>[#3]"* } }* %__closure.i.i, i64 0, i32 4, i32 1
store i64* %my_stack_top.i.i, i64** %166, align 8, !noalias !118
%167 = getelementptr inbounds { i64, {}*, i8*, i8*, { i64*, i64*, %"enum.core::option::Option<[proc():'static]>[#3]"*, %"enum.core::option::Option<[int]>[#3]"* } }* %__closure.i.i, i64 0, i32 4, i32 2
store %"enum.core::option::Option<[proc():'static]>[#3]"* %main.i.i, %"enum.core::option::Option<[proc():'static]>[#3]"** %167, align 8, !noalias !118
%168 = getelementptr inbounds { i64, {}*, i8*, i8*, { i64*, i64*, %"enum.core::option::Option<[proc():'static]>[#3]"*, %"enum.core::option::Option<[int]>[#3]"* } }* %__closure.i.i, i64 0, i32 4, i32 3
store %"enum.core::option::Option<[int]>[#3]"* %exit_code.i.i, %"enum.core::option::Option<[int]>[#3]"** %168, align 8, !noalias !118
%169 = getelementptr inbounds { void (i8*)*, i8* }* %13, i64 0, i32 0
store void (i8*)* @_ZN5start12closure.2872E, void (i8*)** %169, align 8, !noalias !118
%170 = getelementptr inbounds { void (i8*)*, i8* }* %13, i64 0, i32 1
store i8* %164, i8** %170, align 8, !noalias !118
%171 = invoke fastcc noalias dereferenceable(120) %"struct.rustrt::task::Task<[]>[#9]"* @_ZN4task4Task3run20h1b17b41ab9359f43xYbE(%"struct.rustrt::task::Task<[]>[#9]"* noalias dereferenceable(120) %90, { void (i8*)*, i8* }* noalias nocapture dereferenceable(16) %13)
to label %normal-return4.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
normal-return4.i.i: ; preds = %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i.i"
call void @llvm.lifetime.end(i64 16, i8* %163), !noalias !118
%172 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %171, i64 0, i32 4
%173 = load i8* %172, align 1, !range !194, !alias.scope !195, !noalias !202
%cond.i.i.i.i.i = icmp eq i8 %173, 2
br i1 %cond.i.i.i.i.i, label %_ZN4task4Task7destroy20hb81d06116b3e33fav0bE.exit.i.i, label %else-block.i.i.i
"_ZN21Box$LT$task..Task$GT$14glue_drop.589517hd9d7ebd842b53fb3E.exit5.i.i.i": ; preds = %else-block.i.i.i
%174 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_812_5.body.i.i
else-block.i.i.i: ; preds = %normal-return4.i.i
%175 = bitcast %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"* %8 to i8*
call void @llvm.lifetime.start(i64 16, i8* %175), !noalias !204
%176 = getelementptr inbounds %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"* %8, i64 0, i32 0, i32 0
store i8* null, i8** %176, align 8, !noalias !204
%177 = invoke fastcc noalias dereferenceable(120) %"struct.rustrt::task::Task<[]>[#9]"* @_ZN4task4Task7cleanup20h1310f2099319885eV0bE(%"struct.rustrt::task::Task<[]>[#9]"* noalias dereferenceable(120) %171, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"* noalias nocapture dereferenceable(16) %8)
to label %normal-return1.i.i.i unwind label %"_ZN21Box$LT$task..Task$GT$14glue_drop.589517hd9d7ebd842b53fb3E.exit5.i.i.i"
normal-return1.i.i.i: ; preds = %else-block.i.i.i
call void @llvm.lifetime.end(i64 16, i8* %175), !noalias !204
br label %_ZN4task4Task7destroy20hb81d06116b3e33fav0bE.exit.i.i
_ZN4task4Task7destroy20hb81d06116b3e33fav0bE.exit.i.i: ; preds = %normal-return1.i.i.i, %normal-return4.i.i
%sret_slot.0.i.i.i = phi %"struct.rustrt::task::Task<[]>[#9]"* [ %177, %normal-return1.i.i.i ], [ %171, %normal-return4.i.i ]
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %sret_slot.0.i.i.i)
to label %normal-return8.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
unwind_ast_812_5.i.i.loopexit: ; preds = %cond.i.i.i.i105.i.i.i.i.i
%lpad.loopexit = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_812_5.body.i.i
unwind_ast_812_5.i.i.nonloopexit.loopexit: ; preds = %cond.i.i.i.i.i.i.i.i.i
%lpad.loopexit23 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_812_5.body.i.i
unwind_ast_812_5.i.i.nonloopexit.nonloopexit.loopexit: ; preds = %cond.i.i71.i.i.i.i.i
%lpad.loopexit26 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_812_5.body.i.i
unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit: ; preds = %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i.i", %normal-return8.i.i, %.noexc29.i.i, %"_ZN29mutex..LockGuard$LT$$x27_$GT$14glue_drop.584617hfff6c5f4e94a2e2bE.exit6.i.i.i.i.i", %.noexc31.i.i, %_ZN11bookkeeping20wait_for_other_tasks20h62092c3731e9a4c1SUaE.exit.i.i.i.i, %.noexc35.i.i, %then-block-316-.i.i.i.i.i, %then-block-379-.i.i.i.i.i, %normal-return23.i.i.i.i.i, %.noexc40.i.i, %for_exit.i.i99.i.i.i.i.i, %for_exit.i.i74.i.i.i.i.i, %cond.i.i.i.i.i.i.i, %then-block-729-.i.i.i.i.i, %next-block4.i5.i.i.i.i, %then-block-1359-.i.i.i.i.i.i, %.noexc41.i.i, %clean_ast_303_.i.i.i.i.i, %_ZN4task4Task7destroy20hb81d06116b3e33fav0bE.exit.i.i
%lpad.nonloopexit = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_812_5.body.i.i
unwind_ast_812_5.body.i.i: ; preds = %unwind_ast_812_5.i.i.loopexit, %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.loopexit, %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit, %unwind_ast_812_5.i.i.nonloopexit.loopexit, %.noexc31.i.i, %resume.i.i.i27.i.i, %"_ZN21Box$LT$task..Task$GT$14glue_drop.589517hd9d7ebd842b53fb3E.exit5.i.i.i"
%eh.lpad-body21.i.i = phi { i8*, i32 } [ %174, %"_ZN21Box$LT$task..Task$GT$14glue_drop.589517hd9d7ebd842b53fb3E.exit5.i.i.i" ], [ %.fca.1.insert.i.i.i26.i.i, %resume.i.i.i27.i.i ], [ %191, %.noexc31.i.i ], [ %lpad.loopexit, %unwind_ast_812_5.i.i.loopexit ], [ %lpad.loopexit23, %unwind_ast_812_5.i.i.nonloopexit.loopexit ], [ %lpad.loopexit26, %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.loopexit ], [ %lpad.nonloopexit, %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit ]
%.fca.0.extract37.i.i = extractvalue { i8*, i32 } %eh.lpad-body21.i.i, 0
%.fca.1.extract39.i.i = extractvalue { i8*, i32 } %eh.lpad-body21.i.i, 1
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
%178 = getelementptr inbounds %"enum.core::option::Option<[proc():'static]>[#3]"* %main.i.i, i64 0, i32 0, i32 0
%179 = load void (i8*)** %178, align 8, !noalias !118
%180 = icmp eq void (i8*)* %179, null
br i1 %180, label %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit57.i.i", label %enum-iter-variant-1.i55.i.i
enum-iter-variant-1.i55.i.i: ; preds = %unwind_ast_812_5.body.i.i
%181 = getelementptr inbounds %"enum.core::option::Option<[proc():'static]>[#3]"* %main.i.i, i64 0, i32 0, i32 1
%182 = load i8** %181, align 8, !noalias !118
%183 = icmp eq i8* %182, null
br i1 %183, label %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit57.i.i", label %cond.i.i56.i.i
cond.i.i56.i.i: ; preds = %enum-iter-variant-1.i55.i.i
%184 = getelementptr inbounds i8* %182, i64 8
%185 = bitcast i8* %184 to void (i8*)**
%186 = load void (i8*)** %185, align 8
%187 = bitcast i8** %181 to i8*
call void %186(i8* %187)
br label %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit57.i.i"
"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit57.i.i": ; preds = %cond.i.i56.i.i, %enum-iter-variant-1.i55.i.i, %unwind_ast_812_5.body.i.i
call void @llvm.lifetime.end(i64 16, i8* %80), !noalias !118
call void @llvm.lifetime.end(i64 16, i8* %79), !noalias !118
call void @llvm.lifetime.end(i64 8, i8* %27), !noalias !118
call void @llvm.lifetime.end(i64 8, i8* %25), !noalias !118
call void @llvm.lifetime.end(i64 8, i8* %24), !noalias !118
br label %clean_custom_.i.i
normal-return8.i.i: ; preds = %_ZN4task4Task7destroy20hb81d06116b3e33fav0bE.exit.i.i
%188 = invoke fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN11bookkeeping9TASK_LOCK20hfdd7f8b229507086UTaE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*))
to label %.noexc29.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc29.i.i: ; preds = %normal-return8.i.i
invoke void @EnterCriticalSection(i8* %188)
to label %normal-return.i.i.i23.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
while_body.i.i.i.i.i: ; preds = %normal-return.i.i.i23.i.i
invoke fastcc void @_ZN5mutex17StaticNativeMutex12wait_noguard20hcfb03023bbe36891BEbE(%"struct.rustrt::mutex::StaticNativeMutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN11bookkeeping9TASK_LOCK20hfdd7f8b229507086UTaE to %"struct.rustrt::mutex::StaticNativeMutex<[]>[#9]"*))
to label %normal-return.i.i.i23.i.i unwind label %"_ZN29mutex..LockGuard$LT$$x27_$GT$14glue_drop.584617hfff6c5f4e94a2e2bE.exit6.i.i.i.i.i"
normal-return.i.i.i23.i.i: ; preds = %.noexc29.i.i, %while_body.i.i.i.i.i
%189 = load atomic volatile i64* getelementptr inbounds ({ { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }* @_ZN11bookkeeping10TASK_COUNT20hca9db8247d813a33QTaE, i64 0, i32 0, i32 0) seq_cst, align 8
%190 = icmp eq i64 %189, 0
br i1 %190, label %_ZN11bookkeeping20wait_for_other_tasks20h62092c3731e9a4c1SUaE.exit.i.i.i.i, label %while_body.i.i.i.i.i
"_ZN29mutex..LockGuard$LT$$x27_$GT$14glue_drop.584617hfff6c5f4e94a2e2bE.exit6.i.i.i.i.i": ; preds = %while_body.i.i.i.i.i
%191 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%192 = invoke fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN11bookkeeping9TASK_LOCK20hfdd7f8b229507086UTaE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*))
to label %.noexc31.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc31.i.i: ; preds = %"_ZN29mutex..LockGuard$LT$$x27_$GT$14glue_drop.584617hfff6c5f4e94a2e2bE.exit6.i.i.i.i.i"
invoke void @LeaveCriticalSection(i8* %192)
to label %unwind_ast_812_5.body.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
_ZN11bookkeeping20wait_for_other_tasks20h62092c3731e9a4c1SUaE.exit.i.i.i.i: ; preds = %normal-return.i.i.i23.i.i
%193 = invoke fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN11bookkeeping9TASK_LOCK20hfdd7f8b229507086UTaE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*))
to label %.noexc35.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc35.i.i: ; preds = %_ZN11bookkeeping20wait_for_other_tasks20h62092c3731e9a4c1SUaE.exit.i.i.i.i
invoke void @LeaveCriticalSection(i8* %193)
to label %.noexc36.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc36.i.i: ; preds = %.noexc35.i.i
%194 = load atomic volatile i64* getelementptr inbounds ({ { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }* @_ZN11at_exit_imp7RUNNING20habfc260907389e38OaaE, i64 0, i32 0, i32 0) seq_cst, align 8
%195 = icmp eq i64 %194, 0
br i1 %195, label %next-block4.i.i.i.i.i, label %then-block-316-.i.i.i.i.i
then-block-316-.i.i.i.i.i: ; preds = %.noexc36.i.i
%196 = bitcast %str_slice* %4 to i8*
call void @llvm.lifetime.start(i64 16, i8* %196), !noalias !118
%197 = getelementptr inbounds %str_slice* %4, i64 0, i32 0
store i8* getelementptr inbounds ([29 x i8]* @str5515, i64 0, i64 0), i8** %197, align 8, !noalias !118
%198 = getelementptr inbounds %str_slice* %4, i64 0, i32 1
store i64 29, i64* %198, align 8, !noalias !118
%199 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %5 to i8*
call void @llvm.lifetime.start(i64 16, i8* %199), !noalias !118
%200 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %5, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%str_slice*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h12531999020422642356E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %200, align 8, !alias.scope !205, !noalias !208
%201 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %5, i64 0, i32 1
%.c.i.i.i.i24.i.i = bitcast %str_slice* %4 to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i.i.i.i24.i.i, %"enum.core::fmt::Void<[]>[#3]"** %201, align 8, !alias.scope !205, !noalias !208
%202 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i22.i.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %202), !noalias !118
%__fat_ptr1.sroa.0.0..sroa_idx.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i22.i.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN11at_exit_imp3run15__STATIC_FMTSTR20h349f0f2acd1459fcrfaE, i64 0, i64 0), %str_slice** %__fat_ptr1.sroa.0.0..sroa_idx.i.i.i.i.i, align 8, !noalias !118
%__fat_ptr1.sroa.5.0..sroa_idx187.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i22.i.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr1.sroa.5.0..sroa_idx187.i.i.i.i.i, align 8, !noalias !118
%203 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i22.i.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %203, align 8, !alias.scope !210, !noalias !213
%__fat_ptr3.sroa.0.0..sroa_idx.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i22.i.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %5, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr3.sroa.0.0..sroa_idx.i.i.i.i.i, align 8, !noalias !118
%__fat_ptr3.sroa.5.0..sroa_idx182.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i22.i.i, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr3.sroa.5.0..sroa_idx182.i.i.i.i.i, align 8, !noalias !118
invoke fastcc void @_ZN4util5abort20ha89562d169f67818NyaE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i.i.i22.i.i)
to label %.noexc37.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc37.i.i: ; preds = %then-block-316-.i.i.i.i.i
unreachable
next-block4.i.i.i.i.i: ; preds = %.noexc36.i.i
%204 = atomicrmw xchg i64* getelementptr inbounds ({ { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }* @_ZN11at_exit_imp5QUEUE20hca9db8247d813a33KaaE, i64 0, i32 0, i32 0), i64 0 seq_cst
%205 = icmp eq i64 %204, 0
br i1 %205, label %then-block-379-.i.i.i.i.i, label %next-block18.i.i.i.i.i
then-block-379-.i.i.i.i.i: ; preds = %next-block4.i.i.i.i.i
%206 = bitcast %str_slice* %6 to i8*
call void @llvm.lifetime.start(i64 16, i8* %206), !noalias !118
%207 = getelementptr inbounds %str_slice* %6, i64 0, i32 0
store i8* getelementptr inbounds ([10 x i8]* @str5546, i64 0, i64 0), i8** %207, align 8, !noalias !118
%208 = getelementptr inbounds %str_slice* %6, i64 0, i32 1
store i64 10, i64* %208, align 8, !noalias !118
%209 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %7 to i8*
call void @llvm.lifetime.start(i64 16, i8* %209), !noalias !118
%210 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %7, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%str_slice*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h12531999020422642356E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %210, align 8, !alias.scope !216, !noalias !219
%211 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %7, i64 0, i32 1
%.c.i73.i.i.i.i.i = bitcast %str_slice* %6 to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i73.i.i.i.i.i, %"enum.core::fmt::Void<[]>[#3]"** %211, align 8, !alias.scope !216, !noalias !219
%212 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args11.i.i.i.i.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %212), !noalias !118
%__fat_ptr13.sroa.0.0..sroa_idx.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args11.i.i.i.i.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN11at_exit_imp3run15__STATIC_FMTSTR20h349f0f2acd1459fcsgaE, i64 0, i64 0), %str_slice** %__fat_ptr13.sroa.0.0..sroa_idx.i.i.i.i.i, align 8, !noalias !118
%__fat_ptr13.sroa.5.0..sroa_idx177.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args11.i.i.i.i.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr13.sroa.5.0..sroa_idx177.i.i.i.i.i, align 8, !noalias !118
%213 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args11.i.i.i.i.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %213, align 8, !alias.scope !221, !noalias !224
%__fat_ptr15.sroa.0.0..sroa_idx.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args11.i.i.i.i.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %7, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr15.sroa.0.0..sroa_idx.i.i.i.i.i, align 8, !noalias !118
%__fat_ptr15.sroa.5.0..sroa_idx172.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args11.i.i.i.i.i, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr15.sroa.5.0..sroa_idx172.i.i.i.i.i, align 8, !noalias !118
invoke fastcc void @_ZN4util5abort20ha89562d169f67818NyaE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args11.i.i.i.i.i)
to label %.noexc38.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc38.i.i: ; preds = %then-block-379-.i.i.i.i.i
unreachable
next-block18.i.i.i.i.i: ; preds = %next-block4.i.i.i.i.i
%.c.i.i.i25.i.i = inttoptr i64 %204 to %"struct.exclusive::Exclusive<[collections::vec::Vec<proc():Send>]>"*
%214 = getelementptr inbounds %"struct.exclusive::Exclusive<[collections::vec::Vec<proc():Send>]>"* %.c.i.i.i25.i.i, i64 0, i32 0, i32 0, i32 0
%215 = invoke fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) %214)
to label %.noexc.i.i.i.i.i unwind label %clean_ast_303_.i.i.i.i.i
.noexc.i.i.i.i.i: ; preds = %next-block18.i.i.i.i.i
invoke void @EnterCriticalSection(i8* %215)
to label %normal-return23.i.i.i.i.i unwind label %clean_ast_303_.i.i.i.i.i
resume.i.i.i27.i.i: ; preds = %for_exit.i.i74.i.i.i.i.i, %cond.i.i.i.i.i.i, %.noexc39.i.i
%.sroa.0.0.i.i.i.i.i = phi i8* [ %.fca.0.extract.i.i.i.i.i, %.noexc39.i.i ], [ %.fca.0.extract45.i.i.i.i.i, %cond.i.i.i.i.i.i ], [ %.fca.0.extract45.i.i.i.i.i, %for_exit.i.i74.i.i.i.i.i ]
%.sroa.7.0.i.i.i.i.i = phi i32 [ %.fca.1.extract.i.i.i28.i.i, %.noexc39.i.i ], [ %.fca.1.extract47.i.i.i.i.i, %cond.i.i.i.i.i.i ], [ %.fca.1.extract47.i.i.i.i.i, %for_exit.i.i74.i.i.i.i.i ]
%.fca.0.insert.i.i.i.i.i = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0.i.i.i.i.i, 0
%.fca.1.insert.i.i.i26.i.i = insertvalue { i8*, i32 } %.fca.0.insert.i.i.i.i.i, i32 %.sroa.7.0.i.i.i.i.i, 1
br label %unwind_ast_812_5.body.i.i
clean_ast_303_.i.i.i.i.i: ; preds = %.noexc.i.i.i.i.i, %next-block18.i.i.i.i.i
%216 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
invoke fastcc void @"_ZN85Box$LT$exclusive..Exclusive$LT$collections..vec..Vec$LT$proc$LP$$RP$.Send$GT$$GT$$GT$14glue_drop.550717hc9d66629c1690e8eE"(%"struct.exclusive::Exclusive<[collections::vec::Vec<proc():Send>]>"* %.c.i.i.i25.i.i)
to label %.noexc39.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc39.i.i: ; preds = %clean_ast_303_.i.i.i.i.i
%.fca.1.extract.i.i.i28.i.i = extractvalue { i8*, i32 } %216, 1
%.fca.0.extract.i.i.i.i.i = extractvalue { i8*, i32 } %216, 0
br label %resume.i.i.i27.i.i
normal-return23.i.i.i.i.i: ; preds = %.noexc.i.i.i.i.i
%t.sroa.0.0..sroa_idx.i.i.i.i.i.i.i = getelementptr inbounds %"struct.exclusive::Exclusive<[collections::vec::Vec<proc():Send>]>"* %.c.i.i.i25.i.i, i64 0, i32 1, i32 0, i32 0
%t.sroa.0.0.copyload.i.i.i.i.i.i.i = load { void (i8*)*, i8* }** %t.sroa.0.0..sroa_idx.i.i.i.i.i.i.i, align 8, !alias.scope !227, !noalias !232
%t.sroa.6.0..sroa_idx15.i.i.i.i.i.i.i = getelementptr inbounds %"struct.exclusive::Exclusive<[collections::vec::Vec<proc():Send>]>"* %.c.i.i.i25.i.i, i64 0, i32 1, i32 0, i32 1
%t.sroa.6.0.copyload.i.i.i.i.i.i.i = load i64* %t.sroa.6.0..sroa_idx15.i.i.i.i.i.i.i, align 8, !alias.scope !227, !noalias !232
%t.sroa.7.0..sroa_idx19.i.i.i.i.i.i.i = getelementptr inbounds %"struct.exclusive::Exclusive<[collections::vec::Vec<proc():Send>]>"* %.c.i.i.i25.i.i, i64 0, i32 1, i32 0, i32 2
%t.sroa.7.0.copyload.i.i.i.i.i.i.i = load i64* %t.sroa.7.0..sroa_idx19.i.i.i.i.i.i.i, align 8, !alias.scope !227, !noalias !232
store { void (i8*)*, i8* }* inttoptr (i64 1 to { void (i8*)*, i8* }*), { void (i8*)*, i8* }** %t.sroa.0.0..sroa_idx.i.i.i.i.i.i.i, align 8
%217 = bitcast i64* %t.sroa.6.0..sroa_idx15.i.i.i.i.i.i.i to i8*
call void @llvm.memset.p0i8.i64(i8* %217, i8 0, i64 16, i32 8, i1 false)
%218 = invoke fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) %214)
to label %.noexc40.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc40.i.i: ; preds = %normal-return23.i.i.i.i.i
invoke void @LeaveCriticalSection(i8* %218)
to label %.noexc41.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc41.i.i: ; preds = %.noexc40.i.i
invoke fastcc void @"_ZN85Box$LT$exclusive..Exclusive$LT$collections..vec..Vec$LT$proc$LP$$RP$.Send$GT$$GT$$GT$14glue_drop.550717hc9d66629c1690e8eE"(%"struct.exclusive::Exclusive<[collections::vec::Vec<proc():Send>]>"* %.c.i.i.i25.i.i)
to label %.noexc42.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc42.i.i: ; preds = %.noexc41.i.i
%219 = getelementptr inbounds { void (i8*)*, i8* }* %t.sroa.0.0.copyload.i.i.i.i.i.i.i, i64 %t.sroa.6.0.copyload.i.i.i.i.i.i.i
%220 = bitcast %"enum.core::option::Option<[proc():Send]>[#1]"* %loop_option.i.i.i.i.i to i8*
%221 = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#1]"* %loop_option.i.i.i.i.i, i64 0, i32 0, i32 0
%222 = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#1]"* %loop_option.i.i.i.i.i, i64 0, i32 0, i32 1
%223 = bitcast i8** %222 to i8*
call void @llvm.lifetime.start(i64 16, i8* %220), !noalias !118
%224 = icmp eq i64 %t.sroa.6.0.copyload.i.i.i.i.i.i.i, 0
br i1 %224, label %normal-return24.thread.i.i.i.i.i, label %normal-return24.i.i.i.i.i
cond.i96.i.i.i.i.i: ; preds = %normal-return24.i.i.i.i.i, %normal-return24.thread.i.i.i.i.i
%cur.sroa.0.0.arg.sroa.0.0.copyload207216.i.i.i.i.i = phi { void (i8*)*, i8* }* [ %219, %normal-return24.thread.i.i.i.i.i ], [ %243, %normal-return24.i.i.i.i.i ]
%225 = icmp eq i64 %t.sroa.7.0.copyload.i.i.i.i.i.i.i, 0
br i1 %225, label %_ZN11at_exit_imp3run20hc0a2a0c889ab0835UeaE.exit.i.i.i.i, label %for_loopback.preheader.i.i98.i.i.i.i.i
for_loopback.preheader.i.i98.i.i.i.i.i: ; preds = %cond.i96.i.i.i.i.i
%226 = bitcast %"enum.core::option::Option<[proc():Send]>[#1]"* %loop_option.i.i95.i.i.i.i.i to i8*
%227 = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#1]"* %loop_option.i.i95.i.i.i.i.i, i64 0, i32 0, i32 0
%228 = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#1]"* %loop_option.i.i95.i.i.i.i.i, i64 0, i32 0, i32 1
%229 = bitcast i8** %228 to i8*
call void @llvm.lifetime.start(i64 16, i8* %226), !noalias !236
%230 = icmp eq { void (i8*)*, i8* }* %cur.sroa.0.0.arg.sroa.0.0.copyload207216.i.i.i.i.i, %219
br i1 %230, label %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.thread.i.i100.i.i.i.i.i", label %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.i.i103.i.i.i.i.i"
for_exit.i.i99.i.i.i.i.i: ; preds = %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.i.i103.i.i.i.i.i", %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.thread.i.i100.i.i.i.i.i"
%231 = bitcast { void (i8*)*, i8* }* %t.sroa.0.0.copyload.i.i.i.i.i.i.i to i8*
%232 = shl i64 %t.sroa.7.0.copyload.i.i.i.i.i.i.i, 4
invoke void @je_sdallocx(i8* %231, i64 %232, i32 0)
to label %_ZN11at_exit_imp3run20hc0a2a0c889ab0835UeaE.exit.i.i.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.thread.i.i100.i.i.i.i.i": ; preds = %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i106.i.i.i.i.i", %for_loopback.preheader.i.i98.i.i.i.i.i
store void (i8*)* null, void (i8*)** %227, align 8, !alias.scope !239, !noalias !242
br label %for_exit.i.i99.i.i.i.i.i
"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.i.i103.i.i.i.i.i": ; preds = %for_loopback.preheader.i.i98.i.i.i.i.i, %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i106.i.i.i.i.i"
%233 = phi { void (i8*)*, i8* }* [ %234, %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i106.i.i.i.i.i" ], [ %cur.sroa.0.0.arg.sroa.0.0.copyload207216.i.i.i.i.i, %for_loopback.preheader.i.i98.i.i.i.i.i ]
%234 = getelementptr inbounds { void (i8*)*, i8* }* %233, i64 1
%235 = bitcast { void (i8*)*, i8* }* %233 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %226, i8* %235, i64 16, i32 8, i1 false), !noalias !244
%.pre6.i.i101.i.i.i.i.i = load void (i8*)** %227, align 8, !noalias !236
%phitmp.i.i102.i.i.i.i.i = icmp eq void (i8*)* %.pre6.i.i101.i.i.i.i.i, null
br i1 %phitmp.i.i102.i.i.i.i.i, label %for_exit.i.i99.i.i.i.i.i, label %enum-iter-variant-1.i.i.i104.i.i.i.i.i
enum-iter-variant-1.i.i.i104.i.i.i.i.i: ; preds = %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.i.i103.i.i.i.i.i"
%236 = load i8** %228, align 8, !noalias !236
%237 = icmp eq i8* %236, null
br i1 %237, label %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i106.i.i.i.i.i", label %cond.i.i.i.i105.i.i.i.i.i
cond.i.i.i.i105.i.i.i.i.i: ; preds = %enum-iter-variant-1.i.i.i104.i.i.i.i.i
%238 = getelementptr inbounds i8* %236, i64 8
%239 = bitcast i8* %238 to void (i8*)**
%240 = load void (i8*)** %239, align 8, !noalias !245
invoke void %240(i8* %229)
to label %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i106.i.i.i.i.i" unwind label %unwind_ast_812_5.i.i.loopexit
"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i106.i.i.i.i.i": ; preds = %cond.i.i.i.i105.i.i.i.i.i, %enum-iter-variant-1.i.i.i104.i.i.i.i.i
call void @llvm.lifetime.end(i64 16, i8* %226), !noalias !236
call void @llvm.lifetime.start(i64 16, i8* %226), !noalias !236
%241 = icmp eq { void (i8*)*, i8* }* %234, %219
br i1 %241, label %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.thread.i.i100.i.i.i.i.i", label %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.i.i103.i.i.i.i.i"
normal-return24.thread.i.i.i.i.i: ; preds = %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit72.i.i.i.i.i", %.noexc42.i.i
store void (i8*)* null, void (i8*)** %221, align 8, !alias.scope !246, !noalias !249
br label %cond.i96.i.i.i.i.i
for_body.i.i.i.i.i: ; preds = %normal-return24.i.i.i.i.i
%242 = load i8** %222, align 8, !noalias !118
invoke void %.pre.i.i.i.i.i(i8* %242)
to label %normal-return27.i.i.i.i.i unwind label %unwind_custom_.i.i.i.i.i
normal-return24.i.i.i.i.i: ; preds = %.noexc42.i.i, %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit72.i.i.i.i.i"
%cur.sroa.0.0.arg.sroa.0.0.copyload208.i9.i.i.i.i = phi { void (i8*)*, i8* }* [ %243, %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit72.i.i.i.i.i" ], [ %t.sroa.0.0.copyload.i.i.i.i.i.i.i, %.noexc42.i.i ]
%243 = getelementptr inbounds { void (i8*)*, i8* }* %cur.sroa.0.0.arg.sroa.0.0.copyload208.i9.i.i.i.i, i64 1
%244 = bitcast { void (i8*)*, i8* }* %cur.sroa.0.0.arg.sroa.0.0.copyload208.i9.i.i.i.i to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %220, i8* %244, i64 16, i32 8, i1 false), !noalias !251
%.pre.i.i.i.i.i = load void (i8*)** %221, align 8, !noalias !118
%245 = icmp eq void (i8*)* %.pre.i.i.i.i.i, null
br i1 %245, label %cond.i96.i.i.i.i.i, label %for_body.i.i.i.i.i
cond.i.i.i.i.i.i: ; preds = %cond.i.i.i.i.i.i.i, %enum-iter-variant-1.i.i.i.i.i.i, %unwind_custom_.i.i.i.i.i
call void @llvm.lifetime.end(i64 16, i8* %220), !noalias !118
%246 = icmp eq i64 %t.sroa.7.0.copyload.i.i.i.i.i.i.i, 0
br i1 %246, label %resume.i.i.i27.i.i, label %for_loopback.preheader.i.i.i.i.i.i.i
for_loopback.preheader.i.i.i.i.i.i.i: ; preds = %cond.i.i.i.i.i.i
%247 = bitcast %"enum.core::option::Option<[proc():Send]>[#1]"* %loop_option.i.i.i.i.i.i.i to i8*
%248 = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#1]"* %loop_option.i.i.i.i.i.i.i, i64 0, i32 0, i32 0
%249 = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#1]"* %loop_option.i.i.i.i.i.i.i, i64 0, i32 0, i32 1
%250 = bitcast i8** %249 to i8*
call void @llvm.lifetime.start(i64 16, i8* %247), !noalias !252
%251 = icmp eq { void (i8*)*, i8* }* %243, %219
br i1 %251, label %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.thread.i.i.i.i.i.i.i", label %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.i.i.i.i.i.i.i"
for_exit.i.i74.i.i.i.i.i: ; preds = %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.i.i.i.i.i.i.i", %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.thread.i.i.i.i.i.i.i"
%252 = bitcast { void (i8*)*, i8* }* %t.sroa.0.0.copyload.i.i.i.i.i.i.i to i8*
%253 = shl i64 %t.sroa.7.0.copyload.i.i.i.i.i.i.i, 4
invoke void @je_sdallocx(i8* %252, i64 %253, i32 0)
to label %resume.i.i.i27.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.thread.i.i.i.i.i.i.i": ; preds = %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i.i.i.i.i.i", %for_loopback.preheader.i.i.i.i.i.i.i
store void (i8*)* null, void (i8*)** %248, align 8, !alias.scope !255, !noalias !258
br label %for_exit.i.i74.i.i.i.i.i
"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.i.i.i.i.i.i.i": ; preds = %for_loopback.preheader.i.i.i.i.i.i.i, %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i.i.i.i.i.i"
%254 = phi { void (i8*)*, i8* }* [ %255, %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i.i.i.i.i.i" ], [ %cur.sroa.0.0.arg.sroa.0.0.copyload208.i9.i.i.i.i, %for_loopback.preheader.i.i.i.i.i.i.i ]
%255 = phi { void (i8*)*, i8* }* [ %256, %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i.i.i.i.i.i" ], [ %243, %for_loopback.preheader.i.i.i.i.i.i.i ]
%256 = getelementptr inbounds { void (i8*)*, i8* }* %254, i64 2
%257 = bitcast { void (i8*)*, i8* }* %255 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %247, i8* %257, i64 16, i32 8, i1 false), !noalias !260
%.pre6.i.i.i.i.i.i.i = load void (i8*)** %248, align 8, !noalias !252
%phitmp.i.i.i.i.i.i.i = icmp eq void (i8*)* %.pre6.i.i.i.i.i.i.i, null
br i1 %phitmp.i.i.i.i.i.i.i, label %for_exit.i.i74.i.i.i.i.i, label %enum-iter-variant-1.i.i.i.i.i.i.i.i
enum-iter-variant-1.i.i.i.i.i.i.i.i: ; preds = %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.i.i.i.i.i.i.i"
%258 = load i8** %249, align 8, !noalias !252
%259 = icmp eq i8* %258, null
br i1 %259, label %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i.i.i.i.i.i", label %cond.i.i.i.i.i.i.i.i.i
cond.i.i.i.i.i.i.i.i.i: ; preds = %enum-iter-variant-1.i.i.i.i.i.i.i.i
%260 = getelementptr inbounds i8* %258, i64 8
%261 = bitcast i8* %260 to void (i8*)**
%262 = load void (i8*)** %261, align 8, !noalias !261
invoke void %262(i8* %250)
to label %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i.i.i.i.i.i" unwind label %unwind_ast_812_5.i.i.nonloopexit.loopexit
"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit.i.i.i.i.i.i.i": ; preds = %cond.i.i.i.i.i.i.i.i.i, %enum-iter-variant-1.i.i.i.i.i.i.i.i
call void @llvm.lifetime.end(i64 16, i8* %247), !noalias !252
call void @llvm.lifetime.start(i64 16, i8* %247), !noalias !252
%263 = icmp eq { void (i8*)*, i8* }* %256, %219
br i1 %263, label %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.thread.i.i.i.i.i.i.i", label %"_ZN3vec36MoveItems$LT$T$GT$.Iterator$LT$T$GT$4next18h76846322014136607E.exit.i.i.i.i.i.i.i"
normal-return27.i.i.i.i.i: ; preds = %for_body.i.i.i.i.i
%264 = load void (i8*)** %221, align 8, !noalias !118
%265 = icmp eq void (i8*)* %264, null
br i1 %265, label %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit72.i.i.i.i.i", label %enum-iter-variant-1.i70.i.i.i.i.i
enum-iter-variant-1.i70.i.i.i.i.i: ; preds = %normal-return27.i.i.i.i.i
%266 = load i8** %222, align 8, !noalias !118
%267 = icmp eq i8* %266, null
br i1 %267, label %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit72.i.i.i.i.i", label %cond.i.i71.i.i.i.i.i
cond.i.i71.i.i.i.i.i: ; preds = %enum-iter-variant-1.i70.i.i.i.i.i
%268 = getelementptr inbounds i8* %266, i64 8
%269 = bitcast i8* %268 to void (i8*)**
%270 = load void (i8*)** %269, align 8
invoke void %270(i8* %223)
to label %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit72.i.i.i.i.i" unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.loopexit
"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.563717hd837424708207fdaE.exit72.i.i.i.i.i": ; preds = %cond.i.i71.i.i.i.i.i, %enum-iter-variant-1.i70.i.i.i.i.i, %normal-return27.i.i.i.i.i
call void @llvm.lifetime.end(i64 16, i8* %220), !noalias !118
call void @llvm.lifetime.start(i64 16, i8* %220), !noalias !118
%271 = icmp eq { void (i8*)*, i8* }* %243, %219
br i1 %271, label %normal-return24.thread.i.i.i.i.i, label %normal-return24.i.i.i.i.i
unwind_custom_.i.i.i.i.i: ; preds = %for_body.i.i.i.i.i
%272 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract45.i.i.i.i.i = extractvalue { i8*, i32 } %272, 0
%.fca.1.extract47.i.i.i.i.i = extractvalue { i8*, i32 } %272, 1
%273 = load void (i8*)** %221, align 8, !noalias !118
%274 = icmp eq void (i8*)* %273, null
br i1 %274, label %cond.i.i.i.i.i.i, label %enum-iter-variant-1.i.i.i.i.i.i
enum-iter-variant-1.i.i.i.i.i.i: ; preds = %unwind_custom_.i.i.i.i.i
%275 = load i8** %222, align 8, !noalias !118
%276 = icmp eq i8* %275, null
br i1 %276, label %cond.i.i.i.i.i.i, label %cond.i.i.i.i.i.i.i
cond.i.i.i.i.i.i.i: ; preds = %enum-iter-variant-1.i.i.i.i.i.i
%277 = getelementptr inbounds i8* %275, i64 8
%278 = bitcast i8* %277 to void (i8*)**
%279 = load void (i8*)** %278, align 8
invoke void %279(i8* %223)
to label %cond.i.i.i.i.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
_ZN11at_exit_imp3run20hc0a2a0c889ab0835UeaE.exit.i.i.i.i: ; preds = %for_exit.i.i99.i.i.i.i.i, %cond.i96.i.i.i.i.i
%280 = load i32* @_ZN9local_ptr6native10RT_TLS_KEY20hde2fb88314fef024plaE, align 4
%281 = icmp eq i32 %280, -1
br i1 %281, label %then-block-729-.i.i.i.i.i, label %next-block4.i5.i.i.i.i
then-block-729-.i.i.i.i.i: ; preds = %_ZN11at_exit_imp3run20hc0a2a0c889ab0835UeaE.exit.i.i.i.i
%282 = bitcast %str_slice* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %282), !noalias !118
%283 = getelementptr inbounds %str_slice* %2, i64 0, i32 0
store i8* getelementptr inbounds ([16 x i8]* @str5640, i64 0, i64 0), i8** %283, align 8, !noalias !118
%284 = getelementptr inbounds %str_slice* %2, i64 0, i32 1
store i64 16, i64* %284, align 8, !noalias !118
%285 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %3 to i8*
call void @llvm.lifetime.start(i64 16, i8* %285), !noalias !118
%286 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %3, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%str_slice*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h12531999020422642356E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %286, align 8, !alias.scope !262, !noalias !265
%287 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %3, i64 0, i32 1
%.c.i.i2.i.i.i.i = bitcast %str_slice* %2 to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i.i2.i.i.i.i, %"enum.core::fmt::Void<[]>[#3]"** %287, align 8, !alias.scope !262, !noalias !265
%288 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i1.i.i.i.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %288), !noalias !118
%__fat_ptr1.sroa.0.0..sroa_idx.i3.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i1.i.i.i.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN9local_ptr6native7cleanup15__STATIC_FMTSTR20h349f0f2acd1459fc6laE, i64 0, i64 0), %str_slice** %__fat_ptr1.sroa.0.0..sroa_idx.i3.i.i.i.i, align 8, !noalias !118
%__fat_ptr1.sroa.5.0..sroa_idx18.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i1.i.i.i.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr1.sroa.5.0..sroa_idx18.i.i.i.i.i, align 8, !noalias !118
%289 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i1.i.i.i.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %289, align 8, !alias.scope !267, !noalias !270
%__fat_ptr3.sroa.0.0..sroa_idx.i4.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i1.i.i.i.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %3, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr3.sroa.0.0..sroa_idx.i4.i.i.i.i, align 8, !noalias !118
%__fat_ptr3.sroa.5.0..sroa_idx13.i.i.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i1.i.i.i.i, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr3.sroa.5.0..sroa_idx13.i.i.i.i.i, align 8, !noalias !118
invoke fastcc void @_ZN4util5abort20ha89562d169f67818NyaE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i1.i.i.i.i)
to label %.noexc49.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc49.i.i: ; preds = %then-block-729-.i.i.i.i.i
unreachable
next-block4.i5.i.i.i.i: ; preds = %_ZN11at_exit_imp3run20hc0a2a0c889ab0835UeaE.exit.i.i.i.i
%290 = invoke i32 @TlsFree(i32 %280)
to label %.noexc50.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc50.i.i: ; preds = %next-block4.i5.i.i.i.i
%291 = icmp eq i32 %290, 0
br i1 %291, label %then-block-1359-.i.i.i.i.i.i, label %_ZN2rt7cleanup20h2d6c51700292d8c32auE.exit.i.i
then-block-1359-.i.i.i.i.i.i: ; preds = %.noexc50.i.i
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN20thread_local_storage7destroy14_MSG_FILE_LINE20hbf26a2c2f4e59a619vaE)
to label %.noexc51.i.i unwind label %unwind_ast_812_5.i.i.nonloopexit.nonloopexit.nonloopexit
.noexc51.i.i: ; preds = %then-block-1359-.i.i.i.i.i.i
unreachable
_ZN2rt7cleanup20h2d6c51700292d8c32auE.exit.i.i: ; preds = %.noexc50.i.i
%arg.sroa.0.0.copyload.i.i = load i8* %79, align 8, !noalias !118
%arg.sroa.566.0..sroa_idx.i.i = getelementptr inbounds %"enum.core::option::Option<[int]>[#3]"* %exit_code.i.i, i64 0, i32 2, i64 0
%arg.sroa.566.0.copyload.i.i = load i64* %arg.sroa.566.0..sroa_idx.i.i, align 8, !noalias !118
%cond.i58.i.i = icmp eq i8 %arg.sroa.0.0.copyload.i.i, 1
%arg.sroa.566.0.copyload..i.i = select i1 %cond.i58.i.i, i64 %arg.sroa.566.0.copyload.i.i, i64 101
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
%292 = getelementptr inbounds %"enum.core::option::Option<[proc():'static]>[#3]"* %main.i.i, i64 0, i32 0, i32 0
%293 = load void (i8*)** %292, align 8, !noalias !118
%294 = icmp eq void (i8*)* %293, null
br i1 %294, label %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit61.i.i", label %enum-iter-variant-1.i59.i.i
enum-iter-variant-1.i59.i.i: ; preds = %_ZN2rt7cleanup20h2d6c51700292d8c32auE.exit.i.i
%295 = getelementptr inbounds %"enum.core::option::Option<[proc():'static]>[#3]"* %main.i.i, i64 0, i32 0, i32 1
%296 = load i8** %295, align 8, !noalias !118
%297 = icmp eq i8* %296, null
br i1 %297, label %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit61.i.i", label %cond.i.i60.i.i
cond.i.i60.i.i: ; preds = %enum-iter-variant-1.i59.i.i
%298 = getelementptr inbounds i8* %296, i64 8
%299 = bitcast i8* %298 to void (i8*)**
%300 = load void (i8*)** %299, align 8
%301 = bitcast i8** %295 to i8*
call void %300(i8* %301)
br label %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit61.i.i"
"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit61.i.i": ; preds = %cond.i.i60.i.i, %enum-iter-variant-1.i59.i.i, %_ZN2rt7cleanup20h2d6c51700292d8c32auE.exit.i.i
call void @llvm.lifetime.end(i64 16, i8* %80), !noalias !118
call void @llvm.lifetime.end(i64 16, i8* %79), !noalias !118
call void @llvm.lifetime.end(i64 8, i8* %27), !noalias !118
call void @llvm.lifetime.end(i64 8, i8* %25), !noalias !118
call void @llvm.lifetime.end(i64 8, i8* %24), !noalias !118
%302 = load i8** %23, align 8, !alias.scope !118
%303 = icmp eq i8* %302, null
br i1 %303, label %_ZN10lang_start20ha5830e2af18817aehmaE.exit, label %cond.i.i.i
cond.i.i.i: ; preds = %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit61.i.i"
%304 = getelementptr inbounds i8* %302, i64 8
%305 = bitcast i8* %304 to void (i8*)**
%306 = load void (i8*)** %305, align 8
%307 = bitcast i8** %23 to i8*
call void %306(i8* %307)
br label %_ZN10lang_start20ha5830e2af18817aehmaE.exit
_ZN10lang_start20ha5830e2af18817aehmaE.exit: ; preds = %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit61.i.i", %cond.i.i.i
call void @llvm.lifetime.end(i64 16, i8* %15), !alias.scope !118
call void @llvm.lifetime.end(i64 16, i8* %15)
ret i64 %arg.sroa.566.0.copyload..i.i
}
; Function Attrs: nounwind
declare void @llvm.lifetime.start(i64, i8* nocapture) unnamed_addr #1
; Function Attrs: nounwind
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) unnamed_addr #1
; Function Attrs: nounwind
declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) #1
; Function Attrs: nounwind
declare void @llvm.lifetime.end(i64, i8* nocapture) unnamed_addr #1
declare void @je_sdallocx(i8*, i64, i32) unnamed_addr
; Function Attrs: cold noinline noreturn uwtable
define internal fastcc void @_ZN6unwind12begin_unwind21h16988964954821698211E(%str_slice* noalias nocapture dereferenceable(16)) unnamed_addr #2 {
entry-block:
%__uniq_fat_ptr = alloca { i8*, void (i8*)** }, align 8
%arg = alloca { i8*, void (i8*)** }, align 8
%1 = tail call i8* @je_mallocx(i64 16, i32 0)
%2 = icmp eq i8* %1, null
br i1 %2, label %then-block-1237-.i, label %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit
then-block-1237-.i: ; preds = %entry-block
tail call fastcc void @_ZN3oom20heb64331fabedeb18pTaE()
unreachable
_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit: ; preds = %entry-block
%3 = bitcast %str_slice* %0 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1, i8* %3, i64 16, i32 8, i1 false)
%4 = bitcast { i8*, void (i8*)** }* %__uniq_fat_ptr to i8*
call void @llvm.lifetime.start(i64 16, i8* %4)
%5 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 0
store i8* %1, i8** %5, align 8
%6 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 1
store void (i8*)** bitcast ({ void (%str_slice**)*, i64, i64, %"struct.core::intrinsics::TypeId<[]>[#3]" (%str_slice*)* }* @vtable1735 to void (i8*)**), void (i8*)*** %6, align 8
%7 = bitcast { i8*, void (i8*)** }* %arg to i8*
call void @llvm.lifetime.start(i64 16, i8* %7)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %7, i8* %4, i64 16, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %4, i8 0, i64 16, i32 8, i1 false)
invoke fastcc void @_ZN6unwind18begin_unwind_inner20h232c80a4d37ded86pIcE({ i8*, void (i8*)** }* noalias nocapture dereferenceable(16) %arg, { %str_slice, i64 }* noalias nocapture readonly dereferenceable(24) @_ZN4main10_FILE_LINE20h4da2afd5f850df1e4aaE)
to label %normal-return unwind label %unwind_ast_1192_
normal-return: ; preds = %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit
call void @llvm.lifetime.end(i64 16, i8* %7)
unreachable
unwind_ast_1192_: ; preds = %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit
%8 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%9 = load i8** %5, align 8
%10 = icmp eq i8* %9, null
br i1 %10, label %"_ZN32Box$LT$$BP$$x27static$x20str$GT$14glue_drop.172317hd55d66504444ed2eE.exit", label %cond.i
cond.i: ; preds = %unwind_ast_1192_
%11 = load void (i8*)*** %6, align 8
%12 = load void (i8*)** %11, align 8
call void %12(i8* %4)
br label %"_ZN32Box$LT$$BP$$x27static$x20str$GT$14glue_drop.172317hd55d66504444ed2eE.exit"
"_ZN32Box$LT$$BP$$x27static$x20str$GT$14glue_drop.172317hd55d66504444ed2eE.exit": ; preds = %cond.i, %unwind_ast_1192_
call void @llvm.lifetime.end(i64 16, i8* %4)
call void @llvm.lifetime.end(i64 16, i8* %3)
resume { i8*, i32 } %8
}
declare i8* @je_mallocx(i64, i32) unnamed_addr
define internal void @"_ZN32Box$LT$$BP$$x27static$x20str$GT$14glue_drop.172317hd55d66504444ed2eE"(%str_slice** nocapture readonly) unnamed_addr {
entry-block:
%1 = load %str_slice** %0, align 8
%2 = icmp eq %str_slice* %1, null
br i1 %2, label %next, label %cond
next: ; preds = %entry-block, %cond
ret void
cond: ; preds = %entry-block
%3 = bitcast %str_slice* %1 to i8*
tail call void @je_sdallocx(i8* %3, i64 16, i32 0)
br label %next
}
; Function Attrs: nounwind readnone uwtable
define internal %"struct.core::intrinsics::TypeId<[]>[#3]" @_ZN3any5T.Any11get_type_id21h13552194398611234940E(%str_slice* noalias nocapture readonly dereferenceable(16)) unnamed_addr #3 {
entry-block:
ret %"struct.core::intrinsics::TypeId<[]>[#3]" { i64 8802261786977977801 }
}
; Function Attrs: uwtable
define internal void @_ZN4task15Ops.rt..Runtime9yield_now20hba5b226fe3a3efe3ifaE(%"struct.task::Ops<[]>"* noalias dereferenceable(56), %"struct.rustrt::task::Task<[]>[#9]"* noalias dereferenceable(120)) unnamed_addr #0 {
entry-block:
%2 = alloca [0 x %"struct.core::fmt::Argument<[]>[#3]"], align 8
%__args.i.i.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%__uniq_fat_ptr = alloca { i8*, void (i8*)** }, align 8
%arg = alloca { i8*, void (i8*)** }, align 8
%3 = bitcast { i8*, void (i8*)** }* %__uniq_fat_ptr to i8*
call void @llvm.lifetime.start(i64 16, i8* %3)
%4 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 0
%.c = bitcast %"struct.task::Ops<[]>"* %0 to i8*
store i8* %.c, i8** %4, align 8
%5 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 1
store void (i8*)** bitcast ({ void (%"struct.task::Ops<[]>"**)*, i64, i64, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, i64, %"struct.rustrt::task::Task<[]>[#9]"*, { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::task::TaskOpts<[]>[#9]"*, { void (i8*)*, i8* }*)*, void ({ i64, i64 }*, %"struct.task::Ops<[]>"*)*, void (%"enum.core::option::Option<[uint]>[#3]"*, %"struct.task::Ops<[]>"*)*, i1 (%"struct.task::Ops<[]>"*)*, void ({ i8*, void (i8*)** }*, %"struct.task::Ops<[]>"*)* }* @vtable2486 to void (i8*)**), void (i8*)*** %5, align 8
%6 = bitcast { i8*, void (i8*)** }* %arg to i8*
call void @llvm.lifetime.start(i64 16, i8* %6)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %6, i8* %3, i64 16, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %3, i8 0, i64 16, i32 8, i1 false)
%7 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %1, i64 0, i32 5
%8 = getelementptr inbounds %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %7, i64 0, i32 0, i32 0
%9 = load i8** %8, align 8, !alias.scope !273, !noalias !280
%10 = icmp eq i8* %9, null
br i1 %10, label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit", label %then-block-7317-.i
unwind_custom_.i2: ; preds = %then-block-7317-.i
%11 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%12 = getelementptr inbounds { i8*, void (i8*)** }* %arg, i64 0, i32 0
%13 = load i8** %12, align 8, !alias.scope !280, !noalias !282
%14 = icmp eq i8* %13, null
br i1 %14, label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i", label %cond.i13.i
cond.i13.i: ; preds = %unwind_custom_.i2
%15 = getelementptr inbounds { i8*, void (i8*)** }* %arg, i64 0, i32 1
%16 = load void (i8*)*** %15, align 8, !alias.scope !280, !noalias !282
%17 = load void (i8*)** %16, align 8, !noalias !283
invoke void %17(i8* %6)
to label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i" unwind label %unwind_ast_335_
"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i": ; preds = %unwind_custom_.i2, %cond.i13.i
call void @llvm.lifetime.end(i64 16, i8* %6), !alias.scope !280, !noalias !282
br label %unwind_ast_335_.body
then-block-7317-.i: ; preds = %entry-block
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN4task4Task11put_runtime14_MSG_FILE_LINE20hbf26a2c2f4e59a61f4bE)
to label %normal-return1.i unwind label %unwind_custom_.i2, !noalias !282
normal-return1.i: ; preds = %then-block-7317-.i
unreachable
"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit": ; preds = %entry-block
%.sroa.0.0..sroa_cast4.pre.i = bitcast %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %7 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.0.0..sroa_cast4.pre.i, i8* %6, i64 16, i32 8, i1 false)
call void @llvm.lifetime.end(i64 16, i8* %6), !alias.scope !280, !noalias !282
call void @llvm.lifetime.end(i64 16, i8* %6)
%.pre = load i32* @_ZN9local_ptr6native10RT_TLS_KEY20hde2fb88314fef024plaE, align 4
call void @llvm.lifetime.end(i64 16, i8* %3)
%not..i.i.i.i = icmp eq i32 %.pre, -1
br i1 %not..i.i.i.i, label %match_else.i.i.i, label %normal-return.i.i
match_else.i.i.i: ; preds = %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit"
%18 = bitcast [0 x %"struct.core::fmt::Argument<[]>[#3]"]* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %18), !noalias !284
%19 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %19), !noalias !284
%20 = getelementptr inbounds [0 x %"struct.core::fmt::Argument<[]>[#3]"]* %2, i64 0, i64 0
%__fat_ptr4.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN9local_ptr6native7tls_key15__STATIC_FMTSTR20h349f0f2acd1459fcVsaE, i64 0, i64 0), %str_slice** %__fat_ptr4.sroa.0.0..sroa_idx.i.i.i, align 8, !noalias !284
%__fat_ptr4.sroa.5.0..sroa_idx40.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr4.sroa.5.0..sroa_idx40.i.i.i, align 8, !noalias !284
%21 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %21, align 8, !alias.scope !289, !noalias !292
%__fat_ptr6.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %20, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr6.sroa.0.0..sroa_idx.i.i.i, align 8, !noalias !284
%__fat_ptr6.sroa.5.0..sroa_idx35.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 2, i32 1
store i64 0, i64* %__fat_ptr6.sroa.5.0..sroa_idx35.i.i.i, align 8, !noalias !284
invoke fastcc void @_ZN4util5abort20ha89562d169f67818NyaE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i.i.i)
to label %.noexc.i.i unwind label %unwind_custom_.i.i
.noexc.i.i: ; preds = %match_else.i.i.i
unreachable
normal-return.i.i: ; preds = %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit"
%22 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %1, i64 0, i32 0, i32 0, i32 0
%23 = invoke i32 @TlsSetValue(i32 %.pre, i8* %22)
to label %.noexc4 unwind label %unwind_custom_.i.i
.noexc4: ; preds = %normal-return.i.i
%24 = icmp eq i32 %23, 0
br i1 %24, label %then-block-1302-.i, label %normal-return1.i.i
then-block-1302-.i: ; preds = %.noexc4
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN20thread_local_storage3set14_MSG_FILE_LINE20hbf26a2c2f4e59a61evaE)
to label %.noexc5 unwind label %unwind_custom_.i.i
.noexc5: ; preds = %then-block-1302-.i
unreachable
unwind_custom_.i.i: ; preds = %then-block-1302-.i, %normal-return.i.i, %match_else.i.i.i
%sched.i.i.0 = phi %"struct.rustrt::task::Task<[]>[#9]"* [ %1, %match_else.i.i.i ], [ null, %then-block-1302-.i ], [ null, %normal-return.i.i ]
%25 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %sched.i.i.0)
to label %unwind_custom_.body.i unwind label %unwind_custom_.i
normal-return1.i.i: ; preds = %.noexc4
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %normal-return.i unwind label %unwind_custom_.i
normal-return.i: ; preds = %normal-return1.i.i
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %normal-return1 unwind label %unwind_custom_
unwind_custom_.i: ; preds = %unwind_custom_.i.i, %normal-return1.i.i
%26 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_custom_.body.i
unwind_custom_.body.i: ; preds = %unwind_custom_.i.i, %unwind_custom_.i
%eh.lpad-body.i = phi { i8*, i32 } [ %26, %unwind_custom_.i ], [ %25, %unwind_custom_.i.i ]
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %unwind_custom_.body unwind label %unwind_custom_
unwind_ast_335_: ; preds = %cond.i13.i
%27 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_335_.body
unwind_ast_335_.body: ; preds = %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i", %unwind_ast_335_
%eh.lpad-body3 = phi { i8*, i32 } [ %27, %unwind_ast_335_ ], [ %11, %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i" ]
%.fca.0.extract = extractvalue { i8*, i32 } %eh.lpad-body3, 0
%.fca.1.extract = extractvalue { i8*, i32 } %eh.lpad-body3, 1
%28 = load i8** %4, align 8
%29 = icmp eq i8* %28, null
br i1 %29, label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit11", label %cond.i10
cond.i10: ; preds = %unwind_ast_335_.body
%30 = load void (i8*)*** %5, align 8
%31 = load void (i8*)** %30, align 8
call void %31(i8* %3)
br label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit11"
"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit11": ; preds = %cond.i10, %unwind_ast_335_.body
call void @llvm.lifetime.end(i64 16, i8* %3)
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit": ; preds = %unwind_custom_.body, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit11"
%cur_task.0 = phi %"struct.rustrt::task::Task<[]>[#9]"* [ null, %unwind_custom_.body ], [ %1, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit11" ]
%.sroa.4.0 = phi i32 [ %.fca.1.extract8, %unwind_custom_.body ], [ %.fca.1.extract, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit11" ]
%.sroa.0.0 = phi i8* [ %.fca.0.extract6, %unwind_custom_.body ], [ %.fca.0.extract, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit11" ]
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %cur_task.0)
%.fca.0.insert = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0, 0
%.fca.1.insert = insertvalue { i8*, i32 } %.fca.0.insert, i32 %.sroa.4.0, 1
resume { i8*, i32 } %.fca.1.insert
normal-return1: ; preds = %normal-return.i
%32 = invoke i32 @SwitchToThread()
to label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit16" unwind label %unwind_custom_
unwind_custom_: ; preds = %normal-return.i, %unwind_custom_.body.i, %normal-return1
%33 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_custom_.body
unwind_custom_.body: ; preds = %unwind_custom_.body.i, %unwind_custom_
%eh.lpad-body = phi { i8*, i32 } [ %33, %unwind_custom_ ], [ %eh.lpad-body.i, %unwind_custom_.body.i ]
%.fca.0.extract6 = extractvalue { i8*, i32 } %eh.lpad-body, 0
%.fca.1.extract8 = extractvalue { i8*, i32 } %eh.lpad-body, 1
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit16": ; preds = %normal-return1
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
ret void
}
; Function Attrs: uwtable
define internal void @_ZN4task15Ops.rt..Runtime11maybe_yield20h200ef8d60492c888KfaE(%"struct.task::Ops<[]>"* noalias dereferenceable(56), %"struct.rustrt::task::Task<[]>[#9]"* noalias dereferenceable(120)) unnamed_addr #0 {
entry-block:
%2 = alloca [0 x %"struct.core::fmt::Argument<[]>[#3]"], align 8
%__args.i.i.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%__uniq_fat_ptr = alloca { i8*, void (i8*)** }, align 8
%arg = alloca { i8*, void (i8*)** }, align 8
%3 = bitcast { i8*, void (i8*)** }* %__uniq_fat_ptr to i8*
call void @llvm.lifetime.start(i64 16, i8* %3)
%4 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 0
%.c = bitcast %"struct.task::Ops<[]>"* %0 to i8*
store i8* %.c, i8** %4, align 8
%5 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 1
store void (i8*)** bitcast ({ void (%"struct.task::Ops<[]>"**)*, i64, i64, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, i64, %"struct.rustrt::task::Task<[]>[#9]"*, { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::task::TaskOpts<[]>[#9]"*, { void (i8*)*, i8* }*)*, void ({ i64, i64 }*, %"struct.task::Ops<[]>"*)*, void (%"enum.core::option::Option<[uint]>[#3]"*, %"struct.task::Ops<[]>"*)*, i1 (%"struct.task::Ops<[]>"*)*, void ({ i8*, void (i8*)** }*, %"struct.task::Ops<[]>"*)* }* @vtable2486 to void (i8*)**), void (i8*)*** %5, align 8
%6 = bitcast { i8*, void (i8*)** }* %arg to i8*
call void @llvm.lifetime.start(i64 16, i8* %6)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %6, i8* %3, i64 16, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %3, i8 0, i64 16, i32 8, i1 false)
%7 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %1, i64 0, i32 5
%8 = getelementptr inbounds %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %7, i64 0, i32 0, i32 0
%9 = load i8** %8, align 8, !alias.scope !295, !noalias !302
%10 = icmp eq i8* %9, null
br i1 %10, label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit", label %then-block-7317-.i
unwind_custom_.i2: ; preds = %then-block-7317-.i
%11 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%12 = getelementptr inbounds { i8*, void (i8*)** }* %arg, i64 0, i32 0
%13 = load i8** %12, align 8, !alias.scope !302, !noalias !304
%14 = icmp eq i8* %13, null
br i1 %14, label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i", label %cond.i13.i
cond.i13.i: ; preds = %unwind_custom_.i2
%15 = getelementptr inbounds { i8*, void (i8*)** }* %arg, i64 0, i32 1
%16 = load void (i8*)*** %15, align 8, !alias.scope !302, !noalias !304
%17 = load void (i8*)** %16, align 8, !noalias !305
invoke void %17(i8* %6)
to label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i" unwind label %unwind_ast_363_
"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i": ; preds = %unwind_custom_.i2, %cond.i13.i
call void @llvm.lifetime.end(i64 16, i8* %6), !alias.scope !302, !noalias !304
br label %unwind_ast_363_.body
then-block-7317-.i: ; preds = %entry-block
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN4task4Task11put_runtime14_MSG_FILE_LINE20hbf26a2c2f4e59a61f4bE)
to label %normal-return1.i unwind label %unwind_custom_.i2, !noalias !304
normal-return1.i: ; preds = %then-block-7317-.i
unreachable
"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit": ; preds = %entry-block
%.sroa.0.0..sroa_cast4.pre.i = bitcast %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %7 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.0.0..sroa_cast4.pre.i, i8* %6, i64 16, i32 8, i1 false)
call void @llvm.lifetime.end(i64 16, i8* %6), !alias.scope !302, !noalias !304
call void @llvm.lifetime.end(i64 16, i8* %6)
%.pre = load i32* @_ZN9local_ptr6native10RT_TLS_KEY20hde2fb88314fef024plaE, align 4
call void @llvm.lifetime.end(i64 16, i8* %3)
%not..i.i.i.i = icmp eq i32 %.pre, -1
br i1 %not..i.i.i.i, label %match_else.i.i.i, label %normal-return.i.i
match_else.i.i.i: ; preds = %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit"
%18 = bitcast [0 x %"struct.core::fmt::Argument<[]>[#3]"]* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %18), !noalias !306
%19 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %19), !noalias !306
%20 = getelementptr inbounds [0 x %"struct.core::fmt::Argument<[]>[#3]"]* %2, i64 0, i64 0
%__fat_ptr4.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN9local_ptr6native7tls_key15__STATIC_FMTSTR20h349f0f2acd1459fcVsaE, i64 0, i64 0), %str_slice** %__fat_ptr4.sroa.0.0..sroa_idx.i.i.i, align 8, !noalias !306
%__fat_ptr4.sroa.5.0..sroa_idx40.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr4.sroa.5.0..sroa_idx40.i.i.i, align 8, !noalias !306
%21 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %21, align 8, !alias.scope !311, !noalias !314
%__fat_ptr6.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %20, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr6.sroa.0.0..sroa_idx.i.i.i, align 8, !noalias !306
%__fat_ptr6.sroa.5.0..sroa_idx35.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 2, i32 1
store i64 0, i64* %__fat_ptr6.sroa.5.0..sroa_idx35.i.i.i, align 8, !noalias !306
invoke fastcc void @_ZN4util5abort20ha89562d169f67818NyaE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i.i.i)
to label %.noexc.i.i unwind label %unwind_custom_.i.i
.noexc.i.i: ; preds = %match_else.i.i.i
unreachable
normal-return.i.i: ; preds = %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit"
%22 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %1, i64 0, i32 0, i32 0, i32 0
%23 = invoke i32 @TlsSetValue(i32 %.pre, i8* %22)
to label %.noexc4 unwind label %unwind_custom_.i.i
.noexc4: ; preds = %normal-return.i.i
%24 = icmp eq i32 %23, 0
br i1 %24, label %then-block-1302-.i, label %normal-return1.i.i
then-block-1302-.i: ; preds = %.noexc4
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN20thread_local_storage3set14_MSG_FILE_LINE20hbf26a2c2f4e59a61evaE)
to label %.noexc5 unwind label %unwind_custom_.i.i
.noexc5: ; preds = %then-block-1302-.i
unreachable
unwind_custom_.i.i: ; preds = %then-block-1302-.i, %normal-return.i.i, %match_else.i.i.i
%sched.i.i.0 = phi %"struct.rustrt::task::Task<[]>[#9]"* [ %1, %match_else.i.i.i ], [ null, %then-block-1302-.i ], [ null, %normal-return.i.i ]
%25 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %sched.i.i.0)
to label %unwind_custom_.body.i unwind label %unwind_custom_.i
normal-return1.i.i: ; preds = %.noexc4
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %normal-return.i unwind label %unwind_custom_.i
normal-return.i: ; preds = %normal-return1.i.i
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit15" unwind label %unwind_custom_
unwind_custom_.i: ; preds = %unwind_custom_.i.i, %normal-return1.i.i
%26 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_custom_.body.i
unwind_custom_.body.i: ; preds = %unwind_custom_.i.i, %unwind_custom_.i
%eh.lpad-body.i = phi { i8*, i32 } [ %26, %unwind_custom_.i ], [ %25, %unwind_custom_.i.i ]
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %unwind_custom_.body unwind label %unwind_custom_
unwind_ast_363_: ; preds = %cond.i13.i
%27 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_363_.body
unwind_ast_363_.body: ; preds = %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i", %unwind_ast_363_
%eh.lpad-body3 = phi { i8*, i32 } [ %27, %unwind_ast_363_ ], [ %11, %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i" ]
%.fca.0.extract = extractvalue { i8*, i32 } %eh.lpad-body3, 0
%.fca.1.extract = extractvalue { i8*, i32 } %eh.lpad-body3, 1
%28 = load i8** %4, align 8
%29 = icmp eq i8* %28, null
br i1 %29, label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit10", label %cond.i9
cond.i9: ; preds = %unwind_ast_363_.body
%30 = load void (i8*)*** %5, align 8
%31 = load void (i8*)** %30, align 8
call void %31(i8* %3)
br label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit10"
"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit10": ; preds = %cond.i9, %unwind_ast_363_.body
call void @llvm.lifetime.end(i64 16, i8* %3)
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit": ; preds = %unwind_custom_.body, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit10"
%cur_task.0 = phi %"struct.rustrt::task::Task<[]>[#9]"* [ null, %unwind_custom_.body ], [ %1, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit10" ]
%.sroa.4.0 = phi i32 [ %.fca.1.extract7, %unwind_custom_.body ], [ %.fca.1.extract, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit10" ]
%.sroa.0.0 = phi i8* [ %.fca.0.extract5, %unwind_custom_.body ], [ %.fca.0.extract, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit10" ]
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %cur_task.0)
%.fca.0.insert = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0, 0
%.fca.1.insert = insertvalue { i8*, i32 } %.fca.0.insert, i32 %.sroa.4.0, 1
resume { i8*, i32 } %.fca.1.insert
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit15": ; preds = %normal-return.i
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
ret void
unwind_custom_: ; preds = %normal-return.i, %unwind_custom_.body.i
%32 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_custom_.body
unwind_custom_.body: ; preds = %unwind_custom_.body.i, %unwind_custom_
%eh.lpad-body = phi { i8*, i32 } [ %32, %unwind_custom_ ], [ %eh.lpad-body.i, %unwind_custom_.body.i ]
%.fca.0.extract5 = extractvalue { i8*, i32 } %eh.lpad-body, 0
%.fca.1.extract7 = extractvalue { i8*, i32 } %eh.lpad-body, 1
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
}
; Function Attrs: uwtable
define internal void @_ZN4task15Ops.rt..Runtime10deschedule20h325293fc8dd7b552ehaE(%"struct.task::Ops<[]>"* noalias dereferenceable(56), i64, %"struct.rustrt::task::Task<[]>[#9]"* noalias dereferenceable(120), { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }* noalias nocapture dereferenceable(16)) unnamed_addr #0 {
entry-block:
%4 = alloca [0 x %"struct.core::fmt::Argument<[]>[#3]"], align 8
%__args.i.i.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%arg.i.i.i = alloca %"enum.rustrt::task::BlockedTask<[]>[#9]", align 8
%next.i.i.sroa.10 = alloca [7 x i8], align 1
%arg.i.i.sroa.8.sroa.12 = alloca [7 x i8], align 1
%loop_option.i = alloca %"enum.core::option::Option<[core::result::Result<(), rustrt::task::BlockedTask>]>[#3]", align 8
%5 = alloca %"enum.core::option::Option<[rustrt::task::BlockedTask]>[#3]", align 8
%arg.i = alloca %"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]", align 8
%__uniq_fat_ptr = alloca { i8*, void (i8*)** }, align 8
%arg = alloca { i8*, void (i8*)** }, align 8
%task.sroa.10 = alloca [7 x i8], align 1
%6 = alloca %"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]", align 8
%arg4 = alloca %"enum.rustrt::task::BlockedTask<[]>[#9]", align 8
%7 = bitcast { i8*, void (i8*)** }* %__uniq_fat_ptr to i8*
call void @llvm.lifetime.start(i64 16, i8* %7)
%8 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 0
%.c = bitcast %"struct.task::Ops<[]>"* %0 to i8*
store i8* %.c, i8** %8, align 8
%9 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 1
store void (i8*)** bitcast ({ void (%"struct.task::Ops<[]>"**)*, i64, i64, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, i64, %"struct.rustrt::task::Task<[]>[#9]"*, { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::task::TaskOpts<[]>[#9]"*, { void (i8*)*, i8* }*)*, void ({ i64, i64 }*, %"struct.task::Ops<[]>"*)*, void (%"enum.core::option::Option<[uint]>[#3]"*, %"struct.task::Ops<[]>"*)*, i1 (%"struct.task::Ops<[]>"*)*, void ({ i8*, void (i8*)** }*, %"struct.task::Ops<[]>"*)* }* @vtable2486 to void (i8*)**), void (i8*)*** %9, align 8
%10 = bitcast { i8*, void (i8*)** }* %arg to i8*
call void @llvm.lifetime.start(i64 16, i8* %10)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %10, i8* %7, i64 16, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %7, i8 0, i64 16, i32 8, i1 false)
%11 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %2, i64 0, i32 5
%12 = getelementptr inbounds %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %11, i64 0, i32 0, i32 0
%13 = load i8** %12, align 8, !alias.scope !317, !noalias !324
%14 = icmp eq i8* %13, null
br i1 %14, label %normal-return2, label %then-block-7317-.i
unwind_custom_.i2: ; preds = %then-block-7317-.i
%15 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%16 = getelementptr inbounds { i8*, void (i8*)** }* %arg, i64 0, i32 0
%17 = load i8** %16, align 8, !alias.scope !324, !noalias !326
%18 = icmp eq i8* %17, null
br i1 %18, label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i", label %cond.i13.i
cond.i13.i: ; preds = %unwind_custom_.i2
%19 = getelementptr inbounds { i8*, void (i8*)** }* %arg, i64 0, i32 1
%20 = load void (i8*)*** %19, align 8, !alias.scope !324, !noalias !326
%21 = load void (i8*)** %20, align 8, !noalias !327
invoke void %21(i8* %10)
to label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i" unwind label %unwind_ast_482_
"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i": ; preds = %unwind_custom_.i2, %cond.i13.i
call void @llvm.lifetime.end(i64 16, i8* %10), !alias.scope !324, !noalias !326
br label %unwind_ast_482_.body
then-block-7317-.i: ; preds = %entry-block
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN4task4Task11put_runtime14_MSG_FILE_LINE20hbf26a2c2f4e59a61f4bE)
to label %normal-return1.i unwind label %unwind_custom_.i2, !noalias !326
normal-return1.i: ; preds = %then-block-7317-.i
unreachable
unwind_ast_482_: ; preds = %cond.i13.i
%22 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_482_.body
unwind_ast_482_.body: ; preds = %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i", %unwind_ast_482_
%eh.lpad-body3 = phi { i8*, i32 } [ %22, %unwind_ast_482_ ], [ %15, %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i" ]
%.fca.0.extract = extractvalue { i8*, i32 } %eh.lpad-body3, 0
%.fca.1.extract = extractvalue { i8*, i32 } %eh.lpad-body3, 1
%23 = load i8** %8, align 8
%24 = icmp eq i8* %23, null
br i1 %24, label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit115", label %cond.i114
cond.i114: ; preds = %unwind_ast_482_.body
%25 = load void (i8*)*** %9, align 8
%26 = load void (i8*)** %25, align 8
call void %26(i8* %7)
br label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit115"
"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit115": ; preds = %cond.i114, %unwind_ast_482_.body
call void @llvm.lifetime.end(i64 16, i8* %7)
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit": ; preds = %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit, %unwind_custom_.body, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit115"
%cur_task.0 = phi %"struct.rustrt::task::Task<[]>[#9]"* [ null, %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit ], [ null, %unwind_custom_.body ], [ %2, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit115" ]
%.sroa.0.0 = phi i8* [ %.sroa.0.2, %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit ], [ %.fca.0.extract67, %unwind_custom_.body ], [ %.fca.0.extract, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit115" ]
%.sroa.12.0 = phi i32 [ %.sroa.12.2, %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit ], [ %.fca.1.extract69, %unwind_custom_.body ], [ %.fca.1.extract, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit115" ]
%27 = bitcast { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }* %3 to i8*
call void @llvm.lifetime.end(i64 16, i8* %27)
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %cur_task.0)
%.fca.0.insert = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0, 0
%.fca.1.insert = insertvalue { i8*, i32 } %.fca.0.insert, i32 %.sroa.12.0, 1
resume { i8*, i32 } %.fca.1.insert
normal-return2: ; preds = %entry-block
%.sroa.0.0..sroa_cast4.pre.i = bitcast %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %11 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.0.0..sroa_cast4.pre.i, i8* %10, i64 16, i32 8, i1 false)
call void @llvm.lifetime.end(i64 16, i8* %10), !alias.scope !324, !noalias !326
call void @llvm.lifetime.end(i64 16, i8* %10)
call void @llvm.lifetime.end(i64 16, i8* %7)
%task.sroa.10.0..sroa_idx316 = getelementptr inbounds [7 x i8]* %task.sroa.10, i64 0, i64 0
call void @llvm.lifetime.start(i64 7, i8* %task.sroa.10.0..sroa_idx316)
%.c.i = ptrtoint %"struct.rustrt::task::Task<[]>[#9]"* %2 to i64
%28 = icmp eq i64 %1, 1
br i1 %28, label %then-block-512-, label %normal-return.i12
unwind_custom_: ; preds = %normal-return.i214, %unwind_custom_.body.i
%29 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_custom_.body
unwind_custom_.body: ; preds = %unwind_custom_.body.i, %unwind_custom_
%eh.lpad-body217 = phi { i8*, i32 } [ %29, %unwind_custom_ ], [ %eh.lpad-body.i, %unwind_custom_.body.i ]
%.fca.0.extract67 = extractvalue { i8*, i32 } %eh.lpad-body217, 0
%.fca.1.extract69 = extractvalue { i8*, i32 } %eh.lpad-body217, 1
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
then-block-512-: ; preds = %normal-return2
%30 = getelementptr inbounds %"struct.task::Ops<[]>"* %0, i64 0, i32 0, i32 0
%31 = getelementptr inbounds %"struct.task::Ops<[]>"* %0, i64 0, i32 0, i32 0, i32 0
%32 = invoke fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) %31)
to label %.noexc4 unwind label %unwind_ast_488_
.noexc4: ; preds = %then-block-512-
invoke void @EnterCriticalSection(i8* %32)
to label %normal-return3 unwind label %unwind_ast_488_
normal-return3: ; preds = %.noexc4
%33 = getelementptr inbounds %"struct.task::Ops<[]>"* %0, i64 0, i32 1
store i8 0, i8* %33, align 1
%34 = getelementptr inbounds %"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"* %6, i64 0, i32 0
call void @llvm.lifetime.start(i64 24, i8* %34)
%35 = getelementptr inbounds { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }* %3, i64 0, i32 0
%36 = load void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)** %35, align 8
%37 = getelementptr inbounds { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }* %3, i64 0, i32 1
%38 = load i8** %37, align 8
%39 = getelementptr inbounds %"enum.rustrt::task::BlockedTask<[]>[#9]"* %arg4, i64 0, i32 0
call void @llvm.lifetime.start(i64 16, i8* %39)
store i8 0, i8* %39, align 8
%task.sroa.10.0..sroa_idx = getelementptr inbounds %"enum.rustrt::task::BlockedTask<[]>[#9]"* %arg4, i64 0, i32 1, i64 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %task.sroa.10.0..sroa_idx, i8* %task.sroa.10.0..sroa_idx316, i64 7, i32 1, i1 false)
%task.sroa.11.0..sroa_idx = getelementptr inbounds %"enum.rustrt::task::BlockedTask<[]>[#9]"* %arg4, i64 0, i32 2, i64 0
store i64 %.c.i, i64* %task.sroa.11.0..sroa_idx, align 8
call void @llvm.memset.p0i8.i64(i8* %task.sroa.10.0..sroa_idx316, i8 0, i64 7, i32 1, i1 false)
invoke void %36(%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"* noalias nocapture sret dereferenceable(24) %6, i8* %38, %"enum.rustrt::task::BlockedTask<[]>[#9]"* noalias nocapture dereferenceable(16) %arg4)
to label %normal-return5 unwind label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit"
unwind_ast_488_: ; preds = %.noexc4, %then-block-512-
%40 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_488_.body
unwind_ast_488_.body: ; preds = %_ZN17task..BlockedTask14glue_drop.603917he433c0ed237ef13dE.exit45.i, %unwind_ast_488_
%task.sroa.11.1 = phi i64 [ %.c.i, %unwind_ast_488_ ], [ 0, %_ZN17task..BlockedTask14glue_drop.603917he433c0ed237ef13dE.exit45.i ]
%eh.lpad-body14 = phi { i8*, i32 } [ %40, %unwind_ast_488_ ], [ %68, %_ZN17task..BlockedTask14glue_drop.603917he433c0ed237ef13dE.exit45.i ]
%.fca.0.extract71 = extractvalue { i8*, i32 } %eh.lpad-body14, 0
%.fca.1.extract73 = extractvalue { i8*, i32 } %eh.lpad-body14, 1
br label %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit
_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit: ; preds = %next-block.i.i.i.i148, %next-block1.i.i.i.i149, %then-block-2168-.i.i.i.i150, %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit122", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit", %unwind_ast_488_.body
%task.sroa.11.2 = phi i64 [ 0, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit122" ], [ 0, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit" ], [ %task.sroa.11.1, %unwind_ast_488_.body ], [ 0, %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155" ], [ 0, %then-block-2168-.i.i.i.i150 ], [ 0, %next-block1.i.i.i.i149 ], [ 0, %next-block.i.i.i.i148 ]
%.sroa.0.2 = phi i8* [ %.sroa.0.3247, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit122" ], [ %.fca.0.extract75, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit" ], [ %.fca.0.extract71, %unwind_ast_488_.body ], [ %.sroa.0.4, %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155" ], [ %.fca.0.extract87, %then-block-2168-.i.i.i.i150 ], [ %.fca.0.extract87, %next-block1.i.i.i.i149 ], [ %.fca.0.extract87, %next-block.i.i.i.i148 ]
%.sroa.12.2 = phi i32 [ %.sroa.12.3248, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit122" ], [ %.fca.1.extract77, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit" ], [ %.fca.1.extract73, %unwind_ast_488_.body ], [ %.sroa.12.4, %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155" ], [ %.fca.1.extract89, %then-block-2168-.i.i.i.i150 ], [ %.fca.1.extract89, %next-block1.i.i.i.i149 ], [ %.fca.1.extract89, %next-block.i.i.i.i148 ]
%41 = inttoptr i64 %task.sroa.11.2 to %"struct.rustrt::task::Task<[]>[#9]"*
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %41)
call void @llvm.lifetime.end(i64 7, i8* %task.sroa.10.0..sroa_idx316)
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
normal-return5: ; preds = %normal-return3
call void @llvm.lifetime.end(i64 16, i8* %39)
%42 = load i8* %34, align 8, !range !38
%cond51 = icmp eq i8 %42, 0
br i1 %cond51, label %while_cond, label %match_else
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit": ; preds = %normal-return3
%43 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract75 = extractvalue { i8*, i32 } %43, 0
%.fca.1.extract77 = extractvalue { i8*, i32 } %43, 1
%44 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) %31), !noalias !328
call void @LeaveCriticalSection(i8* %44), !noalias !328
br label %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit
match_else: ; preds = %normal-return5
%45 = getelementptr inbounds %"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"* %6, i64 0, i32 2
%46 = bitcast [2 x i64]* %45 to i8*
%arg12.sroa.0.0.copyload = load i8* %46, align 8
%arg12.sroa.5174.0..sroa_idx175 = getelementptr inbounds %"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"* %6, i64 0, i32 2, i64 1
%arg12.sroa.5174.0.copyload = load i64* %arg12.sroa.5174.0..sroa_idx175, align 8
call void @llvm.memset.p0i8.i64(i8* %46, i8 0, i64 16, i32 8, i1 false)
%cond.i6 = icmp eq i8 %arg12.sroa.0.0.copyload, 0
br i1 %cond.i6, label %join, label %normal-return3.i
normal-return3.i: ; preds = %match_else
%47 = inttoptr i64 %arg12.sroa.5174.0.copyload to %"struct.alloc::arc::ArcInner<[core::atomic::AtomicUint]>[#2]"*
%48 = getelementptr inbounds %"struct.alloc::arc::ArcInner<[core::atomic::AtomicUint]>[#2]"* %47, i64 0, i32 2, i32 0, i32 0
%49 = atomicrmw xchg i64* %48, i64 0 seq_cst, !noalias !331
%50 = icmp eq i64 %arg12.sroa.5174.0.copyload, 0
br i1 %50, label %join, label %next-block.i.i.i7
next-block.i.i.i7: ; preds = %normal-return3.i
%51 = getelementptr inbounds %"struct.alloc::arc::ArcInner<[core::atomic::AtomicUint]>[#2]"* %47, i64 0, i32 0, i32 0, i32 0
%52 = atomicrmw sub i64* %51, i64 1 release, !noalias !334
%53 = icmp eq i64 %52, 1
br i1 %53, label %next-block1.i.i.i8, label %join
next-block1.i.i.i8: ; preds = %next-block.i.i.i7
fence acquire
%54 = getelementptr inbounds %"struct.alloc::arc::ArcInner<[core::atomic::AtomicUint]>[#2]"* %47, i64 0, i32 1, i32 0, i32 0
%55 = atomicrmw sub i64* %54, i64 1 release, !noalias !334
%56 = icmp eq i64 %55, 1
br i1 %56, label %then-block-14573-.i.i.i, label %join
then-block-14573-.i.i.i: ; preds = %next-block1.i.i.i8
fence acquire
%57 = inttoptr i64 %arg12.sroa.5174.0.copyload to i8*
invoke void @je_sdallocx(i8* %57, i64 24, i32 0)
to label %join unwind label %clean_ast_512_11
while_cond: ; preds = %normal-return5, %while_body
%58 = load i8* %33, align 1, !range !38
%59 = icmp eq i8 %58, 0
br i1 %59, label %while_body, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit147"
while_body: ; preds = %while_cond
invoke fastcc void @_ZN5mutex17StaticNativeMutex12wait_noguard20hcfb03023bbe36891BEbE(%"struct.rustrt::mutex::StaticNativeMutex<[]>[#9]"* dereferenceable(16) %30)
to label %while_cond unwind label %clean_ast_512_11.thread
clean_ast_512_11.thread: ; preds = %while_body
%60 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract79 = extractvalue { i8*, i32 } %60, 0
%.fca.1.extract81 = extractvalue { i8*, i32 } %60, 1
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit122"
clean_ast_512_11: ; preds = %then-block-14573-.i.i.i
%61 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract83 = extractvalue { i8*, i32 } %61, 0
%.fca.1.extract85 = extractvalue { i8*, i32 } %61, 1
%62 = bitcast i64* %arg12.sroa.5174.0..sroa_idx175 to %"struct.rustrt::task::Task<[]>[#9]"**
%.val50 = load %"struct.rustrt::task::Task<[]>[#9]"** %62, align 8
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %.val50)
call void @llvm.memset.p0i8.i64(i8* %46, i8 0, i64 16, i32 8, i1 false)
%phitmp = icmp eq i8 %42, 1
br i1 %phitmp, label %enum-iter-variant-0.i.i, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit122"
enum-iter-variant-0.i.i: ; preds = %clean_ast_512_11
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit122"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit122": ; preds = %enum-iter-variant-0.i.i, %clean_ast_512_11, %clean_ast_512_11.thread
%.sroa.12.3248 = phi i32 [ %.fca.1.extract81, %clean_ast_512_11.thread ], [ %.fca.1.extract85, %clean_ast_512_11 ], [ %.fca.1.extract85, %enum-iter-variant-0.i.i ]
%.sroa.0.3247 = phi i8* [ %.fca.0.extract79, %clean_ast_512_11.thread ], [ %.fca.0.extract83, %clean_ast_512_11 ], [ %.fca.0.extract83, %enum-iter-variant-0.i.i ]
call void @llvm.lifetime.end(i64 24, i8* %34)
%63 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) %31), !noalias !337
call void @LeaveCriticalSection(i8* %63), !noalias !337
br label %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit
join: ; preds = %normal-return3.i, %next-block.i.i.i7, %next-block1.i.i.i8, %then-block-14573-.i.i.i, %match_else
%64 = bitcast i64* %arg12.sroa.5174.0..sroa_idx175 to %"struct.rustrt::task::Task<[]>[#9]"**
%.val48 = load %"struct.rustrt::task::Task<[]>[#9]"** %64, align 8
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %.val48)
call void @llvm.memset.p0i8.i64(i8* %46, i8 0, i64 16, i32 8, i1 false)
%phitmp246 = icmp eq i8 %42, 1
br i1 %phitmp246, label %enum-iter-variant-0.i.i140, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit147"
enum-iter-variant-0.i.i140: ; preds = %join
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit147"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit147": ; preds = %while_cond, %enum-iter-variant-0.i.i140, %join
call void @llvm.lifetime.end(i64 24, i8* %34)
%65 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) %31), !noalias !340
call void @LeaveCriticalSection(i8* %65), !noalias !340
br label %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit212
normal-return.i12: ; preds = %normal-return2
call void @llvm.memset.p0i8.i64(i8* %task.sroa.10.0..sroa_idx316, i8 0, i64 7, i32 1, i1 false)
%66 = invoke i8* @je_mallocx(i64 24, i32 0)
to label %.noexc.i13 unwind label %_ZN17task..BlockedTask14glue_drop.603917he433c0ed237ef13dE.exit45.i, !noalias !343
.noexc.i13: ; preds = %normal-return.i12
%67 = icmp eq i8* %66, null
br i1 %67, label %then-block-10532-.i.i.i, label %normal-return17
then-block-10532-.i.i.i: ; preds = %.noexc.i13
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE(), !noalias !343
unreachable
_ZN17task..BlockedTask14glue_drop.603917he433c0ed237ef13dE.exit45.i: ; preds = %normal-return.i12
%68 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_488_.body
normal-return17: ; preds = %.noexc.i13
%69 = bitcast i8* %66 to %"struct.core::atomic::AtomicUint<[]>[#3]"*
store %"struct.core::atomic::AtomicUint<[]>[#3]" { %"struct.core::cell::UnsafeCell<[uint]>[#3]" { i64 1 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" undef }, %"struct.core::atomic::AtomicUint<[]>[#3]"* %69, align 8, !noalias !343
%70 = getelementptr inbounds i8* %66, i64 8
%71 = bitcast i8* %70 to %"struct.core::atomic::AtomicUint<[]>[#3]"*
store %"struct.core::atomic::AtomicUint<[]>[#3]" { %"struct.core::cell::UnsafeCell<[uint]>[#3]" { i64 1 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" undef }, %"struct.core::atomic::AtomicUint<[]>[#3]"* %71, align 8, !noalias !343
%data.sroa.0.0..sroa_idx.i.i = getelementptr inbounds i8* %66, i64 16
%72 = bitcast i8* %data.sroa.0.0..sroa_idx.i.i to i64*
store i64 %.c.i, i64* %72, align 8, !noalias !343
%73 = getelementptr inbounds %"struct.task::Ops<[]>"* %0, i64 0, i32 0, i32 0
%74 = getelementptr inbounds %"struct.task::Ops<[]>"* %0, i64 0, i32 0, i32 0, i32 0
%75 = invoke fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) %74)
to label %.noexc16 unwind label %next-block.i.i.i.i148
.noexc16: ; preds = %normal-return17
invoke void @EnterCriticalSection(i8* %75)
to label %normal-return25 unwind label %next-block.i.i.i.i148
next-block.i.i.i.i148: ; preds = %normal-return17, %.noexc16
%76 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract87 = extractvalue { i8*, i32 } %76, 0
%.fca.1.extract89 = extractvalue { i8*, i32 } %76, 1
%77 = icmp eq i8* %66, null
%78 = bitcast i8* %66 to i64*
%79 = atomicrmw sub i64* %78, i64 1 release, !noalias !347
%80 = icmp eq i64 %79, 1
br i1 %80, label %next-block1.i.i.i.i149, label %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit
next-block1.i.i.i.i149: ; preds = %next-block.i.i.i.i148
fence acquire
%81 = getelementptr inbounds i8* %66, i64 8
%82 = bitcast i8* %81 to i64*
%83 = atomicrmw sub i64* %82, i64 1 release, !noalias !347
%84 = icmp eq i64 %83, 1
br i1 %84, label %then-block-2168-.i.i.i.i150, label %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit
then-block-2168-.i.i.i.i150: ; preds = %next-block1.i.i.i.i149
fence acquire
call void @je_sdallocx(i8* %66, i64 24, i32 0), !noalias !347
br label %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit
unwind_ast_558_23: ; preds = %while_body46
%85 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract91 = extractvalue { i8*, i32 } %85, 0
%.fca.1.extract93 = extractvalue { i8*, i32 } %85, 1
br label %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155"
"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155": ; preds = %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit", %next-block.i.i.i.i.i.i175, %next-block1.i.i.i.i.i.i176, %then-block-2168-.i.i.i.i.i.i177, %unwind_ast_582_.body, %next-block.i.i.i.i.i.i, %next-block1.i.i.i.i.i.i, %then-block-2168-.i.i.i.i.i.i, %unwind_ast_558_23
%.sroa.0.4 = phi i8* [ %.fca.0.extract91, %unwind_ast_558_23 ], [ %.fca.0.extract95, %then-block-2168-.i.i.i.i.i.i ], [ %.fca.0.extract95, %next-block1.i.i.i.i.i.i ], [ %.fca.0.extract95, %next-block.i.i.i.i.i.i ], [ %.fca.0.extract95, %unwind_ast_582_.body ], [ %.fca.0.extract99, %then-block-2168-.i.i.i.i.i.i177 ], [ %.fca.0.extract99, %next-block1.i.i.i.i.i.i176 ], [ %.fca.0.extract99, %next-block.i.i.i.i.i.i175 ], [ %.fca.0.extract99, %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit" ]
%.sroa.12.4 = phi i32 [ %.fca.1.extract93, %unwind_ast_558_23 ], [ %.fca.1.extract97, %then-block-2168-.i.i.i.i.i.i ], [ %.fca.1.extract97, %next-block1.i.i.i.i.i.i ], [ %.fca.1.extract97, %next-block.i.i.i.i.i.i ], [ %.fca.1.extract97, %unwind_ast_582_.body ], [ %.fca.1.extract101, %then-block-2168-.i.i.i.i.i.i177 ], [ %.fca.1.extract101, %next-block1.i.i.i.i.i.i176 ], [ %.fca.1.extract101, %next-block.i.i.i.i.i.i175 ], [ %.fca.1.extract101, %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit" ]
%86 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) %74), !noalias !350
call void @LeaveCriticalSection(i8* %86), !noalias !350
br label %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit
normal-return25: ; preds = %.noexc16
%87 = getelementptr inbounds %"struct.task::Ops<[]>"* %0, i64 0, i32 1
store i8 0, i8* %87, align 1
%.sroa.6.16..sroa_idx = getelementptr inbounds { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }* %3, i64 0, i32 0
%.sroa.6.16.copyload = load void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)** %.sroa.6.16..sroa_idx, align 8
%.sroa.8.16..sroa_idx110 = getelementptr inbounds { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }* %3, i64 0, i32 1
%.sroa.8.16.copyload = load i8** %.sroa.8.16..sroa_idx110, align 8
%88 = getelementptr inbounds %"enum.core::option::Option<[core::result::Result<(), rustrt::task::BlockedTask>]>[#3]"* %loop_option.i, i64 0, i32 0
%89 = getelementptr inbounds %"enum.core::option::Option<[core::result::Result<(), rustrt::task::BlockedTask>]>[#3]"* %loop_option.i, i64 0, i32 2
%90 = bitcast [3 x i64]* %89 to %"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*
%91 = getelementptr inbounds %"enum.rustrt::task::BlockedTask<[]>[#9]"* %arg.i.i.i, i64 0, i32 0
%92 = getelementptr inbounds %"enum.core::option::Option<[rustrt::task::BlockedTask]>[#3]"* %5, i64 0, i32 0
%93 = getelementptr inbounds %"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"* %arg.i, i64 0, i32 0
%94 = bitcast [3 x i64]* %89 to i8*
%next.i.i.sroa.10.0..sroa_idx326 = getelementptr inbounds [7 x i8]* %next.i.i.sroa.10, i64 0, i64 0
%arg.i.i.sroa.8.sroa.12.0..sroa_idx318 = getelementptr inbounds [7 x i8]* %arg.i.i.sroa.8.sroa.12, i64 0, i64 0
%arg.i.i.sroa.8.sroa.12.7.arg.i.i.sroa.8.8..sroa_idx.sroa_idx = getelementptr inbounds %"enum.rustrt::task::BlockedTask<[]>[#9]"* %arg.i.i.i, i64 0, i32 1, i64 0
%95 = getelementptr inbounds %"enum.rustrt::task::BlockedTask<[]>[#9]"* %arg.i.i.i, i64 0, i32 2, i64 0
%96 = bitcast i8* %66 to i64*
%phitmp311 = ptrtoint i8* %66 to i64
br label %for_loopback.i
join43.thread: ; preds = %for_loopback.i
%next.i.i.sroa.9.1 = phi i8 [ 0, %for_loopback.i ]
%next.i.i.sroa.10255.1 = phi i64 [ 0, %for_loopback.i ]
call void @llvm.lifetime.start(i64 7, i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318, i8* %next.i.i.sroa.10.0..sroa_idx326, i64 7, i32 1, i1 false)
call void @llvm.memset.p0i8.i64(i8* %next.i.i.sroa.10.0..sroa_idx326, i8 0, i64 7, i32 1, i1 false)
store i8 0, i8* %88, align 8, !alias.scope !353, !noalias !358
call void @llvm.lifetime.end(i64 7, i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318)
call void @llvm.lifetime.end(i64 7, i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318)
call void @llvm.lifetime.end(i64 7, i8* %next.i.i.sroa.10.0..sroa_idx326)
br label %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit195"
for_loopback.i: ; preds = %"_ZN96core..option..Option$LT$core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$$GT$14glue_drop.281017hf9131bc41a289d30E.exit53.i", %normal-return25
%.sroa.15.0 = phi i64 [ %1, %normal-return25 ], [ %98, %"_ZN96core..option..Option$LT$core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$$GT$14glue_drop.281017hf9131bc41a289d30E.exit53.i" ]
call void @llvm.lifetime.start(i64 32, i8* %88), !noalias !365
call void @llvm.lifetime.start(i64 7, i8* %next.i.i.sroa.10.0..sroa_idx326)
%97 = icmp eq i64 %.sroa.15.0, 0
br i1 %97, label %join43.thread, label %match_case.i.i.i
match_case.i.i.i: ; preds = %for_loopback.i
%98 = add i64 %.sroa.15.0, -1
%99 = atomicrmw add i64* %96, i64 1 monotonic, !noalias !366
call void @llvm.lifetime.start(i64 7, i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318, i8* %next.i.i.sroa.10.0..sroa_idx326, i64 7, i32 1, i1 false)
call void @llvm.memset.p0i8.i64(i8* %next.i.i.sroa.10.0..sroa_idx326, i8 0, i64 7, i32 1, i1 false)
call void @llvm.lifetime.start(i64 16, i8* %91), !noalias !372
store i8 1, i8* %91, align 8
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg.i.i.sroa.8.sroa.12.7.arg.i.i.sroa.8.8..sroa_idx.sroa_idx, i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318, i64 7, i32 1, i1 false)
store i64 %phitmp311, i64* %95, align 8
call void @llvm.memset.p0i8.i64(i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318, i8 0, i64 7, i32 1, i1 false)
invoke void %.sroa.6.16.copyload(%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"* noalias nocapture sret dereferenceable(24) %90, i8* %.sroa.8.16.copyload, %"enum.rustrt::task::BlockedTask<[]>[#9]"* noalias nocapture dereferenceable(16) %arg.i.i.i)
to label %enum-iter-variant-1.i20.i.i.i unwind label %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit.i.i.i", !noalias !358
"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit.i.i.i": ; preds = %match_case.i.i.i
%100 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %.noexc.i.i unwind label %unwind_ast_2480_.i.nonloopexit.i
.noexc.i.i: ; preds = %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit.i.i.i"
call void @llvm.memset.p0i8.i64(i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318, i8 0, i64 7, i32 1, i1 false)
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %.noexc6.i.i unwind label %unwind_ast_2480_.i.nonloopexit.i
.noexc6.i.i: ; preds = %.noexc.i.i
call void @llvm.lifetime.end(i64 7, i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318)
br label %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit19.i.i"
enum-iter-variant-1.i20.i.i.i: ; preds = %match_case.i.i.i
call void @llvm.lifetime.end(i64 16, i8* %91), !noalias !372
store i8 1, i8* %88, align 8, !alias.scope !353, !noalias !358
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %enum-iter-variant-0.i.i21.i.i.i unwind label %unwind_ast_2480_.i.loopexit.i
enum-iter-variant-0.i.i21.i.i.i: ; preds = %enum-iter-variant-1.i20.i.i.i
call void @llvm.memset.p0i8.i64(i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318, i8 0, i64 7, i32 1, i1 false)
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %for_body.i unwind label %unwind_ast_2480_.i.loopexit.i
unwind_ast_2480_.i.loopexit.i: ; preds = %enum-iter-variant-1.i20.i.i.i, %enum-iter-variant-0.i.i21.i.i.i
%lpad.loopexit.i = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit19.i.i"
unwind_ast_2480_.i.nonloopexit.i: ; preds = %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit.i.i.i", %.noexc.i.i
%lpad.nonloopexit.i = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit19.i.i"
"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit19.i.i": ; preds = %unwind_ast_2480_.i.nonloopexit.i, %unwind_ast_2480_.i.loopexit.i, %.noexc6.i.i
%eh.lpad-body.i.i = phi { i8*, i32 } [ %100, %.noexc6.i.i ], [ %lpad.loopexit.i, %unwind_ast_2480_.i.loopexit.i ], [ %lpad.nonloopexit.i, %unwind_ast_2480_.i.nonloopexit.i ]
call void @llvm.lifetime.end(i64 7, i8* %next.i.i.sroa.10.0..sroa_idx326)
br label %unwind_ast_582_.body
for_body.i: ; preds = %enum-iter-variant-0.i.i21.i.i.i
call void @llvm.lifetime.end(i64 7, i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318)
call void @llvm.lifetime.end(i64 7, i8* %arg.i.i.sroa.8.sroa.12.0..sroa_idx318)
call void @llvm.lifetime.end(i64 7, i8* %next.i.i.sroa.10.0..sroa_idx326)
call void @llvm.lifetime.start(i64 24, i8* %92), !noalias !365
call void @llvm.lifetime.start(i64 24, i8* %93), !noalias !365
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %93, i8* %94, i64 24, i32 8, i1 false), !noalias !365
call void @llvm.memset.p0i8.i64(i8* %94, i8 0, i64 24, i32 8, i1 false), !noalias !365
invoke void @_ZN4task15Ops.rt..Runtime10deschedule12closure.2828E(%"enum.core::option::Option<[rustrt::task::BlockedTask]>[#3]"* noalias nocapture sret dereferenceable(24) %5, %"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"* noalias nocapture dereferenceable(24) %arg.i)
to label %normal-return.i unwind label %"_ZN96core..option..Option$LT$core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$$GT$14glue_drop.281017hf9131bc41a289d30E.exit.i"
normal-return.i: ; preds = %for_body.i
call void @llvm.lifetime.end(i64 24, i8* %93), !noalias !365
%101 = load i8* %92, align 8, !range !38, !noalias !365
%cond.i157 = icmp eq i8 %101, 1
br i1 %cond.i157, label %"_ZN96core..option..Option$LT$core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$$GT$14glue_drop.281017hf9131bc41a289d30E.exit33.i", label %"_ZN96core..option..Option$LT$core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$$GT$14glue_drop.281017hf9131bc41a289d30E.exit53.i"
"_ZN96core..option..Option$LT$core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$$GT$14glue_drop.281017hf9131bc41a289d30E.exit.i": ; preds = %for_body.i
%102 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
call void @llvm.lifetime.end(i64 32, i8* %88), !noalias !365
br label %unwind_ast_582_.body
"_ZN96core..option..Option$LT$core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$$GT$14glue_drop.281017hf9131bc41a289d30E.exit33.i": ; preds = %normal-return.i
%103 = getelementptr inbounds %"enum.core::option::Option<[rustrt::task::BlockedTask]>[#3]"* %5, i64 0, i32 2
%104 = bitcast [2 x i64]* %103 to i8*
%.sroa.5115.8.copyload = load i8* %104, align 8
%.sroa.11.8..sroa_idx123 = getelementptr inbounds %"enum.core::option::Option<[rustrt::task::BlockedTask]>[#3]"* %5, i64 0, i32 2, i64 1
%.sroa.11.8.copyload = load i64* %.sroa.11.8..sroa_idx123, align 8
call void @llvm.memset.p0i8.i64(i8* %104, i8 0, i64 16, i32 8, i1 false), !noalias !365
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %.noexc158 unwind label %unwind_ast_582_.nonloopexit
.noexc158: ; preds = %"_ZN96core..option..Option$LT$core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$$GT$14glue_drop.281017hf9131bc41a289d30E.exit33.i"
call void @llvm.memset.p0i8.i64(i8* %104, i8 0, i64 16, i32 8, i1 false), !noalias !365
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %match_else30 unwind label %unwind_ast_582_.nonloopexit
"_ZN96core..option..Option$LT$core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$$GT$14glue_drop.281017hf9131bc41a289d30E.exit53.i": ; preds = %normal-return.i
call void @llvm.lifetime.end(i64 24, i8* %92), !noalias !365
call void @llvm.lifetime.end(i64 32, i8* %88), !noalias !365
br label %for_loopback.i
unwind_ast_582_.nonloopexit: ; preds = %"_ZN96core..option..Option$LT$core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$$GT$14glue_drop.281017hf9131bc41a289d30E.exit33.i", %.noexc158
%lpad.nonloopexit = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_582_.body
unwind_ast_582_.body: ; preds = %unwind_ast_582_.nonloopexit, %"_ZN96core..option..Option$LT$core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$$GT$14glue_drop.281017hf9131bc41a289d30E.exit.i", %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit19.i.i"
%eh.lpad-body = phi { i8*, i32 } [ %eh.lpad-body.i.i, %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit19.i.i" ], [ %102, %"_ZN96core..option..Option$LT$core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$$GT$14glue_drop.281017hf9131bc41a289d30E.exit.i" ], [ %lpad.nonloopexit, %unwind_ast_582_.nonloopexit ]
%.fca.0.extract95 = extractvalue { i8*, i32 } %eh.lpad-body, 0
%.fca.1.extract97 = extractvalue { i8*, i32 } %eh.lpad-body, 1
%105 = icmp eq i8* %66, null
br i1 %105, label %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155", label %next-block.i.i.i.i.i.i
next-block.i.i.i.i.i.i: ; preds = %unwind_ast_582_.body
%106 = atomicrmw sub i64* %96, i64 1 release, !noalias !373
%107 = icmp eq i64 %106, 1
br i1 %107, label %next-block1.i.i.i.i.i.i, label %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155"
next-block1.i.i.i.i.i.i: ; preds = %next-block.i.i.i.i.i.i
fence acquire
%108 = getelementptr inbounds i8* %66, i64 8
%109 = bitcast i8* %108 to i64*
%110 = atomicrmw sub i64* %109, i64 1 release, !noalias !373
%111 = icmp eq i64 %110, 1
br i1 %111, label %then-block-2168-.i.i.i.i.i.i, label %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155"
then-block-2168-.i.i.i.i.i.i: ; preds = %next-block1.i.i.i.i.i.i
fence acquire
call void @je_sdallocx(i8* %66, i64 24, i32 0), !noalias !373
br label %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155"
match_else30: ; preds = %.noexc158
call void @llvm.lifetime.end(i64 24, i8* %92), !noalias !365
call void @llvm.lifetime.end(i64 32, i8* %88), !noalias !365
%cond.i19 = icmp eq i8 %.sroa.5115.8.copyload, 0
br i1 %cond.i19, label %normal-return33, label %normal-return3.i21
normal-return3.i21: ; preds = %match_else30
%112 = inttoptr i64 %.sroa.11.8.copyload to %"struct.alloc::arc::ArcInner<[core::atomic::AtomicUint]>[#2]"*
%113 = getelementptr inbounds %"struct.alloc::arc::ArcInner<[core::atomic::AtomicUint]>[#2]"* %112, i64 0, i32 2, i32 0, i32 0
%114 = atomicrmw xchg i64* %113, i64 0 seq_cst, !noalias !376
%115 = icmp eq i64 %.sroa.11.8.copyload, 0
br i1 %115, label %normal-return33, label %next-block.i.i.i22
next-block.i.i.i22: ; preds = %normal-return3.i21
%116 = getelementptr inbounds %"struct.alloc::arc::ArcInner<[core::atomic::AtomicUint]>[#2]"* %112, i64 0, i32 0, i32 0, i32 0
%117 = atomicrmw sub i64* %116, i64 1 release, !noalias !379
%118 = icmp eq i64 %117, 1
br i1 %118, label %next-block1.i.i.i23, label %normal-return33
next-block1.i.i.i23: ; preds = %next-block.i.i.i22
fence acquire
%119 = getelementptr inbounds %"struct.alloc::arc::ArcInner<[core::atomic::AtomicUint]>[#2]"* %112, i64 0, i32 1, i32 0, i32 0
%120 = atomicrmw sub i64* %119, i64 1 release, !noalias !379
%121 = icmp eq i64 %120, 1
br i1 %121, label %then-block-14573-.i.i.i24, label %normal-return33
then-block-14573-.i.i.i24: ; preds = %next-block1.i.i.i23
fence acquire
%122 = inttoptr i64 %.sroa.11.8.copyload to i8*
invoke void @je_sdallocx(i8* %122, i64 24, i32 0)
to label %normal-return33 unwind label %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit"
normal-return33: ; preds = %normal-return3.i21, %next-block.i.i.i22, %next-block1.i.i.i23, %then-block-14573-.i.i.i24, %match_else30
%sret_slot.sroa.0.121.i26 = phi i64 [ %.sroa.11.8.copyload, %match_else30 ], [ %114, %then-block-14573-.i.i.i24 ], [ %114, %next-block1.i.i.i23 ], [ %114, %next-block.i.i.i22 ], [ %114, %normal-return3.i21 ]
%123 = icmp eq i64 %sret_slot.sroa.0.121.i26, 0
br i1 %123, label %enum-iter-variant-0.i.i190, label %match_case41
"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit": ; preds = %then-block-14573-.i.i.i24
%124 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract99 = extractvalue { i8*, i32 } %124, 0
%.fca.1.extract101 = extractvalue { i8*, i32 } %124, 1
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
%125 = icmp eq i8* %66, null
br i1 %125, label %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155", label %next-block.i.i.i.i.i.i175
next-block.i.i.i.i.i.i175: ; preds = %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit"
%126 = atomicrmw sub i64* %96, i64 1 release, !noalias !382
%127 = icmp eq i64 %126, 1
br i1 %127, label %next-block1.i.i.i.i.i.i176, label %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155"
next-block1.i.i.i.i.i.i176: ; preds = %next-block.i.i.i.i.i.i175
fence acquire
%128 = getelementptr inbounds i8* %66, i64 8
%129 = bitcast i8* %128 to i64*
%130 = atomicrmw sub i64* %129, i64 1 release, !noalias !382
%131 = icmp eq i64 %130, 1
br i1 %131, label %then-block-2168-.i.i.i.i.i.i177, label %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155"
then-block-2168-.i.i.i.i.i.i177: ; preds = %next-block1.i.i.i.i.i.i176
fence acquire
call void @je_sdallocx(i8* %66, i64 24, i32 0), !noalias !382
br label %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit155"
match_case41: ; preds = %normal-return33
store i8 1, i8* %87, align 1
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
br label %enum-iter-variant-0.i.i190
enum-iter-variant-0.i.i190: ; preds = %match_case41, %normal-return33
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
br label %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit195"
"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit195": ; preds = %enum-iter-variant-0.i.i190, %join43.thread
%132 = icmp eq i8* %66, null
br i1 %132, label %while_cond45, label %next-block.i.i.i.i.i.i196
next-block.i.i.i.i.i.i196: ; preds = %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit195"
%133 = atomicrmw sub i64* %96, i64 1 release, !noalias !385
%134 = icmp eq i64 %133, 1
br i1 %134, label %next-block1.i.i.i.i.i.i197, label %while_cond45
next-block1.i.i.i.i.i.i197: ; preds = %next-block.i.i.i.i.i.i196
fence acquire
%135 = getelementptr inbounds i8* %66, i64 8
%136 = bitcast i8* %135 to i64*
%137 = atomicrmw sub i64* %136, i64 1 release, !noalias !385
%138 = icmp eq i64 %137, 1
br i1 %138, label %then-block-2168-.i.i.i.i.i.i198, label %while_cond45
then-block-2168-.i.i.i.i.i.i198: ; preds = %next-block1.i.i.i.i.i.i197
fence acquire
call void @je_sdallocx(i8* %66, i64 24, i32 0), !noalias !385
br label %while_cond45
"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit205": ; preds = %while_cond45
%139 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) %74), !noalias !388
call void @LeaveCriticalSection(i8* %139), !noalias !388
br label %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit212
while_cond45: ; preds = %"_ZN53core..option..Option$LT$rustrt..task..BlockedTask$GT$14glue_drop.280717h508601f14a72094bE.exit195", %next-block.i.i.i.i.i.i196, %next-block1.i.i.i.i.i.i197, %then-block-2168-.i.i.i.i.i.i198, %while_body46
%140 = load i8* %87, align 1, !range !38
%141 = icmp eq i8 %140, 0
br i1 %141, label %while_body46, label %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit205"
while_body46: ; preds = %while_cond45
invoke fastcc void @_ZN5mutex17StaticNativeMutex12wait_noguard20hcfb03023bbe36891BEbE(%"struct.rustrt::mutex::StaticNativeMutex<[]>[#9]"* dereferenceable(16) %73)
to label %while_cond45 unwind label %unwind_ast_558_23
_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit212: ; preds = %"_ZN50core..iter..Take$LT$rustrt..task..BlockedTasks$GT$14glue_drop.279217ha866ab65732ff4cdE.exit205", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.278017h50d413ae6177f3efE.exit147"
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
call void @llvm.lifetime.end(i64 7, i8* %task.sroa.10.0..sroa_idx316)
%142 = load i32* @_ZN9local_ptr6native10RT_TLS_KEY20hde2fb88314fef024plaE, align 4
%not..i.i.i.i = icmp eq i32 %142, -1
br i1 %not..i.i.i.i, label %match_else.i.i.i, label %normal-return.i.i
match_else.i.i.i: ; preds = %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit212
%143 = bitcast [0 x %"struct.core::fmt::Argument<[]>[#3]"]* %4 to i8*
call void @llvm.lifetime.start(i64 16, i8* %143), !noalias !391
%144 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %144), !noalias !391
%145 = getelementptr inbounds [0 x %"struct.core::fmt::Argument<[]>[#3]"]* %4, i64 0, i64 0
%__fat_ptr4.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN9local_ptr6native7tls_key15__STATIC_FMTSTR20h349f0f2acd1459fcVsaE, i64 0, i64 0), %str_slice** %__fat_ptr4.sroa.0.0..sroa_idx.i.i.i, align 8, !noalias !391
%__fat_ptr4.sroa.5.0..sroa_idx40.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr4.sroa.5.0..sroa_idx40.i.i.i, align 8, !noalias !391
%146 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %146, align 8, !alias.scope !396, !noalias !399
%__fat_ptr6.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %145, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr6.sroa.0.0..sroa_idx.i.i.i, align 8, !noalias !391
%__fat_ptr6.sroa.5.0..sroa_idx35.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 2, i32 1
store i64 0, i64* %__fat_ptr6.sroa.5.0..sroa_idx35.i.i.i, align 8, !noalias !391
invoke fastcc void @_ZN4util5abort20ha89562d169f67818NyaE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i.i.i)
to label %.noexc.i.i213 unwind label %unwind_custom_.i.i
.noexc.i.i213: ; preds = %match_else.i.i.i
unreachable
normal-return.i.i: ; preds = %_ZN25rustrt..task..BlockedTask14glue_drop.272617he42bc53520bdcb16E.exit212
%147 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %2, i64 0, i32 0, i32 0, i32 0
%148 = invoke i32 @TlsSetValue(i32 %142, i8* %147)
to label %.noexc31 unwind label %unwind_custom_.i.i
.noexc31: ; preds = %normal-return.i.i
%149 = icmp eq i32 %148, 0
br i1 %149, label %then-block-1302-.i, label %normal-return1.i.i
then-block-1302-.i: ; preds = %.noexc31
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN20thread_local_storage3set14_MSG_FILE_LINE20hbf26a2c2f4e59a61evaE)
to label %.noexc32 unwind label %unwind_custom_.i.i
.noexc32: ; preds = %then-block-1302-.i
unreachable
unwind_custom_.i.i: ; preds = %then-block-1302-.i, %normal-return.i.i, %match_else.i.i.i
%sched.i.i.0 = phi %"struct.rustrt::task::Task<[]>[#9]"* [ %2, %match_else.i.i.i ], [ null, %then-block-1302-.i ], [ null, %normal-return.i.i ]
%150 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %sched.i.i.0)
to label %unwind_custom_.body.i unwind label %unwind_custom_.i
normal-return1.i.i: ; preds = %.noexc31
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %normal-return.i214 unwind label %unwind_custom_.i
normal-return.i214: ; preds = %normal-return1.i.i
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit221" unwind label %unwind_custom_
unwind_custom_.i: ; preds = %unwind_custom_.i.i, %normal-return1.i.i
%151 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_custom_.body.i
unwind_custom_.body.i: ; preds = %unwind_custom_.i.i, %unwind_custom_.i
%eh.lpad-body.i = phi { i8*, i32 } [ %151, %unwind_custom_.i ], [ %150, %unwind_custom_.i.i ]
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %unwind_custom_.body unwind label %unwind_custom_
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit221": ; preds = %normal-return.i214
%152 = bitcast { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }* %3 to i8*
call void @llvm.lifetime.end(i64 16, i8* %152)
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
ret void
}
; Function Attrs: uwtable
define internal void @_ZN4task15Ops.rt..Runtime8reawaken20h239fbd8c066ea172zkaE(%"struct.task::Ops<[]>"* noalias dereferenceable(56), %"struct.rustrt::task::Task<[]>[#9]"* noalias dereferenceable(120)) unnamed_addr #0 {
entry-block:
%__uniq_fat_ptr = alloca { i8*, void (i8*)** }, align 8
%arg = alloca { i8*, void (i8*)** }, align 8
%2 = bitcast { i8*, void (i8*)** }* %__uniq_fat_ptr to i8*
call void @llvm.lifetime.start(i64 16, i8* %2)
%3 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 0
%.c = bitcast %"struct.task::Ops<[]>"* %0 to i8*
store i8* %.c, i8** %3, align 8
%4 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 1
store void (i8*)** bitcast ({ void (%"struct.task::Ops<[]>"**)*, i64, i64, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, i64, %"struct.rustrt::task::Task<[]>[#9]"*, { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::task::TaskOpts<[]>[#9]"*, { void (i8*)*, i8* }*)*, void ({ i64, i64 }*, %"struct.task::Ops<[]>"*)*, void (%"enum.core::option::Option<[uint]>[#3]"*, %"struct.task::Ops<[]>"*)*, i1 (%"struct.task::Ops<[]>"*)*, void ({ i8*, void (i8*)** }*, %"struct.task::Ops<[]>"*)* }* @vtable2486 to void (i8*)**), void (i8*)*** %4, align 8
%5 = bitcast { i8*, void (i8*)** }* %arg to i8*
call void @llvm.lifetime.start(i64 16, i8* %5)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* %2, i64 16, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %2, i8 0, i64 16, i32 8, i1 false)
%6 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %1, i64 0, i32 5
%7 = getelementptr inbounds %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %6, i64 0, i32 0, i32 0
%8 = load i8** %7, align 8, !alias.scope !402, !noalias !409
%9 = icmp eq i8* %8, null
br i1 %9, label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit", label %then-block-7317-.i
unwind_custom_.i: ; preds = %then-block-7317-.i
%10 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%11 = getelementptr inbounds { i8*, void (i8*)** }* %arg, i64 0, i32 0
%12 = load i8** %11, align 8, !alias.scope !409, !noalias !411
%13 = icmp eq i8* %12, null
br i1 %13, label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i", label %cond.i13.i
cond.i13.i: ; preds = %unwind_custom_.i
%14 = getelementptr inbounds { i8*, void (i8*)** }* %arg, i64 0, i32 1
%15 = load void (i8*)*** %14, align 8, !alias.scope !409, !noalias !411
%16 = load void (i8*)** %15, align 8, !noalias !412
invoke void %16(i8* %5)
to label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i" unwind label %unwind_ast_675_
"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i": ; preds = %unwind_custom_.i, %cond.i13.i
call void @llvm.lifetime.end(i64 16, i8* %5), !alias.scope !409, !noalias !411
br label %unwind_ast_675_.body
then-block-7317-.i: ; preds = %entry-block
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN4task4Task11put_runtime14_MSG_FILE_LINE20hbf26a2c2f4e59a61f4bE)
to label %normal-return1.i unwind label %unwind_custom_.i, !noalias !411
normal-return1.i: ; preds = %then-block-7317-.i
unreachable
"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit": ; preds = %entry-block
%.sroa.0.0..sroa_cast4.pre.i = bitcast %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %6 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.0.0..sroa_cast4.pre.i, i8* %5, i64 16, i32 8, i1 false)
call void @llvm.lifetime.end(i64 16, i8* %5), !alias.scope !409, !noalias !411
call void @llvm.lifetime.end(i64 16, i8* %5)
call void @llvm.lifetime.end(i64 16, i8* %2)
%17 = getelementptr inbounds %"struct.task::Ops<[]>"* %0, i64 0, i32 0, i32 0, i32 0
%18 = invoke fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) %17)
to label %.noexc1 unwind label %unwind_custom_
.noexc1: ; preds = %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit"
invoke void @EnterCriticalSection(i8* %18)
to label %normal-return1 unwind label %unwind_custom_
unwind_ast_675_: ; preds = %cond.i13.i
%19 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_675_.body
unwind_ast_675_.body: ; preds = %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i", %unwind_ast_675_
%eh.lpad-body = phi { i8*, i32 } [ %19, %unwind_ast_675_ ], [ %10, %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i" ]
%.fca.0.extract = extractvalue { i8*, i32 } %eh.lpad-body, 0
%.fca.1.extract = extractvalue { i8*, i32 } %eh.lpad-body, 1
%20 = load i8** %3, align 8
%21 = icmp eq i8* %20, null
br i1 %21, label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit20", label %cond.i19
cond.i19: ; preds = %unwind_ast_675_.body
%22 = load void (i8*)*** %4, align 8
%23 = load void (i8*)** %22, align 8
call void %23(i8* %2)
br label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit20"
"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit20": ; preds = %cond.i19, %unwind_ast_675_.body
call void @llvm.lifetime.end(i64 16, i8* %2)
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit": ; preds = %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.284817hc44a0d6493497d3dE.exit28", %unwind_custom_, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit20"
%to_wake.0 = phi %"struct.rustrt::task::Task<[]>[#9]"* [ null, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.284817hc44a0d6493497d3dE.exit28" ], [ null, %unwind_custom_ ], [ %1, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit20" ]
%.sroa.5.0 = phi i32 [ %.fca.1.extract13, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.284817hc44a0d6493497d3dE.exit28" ], [ %.fca.1.extract9, %unwind_custom_ ], [ %.fca.1.extract, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit20" ]
%.sroa.0.0 = phi i8* [ %.fca.0.extract11, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.284817hc44a0d6493497d3dE.exit28" ], [ %.fca.0.extract7, %unwind_custom_ ], [ %.fca.0.extract, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit20" ]
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %to_wake.0)
%.fca.0.insert = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0, 0
%.fca.1.insert = insertvalue { i8*, i32 } %.fca.0.insert, i32 %.sroa.5.0, 1
resume { i8*, i32 } %.fca.1.insert
normal-return1: ; preds = %.noexc1
%24 = getelementptr inbounds %"struct.task::Ops<[]>"* %0, i64 0, i32 1
store i8 1, i8* %24, align 1
%25 = getelementptr inbounds %"struct.task::Ops<[]>"* %0, i64 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0
%26 = load atomic volatile i64* %25 seq_cst, align 8, !noalias !413
%cond9.i.i.i.i = icmp eq i64 %26, 0
br i1 %cond9.i.i.i.i, label %join.i.i.i.i, label %_ZN5mutex3imp5Mutex7getcond20h14b37496765515fe1LbE.exit.i.i.i
join.i.i.i.i: ; preds = %normal-return1
%27 = invoke i8* @CreateEventA(%"struct.libc::types::os::arch::extra::SECURITY_ATTRIBUTES<[]>[#3]"* null, i32 0, i32 0, i8* null)
to label %.noexc3 unwind label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.284817hc44a0d6493497d3dE.exit28"
.noexc3: ; preds = %join.i.i.i.i
%28 = ptrtoint i8* %27 to i64
%29 = cmpxchg i64* %25, i64 0, i64 %28 seq_cst seq_cst, !noalias !413
%30 = extractvalue { i64, i1 } %29, 0
%cond10.i.i.i.i = icmp eq i64 %30, 0
br i1 %cond10.i.i.i.i, label %_ZN5mutex3imp5Mutex7getcond20h14b37496765515fe1LbE.exit.i.i.i, label %join8.i.i.i.i
join8.i.i.i.i: ; preds = %.noexc3
%31 = invoke i32 @CloseHandle(i8* %27)
to label %.noexc4 unwind label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.284817hc44a0d6493497d3dE.exit28"
.noexc4: ; preds = %join8.i.i.i.i
%32 = load atomic volatile i64* %25 seq_cst, align 8, !noalias !413
br label %_ZN5mutex3imp5Mutex7getcond20h14b37496765515fe1LbE.exit.i.i.i
_ZN5mutex3imp5Mutex7getcond20h14b37496765515fe1LbE.exit.i.i.i: ; preds = %.noexc4, %.noexc3, %normal-return1
%sret_slot.0.in.i.i.i.i = phi i64 [ %26, %normal-return1 ], [ %32, %.noexc4 ], [ %28, %.noexc3 ]
%sret_slot.0.i.i.i.i = inttoptr i64 %sret_slot.0.in.i.i.i.i to i8*
%33 = invoke i32 @SetEvent(i8* %sret_slot.0.i.i.i.i)
to label %.noexc5 unwind label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.284817hc44a0d6493497d3dE.exit28"
.noexc5: ; preds = %_ZN5mutex3imp5Mutex7getcond20h14b37496765515fe1LbE.exit.i.i.i
%34 = icmp eq i32 %33, 0
br i1 %34, label %then-block-6060-.i.i.i, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit26"
then-block-6060-.i.i.i: ; preds = %.noexc5
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN5mutex3imp5Mutex6signal14_MSG_FILE_LINE20hbf26a2c2f4e59a61YJbE)
to label %.noexc6 unwind label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.284817hc44a0d6493497d3dE.exit28"
.noexc6: ; preds = %then-block-6060-.i.i.i
unreachable
unwind_custom_: ; preds = %.noexc1, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit"
%35 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract7 = extractvalue { i8*, i32 } %35, 0
%.fca.1.extract9 = extractvalue { i8*, i32 } %35, 1
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit26": ; preds = %.noexc5
%36 = getelementptr inbounds %"struct.task::Ops<[]>"* %0, i64 0, i32 0, i32 0, i32 0
%37 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) %36), !noalias !416
call void @LeaveCriticalSection(i8* %37), !noalias !416
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
ret void
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$14glue_drop.284817hc44a0d6493497d3dE.exit28": ; preds = %then-block-6060-.i.i.i, %_ZN5mutex3imp5Mutex7getcond20h14b37496765515fe1LbE.exit.i.i.i, %join8.i.i.i.i, %join.i.i.i.i
%38 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract11 = extractvalue { i8*, i32 } %38, 0
%.fca.1.extract13 = extractvalue { i8*, i32 } %38, 1
%39 = getelementptr inbounds %"struct.task::Ops<[]>"* %0, i64 0, i32 0, i32 0, i32 0
%40 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) %39), !noalias !419
call void @LeaveCriticalSection(i8* %40), !noalias !419
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
}
; Function Attrs: uwtable
define internal void @_ZN4task15Ops.rt..Runtime13spawn_sibling20h571444045f477cd3ulaE(%"struct.task::Ops<[]>"* noalias dereferenceable(56), %"struct.rustrt::task::Task<[]>[#9]"* noalias dereferenceable(120), %"struct.rustrt::task::TaskOpts<[]>[#9]"* noalias nocapture dereferenceable(72), { void (i8*)*, i8* }* noalias nocapture dereferenceable(16)) unnamed_addr #0 {
entry-block:
%4 = alloca [0 x %"struct.core::fmt::Argument<[]>[#3]"], align 8
%ret.i.i.i = alloca i8*, align 8
%5 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args.i.i.i6 = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%arg.i.i.i.i = alloca %str_slice, align 8
%amt.i.i = alloca %"enum.core::option::Option<[uint]>[#3]", align 8
%6 = alloca %"enum.core::option::Option<[collections::string::String]>[#3]", align 8
%7 = alloca %str_slice, align 8
%name.sroa.16.i = alloca [7 x i8], align 1
%name.sroa.22.i = alloca [7 x i8], align 1
%on_exit.i = alloca %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]", align 8
%ExprAssign.sroa.3.i = alloca [7 x i8], align 1
%ExprAssign.sroa.5.i = alloca [7 x i8], align 1
%ExprAssign3.sroa.0.i = alloca { void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)*, i8* }, align 8
%8 = alloca { void (i8*)*, i8* }, align 8
%__args.i.i.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%__uniq_fat_ptr = alloca { i8*, void (i8*)** }, align 8
%arg = alloca { i8*, void (i8*)** }, align 8
%arg2 = alloca %"struct.rustrt::task::TaskOpts<[]>[#9]", align 8
%arg3 = alloca { void (i8*)*, i8* }, align 8
%9 = bitcast { i8*, void (i8*)** }* %__uniq_fat_ptr to i8*
call void @llvm.lifetime.start(i64 16, i8* %9)
%10 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 0
%.c = bitcast %"struct.task::Ops<[]>"* %0 to i8*
store i8* %.c, i8** %10, align 8
%11 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 1
store void (i8*)** bitcast ({ void (%"struct.task::Ops<[]>"**)*, i64, i64, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, i64, %"struct.rustrt::task::Task<[]>[#9]"*, { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::task::TaskOpts<[]>[#9]"*, { void (i8*)*, i8* }*)*, void ({ i64, i64 }*, %"struct.task::Ops<[]>"*)*, void (%"enum.core::option::Option<[uint]>[#3]"*, %"struct.task::Ops<[]>"*)*, i1 (%"struct.task::Ops<[]>"*)*, void ({ i8*, void (i8*)** }*, %"struct.task::Ops<[]>"*)* }* @vtable2486 to void (i8*)**), void (i8*)*** %11, align 8
%12 = bitcast { i8*, void (i8*)** }* %arg to i8*
call void @llvm.lifetime.start(i64 16, i8* %12)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %12, i8* %9, i64 16, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %9, i8 0, i64 16, i32 8, i1 false)
%13 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %1, i64 0, i32 5
%14 = getelementptr inbounds %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %13, i64 0, i32 0, i32 0
%15 = load i8** %14, align 8, !alias.scope !422, !noalias !429
%16 = icmp eq i8* %15, null
br i1 %16, label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit", label %then-block-7317-.i
unwind_custom_.i2: ; preds = %then-block-7317-.i
%17 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%18 = getelementptr inbounds { i8*, void (i8*)** }* %arg, i64 0, i32 0
%19 = load i8** %18, align 8, !alias.scope !429, !noalias !431
%20 = icmp eq i8* %19, null
br i1 %20, label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i", label %cond.i13.i
cond.i13.i: ; preds = %unwind_custom_.i2
%21 = getelementptr inbounds { i8*, void (i8*)** }* %arg, i64 0, i32 1
%22 = load void (i8*)*** %21, align 8, !alias.scope !429, !noalias !431
%23 = load void (i8*)** %22, align 8, !noalias !432
invoke void %23(i8* %12)
to label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i" unwind label %unwind_ast_728_
"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i": ; preds = %unwind_custom_.i2, %cond.i13.i
call void @llvm.lifetime.end(i64 16, i8* %12), !alias.scope !429, !noalias !431
br label %unwind_ast_728_.body
then-block-7317-.i: ; preds = %entry-block
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN4task4Task11put_runtime14_MSG_FILE_LINE20hbf26a2c2f4e59a61f4bE)
to label %normal-return1.i unwind label %unwind_custom_.i2, !noalias !431
normal-return1.i: ; preds = %then-block-7317-.i
unreachable
"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit": ; preds = %entry-block
%.sroa.0.0..sroa_cast4.pre.i = bitcast %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %13 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.0.0..sroa_cast4.pre.i, i8* %12, i64 16, i32 8, i1 false)
call void @llvm.lifetime.end(i64 16, i8* %12), !alias.scope !429, !noalias !431
call void @llvm.lifetime.end(i64 16, i8* %12)
%.pre = load i32* @_ZN9local_ptr6native10RT_TLS_KEY20hde2fb88314fef024plaE, align 4
call void @llvm.lifetime.end(i64 16, i8* %9)
%not..i.i.i.i = icmp eq i32 %.pre, -1
br i1 %not..i.i.i.i, label %match_else.i.i.i, label %normal-return.i.i
match_else.i.i.i: ; preds = %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit"
%24 = bitcast [0 x %"struct.core::fmt::Argument<[]>[#3]"]* %4 to i8*
call void @llvm.lifetime.start(i64 16, i8* %24), !noalias !433
%25 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %25), !noalias !433
%26 = getelementptr inbounds [0 x %"struct.core::fmt::Argument<[]>[#3]"]* %4, i64 0, i64 0
%__fat_ptr4.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN9local_ptr6native7tls_key15__STATIC_FMTSTR20h349f0f2acd1459fcVsaE, i64 0, i64 0), %str_slice** %__fat_ptr4.sroa.0.0..sroa_idx.i.i.i, align 8, !noalias !433
%__fat_ptr4.sroa.5.0..sroa_idx40.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr4.sroa.5.0..sroa_idx40.i.i.i, align 8, !noalias !433
%27 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %27, align 8, !alias.scope !438, !noalias !441
%__fat_ptr6.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %26, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr6.sroa.0.0..sroa_idx.i.i.i, align 8, !noalias !433
%__fat_ptr6.sroa.5.0..sroa_idx35.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i, i64 0, i32 2, i32 1
store i64 0, i64* %__fat_ptr6.sroa.5.0..sroa_idx35.i.i.i, align 8, !noalias !433
invoke fastcc void @_ZN4util5abort20ha89562d169f67818NyaE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i.i.i)
to label %.noexc.i.i unwind label %unwind_custom_.i.i
.noexc.i.i: ; preds = %match_else.i.i.i
unreachable
normal-return.i.i: ; preds = %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit"
%28 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %1, i64 0, i32 0, i32 0, i32 0
%29 = invoke i32 @TlsSetValue(i32 %.pre, i8* %28)
to label %.noexc4 unwind label %unwind_custom_.i.i
.noexc4: ; preds = %normal-return.i.i
%30 = icmp eq i32 %29, 0
br i1 %30, label %then-block-1302-.i, label %normal-return1.i.i
then-block-1302-.i: ; preds = %.noexc4
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN20thread_local_storage3set14_MSG_FILE_LINE20hbf26a2c2f4e59a61evaE)
to label %.noexc5 unwind label %unwind_custom_.i.i
.noexc5: ; preds = %then-block-1302-.i
unreachable
unwind_custom_.i.i: ; preds = %then-block-1302-.i, %normal-return.i.i, %match_else.i.i.i
%sched.i.i.0 = phi %"struct.rustrt::task::Task<[]>[#9]"* [ %1, %match_else.i.i.i ], [ null, %then-block-1302-.i ], [ null, %normal-return.i.i ]
%31 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %sched.i.i.0)
to label %unwind_custom_.body.i unwind label %unwind_custom_.i
normal-return1.i.i: ; preds = %.noexc4
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %normal-return.i unwind label %unwind_custom_.i
normal-return.i: ; preds = %normal-return1.i.i
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %normal-return1 unwind label %unwind_custom_
unwind_custom_.i: ; preds = %unwind_custom_.i.i, %normal-return1.i.i
%32 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_custom_.body.i
unwind_custom_.body.i: ; preds = %unwind_custom_.i.i, %unwind_custom_.i
%eh.lpad-body.i = phi { i8*, i32 } [ %32, %unwind_custom_.i ], [ %31, %unwind_custom_.i.i ]
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %unwind_custom_.body unwind label %unwind_custom_
unwind_ast_728_: ; preds = %cond.i13.i
%33 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_728_.body
unwind_ast_728_.body: ; preds = %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i", %unwind_ast_728_
%eh.lpad-body3 = phi { i8*, i32 } [ %33, %unwind_ast_728_ ], [ %17, %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i" ]
%.fca.0.extract = extractvalue { i8*, i32 } %eh.lpad-body3, 0
%.fca.1.extract = extractvalue { i8*, i32 } %eh.lpad-body3, 1
%34 = load i8** %10, align 8
%35 = icmp eq i8* %34, null
br i1 %35, label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit13", label %cond.i12
cond.i12: ; preds = %unwind_ast_728_.body
%36 = load void (i8*)*** %11, align 8
%37 = load void (i8*)** %36, align 8
call void %37(i8* %9)
br label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit13"
"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit13": ; preds = %cond.i12, %unwind_ast_728_.body
call void @llvm.lifetime.end(i64 16, i8* %9)
br label %clean_custom_
clean_custom_: ; preds = %unwind_custom_.body, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit13"
%cur_task.0 = phi %"struct.rustrt::task::Task<[]>[#9]"* [ null, %unwind_custom_.body ], [ %1, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit13" ]
%.sroa.4.0 = phi i32 [ %.fca.1.extract10, %unwind_custom_.body ], [ %.fca.1.extract, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit13" ]
%.sroa.0.0 = phi i8* [ %.fca.0.extract8, %unwind_custom_.body ], [ %.fca.0.extract, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit13" ]
%38 = getelementptr inbounds { void (i8*)*, i8* }* %3, i64 0, i32 1
%39 = load i8** %38, align 8
%40 = icmp eq i8* %39, null
br i1 %40, label %"_ZN17proc$LP$$RP$.Send14glue_drop.285017h47c452eeac7ee1b6E.exit", label %cond.i14
cond.i14: ; preds = %clean_custom_
%41 = getelementptr inbounds i8* %39, i64 8
%42 = bitcast i8* %41 to void (i8*)**
%43 = load void (i8*)** %42, align 8
%44 = bitcast i8** %38 to i8*
call void %43(i8* %44)
br label %"_ZN17proc$LP$$RP$.Send14glue_drop.285017h47c452eeac7ee1b6E.exit"
"_ZN17proc$LP$$RP$.Send14glue_drop.285017h47c452eeac7ee1b6E.exit": ; preds = %cond.i14, %clean_custom_
%45 = bitcast { void (i8*)*, i8* }* %3 to i8*
call void @llvm.lifetime.end(i64 16, i8* %45)
%46 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2, i64 0, i32 0, i32 0, i32 0
%47 = load void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %46, align 8
%48 = icmp eq void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* %47, null
br i1 %48, label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i", label %enum-iter-variant-1.i.i
enum-iter-variant-1.i.i: ; preds = %"_ZN17proc$LP$$RP$.Send14glue_drop.285017h47c452eeac7ee1b6E.exit"
%49 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2, i64 0, i32 0, i32 0, i32 1
%50 = load i8** %49, align 8
%51 = icmp eq i8* %50, null
br i1 %51, label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i", label %cond.i.i.i
cond.i.i.i: ; preds = %enum-iter-variant-1.i.i
%52 = getelementptr inbounds i8* %50, i64 8
%53 = bitcast i8* %52 to void (i8*)**
%54 = load void (i8*)** %53, align 8
%55 = bitcast i8** %49 to i8*
call void %54(i8* %55)
br label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i"
"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i": ; preds = %cond.i.i.i, %enum-iter-variant-1.i.i, %"_ZN17proc$LP$$RP$.Send14glue_drop.285017h47c452eeac7ee1b6E.exit"
%56 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2, i64 0, i32 1, i32 0
%57 = load i8* %56, align 1, !range !38
%cond.i.i = icmp eq i8 %57, 1
br i1 %cond.i.i, label %enum-iter-variant-1.i2.i, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
enum-iter-variant-1.i2.i: ; preds = %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i"
%58 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2, i64 0, i32 1, i32 2
%59 = bitcast [4 x i64]* %58 to i8*
%60 = load i8* %59, align 1, !range !38
%cond.i.i1.i = icmp eq i8 %60, 1
br i1 %cond.i.i1.i, label %enum-iter-variant-1.i.i.i, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
enum-iter-variant-1.i.i.i: ; preds = %enum-iter-variant-1.i2.i
%61 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2, i64 0, i32 1, i32 2, i64 3
%62 = load i64* %61, align 8, !alias.scope !444
%63 = icmp eq i64 %62, 0
br i1 %63, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit", label %then-block-1294-.i.i.i.i.i.i
then-block-1294-.i.i.i.i.i.i: ; preds = %enum-iter-variant-1.i.i.i
%64 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2, i64 0, i32 1, i32 2, i64 1
%65 = bitcast i64* %64 to i8**
%66 = load i8** %65, align 8, !alias.scope !444
call void @je_sdallocx(i8* %66, i64 %62, i32 0), !noalias !444
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit": ; preds = %then-block-1294-.i.i.i.i.i.i, %enum-iter-variant-1.i.i.i, %enum-iter-variant-1.i2.i, %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i"
%67 = bitcast %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2 to i8*
call void @llvm.lifetime.end(i64 72, i8* %67)
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %cur_task.0)
%.fca.0.insert = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0, 0
%.fca.1.insert = insertvalue { i8*, i32 } %.fca.0.insert, i32 %.sroa.4.0, 1
resume { i8*, i32 } %.fca.1.insert
normal-return1: ; preds = %normal-return.i
%68 = bitcast %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2 to i8*
call void @llvm.lifetime.start(i64 72, i8* %68)
%69 = bitcast %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %68, i8* %69, i64 72, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %69, i8 0, i64 72, i32 8, i1 false)
%70 = bitcast { void (i8*)*, i8* }* %arg3 to i8*
call void @llvm.lifetime.start(i64 16, i8* %70)
%71 = bitcast { void (i8*)*, i8* }* %3 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %70, i8* %71, i64 16, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %71, i8 0, i64 16, i32 8, i1 false)
%name.sroa.16.0..sroa_idx291.i = getelementptr inbounds [7 x i8]* %name.sroa.16.i, i64 0, i64 0
call void @llvm.lifetime.start(i64 7, i8* %name.sroa.16.0..sroa_idx291.i)
%name.sroa.22.0..sroa_idx283.i = getelementptr inbounds [7 x i8]* %name.sroa.22.i, i64 0, i64 0
call void @llvm.lifetime.start(i64 7, i8* %name.sroa.22.0..sroa_idx283.i)
%72 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2, i64 0, i32 1, i32 0
%name.sroa.0.0.copyload.i = load i8* %72, align 8, !alias.scope !447, !noalias !450
%name.sroa.16.0..sroa_idx198.i = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2, i64 0, i32 1, i32 1, i64 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %name.sroa.16.0..sroa_idx291.i, i8* %name.sroa.16.0..sroa_idx198.i, i64 7, i32 1, i1 false), !noalias !450
%name.sroa.16207.0..sroa_idx.i = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2, i64 0, i32 1, i32 2
%name.sroa.16207.0..sroa_cast.i = bitcast [4 x i64]* %name.sroa.16207.0..sroa_idx.i to i8*
%name.sroa.16207.0.copyload.i = load i8* %name.sroa.16207.0..sroa_cast.i, align 8, !alias.scope !447, !noalias !450
%name.sroa.22.0..sroa_raw_idx.i = getelementptr inbounds i8* %68, i64 25
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %name.sroa.22.0..sroa_idx283.i, i8* %name.sroa.22.0..sroa_raw_idx.i, i64 7, i32 1, i1 false), !noalias !450
%name.sroa.22227.0..sroa_idx.i = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2, i64 0, i32 1, i32 2, i64 1
%name.sroa.22227.0..sroa_cast230.i = bitcast i64* %name.sroa.22227.0..sroa_idx.i to i8**
%name.sroa.22227.0.copyload.i = load i8** %name.sroa.22227.0..sroa_cast230.i, align 8, !alias.scope !447, !noalias !450
%name.sroa.28.0..sroa_idx.i = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2, i64 0, i32 1, i32 2, i64 2
%name.sroa.28251.0..sroa_idx.i = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2, i64 0, i32 1, i32 2, i64 3
%73 = bitcast i64* %name.sroa.28.0..sroa_idx.i to <2 x i64>*
%74 = load <2 x i64>* %73, align 8, !alias.scope !447, !noalias !450
call void @llvm.memset.p0i8.i64(i8* %72, i8 0, i64 40, i32 8, i1 false), !alias.scope !447, !noalias !450
%stack_size.sroa.0.0..sroa_idx.i = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2, i64 0, i32 2, i32 0
%stack_size.sroa.0.0.copyload.i = load i8* %stack_size.sroa.0.0..sroa_idx.i, align 8, !alias.scope !447, !noalias !450
%stack_size.sroa.10.0..sroa_idx.i = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2, i64 0, i32 2, i32 2, i64 0
%stack_size.sroa.10.0.copyload.i = load i64* %stack_size.sroa.10.0..sroa_idx.i, align 8, !alias.scope !447, !noalias !450
%75 = bitcast %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]"* %on_exit.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %75), !noalias !452
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %75, i8* %68, i64 16, i32 8, i1 false), !noalias !450
call void @llvm.memset.p0i8.i64(i8* %68, i8 0, i64 16, i32 8, i1 false), !alias.scope !447, !noalias !450
%76 = invoke i8* @je_mallocx(i64 120, i32 0)
to label %.noexc.i7 unwind label %unwind_ast_111_.i
.noexc.i7: ; preds = %normal-return1
%77 = icmp eq i8* %76, null
br i1 %77, label %then-block-1016-.i.i, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit70.i"
then-block-1016-.i.i: ; preds = %.noexc.i7
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE()
unreachable
unwind_ast_111_.i: ; preds = %normal-return1
%78 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract.i = extractvalue { i8*, i32 } %78, 0
%.fca.1.extract30.i = extractvalue { i8*, i32 } %78, 1
%79 = getelementptr inbounds %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]"* %on_exit.i, i64 0, i32 0, i32 0
%80 = load void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %79, align 8, !noalias !452
%81 = icmp eq void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* %80, null
br i1 %81, label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i13", label %enum-iter-variant-1.i.i12
clean_custom_.i: ; preds = %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit124.i", %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit94.i", %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit82.i", %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i"
%.sroa.0.0.i = phi i8* [ %.fca.0.extract50.i88100, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit124.i" ], [ %.fca.0.extract42.i, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit94.i" ], [ %.fca.0.extract38.i, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit82.i" ], [ %.fca.0.extract.i, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i" ]
%.sroa.8.0.i = phi i32 [ %.fca.1.extract52.i8999, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit124.i" ], [ %.fca.1.extract44.i, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit94.i" ], [ %.fca.1.extract40.i, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit82.i" ], [ %.fca.1.extract30.i, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i" ]
%82 = getelementptr inbounds { void (i8*)*, i8* }* %arg3, i64 0, i32 1
%83 = load i8** %82, align 8, !alias.scope !450, !noalias !447
%84 = icmp eq i8* %83, null
br i1 %84, label %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit.i", label %cond.i.i9
cond.i.i9: ; preds = %clean_custom_.i
%85 = getelementptr inbounds i8* %83, i64 8
%86 = bitcast i8* %85 to void (i8*)**
%87 = load void (i8*)** %86, align 8
%88 = bitcast i8** %82 to i8*
invoke void %87(i8* %88)
to label %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit.i" unwind label %unwind_custom_
"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit.i": ; preds = %cond.i.i9, %clean_custom_.i
call void @llvm.lifetime.end(i64 16, i8* %70), !alias.scope !450, !noalias !447
%89 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2, i64 0, i32 0, i32 0, i32 0
%90 = load void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %89, align 8, !alias.scope !447, !noalias !450
%91 = icmp eq void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* %90, null
br i1 %91, label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i.i", label %enum-iter-variant-1.i.i.i10
enum-iter-variant-1.i.i.i10: ; preds = %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit.i"
%92 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2, i64 0, i32 0, i32 0, i32 1
%93 = load i8** %92, align 8, !alias.scope !447, !noalias !450
%94 = icmp eq i8* %93, null
br i1 %94, label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i.i", label %cond.i.i.i.i
cond.i.i.i.i: ; preds = %enum-iter-variant-1.i.i.i10
%95 = getelementptr inbounds i8* %93, i64 8
%96 = bitcast i8* %95 to void (i8*)**
%97 = load void (i8*)** %96, align 8
%98 = bitcast i8** %92 to i8*
invoke void %97(i8* %98)
to label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i.i" unwind label %unwind_custom_
"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i.i": ; preds = %cond.i.i.i.i, %enum-iter-variant-1.i.i.i10, %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit.i"
%99 = load i8* %72, align 8, !range !38, !alias.scope !447, !noalias !450
%cond.i.i.i11 = icmp eq i8 %99, 1
%100 = load i8* %name.sroa.16207.0..sroa_cast.i, align 8, !alias.scope !447, !noalias !450
%cond.i.i1.i.i = icmp eq i8 %100, 1
%or.cond.i = and i1 %cond.i.i.i11, %cond.i.i1.i.i
br i1 %or.cond.i, label %enum-iter-variant-1.i.i.i.i, label %_ZN22rustrt..task..TaskOpts14glue_drop.249517h11eb43735afce986E.exit.i
enum-iter-variant-1.i.i.i.i: ; preds = %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i.i"
%101 = load i64* %name.sroa.28251.0..sroa_idx.i, align 8, !alias.scope !453, !noalias !450
%102 = icmp eq i64 %101, 0
br i1 %102, label %_ZN22rustrt..task..TaskOpts14glue_drop.249517h11eb43735afce986E.exit.i, label %then-block-1294-.i.i.i.i.i.i.i
then-block-1294-.i.i.i.i.i.i.i: ; preds = %enum-iter-variant-1.i.i.i.i
%103 = load i8** %name.sroa.22227.0..sroa_cast230.i, align 8, !alias.scope !453, !noalias !450
invoke void @je_sdallocx(i8* %103, i64 %101, i32 0)
to label %_ZN22rustrt..task..TaskOpts14glue_drop.249517h11eb43735afce986E.exit.i unwind label %unwind_custom_
_ZN22rustrt..task..TaskOpts14glue_drop.249517h11eb43735afce986E.exit.i: ; preds = %then-block-1294-.i.i.i.i.i.i.i, %enum-iter-variant-1.i.i.i.i, %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i.i"
call void @llvm.lifetime.end(i64 72, i8* %68), !alias.scope !447, !noalias !450
%.fca.0.insert.i = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0.i, 0
%.fca.1.insert.i = insertvalue { i8*, i32 } %.fca.0.insert.i, i32 %.sroa.8.0.i, 1
br label %unwind_custom_.body
enum-iter-variant-1.i.i12: ; preds = %unwind_ast_111_.i
%104 = getelementptr inbounds %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]"* %on_exit.i, i64 0, i32 0, i32 1
%105 = load i8** %104, align 8, !noalias !452
%106 = icmp eq i8* %105, null
br i1 %106, label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i13", label %cond.i.i60.i
cond.i.i60.i: ; preds = %enum-iter-variant-1.i.i12
%107 = getelementptr inbounds i8* %105, i64 8
%108 = bitcast i8* %107 to void (i8*)**
%109 = load void (i8*)** %108, align 8
%110 = bitcast i8** %104 to i8*
invoke void %109(i8* %110)
to label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i13" unwind label %unwind_custom_
"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i13": ; preds = %cond.i.i60.i, %enum-iter-variant-1.i.i12, %unwind_ast_111_.i
call void @llvm.lifetime.end(i64 16, i8* %75), !noalias !452
%notlhs.i = icmp ne i8 %name.sroa.0.0.copyload.i, 1
%notrhs.i = icmp ne i8 %name.sroa.16207.0.copyload.i, 1
%or.cond297.not.i = or i1 %notrhs.i, %notlhs.i
%111 = extractelement <2 x i64> %74, i32 1
%112 = icmp eq i64 %111, 0
%or.cond298.i = or i1 %or.cond297.not.i, %112
br i1 %or.cond298.i, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i", label %then-block-1294-.i.i.i.i.i.i14
then-block-1294-.i.i.i.i.i.i14: ; preds = %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i13"
invoke void @je_sdallocx(i8* %name.sroa.22227.0.copyload.i, i64 %111, i32 0)
to label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i" unwind label %unwind_custom_
"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i": ; preds = %then-block-1294-.i.i.i.i.i.i14, %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i13"
call void @llvm.lifetime.end(i64 7, i8* %name.sroa.16.0..sroa_idx291.i)
call void @llvm.lifetime.end(i64 7, i8* %name.sroa.22.0..sroa_idx283.i)
br label %clean_custom_.i
"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit70.i": ; preds = %.noexc.i7
%113 = bitcast i8* %76 to %"struct.rustrt::task::Task<[]>[#9]"*
store i8 0, i8* %76, align 8, !alias.scope !456
%114 = getelementptr inbounds i8* %76, i64 24
%115 = bitcast i8* %114 to %"struct.rustrt::unwind::Unwinder<[]>[#9]"*
store %"struct.rustrt::unwind::Unwinder<[]>[#9]" zeroinitializer, %"struct.rustrt::unwind::Unwinder<[]>[#9]"* %115, align 8, !alias.scope !456
%116 = getelementptr inbounds i8* %76, i64 32
%117 = bitcast i8* %116 to void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)**
store void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* null, void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %117, align 8, !alias.scope !459
%118 = getelementptr inbounds i8* %76, i64 88
store i8 0, i8* %118, align 8, !alias.scope !456
%119 = getelementptr inbounds i8* %76, i64 48
store i8 0, i8* %119, align 8, !alias.scope !456
%120 = getelementptr inbounds i8* %76, i64 96
%121 = bitcast i8* %120 to i8**
store i8* null, i8** %121, align 8, !alias.scope !456
%122 = getelementptr inbounds i8* %76, i64 112
store i8 1, i8* %122, align 8, !alias.scope !456
%ExprAssign.sroa.3.0.ExprAssign.0.ExprAssign.0..sroa_idx289.i = getelementptr inbounds [7 x i8]* %ExprAssign.sroa.3.i, i64 0, i64 0
call void @llvm.lifetime.start(i64 7, i8* %ExprAssign.sroa.3.0.ExprAssign.0.ExprAssign.0..sroa_idx289.i)
%ExprAssign.sroa.5.0.ExprAssign.0.ExprAssign.0..sroa_idx281.i = getelementptr inbounds [7 x i8]* %ExprAssign.sroa.5.i, i64 0, i64 0
call void @llvm.lifetime.start(i64 7, i8* %ExprAssign.sroa.5.0.ExprAssign.0.ExprAssign.0..sroa_idx281.i)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ExprAssign.sroa.3.0.ExprAssign.0.ExprAssign.0..sroa_idx289.i, i8* %name.sroa.16.0..sroa_idx291.i, i64 7, i32 1, i1 false), !noalias !452
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ExprAssign.sroa.5.0.ExprAssign.0.ExprAssign.0..sroa_idx281.i, i8* %name.sroa.22.0..sroa_idx283.i, i64 7, i32 1, i1 false), !noalias !452
call void @llvm.memset.p0i8.i64(i8* %name.sroa.16.0..sroa_idx291.i, i8 0, i64 7, i32 1, i1 false)
call void @llvm.memset.p0i8.i64(i8* %name.sroa.22.0..sroa_idx283.i, i8 0, i64 7, i32 1, i1 false)
%123 = getelementptr inbounds i8* %76, i64 56
store i8 %name.sroa.0.0.copyload.i, i8* %119, align 8
%ExprAssign.sroa.3.0..sroa_raw_idx.i = getelementptr inbounds i8* %76, i64 49
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ExprAssign.sroa.3.0..sroa_raw_idx.i, i8* %ExprAssign.sroa.3.0.ExprAssign.0.ExprAssign.0..sroa_idx289.i, i64 7, i32 1, i1 false)
store i8 %name.sroa.16207.0.copyload.i, i8* %123, align 8
%ExprAssign.sroa.5.0..sroa_raw_idx.i = getelementptr inbounds i8* %76, i64 57
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ExprAssign.sroa.5.0..sroa_raw_idx.i, i8* %ExprAssign.sroa.5.0.ExprAssign.0.ExprAssign.0..sroa_idx281.i, i64 7, i32 1, i1 false)
%ExprAssign.sroa.6.0..sroa_idx.i = getelementptr inbounds i8* %76, i64 64
%ExprAssign.sroa.6.0..sroa_cast.i = bitcast i8* %ExprAssign.sroa.6.0..sroa_idx.i to i8**
store i8* %name.sroa.22227.0.copyload.i, i8** %ExprAssign.sroa.6.0..sroa_cast.i, align 8
%ExprAssign.sroa.7.0..sroa_idx.i = getelementptr inbounds i8* %76, i64 72
%124 = bitcast i8* %ExprAssign.sroa.7.0..sroa_idx.i to <2 x i64>*
store <2 x i64> %74, <2 x i64>* %124, align 8
%ExprAssign3.sroa.0.0..sroa_cast28.i = bitcast { void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)*, i8* }* %ExprAssign3.sroa.0.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %ExprAssign3.sroa.0.0..sroa_cast28.i)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ExprAssign3.sroa.0.0..sroa_cast28.i, i8* %75, i64 16, i32 8, i1 false), !noalias !452
call void @llvm.memset.p0i8.i64(i8* %75, i8 0, i64 16, i32 8, i1 false), !noalias !452
%125 = load void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %117, align 8
%126 = icmp eq void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* %125, null
br i1 %126, label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.234017h77383d09bcaac04bE.exit.i", label %enum-iter-variant-1.i71.i
enum-iter-variant-1.i71.i: ; preds = %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit70.i"
%127 = getelementptr inbounds i8* %76, i64 40
%128 = bitcast i8* %127 to i8**
%129 = load i8** %128, align 8
%130 = icmp eq i8* %129, null
br i1 %130, label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.234017h77383d09bcaac04bE.exit.i", label %cond.i.i72.i
cond.i.i72.i: ; preds = %enum-iter-variant-1.i71.i
%131 = getelementptr inbounds i8* %129, i64 8
%132 = bitcast i8* %131 to void (i8*)**
%133 = load void (i8*)** %132, align 8
invoke void %133(i8* %127)
to label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.234017h77383d09bcaac04bE.exit.i" unwind label %unwind_custom_
"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.234017h77383d09bcaac04bE.exit.i": ; preds = %cond.i.i72.i, %enum-iter-variant-1.i71.i, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit70.i"
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %116, i8* %ExprAssign3.sroa.0.0..sroa_cast28.i, i64 16, i32 8, i1 false)
%134 = load atomic volatile i64* getelementptr inbounds ({ { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }* @_ZN2rt4util9min_stack3MIN20h3ace694a6c323b04P7tE, i64 0, i32 0, i32 0) seq_cst, align 8
%cond.i1.i = icmp eq i64 %134, 0
br i1 %cond.i1.i, label %join.i.i, label %match_else.i.i
match_else.i.i: ; preds = %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.234017h77383d09bcaac04bE.exit.i"
%135 = add i64 %134, -1
br label %_ZN2rt4util9min_stack20h19c88096d499421aJ7tE.exit.i
join.i.i: ; preds = %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.234017h77383d09bcaac04bE.exit.i"
%136 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#3]"* %amt.i.i, i64 0, i32 0
call void @llvm.lifetime.start(i64 16, i8* %136), !noalias !452
%137 = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %6, i64 0, i32 0
call void @llvm.lifetime.start(i64 32, i8* %137), !noalias !452
%138 = bitcast %str_slice* %7 to i8*
call void @llvm.lifetime.start(i64 16, i8* %138), !noalias !452
%139 = getelementptr inbounds %str_slice* %7, i64 0, i32 0
store i8* getelementptr inbounds ([14 x i8]* @str31589, i64 0, i64 0), i8** %139, align 8, !noalias !452
%140 = getelementptr inbounds %str_slice* %7, i64 0, i32 1
store i64 14, i64* %140, align 8, !noalias !452
invoke fastcc void @_ZN2os6getenv20h631b8355eeffdad9dzgE(%"enum.core::option::Option<[collections::string::String]>[#3]"* noalias nocapture sret dereferenceable(32) %6, %str_slice* noalias nocapture dereferenceable(16) %7)
to label %.noexc2.i unwind label %unwind_ast_111_5.i
.noexc2.i: ; preds = %join.i.i
call void @llvm.lifetime.end(i64 16, i8* %138), !noalias !452
%141 = load i8* %137, align 8, !range !38, !alias.scope !462, !noalias !465
%cond.i12.i.i = icmp eq i8 %141, 1
br i1 %cond.i12.i.i, label %normal-return.i.i.i, label %join.i.i.i
normal-return.i.i.i: ; preds = %.noexc2.i
%142 = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %6, i64 0, i32 2
%143 = bitcast [3 x i64]* %142 to i8*
%arg.i.sroa.0.0..sroa_cast40.i.i = bitcast [3 x i64]* %142 to i8**
%arg.i.sroa.0.0.copyload.i.i = load i8** %arg.i.sroa.0.0..sroa_cast40.i.i, align 8, !noalias !452
%arg.i.sroa.8.0..sroa_idx44.i.i = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %6, i64 0, i32 2, i64 1
%arg.i.sroa.8.0.copyload.i.i = load i64* %arg.i.sroa.8.0..sroa_idx44.i.i, align 8, !noalias !452
%arg.i.sroa.9.0..sroa_idx48.i.i = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %6, i64 0, i32 2, i64 2
%arg.i.sroa.9.0.copyload.i.i = load i64* %arg.i.sroa.9.0..sroa_idx48.i.i, align 8, !noalias !452
call void @llvm.memset.p0i8.i64(i8* %143, i8 0, i64 24, i32 8, i1 false), !alias.scope !462, !noalias !465
%144 = bitcast %str_slice* %arg.i.i.i.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %144), !noalias !468
%.sroa.0.0..sroa_idx.i.i = getelementptr inbounds %str_slice* %arg.i.i.i.i, i64 0, i32 0
store i8* %arg.i.sroa.0.0.copyload.i.i, i8** %.sroa.0.0..sroa_idx.i.i, align 8, !noalias !452
%.sroa.5.0..sroa_idx56.i.i = getelementptr inbounds %str_slice* %arg.i.i.i.i, i64 0, i32 1
store i64 %arg.i.sroa.8.0.copyload.i.i, i64* %.sroa.5.0..sroa_idx56.i.i, align 8, !noalias !452
invoke fastcc void @_ZN3num7strconv18from_str_radix_int21h15078856848660187201E(%"enum.core::option::Option<[uint]>[#3]"* noalias nocapture sret dereferenceable(16) %amt.i.i, %str_slice* noalias nocapture dereferenceable(16) %arg.i.i.i.i, i64 10)
to label %normal-return1.i.i.i unwind label %unwind_custom_.i.i.i
unwind_custom_.i.i.i: ; preds = %normal-return.i.i.i
%145 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%146 = icmp eq i64 %arg.i.sroa.9.0.copyload.i.i, 0
br i1 %146, label %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.body.i.i", label %then-block-86101-.i.i.i34.i.i
then-block-86101-.i.i.i34.i.i: ; preds = %unwind_custom_.i.i.i
invoke void @je_sdallocx(i8* %arg.i.sroa.0.0.copyload.i.i, i64 %arg.i.sroa.9.0.copyload.i.i, i32 0)
to label %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.body.i.i" unwind label %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.i.i"
normal-return1.i.i.i: ; preds = %normal-return.i.i.i
call void @llvm.lifetime.end(i64 16, i8* %144), !noalias !468
%147 = icmp eq i64 %arg.i.sroa.9.0.copyload.i.i, 0
br i1 %147, label %enum-iter-variant-1.i10.i.i.i, label %then-block-86101-.i.i.i.i.i
then-block-86101-.i.i.i.i.i: ; preds = %normal-return1.i.i.i
invoke void @je_sdallocx(i8* %arg.i.sroa.0.0.copyload.i.i, i64 %arg.i.sroa.9.0.copyload.i.i, i32 0)
to label %enum-iter-variant-1.i10.i.i.i unwind label %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.i.i"
"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.i.i": ; preds = %then-block-86101-.i.i.i.i.i, %then-block-86101-.i.i.i34.i.i
%148 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.body.i.i"
"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.body.i.i": ; preds = %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.i.i", %then-block-86101-.i.i.i34.i.i, %unwind_custom_.i.i.i
%eh.lpad-body.i.i = phi { i8*, i32 } [ %148, %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.i.i" ], [ %145, %unwind_custom_.i.i.i ], [ %145, %then-block-86101-.i.i.i34.i.i ]
call void @llvm.lifetime.end(i64 32, i8* %137), !alias.scope !462, !noalias !465
br label %unwind_ast_111_5.body.i
join.i.i.i: ; preds = %.noexc2.i
store i8 0, i8* %136, align 8, !alias.scope !477, !noalias !478
br label %"_ZN6option15Option$LT$T$GT$8and_then20h3531554162482431951E.exit.i.i"
enum-iter-variant-1.i10.i.i.i: ; preds = %then-block-86101-.i.i.i.i.i, %normal-return1.i.i.i
call void @llvm.memset.p0i8.i64(i8* %143, i8 0, i64 24, i32 8, i1 false), !alias.scope !462, !noalias !465
%arg.sroa.0.0.copyload.pre.i.i = load i8* %136, align 8, !noalias !452
%phitmp.i.i = icmp eq i8 %arg.sroa.0.0.copyload.pre.i.i, 1
br label %"_ZN6option15Option$LT$T$GT$8and_then20h3531554162482431951E.exit.i.i"
"_ZN6option15Option$LT$T$GT$8and_then20h3531554162482431951E.exit.i.i": ; preds = %enum-iter-variant-1.i10.i.i.i, %join.i.i.i
%arg.sroa.0.0.copyload.i.i = phi i1 [ %phitmp.i.i, %enum-iter-variant-1.i10.i.i.i ], [ false, %join.i.i.i ]
call void @llvm.lifetime.end(i64 32, i8* %137), !alias.scope !462, !noalias !465
call void @llvm.lifetime.end(i64 32, i8* %137), !noalias !452
%arg.sroa.518.0..sroa_idx.i.i = getelementptr inbounds %"enum.core::option::Option<[uint]>[#3]"* %amt.i.i, i64 0, i32 2, i64 0
%arg.sroa.518.0.copyload.i.i = load i64* %arg.sroa.518.0..sroa_idx.i.i, align 8, !noalias !452
%arg.sroa.518.0.copyload..i.i = select i1 %arg.sroa.0.0.copyload.i.i, i64 %arg.sroa.518.0.copyload.i.i, i64 2097152
%149 = add i64 %arg.sroa.518.0.copyload..i.i, 1
store atomic volatile i64 %149, i64* getelementptr inbounds ({ { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }* @_ZN2rt4util9min_stack3MIN20h3ace694a6c323b04P7tE, i64 0, i32 0, i32 0) seq_cst, align 8
call void @llvm.lifetime.end(i64 16, i8* %136), !noalias !452
br label %_ZN2rt4util9min_stack20h19c88096d499421aJ7tE.exit.i
_ZN2rt4util9min_stack20h19c88096d499421aJ7tE.exit.i: ; preds = %"_ZN6option15Option$LT$T$GT$8and_then20h3531554162482431951E.exit.i.i", %match_else.i.i
%sret_slot.0.i.i = phi i64 [ %arg.sroa.518.0.copyload..i.i, %"_ZN6option15Option$LT$T$GT$8and_then20h3531554162482431951E.exit.i.i" ], [ %135, %match_else.i.i ]
%cond.i73.i = icmp eq i8 %stack_size.sroa.0.0.copyload.i, 1
%stack_size.sroa.10.0.copyload..i = select i1 %cond.i73.i, i64 %stack_size.sroa.10.0.copyload.i, i64 %sret_slot.0.i.i
%150 = invoke i8* @je_mallocx(i64 56, i32 0)
to label %.noexc83.i unwind label %unwind_ast_111_10.i
unwind_ast_111_5.i: ; preds = %join.i.i
%151 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_111_5.body.i
unwind_ast_111_5.body.i: ; preds = %unwind_ast_111_5.i, %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.body.i.i"
%eh.lpad-body3.i = phi { i8*, i32 } [ %151, %unwind_ast_111_5.i ], [ %eh.lpad-body.i.i, %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.body.i.i" ]
%.fca.0.extract38.i = extractvalue { i8*, i32 } %eh.lpad-body3.i, 0
%.fca.1.extract40.i = extractvalue { i8*, i32 } %eh.lpad-body3.i, 1
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %113)
to label %.noexc29 unwind label %unwind_custom_
.noexc29: ; preds = %unwind_ast_111_5.body.i
%152 = getelementptr inbounds %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]"* %on_exit.i, i64 0, i32 0, i32 0
%153 = load void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %152, align 8, !noalias !452
%154 = icmp eq void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* %153, null
br i1 %154, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit82.i", label %enum-iter-variant-1.i74.i
enum-iter-variant-1.i74.i: ; preds = %.noexc29
%155 = getelementptr inbounds %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]"* %on_exit.i, i64 0, i32 0, i32 1
%156 = load i8** %155, align 8, !noalias !452
%157 = icmp eq i8* %156, null
br i1 %157, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit82.i", label %cond.i.i75.i
cond.i.i75.i: ; preds = %enum-iter-variant-1.i74.i
%158 = getelementptr inbounds i8* %156, i64 8
%159 = bitcast i8* %158 to void (i8*)**
%160 = load void (i8*)** %159, align 8
%161 = bitcast i8** %155 to i8*
invoke void %160(i8* %161)
to label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit82.i" unwind label %unwind_custom_
"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit82.i": ; preds = %cond.i.i75.i, %enum-iter-variant-1.i74.i, %.noexc29
call void @llvm.lifetime.end(i64 16, i8* %75), !noalias !452
call void @llvm.lifetime.end(i64 7, i8* %name.sroa.16.0..sroa_idx291.i)
call void @llvm.lifetime.end(i64 7, i8* %name.sroa.22.0..sroa_idx283.i)
br label %clean_custom_.i
.noexc83.i: ; preds = %_ZN2rt4util9min_stack20h19c88096d499421aJ7tE.exit.i
%162 = icmp eq i8* %150, null
br i1 %162, label %then-block-1016-.i.i.i, label %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i.i
then-block-1016-.i.i.i: ; preds = %.noexc83.i
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE()
unreachable
_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i.i: ; preds = %.noexc83.i
%163 = invoke i8* @je_mallocx(i64 40, i32 0)
to label %.noexc4.i unwind label %unwind_custom_.i.i16
.noexc4.i: ; preds = %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i.i
%164 = icmp eq i8* %163, null
br i1 %164, label %then-block-6280-.i.i.i.i.i, label %_ZN5mutex17StaticNativeMutex3new20h6076b1113884a9dbiDbE.exit.i.i
then-block-6280-.i.i.i.i.i: ; preds = %.noexc4.i
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE(), !noalias !479
unreachable
_ZN5mutex17StaticNativeMutex3new20h6076b1113884a9dbiDbE.exit.i.i: ; preds = %.noexc4.i
%165 = invoke i32 @InitializeCriticalSectionAndSpinCount(i8* %163, i32 4000)
to label %.noexc5.i unwind label %unwind_custom_.i.i16
.noexc5.i: ; preds = %_ZN5mutex17StaticNativeMutex3new20h6076b1113884a9dbiDbE.exit.i.i
%166 = bitcast i8* %150 to %"struct.core::atomic::AtomicUint<[]>[#3]"*
%167 = ptrtoint i8* %163 to i64
%oldret.i.i.i.i.i = insertvalue %"struct.core::cell::UnsafeCell<[uint]>[#3]" undef, i64 %167, 0
%oldret6.i.i.i.i = insertvalue %"struct.core::atomic::AtomicUint<[]>[#3]" undef, %"struct.core::cell::UnsafeCell<[uint]>[#3]" %oldret.i.i.i.i.i, 0
store %"struct.core::atomic::AtomicUint<[]>[#3]" %oldret6.i.i.i.i, %"struct.core::atomic::AtomicUint<[]>[#3]"* %166, align 8, !alias.scope !479
%168 = invoke i8* @CreateEventA(%"struct.libc::types::os::arch::extra::SECURITY_ATTRIBUTES<[]>[#3]"* null, i32 0, i32 0, i8* null)
to label %_ZN5mutex11NativeMutex3new20h57f4e261e6dbf0fb9EbE.exit.i unwind label %unwind_custom_.i.i16
_ZN5mutex11NativeMutex3new20h57f4e261e6dbf0fb9EbE.exit.i: ; preds = %.noexc5.i
%169 = getelementptr inbounds i8* %150, i64 8
%170 = bitcast i8* %169 to %"struct.core::atomic::AtomicUint<[]>[#3]"*
%171 = ptrtoint i8* %168 to i64
%oldret.i9.i.i.i.i = insertvalue %"struct.core::cell::UnsafeCell<[uint]>[#3]" undef, i64 %171, 0
%oldret.i.i.i.i = insertvalue %"struct.core::atomic::AtomicUint<[]>[#3]" undef, %"struct.core::cell::UnsafeCell<[uint]>[#3]" %oldret.i9.i.i.i.i, 0
store %"struct.core::atomic::AtomicUint<[]>[#3]" %oldret.i.i.i.i, %"struct.core::atomic::AtomicUint<[]>[#3]"* %170, align 8, !alias.scope !479
%172 = getelementptr inbounds i8* %150, i64 16
store i8 1, i8* %172, align 8, !alias.scope !486
%173 = bitcast i8* %150 to %"struct.task::Ops<[]>"*
%174 = getelementptr inbounds i8* %150, i64 24
store i8 0, i8* %174, align 1
%175 = getelementptr inbounds i8* %150, i64 32
call void @llvm.memset.p0i8.i64(i8* %175, i8 0, i64 24, i32 8, i1 false)
%176 = atomicrmw add i64* getelementptr inbounds ({ { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }* @_ZN11bookkeeping10TASK_COUNT20hca9db8247d813a33QTaE, i64 0, i32 0, i32 0), i64 1 seq_cst
%177 = bitcast { void (i8*)*, i8* }* %8 to i8*
call void @llvm.lifetime.start(i64 16, i8* %177), !noalias !452
%178 = invoke i8* @je_mallocx(i64 80, i32 0)
to label %.noexc97.i unwind label %cond.i111.i
unwind_custom_.i.i16: ; preds = %.noexc5.i, %_ZN5mutex17StaticNativeMutex3new20h6076b1113884a9dbiDbE.exit.i.i, %_ZN4heap15exchange_malloc20ha530f3e7736e64b2kcaE.exit.i.i
%179 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
invoke void @je_sdallocx(i8* %150, i64 56, i32 0)
to label %unwind_ast_111_10.body.i unwind label %unwind_ast_111_10.i
unwind_ast_111_10.i: ; preds = %unwind_custom_.i.i16, %_ZN2rt4util9min_stack20h19c88096d499421aJ7tE.exit.i
%180 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_111_10.body.i
unwind_ast_111_10.body.i: ; preds = %unwind_ast_111_10.i, %unwind_custom_.i.i16
%eh.lpad-body.i17 = phi { i8*, i32 } [ %180, %unwind_ast_111_10.i ], [ %179, %unwind_custom_.i.i16 ]
%.fca.0.extract42.i = extractvalue { i8*, i32 } %eh.lpad-body.i17, 0
%.fca.1.extract44.i = extractvalue { i8*, i32 } %eh.lpad-body.i17, 1
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %113)
to label %.noexc31 unwind label %unwind_custom_
.noexc31: ; preds = %unwind_ast_111_10.body.i
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %.noexc32 unwind label %unwind_custom_
.noexc32: ; preds = %.noexc31
%181 = getelementptr inbounds %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]"* %on_exit.i, i64 0, i32 0, i32 0
%182 = load void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %181, align 8, !noalias !452
%183 = icmp eq void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* %182, null
br i1 %183, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit94.i", label %enum-iter-variant-1.i86.i
enum-iter-variant-1.i86.i: ; preds = %.noexc32
%184 = getelementptr inbounds %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]"* %on_exit.i, i64 0, i32 0, i32 1
%185 = load i8** %184, align 8, !noalias !452
%186 = icmp eq i8* %185, null
br i1 %186, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit94.i", label %cond.i.i87.i
cond.i.i87.i: ; preds = %enum-iter-variant-1.i86.i
%187 = getelementptr inbounds i8* %185, i64 8
%188 = bitcast i8* %187 to void (i8*)**
%189 = load void (i8*)** %188, align 8
%190 = bitcast i8** %184 to i8*
invoke void %189(i8* %190)
to label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit94.i" unwind label %unwind_custom_
"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit94.i": ; preds = %cond.i.i87.i, %enum-iter-variant-1.i86.i, %.noexc32
call void @llvm.lifetime.end(i64 16, i8* %75), !noalias !452
call void @llvm.lifetime.end(i64 7, i8* %name.sroa.16.0..sroa_idx291.i)
call void @llvm.lifetime.end(i64 7, i8* %name.sroa.22.0..sroa_idx283.i)
br label %clean_custom_.i
.noexc97.i: ; preds = %_ZN5mutex11NativeMutex3new20h57f4e261e6dbf0fb9EbE.exit.i
%191 = icmp eq i8* %178, null
br i1 %191, label %then-block-1016-.i95.i, label %normal-return15.i
then-block-1016-.i95.i: ; preds = %.noexc97.i
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE()
unreachable
normal-return15.i: ; preds = %.noexc97.i
%192 = getelementptr inbounds i8* %178, i64 8
%193 = bitcast i8* %192 to {}**
store {}* bitcast (void ({ i64, {}*, i8*, i8*, { i64, %"struct.task::Ops<[]>"*, { void (i8*)*, i8* }, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::bookkeeping::Token<[]>[#9]" } }**)* @"_ZN234Box$LT$$LP$uint$C$$x20$RP$const$x20$LP$$RP$$C$$x20$RP$const$x20i8$C$$x20$RP$const$x20i8$C$$x20$LP$uint$C$$x20Box$LT$task..Ops$GT$$C$$x20proc$LP$$RP$.Send$C$$x20Box$LT$rustrt..task..Task$GT$$C$$x20rustrt..bookkeeping..Token$RP$$RP$$GT$14glue_drop.251617h5819cd13fb7a4d10E" to {}*), {}** %193, align 8
%194 = getelementptr inbounds i8* %178, i64 32
%195 = bitcast i8* %194 to i64*
store i64 %stack_size.sroa.10.0.copyload..i, i64* %195, align 8
%196 = getelementptr inbounds i8* %178, i64 40
%197 = bitcast i8* %196 to %"struct.task::Ops<[]>"**
store %"struct.task::Ops<[]>"* %173, %"struct.task::Ops<[]>"** %197, align 8
%198 = getelementptr inbounds i8* %178, i64 48
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %198, i8* %70, i64 16, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %70, i8 0, i64 16, i32 8, i1 false), !alias.scope !450, !noalias !447
%199 = getelementptr inbounds i8* %178, i64 64
%200 = bitcast i8* %199 to %"struct.rustrt::task::Task<[]>[#9]"**
store %"struct.rustrt::task::Task<[]>[#9]"* %113, %"struct.rustrt::task::Task<[]>[#9]"** %200, align 8
%201 = getelementptr inbounds i8* %178, i64 72
store i8 1, i8* %201, align 1
%202 = getelementptr inbounds { void (i8*)*, i8* }* %8, i64 0, i32 0
store void (i8*)* @_ZN4task21NativeSpawner.Spawner5spawn12closure.2510E, void (i8*)** %202, align 8, !noalias !452
%203 = getelementptr inbounds { void (i8*)*, i8* }* %8, i64 0, i32 1
store i8* %178, i8** %203, align 8, !noalias !452
%204 = invoke i8* @je_mallocx(i64 16, i32 0)
to label %.noexc.i.i18 unwind label %unwind_custom_.i7.i
.noexc.i.i18: ; preds = %normal-return15.i
%205 = icmp eq i8* %204, null
br i1 %205, label %then-block-10532-.i.i.i, label %normal-return.i.i19
then-block-10532-.i.i.i: ; preds = %.noexc.i.i18
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE()
unreachable
normal-return.i.i19: ; preds = %.noexc.i.i18
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %204, i8* %177, i64 16, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %177, i8 0, i64 16, i32 8, i1 false), !alias.scope !487, !noalias !452
%206 = icmp ugt i64 %stack_size.sroa.10.0.copyload..i, 20480
%.op.i.i.i = add i64 %stack_size.sroa.10.0.copyload..i, 65534
%.op.op.i.i.i = and i64 %.op.i.i.i, -65535
%207 = select i1 %206, i64 %.op.op.i.i.i, i64 65536
%208 = bitcast i8** %ret.i.i.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %208), !noalias !490
%209 = invoke i8* @CreateThread(%"struct.libc::types::os::arch::extra::SECURITY_ATTRIBUTES<[]>[#3]"* null, i64 %207, i32 (i8*)* @_ZN6thread12thread_start20h39fac6ee6753d70fujcE, i8* %204, i32 0, i32* null)
to label %.noexc1.i.i unwind label %unwind_custom_.i7.i
.noexc1.i.i: ; preds = %normal-return.i.i19
store i8* %209, i8** %ret.i.i.i, align 8, !noalias !490
%210 = icmp eq i8* %209, null
br i1 %210, label %normal-return12.i.i.i, label %_ZN6thread3imp6create20h2bc9ed055748e3d4bpcE.exit.i.i
"_ZN28Box$LT$proc$LP$$RP$.Send$GT$14glue_drop.609717h5d4eb50b55d509f1E.exit44.i.i.i": ; preds = %cond.i.i46.i.i.i, %cond.i45.i.i.i
invoke void @je_sdallocx(i8* %204, i64 16, i32 0)
to label %.noexc2.i.i unwind label %unwind_custom_.i7.i
.noexc2.i.i: ; preds = %"_ZN28Box$LT$proc$LP$$RP$.Send$GT$14glue_drop.609717h5d4eb50b55d509f1E.exit44.i.i.i"
call void @llvm.lifetime.end(i64 8, i8* %208), !noalias !490
br label %unwind_custom_.body.i.i
cond.i45.i.i.i: ; preds = %normal-return12.i.i.i
%211 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%212 = getelementptr inbounds i8* %204, i64 8
%213 = bitcast i8* %212 to i8**
%214 = load i8** %213, align 8, !alias.scope !493
%215 = icmp eq i8* %214, null
br i1 %215, label %"_ZN28Box$LT$proc$LP$$RP$.Send$GT$14glue_drop.609717h5d4eb50b55d509f1E.exit44.i.i.i", label %cond.i.i46.i.i.i
cond.i.i46.i.i.i: ; preds = %cond.i45.i.i.i
%216 = getelementptr inbounds i8* %214, i64 8
%217 = bitcast i8* %216 to void (i8*)**
%218 = load void (i8*)** %217, align 8
invoke void %218(i8* %212)
to label %"_ZN28Box$LT$proc$LP$$RP$.Send$GT$14glue_drop.609717h5d4eb50b55d509f1E.exit44.i.i.i" unwind label %unwind_custom_.i7.i
normal-return12.i.i.i: ; preds = %.noexc1.i.i
%219 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %5 to i8*
call void @llvm.lifetime.start(i64 16, i8* %219), !noalias !490
%220 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %5, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (i8**, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt18_$RP$mut$x20T.Show3fmt21h14619779221507708029E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %220, align 8, !alias.scope !494, !noalias !497
%221 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %5, i64 0, i32 1
%.c.i.i.i.i = bitcast i8** %ret.i.i.i to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i.i.i.i, %"enum.core::fmt::Void<[]>[#3]"** %221, align 8, !alias.scope !494, !noalias !497
%222 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i6 to i8*
call void @llvm.lifetime.start(i64 48, i8* %222), !noalias !490
%__fat_ptr9.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i6, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN6thread3imp6create15__STATIC_FMTSTR20h349f0f2acd1459fc5qcE, i64 0, i64 0), %str_slice** %__fat_ptr9.sroa.0.0..sroa_idx.i.i.i, align 8, !noalias !490
%__fat_ptr9.sroa.5.0..sroa_idx55.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i6, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr9.sroa.5.0..sroa_idx55.i.i.i, align 8, !noalias !490
%223 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i6, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %223, align 8, !alias.scope !499, !noalias !502
%__fat_ptr11.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i6, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %5, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr11.sroa.0.0..sroa_idx.i.i.i, align 8, !noalias !490
%__fat_ptr11.sroa.5.0..sroa_idx50.i.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i.i6, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr11.sroa.5.0..sroa_idx50.i.i.i, align 8, !noalias !490
invoke fastcc void @_ZN9panicking9panic_fmt20heef0d8eba24c8ed4X6jE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i.i.i6, { %str_slice, i64 }* noalias nocapture readonly dereferenceable(24) @_ZN6thread3imp6create8_run_fmt10_FILE_LINE20he903507015456385GqcE)
to label %.noexc.i.i.i unwind label %cond.i45.i.i.i
.noexc.i.i.i: ; preds = %normal-return12.i.i.i
unreachable
_ZN6thread3imp6create20h2bc9ed055748e3d4bpcE.exit.i.i: ; preds = %.noexc1.i.i
call void @llvm.lifetime.end(i64 8, i8* %208), !noalias !490
%224 = invoke i32 @CloseHandle(i8* %209)
to label %.noexc9.i.i unwind label %unwind_custom_.i7.i
unwind_custom_.i7.i: ; preds = %then-block-8803-.i.i.i, %_ZN6thread3imp6create20h2bc9ed055748e3d4bpcE.exit.i.i, %cond.i.i46.i.i.i, %"_ZN28Box$LT$proc$LP$$RP$.Send$GT$14glue_drop.609717h5d4eb50b55d509f1E.exit44.i.i.i", %normal-return.i.i19, %normal-return15.i
%225 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_custom_.body.i.i
unwind_custom_.body.i.i: ; preds = %unwind_custom_.i7.i, %.noexc2.i.i
%eh.lpad-body.i8.i = phi { i8*, i32 } [ %225, %unwind_custom_.i7.i ], [ %211, %.noexc2.i.i ]
%226 = load i8** %203, align 8, !alias.scope !487, !noalias !452
%227 = icmp eq i8* %226, null
br i1 %227, label %unwind_ast_111_16.body.i.thread, label %cond.i.i9.i
cond.i.i9.i: ; preds = %unwind_custom_.body.i.i
%228 = getelementptr inbounds i8* %226, i64 8
%229 = bitcast i8* %228 to void (i8*)**
%230 = load void (i8*)** %229, align 8
%231 = bitcast i8** %203 to i8*
invoke void %230(i8* %231)
to label %unwind_ast_111_16.body.i.thread unwind label %unwind_ast_111_16.body.i.thread90
unwind_ast_111_16.body.i.thread: ; preds = %unwind_custom_.body.i.i, %cond.i.i9.i
call void @llvm.lifetime.end(i64 16, i8* %177), !alias.scope !487, !noalias !452
%.fca.0.extract50.i84 = extractvalue { i8*, i32 } %eh.lpad-body.i8.i, 0
%.fca.1.extract52.i85 = extractvalue { i8*, i32 } %eh.lpad-body.i8.i, 1
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit115.i"
.noexc9.i.i: ; preds = %_ZN6thread3imp6create20h2bc9ed055748e3d4bpcE.exit.i.i
%232 = icmp eq i32 %224, 0
br i1 %232, label %then-block-8803-.i.i.i, label %normal-return2.i.i
then-block-8803-.i.i.i: ; preds = %.noexc9.i.i
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN6thread3imp6detach14_MSG_FILE_LINE20hbf26a2c2f4e59a61dscE)
to label %.noexc10.i.i unwind label %unwind_custom_.i7.i
.noexc10.i.i: ; preds = %then-block-8803-.i.i.i
unreachable
normal-return2.i.i: ; preds = %.noexc9.i.i
%233 = load i8** %203, align 8, !alias.scope !487, !noalias !452
%234 = icmp eq i8* %233, null
br i1 %234, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit130.i", label %cond.i11.i.i
cond.i11.i.i: ; preds = %normal-return2.i.i
%235 = getelementptr inbounds i8* %233, i64 8
%236 = bitcast i8* %235 to void (i8*)**
%237 = load void (i8*)** %236, align 8
%238 = bitcast i8** %203 to i8*
invoke void %237(i8* %238)
to label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit130.i" unwind label %unwind_ast_111_16.body.i.thread90
unwind_ast_111_16.body.i.thread90: ; preds = %cond.i.i9.i, %cond.i11.i.i
%239 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract50.i91 = extractvalue { i8*, i32 } %239, 0
%.fca.1.extract52.i92 = extractvalue { i8*, i32 } %239, 1
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit115.i"
cond.i111.i: ; preds = %_ZN5mutex11NativeMutex3new20h57f4e261e6dbf0fb9EbE.exit.i
%240 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract50.i94 = extractvalue { i8*, i32 } %240, 0
%.fca.1.extract52.i95 = extractvalue { i8*, i32 } %240, 1
invoke fastcc void @_ZN11bookkeeping10Token.Drop4drop20h45db0b421778461c3TaE()
to label %_ZN26rustrt..bookkeeping..Token14glue_drop.251317h63b9df34bc877554E.exit.i unwind label %unwind_custom_
_ZN26rustrt..bookkeeping..Token14glue_drop.251317h63b9df34bc877554E.exit.i: ; preds = %cond.i111.i
%.fca.1.extract52.i89 = phi i32 [ %.fca.1.extract52.i95, %cond.i111.i ]
%.fca.0.extract50.i88 = phi i8* [ %.fca.0.extract50.i94, %cond.i111.i ]
%.lpad-body.i87 = phi %"struct.task::Ops<[]>"* [ %173, %cond.i111.i ]
%task8.i.186 = phi %"struct.rustrt::task::Task<[]>[#9]"* [ %113, %cond.i111.i ]
%241 = icmp eq %"struct.task::Ops<[]>"* %.lpad-body.i87, null
br i1 %241, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit115.i", label %cond.i112.i
cond.i112.i: ; preds = %_ZN26rustrt..bookkeeping..Token14glue_drop.251317h63b9df34bc877554E.exit.i
%242 = getelementptr inbounds %"struct.task::Ops<[]>"* %.lpad-body.i87, i64 0, i32 0, i32 1
%243 = load i8* %242, align 1, !range !38
%244 = icmp eq i8 %243, 0
br i1 %244, label %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i114.i, label %cond.i.i.i113.i
cond.i.i.i113.i: ; preds = %cond.i112.i
%245 = getelementptr inbounds %"struct.task::Ops<[]>"* %.lpad-body.i87, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
%246 = atomicrmw xchg i64* %245, i64 0 seq_cst, !alias.scope !505
%247 = getelementptr inbounds %"struct.task::Ops<[]>"* %.lpad-body.i87, i64 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0
%248 = atomicrmw xchg i64* %247, i64 0 seq_cst, !alias.scope !505
%249 = icmp eq i64 %246, 0
br i1 %249, label %next-block.i.i.i14.i, label %then-block-6114-.i.i.i13.i
then-block-6114-.i.i.i13.i: ; preds = %cond.i.i.i113.i
%250 = inttoptr i64 %246 to i8*
invoke void @DeleteCriticalSection(i8* %250)
to label %.noexc35 unwind label %unwind_custom_
.noexc35: ; preds = %then-block-6114-.i.i.i13.i
invoke void @je_sdallocx(i8* %250, i64 40, i32 0)
to label %next-block.i.i.i14.i unwind label %unwind_custom_
next-block.i.i.i14.i: ; preds = %.noexc35, %cond.i.i.i113.i
%251 = icmp eq i64 %248, 0
br i1 %251, label %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i114.i, label %then-block-6122-.i.i.i15.i
then-block-6122-.i.i.i15.i: ; preds = %next-block.i.i.i14.i
%252 = inttoptr i64 %248 to i8*
%253 = invoke i32 @CloseHandle(i8* %252)
to label %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i114.i unwind label %unwind_custom_
_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i114.i: ; preds = %next-block.i.i.i14.i, %then-block-6122-.i.i.i15.i, %cond.i112.i
%254 = bitcast %"struct.task::Ops<[]>"* %.lpad-body.i87 to i8*
invoke void @je_sdallocx(i8* %254, i64 56, i32 0)
to label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit115.i" unwind label %unwind_custom_
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit115.i": ; preds = %unwind_ast_111_16.body.i.thread90, %unwind_ast_111_16.body.i.thread, %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i114.i, %_ZN26rustrt..bookkeeping..Token14glue_drop.251317h63b9df34bc877554E.exit.i
%task8.i.186101 = phi %"struct.rustrt::task::Task<[]>[#9]"* [ %task8.i.186, %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i114.i ], [ %task8.i.186, %_ZN26rustrt..bookkeeping..Token14glue_drop.251317h63b9df34bc877554E.exit.i ], [ null, %unwind_ast_111_16.body.i.thread ], [ null, %unwind_ast_111_16.body.i.thread90 ]
%.fca.0.extract50.i88100 = phi i8* [ %.fca.0.extract50.i88, %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i114.i ], [ %.fca.0.extract50.i88, %_ZN26rustrt..bookkeeping..Token14glue_drop.251317h63b9df34bc877554E.exit.i ], [ %.fca.0.extract50.i91, %unwind_ast_111_16.body.i.thread90 ], [ %.fca.0.extract50.i84, %unwind_ast_111_16.body.i.thread ]
%.fca.1.extract52.i8999 = phi i32 [ %.fca.1.extract52.i89, %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i114.i ], [ %.fca.1.extract52.i89, %_ZN26rustrt..bookkeeping..Token14glue_drop.251317h63b9df34bc877554E.exit.i ], [ %.fca.1.extract52.i92, %unwind_ast_111_16.body.i.thread90 ], [ %.fca.1.extract52.i85, %unwind_ast_111_16.body.i.thread ]
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %task8.i.186101)
to label %.noexc39 unwind label %unwind_custom_
.noexc39: ; preds = %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit115.i"
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %.noexc40 unwind label %unwind_custom_
.noexc40: ; preds = %.noexc39
%255 = getelementptr inbounds %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]"* %on_exit.i, i64 0, i32 0, i32 0
%256 = load void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %255, align 8, !noalias !452
%257 = icmp eq void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* %256, null
br i1 %257, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit124.i", label %enum-iter-variant-1.i116.i
enum-iter-variant-1.i116.i: ; preds = %.noexc40
%258 = getelementptr inbounds %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]"* %on_exit.i, i64 0, i32 0, i32 1
%259 = load i8** %258, align 8, !noalias !452
%260 = icmp eq i8* %259, null
br i1 %260, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit124.i", label %cond.i.i117.i
cond.i.i117.i: ; preds = %enum-iter-variant-1.i116.i
%261 = getelementptr inbounds i8* %259, i64 8
%262 = bitcast i8* %261 to void (i8*)**
%263 = load void (i8*)** %262, align 8
%264 = bitcast i8** %258 to i8*
invoke void %263(i8* %264)
to label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit124.i" unwind label %unwind_custom_
"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit124.i": ; preds = %cond.i.i117.i, %enum-iter-variant-1.i116.i, %.noexc40
call void @llvm.lifetime.end(i64 16, i8* %75), !noalias !452
call void @llvm.lifetime.end(i64 7, i8* %name.sroa.16.0..sroa_idx291.i)
call void @llvm.lifetime.end(i64 7, i8* %name.sroa.22.0..sroa_idx283.i)
br label %clean_custom_.i
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit130.i": ; preds = %normal-return2.i.i, %cond.i11.i.i
call void @llvm.lifetime.end(i64 16, i8* %177), !alias.scope !487, !noalias !452
call void @llvm.lifetime.end(i64 16, i8* %177), !noalias !452
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %.noexc43 unwind label %unwind_custom_
.noexc43: ; preds = %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit130.i"
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %.noexc44 unwind label %unwind_custom_
.noexc44: ; preds = %.noexc43
%265 = getelementptr inbounds %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]"* %on_exit.i, i64 0, i32 0, i32 0
%266 = load void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %265, align 8, !noalias !452
%267 = icmp eq void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* %266, null
br i1 %267, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit139.i", label %enum-iter-variant-1.i131.i
enum-iter-variant-1.i131.i: ; preds = %.noexc44
%268 = getelementptr inbounds %"enum.core::option::Option<[proc(core::result::Result<(), Box<core::any::Any+Send>>):Send]>[#3]"* %on_exit.i, i64 0, i32 0, i32 1
%269 = load i8** %268, align 8, !noalias !452
%270 = icmp eq i8* %269, null
br i1 %270, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit139.i", label %cond.i.i132.i
cond.i.i132.i: ; preds = %enum-iter-variant-1.i131.i
%271 = getelementptr inbounds i8* %269, i64 8
%272 = bitcast i8* %271 to void (i8*)**
%273 = load void (i8*)** %272, align 8
%274 = bitcast i8** %268 to i8*
invoke void %273(i8* %274)
to label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit139.i" unwind label %unwind_custom_
"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit139.i": ; preds = %cond.i.i132.i, %enum-iter-variant-1.i131.i, %.noexc44
call void @llvm.lifetime.end(i64 16, i8* %75), !noalias !452
call void @llvm.lifetime.end(i64 7, i8* %name.sroa.16.0..sroa_idx291.i)
call void @llvm.lifetime.end(i64 7, i8* %name.sroa.22.0..sroa_idx283.i)
%275 = getelementptr inbounds { void (i8*)*, i8* }* %arg3, i64 0, i32 1
%276 = load i8** %275, align 8, !alias.scope !450, !noalias !447
%277 = icmp eq i8* %276, null
br i1 %277, label %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit141.i", label %cond.i140.i
cond.i140.i: ; preds = %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit139.i"
%278 = getelementptr inbounds i8* %276, i64 8
%279 = bitcast i8* %278 to void (i8*)**
%280 = load void (i8*)** %279, align 8
%281 = bitcast i8** %275 to i8*
invoke void %280(i8* %281)
to label %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit141.i" unwind label %unwind_custom_
"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit141.i": ; preds = %cond.i140.i, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit139.i"
call void @llvm.lifetime.end(i64 16, i8* %70), !alias.scope !450, !noalias !447
%282 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2, i64 0, i32 0, i32 0, i32 0
%283 = load void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %282, align 8, !alias.scope !447, !noalias !450
%284 = icmp eq void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* %283, null
br i1 %284, label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i145.i", label %enum-iter-variant-1.i.i142.i
enum-iter-variant-1.i.i142.i: ; preds = %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit141.i"
%285 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %arg2, i64 0, i32 0, i32 0, i32 1
%286 = load i8** %285, align 8, !alias.scope !447, !noalias !450
%287 = icmp eq i8* %286, null
br i1 %287, label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i145.i", label %cond.i.i.i143.i
cond.i.i.i143.i: ; preds = %enum-iter-variant-1.i.i142.i
%288 = getelementptr inbounds i8* %286, i64 8
%289 = bitcast i8* %288 to void (i8*)**
%290 = load void (i8*)** %289, align 8
%291 = bitcast i8** %285 to i8*
invoke void %290(i8* %291)
to label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i145.i" unwind label %unwind_custom_
"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i145.i": ; preds = %cond.i.i.i143.i, %enum-iter-variant-1.i.i142.i, %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit141.i"
%292 = load i8* %72, align 8, !range !38, !alias.scope !447, !noalias !450
%cond.i.i144.i = icmp eq i8 %292, 1
%293 = load i8* %name.sroa.16207.0..sroa_cast.i, align 8, !alias.scope !447, !noalias !450
%cond.i.i1.i146.i = icmp eq i8 %293, 1
%or.cond299.i = and i1 %cond.i.i144.i, %cond.i.i1.i146.i
br i1 %or.cond299.i, label %enum-iter-variant-1.i.i.i148.i, label %normal-return4
enum-iter-variant-1.i.i.i148.i: ; preds = %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i145.i"
%294 = load i64* %name.sroa.28251.0..sroa_idx.i, align 8, !alias.scope !508, !noalias !450
%295 = icmp eq i64 %294, 0
br i1 %295, label %normal-return4, label %then-block-1294-.i.i.i.i.i.i149.i
then-block-1294-.i.i.i.i.i.i149.i: ; preds = %enum-iter-variant-1.i.i.i148.i
%296 = load i8** %name.sroa.22227.0..sroa_cast230.i, align 8, !alias.scope !508, !noalias !450
invoke void @je_sdallocx(i8* %296, i64 %294, i32 0)
to label %normal-return4 unwind label %unwind_custom_
unwind_custom_: ; preds = %normal-return.i, %unwind_custom_.body.i, %unwind_ast_111_5.body.i, %unwind_ast_111_10.body.i, %.noexc31, %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit115.i", %.noexc39, %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit130.i", %.noexc43, %then-block-1294-.i.i.i.i.i.i149.i, %cond.i.i.i143.i, %cond.i140.i, %cond.i.i132.i, %cond.i.i117.i, %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i114.i, %then-block-6122-.i.i.i15.i, %.noexc35, %then-block-6114-.i.i.i13.i, %cond.i111.i, %cond.i.i87.i, %cond.i.i75.i, %cond.i.i72.i, %then-block-1294-.i.i.i.i.i.i14, %cond.i.i60.i, %then-block-1294-.i.i.i.i.i.i.i, %cond.i.i.i.i, %cond.i.i9
%297 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_custom_.body
unwind_custom_.body: ; preds = %unwind_custom_.body.i, %unwind_custom_, %_ZN22rustrt..task..TaskOpts14glue_drop.249517h11eb43735afce986E.exit.i
%eh.lpad-body = phi { i8*, i32 } [ %297, %unwind_custom_ ], [ %.fca.1.insert.i, %_ZN22rustrt..task..TaskOpts14glue_drop.249517h11eb43735afce986E.exit.i ], [ %eh.lpad-body.i, %unwind_custom_.body.i ]
%.fca.0.extract8 = extractvalue { i8*, i32 } %eh.lpad-body, 0
%.fca.1.extract10 = extractvalue { i8*, i32 } %eh.lpad-body, 1
br label %clean_custom_
normal-return4: ; preds = %enum-iter-variant-1.i.i.i148.i, %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i145.i", %then-block-1294-.i.i.i.i.i.i149.i
call void @llvm.lifetime.end(i64 72, i8* %68), !alias.scope !447, !noalias !450
call void @llvm.lifetime.end(i64 16, i8* %70)
call void @llvm.lifetime.end(i64 72, i8* %68)
%298 = getelementptr inbounds { void (i8*)*, i8* }* %3, i64 0, i32 1
%299 = load i8** %298, align 8
%300 = icmp eq i8* %299, null
br i1 %300, label %"_ZN17proc$LP$$RP$.Send14glue_drop.285017h47c452eeac7ee1b6E.exit18", label %cond.i17
cond.i17: ; preds = %normal-return4
%301 = getelementptr inbounds i8* %299, i64 8
%302 = bitcast i8* %301 to void (i8*)**
%303 = load void (i8*)** %302, align 8
%304 = bitcast i8** %298 to i8*
call void %303(i8* %304)
br label %"_ZN17proc$LP$$RP$.Send14glue_drop.285017h47c452eeac7ee1b6E.exit18"
"_ZN17proc$LP$$RP$.Send14glue_drop.285017h47c452eeac7ee1b6E.exit18": ; preds = %cond.i17, %normal-return4
call void @llvm.lifetime.end(i64 16, i8* %71)
%305 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2, i64 0, i32 0, i32 0, i32 0
%306 = load void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %305, align 8
%307 = icmp eq void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* %306, null
br i1 %307, label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i22", label %enum-iter-variant-1.i.i19
enum-iter-variant-1.i.i19: ; preds = %"_ZN17proc$LP$$RP$.Send14glue_drop.285017h47c452eeac7ee1b6E.exit18"
%308 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2, i64 0, i32 0, i32 0, i32 1
%309 = load i8** %308, align 8
%310 = icmp eq i8* %309, null
br i1 %310, label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i22", label %cond.i.i.i20
cond.i.i.i20: ; preds = %enum-iter-variant-1.i.i19
%311 = getelementptr inbounds i8* %309, i64 8
%312 = bitcast i8* %311 to void (i8*)**
%313 = load void (i8*)** %312, align 8
%314 = bitcast i8** %308 to i8*
call void %313(i8* %314)
br label %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i22"
"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i22": ; preds = %cond.i.i.i20, %enum-iter-variant-1.i.i19, %"_ZN17proc$LP$$RP$.Send14glue_drop.285017h47c452eeac7ee1b6E.exit18"
%315 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2, i64 0, i32 1, i32 0
%316 = load i8* %315, align 1, !range !38
%cond.i.i21 = icmp eq i8 %316, 1
br i1 %cond.i.i21, label %enum-iter-variant-1.i2.i24, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit31"
enum-iter-variant-1.i2.i24: ; preds = %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i22"
%317 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2, i64 0, i32 1, i32 2
%318 = bitcast [4 x i64]* %317 to i8*
%319 = load i8* %318, align 1, !range !38
%cond.i.i1.i23 = icmp eq i8 %319, 1
br i1 %cond.i.i1.i23, label %enum-iter-variant-1.i.i.i25, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit31"
enum-iter-variant-1.i.i.i25: ; preds = %enum-iter-variant-1.i2.i24
%320 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2, i64 0, i32 1, i32 2, i64 3
%321 = load i64* %320, align 8, !alias.scope !511
%322 = icmp eq i64 %321, 0
br i1 %322, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit31", label %then-block-1294-.i.i.i.i.i.i26
then-block-1294-.i.i.i.i.i.i26: ; preds = %enum-iter-variant-1.i.i.i25
%323 = getelementptr inbounds %"struct.rustrt::task::TaskOpts<[]>[#9]"* %2, i64 0, i32 1, i32 2, i64 1
%324 = bitcast i64* %323 to i8**
%325 = load i8** %324, align 8, !alias.scope !511
call void @je_sdallocx(i8* %325, i64 %321, i32 0), !noalias !511
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit31"
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit31": ; preds = %then-block-1294-.i.i.i.i.i.i26, %enum-iter-variant-1.i.i.i25, %enum-iter-variant-1.i2.i24, %"_ZN121core..option..Option$LT$proc$LP$core..result..Result$LT$$LP$$RP$$C$$x20Box$LT$core..any..Any$x2bSend$GT$$GT$$RP$.Send$GT$14glue_drop.249717h50168cc18b4c75b4E.exit.i22"
call void @llvm.lifetime.end(i64 72, i8* %69)
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
ret void
}
; Function Attrs: nounwind uwtable
define internal void @_ZN4task15Ops.rt..Runtime12stack_bounds20ha1a10a8392176374vgaE({ i64, i64 }* noalias nocapture sret dereferenceable(16), %"struct.task::Ops<[]>"* nocapture readonly dereferenceable(56)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.task::Ops<[]>"* %1, i64 0, i32 2
%3 = bitcast { i64, i64 }* %2 to i8*
%4 = bitcast { i64, i64 }* %0 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %4, i8* %3, i64 16, i32 8, i1 false)
ret void
}
; Function Attrs: nounwind uwtable
define internal void @_ZN4task15Ops.rt..Runtime11stack_guard20hb7ea1bdd702ab2aeIgaE(%"enum.core::option::Option<[uint]>[#3]"* noalias nocapture sret dereferenceable(16), %"struct.task::Ops<[]>"* nocapture readonly dereferenceable(56)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.task::Ops<[]>"* %1, i64 0, i32 3
%3 = load i64* %2, align 8
%4 = icmp eq i64 %3, 0
br i1 %4, label %join, label %then-block-421-
then-block-421-: ; preds = %entry-block
%5 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#3]"* %0, i64 0, i32 2, i64 0
store i64 %3, i64* %5, align 8
br label %join
join: ; preds = %then-block-421-, %entry-block
%.sink = phi i8 [ 1, %then-block-421- ], [ 0, %entry-block ]
%6 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#3]"* %0, i64 0, i32 0
store i8 %.sink, i8* %6, align 8
ret void
}
; Function Attrs: nounwind readnone uwtable
define internal zeroext i1 @_ZN4task15Ops.rt..Runtime9can_block20h21f6fc9ed47c99ef5gaE(%"struct.task::Ops<[]>"* nocapture readnone dereferenceable(56)) unnamed_addr #3 {
entry-block:
ret i1 true
}
; Function Attrs: nounwind uwtable
define internal void @_ZN4task15Ops.rt..Runtime4wrap20haa24f4dc0c4115ff9faE({ i8*, void (i8*)** }* noalias nocapture sret dereferenceable(16), %"struct.task::Ops<[]>"* noalias dereferenceable(56)) unnamed_addr #4 {
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit":
%2 = getelementptr inbounds { i8*, void (i8*)** }* %0, i64 0, i32 0
%.c = bitcast %"struct.task::Ops<[]>"* %1 to i8*
store i8* %.c, i8** %2, align 8
%3 = getelementptr inbounds { i8*, void (i8*)** }* %0, i64 0, i32 1
store void (i8*)** bitcast ({ void (%"struct.task::Ops<[]>"**)*, i64, i64, %"struct.core::intrinsics::TypeId<[]>[#3]" (%"struct.task::Ops<[]>"*)* }* @vtable2705 to void (i8*)**), void (i8*)*** %3, align 8
ret void
}
define internal fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %.val2) unnamed_addr {
entry-block:
%0 = alloca %str_slice, align 8
%1 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%2 = icmp eq %"struct.rustrt::task::Task<[]>[#9]"* %.val2, null
br i1 %2, label %next, label %cond
next: ; preds = %_ZN18rustrt..task..Task14glue_drop.231117h3fa0438c65007714E.exit, %entry-block
ret void
cond: ; preds = %entry-block
%3 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 6
%4 = load i8* %3, align 1, !range !38
%5 = icmp eq i8 %4, 0
br i1 %5, label %cond._ZN18rustrt..task..Task14glue_drop.231117h3fa0438c65007714E.exit_crit_edge, label %cond.i
cond._ZN18rustrt..task..Task14glue_drop.231117h3fa0438c65007714E.exit_crit_edge: ; preds = %cond
%.pre = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 0, i32 0, i32 0
br label %_ZN18rustrt..task..Task14glue_drop.231117h3fa0438c65007714E.exit
cond.i: ; preds = %cond
%6 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 5
%7 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 3
%8 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 2
%9 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 4
%10 = load i8* %9, align 1, !range !194, !alias.scope !514, !noalias !519
%cond26.i.i = icmp eq i8 %10, 1
br i1 %cond26.i.i, label %then-block-7740-.i, label %normal-return.i
then-block-7740-.i: ; preds = %cond.i
%11 = bitcast %str_slice* %0 to i8*
call void @llvm.lifetime.start(i64 16, i8* %11), !noalias !521
%12 = getelementptr inbounds %str_slice* %0, i64 0, i32 0
store i8* getelementptr inbounds ([19 x i8]* @str6033, i64 0, i64 0), i8** %12, align 8, !noalias !521
%13 = getelementptr inbounds %str_slice* %0, i64 0, i32 1
store i64 19, i64* %13, align 8, !noalias !521
%14 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %1 to i8*
call void @llvm.lifetime.start(i64 16, i8* %14), !noalias !521
%15 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %1, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%str_slice*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h12531999020422642356E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %15, align 8, !alias.scope !522, !noalias !525
%16 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %1, i64 0, i32 1
%.c.i.i = bitcast %str_slice* %0 to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i.i, %"enum.core::fmt::Void<[]>[#3]"** %16, align 8, !alias.scope !522, !noalias !525
%17 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %17), !noalias !521
%__fat_ptr1.sroa.0.0..sroa_idx.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN4task9Task.Drop4drop15__STATIC_FMTSTR20h349f0f2acd1459fcbbcE, i64 0, i64 0), %str_slice** %__fat_ptr1.sroa.0.0..sroa_idx.i, align 8, !noalias !521
%__fat_ptr1.sroa.5.0..sroa_idx20.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr1.sroa.5.0..sroa_idx20.i, align 8, !noalias !521
%18 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %18, align 8, !alias.scope !527, !noalias !530
%__fat_ptr3.sroa.0.0..sroa_idx.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %1, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr3.sroa.0.0..sroa_idx.i, align 8, !noalias !521
%__fat_ptr3.sroa.5.0..sroa_idx15.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr3.sroa.5.0..sroa_idx15.i, align 8, !noalias !521
invoke fastcc void @_ZN4util5abort20ha89562d169f67818NyaE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i)
to label %.noexc unwind label %unwind_custom_.i
.noexc: ; preds = %then-block-7740-.i
unreachable
normal-return.i: ; preds = %cond.i
%19 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 0, i32 0, i32 0
%20 = load i8* %19, align 1, !range !38
%cond.i.i.i = icmp eq i8 %20, 1
br i1 %cond.i.i.i, label %enum-iter-variant-1.i.i.i, label %_ZN26rustrt..task..LocalStorage14glue_drop.231417h896946ae50ee9729E.exit.i
enum-iter-variant-1.i.i.i: ; preds = %normal-return.i
%21 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 0, i32 0, i32 2
%22 = bitcast [2 x i64]* %21 to i8**
%.val1 = load i8** %22, align 8
tail call fastcc void @"_ZN118core..option..Option$LT$Box$LT$collections..tree..map..TreeNode$LT$uint$C$$x20rustrt..local_data..TLDValue$GT$$GT$$GT$14glue_drop.232417hff3a34131b1a31deE"(i8* %.val1)
br label %_ZN26rustrt..task..LocalStorage14glue_drop.231417h896946ae50ee9729E.exit.i
_ZN26rustrt..task..LocalStorage14glue_drop.231417h896946ae50ee9729E.exit.i: ; preds = %enum-iter-variant-1.i.i.i, %normal-return.i
%23 = getelementptr inbounds %"struct.rustrt::task::Death<[]>[#9]"* %8, i64 0, i32 0, i32 0, i32 0
%24 = load void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %23, align 8
%25 = icmp eq void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* %24, null
br i1 %25, label %_ZN19rustrt..task..Death14glue_drop.233717hfb99cbb7b9d118b7E.exit.i, label %enum-iter-variant-1.i.i3.i
enum-iter-variant-1.i.i3.i: ; preds = %_ZN26rustrt..task..LocalStorage14glue_drop.231417h896946ae50ee9729E.exit.i
%26 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 2, i32 0, i32 0, i32 1
%27 = load i8** %26, align 8
%28 = icmp eq i8* %27, null
br i1 %28, label %_ZN19rustrt..task..Death14glue_drop.233717hfb99cbb7b9d118b7E.exit.i, label %cond.i.i.i.i
cond.i.i.i.i: ; preds = %enum-iter-variant-1.i.i3.i
%29 = getelementptr inbounds i8* %27, i64 8
%30 = bitcast i8* %29 to void (i8*)**
%31 = load void (i8*)** %30, align 8
%32 = bitcast i8** %26 to i8*
tail call void %31(i8* %32)
br label %_ZN19rustrt..task..Death14glue_drop.233717hfb99cbb7b9d118b7E.exit.i
_ZN19rustrt..task..Death14glue_drop.233717hfb99cbb7b9d118b7E.exit.i: ; preds = %cond.i.i.i.i, %enum-iter-variant-1.i.i3.i, %_ZN26rustrt..task..LocalStorage14glue_drop.231417h896946ae50ee9729E.exit.i
%33 = getelementptr inbounds %"enum.core::option::Option<[collections::str::MaybeOwned]>[#3]"* %7, i64 0, i32 0
%34 = load i8* %33, align 1, !range !38
%cond.i.i = icmp eq i8 %34, 1
br i1 %cond.i.i, label %enum-iter-variant-1.i.i, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i"
enum-iter-variant-1.i.i: ; preds = %_ZN19rustrt..task..Death14glue_drop.233717hfb99cbb7b9d118b7E.exit.i
%35 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 3, i32 2
%36 = bitcast [4 x i64]* %35 to i8*
%37 = load i8* %36, align 1, !range !38
%cond.i.i4.i = icmp eq i8 %37, 1
br i1 %cond.i.i4.i, label %enum-iter-variant-1.i.i5.i, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i"
enum-iter-variant-1.i.i5.i: ; preds = %enum-iter-variant-1.i.i
%38 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 3, i32 2, i64 3
%39 = load i64* %38, align 8, !alias.scope !533
%40 = icmp eq i64 %39, 0
br i1 %40, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i", label %then-block-1294-.i.i.i.i.i.i
then-block-1294-.i.i.i.i.i.i: ; preds = %enum-iter-variant-1.i.i5.i
%41 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 3, i32 2, i64 1
%42 = bitcast i64* %41 to i8**
%43 = load i8** %42, align 8, !alias.scope !533
tail call void @je_sdallocx(i8* %43, i64 %39, i32 0), !noalias !533
br label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i"
"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i": ; preds = %then-block-1294-.i.i.i.i.i.i, %enum-iter-variant-1.i.i5.i, %enum-iter-variant-1.i.i, %_ZN19rustrt..task..Death14glue_drop.233717hfb99cbb7b9d118b7E.exit.i
%44 = getelementptr inbounds %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %6, i64 0, i32 0, i32 0
%45 = load i8** %44, align 8
%46 = icmp eq i8* %45, null
br i1 %46, label %_ZN18rustrt..task..Task14glue_drop.231117h3fa0438c65007714E.exit, label %cond.i.i6.i
cond.i.i6.i: ; preds = %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i"
%47 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 5, i32 0, i32 1
%48 = load void (i8*)*** %47, align 8
%49 = load void (i8*)** %48, align 8
%50 = bitcast %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %6 to i8*
tail call void %49(i8* %50)
br label %_ZN18rustrt..task..Task14glue_drop.231117h3fa0438c65007714E.exit
unwind_custom_.i: ; preds = %then-block-7740-.i
%51 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%52 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 0, i32 0, i32 0
%53 = load i8* %52, align 1, !range !38
%cond.i.i7.i = icmp eq i8 %53, 1
br i1 %cond.i.i7.i, label %enum-iter-variant-1.i.i8.i, label %_ZN26rustrt..task..LocalStorage14glue_drop.231417h896946ae50ee9729E.exit9.i
enum-iter-variant-1.i.i8.i: ; preds = %unwind_custom_.i
%54 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 0, i32 0, i32 2
%55 = bitcast [2 x i64]* %54 to i8**
%.val = load i8** %55, align 8
tail call fastcc void @"_ZN118core..option..Option$LT$Box$LT$collections..tree..map..TreeNode$LT$uint$C$$x20rustrt..local_data..TLDValue$GT$$GT$$GT$14glue_drop.232417hff3a34131b1a31deE"(i8* %.val)
br label %_ZN26rustrt..task..LocalStorage14glue_drop.231417h896946ae50ee9729E.exit9.i
_ZN26rustrt..task..LocalStorage14glue_drop.231417h896946ae50ee9729E.exit9.i: ; preds = %enum-iter-variant-1.i.i8.i, %unwind_custom_.i
%56 = getelementptr inbounds %"struct.rustrt::task::Death<[]>[#9]"* %8, i64 0, i32 0, i32 0, i32 0
%57 = load void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)** %56, align 8
%58 = icmp eq void (i8*, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"*)* %57, null
br i1 %58, label %_ZN19rustrt..task..Death14glue_drop.233717hfb99cbb7b9d118b7E.exit12.i, label %enum-iter-variant-1.i.i10.i
enum-iter-variant-1.i.i10.i: ; preds = %_ZN26rustrt..task..LocalStorage14glue_drop.231417h896946ae50ee9729E.exit9.i
%59 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 2, i32 0, i32 0, i32 1
%60 = load i8** %59, align 8
%61 = icmp eq i8* %60, null
br i1 %61, label %_ZN19rustrt..task..Death14glue_drop.233717hfb99cbb7b9d118b7E.exit12.i, label %cond.i.i.i11.i
cond.i.i.i11.i: ; preds = %enum-iter-variant-1.i.i10.i
%62 = getelementptr inbounds i8* %60, i64 8
%63 = bitcast i8* %62 to void (i8*)**
%64 = load void (i8*)** %63, align 8
%65 = bitcast i8** %59 to i8*
tail call void %64(i8* %65)
br label %_ZN19rustrt..task..Death14glue_drop.233717hfb99cbb7b9d118b7E.exit12.i
_ZN19rustrt..task..Death14glue_drop.233717hfb99cbb7b9d118b7E.exit12.i: ; preds = %cond.i.i.i11.i, %enum-iter-variant-1.i.i10.i, %_ZN26rustrt..task..LocalStorage14glue_drop.231417h896946ae50ee9729E.exit9.i
%66 = getelementptr inbounds %"enum.core::option::Option<[collections::str::MaybeOwned]>[#3]"* %7, i64 0, i32 0
%67 = load i8* %66, align 1, !range !38
%cond.i13.i = icmp eq i8 %67, 1
br i1 %cond.i13.i, label %enum-iter-variant-1.i15.i, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit18.i"
enum-iter-variant-1.i15.i: ; preds = %_ZN19rustrt..task..Death14glue_drop.233717hfb99cbb7b9d118b7E.exit12.i
%68 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 3, i32 2
%69 = bitcast [4 x i64]* %68 to i8*
%70 = load i8* %69, align 1, !range !38
%cond.i.i14.i = icmp eq i8 %70, 1
br i1 %cond.i.i14.i, label %enum-iter-variant-1.i.i16.i, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit18.i"
enum-iter-variant-1.i.i16.i: ; preds = %enum-iter-variant-1.i15.i
%71 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 3, i32 2, i64 3
%72 = load i64* %71, align 8, !alias.scope !536
%73 = icmp eq i64 %72, 0
br i1 %73, label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit18.i", label %then-block-1294-.i.i.i.i.i17.i
then-block-1294-.i.i.i.i.i17.i: ; preds = %enum-iter-variant-1.i.i16.i
%74 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 3, i32 2, i64 1
%75 = bitcast i64* %74 to i8**
%76 = load i8** %75, align 8, !alias.scope !536
tail call void @je_sdallocx(i8* %76, i64 %72, i32 0), !noalias !536
br label %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit18.i"
"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit18.i": ; preds = %then-block-1294-.i.i.i.i.i17.i, %enum-iter-variant-1.i.i16.i, %enum-iter-variant-1.i15.i, %_ZN19rustrt..task..Death14glue_drop.233717hfb99cbb7b9d118b7E.exit12.i
%77 = getelementptr inbounds %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %6, i64 0, i32 0, i32 0
%78 = load i8** %77, align 8
%79 = icmp eq i8* %78, null
br i1 %79, label %"_ZN62core..option..Option$LT$Box$LT$rustrt..Runtime$x2bSend$GT$$GT$14glue_drop.245517hc1d1ead0b874a98cE.exit20.i", label %cond.i.i19.i
cond.i.i19.i: ; preds = %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit18.i"
%80 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %.val2, i64 0, i32 5, i32 0, i32 1
%81 = load void (i8*)*** %80, align 8
%82 = load void (i8*)** %81, align 8
%83 = bitcast %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %6 to i8*
tail call void %82(i8* %83)
br label %"_ZN62core..option..Option$LT$Box$LT$rustrt..Runtime$x2bSend$GT$$GT$14glue_drop.245517hc1d1ead0b874a98cE.exit20.i"
"_ZN62core..option..Option$LT$Box$LT$rustrt..Runtime$x2bSend$GT$$GT$14glue_drop.245517hc1d1ead0b874a98cE.exit20.i": ; preds = %cond.i.i19.i, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit18.i"
resume { i8*, i32 } %51
_ZN18rustrt..task..Task14glue_drop.231117h3fa0438c65007714E.exit: ; preds = %cond.i.i6.i, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i", %cond._ZN18rustrt..task..Task14glue_drop.231117h3fa0438c65007714E.exit_crit_edge
%.pre-phi = phi i8* [ %.pre, %cond._ZN18rustrt..task..Task14glue_drop.231117h3fa0438c65007714E.exit_crit_edge ], [ %19, %"_ZN74core..option..Option$LT$collections..str..MaybeOwned$LT$$x27static$GT$$GT$14glue_drop.234617h76f2f0c358a6e473E.exit.i" ], [ %19, %cond.i.i6.i ]
tail call void @je_sdallocx(i8* %.pre-phi, i64 120, i32 0)
br label %next
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN4task15Ops.rt..Runtime10deschedule12closure.2828E(%"enum.core::option::Option<[rustrt::task::BlockedTask]>[#3]"* noalias nocapture sret dereferenceable(24), %"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"* noalias nocapture dereferenceable(24)) unnamed_addr #5 {
entry-block:
%arg.sroa.5 = alloca [15 x i8], align 1
%arg.sroa.5.0..sroa_idx13 = getelementptr inbounds [15 x i8]* %arg.sroa.5, i64 0, i64 0
call void @llvm.lifetime.start(i64 15, i8* %arg.sroa.5.0..sroa_idx13)
%2 = getelementptr inbounds %"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"* %1, i64 0, i32 0
%arg.sroa.0.0.copyload = load i8* %2, align 8
%arg.sroa.5.0..sroa_idx1 = getelementptr inbounds %"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"* %1, i64 0, i32 1, i64 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg.sroa.5.0..sroa_idx13, i8* %arg.sroa.5.0..sroa_idx1, i64 15, i32 1, i1 false)
%arg.sroa.8.0..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"* %1, i64 0, i32 2, i64 1
%arg.sroa.8.0..sroa_cast8 = bitcast i64* %arg.sroa.8.0..sroa_idx to %"struct.rustrt::task::Task<[]>[#9]"**
%arg.sroa.8.0.copyload = load %"struct.rustrt::task::Task<[]>[#9]"** %arg.sroa.8.0..sroa_cast8, align 8
tail call void @llvm.memset.p0i8.i64(i8* %2, i8 0, i64 24, i32 8, i1 false)
%cond.i = icmp eq i8 %arg.sroa.0.0.copyload, 0
br i1 %cond.i, label %join.thread.i, label %join.i
join.thread.i: ; preds = %entry-block
%3 = getelementptr inbounds %"enum.core::option::Option<[rustrt::task::BlockedTask]>[#3]"* %0, i64 0, i32 0
store i8 0, i8* %3, align 8, !alias.scope !539, !noalias !542
br label %"_ZN68core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$14glue_drop.278417h320207d617d1353eE.exit"
join.i: ; preds = %entry-block
%arg.sroa.5.8..sroa_idx5 = getelementptr inbounds [15 x i8]* %arg.sroa.5, i64 0, i64 7
%4 = bitcast i8* %arg.sroa.5.8..sroa_idx5 to i64*
%5 = load i64* %4, align 1
%6 = getelementptr inbounds %"enum.core::option::Option<[rustrt::task::BlockedTask]>[#3]"* %0, i64 0, i32 2, i64 0
store i64 %5, i64* %6, align 8
%arg.sroa.8.8..sroa_idx17 = getelementptr inbounds %"enum.core::option::Option<[rustrt::task::BlockedTask]>[#3]"* %0, i64 0, i32 2, i64 1
%arg.sroa.8.0.copyload.c = ptrtoint %"struct.rustrt::task::Task<[]>[#9]"* %arg.sroa.8.0.copyload to i64
store i64 %arg.sroa.8.0.copyload.c, i64* %arg.sroa.8.8..sroa_idx17, align 8
%7 = bitcast i8* %arg.sroa.5.8..sroa_idx5 to i64*
store i64 0, i64* %7, align 1
%8 = getelementptr inbounds %"enum.core::option::Option<[rustrt::task::BlockedTask]>[#3]"* %0, i64 0, i32 0
store i8 1, i8* %8, align 8, !alias.scope !539, !noalias !542
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %.noexc unwind label %"_ZN68core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$14glue_drop.278417h320207d617d1353eE.exit14"
.noexc: ; preds = %join.i
%9 = bitcast i8* %arg.sroa.5.8..sroa_idx5 to i64*
store i64 0, i64* %9, align 1
%phitmp.i = icmp eq i8 %arg.sroa.0.0.copyload, 1
br i1 %phitmp.i, label %enum-iter-variant-0.i.i.i, label %"_ZN68core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$14glue_drop.278417h320207d617d1353eE.exit"
enum-iter-variant-0.i.i.i: ; preds = %.noexc
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
to label %"_ZN68core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$14glue_drop.278417h320207d617d1353eE.exit" unwind label %"_ZN68core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$14glue_drop.278417h320207d617d1353eE.exit14"
"_ZN68core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$14glue_drop.278417h320207d617d1353eE.exit": ; preds = %enum-iter-variant-0.i.i.i, %.noexc, %join.thread.i
call void @llvm.lifetime.end(i64 15, i8* %arg.sroa.5.0..sroa_idx13)
call void @llvm.lifetime.end(i64 15, i8* %arg.sroa.5.0..sroa_idx13)
tail call void @llvm.lifetime.end(i64 24, i8* %2)
ret void
"_ZN68core..result..Result$LT$$LP$$RP$$C$$x20rustrt..task..BlockedTask$GT$14glue_drop.278417h320207d617d1353eE.exit14": ; preds = %join.i, %enum-iter-variant-0.i.i.i
%10 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
tail call void @llvm.lifetime.end(i64 24, i8* %2)
resume { i8*, i32 } %10
}
define internal void @"_ZN234Box$LT$$LP$uint$C$$x20$RP$const$x20$LP$$RP$$C$$x20$RP$const$x20i8$C$$x20$RP$const$x20i8$C$$x20$LP$uint$C$$x20Box$LT$task..Ops$GT$$C$$x20proc$LP$$RP$.Send$C$$x20Box$LT$rustrt..task..Task$GT$$C$$x20rustrt..bookkeeping..Token$RP$$RP$$GT$14glue_drop.251617h5819cd13fb7a4d10E"({ i64, {}*, i8*, i8*, { i64, %"struct.task::Ops<[]>"*, { void (i8*)*, i8* }, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::bookkeeping::Token<[]>[#9]" } }** nocapture readonly) unnamed_addr {
entry-block:
%1 = load { i64, {}*, i8*, i8*, { i64, %"struct.task::Ops<[]>"*, { void (i8*)*, i8* }, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::bookkeeping::Token<[]>[#9]" } }** %0, align 8
%2 = icmp eq { i64, {}*, i8*, i8*, { i64, %"struct.task::Ops<[]>"*, { void (i8*)*, i8* }, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::bookkeeping::Token<[]>[#9]" } }* %1, null
br i1 %2, label %next, label %cond
next: ; preds = %"_ZN224_$LP$uint$C$$x20$RP$const$x20$LP$$RP$$C$$x20$RP$const$x20i8$C$$x20$RP$const$x20i8$C$$x20$LP$uint$C$$x20Box$LT$task..Ops$GT$$C$$x20proc$LP$$RP$.Send$C$$x20Box$LT$rustrt..task..Task$GT$$C$$x20rustrt..bookkeeping..Token$RP$$RP$14glue_drop.251917h4bf5638ed6a4e45aE.exit", %entry-block
ret void
cond: ; preds = %entry-block
%3 = getelementptr inbounds { i64, {}*, i8*, i8*, { i64, %"struct.task::Ops<[]>"*, { void (i8*)*, i8* }, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::bookkeeping::Token<[]>[#9]" } }* %1, i64 0, i32 4, i32 1
%4 = load %"struct.task::Ops<[]>"** %3, align 8
%5 = icmp eq %"struct.task::Ops<[]>"* %4, null
br i1 %5, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit.i.i", label %cond.i.i.i
cond.i.i.i: ; preds = %cond
%6 = getelementptr inbounds %"struct.task::Ops<[]>"* %4, i64 0, i32 0, i32 1
%7 = load i8* %6, align 1, !range !38
%8 = icmp eq i8 %7, 0
br i1 %8, label %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i.i.i, label %cond.i.i.i.i.i
cond.i.i.i.i.i: ; preds = %cond.i.i.i
%9 = getelementptr inbounds %"struct.task::Ops<[]>"* %4, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
%10 = atomicrmw xchg i64* %9, i64 0 seq_cst, !alias.scope !544
%11 = getelementptr inbounds %"struct.task::Ops<[]>"* %4, i64 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0
%12 = atomicrmw xchg i64* %11, i64 0 seq_cst, !alias.scope !544
%13 = icmp eq i64 %10, 0
br i1 %13, label %next-block.i.i.i, label %then-block-6114-.i.i.i
then-block-6114-.i.i.i: ; preds = %cond.i.i.i.i.i
%14 = inttoptr i64 %10 to i8*
tail call void @DeleteCriticalSection(i8* %14)
tail call void @je_sdallocx(i8* %14, i64 40, i32 0)
br label %next-block.i.i.i
next-block.i.i.i: ; preds = %then-block-6114-.i.i.i, %cond.i.i.i.i.i
%15 = icmp eq i64 %12, 0
br i1 %15, label %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i.i.i, label %then-block-6122-.i.i.i
then-block-6122-.i.i.i: ; preds = %next-block.i.i.i
%16 = inttoptr i64 %12 to i8*
%17 = tail call i32 @CloseHandle(i8* %16)
br label %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i.i.i
_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i.i.i: ; preds = %then-block-6122-.i.i.i, %next-block.i.i.i, %cond.i.i.i
%18 = bitcast %"struct.task::Ops<[]>"* %4 to i8*
tail call void @je_sdallocx(i8* %18, i64 56, i32 0)
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit.i.i"
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit.i.i": ; preds = %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit.i.i.i, %cond
%19 = getelementptr inbounds { i64, {}*, i8*, i8*, { i64, %"struct.task::Ops<[]>"*, { void (i8*)*, i8* }, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::bookkeeping::Token<[]>[#9]" } }* %1, i64 0, i32 4, i32 2, i32 1
%20 = load i8** %19, align 8
%21 = icmp eq i8* %20, null
br i1 %21, label %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit.i.i", label %cond.i1.i.i
cond.i1.i.i: ; preds = %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit.i.i"
%22 = getelementptr inbounds i8* %20, i64 8
%23 = bitcast i8* %22 to void (i8*)**
%24 = load void (i8*)** %23, align 8
%25 = bitcast i8** %19 to i8*
tail call void %24(i8* %25)
br label %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit.i.i"
"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit.i.i": ; preds = %cond.i1.i.i, %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit.i.i"
%26 = getelementptr inbounds { i64, {}*, i8*, i8*, { i64, %"struct.task::Ops<[]>"*, { void (i8*)*, i8* }, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::bookkeeping::Token<[]>[#9]" } }* %1, i64 0, i32 4, i32 3
%.val = load %"struct.rustrt::task::Task<[]>[#9]"** %26, align 8
tail call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %.val)
%27 = getelementptr inbounds { i64, {}*, i8*, i8*, { i64, %"struct.task::Ops<[]>"*, { void (i8*)*, i8* }, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::bookkeeping::Token<[]>[#9]" } }* %1, i64 0, i32 4, i32 4, i32 1
%28 = load i8* %27, align 1, !range !38
%29 = icmp eq i8 %28, 0
br i1 %29, label %"_ZN224_$LP$uint$C$$x20$RP$const$x20$LP$$RP$$C$$x20$RP$const$x20i8$C$$x20$RP$const$x20i8$C$$x20$LP$uint$C$$x20Box$LT$task..Ops$GT$$C$$x20proc$LP$$RP$.Send$C$$x20Box$LT$rustrt..task..Task$GT$$C$$x20rustrt..bookkeeping..Token$RP$$RP$14glue_drop.251917h4bf5638ed6a4e45aE.exit", label %cond.i2.i.i
cond.i2.i.i: ; preds = %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit.i.i"
tail call fastcc void @_ZN11bookkeeping10Token.Drop4drop20h45db0b421778461c3TaE()
br label %"_ZN224_$LP$uint$C$$x20$RP$const$x20$LP$$RP$$C$$x20$RP$const$x20i8$C$$x20$RP$const$x20i8$C$$x20$LP$uint$C$$x20Box$LT$task..Ops$GT$$C$$x20proc$LP$$RP$.Send$C$$x20Box$LT$rustrt..task..Task$GT$$C$$x20rustrt..bookkeeping..Token$RP$$RP$14glue_drop.251917h4bf5638ed6a4e45aE.exit"
"_ZN224_$LP$uint$C$$x20$RP$const$x20$LP$$RP$$C$$x20$RP$const$x20i8$C$$x20$RP$const$x20i8$C$$x20$LP$uint$C$$x20Box$LT$task..Ops$GT$$C$$x20proc$LP$$RP$.Send$C$$x20Box$LT$rustrt..task..Task$GT$$C$$x20rustrt..bookkeeping..Token$RP$$RP$14glue_drop.251917h4bf5638ed6a4e45aE.exit": ; preds = %cond.i2.i.i, %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit.i.i"
%30 = bitcast { i64, {}*, i8*, i8*, { i64, %"struct.task::Ops<[]>"*, { void (i8*)*, i8* }, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::bookkeeping::Token<[]>[#9]" } }* %1 to i8*
tail call void @je_sdallocx(i8* %30, i64 80, i32 0)
br label %next
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN4task21NativeSpawner.Spawner5spawn12closure.2510E(i8* nocapture) unnamed_addr #5 {
normal-return:
%1 = alloca %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]", align 8
%something_around_the_top_of_the_stack = alloca i64, align 8
%f = alloca %"enum.core::option::Option<[proc():Send]>[#3]", align 8
%__uniq_fat_ptr = alloca { i8*, void (i8*)** }, align 8
%arg = alloca { i8*, void (i8*)** }, align 8
%2 = alloca { void (i8*)*, i8* }, align 8
%__closure = alloca { i64, {}*, i8*, i8*, { %"enum.core::option::Option<[proc():Send]>[#3]"* } }, align 8
%3 = getelementptr inbounds i8* %0, i64 40
%4 = bitcast i8* %3 to %"struct.task::Ops<[]>"**
%5 = getelementptr inbounds i8* %0, i64 64
%6 = getelementptr inbounds i8* %0, i64 72
%7 = bitcast i64* %something_around_the_top_of_the_stack to i8*
call void @llvm.lifetime.start(i64 8, i8* %7)
store i64 1, i64* %something_around_the_top_of_the_stack, align 8
%8 = ptrtoint i64* %something_around_the_top_of_the_stack to i64
%9 = load %"struct.task::Ops<[]>"** %4, align 8
%10 = bitcast i8* %3 to i64*
store i64 0, i64* %10, align 8
%11 = getelementptr inbounds i8* %0, i64 32
%12 = bitcast i8* %11 to i64*
%13 = bitcast i8* %5 to %"struct.rustrt::task::Task<[]>[#9]"**
%14 = getelementptr inbounds i8* %0, i64 48
%15 = getelementptr inbounds %"struct.task::Ops<[]>"* %9, i64 0, i32 3
store i64 0, i64* %15, align 8
%16 = load i64* %12, align 8
%17 = add i64 %8, 1024
%18 = sub i64 %17, %16
%.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.task::Ops<[]>"* %9, i64 0, i32 2, i32 0
store i64 %18, i64* %.sroa.0.0..sroa_idx, align 8
%.sroa.3.0..sroa_idx10 = getelementptr inbounds %"struct.task::Ops<[]>"* %9, i64 0, i32 2, i32 1
store i64 %8, i64* %.sroa.3.0..sroa_idx10, align 8
%19 = bitcast %"enum.core::option::Option<[proc():Send]>[#3]"* %f to i8*
call void @llvm.lifetime.start(i64 16, i8* %19)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %19, i8* %14, i64 16, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %14, i8 0, i64 16, i32 8, i1 false)
%20 = load %"struct.rustrt::task::Task<[]>[#9]"** %13, align 8
%21 = bitcast i8* %5 to i64*
store i64 0, i64* %21, align 8
%22 = bitcast { i8*, void (i8*)** }* %__uniq_fat_ptr to i8*
call void @llvm.lifetime.start(i64 16, i8* %22)
%23 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 0
%.c = bitcast %"struct.task::Ops<[]>"* %9 to i8*
store i8* %.c, i8** %23, align 8
%24 = getelementptr inbounds { i8*, void (i8*)** }* %__uniq_fat_ptr, i64 0, i32 1
store void (i8*)** bitcast ({ void (%"struct.task::Ops<[]>"**)*, i64, i64, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, i64, %"struct.rustrt::task::Task<[]>[#9]"*, { void (%"enum.core::result::Result<[(), rustrt::task::BlockedTask]>[#3]"*, i8*, %"enum.rustrt::task::BlockedTask<[]>[#9]"*)*, i8* }*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*)*, void (%"struct.task::Ops<[]>"*, %"struct.rustrt::task::Task<[]>[#9]"*, %"struct.rustrt::task::TaskOpts<[]>[#9]"*, { void (i8*)*, i8* }*)*, void ({ i64, i64 }*, %"struct.task::Ops<[]>"*)*, void (%"enum.core::option::Option<[uint]>[#3]"*, %"struct.task::Ops<[]>"*)*, i1 (%"struct.task::Ops<[]>"*)*, void ({ i8*, void (i8*)** }*, %"struct.task::Ops<[]>"*)* }* @vtable2486 to void (i8*)**), void (i8*)*** %24, align 8
%25 = bitcast { i8*, void (i8*)** }* %arg to i8*
call void @llvm.lifetime.start(i64 16, i8* %25)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %25, i8* %22, i64 16, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %22, i8 0, i64 16, i32 8, i1 false)
%26 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %20, i64 0, i32 5
%27 = getelementptr inbounds %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %26, i64 0, i32 0, i32 0
%28 = load i8** %27, align 8, !alias.scope !547, !noalias !554
%29 = icmp eq i8* %28, null
br i1 %29, label %normal-return1, label %then-block-7317-.i
unwind_custom_.i: ; preds = %then-block-7317-.i
%30 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%31 = getelementptr inbounds { i8*, void (i8*)** }* %arg, i64 0, i32 0
%32 = load i8** %31, align 8, !alias.scope !554, !noalias !556
%33 = icmp eq i8* %32, null
br i1 %33, label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i", label %cond.i13.i
cond.i13.i: ; preds = %unwind_custom_.i
%34 = getelementptr inbounds { i8*, void (i8*)** }* %arg, i64 0, i32 1
%35 = load void (i8*)*** %34, align 8, !alias.scope !554, !noalias !556
%36 = load void (i8*)** %35, align 8, !noalias !557
invoke void %36(i8* %25)
to label %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i" unwind label %unwind_ast_240_
"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i": ; preds = %unwind_custom_.i, %cond.i13.i
call void @llvm.lifetime.end(i64 16, i8* %25), !alias.scope !554, !noalias !556
br label %unwind_ast_240_.body
then-block-7317-.i: ; preds = %normal-return
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @_ZN4task4Task11put_runtime14_MSG_FILE_LINE20hbf26a2c2f4e59a61f4bE)
to label %normal-return1.i unwind label %unwind_custom_.i, !noalias !556
normal-return1.i: ; preds = %then-block-7317-.i
unreachable
resume: ; preds = %clean_ast_170_2, %enum-iter-variant-1.i, %cond.i.i
call void @llvm.lifetime.end(i64 16, i8* %19)
call void @llvm.lifetime.end(i64 8, i8* %7)
%.fca.0.insert = insertvalue { i8*, i32 } undef, i8* %.sroa.021.1, 0
%.fca.1.insert = insertvalue { i8*, i32 } %.fca.0.insert, i32 %.sroa.5.1, 1
resume { i8*, i32 } %.fca.1.insert
normal-return1: ; preds = %normal-return
%.sroa.0.0..sroa_cast4.pre.i = bitcast %"enum.core::option::Option<[Box<rustrt::Runtime+Send>]>[#3]"* %26 to i8*
call void @llvm.memmove.p0i8.p0i8.i64(i8* %.sroa.0.0..sroa_cast4.pre.i, i8* %25, i64 16, i32 8, i1 false)
call void @llvm.lifetime.end(i64 16, i8* %25), !alias.scope !554, !noalias !556
call void @llvm.lifetime.end(i64 16, i8* %25)
%37 = load i8** %23, align 8
%38 = icmp eq i8* %37, null
br i1 %38, label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit", label %cond.i37
cond.i37: ; preds = %normal-return1
%39 = load void (i8*)*** %24, align 8
%40 = load void (i8*)** %39, align 8
call void %40(i8* %22)
br label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit"
"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit": ; preds = %cond.i37, %normal-return1
call void @llvm.lifetime.end(i64 16, i8* %22)
%41 = bitcast { void (i8*)*, i8* }* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %41)
%42 = bitcast { i64, {}*, i8*, i8*, { %"enum.core::option::Option<[proc():Send]>[#3]"* } }* %__closure to i8*
call void @llvm.lifetime.start(i64 40, i8* %42)
%43 = getelementptr inbounds { i64, {}*, i8*, i8*, { %"enum.core::option::Option<[proc():Send]>[#3]"* } }* %__closure, i64 0, i32 4, i32 0
store %"enum.core::option::Option<[proc():Send]>[#3]"* %f, %"enum.core::option::Option<[proc():Send]>[#3]"** %43, align 8
%44 = getelementptr inbounds { void (i8*)*, i8* }* %2, i64 0, i32 0
store void (i8*)* @_ZN4task21NativeSpawner.Spawner5spawn12closure.2583E, void (i8*)** %44, align 8
%45 = getelementptr inbounds { void (i8*)*, i8* }* %2, i64 0, i32 1
store i8* %42, i8** %45, align 8
%46 = invoke fastcc noalias dereferenceable(120) %"struct.rustrt::task::Task<[]>[#9]"* @_ZN4task4Task3run20h1b17b41ab9359f43xYbE(%"struct.rustrt::task::Task<[]>[#9]"* noalias dereferenceable(120) %20, { void (i8*)*, i8* }* noalias nocapture dereferenceable(16) %2)
to label %normal-return3 unwind label %unwind_ast_170_4
unwind_ast_240_: ; preds = %cond.i13.i
%47 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_240_.body
unwind_ast_240_.body: ; preds = %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i", %unwind_ast_240_
%eh.lpad-body = phi { i8*, i32 } [ %47, %unwind_ast_240_ ], [ %30, %"_ZN26Box$LT$Runtime$x2bSend$GT$14glue_drop.580917hf80132cfdf65f527E.exit14.i" ]
%.fca.0.extract14 = extractvalue { i8*, i32 } %eh.lpad-body, 0
%.fca.1.extract16 = extractvalue { i8*, i32 } %eh.lpad-body, 1
%48 = load i8** %23, align 8
%49 = icmp eq i8* %48, null
br i1 %49, label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit39", label %cond.i38
cond.i38: ; preds = %unwind_ast_240_.body
%50 = load void (i8*)*** %24, align 8
%51 = load void (i8*)** %50, align 8
call void %51(i8* %22)
br label %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit39"
"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit39": ; preds = %cond.i38, %unwind_ast_240_.body
call void @llvm.lifetime.end(i64 16, i8* %22)
br label %clean_ast_170_2
clean_ast_170_2: ; preds = %unwind_ast_170_4.body, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit39"
%task.0 = phi %"struct.rustrt::task::Task<[]>[#9]"* [ null, %unwind_ast_170_4.body ], [ %20, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit39" ]
%.sroa.021.1 = phi i8* [ %.fca.0.extract18, %unwind_ast_170_4.body ], [ %.fca.0.extract14, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit39" ]
%.sroa.5.1 = phi i32 [ %.fca.1.extract20, %unwind_ast_170_4.body ], [ %.fca.1.extract16, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit39" ]
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %task.0)
%52 = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#3]"* %f, i64 0, i32 0, i32 0
%53 = load void (i8*)** %52, align 8
%54 = icmp eq void (i8*)* %53, null
br i1 %54, label %resume, label %enum-iter-variant-1.i
enum-iter-variant-1.i: ; preds = %clean_ast_170_2
%55 = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#3]"* %f, i64 0, i32 0, i32 1
%56 = load i8** %55, align 8
%57 = icmp eq i8* %56, null
br i1 %57, label %resume, label %cond.i.i
cond.i.i: ; preds = %enum-iter-variant-1.i
%58 = getelementptr inbounds i8* %56, i64 8
%59 = bitcast i8* %58 to void (i8*)**
%60 = load void (i8*)** %59, align 8
%61 = bitcast i8** %55 to i8*
call void %60(i8* %61)
br label %resume
normal-return3: ; preds = %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit"
call void @llvm.lifetime.end(i64 16, i8* %41)
%62 = getelementptr inbounds %"struct.rustrt::task::Task<[]>[#9]"* %46, i64 0, i32 4
%63 = load i8* %62, align 1, !range !194, !alias.scope !558, !noalias !565
%cond.i.i.i = icmp eq i8 %63, 2
br i1 %cond.i.i.i, label %normal-return5, label %else-block.i
"_ZN21Box$LT$task..Task$GT$14glue_drop.589517hd9d7ebd842b53fb3E.exit5.i": ; preds = %else-block.i
%64 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_170_4.body
else-block.i: ; preds = %normal-return3
%65 = bitcast %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"* %1 to i8*
call void @llvm.lifetime.start(i64 16, i8* %65), !noalias !567
%66 = getelementptr inbounds %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"* %1, i64 0, i32 0, i32 0
store i8* null, i8** %66, align 8, !noalias !567
%67 = invoke fastcc noalias dereferenceable(120) %"struct.rustrt::task::Task<[]>[#9]"* @_ZN4task4Task7cleanup20h1310f2099319885eV0bE(%"struct.rustrt::task::Task<[]>[#9]"* noalias dereferenceable(120) %46, %"enum.core::result::Result<[(), Box<core::any::Any+Send>]>[#3]"* noalias nocapture dereferenceable(16) %1)
to label %normal-return1.i1 unwind label %"_ZN21Box$LT$task..Task$GT$14glue_drop.589517hd9d7ebd842b53fb3E.exit5.i"
normal-return1.i1: ; preds = %else-block.i
call void @llvm.lifetime.end(i64 16, i8* %65), !noalias !567
br label %normal-return5
unwind_ast_170_4: ; preds = %normal-return5, %cond.i.i45, %"_ZN34Box$LT$rustrt..Runtime$x2bSend$GT$14glue_drop.245817h73896afab4f13dc2E.exit"
%68 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_170_4.body
unwind_ast_170_4.body: ; preds = %"_ZN21Box$LT$task..Task$GT$14glue_drop.589517hd9d7ebd842b53fb3E.exit5.i", %unwind_ast_170_4
%eh.lpad-body2 = phi { i8*, i32 } [ %68, %unwind_ast_170_4 ], [ %64, %"_ZN21Box$LT$task..Task$GT$14glue_drop.589517hd9d7ebd842b53fb3E.exit5.i" ]
%.fca.0.extract18 = extractvalue { i8*, i32 } %eh.lpad-body2, 0
%.fca.1.extract20 = extractvalue { i8*, i32 } %eh.lpad-body2, 1
br label %clean_ast_170_2
normal-return5: ; preds = %normal-return1.i1, %normal-return3
%sret_slot.0.i = phi %"struct.rustrt::task::Task<[]>[#9]"* [ %67, %normal-return1.i1 ], [ %46, %normal-return3 ]
invoke fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* %sret_slot.0.i)
to label %normal-return6 unwind label %unwind_ast_170_4
normal-return6: ; preds = %normal-return5
%69 = load i8* %6, align 1
store i8 0, i8* %6, align 1
%70 = icmp eq i8 %69, 0
br i1 %70, label %normal-return7, label %cond.i.i45
cond.i.i45: ; preds = %normal-return6
invoke fastcc void @_ZN11bookkeeping10Token.Drop4drop20h45db0b421778461c3TaE()
to label %normal-return7 unwind label %unwind_ast_170_4
normal-return7: ; preds = %cond.i.i45, %normal-return6
call fastcc void @"_ZN29Box$LT$rustrt..task..Task$GT$14glue_drop.230817h540548afc81671c4E"(%"struct.rustrt::task::Task<[]>[#9]"* null)
%71 = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#3]"* %f, i64 0, i32 0, i32 0
%72 = load void (i8*)** %71, align 8
%73 = icmp eq void (i8*)* %72, null
br i1 %73, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit", label %enum-iter-variant-1.i46
enum-iter-variant-1.i46: ; preds = %normal-return7
%74 = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#3]"* %f, i64 0, i32 0, i32 1
%75 = load i8** %74, align 8
%76 = icmp eq i8* %75, null
br i1 %76, label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit", label %cond.i.i47
cond.i.i47: ; preds = %enum-iter-variant-1.i46
%77 = getelementptr inbounds i8* %75, i64 8
%78 = bitcast i8* %77 to void (i8*)**
%79 = load void (i8*)** %78, align 8
%80 = bitcast i8** %74 to i8*
call void %79(i8* %80)
br label %"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit"
"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE.exit": ; preds = %cond.i.i47, %enum-iter-variant-1.i46, %normal-return7
call void @llvm.lifetime.end(i64 16, i8* %19)
call void @llvm.lifetime.end(i64 8, i8* %7)
ret void
}
define internal void @"_ZN128Box$LT$$LP$uint$C$$x20$RP$const$x20$LP$$RP$$C$$x20$RP$const$x20i8$C$$x20$RP$const$x20i8$C$$x20$LP$$RP$const$x20u8$C$$RP$$RP$$GT$14glue_drop.285517h3d0a850e1b321b00E"({ i64, {}*, i8*, i8*, { i8* } }** nocapture readonly) unnamed_addr {
entry-block:
%1 = load { i64, {}*, i8*, i8*, { i8* } }** %0, align 8
%2 = icmp eq { i64, {}*, i8*, i8*, { i8* } }* %1, null
br i1 %2, label %next, label %cond
next: ; preds = %cond, %entry-block
ret void
cond: ; preds = %entry-block
%3 = bitcast { i64, {}*, i8*, i8*, { i8* } }* %1 to i8*
tail call void @je_sdallocx(i8* %3, i64 40, i32 0)
br label %next
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN10lang_start12closure.2852E(i8* nocapture readonly) unnamed_addr #5 {
entry-block:
%1 = getelementptr inbounds i8* %0, i64 32
%2 = bitcast i8* %1 to i8**
%3 = load i8** %2, align 8
%4 = bitcast i8* %3 to void ()*
tail call void %4()
ret void
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN5start12closure.2872E(i8* nocapture readonly) unnamed_addr #5 {
entry-block:
%.sroa.3 = alloca [7 x i8], align 1
%1 = alloca { void (i8*)*, i8* }, align 8
%2 = alloca %"enum.core::option::Option<[proc():'static]>[#3]", align 8
%3 = getelementptr inbounds i8* %0, i64 48
%4 = bitcast i8* %3 to %"enum.core::option::Option<[proc():'static]>[#3]"**
%5 = load %"enum.core::option::Option<[proc():'static]>[#3]"** %4, align 8
%6 = getelementptr inbounds i8* %0, i64 56
%7 = bitcast i8* %6 to %"enum.core::option::Option<[int]>[#3]"**
%8 = load %"enum.core::option::Option<[int]>[#3]"** %7, align 8
%.sroa.3.0..sroa_idx5 = getelementptr inbounds [7 x i8]* %.sroa.3, i64 0, i64 0
call void @llvm.lifetime.start(i64 7, i8* %.sroa.3.0..sroa_idx5)
%9 = bitcast { void (i8*)*, i8* }* %1 to i8*
call void @llvm.lifetime.start(i64 16, i8* %9)
%10 = bitcast %"enum.core::option::Option<[proc():'static]>[#3]"* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %10)
%t.i.sroa.0.i.sroa.0.0..sroa_idx.i = getelementptr inbounds %"enum.core::option::Option<[proc():'static]>[#3]"* %5, i64 0, i32 0, i32 0
%t.i.sroa.0.i.sroa.0.0.copyload.i = load void (i8*)** %t.i.sroa.0.i.sroa.0.0..sroa_idx.i, align 8, !alias.scope !568, !noalias !571
%t.i.sroa.0.i.sroa.4.0..sroa_idx15.i = getelementptr inbounds %"enum.core::option::Option<[proc():'static]>[#3]"* %5, i64 0, i32 0, i32 1
%t.i.sroa.0.i.sroa.4.0.copyload.i = load i8** %t.i.sroa.0.i.sroa.4.0..sroa_idx15.i, align 8, !alias.scope !568, !noalias !571
store void (i8*)* null, void (i8*)** %t.i.sroa.0.i.sroa.0.0..sroa_idx.i, align 8, !alias.scope !568, !noalias !571
%.sroa.0.0..sroa_idx4.i = getelementptr inbounds %"enum.core::option::Option<[proc():'static]>[#3]"* %2, i64 0, i32 0, i32 0
store void (i8*)* %t.i.sroa.0.i.sroa.0.0.copyload.i, void (i8*)** %.sroa.0.0..sroa_idx4.i, align 8, !alias.scope !571, !noalias !568
%.sroa.7.0..sroa_idx11.i = getelementptr inbounds %"enum.core::option::Option<[proc():'static]>[#3]"* %2, i64 0, i32 0, i32 1
store i8* %t.i.sroa.0.i.sroa.4.0.copyload.i, i8** %.sroa.7.0..sroa_idx11.i, align 8, !alias.scope !571, !noalias !568
%11 = icmp eq void (i8*)* %t.i.sroa.0.i.sroa.0.0.copyload.i, null
br i1 %11, label %match_else.i, label %"_ZN6option15Option$LT$T$GT$6unwrap21h10644008823421426049E.exit"
match_else.i: ; preds = %entry-block
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @"_ZN6option15Option$LT$T$GT$6unwrap14_MSG_FILE_LINE20h88bf3a07bb7eb41dEwmE")
to label %normal-return.i6 unwind label %unwind_custom_.i7, !noalias !573
normal-return.i6: ; preds = %match_else.i
unreachable
unwind_custom_.i7: ; preds = %match_else.i
%12 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%13 = load void (i8*)** %.sroa.0.0..sroa_idx4.i, align 8, !alias.scope !576, !noalias !573
%14 = icmp eq void (i8*)* %13, null
br i1 %14, label %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit7.i", label %enum-iter-variant-1.i5.i
enum-iter-variant-1.i5.i: ; preds = %unwind_custom_.i7
%15 = load i8** %.sroa.7.0..sroa_idx11.i, align 8, !alias.scope !576, !noalias !573
%16 = icmp eq i8* %15, null
br i1 %16, label %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit7.i", label %cond.i.i6.i
cond.i.i6.i: ; preds = %enum-iter-variant-1.i5.i
%17 = getelementptr inbounds i8* %15, i64 8
%18 = bitcast i8* %17 to void (i8*)**
%19 = load void (i8*)** %18, align 8, !noalias !578
%20 = bitcast i8** %.sroa.7.0..sroa_idx11.i to i8*
call void %19(i8* %20), !noalias !573
br label %"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit7.i"
"_ZN40core..option..Option$LT$proc$LP$$RP$$GT$14glue_drop.286717hd2bc3aaf27d11757E.exit7.i": ; preds = %cond.i.i6.i, %enum-iter-variant-1.i5.i, %unwind_custom_.i7
call void @llvm.lifetime.end(i64 16, i8* %10), !alias.scope !576, !noalias !573
resume { i8*, i32 } %12
"_ZN6option15Option$LT$T$GT$6unwrap21h10644008823421426049E.exit": ; preds = %entry-block
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %9, i8* %10, i64 16, i32 8, i1 false), !alias.scope !578
call void @llvm.lifetime.end(i64 16, i8* %10), !alias.scope !576, !noalias !573
call void @llvm.lifetime.end(i64 16, i8* %10)
%21 = getelementptr inbounds { void (i8*)*, i8* }* %1, i64 0, i32 0
%22 = load void (i8*)** %21, align 8, !alias.scope !579
%23 = getelementptr inbounds { void (i8*)*, i8* }* %1, i64 0, i32 1
%24 = load i8** %23, align 8, !alias.scope !579
invoke void %22(i8* %24)
to label %normal-return1.i unwind label %unwind_custom_.i
unwind_custom_.i: ; preds = %"_ZN6option15Option$LT$T$GT$6unwrap21h10644008823421426049E.exit"
%25 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%26 = load i8** %23, align 8, !alias.scope !579
%27 = icmp eq i8* %26, null
br i1 %27, label %"_ZN12proc$LP$$RP$14glue_drop.288117h43b4e33ef56fd0feE.exit.i", label %cond.i.i
cond.i.i: ; preds = %unwind_custom_.i
%28 = getelementptr inbounds i8* %26, i64 8
%29 = bitcast i8* %28 to void (i8*)**
%30 = load void (i8*)** %29, align 8
%31 = bitcast i8** %23 to i8*
call void %30(i8* %31)
br label %"_ZN12proc$LP$$RP$14glue_drop.288117h43b4e33ef56fd0feE.exit.i"
"_ZN12proc$LP$$RP$14glue_drop.288117h43b4e33ef56fd0feE.exit.i": ; preds = %cond.i.i, %unwind_custom_.i
call void @llvm.lifetime.end(i64 16, i8* %9), !alias.scope !579
resume { i8*, i32 } %25
normal-return1.i: ; preds = %"_ZN6option15Option$LT$T$GT$6unwrap21h10644008823421426049E.exit"
%32 = load atomic volatile i64* getelementptr inbounds ({ { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }* @_ZN2os11EXIT_STATUS20h3b179df124a85fe7tNgE, i64 0, i32 0, i32 0) seq_cst, align 8
%33 = load i8** %23, align 8, !alias.scope !579
%34 = icmp eq i8* %33, null
br i1 %34, label %_ZN3run20h7b745805cf5188c7apaE.exit, label %cond.i4.i
cond.i4.i: ; preds = %normal-return1.i
%35 = getelementptr inbounds i8* %33, i64 8
%36 = bitcast i8* %35 to void (i8*)**
%37 = load void (i8*)** %36, align 8
%38 = bitcast i8** %23 to i8*
call void %37(i8* %38)
br label %_ZN3run20h7b745805cf5188c7apaE.exit
_ZN3run20h7b745805cf5188c7apaE.exit: ; preds = %cond.i4.i, %normal-return1.i
call void @llvm.lifetime.end(i64 16, i8* %9), !alias.scope !579
call void @llvm.lifetime.end(i64 16, i8* %9)
%.sroa.0.0..sroa_idx = getelementptr inbounds %"enum.core::option::Option<[int]>[#3]"* %8, i64 0, i32 0
store i8 1, i8* %.sroa.0.0..sroa_idx, align 8
%.sroa.3.0..sroa_idx1 = getelementptr inbounds %"enum.core::option::Option<[int]>[#3]"* %8, i64 0, i32 1, i64 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.3.0..sroa_idx1, i8* %.sroa.3.0..sroa_idx5, i64 7, i32 1, i1 false)
%.sroa.33.0..sroa_idx4 = getelementptr inbounds %"enum.core::option::Option<[int]>[#3]"* %8, i64 0, i32 2, i64 0
store i64 %32, i64* %.sroa.33.0..sroa_idx4, align 8
ret void
}
define internal void @"_ZN20Box$LT$task..Ops$GT$14glue_drop.246417h1da8717b6a23827cE"(%"struct.task::Ops<[]>"** nocapture readonly) unnamed_addr {
entry-block:
%1 = load %"struct.task::Ops<[]>"** %0, align 8
%2 = icmp eq %"struct.task::Ops<[]>"* %1, null
br i1 %2, label %next, label %cond
next: ; preds = %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit, %entry-block
ret void
cond: ; preds = %entry-block
%3 = getelementptr inbounds %"struct.task::Ops<[]>"* %1, i64 0, i32 0, i32 1
%4 = load i8* %3, align 1, !range !38
%5 = icmp eq i8 %4, 0
br i1 %5, label %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit, label %cond.i.i
cond.i.i: ; preds = %cond
%6 = getelementptr inbounds %"struct.task::Ops<[]>"* %1, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
%7 = atomicrmw xchg i64* %6, i64 0 seq_cst, !alias.scope !582
%8 = getelementptr inbounds %"struct.task::Ops<[]>"* %1, i64 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0
%9 = atomicrmw xchg i64* %8, i64 0 seq_cst, !alias.scope !582
%10 = icmp eq i64 %7, 0
br i1 %10, label %next-block.i.i.i, label %then-block-6114-.i.i.i
then-block-6114-.i.i.i: ; preds = %cond.i.i
%11 = inttoptr i64 %7 to i8*
tail call void @DeleteCriticalSection(i8* %11)
tail call void @je_sdallocx(i8* %11, i64 40, i32 0)
br label %next-block.i.i.i
next-block.i.i.i: ; preds = %then-block-6114-.i.i.i, %cond.i.i
%12 = icmp eq i64 %9, 0
br i1 %12, label %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit, label %then-block-6122-.i.i.i
then-block-6122-.i.i.i: ; preds = %next-block.i.i.i
%13 = inttoptr i64 %9 to i8*
%14 = tail call i32 @CloseHandle(i8* %13)
br label %_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit
_ZN9task..Ops14glue_drop.246717hc1f7f372b1e365d2E.exit: ; preds = %then-block-6122-.i.i.i, %next-block.i.i.i, %cond
%15 = bitcast %"struct.task::Ops<[]>"* %1 to i8*
tail call void @je_sdallocx(i8* %15, i64 56, i32 0)
br label %next
}
; Function Attrs: nounwind readnone uwtable
define internal %"struct.core::intrinsics::TypeId<[]>[#3]" @_ZN3any5T.Any11get_type_id21h16988523686319441879E(%"struct.task::Ops<[]>"* nocapture readnone dereferenceable(56)) unnamed_addr #3 {
entry-block:
ret %"struct.core::intrinsics::TypeId<[]>[#3]" { i64 3408300408223686150 }
}
define internal fastcc void @"_ZN118core..option..Option$LT$Box$LT$collections..tree..map..TreeNode$LT$uint$C$$x20rustrt..local_data..TLDValue$GT$$GT$$GT$14glue_drop.232417hff3a34131b1a31deE"(i8* %.val2) unnamed_addr {
entry-block:
%0 = icmp eq i8* %.val2, null
br i1 %0, label %enum-iter-next, label %cond.i
enum-iter-next: ; preds = %entry-block
ret void
cond.i: ; preds = %entry-block
%1 = getelementptr inbounds i8* %.val2, i64 8
%2 = bitcast i8* %1 to {}**
%3 = load {}** %2, align 8, !alias.scope !585
%4 = icmp eq {}* %3, null
br i1 %4, label %_ZN10local_data13TLDValue.Drop4drop20he95000ce113cd8d8tCbE.exit, label %then-block-5611-.i
then-block-5611-.i: ; preds = %cond.i
%5 = getelementptr inbounds i8* %.val2, i64 16
%6 = bitcast i8* %5 to void ({}*)**
%7 = load void ({}*)** %6, align 8, !alias.scope !590
tail call void %7({}* %3), !noalias !590
br label %_ZN10local_data13TLDValue.Drop4drop20he95000ce113cd8d8tCbE.exit
_ZN10local_data13TLDValue.Drop4drop20he95000ce113cd8d8tCbE.exit: ; preds = %cond.i, %then-block-5611-.i
%8 = getelementptr inbounds i8* %.val2, i64 24
%9 = bitcast i8* %8 to i8**
%.val1 = load i8** %9, align 8
tail call fastcc void @"_ZN118core..option..Option$LT$Box$LT$collections..tree..map..TreeNode$LT$uint$C$$x20rustrt..local_data..TLDValue$GT$$GT$$GT$14glue_drop.232417hff3a34131b1a31deE"(i8* %.val1)
%10 = getelementptr inbounds i8* %.val2, i64 32
%11 = bitcast i8* %10 to i8**
%.val = load i8** %11, align 8
tail call fastcc void @"_ZN118core..option..Option$LT$Box$LT$collections..tree..map..TreeNode$LT$uint$C$$x20rustrt..local_data..TLDValue$GT$$GT$$GT$14glue_drop.232417hff3a34131b1a31deE"(i8* %.val)
tail call void @je_sdallocx(i8* %.val2, i64 48, i32 0)
ret void
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN4task21NativeSpawner.Spawner5spawn12closure.2583E(i8* nocapture readonly) unnamed_addr #5 {
entry-block:
%1 = alloca { void (i8*)*, i8* }, align 8
%2 = alloca %"enum.core::option::Option<[proc():Send]>[#3]", align 8
%3 = getelementptr inbounds i8* %0, i64 32
%4 = bitcast i8* %3 to %"enum.core::option::Option<[proc():Send]>[#3]"**
%5 = load %"enum.core::option::Option<[proc():Send]>[#3]"** %4, align 8
%6 = bitcast { void (i8*)*, i8* }* %1 to i8*
call void @llvm.lifetime.start(i64 16, i8* %6)
%7 = bitcast %"enum.core::option::Option<[proc():Send]>[#3]"* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %7)
%t.i.sroa.0.i.sroa.0.0..sroa_idx.i = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#3]"* %5, i64 0, i32 0, i32 0
%t.i.sroa.0.i.sroa.0.0.copyload.i = load void (i8*)** %t.i.sroa.0.i.sroa.0.0..sroa_idx.i, align 8, !alias.scope !591, !noalias !594
%t.i.sroa.0.i.sroa.4.0..sroa_idx15.i = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#3]"* %5, i64 0, i32 0, i32 1
%t.i.sroa.0.i.sroa.4.0.copyload.i = load i8** %t.i.sroa.0.i.sroa.4.0..sroa_idx15.i, align 8, !alias.scope !591, !noalias !594
store void (i8*)* null, void (i8*)** %t.i.sroa.0.i.sroa.0.0..sroa_idx.i, align 8, !alias.scope !591, !noalias !594
%.sroa.0.0..sroa_idx4.i = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#3]"* %2, i64 0, i32 0, i32 0
store void (i8*)* %t.i.sroa.0.i.sroa.0.0.copyload.i, void (i8*)** %.sroa.0.0..sroa_idx4.i, align 8, !alias.scope !594, !noalias !591
%.sroa.7.0..sroa_idx11.i = getelementptr inbounds %"enum.core::option::Option<[proc():Send]>[#3]"* %2, i64 0, i32 0, i32 1
store i8* %t.i.sroa.0.i.sroa.4.0.copyload.i, i8** %.sroa.7.0..sroa_idx11.i, align 8, !alias.scope !594, !noalias !591
%8 = icmp eq void (i8*)* %t.i.sroa.0.i.sroa.0.0.copyload.i, null
br i1 %8, label %match_else.i, label %"_ZN6option15Option$LT$T$GT$6unwrap20h1940692518798077130E.exit"
match_else.i: ; preds = %entry-block
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @"_ZN6option15Option$LT$T$GT$6unwrap14_MSG_FILE_LINE20h88bf3a07bb7eb41dEwmE")
to label %normal-return.i unwind label %unwind_custom_.i, !noalias !596
normal-return.i: ; preds = %match_else.i
unreachable
unwind_custom_.i: ; preds = %match_else.i
%9 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%10 = load void (i8*)** %.sroa.0.0..sroa_idx4.i, align 8, !alias.scope !599, !noalias !596
%11 = icmp eq void (i8*)* %10, null
br i1 %11, label %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.254317h503c64d1a039537dE.exit7.i", label %enum-iter-variant-1.i5.i
enum-iter-variant-1.i5.i: ; preds = %unwind_custom_.i
%12 = load i8** %.sroa.7.0..sroa_idx11.i, align 8, !alias.scope !599, !noalias !596
%13 = icmp eq i8* %12, null
br i1 %13, label %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.254317h503c64d1a039537dE.exit7.i", label %cond.i.i6.i
cond.i.i6.i: ; preds = %enum-iter-variant-1.i5.i
%14 = getelementptr inbounds i8* %12, i64 8
%15 = bitcast i8* %14 to void (i8*)**
%16 = load void (i8*)** %15, align 8, !noalias !601
%17 = bitcast i8** %.sroa.7.0..sroa_idx11.i to i8*
call void %16(i8* %17), !noalias !596
br label %"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.254317h503c64d1a039537dE.exit7.i"
"_ZN45core..option..Option$LT$proc$LP$$RP$.Send$GT$14glue_drop.254317h503c64d1a039537dE.exit7.i": ; preds = %cond.i.i6.i, %enum-iter-variant-1.i5.i, %unwind_custom_.i
call void @llvm.lifetime.end(i64 16, i8* %7), !alias.scope !599, !noalias !596
resume { i8*, i32 } %9
"_ZN6option15Option$LT$T$GT$6unwrap20h1940692518798077130E.exit": ; preds = %entry-block
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %6, i8* %7, i64 16, i32 8, i1 false), !alias.scope !601
call void @llvm.lifetime.end(i64 16, i8* %7), !alias.scope !599, !noalias !596
call void @llvm.lifetime.end(i64 16, i8* %7)
%18 = getelementptr inbounds { void (i8*)*, i8* }* %1, i64 0, i32 0
%19 = load void (i8*)** %18, align 8
%20 = getelementptr inbounds { void (i8*)*, i8* }* %1, i64 0, i32 1
%21 = load i8** %20, align 8
invoke void %19(i8* %21)
to label %normal-return unwind label %unwind_ast_252_
normal-return: ; preds = %"_ZN6option15Option$LT$T$GT$6unwrap20h1940692518798077130E.exit"
%22 = load i8** %20, align 8
%23 = icmp eq i8* %22, null
br i1 %23, label %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit4", label %cond.i3
cond.i3: ; preds = %normal-return
%24 = getelementptr inbounds i8* %22, i64 8
%25 = bitcast i8* %24 to void (i8*)**
%26 = load void (i8*)** %25, align 8
%27 = bitcast i8** %20 to i8*
call void %26(i8* %27)
br label %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit4"
"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit4": ; preds = %cond.i3, %normal-return
call void @llvm.lifetime.end(i64 16, i8* %6)
ret void
unwind_ast_252_: ; preds = %"_ZN6option15Option$LT$T$GT$6unwrap20h1940692518798077130E.exit"
%28 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%29 = load i8** %20, align 8
%30 = icmp eq i8* %29, null
br i1 %30, label %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit", label %cond.i
cond.i: ; preds = %unwind_ast_252_
%31 = getelementptr inbounds i8* %29, i64 8
%32 = bitcast i8* %31 to void (i8*)**
%33 = load void (i8*)** %32, align 8
%34 = bitcast i8** %20 to i8*
call void %33(i8* %34)
br label %"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit"
"_ZN17proc$LP$$RP$.Send14glue_drop.249217hea2a05849ee986c0E.exit": ; preds = %cond.i, %unwind_ast_252_
call void @llvm.lifetime.end(i64 16, i8* %6)
resume { i8*, i32 } %28
}
; Function Attrs: nounwind readnone
declare { i64, i1 } @llvm.umul.with.overflow.i64(i64, i64) unnamed_addr #6
; Function Attrs: nounwind readnone
declare { i64, i1 } @llvm.uadd.with.overflow.i64(i64, i64) unnamed_addr #6
declare i8* @je_rallocx(i8*, i64, i32) unnamed_addr
; Function Attrs: nounwind
declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #1
; Function Attrs: nounwind readonly
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64) unnamed_addr #7
; Function Attrs: uwtable
define internal %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" @_ZN2io17IoError.fmt..Show3fmt20h4e5239989c386b1bsClE(%"struct.std::io::IoError<[]>[#1]"* noalias nocapture readonly dereferenceable(64), %"struct.core::fmt::Formatter<[]>[#3]"* noalias nocapture readonly dereferenceable(96)) unnamed_addr #0 {
entry-block:
%arg.i21 = alloca { i8*, void (i8*)** }, align 8
%arg.i17 = alloca { i8*, void (i8*)** }, align 8
%arg.i = alloca { i8*, void (i8*)** }, align 8
%detail = alloca %"struct.collections::string::String<[]>[#5]"*, align 8
%desc = alloca %str_slice, align 8
%detail3 = alloca %"struct.collections::string::String<[]>[#5]"*, align 8
%desc5 = alloca %str_slice, align 8
%2 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%3 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args20 = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%4 = alloca [2 x %"struct.core::fmt::Argument<[]>[#3]"], align 8
%__args31 = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%.sub = getelementptr inbounds [2 x %"struct.core::fmt::Argument<[]>[#3]"]* %4, i64 0, i64 0
%5 = getelementptr inbounds %"struct.std::io::IoError<[]>[#1]"* %0, i64 0, i32 1
%6 = getelementptr inbounds %"struct.std::io::IoError<[]>[#1]"* %0, i64 0, i32 2, i32 0
%7 = load i8* %6, align 1, !range !38
%cond = icmp eq i8 %7, 1
br i1 %cond, label %match_case, label %match_else
case_body2: ; preds = %compare_next, %match_else6
%.pre-phi = phi i8* [ %.pre, %match_else6 ], [ %37, %compare_next ]
store %"struct.collections::string::String<[]>[#5]"* %33, %"struct.collections::string::String<[]>[#5]"** %detail3, align 8
%8 = bitcast %str_slice* %desc5 to i8*
call void @llvm.lifetime.start(i64 16, i8* %8)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %8, i8* %.pre-phi, i64 16, i32 8, i1 false)
%9 = bitcast [2 x %"struct.core::fmt::Argument<[]>[#3]"]* %4 to i8*
call void @llvm.lifetime.start(i64 16, i8* %9)
%10 = getelementptr inbounds [2 x %"struct.core::fmt::Argument<[]>[#3]"]* %4, i64 0, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%str_slice*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h14488404216782907499E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %10, align 8, !alias.scope !602, !noalias !605
%11 = getelementptr inbounds [2 x %"struct.core::fmt::Argument<[]>[#3]"]* %4, i64 0, i64 0, i32 1
%.c.i = bitcast %str_slice* %desc5 to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i, %"enum.core::fmt::Void<[]>[#3]"** %11, align 8, !alias.scope !602, !noalias !605
%12 = getelementptr inbounds [2 x %"struct.core::fmt::Argument<[]>[#3]"]* %4, i64 0, i64 1, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.collections::string::String<[]>[#5]"**, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h11935321758571759142E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %12, align 8, !alias.scope !607, !noalias !610
%13 = getelementptr inbounds [2 x %"struct.core::fmt::Argument<[]>[#3]"]* %4, i64 0, i64 1, i32 1
%.c.i94 = bitcast %"struct.collections::string::String<[]>[#5]"** %detail3 to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i94, %"enum.core::fmt::Void<[]>[#3]"** %13, align 8, !alias.scope !607, !noalias !610
%14 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args31 to i8*
call void @llvm.lifetime.start(i64 48, i8* %14)
%__fat_ptr33.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args31, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([3 x %str_slice]* @_ZN2io17IoError.fmt..Show3fmt15__STATIC_FMTSTR20haa7fade197b8e9aazElE, i64 0, i64 0), %str_slice** %__fat_ptr33.sroa.0.0..sroa_idx, align 8
%__fat_ptr33.sroa.5.0..sroa_idx104 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args31, i64 0, i32 0, i32 1
store i64 3, i64* %__fat_ptr33.sroa.5.0..sroa_idx104, align 8
%15 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args31, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %15, align 8, !alias.scope !612, !noalias !615
%__fat_ptr35.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args31, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %.sub, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr35.sroa.0.0..sroa_idx, align 8
%__fat_ptr35.sroa.5.0..sroa_idx99 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args31, i64 0, i32 2, i32 1
store i64 2, i64* %__fat_ptr35.sroa.5.0..sroa_idx99, align 8
%16 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#3]"* %1, i64 0, i32 5
%17 = bitcast { i8*, void (i8*)** }* %arg.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %17), !noalias !618
%18 = bitcast { i8*, void (i8*)** }* %16 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %17, i8* %18, i64 16, i32 8, i1 false), !noalias !622
%19 = call fastcc { i8, [0 x i8], [1 x i8] } @_ZN3fmt5write20h5613d5b4ac9953a2gCyE({ i8*, void (i8*)** }* noalias nocapture dereferenceable(16) %arg.i, %"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args31), !noalias !623
call void @llvm.lifetime.end(i64 16, i8* %17), !noalias !618
%newret = extractvalue { i8, [0 x i8], [1 x i8] } %19, 0
%newret3 = extractvalue { i8, [0 x i8], [1 x i8] } %19, 2
%.fca.2.0.extract85 = extractvalue [1 x i8] %newret3, 0
call void @llvm.lifetime.end(i64 48, i8* %14)
call void @llvm.lifetime.end(i64 32, i8* %9)
%20 = bitcast %"struct.collections::string::String<[]>[#5]"** %detail3 to i8*
call void @llvm.lifetime.end(i64 8, i8* %20)
call void @llvm.lifetime.end(i64 16, i8* %8)
br label %join37
match_else: ; preds = %entry-block
%21 = bitcast %str_slice* %desc to i8*
call void @llvm.lifetime.start(i64 16, i8* %21)
%22 = bitcast %str_slice* %5 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %21, i8* %22, i64 16, i32 8, i1 false)
%23 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %3 to i8*
call void @llvm.lifetime.start(i64 16, i8* %23)
%24 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %3, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%str_slice*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h14488404216782907499E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %24, align 8, !alias.scope !624, !noalias !627
%25 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %3, i64 0, i32 1
%.c.i95 = bitcast %str_slice* %desc to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i95, %"enum.core::fmt::Void<[]>[#3]"** %25, align 8, !alias.scope !624, !noalias !627
%26 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args20 to i8*
call void @llvm.lifetime.start(i64 48, i8* %26)
%__fat_ptr22.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args20, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN2io17IoError.fmt..Show3fmt15__STATIC_FMTSTR20h3b268a400200c96eKDlE, i64 0, i64 0), %str_slice** %__fat_ptr22.sroa.0.0..sroa_idx, align 8
%__fat_ptr22.sroa.5.0..sroa_idx114 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args20, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr22.sroa.5.0..sroa_idx114, align 8
%27 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args20, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %27, align 8, !alias.scope !629, !noalias !632
%__fat_ptr24.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args20, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %3, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr24.sroa.0.0..sroa_idx, align 8
%__fat_ptr24.sroa.5.0..sroa_idx109 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args20, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr24.sroa.5.0..sroa_idx109, align 8
%28 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#3]"* %1, i64 0, i32 5
%29 = bitcast { i8*, void (i8*)** }* %arg.i17 to i8*
call void @llvm.lifetime.start(i64 16, i8* %29), !noalias !635
%30 = bitcast { i8*, void (i8*)** }* %28 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %29, i8* %30, i64 16, i32 8, i1 false), !noalias !639
%31 = call fastcc { i8, [0 x i8], [1 x i8] } @_ZN3fmt5write20h5613d5b4ac9953a2gCyE({ i8*, void (i8*)** }* noalias nocapture dereferenceable(16) %arg.i17, %"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args20), !noalias !640
call void @llvm.lifetime.end(i64 16, i8* %29), !noalias !635
%newret5 = extractvalue { i8, [0 x i8], [1 x i8] } %31, 0
%newret9 = extractvalue { i8, [0 x i8], [1 x i8] } %31, 2
%.fca.2.0.extract81 = extractvalue [1 x i8] %newret9, 0
call void @llvm.lifetime.end(i64 48, i8* %26)
call void @llvm.lifetime.end(i64 16, i8* %23)
call void @llvm.lifetime.end(i64 16, i8* %21)
br label %join37
match_case: ; preds = %entry-block
%32 = getelementptr inbounds %"struct.std::io::IoError<[]>[#1]"* %0, i64 0, i32 2, i32 2
%33 = bitcast [3 x i64]* %32 to %"struct.collections::string::String<[]>[#5]"*
%34 = getelementptr inbounds %"struct.std::io::IoError<[]>[#1]"* %0, i64 0, i32 0, i32 0
%35 = load i8* %34, align 1, !range !641
%cond38 = icmp eq i8 %35, 0
br i1 %cond38, label %match_case7, label %match_else6
match_else6: ; preds = %match_case
%36 = bitcast %"struct.collections::string::String<[]>[#5]"** %detail3 to i8*
call void @llvm.lifetime.start(i64 8, i8* %36)
%.pre = bitcast %str_slice* %5 to i8*
br label %case_body2
match_case7: ; preds = %match_case
%37 = bitcast %str_slice* %5 to i8*
%arg.sroa.5.0..sroa_idx9.i = getelementptr inbounds %"struct.std::io::IoError<[]>[#1]"* %0, i64 0, i32 1, i32 1
%arg.sroa.5.0.copyload.i = load i64* %arg.sroa.5.0..sroa_idx9.i, align 8, !alias.scope !642, !noalias !645
%38 = icmp eq i64 %arg.sroa.5.0.copyload.i, 13
br i1 %38, label %_ZN3str8eq_slice20hf896ce9e800d6bfbmbqE.exit, label %_ZN3str8eq_slice20hf896ce9e800d6bfbmbqE.exit.thread
_ZN3str8eq_slice20hf896ce9e800d6bfbmbqE.exit.thread: ; preds = %match_case7
tail call void @llvm.lifetime.end(i64 16, i8* %37) #1, !alias.scope !642, !noalias !645
br label %compare_next
_ZN3str8eq_slice20hf896ce9e800d6bfbmbqE.exit: ; preds = %match_case7
%arg.sroa.0.0..sroa_idx.i = getelementptr inbounds %str_slice* %5, i64 0, i32 0
%arg.sroa.0.0.copyload.i = load i8** %arg.sroa.0.0..sroa_idx.i, align 8, !alias.scope !642, !noalias !645
%39 = tail call i32 @memcmp(i8* %arg.sroa.0.0.copyload.i, i8* getelementptr inbounds ([13 x i8]* @str30616, i64 0, i64 0), i64 13) #1, !noalias !647
%40 = icmp eq i32 %39, 0
tail call void @llvm.lifetime.end(i64 16, i8* %37) #1, !alias.scope !642, !noalias !645
br i1 %40, label %match_case9, label %compare_next
match_case9: ; preds = %_ZN3str8eq_slice20hf896ce9e800d6bfbmbqE.exit
%41 = bitcast %"struct.collections::string::String<[]>[#5]"** %detail to i8*
call void @llvm.lifetime.start(i64 8, i8* %41)
store %"struct.collections::string::String<[]>[#5]"* %33, %"struct.collections::string::String<[]>[#5]"** %detail, align 8
%42 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %42)
%43 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %2, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.collections::string::String<[]>[#5]"**, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h11935321758571759142E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %43, align 8, !alias.scope !651, !noalias !654
%44 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %2, i64 0, i32 1
%.c.i93 = bitcast %"struct.collections::string::String<[]>[#5]"** %detail to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i93, %"enum.core::fmt::Void<[]>[#3]"** %44, align 8, !alias.scope !651, !noalias !654
%45 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args to i8*
call void @llvm.lifetime.start(i64 48, i8* %45)
%__fat_ptr12.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN2io17IoError.fmt..Show3fmt15__STATIC_FMTSTR20h3b268a400200c96eZClE, i64 0, i64 0), %str_slice** %__fat_ptr12.sroa.0.0..sroa_idx, align 8
%__fat_ptr12.sroa.5.0..sroa_idx124 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr12.sroa.5.0..sroa_idx124, align 8
%46 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %46, align 8, !alias.scope !656, !noalias !659
%__fat_ptr14.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %2, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr14.sroa.0.0..sroa_idx, align 8
%__fat_ptr14.sroa.5.0..sroa_idx119 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr14.sroa.5.0..sroa_idx119, align 8
%47 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#3]"* %1, i64 0, i32 5
%48 = bitcast { i8*, void (i8*)** }* %arg.i21 to i8*
call void @llvm.lifetime.start(i64 16, i8* %48), !noalias !662
%49 = bitcast { i8*, void (i8*)** }* %47 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %48, i8* %49, i64 16, i32 8, i1 false), !noalias !666
%50 = call fastcc { i8, [0 x i8], [1 x i8] } @_ZN3fmt5write20h5613d5b4ac9953a2gCyE({ i8*, void (i8*)** }* noalias nocapture dereferenceable(16) %arg.i21, %"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args), !noalias !667
call void @llvm.lifetime.end(i64 16, i8* %48), !noalias !662
%newret11 = extractvalue { i8, [0 x i8], [1 x i8] } %50, 0
%newret15 = extractvalue { i8, [0 x i8], [1 x i8] } %50, 2
%.fca.2.0.extract = extractvalue [1 x i8] %newret15, 0
call void @llvm.lifetime.end(i64 48, i8* %45)
call void @llvm.lifetime.end(i64 16, i8* %42)
call void @llvm.lifetime.end(i64 8, i8* %41)
br label %join37
compare_next: ; preds = %_ZN3str8eq_slice20hf896ce9e800d6bfbmbqE.exit, %_ZN3str8eq_slice20hf896ce9e800d6bfbmbqE.exit.thread
%51 = bitcast %"struct.collections::string::String<[]>[#5]"** %detail3 to i8*
call void @llvm.lifetime.start(i64 8, i8* %51)
br label %case_body2
join37: ; preds = %match_case9, %match_else, %case_body2
%sret_slot.sroa.0.0 = phi i8 [ %newret11, %match_case9 ], [ %newret, %case_body2 ], [ %newret5, %match_else ]
%sret_slot.sroa.4.0 = phi i8 [ %.fca.2.0.extract, %match_case9 ], [ %.fca.2.0.extract85, %case_body2 ], [ %.fca.2.0.extract81, %match_else ]
%.fca.0.insert87 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" undef, i8 %sret_slot.sroa.0.0, 0
%.fca.2.0.insert = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" %.fca.0.insert87, i8 %sret_slot.sroa.4.0, 2, 0
ret %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" %.fca.2.0.insert
}
; Function Attrs: uwtable
define internal fastcc void @_ZN3fmt6format20hc783d5e6ae5c996eGCpE(%"struct.collections::string::String<[]>[#5]"* noalias nocapture sret dereferenceable(24), %"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48)) unnamed_addr #0 {
normal-return4:
%2 = alloca { i8*, i64 }, align 8
%output.i = alloca %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>", align 8
%__fat_ptr1.i = alloca { i8*, void (i8*)** }, align 8
%3 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%args = alloca %"struct.core::fmt::Arguments<[]>[#3]"*, align 8
%output = alloca %"struct.io::mem::MemWriter<[]>", align 8
%4 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%5 = alloca %"enum.core::result::Result<[collections::string::String, collections::vec::Vec<u8>]>[#2]", align 8
%6 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"** %args to i8*
call void @llvm.lifetime.start(i64 8, i8* %6)
store %"struct.core::fmt::Arguments<[]>[#3]"* %1, %"struct.core::fmt::Arguments<[]>[#3]"** %args, align 8
%7 = bitcast %"struct.io::mem::MemWriter<[]>"* %output to i8*
call void @llvm.lifetime.start(i64 24, i8* %7)
%8 = tail call i8* @je_mallocx(i64 128, i32 0), !noalias !668
%.sroa.0.0..sroa_idx.i.i = getelementptr inbounds %"struct.io::mem::MemWriter<[]>"* %output, i64 0, i32 0, i32 0
store i8* %8, i8** %.sroa.0.0..sroa_idx.i.i, align 8, !alias.scope !668
%.sroa.6.0..sroa_idx5.i.i = getelementptr inbounds %"struct.io::mem::MemWriter<[]>"* %output, i64 0, i32 0, i32 1
store i64 0, i64* %.sroa.6.0..sroa_idx5.i.i, align 8, !alias.scope !668
%.sroa.8.0..sroa_idx8.i.i = getelementptr inbounds %"struct.io::mem::MemWriter<[]>"* %output, i64 0, i32 0, i32 2
store i64 128, i64* %.sroa.8.0..sroa_idx8.i.i, align 8, !alias.scope !668
%9 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %4 to i8*
call void @llvm.lifetime.start(i64 16, i8* %9)
%10 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %4, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.core::fmt::Arguments<[]>[#3]"**, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt20h8113301862174743464E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %10, align 8, !alias.scope !673, !noalias !676
%11 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %4, i64 0, i32 1
%.c.i = bitcast %"struct.core::fmt::Arguments<[]>[#3]"** %args to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i, %"enum.core::fmt::Void<[]>[#3]"** %11, align 8, !alias.scope !673, !noalias !676
%12 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args to i8*
call void @llvm.lifetime.start(i64 48, i8* %12)
%__fat_ptr1.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN3fmt6format15__STATIC_FMTSTR20h3b268a400200c96ebDpE, i64 0, i64 0), %str_slice** %__fat_ptr1.sroa.0.0..sroa_idx, align 8
%__fat_ptr1.sroa.5.0..sroa_idx103 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr1.sroa.5.0..sroa_idx103, align 8
%13 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %13, align 8, !alias.scope !678, !noalias !681
%__fat_ptr3.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %4, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr3.sroa.0.0..sroa_idx, align 8
%__fat_ptr3.sroa.5.0..sroa_idx98 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr3.sroa.5.0..sroa_idx98, align 8
%14 = bitcast %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"* %output.i to i8*
call void @llvm.lifetime.start(i64 80, i8* %14), !noalias !684
%15 = getelementptr inbounds %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"* %output.i, i64 0, i32 0
store %"struct.io::mem::MemWriter<[]>"* %output, %"struct.io::mem::MemWriter<[]>"** %15, align 8, !noalias !684
%16 = getelementptr inbounds %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"* %output.i, i64 0, i32 1, i32 0
store i8 0, i8* %16, align 8, !noalias !684
%17 = bitcast { i8*, void (i8*)** }* %__fat_ptr1.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %17), !noalias !684
%18 = getelementptr inbounds { i8*, void (i8*)** }* %__fat_ptr1.i, i64 0, i32 0
store i8* %14, i8** %18, align 8, !noalias !684
%19 = getelementptr inbounds { i8*, void (i8*)** }* %__fat_ptr1.i, i64 0, i32 1
store void (i8*)** getelementptr inbounds ({ void (i8*)*, i64, i64, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"*, { i8*, i64 }*)*, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"*, %"struct.core::fmt::Arguments<[]>[#3]"*)* }* @vtable30878, i64 0, i32 0), void (i8*)*** %19, align 8, !noalias !684
%20 = invoke fastcc { i8, [0 x i8], [1 x i8] } @_ZN3fmt5write20h5613d5b4ac9953a2gCyE({ i8*, void (i8*)** }* noalias nocapture dereferenceable(16) %__fat_ptr1.i, %"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args)
to label %normal-return.i unwind label %unwind_ast_47626_.i
unwind_ast_59437_: ; preds = %then-block-86101-.i.i.i23, %then-block-86101-.i.i.i.i.i.i.i28.i, %then-block-86101-.i.i.i.i.i.i.i.i
%21 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_59437_.body
unwind_ast_59437_.body: ; preds = %"_ZN31collections..vec..Vec$LT$u8$GT$15glue_drop.2766117hcbb4d5917d9e6f3cE.exit.i", %"_ZN80io..Writer..write_fmt..Adaptor$LT$$x27$LT$empty$GT$$C$$x20io..mem..MemWriter$GT$15glue_drop.3088017h76f7c7a0a2aa446aE.exit.i", %unwind_ast_59437_
%eh.lpad-body = phi { i8*, i32 } [ %57, %"_ZN31collections..vec..Vec$LT$u8$GT$15glue_drop.2766117hcbb4d5917d9e6f3cE.exit.i" ], [ %25, %"_ZN80io..Writer..write_fmt..Adaptor$LT$$x27$LT$empty$GT$$C$$x20io..mem..MemWriter$GT$15glue_drop.3088017h76f7c7a0a2aa446aE.exit.i" ], [ %21, %unwind_ast_59437_ ]
%22 = load i64* %.sroa.8.0..sroa_idx8.i.i, align 8, !alias.scope !689
%23 = icmp eq i64 %22, 0
br i1 %23, label %_ZN18io..mem..MemWriter15glue_drop.2934117h92bfa59370d9c880E.exit29, label %then-block-86101-.i.i.i27
then-block-86101-.i.i.i27: ; preds = %unwind_ast_59437_.body
%24 = load i8** %.sroa.0.0..sroa_idx.i.i, align 8, !alias.scope !689
call void @je_sdallocx(i8* %24, i64 %22, i32 0), !noalias !689
br label %_ZN18io..mem..MemWriter15glue_drop.2934117h92bfa59370d9c880E.exit29
_ZN18io..mem..MemWriter15glue_drop.2934117h92bfa59370d9c880E.exit29: ; preds = %then-block-86101-.i.i.i27, %unwind_ast_59437_.body
call void @llvm.lifetime.end(i64 24, i8* %7)
call void @llvm.lifetime.end(i64 8, i8* %6)
resume { i8*, i32 } %eh.lpad-body
normal-return.i: ; preds = %normal-return4
%newret = extractvalue { i8, [0 x i8], [1 x i8] } %20, 0
call void @llvm.lifetime.end(i64 16, i8* %17), !noalias !684
%cond.i30 = icmp eq i8 %newret, 0
%.pre.i = load i8* %16, align 8
br i1 %cond.i30, label %join.i, label %join.thread.i
unwind_ast_47626_.i: ; preds = %normal-return4
%25 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%26 = load i8* %16, align 8, !range !38, !noalias !684
%cond.i.i.i = icmp eq i8 %26, 1
br i1 %cond.i.i.i, label %enum-iter-variant-1.i.i.i, label %"_ZN80io..Writer..write_fmt..Adaptor$LT$$x27$LT$empty$GT$$C$$x20io..mem..MemWriter$GT$15glue_drop.3088017h76f7c7a0a2aa446aE.exit.i"
enum-iter-variant-1.i.i.i: ; preds = %unwind_ast_47626_.i
%27 = getelementptr inbounds %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"* %output.i, i64 0, i32 1, i32 2, i64 4
%28 = bitcast i64* %27 to i8*
%29 = load i8* %28, align 8, !range !38, !noalias !684
%cond.i.i.i.i.i = icmp eq i8 %29, 1
br i1 %cond.i.i.i.i.i, label %enum-iter-variant-1.i.i.i.i.i, label %"_ZN80io..Writer..write_fmt..Adaptor$LT$$x27$LT$empty$GT$$C$$x20io..mem..MemWriter$GT$15glue_drop.3088017h76f7c7a0a2aa446aE.exit.i"
enum-iter-variant-1.i.i.i.i.i: ; preds = %enum-iter-variant-1.i.i.i
%30 = getelementptr inbounds %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"* %output.i, i64 0, i32 1, i32 2, i64 7
%31 = load i64* %30, align 8, !alias.scope !692, !noalias !684
%32 = icmp eq i64 %31, 0
br i1 %32, label %"_ZN80io..Writer..write_fmt..Adaptor$LT$$x27$LT$empty$GT$$C$$x20io..mem..MemWriter$GT$15glue_drop.3088017h76f7c7a0a2aa446aE.exit.i", label %then-block-86101-.i.i.i.i.i.i.i.i
then-block-86101-.i.i.i.i.i.i.i.i: ; preds = %enum-iter-variant-1.i.i.i.i.i
%33 = getelementptr inbounds %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"* %output.i, i64 0, i32 1, i32 2, i64 5
%34 = bitcast i64* %33 to i8**
%35 = load i8** %34, align 8, !alias.scope !692, !noalias !684
invoke void @je_sdallocx(i8* %35, i64 %31, i32 0)
to label %"_ZN80io..Writer..write_fmt..Adaptor$LT$$x27$LT$empty$GT$$C$$x20io..mem..MemWriter$GT$15glue_drop.3088017h76f7c7a0a2aa446aE.exit.i" unwind label %unwind_ast_59437_
"_ZN80io..Writer..write_fmt..Adaptor$LT$$x27$LT$empty$GT$$C$$x20io..mem..MemWriter$GT$15glue_drop.3088017h76f7c7a0a2aa446aE.exit.i": ; preds = %then-block-86101-.i.i.i.i.i.i.i.i, %enum-iter-variant-1.i.i.i.i.i, %enum-iter-variant-1.i.i.i, %unwind_ast_47626_.i
call void @llvm.lifetime.end(i64 80, i8* %14), !noalias !684
br label %unwind_ast_59437_.body
join.thread.i: ; preds = %normal-return.i
%.sroa.5109.0..sroa_idx = getelementptr inbounds %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"* %output.i, i64 0, i32 1, i32 2, i64 4
%.sroa.5109.0..sroa_cast = bitcast i64* %.sroa.5109.0..sroa_idx to i8*
%.sroa.5109.0.copyload = load i8* %.sroa.5109.0..sroa_cast, align 8
%.sroa.6112.0..sroa_idx = getelementptr inbounds %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"* %output.i, i64 0, i32 1, i32 2, i64 5
%.sroa.6112.0..sroa_cast114 = bitcast i64* %.sroa.6112.0..sroa_idx to i8**
%.sroa.6112.0.copyload = load i8** %.sroa.6112.0..sroa_cast114, align 8
%.sroa.7117.0..sroa_idx = getelementptr inbounds %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"* %output.i, i64 0, i32 1, i32 2, i64 7
%.sroa.7117.0.copyload = load i64* %.sroa.7117.0..sroa_idx, align 8
call void @llvm.memset.p0i8.i64(i8* %16, i8 0, i64 72, i32 8, i1 false), !noalias !684
%phitmp = icmp eq i8 %.pre.i, 1
%phitmp127 = icmp eq i8 %.sroa.5109.0.copyload, 1
br label %normal-return5
join.i: ; preds = %normal-return.i
%phitmp.i = icmp eq i8 %.pre.i, 1
br i1 %phitmp.i, label %enum-iter-variant-1.i.i26.i, label %normal-return5
enum-iter-variant-1.i.i26.i: ; preds = %join.i
%36 = getelementptr inbounds %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"* %output.i, i64 0, i32 1, i32 2, i64 4
%37 = bitcast i64* %36 to i8*
%38 = load i8* %37, align 8, !range !38, !noalias !684
%cond.i.i.i.i25.i = icmp eq i8 %38, 1
br i1 %cond.i.i.i.i25.i, label %enum-iter-variant-1.i.i.i.i27.i, label %normal-return5
enum-iter-variant-1.i.i.i.i27.i: ; preds = %enum-iter-variant-1.i.i26.i
%39 = getelementptr inbounds %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"* %output.i, i64 0, i32 1, i32 2, i64 7
%40 = load i64* %39, align 8, !alias.scope !695, !noalias !684
%41 = icmp eq i64 %40, 0
br i1 %41, label %normal-return5, label %then-block-86101-.i.i.i.i.i.i.i28.i
then-block-86101-.i.i.i.i.i.i.i28.i: ; preds = %enum-iter-variant-1.i.i.i.i27.i
%42 = getelementptr inbounds %"struct.io::Writer::write_fmt::Adaptor<[io::mem::MemWriter]>"* %output.i, i64 0, i32 1, i32 2, i64 5
%43 = bitcast i64* %42 to i8**
%44 = load i8** %43, align 8, !alias.scope !695, !noalias !684
invoke void @je_sdallocx(i8* %44, i64 %40, i32 0)
to label %normal-return5 unwind label %unwind_ast_59437_
normal-return5: ; preds = %then-block-86101-.i.i.i.i.i.i.i28.i, %enum-iter-variant-1.i.i.i.i27.i, %enum-iter-variant-1.i.i26.i, %join.i, %join.thread.i
%.sroa.7117.0.copyload125 = phi i64 [ %.sroa.7117.0.copyload, %join.thread.i ], [ undef, %join.i ], [ undef, %enum-iter-variant-1.i.i26.i ], [ undef, %enum-iter-variant-1.i.i.i.i27.i ], [ undef, %then-block-86101-.i.i.i.i.i.i.i28.i ]
%.sroa.6112.0.copyload124 = phi i8* [ %.sroa.6112.0.copyload, %join.thread.i ], [ undef, %join.i ], [ undef, %enum-iter-variant-1.i.i26.i ], [ undef, %enum-iter-variant-1.i.i.i.i27.i ], [ undef, %then-block-86101-.i.i.i.i.i.i.i28.i ]
%.sroa.5109.0.copyload123 = phi i1 [ %phitmp127, %join.thread.i ], [ undef, %join.i ], [ undef, %enum-iter-variant-1.i.i26.i ], [ undef, %enum-iter-variant-1.i.i.i.i27.i ], [ undef, %then-block-86101-.i.i.i.i.i.i.i28.i ]
%45 = phi i1 [ %phitmp, %join.thread.i ], [ false, %join.i ], [ false, %enum-iter-variant-1.i.i26.i ], [ false, %enum-iter-variant-1.i.i.i.i27.i ], [ false, %then-block-86101-.i.i.i.i.i.i.i28.i ]
call void @llvm.lifetime.end(i64 80, i8* %14), !noalias !684
call void @llvm.lifetime.end(i64 48, i8* %12)
call void @llvm.lifetime.end(i64 16, i8* %9)
%or.cond = and i1 %45, %.sroa.5109.0.copyload123
%or.cond.not = xor i1 %or.cond, true
%46 = icmp eq i64 %.sroa.7117.0.copyload125, 0
%or.cond126 = or i1 %46, %or.cond.not
br i1 %or.cond126, label %normal-return7, label %then-block-86101-.i.i.i.i.i.i
then-block-86101-.i.i.i.i.i.i: ; preds = %normal-return5
call void @je_sdallocx(i8* %.sroa.6112.0.copyload124, i64 %.sroa.7117.0.copyload125, i32 0), !noalias !698
br label %normal-return7
normal-return7: ; preds = %normal-return5, %then-block-86101-.i.i.i.i.i.i
%47 = getelementptr inbounds %"enum.core::result::Result<[collections::string::String, collections::vec::Vec<u8>]>[#2]"* %5, i64 0, i32 0
call void @llvm.lifetime.start(i64 32, i8* %47)
%arg.sroa.0.sroa.0.0.copyload = load i8** %.sroa.0.0..sroa_idx.i.i, align 8
%48 = bitcast i64* %.sroa.6.0..sroa_idx5.i.i to <2 x i64>*
%49 = load <2 x i64>* %48, align 8
call void @llvm.memset.p0i8.i64(i8* %7, i8 0, i64 24, i32 8, i1 false)
%50 = bitcast { i8*, i64 }* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %50), !noalias !701
%.sroa.0.0..sroa_idx.i.i38 = getelementptr inbounds { i8*, i64 }* %2, i64 0, i32 0
store i8* %arg.sroa.0.sroa.0.0.copyload, i8** %.sroa.0.0..sroa_idx.i.i38, align 8, !alias.scope !705, !noalias !708
%.sroa.3.0..sroa_idx1.i.i = getelementptr inbounds { i8*, i64 }* %2, i64 0, i32 1
%51 = extractelement <2 x i64> %49, i32 0
store i64 %51, i64* %.sroa.3.0..sroa_idx1.i.i, align 8, !alias.scope !705, !noalias !708
%52 = call fastcc zeroext i1 @_ZN3str7is_utf820hd2529f05972ba3c2KfqE({ i8*, i64 }* noalias nocapture dereferenceable(16) %2)
call void @llvm.lifetime.end(i64 16, i8* %50), !noalias !701
%53 = getelementptr inbounds %"enum.core::result::Result<[collections::string::String, collections::vec::Vec<u8>]>[#2]"* %5, i64 0, i32 2
%54 = getelementptr inbounds [3 x i64]* %53, i64 0, i64 0
%arg.sroa.0.sroa.0.0.copyload.c = ptrtoint i8* %arg.sroa.0.sroa.0.0.copyload to i64
store i64 %arg.sroa.0.sroa.0.0.copyload.c, i64* %54, align 8
%.sroa.7.0..sroa_idx77 = getelementptr inbounds %"enum.core::result::Result<[collections::string::String, collections::vec::Vec<u8>]>[#2]"* %5, i64 0, i32 2, i64 1
%.sroa.8.0..sroa_idx83 = getelementptr inbounds %"enum.core::result::Result<[collections::string::String, collections::vec::Vec<u8>]>[#2]"* %5, i64 0, i32 2, i64 2
%55 = bitcast i64* %.sroa.7.0..sroa_idx77 to <2 x i64>*
store <2 x i64> %49, <2 x i64>* %55, align 8
%56 = zext i1 %52 to i8
%..i = xor i8 %56, 1
store i8 %..i, i8* %47, align 8, !alias.scope !710, !noalias !711
br i1 %52, label %normal-return8, label %normal-return7.i
unwind_custom_.i: ; preds = %normal-return7.i
%57 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%58 = load i64* %.sroa.8.0..sroa_idx83, align 8, !alias.scope !712, !noalias !717
%59 = icmp eq i64 %58, 0
br i1 %59, label %"_ZN31collections..vec..Vec$LT$u8$GT$15glue_drop.2766117hcbb4d5917d9e6f3cE.exit.i", label %then-block-86101-.i.i.i23
then-block-86101-.i.i.i23: ; preds = %unwind_custom_.i
%60 = bitcast [3 x i64]* %53 to i8**
%61 = load i8** %60, align 8, !alias.scope !712, !noalias !717
invoke void @je_sdallocx(i8* %61, i64 %58, i32 0)
to label %"_ZN31collections..vec..Vec$LT$u8$GT$15glue_drop.2766117hcbb4d5917d9e6f3cE.exit.i" unwind label %unwind_ast_59437_
"_ZN31collections..vec..Vec$LT$u8$GT$15glue_drop.2766117hcbb4d5917d9e6f3cE.exit.i": ; preds = %then-block-86101-.i.i.i23, %unwind_custom_.i
call void @llvm.lifetime.end(i64 32, i8* %47), !alias.scope !719, !noalias !717
br label %unwind_ast_59437_.body
normal-return7.i: ; preds = %normal-return7
%62 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %3 to i8*
call void @llvm.lifetime.start(i64 16, i8* %62), !noalias !720
%63 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %3, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.collections::vec::Vec<[u8]>[#5]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3vec22Vec$LT$T$GT$.fmt..Show3fmt20h9677351713182970536E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %63, align 8, !alias.scope !721, !noalias !724
%64 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %3, i64 0, i32 1
%.c.i.i = bitcast [3 x i64]* %53 to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i.i, %"enum.core::fmt::Void<[]>[#3]"** %64, align 8, !alias.scope !721, !noalias !724
%65 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %65), !noalias !720
%__fat_ptr4.sroa.0.0..sroa_idx.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @"_ZN6result23Result$LT$T$C$$x20E$GT$6unwrap15__STATIC_FMTSTR20hb10265f657406cf2R9mE", i64 0, i64 0), %str_slice** %__fat_ptr4.sroa.0.0..sroa_idx.i, align 8, !noalias !720
%__fat_ptr4.sroa.5.0..sroa_idx30.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr4.sroa.5.0..sroa_idx30.i, align 8, !noalias !720
%66 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %66, align 8, !alias.scope !726, !noalias !729
%__fat_ptr6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %3, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr6.sroa.0.0..sroa_idx.i, align 8, !noalias !720
%__fat_ptr6.sroa.5.0..sroa_idx25.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr6.sroa.5.0..sroa_idx25.i, align 8, !noalias !720
invoke fastcc void @_ZN9panicking9panic_fmt20heef0d8eba24c8ed4X6jE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i, { %str_slice, i64 }* noalias nocapture readonly dereferenceable(24) @"_ZN6result23Result$LT$T$C$$x20E$GT$6unwrap8_run_fmt10_FILE_LINE20hce989b18623e43c1s9mE")
to label %.noexc.i unwind label %unwind_custom_.i, !noalias !717
.noexc.i: ; preds = %normal-return7.i
unreachable
normal-return8: ; preds = %normal-return7
%67 = bitcast [3 x i64]* %53 to i8*
%68 = bitcast %"struct.collections::string::String<[]>[#5]"* %0 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %68, i8* %67, i64 24, i32 8, i1 false), !alias.scope !720
call void @llvm.lifetime.end(i64 32, i8* %47), !alias.scope !719, !noalias !717
call void @llvm.lifetime.end(i64 32, i8* %47)
%69 = load i64* %.sroa.8.0..sroa_idx8.i.i, align 8, !alias.scope !732
%70 = icmp eq i64 %69, 0
br i1 %70, label %_ZN18io..mem..MemWriter15glue_drop.2934117h92bfa59370d9c880E.exit, label %then-block-86101-.i.i.i
then-block-86101-.i.i.i: ; preds = %normal-return8
%71 = load i8** %.sroa.0.0..sroa_idx.i.i, align 8, !alias.scope !732
call void @je_sdallocx(i8* %71, i64 %69, i32 0), !noalias !732
br label %_ZN18io..mem..MemWriter15glue_drop.2934117h92bfa59370d9c880E.exit
_ZN18io..mem..MemWriter15glue_drop.2934117h92bfa59370d9c880E.exit: ; preds = %then-block-86101-.i.i.i, %normal-return8
call void @llvm.lifetime.end(i64 24, i8* %7)
call void @llvm.lifetime.end(i64 8, i8* %6)
ret void
}
; Function Attrs: uwtable
define internal fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %.0.0.val) unnamed_addr #0 {
entry-block:
%error.i = alloca i64, align 8
%0 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%1 = alloca %"enum.core::result::Result<[(), collections::string::String]>[#2]", align 8
%2 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%3 = getelementptr inbounds %"enum.core::result::Result<[(), collections::string::String]>[#2]"* %1, i64 0, i32 0
call void @llvm.lifetime.start(i64 32, i8* %3)
tail call void @SetLastError(i64 0), !noalias !735
tail call void @FreeLibrary(i8* %.0.0.val)
%4 = bitcast i64* %error.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %4), !noalias !735
%5 = tail call i32 @GetLastError(), !noalias !735
%6 = zext i32 %5 to i64
store i64 %6, i64* %error.i, align 8, !noalias !735
%7 = icmp eq i32 %5, 0
br i1 %7, label %"_ZN70core..result..Result$LT$$LP$$RP$$C$$x20collections..string..String$GT$15glue_drop.2852317h5e72f264940ce1d2E.exit", label %normal-return8
"_ZN70core..result..Result$LT$$LP$$RP$$C$$x20collections..string..String$GT$15glue_drop.2852317h5e72f264940ce1d2E.exit": ; preds = %entry-block
call void @llvm.lifetime.end(i64 8, i8* %4), !noalias !735
call void @llvm.lifetime.end(i64 32, i8* %3)
ret void
unwind_custom_: ; preds = %normal-return8
%8 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%9 = getelementptr inbounds %"enum.core::result::Result<[(), collections::string::String]>[#2]"* %1, i64 0, i32 2, i64 2
%10 = load i64* %9, align 8, !alias.scope !739
%11 = icmp eq i64 %10, 0
br i1 %11, label %_ZN27collections..string..String15glue_drop.2775517h925407b7ebadc6bbE.exit, label %then-block-86101-.i.i.i
then-block-86101-.i.i.i: ; preds = %unwind_custom_
%12 = bitcast [3 x i64]* %14 to i8**
%13 = load i8** %12, align 8, !alias.scope !739
call void @je_sdallocx(i8* %13, i64 %10, i32 0), !noalias !739
br label %_ZN27collections..string..String15glue_drop.2775517h925407b7ebadc6bbE.exit
_ZN27collections..string..String15glue_drop.2775517h925407b7ebadc6bbE.exit: ; preds = %then-block-86101-.i.i.i, %unwind_custom_
call void @llvm.lifetime.end(i64 32, i8* %3)
resume { i8*, i32 } %8
normal-return8: ; preds = %entry-block
%14 = getelementptr inbounds %"enum.core::result::Result<[(), collections::string::String]>[#2]"* %1, i64 0, i32 2
%15 = bitcast [3 x i64]* %14 to %"struct.collections::string::String<[]>[#5]"*
%16 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %0 to i8*
call void @llvm.lifetime.start(i64 16, i8* %16), !noalias !735
%17 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %0, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (i64*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @_ZN3fmt3num14uint.fmt..Show3fmt20h36c8eec5263e7b99uHxE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %17, align 8, !alias.scope !742, !noalias !745
%18 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %0, i64 0, i32 1
%.c3.i.i = bitcast i64* %error.i to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c3.i.i, %"enum.core::fmt::Void<[]>[#3]"** %18, align 8, !alias.scope !742, !noalias !745
%19 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %19), !noalias !735
%__fat_ptr1.sroa.0.0..sroa_idx.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN11dynamic_lib2dl19check_for_errors_in15__STATIC_FMTSTR20h3b268a400200c96eOlgE, i64 0, i64 0), %str_slice** %__fat_ptr1.sroa.0.0..sroa_idx.i, align 8, !noalias !735
%__fat_ptr1.sroa.5.0..sroa_idx22.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr1.sroa.5.0..sroa_idx22.i, align 8, !noalias !735
%20 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %20, align 8, !alias.scope !747, !noalias !750
%__fat_ptr3.sroa.0.0..sroa_idx.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %0, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr3.sroa.0.0..sroa_idx.i, align 8, !noalias !735
%__fat_ptr3.sroa.5.0..sroa_idx17.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr3.sroa.5.0..sroa_idx17.i, align 8, !noalias !735
call fastcc void @_ZN3fmt6format20hc783d5e6ae5c996eGCpE(%"struct.collections::string::String<[]>[#5]"* noalias nocapture sret dereferenceable(24) %15, %"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i), !noalias !753
call void @llvm.lifetime.end(i64 48, i8* %19), !noalias !735
call void @llvm.lifetime.end(i64 16, i8* %16), !noalias !735
store i8 1, i8* %3, align 8, !alias.scope !754, !noalias !753
call void @llvm.lifetime.end(i64 8, i8* %4), !noalias !735
%21 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %21)
%22 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %2, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"struct.collections::string::String<[]>[#5]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @_ZN6string16String.fmt..Show3fmt20h28fe2d80b2eb4457zJiE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %22, align 8, !alias.scope !755, !noalias !758
%23 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %2, i64 0, i32 1
%.c.i = bitcast [3 x i64]* %14 to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i, %"enum.core::fmt::Void<[]>[#3]"** %23, align 8, !alias.scope !755, !noalias !758
%24 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args to i8*
call void @llvm.lifetime.start(i64 48, i8* %24)
%__fat_ptr5.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN11dynamic_lib19DynamicLibrary.Drop4drop15__STATIC_FMTSTR20h3b268a400200c96e7dgE, i64 0, i64 0), %str_slice** %__fat_ptr5.sroa.0.0..sroa_idx, align 8
%__fat_ptr5.sroa.5.0..sroa_idx34 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr5.sroa.5.0..sroa_idx34, align 8
%25 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %25, align 8, !alias.scope !760, !noalias !763
%__fat_ptr7.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %2, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr7.sroa.0.0..sroa_idx, align 8
%__fat_ptr7.sroa.5.0..sroa_idx29 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr7.sroa.5.0..sroa_idx29, align 8
invoke fastcc void @_ZN6unwind16begin_unwind_fmt20h3c3bfb1c7a726f1dRFcE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args, { %str_slice, i64 }* noalias nocapture readonly dereferenceable(24) @_ZN11dynamic_lib19DynamicLibrary.Drop4drop8_run_fmt10_FILE_LINE20hfb7d95c84f9294edIdgE)
to label %.noexc unwind label %unwind_custom_
.noexc: ; preds = %normal-return8
unreachable
}
declare void @SetLastError(i64) unnamed_addr
declare i8* @GetProcAddress(i8*, i8*) unnamed_addr
declare void @FreeLibrary(i8*) unnamed_addr
declare i8* @LoadLibraryW(i8*) unnamed_addr
declare i32 @GetLastError() unnamed_addr
; Function Attrs: uwtable
define internal fastcc void @_ZN2os6getenv20h631b8355eeffdad9dzgE(%"enum.core::option::Option<[collections::string::String]>[#3]"* noalias nocapture sret dereferenceable(32), %str_slice* noalias nocapture dereferenceable(16)) unnamed_addr #0 {
.noexc15:
%2 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args.i.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%res.sroa.10.i = alloca [7 x i8], align 1
%3 = alloca %"enum.core::option::Option<[collections::string::String]>[#3]", align 8
%arg.i = alloca { i16*, i64 }, align 8
%4 = alloca %str_slice, align 8
%.sroa.3.sroa.0.i = alloca [7 x i8], align 1
%ret_slot.sroa.2.i = alloca [7 x i8], align 1
%n.i = alloca %"struct.collections::vec::Vec<[u16]>[#5]", align 8
%__closure.i = alloca { i64, {}*, i8*, i8*, { %"struct.collections::vec::Vec<[u16]>[#5]"* } }, align 8
%5 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2os13with_env_lock4LOCK20h778e00d1a4fb7f62htgE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !766
call void @EnterCriticalSection(i8* %5), !noalias !766
%6 = bitcast %"struct.collections::vec::Vec<[u16]>[#5]"* %n.i to i8*
call void @llvm.lifetime.start(i64 24, i8* %6), !noalias !769
%arg.i.sroa.0.0..sroa_idx = getelementptr inbounds %str_slice* %1, i64 0, i32 0
%arg.i.sroa.0.0.copyload = load i8** %arg.i.sroa.0.0..sroa_idx, align 8
%arg.i.sroa.5.0..sroa_idx86 = getelementptr inbounds %str_slice* %1, i64 0, i32 1
%arg.i.sroa.5.0.copyload = load i64* %arg.i.sroa.5.0..sroa_idx86, align 8
%7 = getelementptr inbounds i8* %arg.i.sroa.0.0.copyload, i64 %arg.i.sroa.5.0.copyload
%8 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %arg.i.sroa.5.0.copyload, i64 3) #1
%9 = extractvalue { i64, i1 } %8, 1
%10 = extractvalue { i64, i1 } %8, 0
%.op = lshr i64 %10, 2
%11 = select i1 %9, i64 4611686018427387903, i64 %.op
%12 = icmp eq i64 %11, 0
br i1 %12, label %for_loopback.i, label %.noexc33
.noexc33: ; preds = %.noexc15
%umul_with_overflow = shl nuw nsw i64 %11, 1
%13 = invoke i8* @je_mallocx(i64 %umul_with_overflow, i32 0)
to label %.noexc34 unwind label %unwind_ast_24254_.i
.noexc34: ; preds = %.noexc33
%14 = bitcast i8* %13 to i16*
br label %for_loopback.i
for_loopback.i: ; preds = %.noexc34, %.noexc15, %"_ZN3vec12Vec$LT$T$GT$4push19h853525875734822887E.exit"
%.pre.i13 = phi i16* [ %vector.i.sroa.0.2, %"_ZN3vec12Vec$LT$T$GT$4push19h853525875734822887E.exit" ], [ inttoptr (i64 1 to i16*), %.noexc15 ], [ %14, %.noexc34 ]
%vector.i.sroa.12.1 = phi i64 [ %70, %"_ZN3vec12Vec$LT$T$GT$4push19h853525875734822887E.exit" ], [ 0, %.noexc15 ], [ 0, %.noexc34 ]
%vector.i.sroa.16.1 = phi i64 [ %vector.i.sroa.16.2, %"_ZN3vec12Vec$LT$T$GT$4push19h853525875734822887E.exit" ], [ 0, %.noexc15 ], [ %11, %.noexc34 ]
%15 = phi i16 [ %57, %"_ZN3vec12Vec$LT$T$GT$4push19h853525875734822887E.exit" ], [ 0, %.noexc15 ], [ 0, %.noexc34 ]
%arg.i.sroa.0.0.copyload190 = phi i8* [ %arg.i.sroa.0.0.copyload191, %"_ZN3vec12Vec$LT$T$GT$4push19h853525875734822887E.exit" ], [ %arg.i.sroa.0.0.copyload, %.noexc15 ], [ %arg.i.sroa.0.0.copyload, %.noexc34 ]
%16 = icmp eq i16 %15, 0
br i1 %16, label %next-block.i, label %for_body.i
next-block.i: ; preds = %for_loopback.i
%17 = icmp eq i8* %arg.i.sroa.0.0.copyload190, %7
br i1 %17, label %.noexc8, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i"
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i": ; preds = %next-block.i
%18 = getelementptr inbounds i8* %arg.i.sroa.0.0.copyload190, i64 1
%19 = icmp eq i8* %arg.i.sroa.0.0.copyload190, null
br i1 %19, label %.noexc8, label %match_else.i64
match_else.i64: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i"
%20 = load i8* %arg.i.sroa.0.0.copyload190, align 1, !noalias !772
%21 = icmp slt i8 %20, 0
br i1 %21, label %cond.i65, label %next.i
next.i: ; preds = %match_else.i64
%22 = zext i8 %20 to i32
br label %.noexc
cond.i65: ; preds = %match_else.i64
%23 = and i8 %20, 31
%24 = zext i8 %23 to i32
%25 = icmp eq i8* %18, %7
br i1 %25, label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i, label %match_case.i14.i
match_case.i14.i: ; preds = %cond.i65
%26 = getelementptr inbounds i8* %arg.i.sroa.0.0.copyload190, i64 2
%27 = load i8* %18, align 1, !noalias !772
%phitmp.i = and i8 %27, 63
%phitmp20.i = zext i8 %phitmp.i to i32
br label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i
_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i: ; preds = %match_case.i14.i, %cond.i65
%arg.i.sroa.0.0.copyload195 = phi i8* [ %26, %match_case.i14.i ], [ %7, %cond.i65 ]
%sret_slot.0.i15.i = phi i32 [ %phitmp20.i, %match_case.i14.i ], [ 0, %cond.i65 ]
%28 = shl nuw nsw i32 %24, 6
%29 = or i32 %sret_slot.0.i15.i, %28
%30 = icmp ugt i8 %20, -33
br i1 %30, label %then-block-81421-.i, label %.noexc
then-block-81421-.i: ; preds = %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i
%31 = icmp eq i8* %arg.i.sroa.0.0.copyload195, %7
br i1 %31, label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i, label %match_case.i8.i
match_case.i8.i: ; preds = %then-block-81421-.i
%32 = getelementptr inbounds i8* %arg.i.sroa.0.0.copyload195, i64 1
%33 = load i8* %arg.i.sroa.0.0.copyload195, align 1, !noalias !772
%phitmp21.i = and i8 %33, 63
%phitmp22.i = zext i8 %phitmp21.i to i32
br label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i
_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i: ; preds = %match_case.i8.i, %then-block-81421-.i
%arg.i.sroa.0.0.copyload194 = phi i8* [ %32, %match_case.i8.i ], [ %7, %then-block-81421-.i ]
%sret_slot.0.i9.i = phi i32 [ %phitmp22.i, %match_case.i8.i ], [ 0, %then-block-81421-.i ]
%34 = shl nuw nsw i32 %sret_slot.0.i15.i, 6
%35 = or i32 %sret_slot.0.i9.i, %34
%36 = shl nuw nsw i32 %24, 12
%37 = or i32 %35, %36
%38 = icmp ugt i8 %20, -17
br i1 %38, label %then-block-81465-.i, label %.noexc
then-block-81465-.i: ; preds = %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i
%39 = icmp eq i8* %arg.i.sroa.0.0.copyload194, %7
br i1 %39, label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i, label %match_case.i.i
match_case.i.i: ; preds = %then-block-81465-.i
%40 = getelementptr inbounds i8* %arg.i.sroa.0.0.copyload194, i64 1
%41 = load i8* %arg.i.sroa.0.0.copyload194, align 1, !noalias !772
%phitmp23.i = and i8 %41, 63
%phitmp24.i = zext i8 %phitmp23.i to i32
br label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i
_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i: ; preds = %match_case.i.i, %then-block-81465-.i
%arg.i.sroa.0.0.copyload193 = phi i8* [ %40, %match_case.i.i ], [ %arg.i.sroa.0.0.copyload194, %then-block-81465-.i ]
%sret_slot.0.i.i = phi i32 [ %phitmp24.i, %match_case.i.i ], [ 0, %then-block-81465-.i ]
%42 = shl nuw nsw i32 %24, 18
%43 = and i32 %42, 1835008
%44 = shl nuw nsw i32 %35, 6
%45 = or i32 %44, %43
%46 = or i32 %45, %sret_slot.0.i.i
br label %.noexc
.noexc: ; preds = %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i, %next.i
%arg.i.sroa.0.0.copyload192 = phi i8* [ %arg.i.sroa.0.0.copyload195, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i ], [ %arg.i.sroa.0.0.copyload194, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i ], [ %arg.i.sroa.0.0.copyload193, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i ], [ %18, %next.i ]
%sret_slot.sroa.7.0.i.ph = phi i32 [ %29, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i ], [ %37, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i ], [ %46, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i ], [ %22, %next.i ]
%47 = and i32 %sret_slot.sroa.7.0.i.ph, 65535
%48 = icmp eq i32 %47, %sret_slot.sroa.7.0.i.ph
br i1 %48, label %next.i3, label %next4.i
next.i3: ; preds = %.noexc
%49 = trunc i32 %sret_slot.sroa.7.0.i.ph to i16
br label %for_body.i
next4.i: ; preds = %.noexc
%50 = add nsw i32 %sret_slot.sroa.7.0.i.ph, -65536
%51 = lshr i32 %50, 10
%52 = trunc i32 %51 to i16
%53 = or i16 %52, -10240
%54 = trunc i32 %50 to i16
%55 = and i16 %54, 1023
%56 = or i16 %55, -9216
br label %for_body.i
for_body.i: ; preds = %next.i3, %next4.i, %for_loopback.i
%57 = phi i16 [ 0, %for_loopback.i ], [ 0, %next.i3 ], [ %56, %next4.i ]
%arg.i.sroa.0.0.copyload191 = phi i8* [ %arg.i.sroa.0.0.copyload190, %for_loopback.i ], [ %arg.i.sroa.0.0.copyload192, %next4.i ], [ %arg.i.sroa.0.0.copyload192, %next.i3 ]
%sret_slot.sroa.5.0.i163 = phi i16 [ %15, %for_loopback.i ], [ %49, %next.i3 ], [ %53, %next4.i ]
%58 = icmp eq i64 %vector.i.sroa.12.1, %vector.i.sroa.16.1
br i1 %58, label %then-block-86572-.i, label %"_ZN3vec12Vec$LT$T$GT$4push19h853525875734822887E.exit"
then-block-86572-.i: ; preds = %for_body.i
%59 = shl i64 %vector.i.sroa.12.1, 1
%60 = icmp ugt i64 %59, 4
%.op.i = shl i64 %vector.i.sroa.12.1, 2
%61 = select i1 %60, i64 %.op.i, i64 8
%62 = icmp ugt i64 %59, %61
br i1 %62, label %then-block-86604-.i, label %next-block1.i
then-block-86604-.i: ; preds = %then-block-86572-.i
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @"_ZN3vec12Vec$LT$T$GT$4push14_MSG_FILE_LINE20h73a791f0248413baEnjE")
to label %.noexc4 unwind label %unwind_ast_92709_.i.nonloopexit
.noexc4: ; preds = %then-block-86604-.i
unreachable
next-block1.i: ; preds = %then-block-86572-.i
%63 = bitcast i16* %.pre.i13 to %"struct.path::windows::Path<[]>"*
%64 = invoke fastcc %"struct.path::windows::Path<[]>"* @_ZN3vec16alloc_or_realloc20h2838219891966824316E(%"struct.path::windows::Path<[]>"* %63, i64 %59, i64 %61)
to label %.noexc5 unwind label %unwind_ast_92709_.i.loopexit
.noexc5: ; preds = %next-block1.i
%65 = bitcast %"struct.path::windows::Path<[]>"* %64 to i16*
%66 = icmp eq %"struct.path::windows::Path<[]>"* %64, null
br i1 %66, label %then-block-86645-.i, label %next-block2.i
then-block-86645-.i: ; preds = %.noexc5
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE(), !noalias !775
unreachable
next-block2.i: ; preds = %.noexc5
%67 = icmp ugt i64 %vector.i.sroa.12.1, 2
%68 = select i1 %67, i64 %59, i64 4
br label %"_ZN3vec12Vec$LT$T$GT$4push19h853525875734822887E.exit"
"_ZN3vec12Vec$LT$T$GT$4push19h853525875734822887E.exit": ; preds = %for_body.i, %next-block2.i
%vector.i.sroa.0.2 = phi i16* [ %65, %next-block2.i ], [ %.pre.i13, %for_body.i ]
%vector.i.sroa.16.2 = phi i64 [ %68, %next-block2.i ], [ %vector.i.sroa.16.1, %for_body.i ]
%69 = getelementptr inbounds i16* %vector.i.sroa.0.2, i64 %vector.i.sroa.12.1
store i16 %sret_slot.sroa.5.0.i163, i16* %69, align 2, !noalias !775
%70 = add i64 %vector.i.sroa.12.1, 1
br label %for_loopback.i
unwind_ast_92709_.i.loopexit: ; preds = %next-block1.i
%lpad.loopexit96 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_92709_.i
unwind_ast_92709_.i.nonloopexit: ; preds = %then-block-86604-.i
%lpad.nonloopexit97 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_92709_.i
unwind_ast_92709_.i: ; preds = %unwind_ast_92709_.i.nonloopexit, %unwind_ast_92709_.i.loopexit
%lpad.phi98 = phi { i8*, i32 } [ %lpad.loopexit96, %unwind_ast_92709_.i.loopexit ], [ %lpad.nonloopexit97, %unwind_ast_92709_.i.nonloopexit ]
%71 = icmp eq i64 %vector.i.sroa.12.1, 0
br i1 %71, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.2867217h3b604c9ccf993449E.exit4.i", label %then-block-86101-.i6
then-block-86101-.i6: ; preds = %unwind_ast_92709_.i
%72 = bitcast i16* %.pre.i13 to i8*
invoke void @je_sdallocx(i8* %72, i64 %59, i32 0)
to label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.2867217h3b604c9ccf993449E.exit4.i" unwind label %unwind_ast_24254_.i
.noexc8: ; preds = %next-block.i, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i"
%vector.i.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.collections::vec::Vec<[u16]>[#5]"* %n.i, i64 0, i32 0
store i16* %.pre.i13, i16** %vector.i.sroa.0.0..sroa_idx, align 8
%vector.i.sroa.12.0..sroa_idx62 = getelementptr inbounds %"struct.collections::vec::Vec<[u16]>[#5]"* %n.i, i64 0, i32 1
store i64 %vector.i.sroa.12.1, i64* %vector.i.sroa.12.0..sroa_idx62, align 8
%vector.i.sroa.16.0..sroa_idx65 = getelementptr inbounds %"struct.collections::vec::Vec<[u16]>[#5]"* %n.i, i64 0, i32 2
store i64 %vector.i.sroa.16.1, i64* %vector.i.sroa.16.0..sroa_idx65, align 8
%73 = icmp eq i64 %vector.i.sroa.12.1, %vector.i.sroa.16.1
br i1 %73, label %then-block-86572-.i16, label %normal-return.i7
then-block-86572-.i16: ; preds = %.noexc8
%74 = shl i64 %vector.i.sroa.12.1, 1
%75 = icmp ugt i64 %74, 4
%.op.i15 = shl i64 %vector.i.sroa.12.1, 2
%76 = select i1 %75, i64 %.op.i15, i64 8
%77 = icmp ugt i64 %74, %76
br i1 %77, label %then-block-86604-.i17, label %next-block1.i18
then-block-86604-.i17: ; preds = %then-block-86572-.i16
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @"_ZN3vec12Vec$LT$T$GT$4push14_MSG_FILE_LINE20h73a791f0248413baEnjE")
to label %.noexc22 unwind label %unwind_ast_24637_.i.nonloopexit
.noexc22: ; preds = %then-block-86604-.i17
unreachable
next-block1.i18: ; preds = %then-block-86572-.i16
%78 = bitcast i16* %.pre.i13 to %"struct.path::windows::Path<[]>"*
%79 = invoke fastcc %"struct.path::windows::Path<[]>"* @_ZN3vec16alloc_or_realloc20h2838219891966824316E(%"struct.path::windows::Path<[]>"* %78, i64 %74, i64 %76)
to label %.noexc23 unwind label %unwind_ast_24637_.i.nonloopexit
.noexc23: ; preds = %next-block1.i18
%80 = bitcast %"struct.path::windows::Path<[]>"* %79 to i16*
store i16* %80, i16** %vector.i.sroa.0.0..sroa_idx, align 8, !alias.scope !778
%81 = icmp eq %"struct.path::windows::Path<[]>"* %79, null
br i1 %81, label %then-block-86645-.i19, label %next-block2.i20
then-block-86645-.i19: ; preds = %.noexc23
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE(), !noalias !778
unreachable
next-block2.i20: ; preds = %.noexc23
%82 = icmp ugt i64 %vector.i.sroa.12.1, 2
%83 = select i1 %82, i64 %74, i64 4
store i64 %83, i64* %vector.i.sroa.16.0..sroa_idx65, align 8, !alias.scope !778
br label %normal-return.i7
normal-return.i7: ; preds = %.noexc8, %next-block2.i20
%84 = phi i16* [ %80, %next-block2.i20 ], [ %.pre.i13, %.noexc8 ]
%85 = getelementptr inbounds i16* %84, i64 %vector.i.sroa.12.1
store i16 0, i16* %85, align 2, !noalias !778
%86 = add i64 %vector.i.sroa.12.1, 1
store i64 %86, i64* %vector.i.sroa.12.0..sroa_idx62, align 8, !alias.scope !778
%87 = bitcast { i64, {}*, i8*, i8*, { %"struct.collections::vec::Vec<[u16]>[#5]"* } }* %__closure.i to i8*
call void @llvm.lifetime.start(i64 40, i8* %87), !noalias !769
%88 = getelementptr inbounds { i64, {}*, i8*, i8*, { %"struct.collections::vec::Vec<[u16]>[#5]"* } }* %__closure.i, i64 0, i32 4, i32 0
store %"struct.collections::vec::Vec<[u16]>[#5]"* %n.i, %"struct.collections::vec::Vec<[u16]>[#5]"** %88, align 8, !noalias !769
%ret_slot.sroa.2.i.0.i.0..sroa_idx = getelementptr inbounds [7 x i8]* %ret_slot.sroa.2.i, i64 0, i64 0
call void @llvm.lifetime.start(i64 7, i8* %ret_slot.sroa.2.i.0.i.0..sroa_idx)
%res.sroa.10.0..sroa_idx138.i = getelementptr inbounds [7 x i8]* %res.sroa.10.i, i64 0, i64 0
call void @llvm.lifetime.start(i64 7, i8* %res.sroa.10.0..sroa_idx138.i)
%89 = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %3, i64 0, i32 0
%90 = bitcast { i16*, i64 }* %arg.i to i8*
%sub.sroa.0.0..sroa_idx.i = getelementptr inbounds { i16*, i64 }* %arg.i, i64 0, i32 0
%sub.sroa.4.0..sroa_idx93.i = getelementptr inbounds { i16*, i64 }* %arg.i, i64 0, i32 1
%91 = bitcast %str_slice* %4 to i8*
%92 = getelementptr inbounds %str_slice* %4, i64 0, i32 0
%93 = getelementptr inbounds %str_slice* %4, i64 0, i32 1
%94 = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %3, i64 0, i32 2
%s.sroa.0.0..sroa_cast77.i = bitcast [3 x i64]* %94 to i8**
%s.sroa.6.0..sroa_idx80.i = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %3, i64 0, i32 2, i64 1
%.sroa.3.sroa.0.0..sroa_idx.i = getelementptr inbounds [7 x i8]* %.sroa.3.sroa.0.i, i64 0, i64 0
br label %while_body.i
while_body.i: ; preds = %while_cond.backedge.i, %normal-return.i7
%n.0200.i = phi i32 [ 1000, %normal-return.i7 ], [ %n.1151153.i, %while_cond.backedge.i ]
%done.0199.i = phi i8 [ 0, %normal-return.i7 ], [ %done.1149155.i, %while_cond.backedge.i ]
%95 = phi i8 [ 0, %normal-return.i7 ], [ %134, %while_cond.backedge.i ]
%res.sroa.11.0.copyload141198.i = phi i8* [ undef, %normal-return.i7 ], [ %res.sroa.11.0.copyload142.i, %while_cond.backedge.i ]
%96 = phi <2 x i64> [ undef, %normal-return.i7 ], [ %135, %while_cond.backedge.i ]
%97 = zext i32 %n.0200.i to i64
%98 = icmp eq i32 %n.0200.i, 0
br i1 %98, label %normal-return2.i, label %normal-return3.lr.ph.i.i
normal-return3.lr.ph.i.i: ; preds = %while_body.i
%umul_with_overflow.i = shl nuw nsw i64 %97, 1
%99 = invoke i8* @je_mallocx(i64 %umul_with_overflow.i, i32 0)
to label %.noexc51.i unwind label %unwind_ast_24106_.i, !noalias !781
.noexc51.i: ; preds = %normal-return3.lr.ph.i.i
%100 = bitcast i8* %99 to i16*
call void @llvm.memset.p0i8.i64(i8* %99, i8 0, i64 %umul_with_overflow.i, i32 2, i1 false), !noalias !785
br label %normal-return2.i
unwind_ast_24106_.i: ; preds = %normal-return3.lr.ph.i.i
%101 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%102 = extractelement <2 x i64> %96, i32 1
%.fca.0.extract.i = extractvalue { i8*, i32 } %101, 0
%.fca.1.extract.i = extractvalue { i8*, i32 } %101, 1
br label %clean_ast_24106_.i
clean_ast_24106_.i: ; preds = %then-block-86101-.i.i63.i, %then-block-86101-.i.i56.i, %unwind_ast_24129_14.body.i, %unwind_ast_24129_.i, %unwind_ast_24106_.i
%res.sroa.16.0.copyload146196.i165 = phi i64 [ %102, %unwind_ast_24106_.i ], [ %109, %unwind_ast_24129_.i ], [ %109, %unwind_ast_24129_14.body.i ], [ %109, %then-block-86101-.i.i56.i ], [ %109, %then-block-86101-.i.i63.i ]
%.sroa.043.0.i = phi i8* [ %.fca.0.extract.i, %unwind_ast_24106_.i ], [ %.fca.0.extract36.i, %unwind_ast_24129_.i ], [ %.fca.0.extract40.i, %unwind_ast_24129_14.body.i ], [ %.fca.0.extract36.i, %then-block-86101-.i.i56.i ], [ %.fca.0.extract40.i, %then-block-86101-.i.i63.i ]
%.sroa.5.0.i = phi i32 [ %.fca.1.extract.i, %unwind_ast_24106_.i ], [ %.fca.1.extract38.i, %unwind_ast_24129_.i ], [ %.fca.1.extract42.i, %unwind_ast_24129_14.body.i ], [ %.fca.1.extract38.i, %then-block-86101-.i.i56.i ], [ %.fca.1.extract42.i, %then-block-86101-.i.i63.i ]
%cond.i52.i = icmp ne i8 %95, 1
%103 = icmp eq i64 %res.sroa.16.0.copyload146196.i165, 0
%or.cond.i = or i1 %cond.i52.i, %103
br i1 %or.cond.i, label %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit55.i", label %then-block-86101-.i.i.i.i54.i
then-block-86101-.i.i.i.i54.i: ; preds = %clean_ast_24106_.i
invoke void @je_sdallocx(i8* %res.sroa.11.0.copyload141198.i, i64 %res.sroa.16.0.copyload146196.i165, i32 0)
to label %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit55.i" unwind label %unwind_ast_24637_.i.nonloopexit
"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit55.i": ; preds = %then-block-86101-.i.i.i.i54.i, %clean_ast_24106_.i
call void @llvm.lifetime.end(i64 7, i8* %res.sroa.10.0..sroa_idx138.i)
%.fca.0.insert.i = insertvalue { i8*, i32 } undef, i8* %.sroa.043.0.i, 0
%.fca.1.insert.i = insertvalue { i8*, i32 } %.fca.0.insert.i, i32 %.sroa.5.0.i, 1
br label %unwind_ast_24637_.i.body
unwind_ast_24129_.i: ; preds = %normal-return2.i
%104 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract36.i = extractvalue { i8*, i32 } %104, 0
%.fca.1.extract38.i = extractvalue { i8*, i32 } %104, 1
%105 = icmp eq i64 %xs.sroa.14.0.copyload1618.i.i, 0
br i1 %105, label %clean_ast_24106_.i, label %then-block-86101-.i.i56.i
then-block-86101-.i.i56.i: ; preds = %unwind_ast_24129_.i
%106 = bitcast i16* %108 to i8*
%107 = shl nuw nsw i64 %xs.sroa.14.0.copyload1618.i.i, 1
invoke void @je_sdallocx(i8* %106, i64 %107, i32 0)
to label %clean_ast_24106_.i unwind label %unwind_ast_24637_.i.nonloopexit
normal-return2.i: ; preds = %.noexc51.i, %while_body.i
%108 = phi i16* [ %100, %.noexc51.i ], [ inttoptr (i64 1 to i16*), %while_body.i ]
%xs.sroa.14.0.copyload1618.i.i = phi i64 [ %97, %.noexc51.i ], [ 0, %while_body.i ]
%109 = extractelement <2 x i64> %96, i32 1
%110 = invoke i32 @_ZN2os6getenv13closure.28738E(i8* %87, i16* %108, i32 %n.0200.i)
to label %normal-return3.i unwind label %unwind_ast_24129_.i, !noalias !781
normal-return3.i: ; preds = %normal-return2.i
%111 = icmp eq i32 %110, 0
br i1 %111, label %next-block.i27, label %else-block.i25
else-block.i25: ; preds = %normal-return3.i
%112 = icmp eq i32 %110, %n.0200.i
br i1 %112, label %join.i26, label %else-block5.i
join.i26: ; preds = %else-block.i25
%113 = invoke i32 @GetLastError()
to label %.noexc32 unwind label %unwind_ast_24637_.i.loopexit
.noexc32: ; preds = %join.i26
%114 = icmp eq i32 %113, 122
br i1 %114, label %then-block-24176-.i, label %else-block5.i
then-block-24176-.i: ; preds = %.noexc32
%115 = shl i32 %n.0200.i, 1
br label %join10.i
else-block5.i: ; preds = %.noexc32, %else-block.i25
%116 = icmp ult i32 %110, %n.0200.i
%.done.0.i = select i1 %116, i8 1, i8 %done.0199.i
%n.0..i = select i1 %116, i32 %n.0200.i, i32 %110
br label %join10.i
join10.i: ; preds = %else-block5.i, %then-block-24176-.i
%done.1.ph.i = phi i8 [ %.done.0.i, %else-block5.i ], [ %done.0199.i, %then-block-24176-.i ]
%n.1.ph.i = phi i32 [ %n.0..i, %else-block5.i ], [ %115, %then-block-24176-.i ]
%117 = and i8 %done.1.ph.i, 1
%118 = icmp eq i8 %117, 0
br i1 %118, label %next-block.i27, label %normal-return13.i
normal-return13.i: ; preds = %join10.i
%119 = zext i32 %110 to i64
%120 = icmp ult i64 %xs.sroa.14.0.copyload1618.i.i, %119
br i1 %120, label %then-block-87407-.i.i, label %normal-return17.i
then-block-87407-.i.i: ; preds = %normal-return13.i
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @"_ZN5slice34_$x5bT$x5d.ImmutableSlice$LT$T$GT$5slice14_MSG_FILE_LINE20h88bf3a07bb7eb41dANnE")
to label %.noexc62.i unwind label %unwind_ast_24129_14.nonloopexit.i, !noalias !781
.noexc62.i: ; preds = %then-block-87407-.i.i
unreachable
unwind_ast_24129_14.loopexit.i: ; preds = %normal-return17.i
%lpad.loopexit.i = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_24129_14.body.i
unwind_ast_24129_14.nonloopexit.i: ; preds = %then-block-87407-.i.i
%lpad.nonloopexit.i = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_24129_14.body.i
unwind_ast_24129_14.body.i: ; preds = %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.i", %unwind_ast_24129_14.nonloopexit.i, %unwind_ast_24129_14.loopexit.i
%eh.lpad-body.i = phi { i8*, i32 } [ %125, %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.i" ], [ %lpad.loopexit.i, %unwind_ast_24129_14.loopexit.i ], [ %lpad.nonloopexit.i, %unwind_ast_24129_14.nonloopexit.i ]
%.fca.0.extract40.i = extractvalue { i8*, i32 } %eh.lpad-body.i, 0
%.fca.1.extract42.i = extractvalue { i8*, i32 } %eh.lpad-body.i, 1
%121 = icmp eq i64 %xs.sroa.14.0.copyload1618.i.i, 0
br i1 %121, label %clean_ast_24106_.i, label %then-block-86101-.i.i63.i
then-block-86101-.i.i63.i: ; preds = %unwind_ast_24129_14.body.i
%122 = bitcast i16* %108 to i8*
%123 = shl nuw nsw i64 %xs.sroa.14.0.copyload1618.i.i, 1
invoke void @je_sdallocx(i8* %122, i64 %123, i32 0)
to label %clean_ast_24106_.i unwind label %unwind_ast_24637_.i.nonloopexit
normal-return17.i: ; preds = %normal-return13.i
call void @llvm.lifetime.start(i64 32, i8* %89), !noalias !781
call void @llvm.lifetime.start(i64 16, i8* %90), !noalias !781
store i16* %108, i16** %sub.sroa.0.0..sroa_idx.i, align 8, !noalias !781
store i64 %119, i64* %sub.sroa.4.0..sroa_idx93.i, align 8, !noalias !781
invoke fastcc void @_ZN6string6String10from_utf1620h984f4a11dce5ab63nwiE(%"enum.core::option::Option<[collections::string::String]>[#3]"* noalias nocapture sret dereferenceable(32) %3, { i16*, i64 }* noalias nocapture dereferenceable(16) %arg.i)
to label %normal-return18.i unwind label %unwind_ast_24129_14.loopexit.i, !noalias !781
normal-return18.i: ; preds = %normal-return17.i
call void @llvm.lifetime.end(i64 16, i8* %90), !noalias !781
call void @llvm.lifetime.start(i64 16, i8* %91), !noalias !781
store i8* getelementptr inbounds ([57 x i8]* @str28602, i64 0, i64 0), i8** %92, align 8, !noalias !781
store i64 57, i64* %93, align 8, !noalias !781
%124 = load i8* %89, align 8, !range !38, !alias.scope !788, !noalias !791
%cond.i65.i = icmp eq i8 %124, 1
br i1 %cond.i65.i, label %normal-return19.i, label %normal-return6.i.i
"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.i": ; preds = %normal-return6.i.i
%125 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
call void @llvm.lifetime.end(i64 16, i8* %91), !alias.scope !794, !noalias !795
call void @llvm.lifetime.end(i64 32, i8* %89), !alias.scope !788, !noalias !791
br label %unwind_ast_24129_14.body.i
normal-return6.i.i: ; preds = %normal-return18.i
%126 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %126), !noalias !796
%127 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %2, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%str_slice*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h14488404216782907499E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %127, align 8, !alias.scope !797, !noalias !800
%128 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %2, i64 0, i32 1
%.c.i.i.i = bitcast %str_slice* %4 to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i.i.i, %"enum.core::fmt::Void<[]>[#3]"** %128, align 8, !alias.scope !797, !noalias !800
%129 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %129), !noalias !796
%__fat_ptr3.sroa.0.0..sroa_idx.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @"_ZN6option15Option$LT$T$GT$6expect15__STATIC_FMTSTR20hb10265f657406cf2QvmE", i64 0, i64 0), %str_slice** %__fat_ptr3.sroa.0.0..sroa_idx.i.i, align 8, !noalias !796
%__fat_ptr3.sroa.5.0..sroa_idx28.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr3.sroa.5.0..sroa_idx28.i.i, align 8, !noalias !796
%130 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %130, align 8, !alias.scope !802, !noalias !805
%__fat_ptr5.sroa.0.0..sroa_idx.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %2, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr5.sroa.0.0..sroa_idx.i.i, align 8, !noalias !796
%__fat_ptr5.sroa.5.0..sroa_idx23.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr5.sroa.5.0..sroa_idx23.i.i, align 8, !noalias !796
invoke fastcc void @_ZN9panicking9panic_fmt20heef0d8eba24c8ed4X6jE(%"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i.i, { %str_slice, i64 }* noalias nocapture readonly dereferenceable(24) @"_ZN6option15Option$LT$T$GT$6expect8_run_fmt10_FILE_LINE20hce989b18623e43c1rvmE")
to label %.noexc.i.i unwind label %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit.i.i", !noalias !795
.noexc.i.i: ; preds = %normal-return6.i.i
unreachable
normal-return19.i: ; preds = %normal-return18.i
%s.sroa.0.0.copyload78.i = load i8** %s.sroa.0.0..sroa_cast77.i, align 8, !noalias !781
%131 = bitcast i64* %s.sroa.6.0..sroa_idx80.i to <2 x i64>*
%132 = load <2 x i64>* %131, align 8, !noalias !781
call void @llvm.lifetime.end(i64 16, i8* %91), !alias.scope !794, !noalias !795
call void @llvm.lifetime.end(i64 32, i8* %89), !alias.scope !788, !noalias !791
call void @llvm.lifetime.end(i64 16, i8* %91), !noalias !781
call void @llvm.lifetime.end(i64 32, i8* %89), !noalias !781
call void @llvm.lifetime.start(i64 7, i8* %.sroa.3.sroa.0.0..sroa_idx.i)
%cond.i72.i = icmp ne i8 %95, 1
%133 = icmp eq i64 %109, 0
%or.cond157.i = or i1 %cond.i72.i, %133
br i1 %or.cond157.i, label %_ZN27collections..string..String15glue_drop.2775517h925407b7ebadc6bbE.exit.i, label %then-block-86101-.i.i.i.i74.i
then-block-86101-.i.i.i.i74.i: ; preds = %normal-return19.i
invoke void @je_sdallocx(i8* %res.sroa.11.0.copyload141198.i, i64 %109, i32 0)
to label %_ZN27collections..string..String15glue_drop.2775517h925407b7ebadc6bbE.exit.i unwind label %unwind_ast_24637_.i.loopexit
_ZN27collections..string..String15glue_drop.2775517h925407b7ebadc6bbE.exit.i: ; preds = %then-block-86101-.i.i.i.i74.i, %normal-return19.i
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %res.sroa.10.0..sroa_idx138.i, i8* %.sroa.3.sroa.0.0..sroa_idx.i, i64 7, i32 1, i1 false), !noalias !781
br label %next-block.i27
next-block.i27: ; preds = %_ZN27collections..string..String15glue_drop.2775517h925407b7ebadc6bbE.exit.i, %join10.i, %normal-return3.i
%done.1149155.i = phi i8 [ %done.1.ph.i, %join10.i ], [ %done.1.ph.i, %_ZN27collections..string..String15glue_drop.2775517h925407b7ebadc6bbE.exit.i ], [ 1, %normal-return3.i ]
%n.1151153.i = phi i32 [ %n.1.ph.i, %join10.i ], [ %n.1.ph.i, %_ZN27collections..string..String15glue_drop.2775517h925407b7ebadc6bbE.exit.i ], [ %n.0200.i, %normal-return3.i ]
%res.sroa.11.0.copyload142.i = phi i8* [ %res.sroa.11.0.copyload141198.i, %join10.i ], [ %s.sroa.0.0.copyload78.i, %_ZN27collections..string..String15glue_drop.2775517h925407b7ebadc6bbE.exit.i ], [ %res.sroa.11.0.copyload141198.i, %normal-return3.i ]
%134 = phi i8 [ %95, %join10.i ], [ 1, %_ZN27collections..string..String15glue_drop.2775517h925407b7ebadc6bbE.exit.i ], [ %95, %normal-return3.i ]
%135 = phi <2 x i64> [ %96, %join10.i ], [ %132, %_ZN27collections..string..String15glue_drop.2775517h925407b7ebadc6bbE.exit.i ], [ %96, %normal-return3.i ]
%136 = icmp eq i64 %xs.sroa.14.0.copyload1618.i.i, 0
br i1 %136, label %while_cond.backedge.i, label %then-block-86101-.i.i.i
while_cond.backedge.i: ; preds = %then-block-86101-.i.i.i, %next-block.i27
%137 = and i8 %done.1149155.i, 1
%138 = icmp eq i8 %137, 0
br i1 %138, label %while_body.i, label %normal-return1.i
then-block-86101-.i.i.i: ; preds = %next-block.i27
%139 = bitcast i16* %108 to i8*
%140 = shl nuw nsw i64 %xs.sroa.14.0.copyload1618.i.i, 1
invoke void @je_sdallocx(i8* %139, i64 %140, i32 0)
to label %while_cond.backedge.i unwind label %unwind_ast_24637_.i.loopexit
unwind_ast_24637_.i.loopexit: ; preds = %join.i26, %then-block-86101-.i.i.i.i74.i, %then-block-86101-.i.i.i
%lpad.loopexit = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_24637_.i.body
unwind_ast_24637_.i.nonloopexit: ; preds = %then-block-86604-.i17, %next-block1.i18, %then-block-86101-.i.i.i.i54.i, %then-block-86101-.i.i56.i, %then-block-86101-.i.i63.i
%lpad.nonloopexit = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_24637_.i.body
unwind_ast_24637_.i.body: ; preds = %unwind_ast_24637_.i.loopexit, %unwind_ast_24637_.i.nonloopexit, %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit55.i"
%eh.lpad-body29 = phi { i8*, i32 } [ %.fca.1.insert.i, %"_ZN55core..option..Option$LT$collections..string..String$GT$15glue_drop.2787717h26cbeaad255c9f35E.exit55.i" ], [ %lpad.loopexit, %unwind_ast_24637_.i.loopexit ], [ %lpad.nonloopexit, %unwind_ast_24637_.i.nonloopexit ]
%141 = load i64* %vector.i.sroa.16.0..sroa_idx65, align 8, !alias.scope !808
%142 = icmp eq i64 %141, 0
br i1 %142, label %.noexc9, label %then-block-86101-.i38
then-block-86101-.i38: ; preds = %unwind_ast_24637_.i.body
%143 = load i16** %vector.i.sroa.0.0..sroa_idx, align 8, !alias.scope !808
%144 = bitcast i16* %143 to i8*
%145 = shl i64 %141, 1
invoke void @je_sdallocx(i8* %144, i64 %145, i32 0)
to label %.noexc9 unwind label %unwind_ast_24254_.i
.noexc9: ; preds = %unwind_ast_24637_.i.body, %then-block-86101-.i38
call void @llvm.lifetime.end(i64 24, i8* %6), !noalias !769
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.2867217h3b604c9ccf993449E.exit4.i"
normal-return1.i: ; preds = %while_cond.backedge.i
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ret_slot.sroa.2.i.0.i.0..sroa_idx, i8* %res.sroa.10.0..sroa_idx138.i, i64 7, i32 1, i1 false), !noalias !781
call void @llvm.lifetime.end(i64 7, i8* %res.sroa.10.0..sroa_idx138.i)
%ret_slot.sroa.0.0..sroa_idx.i = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %0, i64 0, i32 0
store i8 %134, i8* %ret_slot.sroa.0.0..sroa_idx.i, align 8, !alias.scope !811, !noalias !812
%ret_slot.sroa.2.0..sroa_idx.i = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %0, i64 0, i32 1, i64 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %ret_slot.sroa.2.0..sroa_idx.i, i8* %ret_slot.sroa.2.i.0.i.0..sroa_idx, i64 7, i32 1, i1 false), !noalias !812
%146 = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %0, i64 0, i32 2, i64 0
%res.sroa.11.0.copyload141.c.i = ptrtoint i8* %res.sroa.11.0.copyload142.i to i64
store i64 %res.sroa.11.0.copyload141.c.i, i64* %146, align 8, !alias.scope !811, !noalias !812
%ret_slot.sroa.4.0..sroa_idx.i = getelementptr inbounds %"enum.core::option::Option<[collections::string::String]>[#3]"* %0, i64 0, i32 2, i64 1
%147 = bitcast i64* %ret_slot.sroa.4.0..sroa_idx.i to <2 x i64>*
store <2 x i64> %135, <2 x i64>* %147, align 8, !alias.scope !811, !noalias !812
call void @llvm.lifetime.end(i64 7, i8* %ret_slot.sroa.2.i.0.i.0..sroa_idx)
%148 = load i64* %vector.i.sroa.16.0..sroa_idx65, align 8, !alias.scope !813
%149 = icmp eq i64 %148, 0
br i1 %149, label %_ZN2os13with_env_lock21h10853886365362663552E.exit, label %then-block-86101-.i42
then-block-86101-.i42: ; preds = %normal-return1.i
%150 = load i16** %vector.i.sroa.0.0..sroa_idx, align 8, !alias.scope !813
%151 = bitcast i16* %150 to i8*
%152 = shl i64 %148, 1
invoke void @je_sdallocx(i8* %151, i64 %152, i32 0)
to label %_ZN2os13with_env_lock21h10853886365362663552E.exit unwind label %unwind_ast_24254_.i
unwind_ast_24254_.i: ; preds = %then-block-86101-.i42, %then-block-86101-.i38, %then-block-86101-.i6, %.noexc33
%153 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.2867217h3b604c9ccf993449E.exit4.i"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.2867217h3b604c9ccf993449E.exit4.i": ; preds = %then-block-86101-.i6, %unwind_ast_92709_.i, %unwind_ast_24254_.i, %.noexc9
%eh.lpad-body = phi { i8*, i32 } [ %eh.lpad-body29, %.noexc9 ], [ %153, %unwind_ast_24254_.i ], [ %lpad.phi98, %unwind_ast_92709_.i ], [ %lpad.phi98, %then-block-86101-.i6 ]
%154 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2os13with_env_lock4LOCK20h778e00d1a4fb7f62htgE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !816
call void @LeaveCriticalSection(i8* %154), !noalias !816
resume { i8*, i32 } %eh.lpad-body
_ZN2os13with_env_lock21h10853886365362663552E.exit: ; preds = %normal-return1.i, %then-block-86101-.i42
call void @llvm.lifetime.end(i64 24, i8* %6), !noalias !769
%155 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2os13with_env_lock4LOCK20h778e00d1a4fb7f62htgE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !819
call void @LeaveCriticalSection(i8* %155), !noalias !819
%156 = bitcast %str_slice* %1 to i8*
call void @llvm.lifetime.end(i64 16, i8* %156)
ret void
}
declare i32 @GetEnvironmentVariableW(i16*, i16*, i32) unnamed_addr
declare void @GetSystemInfo(%"struct.libc::types::os::arch::extra::SYSTEM_INFO<[]>[#3]"*) unnamed_addr
declare i32 @CloseHandle(i8*) unnamed_addr
; Function Attrs: nounwind readnone
declare i64 @llvm.bswap.i64(i64) unnamed_addr #6
; Function Attrs: nounwind readonly
declare i64 @strlen(i8* nocapture) unnamed_addr #7
declare i8* @GetCurrentProcess() unnamed_addr
; Function Attrs: nounwind readnone
declare i16 @llvm.bswap.i16(i16) unnamed_addr #6
; Function Attrs: nounwind readnone
declare i32 @llvm.bswap.i32(i32) unnamed_addr #6
; Function Attrs: uwtable
define internal void @_ZN7failure12Stdio.Writer5write20hcb55a460db67bba5GbuE(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72), %"struct.rustrt::util::Stdio<[]>[#8]"* noalias nocapture readonly dereferenceable(4), { i8*, i64 }* noalias nocapture dereferenceable(16)) unnamed_addr #0 {
entry-block:
%3 = bitcast { i8*, i64 }* %2 to i8*
%arg.i.sroa.0.0..sroa_idx = getelementptr inbounds { i8*, i64 }* %2, i64 0, i32 0
%arg.i.sroa.0.0.copyload = load i8** %arg.i.sroa.0.0..sroa_idx, align 8
%arg.i.sroa.5.0..sroa_idx3 = getelementptr inbounds { i8*, i64 }* %2, i64 0, i32 1
%arg.i.sroa.5.0.copyload = load i64* %arg.i.sroa.5.0..sroa_idx3, align 8
%4 = getelementptr inbounds %"struct.rustrt::util::Stdio<[]>[#8]"* %1, i64 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !822, !noalias !825
%6 = trunc i64 %arg.i.sroa.5.0.copyload to i32
%7 = call i32 @_write(i32 %5, i8* %arg.i.sroa.0.0.copyload, i32 %6), !noalias !827
%8 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 0
store i8 0, i8* %8, align 8
tail call void @llvm.lifetime.end(i64 16, i8* %3)
ret void
}
; Function Attrs: inlinehint nounwind readnone uwtable
define internal zeroext i1 @_ZN4path7windows6is_sep20h6f573e8c53e863b9gSoE(i32) unnamed_addr #8 {
entry-block:
%1 = icmp eq i32 %0, 92
%2 = icmp eq i32 %0, 47
%. = or i1 %1, %2
ret i1 %.
}
; Function Attrs: inlinehint nounwind readnone uwtable
define internal zeroext i1 @_ZN4path7windows15is_sep_verbatim20h320874f548df91adwSoE(i32) unnamed_addr #8 {
entry-block:
%1 = icmp eq i32 %0, 92
ret i1 %1
}
declare i32 @WSAGetLastError() unnamed_addr
declare i32 @SetEvent(i8*) unnamed_addr
declare i32 @FormatMessageW(i32, i8*, i32, i32, i16*, i32, i8*) unnamed_addr
declare i8* @CreateEventA(%"struct.libc::types::os::arch::extra::SECURITY_ATTRIBUTES<[]>[#3]"*, i32, i32, i8*) unnamed_addr
declare i32 @WaitForSingleObject(i8*, i32) unnamed_addr
declare i32 @getaddrinfo(i8*, i8*, %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"*, %"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"**) unnamed_addr
declare void @freeaddrinfo(%"struct.libc::types::os::common::bsd44::addrinfo<[]>[#3]"*) unnamed_addr
declare i8* @GetCurrentThread() unnamed_addr
declare void @RtlCaptureContext(%"struct.rt::backtrace::imp::arch::CONTEXT<[]>"*) unnamed_addr
; Function Attrs: uwtable
define internal fastcc void @_ZN2rt9backtrace3imp5write20h2947a14838b12ffaJWtE(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72), { i8*, void (i8*)** }* noalias nocapture dereferenceable(16)) unnamed_addr #0 {
entry-block:
%2 = alloca [0 x %"struct.core::fmt::Argument<[]>[#3]"], align 8
%arg.i12 = alloca { i8*, i64 }, align 8
%arg.i.i = alloca { i8*, i64 }, align 8
%filename_str3.i = alloca %"struct.collections::vec::Vec<[u16]>[#5]", align 8
%3 = alloca %"struct.core::str::Utf16CodeUnits<[]>[#2]", align 8
%arg3.i1658.i = alloca %str_slice, align 8
%arg3.i1561.i = alloca %str_slice, align 8
%arg3.i1546.i = alloca %str_slice, align 8
%arg3.i1473.i = alloca %str_slice, align 8
%arg3.i1380.i = alloca %str_slice, align 8
%arg3.i1349.i = alloca %str_slice, align 8
%arg3.i1290.i = alloca %str_slice, align 8
%arg3.i1191.i = alloca %str_slice, align 8
%arg3.i1160.i = alloca %str_slice, align 8
%arg3.i1105.i = alloca %str_slice, align 8
%arg3.i1028.i = alloca %str_slice, align 8
%arg3.i931.i = alloca %str_slice, align 8
%arg3.i916.i = alloca %str_slice, align 8
%arg3.i837.i = alloca %str_slice, align 8
%arg4.i.i.i = alloca %str_slice, align 8
%4 = alloca %"struct.core::str::CharRange<[]>[#2]", align 8
%arg3.i805.i = alloca %str_slice, align 8
%arg.i.i.i = alloca %str_slice, align 8
%arg2.i791.i = alloca %str_slice, align 8
%arg3.i728.i = alloca %str_slice, align 8
%arg2.i.i = alloca %str_slice, align 8
%arg3.i.i = alloca %str_slice, align 8
%arg5.i.i = alloca %str_slice, align 8
%5 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%arg12.i = alloca %str_slice, align 8
%6 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%7 = alloca %str_slice, align 8
%8 = alloca %"enum.core::option::Option<[uint]>[#3]", align 8
%9 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%10 = alloca %str_slice, align 8
%11 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%12 = alloca %str_slice, align 8
%13 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%14 = alloca %str_slice, align 8
%15 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%16 = alloca %str_slice, align 8
%17 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%18 = alloca %str_slice, align 8
%19 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%20 = alloca %str_slice, align 8
%21 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%22 = alloca %str_slice, align 8
%23 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%24 = alloca %str_slice, align 8
%25 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%26 = alloca %str_slice, align 8
%27 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%28 = alloca %str_slice, align 8
%29 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%30 = alloca %str_slice, align 8
%31 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%32 = alloca %str_slice, align 8
%33 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%34 = alloca %str_slice, align 8
%35 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%arg284.i = alloca %str_slice, align 8
%36 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%37 = alloca %str_slice, align 8
%error.i.i = alloca i64, align 8
%38 = alloca %"struct.core::fmt::Argument<[]>[#3]", align 8
%__args.i.i = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%maybe_library.i = alloca %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]", align 8
%39 = alloca { %"enum.core::option::Option<[path::windows::PathPrefix]>[#2]", %"struct.collections::string::String<[]>[#5]" }, align 8
%40 = alloca %str_slice, align 8
%41 = alloca %str_slice, align 8
%42 = alloca %str_slice, align 8
%lib = alloca %"struct.dynamic_lib::DynamicLibrary<[]>", align 8
%.sroa.10 = alloca [7 x i8], align 1
%43 = alloca %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]", align 8
%44 = alloca %str_slice, align 8
%45 = alloca %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]", align 8
%46 = alloca %str_slice, align 8
%47 = alloca %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]", align 8
%48 = alloca %str_slice, align 8
%49 = alloca %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]", align 8
%50 = alloca %str_slice, align 8
%context = alloca %"struct.rt::backtrace::imp::arch::CONTEXT<[]>", align 16
%frame = alloca %"struct.rt::backtrace::imp::STACKFRAME64<[]>", align 8
%i = alloca i64, align 8
%51 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%__args = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%addr = alloca i64, align 8
%52 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%const94 = alloca i64, align 8
%53 = alloca [3 x %"struct.core::fmt::Argument<[]>[#3]"], align 8
%__args103 = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%info = alloca %"struct.rt::backtrace::imp::SYMBOL_INFO<[]>", align 8
%displacement = alloca i64, align 8
%54 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%__args142 = alloca %"struct.core::fmt::Arguments<[]>[#3]", align 8
%.sroa.26 = alloca [39 x i8], align 1
%.sroa.52 = alloca [7 x i8], align 1
%55 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%trans_slice = alloca { i8*, i64 }, align 8
%56 = alloca %"enum.core::result::Result<[(), io::IoError]>[#2]", align 8
%57 = alloca [1 x i8], align 1
%__fat_ptr224 = alloca { i8*, i64 }, align 8
%.sub475 = getelementptr inbounds [3 x %"struct.core::fmt::Argument<[]>[#3]"]* %53, i64 0, i64 0
%58 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !828
call void @EnterCriticalSection(i8* %58), !noalias !828
br label %for_loopback.i.i.i.i
for_loopback.i.i.i.i: ; preds = %for_body.i.i.i.i, %entry-block
%59 = phi i8* [ %61, %for_body.i.i.i.i ], [ getelementptr inbounds ([11 x i8]* @str31553, i64 0, i64 0), %entry-block ]
%60 = icmp eq i8* %59, getelementptr inbounds ([11 x i8]* @str31553, i64 1, i64 0)
br i1 %60, label %"_ZN96_$LP$core..option..Option$LT$path..windows..PathPrefix$GT$$C$$x20collections..string..String$RP$15glue_drop.2856317he95d8bf56481a6f2E.exit.i.i.i", label %for_body.i.i.i.i
for_body.i.i.i.i: ; preds = %for_loopback.i.i.i.i
%61 = getelementptr inbounds i8* %59, i64 1
%62 = load i8* %59, align 1, !alias.scope !831, !noalias !834
%63 = icmp eq i8 %62, 0
br i1 %63, label %then-block-58103-.i.i, label %for_loopback.i.i.i.i
then-block-58103-.i.i: ; preds = %for_body.i.i.i.i
%64 = bitcast %str_slice* %42 to i8*
call void @llvm.lifetime.start(i64 16, i8* %64), !noalias !843
%65 = getelementptr inbounds %str_slice* %42, i64 0, i32 0
store i8* getelementptr inbounds ([38 x i8]* @str28556, i64 0, i64 0), i8** %65, align 8, !noalias !843
%66 = getelementptr inbounds %str_slice* %42, i64 0, i32 1
store i64 38, i64* %66, align 8, !noalias !843
invoke fastcc void @_ZN6unwind12begin_unwind20h7719782560231522453E(%str_slice* noalias nocapture dereferenceable(16) %42, { %str_slice, i64 }* noalias nocapture readonly dereferenceable(24) @_ZN4path11GenericPath3new10_FILE_LINE20hfb7d95c84f9294ednhpE)
to label %.noexc unwind label %unwind_ast_76057_
.noexc: ; preds = %then-block-58103-.i.i
unreachable
"_ZN96_$LP$core..option..Option$LT$path..windows..PathPrefix$GT$$C$$x20collections..string..String$RP$15glue_drop.2856317he95d8bf56481a6f2E.exit.i.i.i": ; preds = %for_loopback.i.i.i.i
%67 = getelementptr inbounds { %"enum.core::option::Option<[path::windows::PathPrefix]>[#2]", %"struct.collections::string::String<[]>[#5]" }* %39, i64 0, i32 0, i32 0
call void @llvm.lifetime.start(i64 56, i8* %67), !noalias !844
%68 = bitcast %str_slice* %40 to i8*
call void @llvm.lifetime.start(i64 16, i8* %68), !noalias !844
%.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %str_slice* %40, i64 0, i32 0
store i8* getelementptr inbounds ([11 x i8]* @str31553, i64 0, i64 0), i8** %.sroa.0.0..sroa_idx.i.i.i, align 8, !noalias !844
%.sroa.6.0..sroa_idx27.i.i.i = getelementptr inbounds %str_slice* %40, i64 0, i32 1
store i64 11, i64* %.sroa.6.0..sroa_idx27.i.i.i, align 8, !noalias !844
invoke fastcc void @_ZN4path7windows4Path10normalize_20h3428998819594436049E({ %"enum.core::option::Option<[path::windows::PathPrefix]>[#2]", %"struct.collections::string::String<[]>[#5]" }* noalias nocapture sret dereferenceable(56) %39, %str_slice* noalias nocapture dereferenceable(16) %40)
to label %normal-return.i.i.i unwind label %unwind_ast_76057_
normal-return.i.i.i: ; preds = %"_ZN96_$LP$core..option..Option$LT$path..windows..PathPrefix$GT$$C$$x20collections..string..String$RP$15glue_drop.2856317he95d8bf56481a6f2E.exit.i.i.i"
call void @llvm.lifetime.end(i64 16, i8* %68), !noalias !844
%prefix.i.i.i.sroa.0.0.copyload = load i8* %67, align 8
%prefix.i.i.i.sroa.7.0..sroa_idx = getelementptr inbounds { %"enum.core::option::Option<[path::windows::PathPrefix]>[#2]", %"struct.collections::string::String<[]>[#5]" }* %39, i64 0, i32 0, i32 2
%prefix.i.i.i.sroa.7.0..sroa_cast = bitcast [3 x i64]* %prefix.i.i.i.sroa.7.0..sroa_idx to i8*
%prefix.i.i.i.sroa.7.0.copyload = load i8* %prefix.i.i.i.sroa.7.0..sroa_cast, align 8
%prefix.i.i.i.sroa.9.0..sroa_idx = getelementptr inbounds { %"enum.core::option::Option<[path::windows::PathPrefix]>[#2]", %"struct.collections::string::String<[]>[#5]" }* %39, i64 0, i32 0, i32 2, i64 1
%prefix.i.i.i.sroa.9.0.copyload = load i64* %prefix.i.i.i.sroa.9.0..sroa_idx, align 8
%prefix.i.i.i.sroa.10.0..sroa_idx = getelementptr inbounds { %"enum.core::option::Option<[path::windows::PathPrefix]>[#2]", %"struct.collections::string::String<[]>[#5]" }* %39, i64 0, i32 0, i32 2, i64 2
%prefix.i.i.i.sroa.10.0.copyload = load i64* %prefix.i.i.i.sroa.10.0..sroa_idx, align 8
%path.i.i.i.sroa.0.0..sroa_idx = getelementptr inbounds { %"enum.core::option::Option<[path::windows::PathPrefix]>[#2]", %"struct.collections::string::String<[]>[#5]" }* %39, i64 0, i32 1, i32 0, i32 0
%path.i.i.i.sroa.0.0.copyload = load i8** %path.i.i.i.sroa.0.0..sroa_idx, align 8
%path.i.i.i.sroa.8.0..sroa_idx430 = getelementptr inbounds { %"enum.core::option::Option<[path::windows::PathPrefix]>[#2]", %"struct.collections::string::String<[]>[#5]" }* %39, i64 0, i32 1, i32 0, i32 1
%path.i.i.i.sroa.8.0.copyload = load i64* %path.i.i.i.sroa.8.0..sroa_idx430, align 8
%path.i.i.i.sroa.10.0..sroa_idx434 = getelementptr inbounds { %"enum.core::option::Option<[path::windows::PathPrefix]>[#2]", %"struct.collections::string::String<[]>[#5]" }* %39, i64 0, i32 1, i32 0, i32 2
%path.i.i.i.sroa.10.0.copyload = load i64* %path.i.i.i.sroa.10.0..sroa_idx434, align 8
call void @llvm.lifetime.end(i64 56, i8* %67), !noalias !844
%69 = icmp eq i64 %path.i.i.i.sroa.8.0.copyload, 0
br i1 %69, label %then-block-53393-.i.i.i, label %next-block.i.i.i
unwind_ast_53375_.i.i.i: ; preds = %then-block-53393-.i.i.i
%70 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract.i.i.i = extractvalue { i8*, i32 } %70, 0
%.fca.1.extract.i.i.i = extractvalue { i8*, i32 } %70, 1
%71 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %71, label %clean_custom_.i.i.i, label %then-block-86101-.i.i.i14.i.i.i
then-block-86101-.i.i.i14.i.i.i: ; preds = %unwind_ast_53375_.i.i.i
invoke void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0)
to label %clean_custom_.i.i.i unwind label %unwind_ast_76057_
clean_custom_.i.i.i: ; preds = %unwind_ast_53375_3.i.i.i, %then-block-86101-.i.i.i.i19.i.i.i, %unwind_ast_53375_.i.i.i, %then-block-86101-.i.i.i14.i.i.i
%.sroa.4.0.i.i.i = phi i32 [ %.fca.1.extract.i.i.i, %then-block-86101-.i.i.i14.i.i.i ], [ %.fca.1.extract.i.i.i, %unwind_ast_53375_.i.i.i ], [ %.fca.1.extract10.i.i.i, %then-block-86101-.i.i.i.i19.i.i.i ], [ %.fca.1.extract10.i.i.i, %unwind_ast_53375_3.i.i.i ]
%.sroa.0.0.i.i.i = phi i8* [ %.fca.0.extract.i.i.i, %then-block-86101-.i.i.i14.i.i.i ], [ %.fca.0.extract.i.i.i, %unwind_ast_53375_.i.i.i ], [ %.fca.0.extract8.i.i.i, %then-block-86101-.i.i.i.i19.i.i.i ], [ %.fca.0.extract8.i.i.i, %unwind_ast_53375_3.i.i.i ]
%.fca.0.insert.i.i.i = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0.i.i.i, 0
%.fca.1.insert.i.i.i = insertvalue { i8*, i32 } %.fca.0.insert.i.i.i, i32 %.sroa.4.0.i.i.i, 1
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit"
then-block-53393-.i.i.i: ; preds = %normal-return.i.i.i
%72 = bitcast %str_slice* %41 to i8*
call void @llvm.lifetime.start(i64 16, i8* %72), !noalias !844
%73 = getelementptr inbounds %str_slice* %41, i64 0, i32 0
store i8* getelementptr inbounds ([34 x i8]* @str28568, i64 0, i64 0), i8** %73, align 8, !noalias !844
%74 = getelementptr inbounds %str_slice* %41, i64 0, i32 1
store i64 34, i64* %74, align 8, !noalias !844
invoke fastcc void @_ZN6unwind12begin_unwind20h7719782560231522453E(%str_slice* noalias nocapture dereferenceable(16) %41, { %str_slice, i64 }* noalias nocapture readonly dereferenceable(24) @_ZN4path7windows22Path.GenericPathUnsafe13new_unchecked10_FILE_LINE20hfb7d95c84f9294edp3nE)
to label %normal-return1.i.i.i unwind label %unwind_ast_53375_.i.i.i, !noalias !844
normal-return1.i.i.i: ; preds = %then-block-53393-.i.i.i
call void @llvm.lifetime.end(i64 16, i8* %72), !noalias !844
unreachable
next-block.i.i.i: ; preds = %normal-return.i.i.i
%cond.i.i.i.i = icmp eq i8 %prefix.i.i.i.sroa.0.0.copyload, 1
%75 = icmp ult i8 %prefix.i.i.i.sroa.7.0.copyload, 4
%or.cond.i.i.i = and i1 %cond.i.i.i.i, %75
br i1 %or.cond.i.i.i, label %match_else.i.i.i.i, label %else-block.i
join.i.i1: ; preds = %match_case21.i.i.i.i, %match_case20.i.i.i.i, %match_case19.i.i.i.i, %match_case18.i.i.i.i, %match_case17.i.i.i.i, %match_else.i.i.i.i
%sret_slot.0.i.i.i.i = phi i64 [ %83, %match_case21.i.i.i.i ], [ %82, %match_case20.i.i.i.i ], [ 6, %match_case19.i.i.i.i ], [ %80, %match_case18.i.i.i.i ], [ %78, %match_case17.i.i.i.i ], [ 2, %match_else.i.i.i.i ]
%76 = add i64 %sret_slot.0.i.i.i.i, 1
%77 = icmp ugt i64 %path.i.i.i.sroa.8.0.copyload, %76
br i1 %77, label %before_rhs2.i.i, label %else-block.i
match_else.i.i.i.i: ; preds = %next-block.i.i.i
switch i8 %prefix.i.i.i.sroa.7.0.copyload, label %join.i.i1 [
i8 0, label %match_case17.i.i.i.i
i8 1, label %match_case18.i.i.i.i
i8 2, label %match_case19.i.i.i.i
i8 4, label %match_case20.i.i.i.i
i8 3, label %match_case21.i.i.i.i
]
match_case17.i.i.i.i: ; preds = %match_else.i.i.i.i
%78 = add i64 %prefix.i.i.i.sroa.9.0.copyload, 4
br label %join.i.i1
match_case18.i.i.i.i: ; preds = %match_else.i.i.i.i
%79 = add i64 %prefix.i.i.i.sroa.9.0.copyload, 9
%80 = add i64 %79, %prefix.i.i.i.sroa.10.0.copyload
br label %join.i.i1
match_case19.i.i.i.i: ; preds = %match_else.i.i.i.i
br label %join.i.i1
match_case20.i.i.i.i: ; preds = %match_else.i.i.i.i
%81 = add i64 %prefix.i.i.i.sroa.9.0.copyload, 3
%82 = add i64 %81, %prefix.i.i.i.sroa.10.0.copyload
br label %join.i.i1
match_case21.i.i.i.i: ; preds = %match_else.i.i.i.i
%83 = add i64 %prefix.i.i.i.sroa.9.0.copyload, 4
br label %join.i.i1
before_rhs2.i.i: ; preds = %join.i.i1
%uadd.i.i = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %path.i.i.i.sroa.8.0.copyload, i64 -1)
%84 = extractvalue { i64, i1 } %uadd.i.i, 0
%85 = extractvalue { i64, i1 } %uadd.i.i, 1
br i1 %85, label %_ZN4path7windows4Path30has_nonsemantic_trailing_slash20he277c8471f59608dsNoE.exit.i, label %cond.i.i, !prof !848
cond.i.i: ; preds = %before_rhs2.i.i
invoke fastcc void @_ZN9panicking18panic_bounds_check20h8802ab00fb514645w5jE({ %str_slice, i64 }* noalias nocapture readonly dereferenceable(24) @const186, i64 %84, i64 %path.i.i.i.sroa.8.0.copyload)
to label %.noexc3 unwind label %unwind_ast_53375_3.i.i.i.nonloopexit
.noexc3: ; preds = %cond.i.i
unreachable
_ZN4path7windows4Path30has_nonsemantic_trailing_slash20he277c8471f59608dsNoE.exit.i: ; preds = %before_rhs2.i.i
%86 = getelementptr inbounds i8* %path.i.i.i.sroa.0.0.copyload, i64 %84
%87 = load i8* %86, align 1, !noalias !849
%88 = icmp eq i8 %87, 92
br i1 %88, label %join.i, label %else-block.i
else-block.i: ; preds = %_ZN4path7windows4Path30has_nonsemantic_trailing_slash20he277c8471f59608dsNoE.exit.i, %join.i.i1, %next-block.i.i.i
br label %join.i
join.i: ; preds = %else-block.i, %_ZN4path7windows4Path30has_nonsemantic_trailing_slash20he277c8471f59608dsNoE.exit.i
%89 = phi i64 [ %path.i.i.i.sroa.8.0.copyload, %else-block.i ], [ %84, %_ZN4path7windows4Path30has_nonsemantic_trailing_slash20he277c8471f59608dsNoE.exit.i ]
%_ZN4path7windows15is_sep_verbatim20h320874f548df91adwSoE._ZN4path7windows6is_sep20h6f573e8c53e863b9gSoE.i = select i1 %or.cond.i.i.i, i1 (i32)* @_ZN4path7windows15is_sep_verbatim20h320874f548df91adwSoE, i1 (i32)* @_ZN4path7windows6is_sep20h6f573e8c53e863b9gSoE
%90 = getelementptr inbounds i8* %path.i.i.i.sroa.0.0.copyload, i64 %89
br label %for_loopback.i.i
for_loopback.i.i: ; preds = %.noexc4, %join.i
%.sroa.7.16.47.i.i = phi i8* [ %90, %join.i ], [ %.sroa.7.16.48.i.i, %.noexc4 ]
%91 = icmp eq i8* %.sroa.7.16.47.i.i, %path.i.i.i.sroa.0.0.copyload
br i1 %91, label %_ZN3str12str.StrSlice5rfind20h9763738578752146346E.exit.i, label %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit.i.i.i.i.i"
"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit.i.i.i.i.i": ; preds = %for_loopback.i.i
%92 = getelementptr inbounds i8* %.sroa.7.16.47.i.i, i64 -1
%93 = load i8* %92, align 1, !noalias !854
%94 = icmp slt i8 %93, 0
br i1 %94, label %cond.i.i.i.i.i, label %next.i.i.i.i.i
next.i.i.i.i.i: ; preds = %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit.i.i.i.i.i"
%95 = zext i8 %93 to i32
br label %for_body.i.i
cond.i.i.i.i.i: ; preds = %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit.i.i.i.i.i"
%96 = icmp eq i8* %92, %path.i.i.i.sroa.0.0.copyload
br i1 %96, label %next-block11.i.i.i.i.i, label %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit17.i.i.i.i.i"
"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit17.i.i.i.i.i": ; preds = %cond.i.i.i.i.i
%97 = getelementptr inbounds i8* %.sroa.7.16.47.i.i, i64 -2
%98 = load i8* %97, align 1, !noalias !854
%99 = and i8 %98, 31
%100 = zext i8 %99 to i32
%101 = and i8 %98, -64
%102 = icmp eq i8 %101, -128
br i1 %102, label %then-block-110375-.i.i.i.i.i, label %next-block11.i.i.i.i.i
then-block-110375-.i.i.i.i.i: ; preds = %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit17.i.i.i.i.i"
%103 = icmp eq i8* %97, %path.i.i.i.sroa.0.0.copyload
br i1 %103, label %next-block.i.i.i.i.i, label %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit11.i.i.i.i.i"
"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit11.i.i.i.i.i": ; preds = %then-block-110375-.i.i.i.i.i
%104 = getelementptr inbounds i8* %.sroa.7.16.47.i.i, i64 -3
%105 = load i8* %104, align 1, !noalias !854
%106 = and i8 %105, 15
%107 = zext i8 %106 to i32
%108 = and i8 %105, -64
%109 = icmp eq i8 %108, -128
br i1 %109, label %then-block-110407-.i.i.i.i.i, label %next-block.i.i.i.i.i
then-block-110407-.i.i.i.i.i: ; preds = %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit11.i.i.i.i.i"
%110 = icmp eq i8* %104, %path.i.i.i.sroa.0.0.copyload
br i1 %110, label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i.i.i.i.i, label %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit5.i.i.i.i.i"
"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit5.i.i.i.i.i": ; preds = %then-block-110407-.i.i.i.i.i
%111 = getelementptr inbounds i8* %.sroa.7.16.47.i.i, i64 -4
%112 = load i8* %111, align 1, !noalias !854
%phitmp.i.i.i.i.i = and i8 %112, 7
%phitmp18.i.i.i.i.i = zext i8 %phitmp.i.i.i.i.i to i32
%phitmp19.i.i.i.i.i = shl nuw nsw i32 %phitmp18.i.i.i.i.i, 6
br label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i.i.i.i.i
_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i.i.i.i.i: ; preds = %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit5.i.i.i.i.i", %then-block-110407-.i.i.i.i.i
%.sroa.7.16.51.i.i = phi i8* [ %111, %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit5.i.i.i.i.i" ], [ %path.i.i.i.sroa.0.0.copyload, %then-block-110407-.i.i.i.i.i ]
%sret_slot.0.i.i.i.i.i.i = phi i32 [ %phitmp19.i.i.i.i.i, %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit5.i.i.i.i.i" ], [ 0, %then-block-110407-.i.i.i.i.i ]
%113 = and i8 %105, 63
%114 = zext i8 %113 to i32
%115 = or i32 %sret_slot.0.i.i.i.i.i.i, %114
br label %next-block.i.i.i.i.i
next-block.i.i.i.i.i: ; preds = %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i.i.i.i.i, %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit11.i.i.i.i.i", %then-block-110375-.i.i.i.i.i
%.sroa.7.16.50.i.i = phi i8* [ %.sroa.7.16.51.i.i, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i.i.i.i.i ], [ %104, %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit11.i.i.i.i.i" ], [ %path.i.i.i.sroa.0.0.copyload, %then-block-110375-.i.i.i.i.i ]
%ch.0.i.i.i.i.i = phi i32 [ %115, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i.i.i.i.i ], [ %107, %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit11.i.i.i.i.i" ], [ 0, %then-block-110375-.i.i.i.i.i ]
%116 = shl nsw i32 %ch.0.i.i.i.i.i, 6
%117 = and i8 %98, 63
%118 = zext i8 %117 to i32
%119 = or i32 %116, %118
br label %next-block11.i.i.i.i.i
next-block11.i.i.i.i.i: ; preds = %next-block.i.i.i.i.i, %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit17.i.i.i.i.i", %cond.i.i.i.i.i
%.sroa.7.16.49.i.i = phi i8* [ %.sroa.7.16.50.i.i, %next-block.i.i.i.i.i ], [ %97, %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit17.i.i.i.i.i" ], [ %path.i.i.i.sroa.0.0.copyload, %cond.i.i.i.i.i ]
%ch.1.i.i.i.i.i = phi i32 [ %119, %next-block.i.i.i.i.i ], [ %100, %"_ZN5slice68Items$LT$$x27a$C$$x20T$GT$.DoubleEndedIterator$LT$$BP$$x27a$x20T$GT$9next_back21h13328338950546431137E.exit17.i.i.i.i.i" ], [ 0, %cond.i.i.i.i.i ]
%120 = shl i32 %ch.1.i.i.i.i.i, 6
%121 = and i8 %93, 63
%122 = zext i8 %121 to i32
%123 = or i32 %120, %122
br label %for_body.i.i
for_body.i.i: ; preds = %next-block11.i.i.i.i.i, %next.i.i.i.i.i
%.sroa.7.16.48.i.i = phi i8* [ %92, %next.i.i.i.i.i ], [ %.sroa.7.16.49.i.i, %next-block11.i.i.i.i.i ]
%sret_slot.sroa.7.0.i.ph.i.i.i.i = phi i32 [ %95, %next.i.i.i.i.i ], [ %123, %next-block11.i.i.i.i.i ]
%124 = invoke zeroext i1 %_ZN4path7windows15is_sep_verbatim20h320874f548df91adwSoE._ZN4path7windows6is_sep20h6f573e8c53e863b9gSoE.i(i32 %sret_slot.sroa.7.0.i.ph.i.i.i.i)
to label %.noexc4 unwind label %unwind_ast_53375_3.i.i.i.loopexit
.noexc4: ; preds = %for_body.i.i
br i1 %124, label %_ZN3str12str.StrSlice5rfind20h9763738578752146346E.exit.i, label %for_loopback.i.i
_ZN3str12str.StrSlice5rfind20h9763738578752146346E.exit.i: ; preds = %for_loopback.i.i, %.noexc4
%cond.i.i.i = icmp eq i8 %prefix.i.i.i.sroa.0.0.copyload, 0
%125 = bitcast %"struct.dynamic_lib::DynamicLibrary<[]>"* %lib to i8*
call void @llvm.lifetime.start(i64 16, i8* %125)
%.sroa.10.0..sroa_idx89 = getelementptr inbounds [7 x i8]* %.sroa.10, i64 0, i64 0
call void @llvm.lifetime.start(i64 7, i8* %.sroa.10.0..sroa_idx89)
%126 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %maybe_library.i, i64 0, i32 0
call void @llvm.lifetime.start(i64 32, i8* %126), !noalias !866
invoke void @SetLastError(i64 0)
to label %.noexc481 unwind label %unwind_ast_76057_2
unwind_ast_53375_3.i.i.i.loopexit: ; preds = %for_body.i.i
%lpad.loopexit516 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_53375_3.i.i.i
unwind_ast_53375_3.i.i.i.nonloopexit: ; preds = %cond.i.i
%lpad.nonloopexit517 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_53375_3.i.i.i
unwind_ast_53375_3.i.i.i: ; preds = %unwind_ast_53375_3.i.i.i.nonloopexit, %unwind_ast_53375_3.i.i.i.loopexit
%lpad.phi518 = phi { i8*, i32 } [ %lpad.loopexit516, %unwind_ast_53375_3.i.i.i.loopexit ], [ %lpad.nonloopexit517, %unwind_ast_53375_3.i.i.i.nonloopexit ]
%.fca.0.extract8.i.i.i = extractvalue { i8*, i32 } %lpad.phi518, 0
%.fca.1.extract10.i.i.i = extractvalue { i8*, i32 } %lpad.phi518, 1
%127 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %127, label %clean_custom_.i.i.i, label %then-block-86101-.i.i.i.i19.i.i.i
then-block-86101-.i.i.i.i19.i.i.i: ; preds = %unwind_ast_53375_3.i.i.i
invoke void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0)
to label %clean_custom_.i.i.i unwind label %unwind_ast_76057_
.noexc481: ; preds = %_ZN3str12str.StrSlice5rfind20h9763738578752146346E.exit.i
%128 = add i64 %path.i.i.i.sroa.8.0.copyload, 1
%129 = call i8* @malloc(i64 %128) #1, !noalias !869
%130 = icmp eq i8* %129, null
br i1 %130, label %then-block-3666-.i.i, label %"_ZN5c_str18_$x5bu8$x5d.ToCStr18to_c_str_unchecked20hdd6cd20832ad2100K6aE.exit.i"
then-block-3666-.i.i: ; preds = %.noexc481
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE() #1, !noalias !869
unreachable
"_ZN5c_str18_$x5bu8$x5d.ToCStr18to_c_str_unchecked20hdd6cd20832ad2100K6aE.exit.i": ; preds = %.noexc481
call void @llvm.memmove.p0i8.p0i8.i64(i8* %129, i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.8.0.copyload, i32 1, i1 false) #1, !noalias !869
%131 = getelementptr inbounds i8* %129, i64 %path.i.i.i.sroa.8.0.copyload
store i8 0, i8* %131, align 1, !noalias !869
%132 = call i64 @strlen(i8* %129) #1, !noalias !881
%133 = bitcast { i8*, i64 }* %arg.i.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %133) #1, !noalias !887
%.sroa.0472.0..sroa_idx = getelementptr inbounds { i8*, i64 }* %arg.i.i, i64 0, i32 0
store i8* %129, i8** %.sroa.0472.0..sroa_idx, align 8
%.sroa.6.0..sroa_idx478 = getelementptr inbounds { i8*, i64 }* %arg.i.i, i64 0, i32 1
store i64 %132, i64* %.sroa.6.0..sroa_idx478, align 8
%134 = call fastcc zeroext i1 @_ZN3str7is_utf820hd2529f05972ba3c2KfqE({ i8*, i64 }* noalias nocapture dereferenceable(16) %arg.i.i) #1, !noalias !887
call void @llvm.lifetime.end(i64 16, i8* %133) #1, !noalias !887
br i1 %134, label %normal-return4.i, label %match_else.i.i
_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit.i: ; preds = %match_else.i.i
%135 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract.i = extractvalue { i8*, i32 } %135, 0
%.fca.1.extract.i = extractvalue { i8*, i32 } %135, 1
call void @free(i8* %129) #1, !noalias !891
br label %clean_custom_.i7
clean_custom_.i7: ; preds = %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit34.i, %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit28.i, %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit.i
%.sroa.0.0.i = phi i8* [ %.fca.0.extract22.i, %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit34.i ], [ %.fca.0.extract18.i, %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit28.i ], [ %.fca.0.extract.i, %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit.i ]
%.sroa.5.0.i = phi i32 [ %.fca.1.extract24.i, %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit34.i ], [ %.fca.1.extract20.i, %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit28.i ], [ %.fca.1.extract.i, %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit.i ]
%.fca.0.insert.i = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0.i, 0
%.fca.1.insert.i = insertvalue { i8*, i32 } %.fca.0.insert.i, i32 %.sroa.5.0.i, 1
br label %unwind_ast_76057_2.body
match_else.i.i: ; preds = %"_ZN5c_str18_$x5bu8$x5d.ToCStr18to_c_str_unchecked20hdd6cd20832ad2100K6aE.exit.i"
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @"_ZN6option15Option$LT$T$GT$6unwrap14_MSG_FILE_LINE20h88bf3a07bb7eb41dEwmE")
to label %.noexc.i unwind label %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit.i, !noalias !894
.noexc.i: ; preds = %match_else.i.i
unreachable
normal-return4.i: ; preds = %"_ZN5c_str18_$x5bu8$x5d.ToCStr18to_c_str_unchecked20hdd6cd20832ad2100K6aE.exit.i"
%136 = bitcast %"struct.collections::vec::Vec<[u16]>[#5]"* %filename_str3.i to i8*
call void @llvm.lifetime.start(i64 24, i8* %136), !noalias !894
%137 = bitcast %"struct.core::str::Utf16CodeUnits<[]>[#2]"* %3 to i8*
call void @llvm.lifetime.start(i64 24, i8* %137), !noalias !894
%138 = getelementptr inbounds %"struct.core::str::Utf16CodeUnits<[]>[#2]"* %3, i64 0, i32 0, i32 0, i32 0
store i8* %129, i8** %138, align 8, !alias.scope !895, !noalias !902
%139 = getelementptr inbounds %"struct.core::str::Utf16CodeUnits<[]>[#2]"* %3, i64 0, i32 0, i32 0, i32 1
%140 = getelementptr inbounds i8* %129, i64 %132
store i8* %140, i8** %139, align 8, !alias.scope !895, !noalias !902
%141 = getelementptr inbounds %"struct.core::str::Utf16CodeUnits<[]>[#2]"* %3, i64 0, i32 1
store i16 0, i16* %141, align 8, !alias.scope !906, !noalias !907
invoke fastcc void @_ZN4iter8Iterator7collect20h7293372110316553761E(%"struct.collections::vec::Vec<[u16]>[#5]"* noalias nocapture sret dereferenceable(24) %filename_str3.i, %"struct.core::str::Utf16CodeUnits<[]>[#2]"* noalias dereferenceable(24) %3)
to label %normal-return7.i unwind label %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit28.i, !noalias !894
_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit28.i: ; preds = %normal-return4.i
%142 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract18.i = extractvalue { i8*, i32 } %142, 0
%.fca.1.extract20.i = extractvalue { i8*, i32 } %142, 1
call void @free(i8* %129) #1, !noalias !908
br label %clean_custom_.i7
normal-return7.i: ; preds = %normal-return4.i
call void @llvm.lifetime.end(i64 24, i8* %137), !noalias !894
%143 = getelementptr inbounds %"struct.collections::vec::Vec<[u16]>[#5]"* %filename_str3.i, i64 0, i32 1
%144 = getelementptr inbounds %"struct.collections::vec::Vec<[u16]>[#5]"* %filename_str3.i, i64 0, i32 2
%145 = load i64* %143, align 8, !alias.scope !911, !noalias !894
%146 = load i64* %144, align 8, !alias.scope !911, !noalias !894
%147 = icmp eq i64 %145, %146
br i1 %147, label %then-block-86572-.i.i, label %entry-block.next-block3_crit_edge.i.i
entry-block.next-block3_crit_edge.i.i: ; preds = %normal-return7.i
%.phi.trans.insert.i.i = getelementptr inbounds %"struct.collections::vec::Vec<[u16]>[#5]"* %filename_str3.i, i64 0, i32 0
%.pre.i.i = load i16** %.phi.trans.insert.i.i, align 8, !alias.scope !911, !noalias !894
br label %normal-return12.i
then-block-86572-.i.i: ; preds = %normal-return7.i
%148 = shl i64 %145, 1
%149 = icmp ugt i64 %148, 4
%.op.i.i = shl i64 %145, 2
%150 = select i1 %149, i64 %.op.i.i, i64 8
%151 = icmp ugt i64 %148, %150
br i1 %151, label %then-block-86604-.i.i, label %next-block1.i.i
then-block-86604-.i.i: ; preds = %then-block-86572-.i.i
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @"_ZN3vec12Vec$LT$T$GT$4push14_MSG_FILE_LINE20h73a791f0248413baEnjE")
to label %.noexc29.i unwind label %unwind_ast_23662_9.i, !noalias !894
.noexc29.i: ; preds = %then-block-86604-.i.i
unreachable
next-block1.i.i: ; preds = %then-block-86572-.i.i
%152 = getelementptr inbounds %"struct.collections::vec::Vec<[u16]>[#5]"* %filename_str3.i, i64 0, i32 0
%153 = load i16** %152, align 8, !alias.scope !911, !noalias !894
%154 = bitcast i16* %153 to %"struct.path::windows::Path<[]>"*
%155 = invoke fastcc %"struct.path::windows::Path<[]>"* @_ZN3vec16alloc_or_realloc20h2838219891966824316E(%"struct.path::windows::Path<[]>"* %154, i64 %148, i64 %150)
to label %.noexc30.i unwind label %unwind_ast_23662_9.i, !noalias !894
.noexc30.i: ; preds = %next-block1.i.i
%156 = bitcast %"struct.path::windows::Path<[]>"* %155 to i16*
store i16* %156, i16** %152, align 8, !alias.scope !911, !noalias !894
%157 = icmp eq %"struct.path::windows::Path<[]>"* %155, null
br i1 %157, label %then-block-86645-.i.i, label %next-block2.i.i
then-block-86645-.i.i: ; preds = %.noexc30.i
call fastcc void @_ZN3oom20heb64331fabedeb18pTaE(), !noalias !894
unreachable
next-block2.i.i: ; preds = %.noexc30.i
%158 = icmp ugt i64 %145, 2
%159 = select i1 %158, i64 %148, i64 4
store i64 %159, i64* %144, align 8, !alias.scope !911, !noalias !894
br label %normal-return12.i
unwind_ast_23662_9.i: ; preds = %next-block1.i.i, %then-block-86604-.i.i
%160 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract22.i = extractvalue { i8*, i32 } %160, 0
%.fca.1.extract24.i = extractvalue { i8*, i32 } %160, 1
%161 = icmp eq i64 %145, 0
br i1 %161, label %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit34.i, label %then-block-86101-.i.i.i
then-block-86101-.i.i.i: ; preds = %unwind_ast_23662_9.i
%162 = getelementptr inbounds %"struct.collections::vec::Vec<[u16]>[#5]"* %filename_str3.i, i64 0, i32 0
%163 = load i16** %162, align 8, !alias.scope !914, !noalias !894
%164 = bitcast i16* %163 to i8*
invoke void @je_sdallocx(i8* %164, i64 %148, i32 0)
to label %_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit34.i unwind label %unwind_ast_76057_2
_ZN22rustrt..c_str..CString15glue_drop.2973917hcbf83395f22a9250E.exit34.i: ; preds = %unwind_ast_23662_9.i, %then-block-86101-.i.i.i
call void @llvm.lifetime.end(i64 24, i8* %136), !noalias !894
call void @free(i8* %129) #1, !noalias !917
br label %clean_custom_.i7
normal-return12.i: ; preds = %next-block2.i.i, %entry-block.next-block3_crit_edge.i.i
%165 = phi i64 [ %146, %entry-block.next-block3_crit_edge.i.i ], [ %159, %next-block2.i.i ]
%166 = phi i16* [ %.pre.i.i, %entry-block.next-block3_crit_edge.i.i ], [ %156, %next-block2.i.i ]
%167 = getelementptr inbounds i16* %166, i64 %145
store i16 0, i16* %167, align 2, !noalias !920
%168 = add i64 %145, 1
store i64 %168, i64* %143, align 8, !alias.scope !911, !noalias !894
%169 = bitcast i16* %166 to i8*
%170 = invoke i8* @LoadLibraryW(i8* %169)
to label %.noexc10 unwind label %unwind_ast_76057_2
.noexc10: ; preds = %normal-return12.i
%171 = icmp eq i64 %165, 0
br i1 %171, label %.noexc482, label %then-block-86101-.i.i37.i
then-block-86101-.i.i37.i: ; preds = %.noexc10
%172 = shl i64 %165, 1
invoke void @je_sdallocx(i8* %169, i64 %172, i32 0)
to label %.noexc482 unwind label %unwind_ast_76057_2
.noexc482: ; preds = %.noexc10, %then-block-86101-.i.i37.i
call void @llvm.lifetime.end(i64 24, i8* %136), !noalias !894
call void @free(i8* %129) #1, !noalias !921
%173 = bitcast i64* %error.i.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %173), !noalias !924
%174 = invoke i32 @GetLastError()
to label %.noexc483 unwind label %unwind_ast_76057_2
.noexc483: ; preds = %.noexc482
%175 = zext i32 %174 to i64
store i64 %175, i64* %error.i.i, align 8, !noalias !924
%176 = icmp eq i32 %174, 0
br i1 %176, label %"_ZN89core..result..Result$LT$dynamic_lib..DynamicLibrary$C$$x20collections..string..String$GT$15glue_drop.3156517h99490a4e8fad78e1E.exit499", label %enum-iter-variant-1.i.i
enum-iter-variant-1.i.i: ; preds = %.noexc483
%177 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %maybe_library.i, i64 0, i32 2
%178 = bitcast [3 x i64]* %177 to %"struct.collections::string::String<[]>[#5]"*
%179 = bitcast %"struct.core::fmt::Argument<[]>[#3]"* %38 to i8*
call void @llvm.lifetime.start(i64 16, i8* %179), !noalias !924
%180 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %38, i64 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (i64*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @_ZN3fmt3num14uint.fmt..Show3fmt20h36c8eec5263e7b99uHxE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %180, align 8, !alias.scope !928, !noalias !931
%181 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#3]"* %38, i64 0, i32 1
%.c3.i.i.i = bitcast i64* %error.i.i to %"enum.core::fmt::Void<[]>[#3]"*
store %"enum.core::fmt::Void<[]>[#3]"* %.c3.i.i.i, %"enum.core::fmt::Void<[]>[#3]"** %181, align 8, !alias.scope !928, !noalias !931
%182 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i to i8*
call void @llvm.lifetime.start(i64 48, i8* %182), !noalias !924
%__fat_ptr1.sroa.0.0..sroa_idx.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN11dynamic_lib2dl19check_for_errors_in15__STATIC_FMTSTR20h3b268a400200c96eOlgE, i64 0, i64 0), %str_slice** %__fat_ptr1.sroa.0.0..sroa_idx.i.i, align 8, !noalias !924
%__fat_ptr1.sroa.5.0..sroa_idx23.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr1.sroa.5.0..sroa_idx23.i.i, align 8, !noalias !924
%183 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %183, align 8, !alias.scope !933, !noalias !936
%__fat_ptr3.sroa.0.0..sroa_idx.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %38, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr3.sroa.0.0..sroa_idx.i.i, align 8, !noalias !924
%__fat_ptr3.sroa.5.0..sroa_idx18.i.i = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args.i.i, i64 0, i32 2, i32 1
store i64 1, i64* %__fat_ptr3.sroa.5.0..sroa_idx18.i.i, align 8, !noalias !924
invoke fastcc void @_ZN3fmt6format20hc783d5e6ae5c996eGCpE(%"struct.collections::string::String<[]>[#5]"* noalias nocapture sret dereferenceable(24) %178, %"struct.core::fmt::Arguments<[]>[#3]"* noalias nocapture readonly dereferenceable(48) %__args.i.i)
to label %enum-iter-variant-1.i unwind label %unwind_ast_76057_2
unwind_ast_76057_: ; preds = %then-block-86101-.i.i.i.i19.i.i.i, %then-block-86101-.i.i.i14.i.i.i, %"_ZN96_$LP$core..option..Option$LT$path..windows..PathPrefix$GT$$C$$x20collections..string..String$RP$15glue_drop.2856317he95d8bf56481a6f2E.exit.i.i.i", %then-block-58103-.i.i
%184 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit": ; preds = %unwind_ast_76057_, %clean_custom_.i.i.i
%eh.lpad-body = phi { i8*, i32 } [ %184, %unwind_ast_76057_ ], [ %.fca.1.insert.i.i.i, %clean_custom_.i.i.i ]
%.fca.0.extract = extractvalue { i8*, i32 } %eh.lpad-body, 0
%.fca.1.extract = extractvalue { i8*, i32 } %eh.lpad-body, 1
%185 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !939
call void @LeaveCriticalSection(i8* %185), !noalias !939
br label %clean_custom_
clean_custom_: ; preds = %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit591", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit564", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit544", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit524", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit505", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit486", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit"
%.sroa.0.0 = phi i8* [ %.sroa.0.1, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit591" ], [ %.fca.0.extract419, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit564" ], [ %.fca.0.extract415, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit544" ], [ %.fca.0.extract411, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit524" ], [ %.fca.0.extract407, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit505" ], [ %.fca.0.extract403, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit486" ], [ %.fca.0.extract, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit" ]
%.sroa.19.0 = phi i32 [ %.sroa.19.1, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit591" ], [ %.fca.1.extract421, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit564" ], [ %.fca.1.extract417, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit544" ], [ %.fca.1.extract413, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit524" ], [ %.fca.1.extract409, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit505" ], [ %.fca.1.extract405, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit486" ], [ %.fca.1.extract, %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit" ]
%186 = bitcast { i8*, void (i8*)** }* %1 to i8*
call void @llvm.lifetime.end(i64 16, i8* %186)
%.fca.0.insert = insertvalue { i8*, i32 } undef, i8* %.sroa.0.0, 0
%.fca.1.insert = insertvalue { i8*, i32 } %.fca.0.insert, i32 %.sroa.19.0, 1
resume { i8*, i32 } %.fca.1.insert
unwind_ast_76057_2: ; preds = %then-block-86101-.i.i37.i, %normal-return12.i, %then-block-86101-.i.i.i, %enum-iter-variant-1.i.i, %.noexc482, %_ZN3str12str.StrSlice5rfind20h9763738578752146346E.exit.i
%187 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_76057_2.body
unwind_ast_76057_2.body: ; preds = %clean_custom_.i7, %unwind_ast_76057_2
%eh.lpad-body8 = phi { i8*, i32 } [ %187, %unwind_ast_76057_2 ], [ %.fca.1.insert.i, %clean_custom_.i7 ]
%.fca.0.extract403 = extractvalue { i8*, i32 } %eh.lpad-body8, 0
%.fca.1.extract405 = extractvalue { i8*, i32 } %eh.lpad-body8, 1
%188 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %188, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit486", label %then-block-86101-.i.i.i.i
then-block-86101-.i.i.i.i: ; preds = %unwind_ast_76057_2.body
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !942
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit486"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit486": ; preds = %then-block-86101-.i.i.i.i, %unwind_ast_76057_2.body
%189 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !945
call void @LeaveCriticalSection(i8* %189), !noalias !945
br label %clean_custom_
enum-iter-variant-1.i: ; preds = %enum-iter-variant-1.i.i
call void @llvm.lifetime.end(i64 48, i8* %182), !noalias !924
call void @llvm.lifetime.end(i64 16, i8* %179), !noalias !924
store i8 1, i8* %126, align 8, !alias.scope !948, !noalias !949
call void @llvm.lifetime.end(i64 8, i8* %173), !noalias !924
%.sroa.574.8..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %maybe_library.i, i64 0, i32 2, i64 0
%.sroa.574.8.copyload = load i64* %.sroa.574.8..sroa_idx, align 8
%.sroa.10.8..sroa_raw_cast = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %maybe_library.i, i64 0, i32 0
%.sroa.10.8..sroa_raw_idx = getelementptr inbounds i8* %.sroa.10.8..sroa_raw_cast, i64 17
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.10.0..sroa_idx89, i8* %.sroa.10.8..sroa_raw_idx, i64 7, i32 1, i1 false)
%.sroa.1085.8..sroa_idx88 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %maybe_library.i, i64 0, i32 2, i64 2
%.sroa.1085.8.copyload = load i64* %.sroa.1085.8..sroa_idx88, align 8
call void @llvm.lifetime.end(i64 32, i8* %126), !noalias !866
%190 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 0
store i8 0, i8* %190, align 8
%191 = icmp eq i64 %.sroa.1085.8.copyload, 0
br i1 %191, label %"_ZN89core..result..Result$LT$dynamic_lib..DynamicLibrary$C$$x20collections..string..String$GT$15glue_drop.3156517h99490a4e8fad78e1E.exit", label %then-block-86101-.i.i.i.i488
then-block-86101-.i.i.i.i488: ; preds = %enum-iter-variant-1.i
%192 = inttoptr i64 %.sroa.574.8.copyload to i8*
call void @je_sdallocx(i8* %192, i64 %.sroa.1085.8.copyload, i32 0), !noalias !950
br label %"_ZN89core..result..Result$LT$dynamic_lib..DynamicLibrary$C$$x20collections..string..String$GT$15glue_drop.3156517h99490a4e8fad78e1E.exit"
"_ZN89core..result..Result$LT$dynamic_lib..DynamicLibrary$C$$x20collections..string..String$GT$15glue_drop.3156517h99490a4e8fad78e1E.exit": ; preds = %then-block-86101-.i.i.i.i488, %enum-iter-variant-1.i
call void @llvm.lifetime.end(i64 7, i8* %.sroa.10.0..sroa_idx89)
%193 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %193, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit492", label %then-block-86101-.i.i.i.i489
then-block-86101-.i.i.i.i489: ; preds = %"_ZN89core..result..Result$LT$dynamic_lib..DynamicLibrary$C$$x20collections..string..String$GT$15glue_drop.3156517h99490a4e8fad78e1E.exit"
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !953
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit492"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit492": ; preds = %then-block-86101-.i.i.i.i489, %"_ZN89core..result..Result$LT$dynamic_lib..DynamicLibrary$C$$x20collections..string..String$GT$15glue_drop.3156517h99490a4e8fad78e1E.exit"
%194 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !956
call void @LeaveCriticalSection(i8* %194), !noalias !956
br label %clean_custom_6
"_ZN89core..result..Result$LT$dynamic_lib..DynamicLibrary$C$$x20collections..string..String$GT$15glue_drop.3156517h99490a4e8fad78e1E.exit499": ; preds = %.noexc483
call void @llvm.lifetime.end(i64 8, i8* %173), !noalias !924
call void @llvm.lifetime.end(i64 32, i8* %126), !noalias !866
%195 = getelementptr inbounds %"struct.dynamic_lib::DynamicLibrary<[]>"* %lib, i64 0, i32 0
store i8* %170, i8** %195, align 8
%.sroa.9.8..sroa_idx78 = getelementptr inbounds %"struct.dynamic_lib::DynamicLibrary<[]>"* %lib, i64 0, i32 1
store i8 1, i8* %.sroa.9.8..sroa_idx78, align 8
%.sroa.10.8..sroa_raw_idx83 = getelementptr inbounds i8* %125, i64 9
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.10.8..sroa_raw_idx83, i8* %.sroa.10.0..sroa_idx89, i64 7, i32 1, i1 false)
call void @llvm.lifetime.end(i64 7, i8* %.sroa.10.0..sroa_idx89)
%196 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %43, i64 0, i32 0
call void @llvm.lifetime.start(i64 32, i8* %196)
%197 = bitcast %str_slice* %44 to i8*
call void @llvm.lifetime.start(i64 16, i8* %197)
%198 = getelementptr inbounds %str_slice* %44, i64 0, i32 0
store i8* getelementptr inbounds ([11 x i8]* @str31571, i64 0, i64 0), i8** %198, align 8
%199 = getelementptr inbounds %str_slice* %44, i64 0, i32 1
store i64 11, i64* %199, align 8
invoke fastcc void @_ZN11dynamic_lib14DynamicLibrary6symbol21h12227373527509441147E(%"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* noalias nocapture sret dereferenceable(32) %43, %"struct.dynamic_lib::DynamicLibrary<[]>"* noalias readonly dereferenceable(16) %lib, %str_slice* noalias nocapture dereferenceable(16) %44)
to label %normal-return8 unwind label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit501
clean_custom_6: ; preds = %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit627", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit619", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit584", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit574", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit554", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit534", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit514", %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit492"
%200 = bitcast { i8*, void (i8*)** }* %1 to i8*
call void @llvm.lifetime.end(i64 16, i8* %200)
ret void
normal-return8: ; preds = %"_ZN89core..result..Result$LT$dynamic_lib..DynamicLibrary$C$$x20collections..string..String$GT$15glue_drop.3156517h99490a4e8fad78e1E.exit499"
call void @llvm.lifetime.end(i64 16, i8* %197)
%201 = load i8* %196, align 8, !range !38
%cond240 = icmp eq i8 %201, 0
br i1 %cond240, label %"_ZN75core..result..Result$LT$$RP$mut$x20u8$C$$x20collections..string..String$GT$15glue_drop.3155917h4821e3e98336b83fE.exit518", label %match_else13
_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit501: ; preds = %"_ZN89core..result..Result$LT$dynamic_lib..DynamicLibrary$C$$x20collections..string..String$GT$15glue_drop.3156517h99490a4e8fad78e1E.exit499"
%202 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract407 = extractvalue { i8*, i32 } %202, 0
%.fca.1.extract409 = extractvalue { i8*, i32 } %202, 1
call fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %170)
call void @llvm.lifetime.end(i64 16, i8* %125)
%203 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %203, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit505", label %then-block-86101-.i.i.i.i502
then-block-86101-.i.i.i.i502: ; preds = %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit501
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !959
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit505"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit505": ; preds = %then-block-86101-.i.i.i.i502, %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit501
%204 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !962
call void @LeaveCriticalSection(i8* %204), !noalias !962
br label %clean_custom_
match_else13: ; preds = %normal-return8
%205 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 0
store i8 0, i8* %205, align 8
%cond.i506 = icmp eq i8 %201, 1
br i1 %cond.i506, label %enum-iter-variant-1.i507, label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit510
enum-iter-variant-1.i507: ; preds = %match_else13
%206 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %43, i64 0, i32 2, i64 2
%207 = load i64* %206, align 8, !alias.scope !965
%208 = icmp eq i64 %207, 0
br i1 %208, label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit510, label %then-block-86101-.i.i.i.i508
then-block-86101-.i.i.i.i508: ; preds = %enum-iter-variant-1.i507
%209 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %43, i64 0, i32 2
%210 = bitcast [3 x i64]* %209 to i8**
%211 = load i8** %210, align 8, !alias.scope !965
call void @je_sdallocx(i8* %211, i64 %207, i32 0), !noalias !965
br label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit510
_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit510: ; preds = %then-block-86101-.i.i.i.i508, %enum-iter-variant-1.i507, %match_else13
call void @llvm.lifetime.end(i64 32, i8* %196)
call fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %170)
call void @llvm.lifetime.end(i64 16, i8* %125)
%212 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %212, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit514", label %then-block-86101-.i.i.i.i511
then-block-86101-.i.i.i.i511: ; preds = %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit510
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !968
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit514"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit514": ; preds = %then-block-86101-.i.i.i.i511, %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit510
%213 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !971
call void @LeaveCriticalSection(i8* %213), !noalias !971
br label %clean_custom_6
"_ZN75core..result..Result$LT$$RP$mut$x20u8$C$$x20collections..string..String$GT$15glue_drop.3155917h4821e3e98336b83fE.exit518": ; preds = %normal-return8
%214 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %43, i64 0, i32 2
%215 = bitcast [3 x i64]* %214 to i8**
%216 = load i8** %215, align 8
%217 = bitcast i8* %216 to i32 (i8*, i64, i64*, %"struct.rt::backtrace::imp::SYMBOL_INFO<[]>"*)*
call void @llvm.lifetime.end(i64 32, i8* %196)
%218 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %45, i64 0, i32 0
call void @llvm.lifetime.start(i64 32, i8* %218)
%219 = bitcast %str_slice* %46 to i8*
call void @llvm.lifetime.start(i64 16, i8* %219)
%220 = getelementptr inbounds %str_slice* %46, i64 0, i32 0
store i8* getelementptr inbounds ([13 x i8]* @str31572, i64 0, i64 0), i8** %220, align 8
%221 = getelementptr inbounds %str_slice* %46, i64 0, i32 1
store i64 13, i64* %221, align 8
invoke fastcc void @_ZN11dynamic_lib14DynamicLibrary6symbol21h12227373527509441147E(%"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* noalias nocapture sret dereferenceable(32) %45, %"struct.dynamic_lib::DynamicLibrary<[]>"* noalias readonly dereferenceable(16) %lib, %str_slice* noalias nocapture dereferenceable(16) %46)
to label %normal-return17 unwind label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit520
normal-return17: ; preds = %"_ZN75core..result..Result$LT$$RP$mut$x20u8$C$$x20collections..string..String$GT$15glue_drop.3155917h4821e3e98336b83fE.exit518"
call void @llvm.lifetime.end(i64 16, i8* %219)
%222 = load i8* %218, align 8, !range !38
%cond241 = icmp eq i8 %222, 0
br i1 %cond241, label %"_ZN75core..result..Result$LT$$RP$mut$x20u8$C$$x20collections..string..String$GT$15glue_drop.3155917h4821e3e98336b83fE.exit538", label %match_else24
_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit520: ; preds = %"_ZN75core..result..Result$LT$$RP$mut$x20u8$C$$x20collections..string..String$GT$15glue_drop.3155917h4821e3e98336b83fE.exit518"
%223 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract411 = extractvalue { i8*, i32 } %223, 0
%.fca.1.extract413 = extractvalue { i8*, i32 } %223, 1
call fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %170)
call void @llvm.lifetime.end(i64 16, i8* %125)
%224 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %224, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit524", label %then-block-86101-.i.i.i.i521
then-block-86101-.i.i.i.i521: ; preds = %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit520
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !974
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit524"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit524": ; preds = %then-block-86101-.i.i.i.i521, %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit520
%225 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !977
call void @LeaveCriticalSection(i8* %225), !noalias !977
br label %clean_custom_
match_else24: ; preds = %normal-return17
%226 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 0
store i8 0, i8* %226, align 8
%cond.i525 = icmp eq i8 %222, 1
br i1 %cond.i525, label %enum-iter-variant-1.i526, label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit530
enum-iter-variant-1.i526: ; preds = %match_else24
%227 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %45, i64 0, i32 2, i64 2
%228 = load i64* %227, align 8, !alias.scope !980
%229 = icmp eq i64 %228, 0
br i1 %229, label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit530, label %then-block-86101-.i.i.i.i527
then-block-86101-.i.i.i.i527: ; preds = %enum-iter-variant-1.i526
%230 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %45, i64 0, i32 2
%231 = bitcast [3 x i64]* %230 to i8**
%232 = load i8** %231, align 8, !alias.scope !980
call void @je_sdallocx(i8* %232, i64 %228, i32 0), !noalias !980
br label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit530
_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit530: ; preds = %then-block-86101-.i.i.i.i527, %enum-iter-variant-1.i526, %match_else24
call void @llvm.lifetime.end(i64 32, i8* %218)
%lib.idx28 = getelementptr %"struct.dynamic_lib::DynamicLibrary<[]>"* %lib, i64 0, i32 0
%lib.idx28.val = load i8** %lib.idx28, align 8
call fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %lib.idx28.val)
call void @llvm.lifetime.end(i64 16, i8* %125)
%233 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %233, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit534", label %then-block-86101-.i.i.i.i531
then-block-86101-.i.i.i.i531: ; preds = %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit530
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !983
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit534"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit534": ; preds = %then-block-86101-.i.i.i.i531, %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit530
%234 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !986
call void @LeaveCriticalSection(i8* %234), !noalias !986
br label %clean_custom_6
"_ZN75core..result..Result$LT$$RP$mut$x20u8$C$$x20collections..string..String$GT$15glue_drop.3155917h4821e3e98336b83fE.exit538": ; preds = %normal-return17
%235 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %45, i64 0, i32 2
%236 = bitcast [3 x i64]* %235 to i8**
%237 = load i8** %236, align 8
%238 = bitcast i8* %237 to i32 (i8*, i8*, i32)*
call void @llvm.lifetime.end(i64 32, i8* %218)
%239 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %47, i64 0, i32 0
call void @llvm.lifetime.start(i64 32, i8* %239)
%240 = bitcast %str_slice* %48 to i8*
call void @llvm.lifetime.start(i64 16, i8* %240)
%241 = getelementptr inbounds %str_slice* %48, i64 0, i32 0
store i8* getelementptr inbounds ([10 x i8]* @str31573, i64 0, i64 0), i8** %241, align 8
%242 = getelementptr inbounds %str_slice* %48, i64 0, i32 1
store i64 10, i64* %242, align 8
invoke fastcc void @_ZN11dynamic_lib14DynamicLibrary6symbol21h12227373527509441147E(%"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* noalias nocapture sret dereferenceable(32) %47, %"struct.dynamic_lib::DynamicLibrary<[]>"* noalias readonly dereferenceable(16) %lib, %str_slice* noalias nocapture dereferenceable(16) %48)
to label %normal-return28 unwind label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit540
normal-return28: ; preds = %"_ZN75core..result..Result$LT$$RP$mut$x20u8$C$$x20collections..string..String$GT$15glue_drop.3155917h4821e3e98336b83fE.exit538"
call void @llvm.lifetime.end(i64 16, i8* %240)
%243 = load i8* %239, align 8, !range !38
%cond242 = icmp eq i8 %243, 0
br i1 %cond242, label %"_ZN75core..result..Result$LT$$RP$mut$x20u8$C$$x20collections..string..String$GT$15glue_drop.3155917h4821e3e98336b83fE.exit558", label %match_else35
_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit540: ; preds = %"_ZN75core..result..Result$LT$$RP$mut$x20u8$C$$x20collections..string..String$GT$15glue_drop.3155917h4821e3e98336b83fE.exit538"
%244 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract415 = extractvalue { i8*, i32 } %244, 0
%.fca.1.extract417 = extractvalue { i8*, i32 } %244, 1
%lib.idx27 = getelementptr %"struct.dynamic_lib::DynamicLibrary<[]>"* %lib, i64 0, i32 0
%lib.idx27.val = load i8** %lib.idx27, align 8
call fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %lib.idx27.val)
call void @llvm.lifetime.end(i64 16, i8* %125)
%245 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %245, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit544", label %then-block-86101-.i.i.i.i541
then-block-86101-.i.i.i.i541: ; preds = %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit540
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !989
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit544"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit544": ; preds = %then-block-86101-.i.i.i.i541, %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit540
%246 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !992
call void @LeaveCriticalSection(i8* %246), !noalias !992
br label %clean_custom_
match_else35: ; preds = %normal-return28
%247 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 0
store i8 0, i8* %247, align 8
%cond.i545 = icmp eq i8 %243, 1
br i1 %cond.i545, label %enum-iter-variant-1.i546, label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit550
enum-iter-variant-1.i546: ; preds = %match_else35
%248 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %47, i64 0, i32 2, i64 2
%249 = load i64* %248, align 8, !alias.scope !995
%250 = icmp eq i64 %249, 0
br i1 %250, label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit550, label %then-block-86101-.i.i.i.i547
then-block-86101-.i.i.i.i547: ; preds = %enum-iter-variant-1.i546
%251 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %47, i64 0, i32 2
%252 = bitcast [3 x i64]* %251 to i8**
%253 = load i8** %252, align 8, !alias.scope !995
call void @je_sdallocx(i8* %253, i64 %249, i32 0), !noalias !995
br label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit550
_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit550: ; preds = %then-block-86101-.i.i.i.i547, %enum-iter-variant-1.i546, %match_else35
call void @llvm.lifetime.end(i64 32, i8* %239)
%lib.idx26 = getelementptr %"struct.dynamic_lib::DynamicLibrary<[]>"* %lib, i64 0, i32 0
%lib.idx26.val = load i8** %lib.idx26, align 8
call fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %lib.idx26.val)
call void @llvm.lifetime.end(i64 16, i8* %125)
%254 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %254, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit554", label %then-block-86101-.i.i.i.i551
then-block-86101-.i.i.i.i551: ; preds = %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit550
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !998
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit554"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit554": ; preds = %then-block-86101-.i.i.i.i551, %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit550
%255 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !1001
call void @LeaveCriticalSection(i8* %255), !noalias !1001
br label %clean_custom_6
"_ZN75core..result..Result$LT$$RP$mut$x20u8$C$$x20collections..string..String$GT$15glue_drop.3155917h4821e3e98336b83fE.exit558": ; preds = %normal-return28
%256 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %47, i64 0, i32 2
%257 = bitcast [3 x i64]* %256 to i8**
%258 = load i8** %257, align 8
%259 = bitcast i8* %258 to i32 (i8*)*
call void @llvm.lifetime.end(i64 32, i8* %239)
%260 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %49, i64 0, i32 0
call void @llvm.lifetime.start(i64 32, i8* %260)
%261 = bitcast %str_slice* %50 to i8*
call void @llvm.lifetime.start(i64 16, i8* %261)
%262 = getelementptr inbounds %str_slice* %50, i64 0, i32 0
store i8* getelementptr inbounds ([11 x i8]* @str31574, i64 0, i64 0), i8** %262, align 8
%263 = getelementptr inbounds %str_slice* %50, i64 0, i32 1
store i64 11, i64* %263, align 8
invoke fastcc void @_ZN11dynamic_lib14DynamicLibrary6symbol21h12227373527509441147E(%"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* noalias nocapture sret dereferenceable(32) %49, %"struct.dynamic_lib::DynamicLibrary<[]>"* noalias readonly dereferenceable(16) %lib, %str_slice* noalias nocapture dereferenceable(16) %50)
to label %normal-return39 unwind label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit560
normal-return39: ; preds = %"_ZN75core..result..Result$LT$$RP$mut$x20u8$C$$x20collections..string..String$GT$15glue_drop.3155917h4821e3e98336b83fE.exit558"
call void @llvm.lifetime.end(i64 16, i8* %261)
%264 = load i8* %260, align 8, !range !38
%cond243 = icmp eq i8 %264, 0
br i1 %cond243, label %normal-return50, label %match_else46
_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit560: ; preds = %"_ZN75core..result..Result$LT$$RP$mut$x20u8$C$$x20collections..string..String$GT$15glue_drop.3155917h4821e3e98336b83fE.exit558"
%265 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
%.fca.0.extract419 = extractvalue { i8*, i32 } %265, 0
%.fca.1.extract421 = extractvalue { i8*, i32 } %265, 1
%lib.idx25 = getelementptr %"struct.dynamic_lib::DynamicLibrary<[]>"* %lib, i64 0, i32 0
%lib.idx25.val = load i8** %lib.idx25, align 8
call fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %lib.idx25.val)
call void @llvm.lifetime.end(i64 16, i8* %125)
%266 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %266, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit564", label %then-block-86101-.i.i.i.i561
then-block-86101-.i.i.i.i561: ; preds = %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit560
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !1004
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit564"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit564": ; preds = %then-block-86101-.i.i.i.i561, %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit560
%267 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !1007
call void @LeaveCriticalSection(i8* %267), !noalias !1007
br label %clean_custom_
match_else46: ; preds = %normal-return39
%268 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 0
store i8 0, i8* %268, align 8
%cond.i565 = icmp eq i8 %264, 1
br i1 %cond.i565, label %enum-iter-variant-1.i566, label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit570
enum-iter-variant-1.i566: ; preds = %match_else46
%269 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %49, i64 0, i32 2, i64 2
%270 = load i64* %269, align 8, !alias.scope !1010
%271 = icmp eq i64 %270, 0
br i1 %271, label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit570, label %then-block-86101-.i.i.i.i567
then-block-86101-.i.i.i.i567: ; preds = %enum-iter-variant-1.i566
%272 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %49, i64 0, i32 2
%273 = bitcast [3 x i64]* %272 to i8**
%274 = load i8** %273, align 8, !alias.scope !1010
call void @je_sdallocx(i8* %274, i64 %270, i32 0), !noalias !1010
br label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit570
_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit570: ; preds = %then-block-86101-.i.i.i.i567, %enum-iter-variant-1.i566, %match_else46
call void @llvm.lifetime.end(i64 32, i8* %260)
%lib.idx24 = getelementptr %"struct.dynamic_lib::DynamicLibrary<[]>"* %lib, i64 0, i32 0
%lib.idx24.val = load i8** %lib.idx24, align 8
call fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %lib.idx24.val)
call void @llvm.lifetime.end(i64 16, i8* %125)
%275 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %275, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit574", label %then-block-86101-.i.i.i.i571
then-block-86101-.i.i.i.i571: ; preds = %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit570
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !1013
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit574"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit574": ; preds = %then-block-86101-.i.i.i.i571, %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit570
%276 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !1016
call void @LeaveCriticalSection(i8* %276), !noalias !1016
br label %clean_custom_6
normal-return50: ; preds = %normal-return39
%277 = getelementptr inbounds %"enum.core::result::Result<[*mut u8, collections::string::String]>[#2]"* %49, i64 0, i32 2
%278 = bitcast [3 x i64]* %277 to i8**
%279 = load i8** %278, align 8
%280 = bitcast i8* %279 to i32 (i32, i8*, i8*, %"struct.rt::backtrace::imp::STACKFRAME64<[]>"*, %"struct.rt::backtrace::imp::arch::CONTEXT<[]>"*, i8*, i8*, i8*, i8*)*
call void @llvm.lifetime.end(i64 32, i8* %260)
%281 = call i8* @GetCurrentProcess()
%282 = call i8* @GetCurrentThread()
%283 = bitcast %"struct.rt::backtrace::imp::arch::CONTEXT<[]>"* %context to i8*
call void @llvm.lifetime.start(i64 1232, i8* %283)
%.fca.1.gep330 = getelementptr inbounds %"struct.rt::backtrace::imp::arch::CONTEXT<[]>"* %context, i64 0, i32 1
%.fca.26.gep = getelementptr inbounds %"struct.rt::backtrace::imp::arch::CONTEXT<[]>"* %context, i64 0, i32 26
%.fca.27.gep = getelementptr inbounds %"struct.rt::backtrace::imp::arch::CONTEXT<[]>"* %context, i64 0, i32 27
%.fca.38.gep = getelementptr inbounds %"struct.rt::backtrace::imp::arch::CONTEXT<[]>"* %context, i64 0, i32 38
%284 = bitcast i64* %.fca.1.gep330 to i8*
call void @llvm.memset.p0i8.i64(i8* %284, i8 0, i64 1232, i32 16, i1 false)
call void @RtlCaptureContext(%"struct.rt::backtrace::imp::arch::CONTEXT<[]>"* %context)
%285 = bitcast %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame to i8*
call void @llvm.lifetime.start(i64 264, i8* %285)
%.fca.0.0.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 0, i32 0
%.fca.0.1.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 0, i32 1
store i16 0, i16* %.fca.0.1.gep, align 8
%.fca.0.2.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 0, i32 2
%.fca.1.0.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 1, i32 0
store i64 0, i64* %.fca.1.0.gep, align 8
%.fca.1.1.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 1, i32 1
store i16 0, i16* %.fca.1.1.gep, align 8
%.fca.1.2.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 1, i32 2
store i32 0, i32* %.fca.1.2.gep, align 4
%.fca.2.0.gep324 = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 2, i32 0
%.fca.2.1.gep325 = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 2, i32 1
store i16 0, i16* %.fca.2.1.gep325, align 8
%.fca.2.2.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 2, i32 2
%.fca.3.0.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 3, i32 0
%.fca.3.1.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 3, i32 1
store i16 0, i16* %.fca.3.1.gep, align 8
%.fca.3.2.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 3, i32 2
%.fca.4.0.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 4, i32 0
store i64 0, i64* %.fca.4.0.gep, align 8
%.fca.4.1.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 4, i32 1
store i16 0, i16* %.fca.4.1.gep, align 8
%.fca.4.2.gep = getelementptr inbounds %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, i64 0, i32 4, i32 2
%286 = bitcast i32* %.fca.4.2.gep to i8*
call void @llvm.memset.p0i8.i64(i8* %286, i8 0, i64 188, i32 4, i1 false)
%287 = load i64* %.fca.38.gep, align 8, !alias.scope !1019, !noalias !1022
store i64 %287, i64* %.fca.0.0.gep, align 8, !alias.scope !1022, !noalias !1019
store i32 3, i32* %.fca.0.2.gep, align 4, !alias.scope !1022, !noalias !1019
%288 = load i64* %.fca.26.gep, align 8, !alias.scope !1019, !noalias !1022
store i64 %288, i64* %.fca.3.0.gep, align 8, !alias.scope !1022, !noalias !1019
store i32 3, i32* %.fca.3.2.gep, align 4, !alias.scope !1022, !noalias !1019
%289 = load i64* %.fca.27.gep, align 16, !alias.scope !1019, !noalias !1022
store i64 %289, i64* %.fca.2.0.gep324, align 8, !alias.scope !1022, !noalias !1019
store i32 3, i32* %.fca.2.2.gep, align 4, !alias.scope !1022, !noalias !1019
%290 = call i32 %238(i8* %281, i8* null, i32 1)
%291 = icmp eq i32 %290, 1
br i1 %291, label %normal-return62, label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit580
_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit580: ; preds = %normal-return50
%292 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 0
store i8 0, i8* %292, align 8
call void @llvm.lifetime.end(i64 264, i8* %285)
call void @llvm.lifetime.end(i64 1232, i8* %283)
%lib.idx23 = getelementptr %"struct.dynamic_lib::DynamicLibrary<[]>"* %lib, i64 0, i32 0
%lib.idx23.val = load i8** %lib.idx23, align 8
call fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %lib.idx23.val)
call void @llvm.lifetime.end(i64 16, i8* %125)
%293 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %293, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit584", label %then-block-86101-.i.i.i.i581
then-block-86101-.i.i.i.i581: ; preds = %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit580
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !1024
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit584"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit584": ; preds = %then-block-86101-.i.i.i.i581, %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit580
%294 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !1027
call void @LeaveCriticalSection(i8* %294), !noalias !1027
br label %clean_custom_6
normal-return62: ; preds = %normal-return50
%295 = bitcast i64* %i to i8*
call void @llvm.lifetime.start(i64 8, i8* %295)
store i64 0, i64* %i, align 8
%296 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %51, i64 0, i32 0
call void @llvm.lifetime.start(i64 72, i8* %296)
%297 = bitcast [0 x %"struct.core::fmt::Argument<[]>[#3]"]* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %297)
%298 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args to i8*
call void @llvm.lifetime.start(i64 48, i8* %298)
%299 = getelementptr inbounds [0 x %"struct.core::fmt::Argument<[]>[#3]"]* %2, i64 0, i64 0
%__fat_ptr59.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 0, i32 0
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN2rt9backtrace3imp5write15__STATIC_FMTSTR20h3b268a400200c96eK0tE, i64 0, i64 0), %str_slice** %__fat_ptr59.sroa.0.0..sroa_idx, align 8
%__fat_ptr59.sroa.5.0..sroa_idx1252 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 0, i32 1
store i64 1, i64* %__fat_ptr59.sroa.5.0..sroa_idx1252, align 8
%300 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %300, align 8, !alias.scope !1030, !noalias !1033
%__fat_ptr61.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 2, i32 0
store %"struct.core::fmt::Argument<[]>[#3]"* %299, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr61.sroa.0.0..sroa_idx, align 8
%__fat_ptr61.sroa.5.0..sroa_idx1247 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args, i64 0, i32 2, i32 1
store i64 0, i64* %__fat_ptr61.sroa.5.0..sroa_idx1247, align 8
%301 = getelementptr inbounds { i8*, void (i8*)** }* %1, i64 0, i32 0
%302 = load i8** %301, align 8
%303 = getelementptr inbounds { i8*, void (i8*)** }* %1, i64 0, i32 1
%304 = load void (i8*)*** %303, align 8
%305 = getelementptr inbounds void (i8*)** %304, i64 5
%306 = load void (i8*)** %305, align 8
%307 = bitcast void (i8*)* %306 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %"struct.core::fmt::Arguments<[]>[#3]"*)*
invoke void %307(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %51, i8* noalias nocapture dereferenceable(16) %302, %"struct.core::fmt::Arguments<[]>[#3]"* noalias readonly dereferenceable(48) %__args)
to label %normal-return65 unwind label %unwind_ast_76057_63.nonloopexit
unwind_ast_76057_63.loopexit: ; preds = %next-block222, %normal-return147, %normal-return110
%lpad.loopexit1956 = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_76057_63
unwind_ast_76057_63.nonloopexit: ; preds = %normal-return62
%lpad.nonloopexit = landingpad { i8*, i32 } personality i32 (%"struct.rustrt::unwind::eabi::EXCEPTION_RECORD<[]>[#9]"*, i8*, %"struct.rustrt::unwind::eabi::CONTEXT<[]>[#9]"*, %"struct.rustrt::unwind::eabi::DISPATCHER_CONTEXT<[]>[#9]"*)* @rust_eh_personality
cleanup
br label %unwind_ast_76057_63
unwind_ast_76057_63: ; preds = %unwind_ast_76057_63.nonloopexit, %unwind_ast_76057_63.loopexit
%lpad.phi1957 = phi { i8*, i32 } [ %lpad.loopexit1956, %unwind_ast_76057_63.loopexit ], [ %lpad.nonloopexit, %unwind_ast_76057_63.nonloopexit ]
%.fca.0.extract427 = extractvalue { i8*, i32 } %lpad.phi1957, 0
%.fca.1.extract429 = extractvalue { i8*, i32 } %lpad.phi1957, 1
br label %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit
_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit: ; preds = %clean_ast_76369_160, %unwind_ast_76057_63
%.sroa.0.1 = phi i8* [ %.fca.0.extract451, %clean_ast_76369_160 ], [ %.fca.0.extract427, %unwind_ast_76057_63 ]
%.sroa.19.1 = phi i32 [ %.fca.1.extract453, %clean_ast_76369_160 ], [ %.fca.1.extract429, %unwind_ast_76057_63 ]
call void @llvm.lifetime.end(i64 8, i8* %295)
%308 = call i32 %259(i8* %281), !noalias !1036
call void @llvm.lifetime.end(i64 264, i8* %285)
call void @llvm.lifetime.end(i64 1232, i8* %283)
%309 = load i8* %.sroa.9.8..sroa_idx78, align 8, !range !38
%310 = icmp eq i8 %309, 0
br i1 %310, label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit587, label %cond.i586
cond.i586: ; preds = %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit
%lib.idx22 = getelementptr %"struct.dynamic_lib::DynamicLibrary<[]>"* %lib, i64 0, i32 0
%lib.idx22.val = load i8** %lib.idx22, align 8
call fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %lib.idx22.val)
br label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit587
_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit587: ; preds = %cond.i586, %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit
call void @llvm.lifetime.end(i64 16, i8* %125)
%311 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %311, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit591", label %then-block-86101-.i.i.i.i588
then-block-86101-.i.i.i.i588: ; preds = %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit587
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !1039
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit591"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit591": ; preds = %then-block-86101-.i.i.i.i588, %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit587
%312 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !1042
call void @LeaveCriticalSection(i8* %312), !noalias !1042
br label %clean_custom_
normal-return65: ; preds = %normal-return62
call void @llvm.lifetime.end(i64 48, i8* %298)
%313 = load i8* %296, align 8, !range !38
%cond244 = icmp eq i8 %313, 0
br i1 %cond244, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit": ; preds = %normal-return65
call void @llvm.lifetime.start(i64 0, i8* %297)
call void @llvm.lifetime.end(i64 0, i8* %297)
call void @llvm.lifetime.end(i64 72, i8* %296)
%314 = call i32 %280(i32 34404, i8* %281, i8* %282, %"struct.rt::backtrace::imp::STACKFRAME64<[]>"* %frame, %"struct.rt::backtrace::imp::arch::CONTEXT<[]>"* %context, i8* null, i8* null, i8* null, i8* null)
%315 = icmp eq i32 %314, 1
br i1 %315, label %while_body.lr.ph, label %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit621
while_body.lr.ph: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit"
%316 = bitcast i64* %addr to i8*
%317 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %52, i64 0, i32 0
%318 = bitcast i64* %const94 to i8*
%319 = bitcast [3 x %"struct.core::fmt::Argument<[]>[#3]"]* %53 to i8*
%320 = getelementptr inbounds [3 x %"struct.core::fmt::Argument<[]>[#3]"]* %53, i64 0, i64 0, i32 0
%321 = getelementptr inbounds [3 x %"struct.core::fmt::Argument<[]>[#3]"]* %53, i64 0, i64 0, i32 1
%.c3.i = bitcast i64* %i to %"enum.core::fmt::Void<[]>[#3]"*
%322 = getelementptr inbounds [3 x %"struct.core::fmt::Argument<[]>[#3]"]* %53, i64 0, i64 1, i32 0
%323 = getelementptr inbounds [3 x %"struct.core::fmt::Argument<[]>[#3]"]* %53, i64 0, i64 1, i32 1
%.c.i628 = bitcast i64* %addr to %"enum.core::fmt::Void<[]>[#3]"*
%324 = getelementptr inbounds [3 x %"struct.core::fmt::Argument<[]>[#3]"]* %53, i64 0, i64 2, i32 0
%325 = getelementptr inbounds [3 x %"struct.core::fmt::Argument<[]>[#3]"]* %53, i64 0, i64 2, i32 1
%.c3.i.i = bitcast i64* %const94 to %"enum.core::fmt::Void<[]>[#3]"*
%326 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args103 to i8*
%__fat_ptr105.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args103, i64 0, i32 0, i32 0
%__fat_ptr105.sroa.5.0..sroa_idx1240 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args103, i64 0, i32 0, i32 1
%__fat_ptr107.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args103, i64 0, i32 1, i32 0, i32 0
%__fat_ptr107.sroa.5.0..sroa_idx1235 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args103, i64 0, i32 1, i32 0, i32 1
%__fat_ptr109.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args103, i64 0, i32 2, i32 0
%__fat_ptr109.sroa.5.0..sroa_idx1230 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args103, i64 0, i32 2, i32 1
%327 = bitcast %"struct.rt::backtrace::imp::SYMBOL_INFO<[]>"* %info to i8*
%.fca.0.gep = getelementptr inbounds %"struct.rt::backtrace::imp::SYMBOL_INFO<[]>"* %info, i64 0, i32 0
%.fca.7.gep = getelementptr inbounds %"struct.rt::backtrace::imp::SYMBOL_INFO<[]>"* %info, i64 0, i32 7
%.fca.13.gep = getelementptr inbounds %"struct.rt::backtrace::imp::SYMBOL_INFO<[]>"* %info, i64 0, i32 13
%.fca.14.0.gep = getelementptr inbounds %"struct.rt::backtrace::imp::SYMBOL_INFO<[]>"* %info, i64 0, i32 14, i64 0
%328 = bitcast i64* %displacement to i8*
%329 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %54, i64 0, i32 0
%330 = bitcast %"struct.core::fmt::Arguments<[]>[#3]"* %__args142 to i8*
%__fat_ptr144.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args142, i64 0, i32 0, i32 0
%__fat_ptr144.sroa.5.0..sroa_idx1223 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args142, i64 0, i32 0, i32 1
%331 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args142, i64 0, i32 1, i32 0, i32 0
%__fat_ptr146.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args142, i64 0, i32 2, i32 0
%__fat_ptr146.sroa.5.0..sroa_idx1218 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#3]"* %__args142, i64 0, i32 2, i32 1
%332 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %55, i64 0, i32 0
%333 = bitcast { i8*, i64 }* %trans_slice to i8*
%.sroa.0.0..sroa_idx.i765 = getelementptr inbounds { i8*, i64 }* %trans_slice, i64 0, i32 0
%.sroa.3.0..sroa_idx8.i = getelementptr inbounds { i8*, i64 }* %trans_slice, i64 0, i32 1
%.sroa.52.0..sroa_idx1886 = getelementptr inbounds [7 x i8]* %.sroa.52, i64 0, i64 0
%334 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %6, i64 0, i32 0
%335 = bitcast %str_slice* %7 to i8*
%336 = getelementptr inbounds %str_slice* %7, i64 0, i32 0
%337 = getelementptr inbounds %str_slice* %7, i64 0, i32 1
%338 = bitcast %"struct.core::str::CharRange<[]>[#2]"* %4 to i8*
%339 = getelementptr inbounds %"struct.core::str::CharRange<[]>[#2]"* %4, i64 0, i32 0
%340 = getelementptr inbounds %"struct.core::str::CharRange<[]>[#2]"* %4, i64 0, i32 1
%341 = bitcast %str_slice* %arg4.i.i.i to i8*
%arg.sroa.0.0..sroa_idx3.i.i = getelementptr inbounds %str_slice* %arg4.i.i.i, i64 0, i32 0
%arg.sroa.6.0..sroa_idx8.i.i = getelementptr inbounds %str_slice* %arg4.i.i.i, i64 0, i32 1
%342 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#3]"* %8, i64 0, i32 0
%343 = bitcast %str_slice* %arg.i.i.i to i8*
%.sroa.02172.0..sroa_idx.i = getelementptr inbounds %str_slice* %arg.i.i.i, i64 0, i32 0
%.sroa.52175.0..sroa_idx2177.i = getelementptr inbounds %str_slice* %arg.i.i.i, i64 0, i32 1
%344 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#3]"* %8, i64 0, i32 2, i64 0
%345 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %36, i64 0, i32 0
%346 = bitcast %str_slice* %37 to i8*
%.sroa.022.0..sroa_idx.i.i = getelementptr inbounds %str_slice* %37, i64 0, i32 0
%.sroa.323.0..sroa_idx24.i.i = getelementptr inbounds %str_slice* %37, i64 0, i32 1
%347 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %33, i64 0, i32 0
%348 = bitcast %str_slice* %34 to i8*
%349 = getelementptr inbounds %str_slice* %34, i64 0, i32 0
%350 = getelementptr inbounds %str_slice* %34, i64 0, i32 1
%351 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %31, i64 0, i32 0
%352 = bitcast %str_slice* %32 to i8*
%353 = getelementptr inbounds %str_slice* %32, i64 0, i32 0
%354 = getelementptr inbounds %str_slice* %32, i64 0, i32 1
%355 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %29, i64 0, i32 0
%356 = bitcast %str_slice* %30 to i8*
%357 = getelementptr inbounds %str_slice* %30, i64 0, i32 0
%358 = getelementptr inbounds %str_slice* %30, i64 0, i32 1
%359 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %27, i64 0, i32 0
%360 = bitcast %str_slice* %28 to i8*
%361 = getelementptr inbounds %str_slice* %28, i64 0, i32 0
%362 = getelementptr inbounds %str_slice* %28, i64 0, i32 1
%363 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %25, i64 0, i32 0
%364 = bitcast %str_slice* %26 to i8*
%365 = getelementptr inbounds %str_slice* %26, i64 0, i32 0
%366 = getelementptr inbounds %str_slice* %26, i64 0, i32 1
%367 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %23, i64 0, i32 0
%368 = bitcast %str_slice* %24 to i8*
%369 = getelementptr inbounds %str_slice* %24, i64 0, i32 0
%370 = getelementptr inbounds %str_slice* %24, i64 0, i32 1
%371 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %21, i64 0, i32 0
%372 = bitcast %str_slice* %22 to i8*
%373 = getelementptr inbounds %str_slice* %22, i64 0, i32 0
%374 = getelementptr inbounds %str_slice* %22, i64 0, i32 1
%375 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %19, i64 0, i32 0
%376 = bitcast %str_slice* %20 to i8*
%377 = getelementptr inbounds %str_slice* %20, i64 0, i32 0
%378 = getelementptr inbounds %str_slice* %20, i64 0, i32 1
%379 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %17, i64 0, i32 0
%380 = bitcast %str_slice* %18 to i8*
%381 = getelementptr inbounds %str_slice* %18, i64 0, i32 0
%382 = getelementptr inbounds %str_slice* %18, i64 0, i32 1
%383 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %15, i64 0, i32 0
%384 = bitcast %str_slice* %16 to i8*
%385 = getelementptr inbounds %str_slice* %16, i64 0, i32 0
%386 = getelementptr inbounds %str_slice* %16, i64 0, i32 1
%387 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %13, i64 0, i32 0
%388 = bitcast %str_slice* %14 to i8*
%389 = getelementptr inbounds %str_slice* %14, i64 0, i32 0
%390 = getelementptr inbounds %str_slice* %14, i64 0, i32 1
%391 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %11, i64 0, i32 0
%392 = bitcast %str_slice* %12 to i8*
%393 = getelementptr inbounds %str_slice* %12, i64 0, i32 0
%394 = getelementptr inbounds %str_slice* %12, i64 0, i32 1
%395 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %9, i64 0, i32 0
%396 = bitcast %str_slice* %10 to i8*
%397 = getelementptr inbounds %str_slice* %10, i64 0, i32 0
%398 = getelementptr inbounds %str_slice* %10, i64 0, i32 1
%399 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %35, i64 0, i32 0
%400 = bitcast %str_slice* %arg284.i to i8*
%rest.sroa.0.0..sroa_idx2195.i = getelementptr inbounds %str_slice* %arg284.i, i64 0, i32 0
%rest.sroa.59.0..sroa_idx2201.i = getelementptr inbounds %str_slice* %arg284.i, i64 0, i32 1
%401 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %5, i64 0, i32 0
%402 = bitcast %str_slice* %arg12.i to i8*
%arg180.sroa.0.0..sroa_idx = getelementptr inbounds %str_slice* %arg12.i, i64 0, i32 0
%arg180.sroa.6.0..sroa_idx845 = getelementptr inbounds %str_slice* %arg12.i, i64 0, i32 1
%403 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %56, i64 0, i32 0
%404 = getelementptr inbounds [1 x i8]* %57, i64 0, i64 0
%405 = bitcast { i8*, i64 }* %__fat_ptr224 to i8*
%406 = getelementptr inbounds { i8*, i64 }* %__fat_ptr224, i64 0, i32 0
%407 = getelementptr inbounds { i8*, i64 }* %__fat_ptr224, i64 0, i32 1
%408 = bitcast i64* %.fca.7.gep to i8*
%409 = bitcast { i8*, i64 }* %arg.i12 to i8*
%arg.i.sroa.0.0..sroa_idx = getelementptr inbounds { i8*, i64 }* %arg.i12, i64 0, i32 0
%arg.i.sroa.6.0..sroa_idx470 = getelementptr inbounds { i8*, i64 }* %arg.i12, i64 0, i32 1
%.sroa.26.0..sroa_idx44 = getelementptr inbounds [39 x i8]* %.sroa.26, i64 0, i64 0
br label %while_body
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit: ; preds = %normal-return65
%410 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %51, i64 0, i32 2
%411 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 2
%412 = bitcast [8 x i64]* %410 to i8*
%413 = bitcast [8 x i64]* %411 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %413, i8* %412, i64 64, i32 8, i1 false)
%414 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 0
store i8 1, i8* %414, align 8
call void @llvm.lifetime.end(i64 72, i8* %296)
br label %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit613
_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit613: ; preds = %clean_ast_76369_162, %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit638, %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit
call void @llvm.lifetime.end(i64 8, i8* %295)
%415 = call i32 %259(i8* %281), !noalias !1045
call void @llvm.lifetime.end(i64 264, i8* %285)
call void @llvm.lifetime.end(i64 1232, i8* %283)
%416 = load i8* %.sroa.9.8..sroa_idx78, align 8, !range !38
%417 = icmp eq i8 %416, 0
br i1 %417, label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit615, label %cond.i614
cond.i614: ; preds = %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit613
%lib.idx21 = getelementptr %"struct.dynamic_lib::DynamicLibrary<[]>"* %lib, i64 0, i32 0
%lib.idx21.val = load i8** %lib.idx21, align 8
call fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %lib.idx21.val)
br label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit615
_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit615: ; preds = %cond.i614, %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit613
call void @llvm.lifetime.end(i64 16, i8* %125)
%418 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %418, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit619", label %then-block-86101-.i.i.i.i616
then-block-86101-.i.i.i.i616: ; preds = %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit615
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !1048
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit619"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit619": ; preds = %then-block-86101-.i.i.i.i616, %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit615
%419 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !1051
call void @LeaveCriticalSection(i8* %419), !noalias !1051
br label %clean_custom_6
_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit621: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit800", %clean_ast_76369_, %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit"
%420 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 0
store i8 0, i8* %420, align 8
call void @llvm.lifetime.end(i64 8, i8* %295)
%421 = call i32 %259(i8* %281), !noalias !1054
call void @llvm.lifetime.end(i64 264, i8* %285)
call void @llvm.lifetime.end(i64 1232, i8* %283)
%422 = load i8* %.sroa.9.8..sroa_idx78, align 8, !range !38
%423 = icmp eq i8 %422, 0
br i1 %423, label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit623, label %cond.i622
cond.i622: ; preds = %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit621
%lib.idx = getelementptr %"struct.dynamic_lib::DynamicLibrary<[]>"* %lib, i64 0, i32 0
%lib.idx.val = load i8** %lib.idx, align 8
call fastcc void @_ZN11dynamic_lib19DynamicLibrary.Drop4drop20hfec170e13185d3013cgE(i8* %lib.idx.val)
br label %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit623
_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit623: ; preds = %cond.i622, %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit621
call void @llvm.lifetime.end(i64 16, i8* %125)
%424 = icmp eq i64 %path.i.i.i.sroa.10.0.copyload, 0
br i1 %424, label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit627", label %then-block-86101-.i.i.i.i624
then-block-86101-.i.i.i.i624: ; preds = %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit623
call void @je_sdallocx(i8* %path.i.i.i.sroa.0.0.copyload, i64 %path.i.i.i.sroa.10.0.copyload, i32 0), !noalias !1057
br label %"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit627"
"_ZN37rustrt..mutex..LockGuard$LT$$x27_$GT$15glue_drop.3155417h63677ac69a9b5ea5E.exit627": ; preds = %then-block-86101-.i.i.i.i624, %_ZN27dynamic_lib..DynamicLibrary15glue_drop.3156217h1ca34cb15fd8893fE.exit623
%425 = call fastcc i8* @_ZN5mutex3imp5Mutex7getlock20haa462f02fcb64be1YKbE(%"struct.rustrt::mutex::imp::Mutex<[]>[#9]"* dereferenceable(16) bitcast ({ { { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" }, { { i64 }, %"struct.core::kinds::marker::NoCopy<[]>[#3]" } } }* @_ZN2rt9backtrace3imp5write4LOCK20h778e00d1a4fb7f62VWtE to %"struct.rustrt::mutex::imp::Mutex<[]>[#9]"*)), !noalias !1060
call void @LeaveCriticalSection(i8* %425), !noalias !1060
br label %clean_custom_6
while_body: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit800", %while_body.lr.ph
%.sroa.7.0 = phi i64 [ undef, %while_body.lr.ph ], [ %.sroa.7.2, %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit800" ]
call void @llvm.lifetime.start(i64 8, i8* %316)
%426 = load i64* %.fca.0.0.gep, align 8
store i64 %426, i64* %addr, align 8
%427 = load i64* %.fca.1.0.gep, align 8
%428 = icmp eq i64 %426, %427
%429 = icmp eq i64 %426, 0
%. = or i1 %428, %429
%430 = icmp eq i64 %427, 0
%or.cond = or i1 %., %430
br i1 %or.cond, label %clean_ast_76369_, label %normal-return110
clean_ast_76369_: ; preds = %while_body
call void @llvm.lifetime.end(i64 8, i8* %316)
br label %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit621
normal-return110: ; preds = %while_body
%431 = load i64* %i, align 8
%432 = add i64 %431, 1
store i64 %432, i64* %i, align 8
call void @llvm.lifetime.start(i64 72, i8* %317)
call void @llvm.lifetime.start(i64 8, i8* %318)
store i64 18, i64* %const94, align 8
call void @llvm.lifetime.start(i64 16, i8* %319)
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (i64*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @_ZN3fmt3num13int.fmt..Show3fmt20hfde470e35121a3e4oExE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %320, align 8, !alias.scope !1063, !noalias !1066
store %"enum.core::fmt::Void<[]>[#3]"* %.c3.i, %"enum.core::fmt::Void<[]>[#3]"** %321, align 8, !alias.scope !1063, !noalias !1066
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (i64*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @_ZN3fmt3num17u64.fmt..LowerHex3fmt20h65b198370b0c78c1W7xE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %322, align 8, !alias.scope !1068, !noalias !1071
store %"enum.core::fmt::Void<[]>[#3]"* %.c.i628, %"enum.core::fmt::Void<[]>[#3]"** %323, align 8, !alias.scope !1068, !noalias !1071
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (i64*, %"struct.core::fmt::Formatter<[]>[#3]"*)* @_ZN3fmt3num18uint.fmt..Unsigned3fmt20ha7cf608e312ee84bUHxE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#3]" (%"enum.core::fmt::Void<[]>[#3]"*, %"struct.core::fmt::Formatter<[]>[#3]"*)** %324, align 8, !alias.scope !1073, !noalias !1078
store %"enum.core::fmt::Void<[]>[#3]"* %.c3.i.i, %"enum.core::fmt::Void<[]>[#3]"** %325, align 8, !alias.scope !1073, !noalias !1078
call void @llvm.lifetime.start(i64 48, i8* %326)
store %str_slice* getelementptr inbounds ([2 x %str_slice]* @_ZN2rt9backtrace3imp5write15__STATIC_FMTSTR20h8066512442a01568L2tE, i64 0, i64 0), %str_slice** %__fat_ptr105.sroa.0.0..sroa_idx, align 8
store i64 2, i64* %__fat_ptr105.sroa.5.0..sroa_idx1240, align 8
store %"struct.core::fmt::rt::Argument<[]>[#3]"* bitcast ({ { { i8, [15 x i8] }, { i32, i8, i64, { i8, [15 x i8] }, { i8, i64, [0 x i8] } } }, { { i8, [15 x i8] }, { i32, i8, i64, { i8, [15 x i8] }, { i8, i64, [0 x i8] } } } }* @_ZN2rt9backtrace3imp5write16__STATIC_FMTARGS20hd34c3de82e230c51W2tE to %"struct.core::fmt::rt::Argument<[]>[#3]"*), %"struct.core::fmt::rt::Argument<[]>[#3]"** %__fat_ptr107.sroa.0.0..sroa_idx, align 8
store i64 2, i64* %__fat_ptr107.sroa.5.0..sroa_idx1235, align 8
store %"struct.core::fmt::Argument<[]>[#3]"* %.sub475, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr109.sroa.0.0..sroa_idx, align 8
store i64 3, i64* %__fat_ptr109.sroa.5.0..sroa_idx1230, align 8
%433 = load i8** %301, align 8
%434 = load void (i8*)*** %303, align 8
%435 = getelementptr inbounds void (i8*)** %434, i64 5
%436 = load void (i8*)** %435, align 8
%437 = bitcast void (i8*)* %436 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %"struct.core::fmt::Arguments<[]>[#3]"*)*
invoke void %437(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %52, i8* noalias nocapture dereferenceable(16) %433, %"struct.core::fmt::Arguments<[]>[#3]"* noalias readonly dereferenceable(48) %__args103)
to label %normal-return111 unwind label %unwind_ast_76057_63.loopexit
normal-return111: ; preds = %normal-return110
call void @llvm.lifetime.end(i64 48, i8* %326)
call void @llvm.lifetime.end(i64 48, i8* %319)
%438 = load i8* %317, align 8, !range !38
%cond245 = icmp eq i8 %438, 0
br i1 %cond245, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit634", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit638
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit634": ; preds = %normal-return111
call void @llvm.lifetime.start(i64 0, i8* %297)
call void @llvm.lifetime.end(i64 0, i8* %297)
call void @llvm.lifetime.end(i64 72, i8* %317)
call void @llvm.lifetime.end(i64 8, i8* %318)
call void @llvm.lifetime.start(i64 2088, i8* %327)
call void @llvm.memset.p0i8.i64(i8* %327, i8 0, i64 44, i32 8, i1 false)
call void @llvm.memset.p0i8.i64(i8* %408, i8 0, i64 2036, i32 8, i1 false)
store i32 2000, i32* %.fca.13.gep, align 8
store i32 88, i32* %.fca.0.gep, align 8
call void @llvm.lifetime.start(i64 8, i8* %328)
store i64 0, i64* %displacement, align 8
%439 = load i64* %addr, align 8
%440 = call i32 %217(i8* %281, i64 %439, i64* %displacement, %"struct.rt::backtrace::imp::SYMBOL_INFO<[]>"* %info)
%441 = icmp eq i32 %440, 1
br i1 %441, label %normal-return147, label %next-block222
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit638: ; preds = %normal-return111
%442 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %52, i64 0, i32 2
%443 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 2
%444 = bitcast [8 x i64]* %442 to i8*
%445 = bitcast [8 x i64]* %443 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %445, i8* %444, i64 64, i32 8, i1 false)
%446 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 0
store i8 1, i8* %446, align 8
call void @llvm.lifetime.end(i64 72, i8* %317)
call void @llvm.lifetime.end(i64 8, i8* %318)
call void @llvm.lifetime.end(i64 8, i8* %316)
br label %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit613
normal-return147: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit634"
call void @llvm.lifetime.start(i64 72, i8* %329)
call void @llvm.lifetime.start(i64 0, i8* %297)
call void @llvm.lifetime.end(i64 0, i8* %297)
call void @llvm.lifetime.start(i64 0, i8* %297)
call void @llvm.lifetime.start(i64 16, i8* %297)
call void @llvm.lifetime.start(i64 48, i8* %330)
store %str_slice* getelementptr inbounds ([1 x %str_slice]* @_ZN2rt9backtrace3imp5write15__STATIC_FMTSTR20h3b268a400200c96e24tE, i64 0, i64 0), %str_slice** %__fat_ptr144.sroa.0.0..sroa_idx, align 8
store i64 1, i64* %__fat_ptr144.sroa.5.0..sroa_idx1223, align 8
store %"struct.core::fmt::rt::Argument<[]>[#3]"* null, %"struct.core::fmt::rt::Argument<[]>[#3]"** %331, align 8, !alias.scope !1081, !noalias !1084
store %"struct.core::fmt::Argument<[]>[#3]"* %299, %"struct.core::fmt::Argument<[]>[#3]"** %__fat_ptr146.sroa.0.0..sroa_idx, align 8
store i64 0, i64* %__fat_ptr146.sroa.5.0..sroa_idx1218, align 8
%447 = load void (i8*)** %435, align 8
%448 = bitcast void (i8*)* %447 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %"struct.core::fmt::Arguments<[]>[#3]"*)*
invoke void %448(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %54, i8* noalias nocapture dereferenceable(16) %433, %"struct.core::fmt::Arguments<[]>[#3]"* noalias readonly dereferenceable(48) %__args142)
to label %normal-return148 unwind label %unwind_ast_76057_63.loopexit
normal-return148: ; preds = %normal-return147
call void @llvm.lifetime.end(i64 48, i8* %330)
%449 = load i8* %329, align 8, !range !38
%cond247 = icmp eq i8 %449, 0
br i1 %cond247, label %normal-return170, label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit666
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit666: ; preds = %normal-return148
%450 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %54, i64 0, i32 2
%451 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 2
%452 = bitcast [8 x i64]* %450 to i8*
%453 = bitcast [8 x i64]* %451 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %453, i8* %452, i64 64, i32 8, i1 false)
%454 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %0, i64 0, i32 0
store i8 1, i8* %454, align 8
call void @llvm.lifetime.end(i64 72, i8* %329)
call void @llvm.lifetime.end(i64 0, i8* %297)
br label %clean_ast_76369_162
clean_ast_76369_160: ; preds = %clean_ast_76549_183.loopexit, %clean_ast_76549_183.nonloopexit.loopexit, %clean_ast_76549_183.nonloopexit.nonloopexit.loopexit, %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.loopexit, %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.loopexit, %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
%lpad.phi = phi { i8*, i32 } [ %lpad.loopexit, %clean_ast_76549_183.loopexit ], [ %lpad.loopexit1946, %clean_ast_76549_183.nonloopexit.loopexit ], [ %lpad.loopexit1949, %clean_ast_76549_183.nonloopexit.nonloopexit.loopexit ], [ %lpad.loopexit1951, %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.loopexit ], [ %lpad.loopexit1958, %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.loopexit ], [ %lpad.nonloopexit1959, %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit ]
%.fca.0.extract451 = extractvalue { i8*, i32 } %lpad.phi, 0
%.fca.1.extract453 = extractvalue { i8*, i32 } %lpad.phi, 1
call void @llvm.lifetime.end(i64 8, i8* %328)
call void @llvm.lifetime.end(i64 2088, i8* %327)
call void @llvm.lifetime.end(i64 8, i8* %316)
br label %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit
clean_ast_76369_162: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit748", %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit776, %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit804, %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit666
call void @llvm.lifetime.end(i64 8, i8* %328)
call void @llvm.lifetime.end(i64 2088, i8* %327)
call void @llvm.lifetime.end(i64 8, i8* %316)
br label %_ZN27rt..backtrace..imp..Cleanup15glue_drop.3157717he889bacf71443edaE.exit613
normal-return170: ; preds = %normal-return148
call void @llvm.lifetime.start(i64 0, i8* %297)
call void @llvm.lifetime.end(i64 0, i8* %297)
call void @llvm.lifetime.end(i64 72, i8* %329)
call void @llvm.lifetime.end(i64 0, i8* %297)
%455 = call i64 @strlen(i8* %.fca.14.0.gep) #1, !noalias !1087
call void @llvm.lifetime.start(i64 16, i8* %409) #1, !noalias !1088
store i8* %.fca.14.0.gep, i8** %arg.i.sroa.0.0..sroa_idx, align 8
store i64 %455, i64* %arg.i.sroa.6.0..sroa_idx470, align 8
%456 = call fastcc zeroext i1 @_ZN3str7is_utf820hd2529f05972ba3c2KfqE({ i8*, i64 }* noalias nocapture dereferenceable(16) %arg.i12) #1, !noalias !1088
call void @llvm.lifetime.end(i64 16, i8* %409) #1, !noalias !1088
br i1 %456, label %match_case178, label %normal-return202
match_case178: ; preds = %normal-return170
call void @llvm.lifetime.start(i64 39, i8* %.sroa.26.0..sroa_idx44)
call void @llvm.lifetime.start(i64 7, i8* %.sroa.52.0..sroa_idx1886)
%457 = icmp ugt i64 %455, 4
br i1 %457, label %before_rhs.i.i.i, label %then-block-74892-.i
join.i686: ; preds = %loop_body.i.i.i.i
%458 = icmp ne i8* %sret_slot.sroa.0.0.i26.i.i.i.i, null
%459 = icmp eq i64 %455, 0
%or.cond.i = or i1 %458, %459
br i1 %or.cond.i, label %then-block-74892-.i, label %before_rhs.i.i603.i
before_rhs.i.i.i: ; preds = %match_case178
%460 = getelementptr inbounds i8* %.fca.14.0.gep, i64 3
br label %loop_body.i.i.i.i
loop_body.i.i.i.i: ; preds = %match_else7.i.i.i.i, %before_rhs.i.i.i
%.sroa.0.0.44.i.i.i = phi i8* [ %.sroa.0.0.43.i.i.i, %match_else7.i.i.i.i ], [ %.fca.14.0.gep, %before_rhs.i.i.i ]
%461 = phi i8* [ %..i.i.i, %match_else7.i.i.i.i ], [ getelementptr inbounds ([3 x i8]* @str31516, i64 0, i64 0), %before_rhs.i.i.i ]
%462 = icmp eq i8* %461, getelementptr inbounds ([3 x i8]* @str31516, i64 1, i64 0)
%463 = getelementptr inbounds i8* %461, i64 1
%..i.i.i = select i1 %462, i8* getelementptr inbounds ([3 x i8]* @str31516, i64 1, i64 0), i8* %463
%.45.i.i.i = select i1 %462, i8* null, i8* %461
%464 = icmp eq i8* %.sroa.0.0.44.i.i.i, %460
%465 = getelementptr inbounds i8* %.sroa.0.0.44.i.i.i, i64 1
%.sroa.0.0.43.i.i.i = select i1 %464, i8* %.sroa.0.0.44.i.i.i, i8* %465
%sret_slot.sroa.0.0.i26.i.i.i.i = select i1 %464, i8* null, i8* %.sroa.0.0.44.i.i.i
%466 = icmp ne i8* %.45.i.i.i, null
switch i1 %466, label %then-block-74892-.i [
i1 false, label %join.i686
i1 true, label %match_case6.i.i.i.i
]
match_case6.i.i.i.i: ; preds = %loop_body.i.i.i.i
%467 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i.i, null
br i1 %467, label %then-block-74892-.i, label %match_else7.i.i.i.i
match_else7.i.i.i.i: ; preds = %match_case6.i.i.i.i
%468 = load i8* %.45.i.i.i, align 1, !alias.scope !1092, !noalias !1095
%469 = load i8* %sret_slot.sroa.0.0.i26.i.i.i.i, align 1, !alias.scope !1112, !noalias !1113
%470 = icmp eq i8 %468, %469
br i1 %470, label %loop_body.i.i.i.i, label %then-block-74892-.i
join2.i: ; preds = %loop_body.i.i.i609.i
%471 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i608.i, null
br i1 %471, label %then-block-74804-.i, label %then-block-74892-.i
before_rhs.i.i603.i: ; preds = %join.i686
%472 = add i64 %455, -1
%473 = getelementptr inbounds i8* %.fca.14.0.gep, i64 %472
%474 = getelementptr inbounds i8* %.fca.14.0.gep, i64 %455
br label %loop_body.i.i.i609.i
loop_body.i.i.i609.i: ; preds = %match_else7.i.i.i612.i, %before_rhs.i.i603.i
%.sroa.0.0.44.i.i604.i = phi i8* [ %.sroa.0.0.43.i.i607.i, %match_else7.i.i.i612.i ], [ %473, %before_rhs.i.i603.i ]
%475 = phi i8* [ %..i.i605.i, %match_else7.i.i.i612.i ], [ getelementptr inbounds ([1 x i8]* @str31517, i64 0, i64 0), %before_rhs.i.i603.i ]
%476 = icmp eq i8* %475, getelementptr inbounds ([1 x i8]* @str31517, i64 1, i64 0)
%477 = getelementptr inbounds i8* %475, i64 1
%..i.i605.i = select i1 %476, i8* getelementptr inbounds ([1 x i8]* @str31517, i64 1, i64 0), i8* %477
%.45.i.i606.i = select i1 %476, i8* null, i8* %475
%478 = icmp eq i8* %.sroa.0.0.44.i.i604.i, %474
%479 = getelementptr inbounds i8* %.sroa.0.0.44.i.i604.i, i64 1
%.sroa.0.0.43.i.i607.i = select i1 %478, i8* %.sroa.0.0.44.i.i604.i, i8* %479
%sret_slot.sroa.0.0.i26.i.i.i608.i = select i1 %478, i8* null, i8* %.sroa.0.0.44.i.i604.i
%480 = icmp ne i8* %.45.i.i606.i, null
switch i1 %480, label %then-block-74892-.i [
i1 false, label %join2.i
i1 true, label %match_case6.i.i.i611.i
]
match_case6.i.i.i611.i: ; preds = %loop_body.i.i.i609.i
%481 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i608.i, null
br i1 %481, label %then-block-74892-.i, label %match_else7.i.i.i612.i
match_else7.i.i.i612.i: ; preds = %match_case6.i.i.i611.i
%482 = load i8* %.45.i.i606.i, align 1, !alias.scope !1114, !noalias !1117
%483 = load i8* %sret_slot.sroa.0.0.i26.i.i.i608.i, align 1, !alias.scope !1131, !noalias !1132
%484 = icmp eq i8 %482, %483
br i1 %484, label %loop_body.i.i.i609.i, label %then-block-74892-.i
then-block-74804-.i: ; preds = %join2.i
%switch.i = icmp ult i64 %455, 4
br i1 %switch.i, label %else-block.i.i, label %join.i.i
join.i.i: ; preds = %then-block-74804-.i
%485 = load i8* %460, align 1, !noalias !1133
%486 = icmp sgt i8 %485, -1
%487 = icmp ugt i8 %485, -65
%..i.i621.i = or i1 %486, %487
br i1 %..i.i621.i, label %join1.i.i, label %else-block.i.i
join1.i.i: ; preds = %join.i.i
%488 = load i8* %473, align 1, !noalias !1139
%489 = icmp sgt i8 %488, -1
%490 = icmp ugt i8 %488, -65
%..i24.i.i = or i1 %489, %490
br i1 %..i24.i.i, label %for_loopback.preheader.i, label %else-block.i.i
else-block.i.i: ; preds = %join1.i.i, %join.i.i, %then-block-74804-.i
%491 = bitcast %str_slice* %arg5.i.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %491), !noalias !1142
%arg5.sroa.0.0..sroa_idx2280.i = getelementptr inbounds %str_slice* %arg5.i.i, i64 0, i32 0
store i8* %.fca.14.0.gep, i8** %arg5.sroa.0.0..sroa_idx2280.i, align 8, !noalias !1144
%arg5.sroa.6.0..sroa_idx2285.i = getelementptr inbounds %str_slice* %arg5.i.i, i64 0, i32 1
store i64 %455, i64* %arg5.sroa.6.0..sroa_idx2285.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg5.i.i, i64 3, i64 %472)
to label %.noexc688 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc688: ; preds = %else-block.i.i
unreachable
for_loopback.preheader.i: ; preds = %join1.i.i, %_ZN4iter8Iterator5count20h5850140176438350535E.exit.i
%492 = phi i8* [ %554, %_ZN4iter8Iterator5count20h5850140176438350535E.exit.i ], [ %460, %join1.i.i ]
%valid.12722.i = phi i8 [ %valid.1..i, %_ZN4iter8Iterator5count20h5850140176438350535E.exit.i ], [ 1, %join1.i.i ]
%493 = icmp eq i8* %492, %473
br i1 %493, label %else-block22.i, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i.i"
for_exit.i: ; preds = %.noexc689, %then-block-74833-.i
%i.0.i1965 = phi i64 [ %531, %then-block-74833-.i ], [ %i.0.i3581, %.noexc689 ]
%.pre.i6903058.i = phi i8* [ %473, %then-block-74833-.i ], [ %.pre.i690.ph.i, %.noexc689 ]
%494 = icmp eq i64 %i.0.i1965, 0
br i1 %494, label %then-block-74857-.i, label %else-block8.i
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i.i": ; preds = %for_loopback.preheader.i, %then-block-74833-.i
%i.0.i3581 = phi i64 [ %531, %then-block-74833-.i ], [ 0, %for_loopback.preheader.i ]
%495 = phi i8* [ %.pre.i690.ph.i, %then-block-74833-.i ], [ %492, %for_loopback.preheader.i ]
%496 = getelementptr inbounds i8* %495, i64 1
%497 = load i8* %495, align 1, !noalias !1145
%498 = icmp slt i8 %497, 0
br i1 %498, label %cond.i632.i, label %next.i.i
next.i.i: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i.i"
%499 = zext i8 %497 to i32
br label %for_body.i
cond.i632.i: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i.i"
%500 = and i8 %497, 31
%501 = zext i8 %500 to i32
%502 = icmp eq i8* %496, %473
br i1 %502, label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i.i, label %match_case.i14.i.i
match_case.i14.i.i: ; preds = %cond.i632.i
%503 = getelementptr inbounds i8* %495, i64 2
%504 = load i8* %496, align 1, !noalias !1145
%phitmp.i.i = and i8 %504, 63
%phitmp20.i.i = zext i8 %phitmp.i.i to i32
br label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i.i
_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i.i: ; preds = %match_case.i14.i.i, %cond.i632.i
%505 = phi i8* [ %503, %match_case.i14.i.i ], [ %473, %cond.i632.i ]
%sret_slot.0.i15.i.i = phi i32 [ %phitmp20.i.i, %match_case.i14.i.i ], [ 0, %cond.i632.i ]
%506 = shl nuw nsw i32 %501, 6
%507 = or i32 %sret_slot.0.i15.i.i, %506
%508 = icmp ugt i8 %497, -33
br i1 %508, label %then-block-81421-.i.i, label %for_body.i
then-block-81421-.i.i: ; preds = %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i.i
%509 = icmp eq i8* %505, %473
br i1 %509, label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i.i, label %match_case.i8.i.i
match_case.i8.i.i: ; preds = %then-block-81421-.i.i
%510 = getelementptr inbounds i8* %505, i64 1
%511 = load i8* %505, align 1, !noalias !1145
%phitmp21.i.i = and i8 %511, 63
%phitmp22.i.i = zext i8 %phitmp21.i.i to i32
br label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i.i
_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i.i: ; preds = %match_case.i8.i.i, %then-block-81421-.i.i
%512 = phi i8* [ %510, %match_case.i8.i.i ], [ %473, %then-block-81421-.i.i ]
%sret_slot.0.i9.i.i = phi i32 [ %phitmp22.i.i, %match_case.i8.i.i ], [ 0, %then-block-81421-.i.i ]
%513 = shl nuw nsw i32 %sret_slot.0.i15.i.i, 6
%514 = or i32 %sret_slot.0.i9.i.i, %513
%515 = shl nuw nsw i32 %501, 12
%516 = or i32 %514, %515
%517 = icmp ugt i8 %497, -17
br i1 %517, label %then-block-81465-.i.i, label %for_body.i
then-block-81465-.i.i: ; preds = %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i.i
%518 = icmp eq i8* %512, %473
br i1 %518, label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i.i, label %match_case.i.i.i
match_case.i.i.i: ; preds = %then-block-81465-.i.i
%519 = getelementptr inbounds i8* %512, i64 1
%520 = load i8* %512, align 1, !noalias !1145
%phitmp23.i.i = and i8 %520, 63
%phitmp24.i.i = zext i8 %phitmp23.i.i to i32
br label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i.i
_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i.i: ; preds = %match_case.i.i.i, %then-block-81465-.i.i
%521 = phi i8* [ %519, %match_case.i.i.i ], [ %473, %then-block-81465-.i.i ]
%sret_slot.0.i.i.i = phi i32 [ %phitmp24.i.i, %match_case.i.i.i ], [ 0, %then-block-81465-.i.i ]
%522 = shl nuw nsw i32 %501, 18
%523 = and i32 %522, 1835008
%524 = shl nuw nsw i32 %514, 6
%525 = or i32 %524, %523
%526 = or i32 %525, %sret_slot.0.i.i.i
br label %for_body.i
for_body.i: ; preds = %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i.i, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i.i, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i.i, %next.i.i
%.pre.i690.ph.i = phi i8* [ %505, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i.i ], [ %512, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i.i ], [ %521, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i.i ], [ %496, %next.i.i ]
%.ph.i = phi i32 [ %507, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit16.i.i ], [ %516, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i.i ], [ %526, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit.i.i ], [ %499, %next.i.i ]
%527 = invoke fastcc zeroext i1 @_ZN6u_char16char.UnicodeChar8is_digit20h36a0d3232ced94270GxE(i32 %.ph.i)
to label %.noexc689 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.loopexit
.noexc689: ; preds = %for_body.i
br i1 %527, label %then-block-74833-.i, label %for_exit.i
then-block-74833-.i: ; preds = %.noexc689
%528 = mul i64 %i.0.i3581, 10
%529 = zext i32 %.ph.i to i64
%530 = add i64 %528, -48
%531 = add i64 %530, %529
%532 = icmp eq i8* %.pre.i690.ph.i, %473
br i1 %532, label %for_exit.i, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i.i"
then-block-74857-.i: ; preds = %for_exit.i
%533 = icmp eq i8* %.pre.i6903058.i, %473
br i1 %533, label %else-block22.i, label %then-block-74892-.i
else-block8.i: ; preds = %for_exit.i
%534 = add i64 %i.0.i1965, -1
%535 = icmp eq i64 %534, 0
br i1 %535, label %_ZN4iter8Iterator5count20h5850140176438350535E.exit.i, label %then-block-111927-.i.i.i.i
then-block-111927-.i.i.i.i: ; preds = %else-block8.i, %for_body.i.i691.i
%536 = phi i8* [ %551, %for_body.i.i691.i ], [ %.pre.i6903058.i, %else-block8.i ]
%accum.0.i6.i.i = phi i64 [ %552, %for_body.i.i691.i ], [ 0, %else-block8.i ]
%537 = phi i64 [ %538, %for_body.i.i691.i ], [ %534, %else-block8.i ]
%538 = add i64 %537, -1
%539 = icmp eq i8* %536, %473
br i1 %539, label %_ZN4iter8Iterator5count20h5850140176438350535E.exit.i, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i.i.i.i.i.i"
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i.i.i.i.i.i": ; preds = %then-block-111927-.i.i.i.i
%540 = getelementptr inbounds i8* %536, i64 1
%541 = load i8* %536, align 1, !noalias !1148
%542 = icmp slt i8 %541, 0
br i1 %542, label %cond.i.i.i.i.i.i, label %for_body.i.i691.i
cond.i.i.i.i.i.i: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i.i.i.i.i.i"
%543 = icmp eq i8* %540, %473
%544 = getelementptr inbounds i8* %536, i64 2
%.3064.i = select i1 %543, i8* %473, i8* %544
%545 = icmp ugt i8 %541, -33
br i1 %545, label %then-block-81421-.i.i.i.i.i.i, label %for_body.i.i691.i
then-block-81421-.i.i.i.i.i.i: ; preds = %cond.i.i.i.i.i.i
%546 = icmp eq i8* %.3064.i, %473
br i1 %546, label %for_body.i.i691.i, label %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i.i.i.i.i.i
_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i.i.i.i.i.i: ; preds = %then-block-81421-.i.i.i.i.i.i
%547 = getelementptr inbounds i8* %.3064.i, i64 1
%548 = icmp ult i8 %541, -16
%549 = icmp eq i8* %547, %473
%or.cond.i.i = or i1 %548, %549
%550 = getelementptr inbounds i8* %.3064.i, i64 2
%.3066.i = select i1 %or.cond.i.i, i8* %547, i8* %550
br label %for_body.i.i691.i
for_body.i.i691.i: ; preds = %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i.i.i.i.i.i, %then-block-81421-.i.i.i.i.i.i, %cond.i.i.i.i.i.i, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i.i.i.i.i.i"
%551 = phi i8* [ %.3064.i, %cond.i.i.i.i.i.i ], [ %540, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h15932499713337308747E.exit.i.i.i.i.i.i" ], [ %473, %then-block-81421-.i.i.i.i.i.i ], [ %.3066.i, %_ZN3str11unwrap_or_020h8d15111c5b3323d2bwpE.exit10.i.i.i.i.i.i ]
%552 = add i64 %accum.0.i6.i.i, 1
%553 = icmp eq i64 %538, 0
br i1 %553, label %_ZN4iter8Iterator5count20h5850140176438350535E.exit.i, label %then-block-111927-.i.i.i.i
_ZN4iter8Iterator5count20h5850140176438350535E.exit.i: ; preds = %then-block-111927-.i.i.i.i, %for_body.i.i691.i, %else-block8.i
%554 = phi i8* [ %.pre.i6903058.i, %else-block8.i ], [ %473, %then-block-111927-.i.i.i.i ], [ %551, %for_body.i.i691.i ]
%accum.0.i.lcssa.i.i = phi i64 [ 0, %else-block8.i ], [ %accum.0.i6.i.i, %then-block-111927-.i.i.i.i ], [ %552, %for_body.i.i691.i ]
%555 = icmp eq i64 %accum.0.i.lcssa.i.i, %534
%valid.1..i = select i1 %555, i8 %valid.12722.i, i8 0
%556 = and i8 %valid.1..i, 1
%557 = icmp eq i8 %556, 0
br i1 %557, label %then-block-74892-.i, label %for_loopback.preheader.i
then-block-74892-.i: ; preds = %loop_body.i.i.i.i, %match_case6.i.i.i.i, %match_else7.i.i.i.i, %loop_body.i.i.i609.i, %match_case6.i.i.i611.i, %match_else7.i.i.i612.i, %_ZN4iter8Iterator5count20h5850140176438350535E.exit.i, %then-block-74857-.i, %join2.i, %join.i686, %match_case178
%.sroa.0.05121410 = phi i8* [ %.fca.14.0.gep, %then-block-74857-.i ], [ %.fca.14.0.gep, %join2.i ], [ %.fca.14.0.gep, %join.i686 ], [ %.fca.14.0.gep, %match_case178 ], [ %.fca.14.0.gep, %_ZN4iter8Iterator5count20h5850140176438350535E.exit.i ], [ %.fca.14.0.gep, %match_else7.i.i.i612.i ], [ %.fca.14.0.gep, %match_case6.i.i.i611.i ], [ %.fca.14.0.gep, %loop_body.i.i.i609.i ], [ %.fca.14.0.gep, %match_else7.i.i.i.i ], [ %.fca.14.0.gep, %match_case6.i.i.i.i ], [ %.fca.14.0.gep, %loop_body.i.i.i.i ]
call void @llvm.lifetime.start(i64 72, i8* %401), !noalias !1144
%558 = getelementptr inbounds void (i8*)** %434, i64 6
%559 = load void (i8*)** %558, align 8, !noalias !1160
%560 = bitcast void (i8*)* %559 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %str_slice*)*
call void @llvm.lifetime.start(i64 16, i8* %402), !noalias !1144
store i8* %.sroa.0.05121410, i8** %arg180.sroa.0.0..sroa_idx, align 8
store i64 %455, i64* %arg180.sroa.6.0..sroa_idx845, align 8
invoke void %560(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %5, i8* noalias nocapture dereferenceable(16) %433, %str_slice* noalias nocapture dereferenceable(16) %arg12.i)
to label %.noexc690 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.loopexit
.noexc690: ; preds = %then-block-74892-.i
call void @llvm.lifetime.end(i64 16, i8* %402), !noalias !1144
%561 = load i8* %401, align 8, !range !38, !noalias !1144
%cond357.i = icmp eq i8 %561, 0
br i1 %cond357.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit707.i", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit711.i
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit707.i": ; preds = %.noexc690
call void @llvm.lifetime.end(i64 72, i8* %401), !noalias !1144
br label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit738"
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit711.i: ; preds = %.noexc690
%562 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %5, i64 0, i32 2
%563 = bitcast [8 x i64]* %562 to i8*
%arg14.i.sroa.5.0..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %5, i64 0, i32 2, i64 4
%arg14.i.sroa.5.0..sroa_cast = bitcast i64* %arg14.i.sroa.5.0..sroa_idx to i8*
%arg14.i.sroa.5.0.copyload = load i8* %arg14.i.sroa.5.0..sroa_cast, align 8
%arg14.i.sroa.6.0..sroa_raw_idx = getelementptr inbounds i8* %401, i64 41
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.52.0..sroa_idx1886, i8* %arg14.i.sroa.6.0..sroa_raw_idx, i64 7, i32 1, i1 false)
%arg14.i.sroa.7.0..sroa_idx1928 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %5, i64 0, i32 2, i64 5
%arg14.i.sroa.7.0..sroa_cast1870 = bitcast i64* %arg14.i.sroa.7.0..sroa_idx1928 to i8**
%arg14.i.sroa.7.0.copyload = load i8** %arg14.i.sroa.7.0..sroa_cast1870, align 8
%arg14.i.sroa.8.0..sroa_idx1873 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %5, i64 0, i32 2, i64 6
%564 = bitcast i64* %arg14.i.sroa.8.0..sroa_idx1873 to <2 x i64>*
%565 = load <2 x i64>* %564, align 8
%arg14.i.sroa.0.0..sroa.26.8..sroa_idx921.sroa_idx = getelementptr inbounds [39 x i8]* %.sroa.26, i64 0, i64 7
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg14.i.sroa.0.0..sroa.26.8..sroa_idx921.sroa_idx, i8* %563, i64 32, i32 1, i1 false)
call void @llvm.lifetime.end(i64 72, i8* %401), !noalias !1144
br label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit748"
else-block22.i: ; preds = %for_loopback.preheader.i, %then-block-74857-.i
%.sroa.0.05121411 = phi i8* [ %.fca.14.0.gep, %then-block-74857-.i ], [ %.fca.14.0.gep, %for_loopback.preheader.i ]
%566 = icmp eq i64 %455, 3
br i1 %566, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit738", label %next-block.i.i735.i
next-block.i.i735.i: ; preds = %else-block22.i
%567 = icmp ugt i64 %455, 3
br i1 %567, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i737.i, label %else-block.i741.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i737.i: ; preds = %next-block.i.i735.i
%568 = load i8* %460, align 1, !noalias !1161
%569 = icmp sgt i8 %568, -1
%570 = icmp ugt i8 %568, -65
%..i.i736.i = or i1 %569, %570
br i1 %..i.i736.i, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit742.i, label %else-block.i741.i
else-block.i741.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i737.i, %next-block.i.i735.i
%571 = bitcast %str_slice* %arg3.i728.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %571), !noalias !1167
%arg23.sroa.0.0..sroa_idx2250.i = getelementptr inbounds %str_slice* %arg3.i728.i, i64 0, i32 0
store i8* %.sroa.0.05121411, i8** %arg23.sroa.0.0..sroa_idx2250.i, align 8, !noalias !1144
%arg23.sroa.6.0..sroa_idx2255.i = getelementptr inbounds %str_slice* %arg3.i728.i, i64 0, i32 1
store i64 %455, i64* %arg23.sroa.6.0..sroa_idx2255.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg3.i728.i, i64 3, i64 %455)
to label %.noexc691 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc691: ; preds = %else-block.i741.i
unreachable
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit742.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i737.i
%572 = add i64 %455, -3
%573 = icmp ugt i64 %572, 1
br i1 %573, label %while_body26.lr.ph.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit738"
while_body26.lr.ph.i: ; preds = %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit742.i
%574 = getelementptr inbounds void (i8*)** %434, i64 6
br label %while_body26.i
while_body26.i: ; preds = %while_cond25.backedge.i, %while_body26.lr.ph.i
%first.02721.i = phi i8 [ 1, %while_body26.lr.ph.i ], [ %first.1.i, %while_cond25.backedge.i ]
%.pre-phi.i73823322720.i = phi i8* [ %460, %while_body26.lr.ph.i ], [ %.pre-phi.i8152339.i, %while_cond25.backedge.i ]
%575 = phi i64 [ %572, %while_body26.lr.ph.i ], [ %601, %while_cond25.backedge.i ]
%576 = and i8 %first.02721.i, 1
%577 = icmp eq i8 %576, 0
br i1 %577, label %then-block-74935-.i, label %next.i.i.lr.ph.i
then-block-74935-.i: ; preds = %while_body26.i
call void @llvm.lifetime.start(i64 72, i8* %334), !noalias !1144
%578 = load void (i8*)** %574, align 8, !noalias !1160
%579 = bitcast void (i8*)* %578 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %str_slice*)*
call void @llvm.lifetime.start(i64 16, i8* %335), !noalias !1144
store i8* getelementptr inbounds ([2 x i8]* @str29641, i64 0, i64 0), i8** %336, align 8, !noalias !1144
store i64 2, i64* %337, align 8, !noalias !1144
invoke void %579(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %6, i8* noalias nocapture dereferenceable(16) %433, %str_slice* noalias nocapture dereferenceable(16) %7)
to label %.noexc692 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.loopexit
.noexc692: ; preds = %then-block-74935-.i
call void @llvm.lifetime.end(i64 16, i8* %335), !noalias !1144
%580 = load i8* %334, align 8, !range !38, !noalias !1144
%cond356.i = icmp eq i8 %580, 0
br i1 %cond356.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit760.i", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit764.i
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit760.i": ; preds = %.noexc692
call void @llvm.lifetime.end(i64 72, i8* %334), !noalias !1144
br label %next.i.i.lr.ph.i
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit764.i: ; preds = %.noexc692
%581 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %6, i64 0, i32 2
%582 = bitcast [8 x i64]* %581 to i8*
%arg35.i.sroa.5.0..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %6, i64 0, i32 2, i64 4
%arg35.i.sroa.5.0..sroa_cast = bitcast i64* %arg35.i.sroa.5.0..sroa_idx to i8*
%arg35.i.sroa.5.0.copyload = load i8* %arg35.i.sroa.5.0..sroa_cast, align 8
%arg35.i.sroa.6.0..sroa_raw_idx = getelementptr inbounds i8* %334, i64 41
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.52.0..sroa_idx1886, i8* %arg35.i.sroa.6.0..sroa_raw_idx, i64 7, i32 1, i1 false)
%arg35.i.sroa.7.0..sroa_idx1944 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %6, i64 0, i32 2, i64 5
%arg35.i.sroa.7.0..sroa_cast1834 = bitcast i64* %arg35.i.sroa.7.0..sroa_idx1944 to i8**
%arg35.i.sroa.7.0.copyload = load i8** %arg35.i.sroa.7.0..sroa_cast1834, align 8
%arg35.i.sroa.8.0..sroa_idx1837 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %6, i64 0, i32 2, i64 6
%583 = bitcast i64* %arg35.i.sroa.8.0..sroa_idx1837 to <2 x i64>*
%584 = load <2 x i64>* %583, align 8
%arg35.i.sroa.0.0..sroa.26.8..sroa_idx893.sroa_idx = getelementptr inbounds [39 x i8]* %.sroa.26, i64 0, i64 7
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg35.i.sroa.0.0..sroa.26.8..sroa_idx893.sroa_idx, i8* %582, i64 32, i32 1, i1 false)
call void @llvm.lifetime.end(i64 72, i8* %334), !noalias !1144
br label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit748"
next.i.i.lr.ph.i: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit760.i", %while_body26.i
%first.1.i = phi i8 [ %first.02721.i, %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit760.i" ], [ 0, %while_body26.i ]
call void @llvm.lifetime.start(i64 16, i8* %338), !noalias !1168
%.pre = load i8* %.pre-phi.i73823322720.i, align 1, !noalias !1171
br label %next.i.i.i
next-block.i.i796.i: ; preds = %.noexc699
call void @llvm.lifetime.start(i64 16, i8* %342), !noalias !1144
%585 = sub i64 %575, %s.sroa.10.8.load226523312712.i
%586 = icmp ugt i64 %575, %585
br i1 %586, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i798.i, label %else-block.i801.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i798.i: ; preds = %next-block.i.i796.i
%587 = getelementptr inbounds i8* %.pre-phi.i73823322720.i, i64 %585
%588 = load i8* %587, align 1, !noalias !1175
%589 = icmp sgt i8 %588, -1
%590 = icmp ugt i8 %588, -65
%..i.i797.i = or i1 %589, %590
br i1 %..i.i797.i, label %_ZN3str12str.StrSlice8slice_to20h0a82661b070fbce9RWqE.exit802.i, label %else-block.i801.i
else-block.i801.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i798.i, %next-block.i.i796.i
%591 = bitcast %str_slice* %arg2.i791.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %591), !noalias !1181
%arg52.sroa.0.0..sroa_idx2164.i = getelementptr inbounds %str_slice* %arg2.i791.i, i64 0, i32 0
store i8* %.pre-phi.i73823322720.i, i8** %arg52.sroa.0.0..sroa_idx2164.i, align 8, !noalias !1144
%arg52.sroa.6.0..sroa_idx2169.i = getelementptr inbounds %str_slice* %arg2.i791.i, i64 0, i32 1
store i64 %575, i64* %arg52.sroa.6.0..sroa_idx2169.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg2.i791.i, i64 0, i64 %585)
to label %.noexc693 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc693: ; preds = %else-block.i801.i
unreachable
_ZN3str12str.StrSlice8slice_to20h0a82661b070fbce9RWqE.exit802.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i798.i
call void @llvm.lifetime.start(i64 16, i8* %343), !noalias !1182
store i8* %.pre-phi.i73823322720.i, i8** %.sroa.02172.0..sroa_idx.i, align 8, !noalias !1144
store i64 %585, i64* %.sroa.52175.0..sroa_idx2177.i, align 8, !noalias !1144
invoke fastcc void @_ZN3num7strconv18from_str_radix_int21h15078856848660187201E(%"enum.core::option::Option<[uint]>[#3]"* noalias nocapture sret dereferenceable(16) %8, %str_slice* noalias nocapture dereferenceable(16) %arg.i.i.i, i64 10)
to label %.noexc694 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.loopexit
.noexc694: ; preds = %_ZN3str12str.StrSlice8slice_to20h0a82661b070fbce9RWqE.exit802.i
call void @llvm.lifetime.end(i64 16, i8* %343), !noalias !1182
%592 = load i8* %342, align 8, !range !38, !alias.scope !1189, !noalias !1144
%cond.i803.i = icmp eq i8 %592, 1
br i1 %cond.i803.i, label %"_ZN6option15Option$LT$T$GT$6unwrap21h13255564563460308157E.exit.i", label %match_else.i804.i
match_else.i804.i: ; preds = %.noexc694
invoke fastcc void @_ZN9panicking5panic20hb349883d336aff1313jE({ %str_slice, %str_slice, i64 }* noalias nocapture readonly dereferenceable(40) @"_ZN6option15Option$LT$T$GT$6unwrap14_MSG_FILE_LINE20h88bf3a07bb7eb41dEwmE")
to label %.noexc695 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc695: ; preds = %match_else.i804.i
unreachable
"_ZN6option15Option$LT$T$GT$6unwrap21h13255564563460308157E.exit.i": ; preds = %.noexc694
%593 = load i64* %344, align 8, !noalias !1144
call void @llvm.lifetime.end(i64 16, i8* %342), !alias.scope !1189, !noalias !1144
call void @llvm.lifetime.end(i64 16, i8* %342), !noalias !1144
%594 = icmp eq i64 %s.sroa.10.8.load226523312712.i, %593
br i1 %594, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit819.thread.i, label %next-block.i.i812.i
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit819.thread.i: ; preds = %"_ZN6option15Option$LT$T$GT$6unwrap21h13255564563460308157E.exit.i"
%.pre.i810.i = getelementptr inbounds i8* %.pre-phi.i130023282713.i, i64 %s.sroa.10.8.load226523312712.i
br label %_ZN3str12str.StrSlice8slice_to20h0a82661b070fbce9RWqE.exit831.i
next-block.i.i812.i: ; preds = %"_ZN6option15Option$LT$T$GT$6unwrap21h13255564563460308157E.exit.i"
%595 = icmp ugt i64 %s.sroa.10.8.load226523312712.i, %593
br i1 %595, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i814.i, label %else-block.i818.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i814.i: ; preds = %next-block.i.i812.i
%596 = getelementptr inbounds i8* %.pre-phi.i130023282713.i, i64 %593
%597 = load i8* %596, align 1, !noalias !1192
%598 = icmp sgt i8 %597, -1
%599 = icmp ugt i8 %597, -65
%..i.i813.i = or i1 %598, %599
br i1 %..i.i813.i, label %_ZN3str12str.StrSlice8slice_to20h0a82661b070fbce9RWqE.exit831.i, label %else-block.i818.i
else-block.i818.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i814.i, %next-block.i.i812.i
%600 = bitcast %str_slice* %arg3.i805.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %600), !noalias !1198
%arg55.sroa.0.0..sroa_idx.i = getelementptr inbounds %str_slice* %arg3.i805.i, i64 0, i32 0
store i8* %.pre-phi.i130023282713.i, i8** %arg55.sroa.0.0..sroa_idx.i, align 8, !noalias !1144
%arg55.sroa.6.0..sroa_idx2147.i = getelementptr inbounds %str_slice* %arg3.i805.i, i64 0, i32 1
store i64 %s.sroa.10.8.load226523312712.i, i64* %arg55.sroa.6.0..sroa_idx2147.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg3.i805.i, i64 %593, i64 %s.sroa.10.8.load226523312712.i)
to label %.noexc696 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc696: ; preds = %else-block.i818.i
unreachable
_ZN3str12str.StrSlice8slice_to20h0a82661b070fbce9RWqE.exit831.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i814.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit819.thread.i
%.pre-phi.i8152339.i = phi i8* [ %.pre.i810.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit819.thread.i ], [ %596, %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i814.i ]
%601 = sub i64 %s.sroa.10.8.load226523312712.i, %593
%602 = icmp eq i64 %593, 0
br i1 %602, label %while_cond25.backedge.i, label %before_rhs.i.i863.i
next.i.i.i: ; preds = %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit851.i, %next.i.i.lr.ph.i
%603 = phi i8 [ %.pre, %next.i.i.lr.ph.i ], [ %611, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit851.i ]
%.pre-phi.i130023282713.i = phi i8* [ %.pre-phi.i73823322720.i, %next.i.i.lr.ph.i ], [ %610, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit851.i ]
%s.sroa.10.8.load226523312712.i = phi i64 [ %575, %next.i.i.lr.ph.i ], [ %615, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit851.i ]
%604 = icmp sgt i8 %603, -1
br i1 %604, label %next2.i.i.i, label %next-block.i.i836.i
cond.i.i834.i: ; preds = %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit851.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit851.thread.i
invoke fastcc void @_ZN9panicking18panic_bounds_check20h8802ab00fb514645w5jE({ %str_slice, i64 }* noalias nocapture readonly dereferenceable(24) @const, i64 0, i64 0)
to label %.noexc697 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc697: ; preds = %cond.i.i834.i
unreachable
next2.i.i.i: ; preds = %next.i.i.i
%605 = zext i8 %603 to i32
store i32 %605, i32* %339, align 8, !alias.scope !1199, !noalias !1200
store i64 1, i64* %340, align 8, !alias.scope !1199, !noalias !1200
br label %_ZN3str12str.StrSlice7char_at20hbea374d9fbd7d2507brE.exit.i
next-block.i.i836.i: ; preds = %next.i.i.i
call void @llvm.lifetime.start(i64 16, i8* %341), !noalias !1201
store i8* %.pre-phi.i130023282713.i, i8** %arg.sroa.0.0..sroa_idx3.i.i, align 8, !noalias !1168
store i64 %s.sroa.10.8.load226523312712.i, i64* %arg.sroa.6.0..sroa_idx8.i.i, align 8, !noalias !1168
invoke fastcc void @_ZN3str12str.StrSlice13char_range_at23multibyte_char_range_at20h3e193fa4f845256eC5qE(%"struct.core::str::CharRange<[]>[#2]"* noalias nocapture sret dereferenceable(16) %4, %str_slice* noalias nocapture dereferenceable(16) %arg4.i.i.i, i64 0)
to label %.noexc698 unwind label %clean_ast_76549_183.nonloopexit.loopexit
.noexc698: ; preds = %next-block.i.i836.i
call void @llvm.lifetime.end(i64 16, i8* %341), !noalias !1201
%.pre.i835.i = load i32* %339, align 8, !noalias !1168
br label %_ZN3str12str.StrSlice7char_at20hbea374d9fbd7d2507brE.exit.i
_ZN3str12str.StrSlice7char_at20hbea374d9fbd7d2507brE.exit.i: ; preds = %.noexc698, %next2.i.i.i
%606 = phi i32 [ %605, %next2.i.i.i ], [ %.pre.i835.i, %.noexc698 ]
call void @llvm.lifetime.end(i64 16, i8* %338), !noalias !1168
%607 = invoke fastcc zeroext i1 @_ZN6u_char16char.UnicodeChar8is_digit20h36a0d3232ced94270GxE(i32 %606)
to label %.noexc699 unwind label %clean_ast_76549_183.nonloopexit.loopexit
.noexc699: ; preds = %_ZN3str12str.StrSlice7char_at20hbea374d9fbd7d2507brE.exit.i
br i1 %607, label %while_body47.i, label %next-block.i.i796.i
while_body47.i: ; preds = %.noexc699
%608 = icmp eq i64 %s.sroa.10.8.load226523312712.i, 1
br i1 %608, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit851.thread.i, label %next-block.i.i844.i
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit851.thread.i: ; preds = %while_body47.i
call void @llvm.lifetime.start(i64 16, i8* %338), !noalias !1168
br label %cond.i.i834.i
next-block.i.i844.i: ; preds = %while_body47.i
%609 = icmp ugt i64 %s.sroa.10.8.load226523312712.i, 1
br i1 %609, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i846.i, label %else-block.i850.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i846.i: ; preds = %next-block.i.i844.i
%610 = getelementptr inbounds i8* %.pre-phi.i130023282713.i, i64 1
%611 = load i8* %610, align 1, !noalias !1202
%612 = icmp sgt i8 %611, -1
%613 = icmp ugt i8 %611, -65
%..i.i845.i = or i1 %612, %613
br i1 %..i.i845.i, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit851.i, label %else-block.i850.i
else-block.i850.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i846.i, %next-block.i.i844.i
%614 = bitcast %str_slice* %arg3.i837.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %614), !noalias !1208
%arg50.sroa.0.0..sroa_idx.i = getelementptr inbounds %str_slice* %arg3.i837.i, i64 0, i32 0
store i8* %.pre-phi.i130023282713.i, i8** %arg50.sroa.0.0..sroa_idx.i, align 8, !noalias !1144
%arg50.sroa.6.0..sroa_idx2184.i = getelementptr inbounds %str_slice* %arg3.i837.i, i64 0, i32 1
store i64 %s.sroa.10.8.load226523312712.i, i64* %arg50.sroa.6.0..sroa_idx2184.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg3.i837.i, i64 1, i64 %s.sroa.10.8.load226523312712.i)
to label %.noexc700 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc700: ; preds = %else-block.i850.i
unreachable
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit851.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i846.i
%615 = add i64 %s.sroa.10.8.load226523312712.i, -1
call void @llvm.lifetime.start(i64 16, i8* %338), !noalias !1168
%616 = icmp eq i64 %615, 0
br i1 %616, label %cond.i.i834.i, label %next.i.i.i, !prof !1209
before_rhs.i.i863.i: ; preds = %_ZN3str12str.StrSlice8slice_to20h0a82661b070fbce9RWqE.exit831.i, %while_cond58.backedge.i
%.pre-phi.i130023272717.i = phi i8* [ %.pre-phi.i13002327.be.i, %while_cond58.backedge.i ], [ %.pre-phi.i130023282713.i, %_ZN3str12str.StrSlice8slice_to20h0a82661b070fbce9RWqE.exit831.i ]
%s.sroa.10.8.load226523302716.i = phi i64 [ %s.sroa.10.8.load22652330.be.i, %while_cond58.backedge.i ], [ %593, %_ZN3str12str.StrSlice8slice_to20h0a82661b070fbce9RWqE.exit831.i ]
%617 = getelementptr inbounds i8* %.pre-phi.i130023272717.i, i64 1
br label %loop_body.i.i.i869.i
loop_body.i.i.i869.i: ; preds = %match_else7.i.i.i872.i, %before_rhs.i.i863.i
%.sroa.0.0.44.i.i864.i = phi i8* [ %.sroa.0.0.43.i.i867.i, %match_else7.i.i.i872.i ], [ %.pre-phi.i130023272717.i, %before_rhs.i.i863.i ]
%618 = phi i8* [ %..i.i865.i, %match_else7.i.i.i872.i ], [ getelementptr inbounds ([1 x i8]* @str31529, i64 0, i64 0), %before_rhs.i.i863.i ]
%619 = icmp eq i8* %618, getelementptr inbounds ([1 x i8]* @str31529, i64 1, i64 0)
%620 = getelementptr inbounds i8* %618, i64 1
%..i.i865.i = select i1 %619, i8* getelementptr inbounds ([1 x i8]* @str31529, i64 1, i64 0), i8* %620
%.45.i.i866.i = select i1 %619, i8* null, i8* %618
%621 = icmp eq i8* %.sroa.0.0.44.i.i864.i, %617
%622 = getelementptr inbounds i8* %.sroa.0.0.44.i.i864.i, i64 1
%.sroa.0.0.43.i.i867.i = select i1 %621, i8* %.sroa.0.0.44.i.i864.i, i8* %622
%sret_slot.sroa.0.0.i26.i.i.i868.i = select i1 %621, i8* null, i8* %.sroa.0.0.44.i.i864.i
%623 = icmp ne i8* %.45.i.i866.i, null
switch i1 %623, label %else-block312.i [
i1 false, label %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit873.i
i1 true, label %match_case6.i.i.i871.i
]
match_case6.i.i.i871.i: ; preds = %loop_body.i.i.i869.i
%624 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i868.i, null
br i1 %624, label %else-block312.i, label %match_else7.i.i.i872.i
match_else7.i.i.i872.i: ; preds = %match_case6.i.i.i871.i
%625 = load i8* %.45.i.i866.i, align 1, !alias.scope !1210, !noalias !1213
%626 = load i8* %sret_slot.sroa.0.0.i26.i.i.i868.i, align 1, !alias.scope !1227, !noalias !1228
%627 = icmp eq i8 %625, %626
br i1 %627, label %loop_body.i.i.i869.i, label %else-block312.i
_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit873.i: ; preds = %loop_body.i.i.i869.i
%628 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i868.i, null
br i1 %628, label %then-block-75015-.i, label %else-block312.i
then-block-75015-.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit873.i
%629 = icmp ult i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %629, label %else-block198.i, label %before_rhs.i.i887.i
before_rhs.i.i887.i: ; preds = %then-block-75015-.i
%630 = getelementptr inbounds i8* %.pre-phi.i130023272717.i, i64 4
br label %loop_body.i.i.i893.i
loop_body.i.i.i893.i: ; preds = %match_else7.i.i.i896.i, %before_rhs.i.i887.i
%.sroa.0.0.44.i.i888.i = phi i8* [ %.sroa.0.0.43.i.i891.i, %match_else7.i.i.i896.i ], [ %.pre-phi.i130023272717.i, %before_rhs.i.i887.i ]
%631 = phi i8* [ %..i.i889.i, %match_else7.i.i.i896.i ], [ getelementptr inbounds ([4 x i8]* @str31530, i64 0, i64 0), %before_rhs.i.i887.i ]
%632 = icmp eq i8* %631, getelementptr inbounds ([4 x i8]* @str31530, i64 1, i64 0)
%633 = getelementptr inbounds i8* %631, i64 1
%..i.i889.i = select i1 %632, i8* getelementptr inbounds ([4 x i8]* @str31530, i64 1, i64 0), i8* %633
%.45.i.i890.i = select i1 %632, i8* null, i8* %631
%634 = icmp eq i8* %.sroa.0.0.44.i.i888.i, %630
%635 = getelementptr inbounds i8* %.sroa.0.0.44.i.i888.i, i64 1
%.sroa.0.0.43.i.i891.i = select i1 %634, i8* %.sroa.0.0.44.i.i888.i, i8* %635
%sret_slot.sroa.0.0.i26.i.i.i892.i = select i1 %634, i8* null, i8* %.sroa.0.0.44.i.i888.i
%636 = icmp ne i8* %.45.i.i890.i, null
switch i1 %636, label %loop_body.i.i.i981.i [
i1 false, label %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit897.i
i1 true, label %match_case6.i.i.i895.i
]
match_case6.i.i.i895.i: ; preds = %loop_body.i.i.i893.i
%637 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i892.i, null
br i1 %637, label %loop_body.i.i.i981.i, label %match_else7.i.i.i896.i
match_else7.i.i.i896.i: ; preds = %match_case6.i.i.i895.i
%638 = load i8* %.45.i.i890.i, align 1, !alias.scope !1229, !noalias !1232
%639 = load i8* %sret_slot.sroa.0.0.i26.i.i.i892.i, align 1, !alias.scope !1246, !noalias !1247
%640 = icmp eq i8 %638, %639
br i1 %640, label %loop_body.i.i.i893.i, label %loop_body.i.i.i981.i
_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit897.i: ; preds = %loop_body.i.i.i893.i
%641 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i892.i, null
br i1 %641, label %then-block-75022-.i, label %loop_body.i.i.i981.i
then-block-75022-.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit897.i
call void @llvm.lifetime.start(i64 72, i8* %395), !noalias !1144
%642 = load void (i8*)** %574, align 8, !noalias !1160
%643 = bitcast void (i8*)* %642 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %str_slice*)*
call void @llvm.lifetime.start(i64 16, i8* %396), !noalias !1144
store i8* getelementptr inbounds ([1 x i8]* @str31531, i64 0, i64 0), i8** %397, align 8, !noalias !1144
store i64 1, i64* %398, align 8, !noalias !1144
invoke void %643(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %9, i8* noalias nocapture dereferenceable(16) %433, %str_slice* noalias nocapture dereferenceable(16) %10)
to label %.noexc701 unwind label %clean_ast_76549_183.loopexit
.noexc701: ; preds = %then-block-75022-.i
call void @llvm.lifetime.end(i64 16, i8* %396), !noalias !1144
%644 = load i8* %395, align 8, !range !38, !noalias !1144
%cond355.i = icmp eq i8 %644, 0
br i1 %cond355.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit913.i", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit949.i
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit913.i": ; preds = %.noexc701
call void @llvm.lifetime.end(i64 72, i8* %395), !noalias !1144
%645 = icmp eq i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %645, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit945.i, label %next-block.i.i938.i
next-block.i.i938.i: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit913.i"
%646 = icmp ugt i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %646, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i940.i, label %else-block.i944.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i940.i: ; preds = %next-block.i.i938.i
%647 = load i8* %630, align 1, !noalias !1248
%648 = icmp sgt i8 %647, -1
%649 = icmp ugt i8 %647, -65
%..i.i939.i = or i1 %648, %649
br i1 %..i.i939.i, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit945.i, label %else-block.i944.i
else-block.i944.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i940.i, %next-block.i.i938.i
%650 = bitcast %str_slice* %arg3.i931.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %650), !noalias !1254
%arg78.sroa.0.0..sroa_idx.i = getelementptr inbounds %str_slice* %arg3.i931.i, i64 0, i32 0
store i8* %.pre-phi.i130023272717.i, i8** %arg78.sroa.0.0..sroa_idx.i, align 8, !noalias !1144
%arg78.sroa.6.0..sroa_idx2096.i = getelementptr inbounds %str_slice* %arg3.i931.i, i64 0, i32 1
store i64 %s.sroa.10.8.load226523302716.i, i64* %arg78.sroa.6.0..sroa_idx2096.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg3.i931.i, i64 4, i64 %s.sroa.10.8.load226523302716.i)
to label %.noexc702 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc702: ; preds = %else-block.i944.i
unreachable
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit945.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i940.i, %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit913.i"
%651 = add i64 %s.sroa.10.8.load226523302716.i, -4
br label %while_cond58.backedge.i
while_cond58.backedge.i: ; preds = %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit930.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1174.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1363.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1560.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1672.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1575.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1487.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1394.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1304.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1205.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1119.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1042.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit945.i
%s.sroa.10.8.load22652330.be.i = phi i64 [ %991, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit.i ], [ %677, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1042.i ], [ %727, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1205.i ], [ %777, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1394.i ], [ %827, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1575.i ], [ %880, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1560.i ], [ %930, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1174.i ], [ %955, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit930.i ], [ %905, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1363.i ], [ %854, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1672.i ], [ %802, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1487.i ], [ %752, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1304.i ], [ %702, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1119.i ], [ %651, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit945.i ]
%.pre-phi.i13002327.be.i = phi i8* [ %.pre-phi.i.i, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit.i ], [ %630, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1042.i ], [ %630, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1205.i ], [ %630, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1394.i ], [ %630, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1575.i ], [ %859, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1560.i ], [ %859, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1174.i ], [ %859, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit930.i ], [ %859, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1363.i ], [ %833, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1672.i ], [ %630, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1487.i ], [ %630, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1304.i ], [ %630, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1119.i ], [ %630, %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit945.i ]
%652 = icmp eq i64 %s.sroa.10.8.load22652330.be.i, 0
br i1 %652, label %while_cond25.backedge.i, label %before_rhs.i.i863.i
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit949.i: ; preds = %.noexc701
%653 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %9, i64 0, i32 2
%654 = bitcast [8 x i64]* %653 to i8*
%arg70.i.sroa.5.0..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %9, i64 0, i32 2, i64 4
%arg70.i.sroa.5.0..sroa_cast = bitcast i64* %arg70.i.sroa.5.0..sroa_idx to i8*
%arg70.i.sroa.5.0.copyload = load i8* %arg70.i.sroa.5.0..sroa_cast, align 8
%arg70.i.sroa.6.0..sroa_raw_idx = getelementptr inbounds i8* %395, i64 41
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.52.0..sroa_idx1886, i8* %arg70.i.sroa.6.0..sroa_raw_idx, i64 7, i32 1, i1 false)
%arg70.i.sroa.7.0..sroa_idx1943 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %9, i64 0, i32 2, i64 5
%arg70.i.sroa.7.0..sroa_cast1797 = bitcast i64* %arg70.i.sroa.7.0..sroa_idx1943 to i8**
%arg70.i.sroa.7.0.copyload = load i8** %arg70.i.sroa.7.0..sroa_cast1797, align 8
%arg70.i.sroa.8.0..sroa_idx1800 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %9, i64 0, i32 2, i64 6
%655 = bitcast i64* %arg70.i.sroa.8.0..sroa_idx1800 to <2 x i64>*
%656 = load <2 x i64>* %655, align 8
%arg70.i.sroa.0.0..sroa.26.8..sroa_idx895.sroa_idx = getelementptr inbounds [39 x i8]* %.sroa.26, i64 0, i64 7
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg70.i.sroa.0.0..sroa.26.8..sroa_idx895.sroa_idx, i8* %654, i64 32, i32 1, i1 false)
call void @llvm.lifetime.end(i64 72, i8* %395), !noalias !1144
br label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit748"
loop_body.i.i.i981.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit897.i, %match_else7.i.i.i896.i, %match_case6.i.i.i895.i, %loop_body.i.i.i893.i, %match_else7.i.i.i984.i
%.sroa.0.0.44.i.i976.i = phi i8* [ %.sroa.0.0.43.i.i979.i, %match_else7.i.i.i984.i ], [ %.pre-phi.i130023272717.i, %loop_body.i.i.i893.i ], [ %.pre-phi.i130023272717.i, %match_case6.i.i.i895.i ], [ %.pre-phi.i130023272717.i, %match_else7.i.i.i896.i ], [ %.pre-phi.i130023272717.i, %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit897.i ]
%657 = phi i8* [ %..i.i977.i, %match_else7.i.i.i984.i ], [ getelementptr inbounds ([4 x i8]* @str31532, i64 0, i64 0), %loop_body.i.i.i893.i ], [ getelementptr inbounds ([4 x i8]* @str31532, i64 0, i64 0), %match_case6.i.i.i895.i ], [ getelementptr inbounds ([4 x i8]* @str31532, i64 0, i64 0), %match_else7.i.i.i896.i ], [ getelementptr inbounds ([4 x i8]* @str31532, i64 0, i64 0), %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit897.i ]
%658 = icmp eq i8* %657, getelementptr inbounds ([4 x i8]* @str31532, i64 1, i64 0)
%659 = getelementptr inbounds i8* %657, i64 1
%..i.i977.i = select i1 %658, i8* getelementptr inbounds ([4 x i8]* @str31532, i64 1, i64 0), i8* %659
%.45.i.i978.i = select i1 %658, i8* null, i8* %657
%660 = icmp eq i8* %.sroa.0.0.44.i.i976.i, %630
%661 = getelementptr inbounds i8* %.sroa.0.0.44.i.i976.i, i64 1
%.sroa.0.0.43.i.i979.i = select i1 %660, i8* %.sroa.0.0.44.i.i976.i, i8* %661
%sret_slot.sroa.0.0.i26.i.i.i980.i = select i1 %660, i8* null, i8* %.sroa.0.0.44.i.i976.i
%662 = icmp ne i8* %.45.i.i978.i, null
switch i1 %662, label %loop_body.i.i.i1078.i [
i1 false, label %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit985.i
i1 true, label %match_case6.i.i.i983.i
]
match_case6.i.i.i983.i: ; preds = %loop_body.i.i.i981.i
%663 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i980.i, null
br i1 %663, label %loop_body.i.i.i1078.i, label %match_else7.i.i.i984.i
match_else7.i.i.i984.i: ; preds = %match_case6.i.i.i983.i
%664 = load i8* %.45.i.i978.i, align 1, !alias.scope !1255, !noalias !1258
%665 = load i8* %sret_slot.sroa.0.0.i26.i.i.i980.i, align 1, !alias.scope !1272, !noalias !1273
%666 = icmp eq i8 %664, %665
br i1 %666, label %loop_body.i.i.i981.i, label %loop_body.i.i.i1078.i
_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit985.i: ; preds = %loop_body.i.i.i981.i
%667 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i980.i, null
br i1 %667, label %then-block-75052-.i, label %loop_body.i.i.i1078.i
then-block-75052-.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit985.i
call void @llvm.lifetime.start(i64 72, i8* %391), !noalias !1144
%668 = load void (i8*)** %574, align 8, !noalias !1160
%669 = bitcast void (i8*)* %668 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %str_slice*)*
call void @llvm.lifetime.start(i64 16, i8* %392), !noalias !1144
store i8* getelementptr inbounds ([3 x i8]* @str31533, i64 0, i64 0), i8** %393, align 8, !noalias !1144
store i64 3, i64* %394, align 8, !noalias !1144
invoke void %669(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %11, i8* noalias nocapture dereferenceable(16) %433, %str_slice* noalias nocapture dereferenceable(16) %12)
to label %.noexc703 unwind label %clean_ast_76549_183.loopexit
.noexc703: ; preds = %then-block-75052-.i
call void @llvm.lifetime.end(i64 16, i8* %392), !noalias !1144
%670 = load i8* %391, align 8, !range !38, !noalias !1144
%cond354.i = icmp eq i8 %670, 0
br i1 %cond354.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit999.i", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1046.i
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit999.i": ; preds = %.noexc703
call void @llvm.lifetime.end(i64 72, i8* %391), !noalias !1144
%671 = icmp eq i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %671, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1042.i, label %next-block.i.i1035.i
next-block.i.i1035.i: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit999.i"
%672 = icmp ugt i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %672, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1037.i, label %else-block.i1041.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1037.i: ; preds = %next-block.i.i1035.i
%673 = load i8* %630, align 1, !noalias !1274
%674 = icmp sgt i8 %673, -1
%675 = icmp ugt i8 %673, -65
%..i.i1036.i = or i1 %674, %675
br i1 %..i.i1036.i, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1042.i, label %else-block.i1041.i
else-block.i1041.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1037.i, %next-block.i.i1035.i
%676 = bitcast %str_slice* %arg3.i1028.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %676), !noalias !1280
%arg95.sroa.0.0..sroa_idx.i = getelementptr inbounds %str_slice* %arg3.i1028.i, i64 0, i32 0
store i8* %.pre-phi.i130023272717.i, i8** %arg95.sroa.0.0..sroa_idx.i, align 8, !noalias !1144
%arg95.sroa.6.0..sroa_idx2066.i = getelementptr inbounds %str_slice* %arg3.i1028.i, i64 0, i32 1
store i64 %s.sroa.10.8.load226523302716.i, i64* %arg95.sroa.6.0..sroa_idx2066.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg3.i1028.i, i64 4, i64 %s.sroa.10.8.load226523302716.i)
to label %.noexc704 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc704: ; preds = %else-block.i1041.i
unreachable
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1042.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1037.i, %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit999.i"
%677 = add i64 %s.sroa.10.8.load226523302716.i, -4
br label %while_cond58.backedge.i
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1046.i: ; preds = %.noexc703
%678 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %11, i64 0, i32 2
%679 = bitcast [8 x i64]* %678 to i8*
%arg88.i.sroa.5.0..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %11, i64 0, i32 2, i64 4
%arg88.i.sroa.5.0..sroa_cast = bitcast i64* %arg88.i.sroa.5.0..sroa_idx to i8*
%arg88.i.sroa.5.0.copyload = load i8* %arg88.i.sroa.5.0..sroa_cast, align 8
%arg88.i.sroa.6.0..sroa_raw_idx = getelementptr inbounds i8* %391, i64 41
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.52.0..sroa_idx1886, i8* %arg88.i.sroa.6.0..sroa_raw_idx, i64 7, i32 1, i1 false)
%arg88.i.sroa.7.0..sroa_idx1942 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %11, i64 0, i32 2, i64 5
%arg88.i.sroa.7.0..sroa_cast1761 = bitcast i64* %arg88.i.sroa.7.0..sroa_idx1942 to i8**
%arg88.i.sroa.7.0.copyload = load i8** %arg88.i.sroa.7.0..sroa_cast1761, align 8
%arg88.i.sroa.8.0..sroa_idx1764 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %11, i64 0, i32 2, i64 6
%680 = bitcast i64* %arg88.i.sroa.8.0..sroa_idx1764 to <2 x i64>*
%681 = load <2 x i64>* %680, align 8
%arg88.i.sroa.0.0..sroa.26.8..sroa_idx897.sroa_idx = getelementptr inbounds [39 x i8]* %.sroa.26, i64 0, i64 7
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg88.i.sroa.0.0..sroa.26.8..sroa_idx897.sroa_idx, i8* %679, i64 32, i32 1, i1 false)
call void @llvm.lifetime.end(i64 72, i8* %391), !noalias !1144
br label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit748"
loop_body.i.i.i1078.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit985.i, %match_else7.i.i.i984.i, %match_case6.i.i.i983.i, %loop_body.i.i.i981.i, %match_else7.i.i.i1081.i
%.sroa.0.0.44.i.i1073.i = phi i8* [ %.sroa.0.0.43.i.i1076.i, %match_else7.i.i.i1081.i ], [ %.pre-phi.i130023272717.i, %loop_body.i.i.i981.i ], [ %.pre-phi.i130023272717.i, %match_case6.i.i.i983.i ], [ %.pre-phi.i130023272717.i, %match_else7.i.i.i984.i ], [ %.pre-phi.i130023272717.i, %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit985.i ]
%682 = phi i8* [ %..i.i1074.i, %match_else7.i.i.i1081.i ], [ getelementptr inbounds ([4 x i8]* @str31534, i64 0, i64 0), %loop_body.i.i.i981.i ], [ getelementptr inbounds ([4 x i8]* @str31534, i64 0, i64 0), %match_case6.i.i.i983.i ], [ getelementptr inbounds ([4 x i8]* @str31534, i64 0, i64 0), %match_else7.i.i.i984.i ], [ getelementptr inbounds ([4 x i8]* @str31534, i64 0, i64 0), %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit985.i ]
%683 = icmp eq i8* %682, getelementptr inbounds ([4 x i8]* @str31534, i64 1, i64 0)
%684 = getelementptr inbounds i8* %682, i64 1
%..i.i1074.i = select i1 %683, i8* getelementptr inbounds ([4 x i8]* @str31534, i64 1, i64 0), i8* %684
%.45.i.i1075.i = select i1 %683, i8* null, i8* %682
%685 = icmp eq i8* %.sroa.0.0.44.i.i1073.i, %630
%686 = getelementptr inbounds i8* %.sroa.0.0.44.i.i1073.i, i64 1
%.sroa.0.0.43.i.i1076.i = select i1 %685, i8* %.sroa.0.0.44.i.i1073.i, i8* %686
%sret_slot.sroa.0.0.i26.i.i.i1077.i = select i1 %685, i8* null, i8* %.sroa.0.0.44.i.i1073.i
%687 = icmp ne i8* %.45.i.i1075.i, null
switch i1 %687, label %loop_body.i.i.i1155.i [
i1 false, label %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1082.i
i1 true, label %match_case6.i.i.i1080.i
]
match_case6.i.i.i1080.i: ; preds = %loop_body.i.i.i1078.i
%688 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1077.i, null
br i1 %688, label %loop_body.i.i.i1155.i, label %match_else7.i.i.i1081.i
match_else7.i.i.i1081.i: ; preds = %match_case6.i.i.i1080.i
%689 = load i8* %.45.i.i1075.i, align 1, !alias.scope !1281, !noalias !1284
%690 = load i8* %sret_slot.sroa.0.0.i26.i.i.i1077.i, align 1, !alias.scope !1298, !noalias !1299
%691 = icmp eq i8 %689, %690
br i1 %691, label %loop_body.i.i.i1078.i, label %loop_body.i.i.i1155.i
_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1082.i: ; preds = %loop_body.i.i.i1078.i
%692 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1077.i, null
br i1 %692, label %then-block-75082-.i, label %loop_body.i.i.i1155.i
then-block-75082-.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1082.i
call void @llvm.lifetime.start(i64 72, i8* %387), !noalias !1144
%693 = load void (i8*)** %574, align 8, !noalias !1160
%694 = bitcast void (i8*)* %693 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %str_slice*)*
call void @llvm.lifetime.start(i64 16, i8* %388), !noalias !1144
store i8* getelementptr inbounds ([1 x i8]* @str30910, i64 0, i64 0), i8** %389, align 8, !noalias !1144
store i64 1, i64* %390, align 8, !noalias !1144
invoke void %694(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %13, i8* noalias nocapture dereferenceable(16) %433, %str_slice* noalias nocapture dereferenceable(16) %14)
to label %.noexc705 unwind label %clean_ast_76549_183.loopexit
.noexc705: ; preds = %then-block-75082-.i
call void @llvm.lifetime.end(i64 16, i8* %388), !noalias !1144
%695 = load i8* %387, align 8, !range !38, !noalias !1144
%cond353.i = icmp eq i8 %695, 0
br i1 %cond353.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1098.i", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1123.i
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1098.i": ; preds = %.noexc705
call void @llvm.lifetime.end(i64 72, i8* %387), !noalias !1144
%696 = icmp eq i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %696, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1119.i, label %next-block.i.i1112.i
next-block.i.i1112.i: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1098.i"
%697 = icmp ugt i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %697, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1114.i, label %else-block.i1118.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1114.i: ; preds = %next-block.i.i1112.i
%698 = load i8* %630, align 1, !noalias !1300
%699 = icmp sgt i8 %698, -1
%700 = icmp ugt i8 %698, -65
%..i.i1113.i = or i1 %699, %700
br i1 %..i.i1113.i, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1119.i, label %else-block.i1118.i
else-block.i1118.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1114.i, %next-block.i.i1112.i
%701 = bitcast %str_slice* %arg3.i1105.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %701), !noalias !1306
%arg112.sroa.0.0..sroa_idx.i = getelementptr inbounds %str_slice* %arg3.i1105.i, i64 0, i32 0
store i8* %.pre-phi.i130023272717.i, i8** %arg112.sroa.0.0..sroa_idx.i, align 8, !noalias !1144
%arg112.sroa.6.0..sroa_idx2036.i = getelementptr inbounds %str_slice* %arg3.i1105.i, i64 0, i32 1
store i64 %s.sroa.10.8.load226523302716.i, i64* %arg112.sroa.6.0..sroa_idx2036.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg3.i1105.i, i64 4, i64 %s.sroa.10.8.load226523302716.i)
to label %.noexc706 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc706: ; preds = %else-block.i1118.i
unreachable
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1119.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1114.i, %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1098.i"
%702 = add i64 %s.sroa.10.8.load226523302716.i, -4
br label %while_cond58.backedge.i
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1123.i: ; preds = %.noexc705
%703 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %13, i64 0, i32 2
%704 = bitcast [8 x i64]* %703 to i8*
%arg105.i.sroa.5.0..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %13, i64 0, i32 2, i64 4
%arg105.i.sroa.5.0..sroa_cast = bitcast i64* %arg105.i.sroa.5.0..sroa_idx to i8*
%arg105.i.sroa.5.0.copyload = load i8* %arg105.i.sroa.5.0..sroa_cast, align 8
%arg105.i.sroa.6.0..sroa_raw_idx = getelementptr inbounds i8* %387, i64 41
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.52.0..sroa_idx1886, i8* %arg105.i.sroa.6.0..sroa_raw_idx, i64 7, i32 1, i1 false)
%arg105.i.sroa.7.0..sroa_idx1941 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %13, i64 0, i32 2, i64 5
%arg105.i.sroa.7.0..sroa_cast1724 = bitcast i64* %arg105.i.sroa.7.0..sroa_idx1941 to i8**
%arg105.i.sroa.7.0.copyload = load i8** %arg105.i.sroa.7.0..sroa_cast1724, align 8
%arg105.i.sroa.8.0..sroa_idx1727 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %13, i64 0, i32 2, i64 6
%705 = bitcast i64* %arg105.i.sroa.8.0..sroa_idx1727 to <2 x i64>*
%706 = load <2 x i64>* %705, align 8
%arg105.i.sroa.0.0..sroa.26.8..sroa_idx899.sroa_idx = getelementptr inbounds [39 x i8]* %.sroa.26, i64 0, i64 7
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg105.i.sroa.0.0..sroa.26.8..sroa_idx899.sroa_idx, i8* %704, i64 32, i32 1, i1 false)
call void @llvm.lifetime.end(i64 72, i8* %387), !noalias !1144
br label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit748"
loop_body.i.i.i1155.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1082.i, %match_else7.i.i.i1081.i, %match_case6.i.i.i1080.i, %loop_body.i.i.i1078.i, %match_else7.i.i.i1158.i
%.sroa.0.0.44.i.i1150.i = phi i8* [ %.sroa.0.0.43.i.i1153.i, %match_else7.i.i.i1158.i ], [ %.pre-phi.i130023272717.i, %loop_body.i.i.i1078.i ], [ %.pre-phi.i130023272717.i, %match_case6.i.i.i1080.i ], [ %.pre-phi.i130023272717.i, %match_else7.i.i.i1081.i ], [ %.pre-phi.i130023272717.i, %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1082.i ]
%707 = phi i8* [ %..i.i1151.i, %match_else7.i.i.i1158.i ], [ getelementptr inbounds ([4 x i8]* @str31535, i64 0, i64 0), %loop_body.i.i.i1078.i ], [ getelementptr inbounds ([4 x i8]* @str31535, i64 0, i64 0), %match_case6.i.i.i1080.i ], [ getelementptr inbounds ([4 x i8]* @str31535, i64 0, i64 0), %match_else7.i.i.i1081.i ], [ getelementptr inbounds ([4 x i8]* @str31535, i64 0, i64 0), %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1082.i ]
%708 = icmp eq i8* %707, getelementptr inbounds ([4 x i8]* @str31535, i64 1, i64 0)
%709 = getelementptr inbounds i8* %707, i64 1
%..i.i1151.i = select i1 %708, i8* getelementptr inbounds ([4 x i8]* @str31535, i64 1, i64 0), i8* %709
%.45.i.i1152.i = select i1 %708, i8* null, i8* %707
%710 = icmp eq i8* %.sroa.0.0.44.i.i1150.i, %630
%711 = getelementptr inbounds i8* %.sroa.0.0.44.i.i1150.i, i64 1
%.sroa.0.0.43.i.i1153.i = select i1 %710, i8* %.sroa.0.0.44.i.i1150.i, i8* %711
%sret_slot.sroa.0.0.i26.i.i.i1154.i = select i1 %710, i8* null, i8* %.sroa.0.0.44.i.i1150.i
%712 = icmp ne i8* %.45.i.i1152.i, null
switch i1 %712, label %loop_body.i.i.i1241.i [
i1 false, label %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1159.i
i1 true, label %match_case6.i.i.i1157.i
]
match_case6.i.i.i1157.i: ; preds = %loop_body.i.i.i1155.i
%713 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1154.i, null
br i1 %713, label %loop_body.i.i.i1241.i, label %match_else7.i.i.i1158.i
match_else7.i.i.i1158.i: ; preds = %match_case6.i.i.i1157.i
%714 = load i8* %.45.i.i1152.i, align 1, !alias.scope !1307, !noalias !1310
%715 = load i8* %sret_slot.sroa.0.0.i26.i.i.i1154.i, align 1, !alias.scope !1324, !noalias !1325
%716 = icmp eq i8 %714, %715
br i1 %716, label %loop_body.i.i.i1155.i, label %loop_body.i.i.i1241.i
_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1159.i: ; preds = %loop_body.i.i.i1155.i
%717 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1154.i, null
br i1 %717, label %then-block-75112-.i, label %loop_body.i.i.i1241.i
then-block-75112-.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1159.i
call void @llvm.lifetime.start(i64 72, i8* %383), !noalias !1144
%718 = load void (i8*)** %574, align 8, !noalias !1160
%719 = bitcast void (i8*)* %718 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %str_slice*)*
call void @llvm.lifetime.start(i64 16, i8* %384), !noalias !1144
store i8* getelementptr inbounds ([1 x i8]* @str31536, i64 0, i64 0), i8** %385, align 8, !noalias !1144
store i64 1, i64* %386, align 8, !noalias !1144
invoke void %719(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %15, i8* noalias nocapture dereferenceable(16) %433, %str_slice* noalias nocapture dereferenceable(16) %16)
to label %.noexc707 unwind label %clean_ast_76549_183.loopexit
.noexc707: ; preds = %then-block-75112-.i
call void @llvm.lifetime.end(i64 16, i8* %384), !noalias !1144
%720 = load i8* %383, align 8, !range !38, !noalias !1144
%cond352.i = icmp eq i8 %720, 0
br i1 %cond352.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1188.i", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1209.i
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1188.i": ; preds = %.noexc707
call void @llvm.lifetime.end(i64 72, i8* %383), !noalias !1144
%721 = icmp eq i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %721, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1205.i, label %next-block.i.i1198.i
next-block.i.i1198.i: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1188.i"
%722 = icmp ugt i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %722, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1200.i, label %else-block.i1204.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1200.i: ; preds = %next-block.i.i1198.i
%723 = load i8* %630, align 1, !noalias !1326
%724 = icmp sgt i8 %723, -1
%725 = icmp ugt i8 %723, -65
%..i.i1199.i = or i1 %724, %725
br i1 %..i.i1199.i, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1205.i, label %else-block.i1204.i
else-block.i1204.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1200.i, %next-block.i.i1198.i
%726 = bitcast %str_slice* %arg3.i1191.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %726), !noalias !1332
%arg129.sroa.0.0..sroa_idx.i = getelementptr inbounds %str_slice* %arg3.i1191.i, i64 0, i32 0
store i8* %.pre-phi.i130023272717.i, i8** %arg129.sroa.0.0..sroa_idx.i, align 8, !noalias !1144
%arg129.sroa.6.0..sroa_idx2006.i = getelementptr inbounds %str_slice* %arg3.i1191.i, i64 0, i32 1
store i64 %s.sroa.10.8.load226523302716.i, i64* %arg129.sroa.6.0..sroa_idx2006.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg3.i1191.i, i64 4, i64 %s.sroa.10.8.load226523302716.i)
to label %.noexc708 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc708: ; preds = %else-block.i1204.i
unreachable
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1205.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1200.i, %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1188.i"
%727 = add i64 %s.sroa.10.8.load226523302716.i, -4
br label %while_cond58.backedge.i
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1209.i: ; preds = %.noexc707
%728 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %15, i64 0, i32 2
%729 = bitcast [8 x i64]* %728 to i8*
%arg122.i.sroa.5.0..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %15, i64 0, i32 2, i64 4
%arg122.i.sroa.5.0..sroa_cast = bitcast i64* %arg122.i.sroa.5.0..sroa_idx to i8*
%arg122.i.sroa.5.0.copyload = load i8* %arg122.i.sroa.5.0..sroa_cast, align 8
%arg122.i.sroa.6.0..sroa_raw_idx = getelementptr inbounds i8* %383, i64 41
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.52.0..sroa_idx1886, i8* %arg122.i.sroa.6.0..sroa_raw_idx, i64 7, i32 1, i1 false)
%arg122.i.sroa.7.0..sroa_idx1940 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %15, i64 0, i32 2, i64 5
%arg122.i.sroa.7.0..sroa_cast1688 = bitcast i64* %arg122.i.sroa.7.0..sroa_idx1940 to i8**
%arg122.i.sroa.7.0.copyload = load i8** %arg122.i.sroa.7.0..sroa_cast1688, align 8
%arg122.i.sroa.8.0..sroa_idx1691 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %15, i64 0, i32 2, i64 6
%730 = bitcast i64* %arg122.i.sroa.8.0..sroa_idx1691 to <2 x i64>*
%731 = load <2 x i64>* %730, align 8
%arg122.i.sroa.0.0..sroa.26.8..sroa_idx901.sroa_idx = getelementptr inbounds [39 x i8]* %.sroa.26, i64 0, i64 7
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg122.i.sroa.0.0..sroa.26.8..sroa_idx901.sroa_idx, i8* %729, i64 32, i32 1, i1 false)
call void @llvm.lifetime.end(i64 72, i8* %383), !noalias !1144
br label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit748"
loop_body.i.i.i1241.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1159.i, %match_else7.i.i.i1158.i, %match_case6.i.i.i1157.i, %loop_body.i.i.i1155.i, %match_else7.i.i.i1244.i
%.sroa.0.0.44.i.i1236.i = phi i8* [ %.sroa.0.0.43.i.i1239.i, %match_else7.i.i.i1244.i ], [ %.pre-phi.i130023272717.i, %loop_body.i.i.i1155.i ], [ %.pre-phi.i130023272717.i, %match_case6.i.i.i1157.i ], [ %.pre-phi.i130023272717.i, %match_else7.i.i.i1158.i ], [ %.pre-phi.i130023272717.i, %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1159.i ]
%732 = phi i8* [ %..i.i1237.i, %match_else7.i.i.i1244.i ], [ getelementptr inbounds ([4 x i8]* @str31537, i64 0, i64 0), %loop_body.i.i.i1155.i ], [ getelementptr inbounds ([4 x i8]* @str31537, i64 0, i64 0), %match_case6.i.i.i1157.i ], [ getelementptr inbounds ([4 x i8]* @str31537, i64 0, i64 0), %match_else7.i.i.i1158.i ], [ getelementptr inbounds ([4 x i8]* @str31537, i64 0, i64 0), %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1159.i ]
%733 = icmp eq i8* %732, getelementptr inbounds ([4 x i8]* @str31537, i64 1, i64 0)
%734 = getelementptr inbounds i8* %732, i64 1
%..i.i1237.i = select i1 %733, i8* getelementptr inbounds ([4 x i8]* @str31537, i64 1, i64 0), i8* %734
%.45.i.i1238.i = select i1 %733, i8* null, i8* %732
%735 = icmp eq i8* %.sroa.0.0.44.i.i1236.i, %630
%736 = getelementptr inbounds i8* %.sroa.0.0.44.i.i1236.i, i64 1
%.sroa.0.0.43.i.i1239.i = select i1 %735, i8* %.sroa.0.0.44.i.i1236.i, i8* %736
%sret_slot.sroa.0.0.i26.i.i.i1240.i = select i1 %735, i8* null, i8* %.sroa.0.0.44.i.i1236.i
%737 = icmp ne i8* %.45.i.i1238.i, null
switch i1 %737, label %loop_body.i.i.i1340.i [
i1 false, label %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1245.i
i1 true, label %match_case6.i.i.i1243.i
]
match_case6.i.i.i1243.i: ; preds = %loop_body.i.i.i1241.i
%738 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1240.i, null
br i1 %738, label %loop_body.i.i.i1340.i, label %match_else7.i.i.i1244.i
match_else7.i.i.i1244.i: ; preds = %match_case6.i.i.i1243.i
%739 = load i8* %.45.i.i1238.i, align 1, !alias.scope !1333, !noalias !1336
%740 = load i8* %sret_slot.sroa.0.0.i26.i.i.i1240.i, align 1, !alias.scope !1350, !noalias !1351
%741 = icmp eq i8 %739, %740
br i1 %741, label %loop_body.i.i.i1241.i, label %loop_body.i.i.i1340.i
_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1245.i: ; preds = %loop_body.i.i.i1241.i
%742 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1240.i, null
br i1 %742, label %then-block-75142-.i, label %loop_body.i.i.i1340.i
then-block-75142-.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1245.i
call void @llvm.lifetime.start(i64 72, i8* %379), !noalias !1144
%743 = load void (i8*)** %574, align 8, !noalias !1160
%744 = bitcast void (i8*)* %743 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %str_slice*)*
call void @llvm.lifetime.start(i64 16, i8* %380), !noalias !1144
store i8* getelementptr inbounds ([1 x i8]* @str31538, i64 0, i64 0), i8** %381, align 8, !noalias !1144
store i64 1, i64* %382, align 8, !noalias !1144
invoke void %744(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %17, i8* noalias nocapture dereferenceable(16) %433, %str_slice* noalias nocapture dereferenceable(16) %18)
to label %.noexc709 unwind label %clean_ast_76549_183.loopexit
.noexc709: ; preds = %then-block-75142-.i
call void @llvm.lifetime.end(i64 16, i8* %380), !noalias !1144
%745 = load i8* %379, align 8, !range !38, !noalias !1144
%cond351.i = icmp eq i8 %745, 0
br i1 %cond351.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1281.i", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1308.i
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1281.i": ; preds = %.noexc709
call void @llvm.lifetime.end(i64 72, i8* %379), !noalias !1144
%746 = icmp eq i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %746, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1304.i, label %next-block.i.i1297.i
next-block.i.i1297.i: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1281.i"
%747 = icmp ugt i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %747, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1299.i, label %else-block.i1303.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1299.i: ; preds = %next-block.i.i1297.i
%748 = load i8* %630, align 1, !noalias !1352
%749 = icmp sgt i8 %748, -1
%750 = icmp ugt i8 %748, -65
%..i.i1298.i = or i1 %749, %750
br i1 %..i.i1298.i, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1304.i, label %else-block.i1303.i
else-block.i1303.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1299.i, %next-block.i.i1297.i
%751 = bitcast %str_slice* %arg3.i1290.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %751), !noalias !1358
%arg146.sroa.0.0..sroa_idx.i = getelementptr inbounds %str_slice* %arg3.i1290.i, i64 0, i32 0
store i8* %.pre-phi.i130023272717.i, i8** %arg146.sroa.0.0..sroa_idx.i, align 8, !noalias !1144
%arg146.sroa.6.0..sroa_idx1976.i = getelementptr inbounds %str_slice* %arg3.i1290.i, i64 0, i32 1
store i64 %s.sroa.10.8.load226523302716.i, i64* %arg146.sroa.6.0..sroa_idx1976.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg3.i1290.i, i64 4, i64 %s.sroa.10.8.load226523302716.i)
to label %.noexc710 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc710: ; preds = %else-block.i1303.i
unreachable
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1304.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1299.i, %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1281.i"
%752 = add i64 %s.sroa.10.8.load226523302716.i, -4
br label %while_cond58.backedge.i
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1308.i: ; preds = %.noexc709
%753 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %17, i64 0, i32 2
%754 = bitcast [8 x i64]* %753 to i8*
%arg139.i.sroa.5.0..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %17, i64 0, i32 2, i64 4
%arg139.i.sroa.5.0..sroa_cast = bitcast i64* %arg139.i.sroa.5.0..sroa_idx to i8*
%arg139.i.sroa.5.0.copyload = load i8* %arg139.i.sroa.5.0..sroa_cast, align 8
%arg139.i.sroa.6.0..sroa_raw_idx = getelementptr inbounds i8* %379, i64 41
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.52.0..sroa_idx1886, i8* %arg139.i.sroa.6.0..sroa_raw_idx, i64 7, i32 1, i1 false)
%arg139.i.sroa.7.0..sroa_idx1939 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %17, i64 0, i32 2, i64 5
%arg139.i.sroa.7.0..sroa_cast1651 = bitcast i64* %arg139.i.sroa.7.0..sroa_idx1939 to i8**
%arg139.i.sroa.7.0.copyload = load i8** %arg139.i.sroa.7.0..sroa_cast1651, align 8
%arg139.i.sroa.8.0..sroa_idx1654 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %17, i64 0, i32 2, i64 6
%755 = bitcast i64* %arg139.i.sroa.8.0..sroa_idx1654 to <2 x i64>*
%756 = load <2 x i64>* %755, align 8
%arg139.i.sroa.0.0..sroa.26.8..sroa_idx903.sroa_idx = getelementptr inbounds [39 x i8]* %.sroa.26, i64 0, i64 7
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg139.i.sroa.0.0..sroa.26.8..sroa_idx903.sroa_idx, i8* %754, i64 32, i32 1, i1 false)
call void @llvm.lifetime.end(i64 72, i8* %379), !noalias !1144
br label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit748"
loop_body.i.i.i1340.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1245.i, %match_else7.i.i.i1244.i, %match_case6.i.i.i1243.i, %loop_body.i.i.i1241.i, %match_else7.i.i.i1343.i
%.sroa.0.0.44.i.i1335.i = phi i8* [ %.sroa.0.0.43.i.i1338.i, %match_else7.i.i.i1343.i ], [ %.pre-phi.i130023272717.i, %loop_body.i.i.i1241.i ], [ %.pre-phi.i130023272717.i, %match_case6.i.i.i1243.i ], [ %.pre-phi.i130023272717.i, %match_else7.i.i.i1244.i ], [ %.pre-phi.i130023272717.i, %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1245.i ]
%757 = phi i8* [ %..i.i1336.i, %match_else7.i.i.i1343.i ], [ getelementptr inbounds ([4 x i8]* @str31539, i64 0, i64 0), %loop_body.i.i.i1241.i ], [ getelementptr inbounds ([4 x i8]* @str31539, i64 0, i64 0), %match_case6.i.i.i1243.i ], [ getelementptr inbounds ([4 x i8]* @str31539, i64 0, i64 0), %match_else7.i.i.i1244.i ], [ getelementptr inbounds ([4 x i8]* @str31539, i64 0, i64 0), %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1245.i ]
%758 = icmp eq i8* %757, getelementptr inbounds ([4 x i8]* @str31539, i64 1, i64 0)
%759 = getelementptr inbounds i8* %757, i64 1
%..i.i1336.i = select i1 %758, i8* getelementptr inbounds ([4 x i8]* @str31539, i64 1, i64 0), i8* %759
%.45.i.i1337.i = select i1 %758, i8* null, i8* %757
%760 = icmp eq i8* %.sroa.0.0.44.i.i1335.i, %630
%761 = getelementptr inbounds i8* %.sroa.0.0.44.i.i1335.i, i64 1
%.sroa.0.0.43.i.i1338.i = select i1 %760, i8* %.sroa.0.0.44.i.i1335.i, i8* %761
%sret_slot.sroa.0.0.i26.i.i.i1339.i = select i1 %760, i8* null, i8* %.sroa.0.0.44.i.i1335.i
%762 = icmp ne i8* %.45.i.i1337.i, null
switch i1 %762, label %loop_body.i.i.i1430.i [
i1 false, label %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1344.i
i1 true, label %match_case6.i.i.i1342.i
]
match_case6.i.i.i1342.i: ; preds = %loop_body.i.i.i1340.i
%763 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1339.i, null
br i1 %763, label %loop_body.i.i.i1430.i, label %match_else7.i.i.i1343.i
match_else7.i.i.i1343.i: ; preds = %match_case6.i.i.i1342.i
%764 = load i8* %.45.i.i1337.i, align 1, !alias.scope !1359, !noalias !1362
%765 = load i8* %sret_slot.sroa.0.0.i26.i.i.i1339.i, align 1, !alias.scope !1376, !noalias !1377
%766 = icmp eq i8 %764, %765
br i1 %766, label %loop_body.i.i.i1340.i, label %loop_body.i.i.i1430.i
_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1344.i: ; preds = %loop_body.i.i.i1340.i
%767 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1339.i, null
br i1 %767, label %then-block-75172-.i, label %loop_body.i.i.i1430.i
then-block-75172-.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1344.i
call void @llvm.lifetime.start(i64 72, i8* %375), !noalias !1144
%768 = load void (i8*)** %574, align 8, !noalias !1160
%769 = bitcast void (i8*)* %768 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %str_slice*)*
call void @llvm.lifetime.start(i64 16, i8* %376), !noalias !1144
store i8* getelementptr inbounds ([1 x i8]* @str31540, i64 0, i64 0), i8** %377, align 8, !noalias !1144
store i64 1, i64* %378, align 8, !noalias !1144
invoke void %769(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %19, i8* noalias nocapture dereferenceable(16) %433, %str_slice* noalias nocapture dereferenceable(16) %20)
to label %.noexc711 unwind label %clean_ast_76549_183.loopexit
.noexc711: ; preds = %then-block-75172-.i
call void @llvm.lifetime.end(i64 16, i8* %376), !noalias !1144
%770 = load i8* %375, align 8, !range !38, !noalias !1144
%cond350.i = icmp eq i8 %770, 0
br i1 %cond350.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1369.i", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1398.i
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1369.i": ; preds = %.noexc711
call void @llvm.lifetime.end(i64 72, i8* %375), !noalias !1144
%771 = icmp eq i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %771, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1394.i, label %next-block.i.i1387.i
next-block.i.i1387.i: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1369.i"
%772 = icmp ugt i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %772, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1389.i, label %else-block.i1393.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1389.i: ; preds = %next-block.i.i1387.i
%773 = load i8* %630, align 1, !noalias !1378
%774 = icmp sgt i8 %773, -1
%775 = icmp ugt i8 %773, -65
%..i.i1388.i = or i1 %774, %775
br i1 %..i.i1388.i, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1394.i, label %else-block.i1393.i
else-block.i1393.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1389.i, %next-block.i.i1387.i
%776 = bitcast %str_slice* %arg3.i1380.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %776), !noalias !1384
%arg163.sroa.0.0..sroa_idx.i = getelementptr inbounds %str_slice* %arg3.i1380.i, i64 0, i32 0
store i8* %.pre-phi.i130023272717.i, i8** %arg163.sroa.0.0..sroa_idx.i, align 8, !noalias !1144
%arg163.sroa.6.0..sroa_idx1946.i = getelementptr inbounds %str_slice* %arg3.i1380.i, i64 0, i32 1
store i64 %s.sroa.10.8.load226523302716.i, i64* %arg163.sroa.6.0..sroa_idx1946.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg3.i1380.i, i64 4, i64 %s.sroa.10.8.load226523302716.i)
to label %.noexc712 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc712: ; preds = %else-block.i1393.i
unreachable
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1394.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1389.i, %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1369.i"
%777 = add i64 %s.sroa.10.8.load226523302716.i, -4
br label %while_cond58.backedge.i
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1398.i: ; preds = %.noexc711
%778 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %19, i64 0, i32 2
%779 = bitcast [8 x i64]* %778 to i8*
%arg156.i.sroa.5.0..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %19, i64 0, i32 2, i64 4
%arg156.i.sroa.5.0..sroa_cast = bitcast i64* %arg156.i.sroa.5.0..sroa_idx to i8*
%arg156.i.sroa.5.0.copyload = load i8* %arg156.i.sroa.5.0..sroa_cast, align 8
%arg156.i.sroa.6.0..sroa_raw_idx = getelementptr inbounds i8* %375, i64 41
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.52.0..sroa_idx1886, i8* %arg156.i.sroa.6.0..sroa_raw_idx, i64 7, i32 1, i1 false)
%arg156.i.sroa.7.0..sroa_idx1938 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %19, i64 0, i32 2, i64 5
%arg156.i.sroa.7.0..sroa_cast1615 = bitcast i64* %arg156.i.sroa.7.0..sroa_idx1938 to i8**
%arg156.i.sroa.7.0.copyload = load i8** %arg156.i.sroa.7.0..sroa_cast1615, align 8
%arg156.i.sroa.8.0..sroa_idx1618 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %19, i64 0, i32 2, i64 6
%780 = bitcast i64* %arg156.i.sroa.8.0..sroa_idx1618 to <2 x i64>*
%781 = load <2 x i64>* %780, align 8
%arg156.i.sroa.0.0..sroa.26.8..sroa_idx907.sroa_idx = getelementptr inbounds [39 x i8]* %.sroa.26, i64 0, i64 7
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg156.i.sroa.0.0..sroa.26.8..sroa_idx907.sroa_idx, i8* %779, i64 32, i32 1, i1 false)
call void @llvm.lifetime.end(i64 72, i8* %375), !noalias !1144
br label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit748"
loop_body.i.i.i1430.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1344.i, %match_else7.i.i.i1343.i, %match_case6.i.i.i1342.i, %loop_body.i.i.i1340.i, %match_else7.i.i.i1433.i
%.sroa.0.0.44.i.i1425.i = phi i8* [ %.sroa.0.0.43.i.i1428.i, %match_else7.i.i.i1433.i ], [ %.pre-phi.i130023272717.i, %loop_body.i.i.i1340.i ], [ %.pre-phi.i130023272717.i, %match_case6.i.i.i1342.i ], [ %.pre-phi.i130023272717.i, %match_else7.i.i.i1343.i ], [ %.pre-phi.i130023272717.i, %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1344.i ]
%782 = phi i8* [ %..i.i1426.i, %match_else7.i.i.i1433.i ], [ getelementptr inbounds ([4 x i8]* @str31541, i64 0, i64 0), %loop_body.i.i.i1340.i ], [ getelementptr inbounds ([4 x i8]* @str31541, i64 0, i64 0), %match_case6.i.i.i1342.i ], [ getelementptr inbounds ([4 x i8]* @str31541, i64 0, i64 0), %match_else7.i.i.i1343.i ], [ getelementptr inbounds ([4 x i8]* @str31541, i64 0, i64 0), %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1344.i ]
%783 = icmp eq i8* %782, getelementptr inbounds ([4 x i8]* @str31541, i64 1, i64 0)
%784 = getelementptr inbounds i8* %782, i64 1
%..i.i1426.i = select i1 %783, i8* getelementptr inbounds ([4 x i8]* @str31541, i64 1, i64 0), i8* %784
%.45.i.i1427.i = select i1 %783, i8* null, i8* %782
%785 = icmp eq i8* %.sroa.0.0.44.i.i1425.i, %630
%786 = getelementptr inbounds i8* %.sroa.0.0.44.i.i1425.i, i64 1
%.sroa.0.0.43.i.i1428.i = select i1 %785, i8* %.sroa.0.0.44.i.i1425.i, i8* %786
%sret_slot.sroa.0.0.i26.i.i.i1429.i = select i1 %785, i8* null, i8* %.sroa.0.0.44.i.i1425.i
%787 = icmp ne i8* %.45.i.i1427.i, null
switch i1 %787, label %loop_body.i.i.i1523.i [
i1 false, label %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1434.i
i1 true, label %match_case6.i.i.i1432.i
]
match_case6.i.i.i1432.i: ; preds = %loop_body.i.i.i1430.i
%788 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1429.i, null
br i1 %788, label %loop_body.i.i.i1523.i, label %match_else7.i.i.i1433.i
match_else7.i.i.i1433.i: ; preds = %match_case6.i.i.i1432.i
%789 = load i8* %.45.i.i1427.i, align 1, !alias.scope !1385, !noalias !1388
%790 = load i8* %sret_slot.sroa.0.0.i26.i.i.i1429.i, align 1, !alias.scope !1402, !noalias !1403
%791 = icmp eq i8 %789, %790
br i1 %791, label %loop_body.i.i.i1430.i, label %loop_body.i.i.i1523.i
_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1434.i: ; preds = %loop_body.i.i.i1430.i
%792 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1429.i, null
br i1 %792, label %then-block-75202-.i, label %loop_body.i.i.i1523.i
then-block-75202-.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1434.i
call void @llvm.lifetime.start(i64 72, i8* %371), !noalias !1144
%793 = load void (i8*)** %574, align 8, !noalias !1160
%794 = bitcast void (i8*)* %793 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %str_slice*)*
call void @llvm.lifetime.start(i64 16, i8* %372), !noalias !1144
store i8* getelementptr inbounds ([1 x i8]* @str31542, i64 0, i64 0), i8** %373, align 8, !noalias !1144
store i64 1, i64* %374, align 8, !noalias !1144
invoke void %794(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %21, i8* noalias nocapture dereferenceable(16) %433, %str_slice* noalias nocapture dereferenceable(16) %22)
to label %.noexc713 unwind label %clean_ast_76549_183.loopexit
.noexc713: ; preds = %then-block-75202-.i
call void @llvm.lifetime.end(i64 16, i8* %372), !noalias !1144
%795 = load i8* %371, align 8, !range !38, !noalias !1144
%cond349.i = icmp eq i8 %795, 0
br i1 %cond349.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1466.i", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1491.i
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1466.i": ; preds = %.noexc713
call void @llvm.lifetime.end(i64 72, i8* %371), !noalias !1144
%796 = icmp eq i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %796, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1487.i, label %next-block.i.i1480.i
next-block.i.i1480.i: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1466.i"
%797 = icmp ugt i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %797, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1482.i, label %else-block.i1486.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1482.i: ; preds = %next-block.i.i1480.i
%798 = load i8* %630, align 1, !noalias !1404
%799 = icmp sgt i8 %798, -1
%800 = icmp ugt i8 %798, -65
%..i.i1481.i = or i1 %799, %800
br i1 %..i.i1481.i, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1487.i, label %else-block.i1486.i
else-block.i1486.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1482.i, %next-block.i.i1480.i
%801 = bitcast %str_slice* %arg3.i1473.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %801), !noalias !1410
%arg180.sroa.0.0..sroa_idx.i = getelementptr inbounds %str_slice* %arg3.i1473.i, i64 0, i32 0
store i8* %.pre-phi.i130023272717.i, i8** %arg180.sroa.0.0..sroa_idx.i, align 8, !noalias !1144
%arg180.sroa.6.0..sroa_idx1916.i = getelementptr inbounds %str_slice* %arg3.i1473.i, i64 0, i32 1
store i64 %s.sroa.10.8.load226523302716.i, i64* %arg180.sroa.6.0..sroa_idx1916.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg3.i1473.i, i64 4, i64 %s.sroa.10.8.load226523302716.i)
to label %.noexc714 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc714: ; preds = %else-block.i1486.i
unreachable
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1487.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1482.i, %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1466.i"
%802 = add i64 %s.sroa.10.8.load226523302716.i, -4
br label %while_cond58.backedge.i
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1491.i: ; preds = %.noexc713
%803 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %21, i64 0, i32 2
%804 = bitcast [8 x i64]* %803 to i8*
%arg173.i.sroa.5.0..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %21, i64 0, i32 2, i64 4
%arg173.i.sroa.5.0..sroa_cast = bitcast i64* %arg173.i.sroa.5.0..sroa_idx to i8*
%arg173.i.sroa.5.0.copyload = load i8* %arg173.i.sroa.5.0..sroa_cast, align 8
%arg173.i.sroa.6.0..sroa_raw_idx = getelementptr inbounds i8* %371, i64 41
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.52.0..sroa_idx1886, i8* %arg173.i.sroa.6.0..sroa_raw_idx, i64 7, i32 1, i1 false)
%arg173.i.sroa.7.0..sroa_idx1937 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %21, i64 0, i32 2, i64 5
%arg173.i.sroa.7.0..sroa_cast1578 = bitcast i64* %arg173.i.sroa.7.0..sroa_idx1937 to i8**
%arg173.i.sroa.7.0.copyload = load i8** %arg173.i.sroa.7.0..sroa_cast1578, align 8
%arg173.i.sroa.8.0..sroa_idx1581 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %21, i64 0, i32 2, i64 6
%805 = bitcast i64* %arg173.i.sroa.8.0..sroa_idx1581 to <2 x i64>*
%806 = load <2 x i64>* %805, align 8
%arg173.i.sroa.0.0..sroa.26.8..sroa_idx909.sroa_idx = getelementptr inbounds [39 x i8]* %.sroa.26, i64 0, i64 7
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg173.i.sroa.0.0..sroa.26.8..sroa_idx909.sroa_idx, i8* %804, i64 32, i32 1, i1 false)
call void @llvm.lifetime.end(i64 72, i8* %371), !noalias !1144
br label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit748"
loop_body.i.i.i1523.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1434.i, %match_else7.i.i.i1433.i, %match_case6.i.i.i1432.i, %loop_body.i.i.i1430.i, %match_else7.i.i.i1526.i
%.sroa.0.0.44.i.i1518.i = phi i8* [ %.sroa.0.0.43.i.i1521.i, %match_else7.i.i.i1526.i ], [ %.pre-phi.i130023272717.i, %loop_body.i.i.i1430.i ], [ %.pre-phi.i130023272717.i, %match_case6.i.i.i1432.i ], [ %.pre-phi.i130023272717.i, %match_else7.i.i.i1433.i ], [ %.pre-phi.i130023272717.i, %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1434.i ]
%807 = phi i8* [ %..i.i1519.i, %match_else7.i.i.i1526.i ], [ getelementptr inbounds ([4 x i8]* @str31534, i64 0, i64 0), %loop_body.i.i.i1430.i ], [ getelementptr inbounds ([4 x i8]* @str31534, i64 0, i64 0), %match_case6.i.i.i1432.i ], [ getelementptr inbounds ([4 x i8]* @str31534, i64 0, i64 0), %match_else7.i.i.i1433.i ], [ getelementptr inbounds ([4 x i8]* @str31534, i64 0, i64 0), %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1434.i ]
%808 = icmp eq i8* %807, getelementptr inbounds ([4 x i8]* @str31534, i64 1, i64 0)
%809 = getelementptr inbounds i8* %807, i64 1
%..i.i1519.i = select i1 %808, i8* getelementptr inbounds ([4 x i8]* @str31534, i64 1, i64 0), i8* %809
%.45.i.i1520.i = select i1 %808, i8* null, i8* %807
%810 = icmp eq i8* %.sroa.0.0.44.i.i1518.i, %630
%811 = getelementptr inbounds i8* %.sroa.0.0.44.i.i1518.i, i64 1
%.sroa.0.0.43.i.i1521.i = select i1 %810, i8* %.sroa.0.0.44.i.i1518.i, i8* %811
%sret_slot.sroa.0.0.i26.i.i.i1522.i = select i1 %810, i8* null, i8* %.sroa.0.0.44.i.i1518.i
%812 = icmp ne i8* %.45.i.i1520.i, null
switch i1 %812, label %else-block198.i [
i1 false, label %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1527.i
i1 true, label %match_case6.i.i.i1525.i
]
match_case6.i.i.i1525.i: ; preds = %loop_body.i.i.i1523.i
%813 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1522.i, null
br i1 %813, label %else-block198.i, label %match_else7.i.i.i1526.i
match_else7.i.i.i1526.i: ; preds = %match_case6.i.i.i1525.i
%814 = load i8* %.45.i.i1520.i, align 1, !alias.scope !1411, !noalias !1414
%815 = load i8* %sret_slot.sroa.0.0.i26.i.i.i1522.i, align 1, !alias.scope !1428, !noalias !1429
%816 = icmp eq i8 %814, %815
br i1 %816, label %loop_body.i.i.i1523.i, label %else-block198.i
_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1527.i: ; preds = %loop_body.i.i.i1523.i
%817 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1522.i, null
br i1 %817, label %then-block-75232-.i, label %else-block198.i
then-block-75232-.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1527.i
call void @llvm.lifetime.start(i64 72, i8* %367), !noalias !1144
%818 = load void (i8*)** %574, align 8, !noalias !1160
%819 = bitcast void (i8*)* %818 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %str_slice*)*
call void @llvm.lifetime.start(i64 16, i8* %368), !noalias !1144
store i8* getelementptr inbounds ([1 x i8]* @str29776, i64 0, i64 0), i8** %369, align 8, !noalias !1144
store i64 1, i64* %370, align 8, !noalias !1144
invoke void %819(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %23, i8* noalias nocapture dereferenceable(16) %433, %str_slice* noalias nocapture dereferenceable(16) %24)
to label %.noexc715 unwind label %clean_ast_76549_183.loopexit
.noexc715: ; preds = %then-block-75232-.i
call void @llvm.lifetime.end(i64 16, i8* %368), !noalias !1144
%820 = load i8* %367, align 8, !range !38, !noalias !1144
%cond348.i = icmp eq i8 %820, 0
br i1 %cond348.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1543.i", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1579.i
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1543.i": ; preds = %.noexc715
call void @llvm.lifetime.end(i64 72, i8* %367), !noalias !1144
%821 = icmp eq i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %821, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1575.i, label %next-block.i.i1568.i
next-block.i.i1568.i: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1543.i"
%822 = icmp ugt i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %822, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1570.i, label %else-block.i1574.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1570.i: ; preds = %next-block.i.i1568.i
%823 = load i8* %630, align 1, !noalias !1430
%824 = icmp sgt i8 %823, -1
%825 = icmp ugt i8 %823, -65
%..i.i1569.i = or i1 %824, %825
br i1 %..i.i1569.i, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1575.i, label %else-block.i1574.i
else-block.i1574.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1570.i, %next-block.i.i1568.i
%826 = bitcast %str_slice* %arg3.i1561.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %826), !noalias !1436
%arg197.sroa.0.0..sroa_idx.i = getelementptr inbounds %str_slice* %arg3.i1561.i, i64 0, i32 0
store i8* %.pre-phi.i130023272717.i, i8** %arg197.sroa.0.0..sroa_idx.i, align 8, !noalias !1144
%arg197.sroa.6.0..sroa_idx1886.i = getelementptr inbounds %str_slice* %arg3.i1561.i, i64 0, i32 1
store i64 %s.sroa.10.8.load226523302716.i, i64* %arg197.sroa.6.0..sroa_idx1886.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg3.i1561.i, i64 4, i64 %s.sroa.10.8.load226523302716.i)
to label %.noexc716 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc716: ; preds = %else-block.i1574.i
unreachable
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1575.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1570.i, %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1543.i"
%827 = add i64 %s.sroa.10.8.load226523302716.i, -4
br label %while_cond58.backedge.i
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1579.i: ; preds = %.noexc715
%828 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %23, i64 0, i32 2
%829 = bitcast [8 x i64]* %828 to i8*
%arg190.i.sroa.5.0..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %23, i64 0, i32 2, i64 4
%arg190.i.sroa.5.0..sroa_cast = bitcast i64* %arg190.i.sroa.5.0..sroa_idx to i8*
%arg190.i.sroa.5.0.copyload = load i8* %arg190.i.sroa.5.0..sroa_cast, align 8
%arg190.i.sroa.6.0..sroa_raw_idx = getelementptr inbounds i8* %367, i64 41
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.52.0..sroa_idx1886, i8* %arg190.i.sroa.6.0..sroa_raw_idx, i64 7, i32 1, i1 false)
%arg190.i.sroa.7.0..sroa_idx1936 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %23, i64 0, i32 2, i64 5
%arg190.i.sroa.7.0..sroa_cast1542 = bitcast i64* %arg190.i.sroa.7.0..sroa_idx1936 to i8**
%arg190.i.sroa.7.0.copyload = load i8** %arg190.i.sroa.7.0..sroa_cast1542, align 8
%arg190.i.sroa.8.0..sroa_idx1545 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %23, i64 0, i32 2, i64 6
%830 = bitcast i64* %arg190.i.sroa.8.0..sroa_idx1545 to <2 x i64>*
%831 = load <2 x i64>* %830, align 8
%arg190.i.sroa.0.0..sroa.26.8..sroa_idx927.sroa_idx = getelementptr inbounds [39 x i8]* %.sroa.26, i64 0, i64 7
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg190.i.sroa.0.0..sroa.26.8..sroa_idx927.sroa_idx, i8* %829, i64 32, i32 1, i1 false)
call void @llvm.lifetime.end(i64 72, i8* %367), !noalias !1144
br label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit748"
else-block198.i: ; preds = %loop_body.i.i.i1523.i, %match_case6.i.i.i1525.i, %match_else7.i.i.i1526.i, %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1527.i, %then-block-75015-.i
%832 = icmp ult i64 %s.sroa.10.8.load226523302716.i, 3
br i1 %832, label %else-block215.i, label %before_rhs.i.i1605.i
before_rhs.i.i1605.i: ; preds = %else-block198.i
%833 = getelementptr inbounds i8* %.pre-phi.i130023272717.i, i64 3
br label %loop_body.i.i.i1611.i
loop_body.i.i.i1611.i: ; preds = %match_else7.i.i.i1614.i, %before_rhs.i.i1605.i
%.sroa.0.0.44.i.i1606.i = phi i8* [ %.sroa.0.0.43.i.i1609.i, %match_else7.i.i.i1614.i ], [ %.pre-phi.i130023272717.i, %before_rhs.i.i1605.i ]
%834 = phi i8* [ %..i.i1607.i, %match_else7.i.i.i1614.i ], [ getelementptr inbounds ([3 x i8]* @str31543, i64 0, i64 0), %before_rhs.i.i1605.i ]
%835 = icmp eq i8* %834, getelementptr inbounds ([3 x i8]* @str31543, i64 1, i64 0)
%836 = getelementptr inbounds i8* %834, i64 1
%..i.i1607.i = select i1 %835, i8* getelementptr inbounds ([3 x i8]* @str31543, i64 1, i64 0), i8* %836
%.45.i.i1608.i = select i1 %835, i8* null, i8* %834
%837 = icmp eq i8* %.sroa.0.0.44.i.i1606.i, %833
%838 = getelementptr inbounds i8* %.sroa.0.0.44.i.i1606.i, i64 1
%.sroa.0.0.43.i.i1609.i = select i1 %837, i8* %.sroa.0.0.44.i.i1606.i, i8* %838
%sret_slot.sroa.0.0.i26.i.i.i1610.i = select i1 %837, i8* null, i8* %.sroa.0.0.44.i.i1606.i
%839 = icmp ne i8* %.45.i.i1608.i, null
switch i1 %839, label %else-block215.i [
i1 false, label %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1615.i
i1 true, label %match_case6.i.i.i1613.i
]
match_case6.i.i.i1613.i: ; preds = %loop_body.i.i.i1611.i
%840 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1610.i, null
br i1 %840, label %else-block215.i, label %match_else7.i.i.i1614.i
match_else7.i.i.i1614.i: ; preds = %match_case6.i.i.i1613.i
%841 = load i8* %.45.i.i1608.i, align 1, !alias.scope !1437, !noalias !1440
%842 = load i8* %sret_slot.sroa.0.0.i26.i.i.i1610.i, align 1, !alias.scope !1454, !noalias !1455
%843 = icmp eq i8 %841, %842
br i1 %843, label %loop_body.i.i.i1611.i, label %else-block215.i
_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1615.i: ; preds = %loop_body.i.i.i1611.i
%844 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1610.i, null
br i1 %844, label %then-block-75262-.i, label %else-block215.i
then-block-75262-.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1615.i
call void @llvm.lifetime.start(i64 72, i8* %363), !noalias !1144
%845 = load void (i8*)** %574, align 8, !noalias !1160
%846 = bitcast void (i8*)* %845 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %str_slice*)*
call void @llvm.lifetime.start(i64 16, i8* %364), !noalias !1144
store i8* getelementptr inbounds ([1 x i8]* @str31544, i64 0, i64 0), i8** %365, align 8, !noalias !1144
store i64 1, i64* %366, align 8, !noalias !1144
invoke void %846(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %25, i8* noalias nocapture dereferenceable(16) %433, %str_slice* noalias nocapture dereferenceable(16) %26)
to label %.noexc717 unwind label %clean_ast_76549_183.loopexit
.noexc717: ; preds = %then-block-75262-.i
call void @llvm.lifetime.end(i64 16, i8* %364), !noalias !1144
%847 = load i8* %363, align 8, !range !38, !noalias !1144
%cond347.i = icmp eq i8 %847, 0
br i1 %cond347.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1629.i", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1676.i
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1629.i": ; preds = %.noexc717
call void @llvm.lifetime.end(i64 72, i8* %363), !noalias !1144
%848 = icmp eq i64 %s.sroa.10.8.load226523302716.i, 3
br i1 %848, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1672.i, label %next-block.i.i1665.i
next-block.i.i1665.i: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1629.i"
%849 = icmp ugt i64 %s.sroa.10.8.load226523302716.i, 3
br i1 %849, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1667.i, label %else-block.i1671.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1667.i: ; preds = %next-block.i.i1665.i
%850 = load i8* %833, align 1, !noalias !1456
%851 = icmp sgt i8 %850, -1
%852 = icmp ugt i8 %850, -65
%..i.i1666.i = or i1 %851, %852
br i1 %..i.i1666.i, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1672.i, label %else-block.i1671.i
else-block.i1671.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1667.i, %next-block.i.i1665.i
%853 = bitcast %str_slice* %arg3.i1658.i to i8*
call void @llvm.lifetime.start(i64 16, i8* %853), !noalias !1462
%arg214.sroa.0.0..sroa_idx.i = getelementptr inbounds %str_slice* %arg3.i1658.i, i64 0, i32 0
store i8* %.pre-phi.i130023272717.i, i8** %arg214.sroa.0.0..sroa_idx.i, align 8, !noalias !1144
%arg214.sroa.6.0..sroa_idx1856.i = getelementptr inbounds %str_slice* %arg3.i1658.i, i64 0, i32 1
store i64 %s.sroa.10.8.load226523302716.i, i64* %arg214.sroa.6.0..sroa_idx1856.i, align 8, !noalias !1144
invoke fastcc void @_ZN3str16slice_error_fail20h2ed79176914840f1aOqE(%str_slice* noalias nocapture dereferenceable(16) %arg3.i1658.i, i64 3, i64 %s.sroa.10.8.load226523302716.i)
to label %.noexc718 unwind label %clean_ast_76549_183.nonloopexit.nonloopexit.nonloopexit.nonloopexit.nonloopexit
.noexc718: ; preds = %else-block.i1671.i
unreachable
_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1672.i: ; preds = %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1667.i, %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1629.i"
%854 = add i64 %s.sroa.10.8.load226523302716.i, -3
br label %while_cond58.backedge.i
_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1676.i: ; preds = %.noexc717
%855 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %25, i64 0, i32 2
%856 = bitcast [8 x i64]* %855 to i8*
%arg207.i.sroa.5.0..sroa_idx = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %25, i64 0, i32 2, i64 4
%arg207.i.sroa.5.0..sroa_cast = bitcast i64* %arg207.i.sroa.5.0..sroa_idx to i8*
%arg207.i.sroa.5.0.copyload = load i8* %arg207.i.sroa.5.0..sroa_cast, align 8
%arg207.i.sroa.6.0..sroa_raw_idx = getelementptr inbounds i8* %363, i64 41
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %.sroa.52.0..sroa_idx1886, i8* %arg207.i.sroa.6.0..sroa_raw_idx, i64 7, i32 1, i1 false)
%arg207.i.sroa.7.0..sroa_idx1935 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %25, i64 0, i32 2, i64 5
%arg207.i.sroa.7.0..sroa_cast1505 = bitcast i64* %arg207.i.sroa.7.0..sroa_idx1935 to i8**
%arg207.i.sroa.7.0.copyload = load i8** %arg207.i.sroa.7.0..sroa_cast1505, align 8
%arg207.i.sroa.8.0..sroa_idx1508 = getelementptr inbounds %"enum.core::result::Result<[(), io::IoError]>[#2]"* %25, i64 0, i32 2, i64 6
%857 = bitcast i64* %arg207.i.sroa.8.0..sroa_idx1508 to <2 x i64>*
%858 = load <2 x i64>* %857, align 8
%arg207.i.sroa.0.0..sroa.26.8..sroa_idx923.sroa_idx = getelementptr inbounds [39 x i8]* %.sroa.26, i64 0, i64 7
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arg207.i.sroa.0.0..sroa.26.8..sroa_idx923.sroa_idx, i8* %856, i64 32, i32 1, i1 false)
call void @llvm.lifetime.end(i64 72, i8* %363), !noalias !1144
br label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit748"
else-block215.i: ; preds = %loop_body.i.i.i1611.i, %match_case6.i.i.i1613.i, %match_else7.i.i.i1614.i, %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1615.i, %else-block198.i
br i1 %629, label %else-block283.i, label %before_rhs.i.i1641.i
before_rhs.i.i1641.i: ; preds = %else-block215.i
%859 = getelementptr inbounds i8* %.pre-phi.i130023272717.i, i64 4
br label %loop_body.i.i.i1647.i
loop_body.i.i.i1647.i: ; preds = %match_else7.i.i.i1650.i, %before_rhs.i.i1641.i
%.sroa.0.0.44.i.i1642.i = phi i8* [ %.sroa.0.0.43.i.i1645.i, %match_else7.i.i.i1650.i ], [ %.pre-phi.i130023272717.i, %before_rhs.i.i1641.i ]
%860 = phi i8* [ %..i.i1643.i, %match_else7.i.i.i1650.i ], [ getelementptr inbounds ([4 x i8]* @str31545, i64 0, i64 0), %before_rhs.i.i1641.i ]
%861 = icmp eq i8* %860, getelementptr inbounds ([4 x i8]* @str31545, i64 1, i64 0)
%862 = getelementptr inbounds i8* %860, i64 1
%..i.i1643.i = select i1 %861, i8* getelementptr inbounds ([4 x i8]* @str31545, i64 1, i64 0), i8* %862
%.45.i.i1644.i = select i1 %861, i8* null, i8* %860
%863 = icmp eq i8* %.sroa.0.0.44.i.i1642.i, %859
%864 = getelementptr inbounds i8* %.sroa.0.0.44.i.i1642.i, i64 1
%.sroa.0.0.43.i.i1645.i = select i1 %863, i8* %.sroa.0.0.44.i.i1642.i, i8* %864
%sret_slot.sroa.0.0.i26.i.i.i1646.i = select i1 %863, i8* null, i8* %.sroa.0.0.44.i.i1642.i
%865 = icmp ne i8* %.45.i.i1644.i, null
switch i1 %865, label %loop_body.i.i.i1450.i [
i1 false, label %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1651.i
i1 true, label %match_case6.i.i.i1649.i
]
match_case6.i.i.i1649.i: ; preds = %loop_body.i.i.i1647.i
%866 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1646.i, null
br i1 %866, label %loop_body.i.i.i1450.i, label %match_else7.i.i.i1650.i
match_else7.i.i.i1650.i: ; preds = %match_case6.i.i.i1649.i
%867 = load i8* %.45.i.i1644.i, align 1, !alias.scope !1463, !noalias !1466
%868 = load i8* %sret_slot.sroa.0.0.i26.i.i.i1646.i, align 1, !alias.scope !1480, !noalias !1481
%869 = icmp eq i8 %867, %868
br i1 %869, label %loop_body.i.i.i1647.i, label %loop_body.i.i.i1450.i
_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1651.i: ; preds = %loop_body.i.i.i1647.i
%870 = icmp eq i8* %sret_slot.sroa.0.0.i26.i.i.i1646.i, null
br i1 %870, label %then-block-75292-.i, label %loop_body.i.i.i1450.i
then-block-75292-.i: ; preds = %_ZN3str12str.StrSlice11starts_with20h47cb4c577e64a282z0qE.exit1651.i
call void @llvm.lifetime.start(i64 72, i8* %359), !noalias !1144
%871 = load void (i8*)** %574, align 8, !noalias !1160
%872 = bitcast void (i8*)* %871 to void (%"enum.core::result::Result<[(), io::IoError]>[#2]"*, i8*, %str_slice*)*
call void @llvm.lifetime.start(i64 16, i8* %360), !noalias !1144
store i8* getelementptr inbounds ([1 x i8]* @str31546, i64 0, i64 0), i8** %361, align 8, !noalias !1144
store i64 1, i64* %362, align 8, !noalias !1144
invoke void %872(%"enum.core::result::Result<[(), io::IoError]>[#2]"* noalias nocapture sret dereferenceable(72) %27, i8* noalias nocapture dereferenceable(16) %433, %str_slice* noalias nocapture dereferenceable(16) %28)
to label %.noexc719 unwind label %clean_ast_76549_183.loopexit
.noexc719: ; preds = %then-block-75292-.i
call void @llvm.lifetime.end(i64 16, i8* %360), !noalias !1144
%873 = load i8* %359, align 8, !range !38, !noalias !1144
%cond346.i = icmp eq i8 %873, 0
br i1 %cond346.i, label %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1623.i", label %_ZN11io..IoError15glue_drop.2787417h418ff6f28a160d46E.exit1537.i
"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1623.i": ; preds = %.noexc719
call void @llvm.lifetime.end(i64 72, i8* %359), !noalias !1144
%874 = icmp eq i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %874, label %_ZN3str12str.StrSlice10slice_from20h915d38c21e26c582jWqE.exit1560.i, label %next-block.i.i1553.i
next-block.i.i1553.i: ; preds = %"_ZN54core..result..Result$LT$$LP$$RP$$C$$x20io..IoError$GT$15glue_drop.2935317h7b6d7eabacef2b73E.exit1623.i"
%875 = icmp ugt i64 %s.sroa.10.8.load226523302716.i, 4
br i1 %875, label %_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exit.i1555.i, label %else-block.i1559.i
_ZN3str12str.StrSlice16is_char_boundary20hdb60dc1747636f71q4qE.exi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment