Skip to content

Instantly share code, notes, and snippets.

@alexchandel
Created November 4, 2014 06:19
Show Gist options
  • Save alexchandel/4a1a309c6fabcc8e86d8 to your computer and use it in GitHub Desktop.
Save alexchandel/4a1a309c6fabcc8e86d8 to your computer and use it in GitHub Desktop.
IR produced by rustc, when compiling rustboot
; ModuleID = 'main.0.rs'
target datalayout = "e-p:32:32-f64:32:64-f80:32-n8:16:32"
target triple = "i686-unknown-linux-gnu"
%str_slice = type { i8*, i32 }
%"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" = type { i8, [0 x i8], [1 x i8] }
%"struct.platform::io::Stdout<[]>" = type {}
%"struct.core::fmt::Arguments<[]>[#1]" = type { { %str_slice*, i32 }, %"enum.core::option::Option<[&'static [core::fmt::rt::Argument]]>[#1]", { %"struct.core::fmt::Argument<[]>[#1]"*, i32 } }
%"enum.core::option::Option<[&'static [core::fmt::rt::Argument]]>[#1]" = type { { %"struct.core::fmt::rt::Argument<[]>[#1]"*, i32 } }
%"struct.core::fmt::rt::Argument<[]>[#1]" = type { %"enum.core::fmt::rt::Position<[]>[#1]", %"struct.core::fmt::rt::FormatSpec<[]>[#1]" }
%"enum.core::fmt::rt::Position<[]>[#1]" = type { i8, [3 x i8], [1 x i32] }
%"struct.core::fmt::rt::FormatSpec<[]>[#1]" = type { i32, i8, i32, %"enum.core::fmt::rt::Count<[]>[#1]", %"enum.core::fmt::rt::Count<[]>[#1]" }
%"enum.core::fmt::rt::Count<[]>[#1]" = type { i8, [3 x i8], [1 x i32] }
%"struct.core::fmt::Argument<[]>[#1]" = type { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, %"enum.core::fmt::Void<[]>[#1]"* }
%"struct.core::fmt::Formatter<[]>[#1]" = type { i32, i32, i8, %"enum.core::option::Option<[uint]>[#1]", %"enum.core::option::Option<[uint]>[#1]", { i8*, void (i8*)** }, %"struct.core::slice::Items<[core::fmt::Argument]>[#1]", { %"struct.core::fmt::Argument<[]>[#1]"*, i32 } }
%"enum.core::option::Option<[uint]>[#1]" = type { i8, [3 x i8], [1 x i32] }
%"struct.core::slice::Items<[core::fmt::Argument]>[#1]" = type { %"struct.core::fmt::Argument<[]>[#1]"*, %"struct.core::fmt::Argument<[]>[#1]"*, %"struct.core::kinds::marker::ContravariantLifetime<[]>[#1]" }
%"struct.core::kinds::marker::ContravariantLifetime<[]>[#1]" = type {}
%"enum.core::fmt::Void<[]>[#1]" = type {}
%"struct.kernel::util::bitv::Bitv<[]>" = type { i32* }
%"struct.kernel::mm::allocator::BuddyAlloc<[]>" = type { i32, %"struct.kernel::util::bitv::Bitv<[]>" }
%"struct.kernel::mm::allocator::Alloc<[]>" = type { %"struct.kernel::mm::allocator::BuddyAlloc<[]>", i8*, i32 }
%"struct.kernel::mm::physical::Phys<[platform::cpu::mmu::Table<platform::cpu::mmu::Table<platform::cpu::mmu::Page>>]>" = type { %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* }
%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>" = type <{ [1024 x %"struct.platform::cpu::mmu::Page<[]>"] }>
%"struct.platform::cpu::mmu::Page<[]>" = type <{ i32 }>
%"struct.platform::cpu::mmu::Flags<[]>" = type { i32 }
%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>" = type <{ [1024 x %"struct.platform::cpu::mmu::Page<[]>"] }>
%"struct.kernel::elf::HeaderFlags<[]>" = type { i32 }
%"enum.core::option::Option<[core::cmp::Ordering]>[#1]" = type { i8, [0 x i8], [1 x i8] }
%"struct.kernel::process::Process<[]>" = type { i32, i32, %"struct.kernel::mm::physical::Phys<[platform::cpu::mmu::Table<platform::cpu::mmu::Table<platform::cpu::mmu::Page>>]>" }
%"struct.kernel::elf::elf32::Ehdr<[]>" = type <{ [16 x i8], i16, i16, i32, i32, i32, i32, i32, i16, i16, i16, i16, i16, i16 }>
%"struct.kernel::elf::elf32::Phdr<[]>" = type <{ i32, i32, i32, i32, i32, i32, %"struct.kernel::elf::HeaderFlags<[]>", i32 }>
%"struct.platform::cpu::interrupt::Table<[]>" = type { %"struct.platform::cpu::DtReg<[platform::cpu::idt::IdtEntry]>"*, %"struct.platform::cpu::idt::IdtEntry<[]>"*, i16 }
%"struct.platform::cpu::DtReg<[platform::cpu::idt::IdtEntry]>" = type <{ i16, %"struct.platform::cpu::idt::IdtEntry<[]>"* }>
%"struct.platform::cpu::idt::IdtEntry<[]>" = type <{ i16, i16, i8, %"struct.platform::cpu::idt::IdtFlags<[]>", i16 }>
%"struct.platform::cpu::idt::IdtFlags<[]>" = type { i8 }
%"struct.platform::drivers::vga::Char<[]>" = type <{ i8, i8 }>
%"struct.platform::cpu::gdt::GdtEntry<[]>" = type <{ i16, i16, i8, %"struct.platform::cpu::gdt::GdtAccess<[]>", i8, i8 }>
%"struct.platform::cpu::gdt::GdtAccess<[]>" = type { i8 }
%"struct.platform::cpu::DtReg<[platform::cpu::gdt::GdtEntry]>" = type <{ i16, %"struct.platform::cpu::gdt::GdtEntry<[]>"* }>
%"struct.platform::cpu::gdt::GdtFlags<[]>" = type { i8 }
%"struct.platform::cpu::interrupt::Isr<[]>" = type <{ i8, i8, %"enum.platform::cpu::interrupt::Int<[]>", i8, i32 }>
%"enum.platform::cpu::interrupt::Int<[]>" = type { i8 }
%"struct.platform::cpu::Context<[]>" = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %"struct.platform::cpu::IsrCallStack<[]>" }
%"struct.platform::cpu::IsrCallStack<[]>" = type { i32, i32, i32, i32, i32 }
%"enum.core::option::Option<[platform::cpu::mmu::Flags]>[#1]" = type { i8, [3 x i8], [1 x i32] }
%"struct.platform::cpu::CR0Flags<[]>" = type { i32 }
%"struct.platform::cpu::CR0<[]>" = type {}
%"struct.platform::cpu::Eflags<[]>" = type { i32 }
%"enum.core::option::Option<[platform::cpu::Eflags]>[#1]" = type { i8, [3 x i8], [1 x i32] }
%"enum.core::option::Option<[platform::cpu::CR0Flags]>[#1]" = type { i8, [3 x i8], [1 x i32] }
%"enum.option::Option<[char]>" = type { i8, [3 x i8], [1 x i32] }
@_ZN6kernel2mm8physical6frames20hefd8888bb88c628fetaE = global { { i32, { i32* } }, i8*, i32 } { { i32, { i32* } } { i32 13, { i32* } zeroinitializer }, i8* inttoptr (i32 2097152 to i8*), i32 12 }
@_ZN6kernel4heap4heap20hb90d4f0008429068lxaE = global { i8, [19 x i8] } { i8 0, [19 x i8] undef }
@str3961 = internal unnamed_addr constant [5 x i8] c"test\00"
@_ZN6kernel9int_table20h701adac15d7956ebN7aE = global { i8, [15 x i8] } { i8 0, [15 x i8] undef }
@_ZN8platform7drivers7keydown20h919358c2439ab224UidE = internal unnamed_addr global i8* null
@_binary_initram_elf_start = external global i8
@str4022 = internal constant [20 x i8] c"Divide-by-zero Error"
@str4023 = internal constant [5 x i8] c"Debug"
@str4024 = internal constant [22 x i8] c"Non-maskable Interrupt"
@str4025 = internal constant [10 x i8] c"Breakpoint"
@str4026 = internal constant [8 x i8] c"Overflow"
@str4027 = internal constant [20 x i8] c"Bound Range Exceeded"
@str4028 = internal constant [14 x i8] c"Invalid Opcode"
@str4029 = internal constant [20 x i8] c"Device Not Available"
@str4030 = internal constant [12 x i8] c"Double Fault"
@str4031 = internal constant [27 x i8] c"Coprocessor Segment Overrun"
@str4032 = internal constant [11 x i8] c"Invalid TSS"
@str4033 = internal constant [19 x i8] c"Segment Not Present"
@str4034 = internal constant [19 x i8] c"Stack-Segment Fault"
@str4035 = internal constant [24 x i8] c"General Protection Fault"
@str4036 = internal constant [10 x i8] c"Page Fault"
@str4037 = internal constant [8 x i8] c"Reserved"
@str4038 = internal constant [28 x i8] c"x87 Floating-Point Exception"
@str4039 = internal constant [15 x i8] c"Alignment Check"
@str4040 = internal constant [13 x i8] c"Machine Check"
@str4041 = internal constant [29 x i8] c"SIMD Floating-Point Exception"
@str4042 = internal constant [24 x i8] c"Virtualization Exception"
@const10 = private unnamed_addr constant [21 x %str_slice] [%str_slice { i8* getelementptr inbounds ([20 x i8]* @str4022, i32 0, i32 0), i32 20 }, %str_slice { i8* getelementptr inbounds ([5 x i8]* @str4023, i32 0, i32 0), i32 5 }, %str_slice { i8* getelementptr inbounds ([22 x i8]* @str4024, i32 0, i32 0), i32 22 }, %str_slice { i8* getelementptr inbounds ([10 x i8]* @str4025, i32 0, i32 0), i32 10 }, %str_slice { i8* getelementptr inbounds ([8 x i8]* @str4026, i32 0, i32 0), i32 8 }, %str_slice { i8* getelementptr inbounds ([20 x i8]* @str4027, i32 0, i32 0), i32 20 }, %str_slice { i8* getelementptr inbounds ([14 x i8]* @str4028, i32 0, i32 0), i32 14 }, %str_slice { i8* getelementptr inbounds ([20 x i8]* @str4029, i32 0, i32 0), i32 20 }, %str_slice { i8* getelementptr inbounds ([12 x i8]* @str4030, i32 0, i32 0), i32 12 }, %str_slice { i8* getelementptr inbounds ([27 x i8]* @str4031, i32 0, i32 0), i32 27 }, %str_slice { i8* getelementptr inbounds ([11 x i8]* @str4032, i32 0, i32 0), i32 11 }, %str_slice { i8* getelementptr inbounds ([19 x i8]* @str4033, i32 0, i32 0), i32 19 }, %str_slice { i8* getelementptr inbounds ([19 x i8]* @str4034, i32 0, i32 0), i32 19 }, %str_slice { i8* getelementptr inbounds ([24 x i8]* @str4035, i32 0, i32 0), i32 24 }, %str_slice { i8* getelementptr inbounds ([10 x i8]* @str4036, i32 0, i32 0), i32 10 }, %str_slice { i8* getelementptr inbounds ([8 x i8]* @str4037, i32 0, i32 0), i32 8 }, %str_slice { i8* getelementptr inbounds ([28 x i8]* @str4038, i32 0, i32 0), i32 28 }, %str_slice { i8* getelementptr inbounds ([15 x i8]* @str4039, i32 0, i32 0), i32 15 }, %str_slice { i8* getelementptr inbounds ([13 x i8]* @str4040, i32 0, i32 0), i32 13 }, %str_slice { i8* getelementptr inbounds ([29 x i8]* @str4041, i32 0, i32 0), i32 29 }, %str_slice { i8* getelementptr inbounds ([24 x i8]* @str4042, i32 0, i32 0), i32 24 }]
@str4076 = internal constant [31 x i8] c"../../arch/x86/cpu/exception.rs"
@const11 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8]* @str4076, i32 0, i32 0), i32 31 }, i32 73 }
@str4084 = internal constant [9 x i8] c"Accessed "
@str4085 = internal constant [6 x i8] c" from "
@_ZN8platform3cpu9exception17exception_handler15__STATIC_FMTSTR20hb691d1b5dc126882U3bE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([9 x i8]* @str4084, i32 0, i32 0), i32 9 }, %str_slice { i8* getelementptr inbounds ([6 x i8]* @str4085, i32 0, i32 0), i32 6 }]
@_ZN8platform3cpu9exception17exception_handler16__STATIC_FMTARGS20h951b49ab21db7b2c53bE = internal constant { { { i8, i32, [0 x i8] }, { i32, i8, i32, { i8, [7 x i8] }, { i8, [7 x i8] } } }, { { i8, i32, [0 x i8] }, { i32, i8, i32, { i8, [7 x i8] }, { i8, [7 x i8] } } } } { { { i8, i32, [0 x i8] }, { i32, i8, i32, { i8, [7 x i8] }, { i8, [7 x i8] } } } { { i8, i32, [0 x i8] } { i8 1, i32 0, [0 x i8] undef }, { i32, i8, i32, { i8, [7 x i8] }, { i8, [7 x i8] } } { i32 32, i8 3, i32 0, { i8, [7 x i8] } { i8 3, [7 x i8] undef }, { i8, [7 x i8] } { i8 3, [7 x i8] undef } } }, { { i8, i32, [0 x i8] }, { i32, i8, i32, { i8, [7 x i8] }, { i8, [7 x i8] } } } { { i8, i32, [0 x i8] } { i8 1, i32 1, [0 x i8] undef }, { i32, i8, i32, { i8, [7 x i8] }, { i8, [7 x i8] } } { i32 32, i8 3, i32 0, { i8, [7 x i8] } { i8 3, [7 x i8] undef }, { i8, [7 x i8] } { i8 3, [7 x i8] undef } } } }
@str4097 = internal constant [2 x i8] c"0x"
@str4098 = internal constant [1 x i8] c"("
@str4099 = internal constant [0 x i8] zeroinitializer
@str4100 = internal constant [1 x i8] c")"
@_ZN8platform3cpu3mmu14Page.fmt..Show3fmt15__STATIC_FMTSTR20hb1ea0ecdcacac27fQpcE = internal constant [6 x %str_slice] [%str_slice { i8* getelementptr inbounds ([2 x i8]* @str4097, i32 0, i32 0), i32 2 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str4098, i32 0, i32 0), i32 1 }, %str_slice { i8* getelementptr inbounds ([0 x i8]* @str4099, i32 0, i32 0), i32 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8]* @str4099, i32 0, i32 0), i32 0 }, %str_slice { i8* getelementptr inbounds ([0 x i8]* @str4099, i32 0, i32 0), i32 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str4100, i32 0, i32 0), i32 1 }]
@_ZN8platform3cpu10desc_table20he780ca8623e91fb4s1cE = global { i8, [11 x i8] } { i8 0, [11 x i8] undef }
@vtable4116 = internal constant { void (i8*)*, i32, i32, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.platform::io::Stdout<[]>"*, { i8*, i32 }*)*, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.platform::io::Stdout<[]>"*, %"struct.core::fmt::Arguments<[]>[#1]"*)* } { void (i8*)* @_ZN2i814glue_drop.411117h5d7af624d9407215E, i32 0, i32 1, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.platform::io::Stdout<[]>"*, { i8*, i32 }*)* @_ZN8platform2io24Stdout.fmt..FormatWriter5write20h624daa85e8cee2d1P4cE, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.platform::io::Stdout<[]>"*, %"struct.core::fmt::Arguments<[]>[#1]"*)* @_ZN3fmt12FormatWriter9write_fmt20h1976626224701151987E }
@vtable4117 = internal constant { void (i8*)*, i32, i32, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.platform::io::Stdout<[]>"*, { i8*, i32 }*)*, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.platform::io::Stdout<[]>"*, %"struct.core::fmt::Arguments<[]>[#1]"*)* } { void (i8*)* @_ZN2i814glue_drop.411117h5d7af624d9407215E, i32 0, i32 1, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.platform::io::Stdout<[]>"*, { i8*, i32 }*)* @_ZN8platform2io24Stdout.fmt..FormatWriter5write20h624daa85e8cee2d1P4cE, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.platform::io::Stdout<[]>"*, %"struct.core::fmt::Arguments<[]>[#1]"*)* @_ZN3fmt12FormatWriter9write_fmt20h1976626224701151987E }
@str4121 = internal constant [1 x i8] c"\0A"
@_ZN8platform2io12println_args15__STATIC_FMTSTR20hb691d1b5dc126882y6cE = internal constant [2 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8]* @str4099, i32 0, i32 0), i32 0 }, %str_slice { i8* getelementptr inbounds ([1 x i8]* @str4121, i32 0, i32 0), i32 1 }]
@_ZN8platform2io3pos20hee1aff878177926366cE = internal unnamed_addr global i32 0
@str4123 = internal constant [24 x i8] c"../../arch/x86/io/mod.rs"
@const29 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([24 x i8]* @str4123, i32 0, i32 0), i32 24 }, i32 44 }
@const30 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([24 x i8]* @str4123, i32 0, i32 0), i32 24 }, i32 50 }
@const35 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([24 x i8]* @str4123, i32 0, i32 0), i32 24 }, i32 61 }
@binary4125 = internal unnamed_addr constant [58 x i8] c"\00\1B1234567890-=\08\09qwertyuiop[]\0A\00asdfghjkl;'`\00\5Czxcvbnm,./\00*\00 "
@binary4126 = internal unnamed_addr constant [58 x i8] c"\00\1B!@#$%^&*()_+\08\09QWERTYUIOP{}\0A\00ASDFGHJKL:\22~\00|ZXCVBNM<>?\00*\00 "
@_ZN8platform7drivers8keyboard5shift20h9a50930667386b47ofdE = internal unnamed_addr global i8 0
@_ZN8platform7drivers8keyboard9caps_lock20h9a50930667386b47sfdE = internal unnamed_addr global i8 0
@_ZN8platform7drivers8keyboard9led_state20h73463762d58f538bwfdE = internal unnamed_addr global i8 0
@str21561 = internal constant [15 x i8] c"libcore/char.rs"
@const61 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([15 x i8]* @str21561, i32 0, i32 0), i32 15 }, i32 334 }
@const62 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([15 x i8]* @str21561, i32 0, i32 0), i32 15 }, i32 337 }
@const63 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([15 x i8]* @str21561, i32 0, i32 0), i32 15 }, i32 338 }
@const64 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([15 x i8]* @str21561, i32 0, i32 0), i32 15 }, i32 341 }
@const65 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([15 x i8]* @str21561, i32 0, i32 0), i32 15 }, i32 342 }
@const66 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([15 x i8]* @str21561, i32 0, i32 0), i32 15 }, i32 343 }
@const67 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([15 x i8]* @str21561, i32 0, i32 0), i32 15 }, i32 346 }
@const68 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([15 x i8]* @str21561, i32 0, i32 0), i32 15 }, i32 347 }
@const69 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([15 x i8]* @str21561, i32 0, i32 0), i32 15 }, i32 348 }
@const70 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([15 x i8]* @str21561, i32 0, i32 0), i32 15 }, i32 349 }
@str21581 = internal constant [17 x i8] c"libcore/option.rs"
@str21582 = internal constant [43 x i8] c"called `Option::unwrap()` on a `None` value"
@"_ZN6option15Option$LT$T$GT$6unwrap14_MSG_FILE_LINE20hc91b2d16fb0cceb0svmE" = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([43 x i8]* @str21582, i32 0, i32 0), i32 43 }, %str_slice { i8* getelementptr inbounds ([17 x i8]* @str21581, i32 0, i32 0), i32 17 }, i32 347 }
@str21599 = internal constant [16 x i8] c"libcore/slice.rs"
@str21602 = 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_LINE20hc91b2d16fb0cceb0zXnE" = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([32 x i8]* @str21602, i32 0, i32 0), i32 32 }, %str_slice { i8* getelementptr inbounds ([16 x i8]* @str21599, i32 0, i32 0), i32 16 }, i32 421 }
@str21603 = 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_LINE20hc91b2d16fb0cceb05XnE" = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([36 x i8]* @str21603, i32 0, i32 0), i32 36 }, %str_slice { i8* getelementptr inbounds ([16 x i8]* @str21599, i32 0, i32 0), i32 16 }, i32 422 }
@str21612 = internal constant [14 x i8] c"libcore/str.rs"
@str21624 = internal constant [30 x i8] c"assertion failed: begin <= end"
@_ZN3str3raw11slice_bytes14_MSG_FILE_LINE20hc91b2d16fb0cceb0RwqE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([30 x i8]* @str21624, i32 0, i32 0), i32 30 }, %str_slice { i8* getelementptr inbounds ([14 x i8]* @str21612, i32 0, i32 0), i32 14 }, i32 1096 }
@str21625 = internal constant [32 x i8] c"assertion failed: end <= s.len()"
@_ZN3str3raw11slice_bytes14_MSG_FILE_LINE20hc91b2d16fb0cceb0mxqE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([32 x i8]* @str21625, i32 0, i32 0), i32 32 }, %str_slice { i8* getelementptr inbounds ([14 x i8]* @str21612, i32 0, i32 0), i32 14 }, i32 1097 }
@str21639 = internal constant [44 x i8] c"slice_chars: `begin` is beyond end of string"
@_ZN3str12str.StrSlice11slice_chars14_MSG_FILE_LINE20hc91b2d16fb0cceb0dXqE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([44 x i8]* @str21639, i32 0, i32 0), i32 44 }, %str_slice { i8* getelementptr inbounds ([14 x i8]* @str21612, i32 0, i32 0), i32 14 }, i32 2001 }
@str21640 = internal constant [42 x i8] c"slice_chars: `end` is beyond end of string"
@_ZN3str12str.StrSlice11slice_chars14_MSG_FILE_LINE20hc91b2d16fb0cceb0DXqE = internal constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([42 x i8]* @str21640, i32 0, i32 0), i32 42 }, %str_slice { i8* getelementptr inbounds ([14 x i8]* @str21612, i32 0, i32 0), i32 14 }, i32 2002 }
@str21649 = internal constant [18 x i8] c"libcore/fmt/num.rs"
@str21651 = internal constant [2 x i8] c"0x"
@_ZN3fmt3num21LowerHex.GenericRadix5digit8_run_fmt10_FILE_LINE20h4d8e743c6888f3ffGsxE = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([18 x i8]* @str21649, i32 0, i32 0), i32 18 }, i32 104 }
@_ZN3fmt16DEFAULT_ARGUMENT20h67107e7ae7f475fcCzyE = internal constant { { i8, [7 x i8] }, { i32, i8, i32, { i8, [7 x i8] }, { i8, [7 x i8] } } } { { i8, [7 x i8] } { i8 0, [7 x i8] undef }, { i32, i8, i32, { i8, [7 x i8] }, { i8, [7 x i8] } } { i32 32, i8 3, i32 0, { i8, [7 x i8] } { i8 3, [7 x i8] undef }, { i8, [7 x i8] } { i8 3, [7 x i8] undef } } }
@str21659 = internal constant [18 x i8] c"libcore/fmt/mod.rs"
@const107 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([18 x i8]* @str21659, i32 0, i32 0), i32 18 }, i32 362 }
@const108 = private constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([18 x i8]* @str21659, i32 0, i32 0), i32 18 }, i32 374 }
; Function Attrs: nounwind
declare void @abort() unnamed_addr #0
; Function Attrs: nounwind uwtable
define void @breakpoint() unnamed_addr #1 {
entry-block:
tail call void @llvm.debugtrap()
ret void
}
; Function Attrs: alwaysinline noreturn nounwind uwtable
define void @_ZN9rust_core4fail5abort20ha9416020a12a8ffbQbaE() unnamed_addr #2 {
entry-block:
tail call void @abort()
unreachable
}
; Function Attrs: nounwind
declare void @llvm.lifetime.end(i64, i8* nocapture) unnamed_addr #0
; Function Attrs: inlinehint noreturn nounwind uwtable
define void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE() unnamed_addr #3 {
entry-block:
tail call void @abort()
unreachable
}
; Function Attrs: nounwind
declare void @llvm.lifetime.start(i64, i8* nocapture) unnamed_addr #0
; Function Attrs: inlinehint nounwind readonly uwtable
define i8 @_ZN6kernel4util4bitv4Bitv3get20h40d529fa5ed790428caE(%"struct.kernel::util::bitv::Bitv<[]>"* noalias nocapture readonly dereferenceable(4), i32) unnamed_addr #4 {
entry-block:
%2 = lshr i32 %1, 4
%3 = shl i32 %1, 1
%4 = and i32 %3, 30
%5 = getelementptr inbounds %"struct.kernel::util::bitv::Bitv<[]>"* %0, i32 0, i32 0
%6 = load i32** %5, align 4
%7 = getelementptr inbounds i32* %6, i32 %2
%8 = load i32* %7, align 4
%9 = lshr i32 %8, %4
%10 = trunc i32 %9 to i8
%11 = and i8 %10, 3
ret i8 %11
}
; Function Attrs: inlinehint nounwind uwtable
define void @_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE(%"struct.kernel::util::bitv::Bitv<[]>"* noalias nocapture readonly dereferenceable(4), i32, i8) unnamed_addr #5 {
entry-block:
%3 = lshr i32 %1, 4
%4 = shl i32 %1, 1
%5 = and i32 %4, 30
%6 = getelementptr inbounds %"struct.kernel::util::bitv::Bitv<[]>"* %0, i32 0, i32 0
%7 = load i32** %6, align 4
%8 = getelementptr inbounds i32* %7, i32 %3
%9 = shl i32 3, %5
%10 = xor i32 %9, -1
%11 = load i32* %8, align 4
%12 = and i32 %11, %10
%13 = zext i8 %2 to i32
%14 = shl i32 %13, %5
%15 = or i32 %12, %14
store i32 %15, i32* %8, align 4
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN6kernel4util4bitv4Bitv5clear20h3d43a58d704badb8dfaE(%"struct.kernel::util::bitv::Bitv<[]>"* noalias nocapture readonly dereferenceable(4), i32) unnamed_addr #1 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::util::bitv::Bitv<[]>"* %0, i32 0, i32 0
%3 = load i32** %2, align 4, !alias.scope !0
%4 = bitcast i32* %3 to i8*
%5 = lshr i32 %1, 2
tail call void @llvm.memset.p0i8.i32(i8* %4, i8 0, i32 %5, i32 1, i1 false)
ret void
}
; Function Attrs: nounwind
declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) unnamed_addr #0
; Function Attrs: nounwind
declare void @llvm.debugtrap() unnamed_addr #0
; Function Attrs: nounwind uwtable
define void @_ZN6kernel2mm9allocator10BuddyAlloc3new20hb6b0521a66409737CiaE(%"struct.kernel::mm::allocator::BuddyAlloc<[]>"* noalias nocapture sret dereferenceable(8), i32, %"struct.kernel::util::bitv::Bitv<[]>") unnamed_addr #1 {
entry-block:
%.fca.0.extract = extractvalue %"struct.kernel::util::bitv::Bitv<[]>" %2, 0
%3 = add i32 %1, 1
%4 = shl i32 1, %3
%5 = bitcast i32* %.fca.0.extract to i8*
%6 = lshr i32 %4, 2
tail call void @llvm.memset.p0i8.i32(i8* %5, i8 0, i32 %6, i32 1, i1 false) #0, !noalias !3
%7 = getelementptr inbounds %"struct.kernel::mm::allocator::BuddyAlloc<[]>"* %0, i32 0, i32 0
store i32 %1, i32* %7, align 4
%8 = getelementptr inbounds %"struct.kernel::mm::allocator::BuddyAlloc<[]>"* %0, i32 0, i32 1, i32 0
store i32* %.fca.0.extract, i32** %8, align 4
ret void
}
; Function Attrs: nounwind
declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture readonly, i32, i32, i1) unnamed_addr #0
; Function Attrs: nounwind readnone
declare i32 @llvm.ctlz.i32(i32, i1) unnamed_addr #6
; Function Attrs: nounwind uwtable
define void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8), %"struct.kernel::mm::allocator::Alloc<[]>"* noalias nocapture readonly dereferenceable(16), i32) unnamed_addr #1 {
entry-block:
%ret_slot.i = alloca { i32, i32 }, align 8
%ret_slot27.i = alloca { i32, i32 }, align 8
%ret_slot.i.0.ret_slot.i.0..sroa_cast = bitcast { i32, i32 }* %ret_slot.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %ret_slot.i.0.ret_slot.i.0..sroa_cast)
%ret_slot27.i.0.ret_slot27.i.0..sroa_cast = bitcast { i32, i32 }* %ret_slot27.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %ret_slot27.i.0.ret_slot27.i.0..sroa_cast)
%3 = icmp eq i32 %2, 0
%.op.i = add i32 %2, -1
%4 = select i1 %3, i32 0, i32 %.op.i
%5 = tail call i32 @llvm.ctlz.i32(i32 %4, i1 false) #0
%6 = sub nsw i32 32, %5
%7 = getelementptr inbounds %"struct.kernel::mm::allocator::Alloc<[]>"* %1, i32 0, i32 0, i32 0
%8 = load i32* %7, align 4, !alias.scope !6, !noalias !9
%9 = getelementptr inbounds %"struct.kernel::mm::allocator::Alloc<[]>"* %1, i32 0, i32 0, i32 1, i32 0
%10 = load i32** %9, align 4, !alias.scope !11, !noalias !9
br label %loop_body.i
loop_body.i: ; preds = %then-block-785-.i, %match_case10.i, %match_case6.i, %entry-block
%level.0.i = phi i32 [ %8, %entry-block ], [ %level.1.lcssa.i, %then-block-785-.i ], [ %53, %match_case10.i ], [ %49, %match_case6.i ]
%index.0.i = phi i32 [ 0, %entry-block ], [ %86, %then-block-785-.i ], [ %52, %match_case10.i ], [ %30, %match_case6.i ]
%11 = lshr i32 %index.0.i, 4
%12 = shl i32 %index.0.i, 1
%13 = and i32 %12, 30
%14 = getelementptr inbounds i32* %10, i32 %11
%15 = load i32* %14, align 4, !noalias !16
%16 = lshr i32 %15, %13
%17 = trunc i32 %16 to i8
%18 = and i8 %17, 3
%19 = icmp eq i32 %level.0.i, %6
switch i8 %18, label %loop_body25.preheader.i [
i8 0, label %match_case.i
i8 2, label %match_case8.i
]
match_case.i: ; preds = %loop_body.i
switch i1 %19, label %loop_body25.preheader.i [
i1 true, label %match_case5.i
i1 false, label %match_case6.i
]
match_case5.i: ; preds = %match_case.i
%20 = shl i32 3, %13
%21 = xor i32 %20, -1
%22 = and i32 %15, %21
%23 = shl i32 1, %13
%24 = or i32 %22, %23
store i32 %24, i32* %14, align 4, !noalias !17
br label %loop_body13.i
match_case6.i: ; preds = %match_case.i
%25 = shl i32 3, %13
%26 = xor i32 %25, -1
%27 = and i32 %15, %26
%28 = shl i32 2, %13
%29 = or i32 %27, %28
store i32 %29, i32* %14, align 4, !noalias !22
%30 = or i32 %12, 1
%31 = lshr i32 %index.0.i, 3
%32 = and i32 %31, 268435455
%33 = shl i32 %30, 1
%34 = and i32 %33, 30
%35 = getelementptr inbounds i32* %10, i32 %32
%36 = shl i32 3, %34
%37 = xor i32 %36, -1
%38 = load i32* %35, align 4, !noalias !27
%39 = and i32 %38, %37
store i32 %39, i32* %35, align 4, !noalias !27
%40 = add i32 %12, 2
%41 = lshr i32 %40, 4
%42 = shl i32 %40, 1
%43 = and i32 %42, 28
%44 = getelementptr inbounds i32* %10, i32 %41
%45 = shl i32 3, %43
%46 = xor i32 %45, -1
%47 = load i32* %44, align 4, !noalias !32
%48 = and i32 %47, %46
store i32 %48, i32* %44, align 4, !noalias !32
%49 = add i32 %level.0.i, -1
br label %loop_body.i
match_case8.i: ; preds = %loop_body.i
br i1 %19, label %loop_body25.preheader.i, label %match_case10.i
loop_body25.preheader.i: ; preds = %match_case8.i, %match_case.i, %loop_body.i
%50 = and i32 %index.0.i, 1
%51 = icmp eq i32 %50, 0
br i1 %51, label %next-block26.i, label %then-block-785-.i
match_case10.i: ; preds = %match_case8.i
%52 = or i32 %12, 1
%53 = add i32 %level.0.i, -1
br label %loop_body.i
loop_body13.i: ; preds = %case_body15.i, %match_case5.i
%parent.0.i = phi i32 [ %index.0.i, %match_case5.i ], [ %68, %case_body15.i ]
%54 = add i32 %parent.0.i, -1
%55 = shl i32 %parent.0.i, 1
%56 = and i32 %55, 2
%57 = add i32 %54, %56
%58 = lshr i32 %57, 4
%59 = shl i32 %57, 1
%60 = and i32 %59, 30
%61 = getelementptr inbounds i32* %10, i32 %58
%62 = load i32* %61, align 4, !noalias !37
%63 = lshr i32 %62, %60
%64 = trunc i32 %63 to i8
%65 = and i8 %64, 3
switch i8 %65, label %clean_ast_662_.i [
i8 1, label %match_case18.i
i8 3, label %match_case19.i
]
case_body15.i: ; preds = %match_case19.i, %match_case18.i
%66 = add i32 %parent.0.i, 1
%67 = lshr i32 %66, 1
%68 = add nsw i32 %67, -1
%69 = lshr i32 %68, 4
%70 = shl i32 %68, 1
%71 = and i32 %70, 30
%72 = getelementptr inbounds i32* %10, i32 %69
%73 = shl i32 3, %71
%74 = xor i32 %73, -1
%75 = load i32* %72, align 4, !noalias !42
%76 = and i32 %75, %74
%77 = or i32 %76, %73
store i32 %77, i32* %72, align 4, !noalias !42
br label %loop_body13.i
match_case18.i: ; preds = %loop_body13.i
%78 = icmp eq i32 %parent.0.i, 0
br i1 %78, label %clean_ast_662_.i, label %case_body15.i
match_case19.i: ; preds = %loop_body13.i
%79 = icmp eq i32 %parent.0.i, 0
br i1 %79, label %clean_ast_662_.i, label %case_body15.i
clean_ast_662_.i: ; preds = %match_case19.i, %match_case18.i, %loop_body13.i
%80 = shl i32 1, %8
%81 = lshr i32 %80, %6
%82 = sub i32 1, %81
%83 = add i32 %82, %index.0.i
%84 = shl i32 %83, %6
%ret_slot.i.0.ret_slot.i.0.ret_slot.0..sroa_idx = getelementptr inbounds { i32, i32 }* %ret_slot.i, i32 0, i32 0
store i32 %84, i32* %ret_slot.i.0.ret_slot.i.0.ret_slot.0..sroa_idx, align 8
%85 = shl i32 1, %6
%ret_slot.i.4.ret_slot.i.4.ret_slot.4..sroa_idx = getelementptr inbounds { i32, i32 }* %ret_slot.i, i32 0, i32 1
store i32 %85, i32* %ret_slot.i.4.ret_slot.i.4.ret_slot.4..sroa_idx, align 4
br label %_ZN6kernel2mm9allocator10BuddyAlloc5alloc20hce492a7b195d66c5vjaE.exit
then-block-785-.i: ; preds = %next-block28.i, %loop_body25.preheader.i
%index.1.lcssa.i = phi i32 [ %index.0.i, %loop_body25.preheader.i ], [ %91, %next-block28.i ]
%level.1.lcssa.i = phi i32 [ %level.0.i, %loop_body25.preheader.i ], [ %88, %next-block28.i ]
%86 = add i32 %index.1.lcssa.i, 1
br label %loop_body.i
next-block26.i: ; preds = %loop_body25.preheader.i, %next-block28.i
%index.190.i = phi i32 [ %91, %next-block28.i ], [ %index.0.i, %loop_body25.preheader.i ]
%level.189.i = phi i32 [ %88, %next-block28.i ], [ %level.0.i, %loop_body25.preheader.i ]
%87 = icmp eq i32 %index.190.i, 0
br i1 %87, label %then-block-801-.i, label %next-block28.i
then-block-801-.i: ; preds = %next-block26.i
%ret_slot27.i.0.ret_slot27.i.0.ret_slot27.0..sroa_idx = getelementptr inbounds { i32, i32 }* %ret_slot27.i, i32 0, i32 0
store i32 0, i32* %ret_slot27.i.0.ret_slot27.i.0.ret_slot27.0..sroa_idx, align 8
%ret_slot27.i.4.ret_slot27.i.4.ret_slot27.4..sroa_idx = getelementptr inbounds { i32, i32 }* %ret_slot27.i, i32 0, i32 1
store i32 0, i32* %ret_slot27.i.4.ret_slot27.i.4.ret_slot27.4..sroa_idx, align 4
br label %_ZN6kernel2mm9allocator10BuddyAlloc5alloc20hce492a7b195d66c5vjaE.exit
next-block28.i: ; preds = %next-block26.i
%88 = add i32 %level.189.i, 1
%89 = add i32 %index.190.i, 1
%90 = lshr i32 %89, 1
%91 = add nsw i32 %90, -1
%92 = and i32 %91, 1
%93 = icmp eq i32 %92, 0
br i1 %93, label %next-block26.i, label %then-block-785-.i
_ZN6kernel2mm9allocator10BuddyAlloc5alloc20hce492a7b195d66c5vjaE.exit: ; preds = %clean_ast_662_.i, %then-block-801-.i
%llretslotptr.0.i = phi { i32, i32 }* [ %ret_slot27.i, %then-block-801-.i ], [ %ret_slot.i, %clean_ast_662_.i ]
%94 = bitcast { i32, i32 }* %llretslotptr.0.i to i64*
%95 = load i64* %94, align 8, !noalias !47
%.sroa.0.0.extract.trunc = trunc i64 %95 to i32
%.sroa.4.0.extract.shift = lshr i64 %95, 32
%.sroa.4.0.extract.trunc = trunc i64 %.sroa.4.0.extract.shift to i32
call void @llvm.lifetime.end(i64 8, i8* %ret_slot.i.0.ret_slot.i.0..sroa_cast)
call void @llvm.lifetime.end(i64 8, i8* %ret_slot27.i.0.ret_slot27.i.0..sroa_cast)
%96 = getelementptr inbounds %"struct.kernel::mm::allocator::Alloc<[]>"* %1, i32 0, i32 1
%97 = load i8** %96, align 4
%98 = getelementptr inbounds %"struct.kernel::mm::allocator::Alloc<[]>"* %1, i32 0, i32 2
%99 = load i32* %98, align 4
%100 = shl i32 %.sroa.0.0.extract.trunc, %99
%101 = getelementptr inbounds i8* %97, i32 %100
%102 = shl i32 %.sroa.4.0.extract.trunc, %99
%ret_slot.sroa.0.0..sroa_idx = getelementptr inbounds { i8*, i32 }* %0, i32 0, i32 0
store i8* %101, i8** %ret_slot.sroa.0.0..sroa_idx, align 4
%ret_slot.sroa.2.0..sroa_idx9 = getelementptr inbounds { i8*, i32 }* %0, i32 0, i32 1
store i32 %102, i32* %ret_slot.sroa.2.0..sroa_idx9, align 4
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN6kernel2mm9allocator15Alloc.Allocator4free20hc0735418b504be5bxraE(%"struct.kernel::mm::allocator::Alloc<[]>"* noalias nocapture readonly dereferenceable(16), i8*) unnamed_addr #1 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::mm::allocator::Alloc<[]>"* %0, i32 0, i32 1
%3 = load i8** %2, align 4
%4 = icmp ugt i8* %3, %1
br i1 %4, label %clean_custom_, label %join
join: ; preds = %entry-block
%5 = getelementptr inbounds %"struct.kernel::mm::allocator::Alloc<[]>"* %0, i32 0, i32 2
%6 = getelementptr inbounds %"struct.kernel::mm::allocator::Alloc<[]>"* %0, i32 0, i32 0, i32 0
%7 = load i32* %6, align 4
%8 = shl i32 1, %7
%9 = load i32* %5, align 4
%10 = shl i32 %8, %9
%11 = getelementptr inbounds i8* %3, i32 %10
%12 = icmp ugt i8* %11, %1
br i1 %12, label %next-block, label %clean_custom_
clean_custom_: ; preds = %loop_body.i, %next18.i, %join, %entry-block, %match_else9.i, %then-block-863-.i
ret void
next-block: ; preds = %join
%13 = ptrtoint i8* %1 to i32
%14 = ptrtoint i8* %3 to i32
%15 = sub i32 %13, %14
%16 = lshr i32 %15, %9
%17 = getelementptr inbounds %"struct.kernel::mm::allocator::Alloc<[]>"* %0, i32 0, i32 0, i32 1, i32 0
%18 = load i32** %17, align 4, !alias.scope !48
br label %loop_body.i
loop_body.i: ; preds = %match_else.i, %next-block
%index.0.i = phi i32 [ 0, %next-block ], [ %index.3.i, %match_else.i ]
%left.0.i = phi i32 [ 0, %next-block ], [ %left.1.i, %match_else.i ]
%length.0.i = phi i32 [ %8, %next-block ], [ %28, %match_else.i ]
%19 = lshr i32 %index.0.i, 4
%20 = shl i32 %index.0.i, 1
%21 = and i32 %20, 30
%22 = getelementptr inbounds i32* %18, i32 %19
%23 = load i32* %22, align 4, !noalias !48
%24 = lshr i32 %23, %21
%25 = trunc i32 %24 to i8
%26 = and i8 %25, 3
switch i8 %26, label %match_else.i [
i8 0, label %clean_custom_
i8 1, label %loop_body5.preheader.i
]
loop_body5.preheader.i: ; preds = %loop_body.i
%27 = icmp eq i32 %index.0.i, 0
br i1 %27, label %then-block-863-.i, label %next-block.i
match_else.i: ; preds = %loop_body.i
%28 = lshr i32 %length.0.i, 1
%29 = add i32 %28, %left.0.i
%30 = icmp ugt i32 %29, %16
%31 = or i32 %20, 1
%32 = add i32 %20, 2
%index.3.i = select i1 %30, i32 %31, i32 %32
%left.1.i = select i1 %30, i32 %left.0.i, i32 %29
br label %loop_body.i
then-block-863-.i: ; preds = %join20.i, %loop_body5.preheader.i
%33 = load i32* %18, align 4, !noalias !55
%34 = and i32 %33, -4
store i32 %34, i32* %18, align 4, !noalias !55
br label %clean_custom_
next-block.i: ; preds = %loop_body5.preheader.i, %join20.i
%index.171.i = phi i32 [ %85, %join20.i ], [ %index.0.i, %loop_body5.preheader.i ]
%35 = add i32 %index.171.i, -1
%36 = shl i32 %index.171.i, 1
%37 = and i32 %36, 2
%38 = add i32 %35, %37
%39 = lshr i32 %38, 4
%40 = shl i32 %38, 1
%41 = and i32 %40, 30
%42 = getelementptr inbounds i32* %18, i32 %39
%43 = load i32* %42, align 4, !noalias !60
%44 = shl i32 3, %41
%45 = and i32 %44, %43
%cond27.i = icmp eq i32 %45, 0
br i1 %cond27.i, label %join20.i, label %match_else9.i
match_else9.i: ; preds = %next-block.i
%46 = lshr i32 %index.171.i, 4
%47 = and i32 %36, 30
%48 = getelementptr inbounds i32* %18, i32 %46
%49 = shl i32 3, %47
%50 = xor i32 %49, -1
%51 = load i32* %48, align 4, !noalias !65
%52 = and i32 %51, %50
store i32 %52, i32* %48, align 4, !noalias !65
%53 = add i32 %index.171.i, 1
%54 = lshr i32 %53, 1
%55 = add nsw i32 %54, -1
%56 = lshr i32 %55, 4
%57 = shl i32 %55, 1
%58 = and i32 %57, 30
%59 = getelementptr inbounds i32* %18, i32 %56
%60 = load i32* %59, align 4, !noalias !70
%61 = lshr i32 %60, %58
%62 = and i32 %61, 3
%cond2869.i = icmp eq i32 %62, 3
br i1 %cond2869.i, label %next18.i, label %clean_custom_
next18.i: ; preds = %match_else9.i, %next18.i
%63 = phi i32 [ %79, %next18.i ], [ %60, %match_else9.i ]
%64 = phi i32* [ %78, %next18.i ], [ %59, %match_else9.i ]
%65 = phi i32 [ %77, %next18.i ], [ %58, %match_else9.i ]
%66 = phi i32 [ %74, %next18.i ], [ %55, %match_else9.i ]
%67 = shl i32 3, %65
%68 = xor i32 %67, -1
%69 = and i32 %63, %68
%70 = shl i32 2, %65
%71 = or i32 %69, %70
store i32 %71, i32* %64, align 4, !noalias !75
%72 = add i32 %66, 1
%73 = lshr i32 %72, 1
%74 = add nsw i32 %73, -1
%75 = lshr i32 %74, 4
%76 = shl i32 %74, 1
%77 = and i32 %76, 30
%78 = getelementptr inbounds i32* %18, i32 %75
%79 = load i32* %78, align 4, !noalias !70
%80 = lshr i32 %79, %77
%81 = and i32 %80, 3
%cond28.i = icmp ne i32 %81, 3
%82 = icmp eq i32 %66, 0
%or.cond.i = or i1 %cond28.i, %82
br i1 %or.cond.i, label %clean_custom_, label %next18.i
join20.i: ; preds = %next-block.i
%83 = add i32 %index.171.i, 1
%84 = lshr i32 %83, 1
%85 = add nsw i32 %84, -1
%86 = icmp eq i32 %85, 0
br i1 %86, label %then-block-863-.i, label %next-block.i
}
; Function Attrs: nounwind uwtable
define void @_ZN6kernel2mm9allocator5Alloc3new20haa5ca92cefd3391eFsaE(%"struct.kernel::mm::allocator::Alloc<[]>"* noalias nocapture sret dereferenceable(16), %"struct.kernel::mm::allocator::BuddyAlloc<[]>"* noalias nocapture dereferenceable(8), i8*, i32) unnamed_addr #1 {
entry-block:
%4 = bitcast %"struct.kernel::mm::allocator::BuddyAlloc<[]>"* %1 to i8*
%5 = bitcast %"struct.kernel::mm::allocator::BuddyAlloc<[]>"* %1 to i64*
%6 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %0 to i64*
%7 = load i64* %5, align 4
store i64 %7, i64* %6, align 4
%8 = getelementptr inbounds %"struct.kernel::mm::allocator::Alloc<[]>"* %0, i32 0, i32 1
store i8* %2, i8** %8, align 4
%9 = getelementptr inbounds %"struct.kernel::mm::allocator::Alloc<[]>"* %0, i32 0, i32 2
store i32 %3, i32* %9, align 4
tail call void @llvm.lifetime.end(i64 8, i8* %4)
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN6kernel2mm8physical4init20hc3a8271c6a403f82vvaE() unnamed_addr #1 {
entry-block:
%0 = alloca { i8*, i32 }, align 8
%1 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%arg.sroa.5.i = alloca [19 x i8], align 1
%2 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %1 to i8*
call void @llvm.lifetime.start(i64 16, i8* %2)
%arg.sroa.5.0..sroa_idx17.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i, i32 0, i32 0
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx17.i)
%arg.sroa.0.0.copyload.i = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx17.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false)
%cond.i.i = icmp eq i8 %arg.sroa.0.0.copyload.i, 1
br i1 %cond.i.i, label %_ZN6kernel4heap3get21h12112607028929120876E.exit.i, label %match_else.i.i
match_else.i.i: ; preds = %entry-block
tail call void @abort(), !noalias !80
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit.i: ; preds = %entry-block
%arg.sroa.5.4..sroa_idx.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i, i32 0, i32 3
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %arg.sroa.5.4..sroa_idx.i, i32 16, i32 1, i1 false)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx17.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx17.i)
%3 = bitcast { i8*, i32 }* %0 to i8*
call void @llvm.lifetime.start(i64 8, i8* %3) #0, !noalias !84
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %0, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %1, i32 4096) #0, !noalias !88
%4 = getelementptr inbounds { i8*, i32 }* %0, i32 0, i32 0
%5 = load i8** %4, align 8, !noalias !84
%6 = getelementptr inbounds { i8*, i32 }* %0, i32 0, i32 1
%7 = load i32* %6, align 4, !noalias !84
call void @llvm.lifetime.end(i64 8, i8* %3) #0, !noalias !84
tail call void @llvm.memset.p0i8.i32(i8* %5, i8 0, i32 %7, i32 1, i1 false) #0, !noalias !84
%cond8.i = icmp eq i32 %7, 0
br i1 %cond8.i, label %match_case6.i, label %_ZN6kernel4heap10zero_alloc21h14573187594399606685E.exit
match_case6.i: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE()
unreachable
_ZN6kernel4heap10zero_alloc21h14573187594399606685E.exit: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i
%8 = bitcast i8* %5 to i32*
call void @llvm.lifetime.end(i64 16, i8* %2)
store i32* %8, i32** getelementptr inbounds ({ { i32, { i32* } }, i8*, i32 }* @_ZN6kernel2mm8physical6frames20hefd8888bb88c628fetaE, i32 0, i32 0, i32 1, i32 0), align 4
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN6kernel4heap4init20hee8e25e8d996f110rxaE(%"struct.kernel::mm::allocator::Alloc<[]>"* noalias nocapture sret dereferenceable(16)) unnamed_addr #1 {
entry-block:
tail call void @llvm.memset.p0i8.i32(i8* inttoptr (i32 1048576 to i8*), i8 0, i32 65536, i32 1048576, i1 false) #0, !noalias !89
store i8 1, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16
store i64 4503599627370513, i64* bitcast (i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 3) to i64*), align 1
store i8* inttoptr (i32 1114112 to i8*), i8** bitcast (i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 11) to i8**), align 1
store i32 0, i32* bitcast (i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 15) to i32*), align 1
%alloc.sroa.0.0..sroa_cast8 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %0 to i64*
store i64 4503599627370513, i64* %alloc.sroa.0.0..sroa_cast8, align 4
%alloc.sroa.5.0..sroa_idx11 = getelementptr inbounds %"struct.kernel::mm::allocator::Alloc<[]>"* %0, i32 0, i32 1
store i8* inttoptr (i32 1114112 to i8*), i8** %alloc.sroa.5.0..sroa_idx11, align 4
%alloc.sroa.6.0..sroa_idx14 = getelementptr inbounds %"struct.kernel::mm::allocator::Alloc<[]>"* %0, i32 0, i32 2
store i32 0, i32* %alloc.sroa.6.0..sroa_idx14, align 4
ret void
}
; Function Attrs: inlinehint nounwind uwtable
define i8* @_ZN6kernel4heap10malloc_raw20h362317200b4e4a271xaE(i32) unnamed_addr #5 {
entry-block:
%1 = alloca { i8*, i32 }, align 8
%2 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%arg.sroa.5 = alloca [19 x i8], align 1
%3 = bitcast { i8*, i32 }* %1 to i8*
call void @llvm.lifetime.start(i64 8, i8* %3)
%4 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %4)
%arg.sroa.5.0..sroa_idx9 = getelementptr inbounds [19 x i8]* %arg.sroa.5, i32 0, i32 0
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx9)
%arg.sroa.0.0.copyload = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx9, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false)
%cond.i = icmp eq i8 %arg.sroa.0.0.copyload, 1
br i1 %cond.i, label %_ZN6kernel4heap3get21h12112607028929120876E.exit, label %match_else.i
match_else.i: ; preds = %entry-block
tail call void @abort(), !noalias !94
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit: ; preds = %entry-block
%arg.sroa.5.4..sroa_idx = getelementptr inbounds [19 x i8]* %arg.sroa.5, i32 0, i32 3
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %arg.sroa.5.4..sroa_idx, i32 16, i32 1, i1 false)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx9)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx9)
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %1, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %2, i32 %0)
%5 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 1
%6 = load i32* %5, align 4
%cond = icmp eq i32 %6, 0
br i1 %cond, label %match_case, label %match_else
match_else: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit
%7 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 0
%8 = load i8** %7, align 8
call void @llvm.lifetime.end(i64 8, i8* %3)
call void @llvm.lifetime.end(i64 16, i8* %4)
ret i8* %8
match_case: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE()
unreachable
}
; Function Attrs: nounwind
define i8* @rust_allocate(i32, i32) unnamed_addr #0 {
"the block":
%2 = alloca { i8*, i32 }, align 8
%3 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%arg.sroa.5.i.i = alloca [19 x i8], align 1
%4 = bitcast { i8*, i32 }* %2 to i8*
call void @llvm.lifetime.start(i64 8, i8* %4)
%5 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %3 to i8*
call void @llvm.lifetime.start(i64 16, i8* %5)
%arg.sroa.5.0..sroa_idx9.i.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i.i, i32 0, i32 0
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i.i)
%arg.sroa.0.0.copyload.i.i = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx9.i.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false)
%cond.i.i.i = icmp eq i8 %arg.sroa.0.0.copyload.i.i, 1
br i1 %cond.i.i.i, label %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i, label %match_else.i.i.i
match_else.i.i.i: ; preds = %"the block"
tail call void @abort(), !noalias !98
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i: ; preds = %"the block"
%arg.sroa.5.4..sroa_idx.i.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i.i, i32 0, i32 3
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %arg.sroa.5.4..sroa_idx.i.i, i32 16, i32 1, i1 false)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i.i)
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %2, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %3, i32 %0)
%6 = getelementptr inbounds { i8*, i32 }* %2, i32 0, i32 1
%7 = load i32* %6, align 4
%cond.i.i = icmp eq i32 %7, 0
br i1 %cond.i.i, label %match_case.i.i, label %_ZN6kernel4heap13rust_allocate10__rust_abiE.exit
match_case.i.i: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE()
unreachable
_ZN6kernel4heap13rust_allocate10__rust_abiE.exit: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i
%8 = getelementptr inbounds { i8*, i32 }* %2, i32 0, i32 0
%9 = load i8** %8, align 8
call void @llvm.lifetime.end(i64 8, i8* %4)
call void @llvm.lifetime.end(i64 16, i8* %5)
ret i8* %9
}
; Function Attrs: nounwind uwtable
define %"struct.kernel::mm::physical::Phys<[platform::cpu::mmu::Table<platform::cpu::mmu::Table<platform::cpu::mmu::Page>>]>" @_ZN8platform3cpu3mmu15clone_directory20h24fa6d8197ce8f9fwycE() unnamed_addr #1 {
entry-block:
%0 = tail call %"struct.kernel::mm::physical::Phys<[platform::cpu::mmu::Table<platform::cpu::mmu::Table<platform::cpu::mmu::Page>>]>" @"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$5clone20h0315042d7043cd52cxcE"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* noalias readonly dereferenceable(4096) inttoptr (i32 -4096 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"*))
ret %"struct.kernel::mm::physical::Phys<[platform::cpu::mmu::Table<platform::cpu::mmu::Table<platform::cpu::mmu::Page>>]>" %0
}
; Function Attrs: nounwind uwtable
define void @"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$3map20h56a18afd4a3d8347CvcE"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* noalias nocapture dereferenceable(4096), i8*, i32, %"struct.platform::cpu::mmu::Flags<[]>") unnamed_addr #1 {
entry-block:
%4 = alloca { i8*, i32 }, align 8
%5 = alloca { i8*, i32 }, align 8
%6 = alloca { i8*, i32 }, align 8
%7 = getelementptr inbounds i8* %1, i32 %2
%8 = icmp sgt i32 %2, 0
br i1 %8, label %while_body.lr.ph, label %while_exit
while_body.lr.ph: ; preds = %entry-block
%.fca.0.extract20 = extractvalue %"struct.platform::cpu::mmu::Flags<[]>" %3, 0
%9 = bitcast { i8*, i32 }* %5 to i8*
%10 = getelementptr inbounds { i8*, i32 }* %5, i32 0, i32 1
%11 = getelementptr inbounds { i8*, i32 }* %5, i32 0, i32 0
%12 = or i32 %.fca.0.extract20, 1
%13 = bitcast { i8*, i32 }* %4 to i8*
%14 = getelementptr inbounds { i8*, i32 }* %4, i32 0, i32 0
%15 = getelementptr inbounds { i8*, i32 }* %4, i32 0, i32 1
%16 = bitcast { i8*, i32 }* %6 to i8*
%17 = getelementptr inbounds { i8*, i32 }* %6, i32 0, i32 0
%18 = getelementptr inbounds { i8*, i32 }* %6, i32 0, i32 1
br label %while_body
while_exit: ; preds = %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit", %entry-block
ret void
while_body: ; preds = %while_body.lr.ph, %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit"
%page_ptr.048 = phi i8* [ %1, %while_body.lr.ph ], [ %45, %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit" ]
call void @llvm.lifetime.start(i64 8, i8* %9)
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %5, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) bitcast ({ { i32, { i32* } }, i8*, i32 }* @_ZN6kernel2mm8physical6frames20hefd8888bb88c628fetaE to %"struct.kernel::mm::allocator::Alloc<[]>"*), i32 1)
%19 = load i32* %10, align 4
%cond.i = icmp eq i32 %19, 0
br i1 %cond.i, label %match_case.i, label %_ZN6kernel2mm8physical12alloc_frames19h956912338283276815E.exit
match_case.i: ; preds = %while_body
tail call void @abort()
unreachable
_ZN6kernel2mm8physical12alloc_frames19h956912338283276815E.exit: ; preds = %while_body
%20 = load i8** %11, align 8
call void @llvm.lifetime.end(i64 8, i8* %9)
%21 = ptrtoint i8* %page_ptr.048 to i32
%22 = lshr i32 %21, 22
%sret_slot.sroa.0.0..sroa_idx.i.i.i29 = getelementptr inbounds %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* %0, i32 0, i32 0, i32 %22, i32 0
%sret_slot.sroa.0.0.copyload.i.i.i30 = load i32* %sret_slot.sroa.0.0..sroa_idx.i.i.i29, align 1, !alias.scope !102
%23 = and i32 %sret_slot.sroa.0.0.copyload.i.i.i30, 1
%24 = icmp eq i32 %23, 0
br i1 %24, label %cond.i.i34, label %next.i.i32
next.i.i32: ; preds = %_ZN6kernel2mm8physical12alloc_frames19h956912338283276815E.exit
%25 = and i32 %sret_slot.sroa.0.0.copyload.i.i.i30, -4096
%26 = inttoptr i32 %25 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"*
br label %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit42"
cond.i.i34: ; preds = %_ZN6kernel2mm8physical12alloc_frames19h956912338283276815E.exit
call void @llvm.lifetime.start(i64 8, i8* %13) #0, !noalias !109
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %4, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) bitcast ({ { i32, { i32* } }, i8*, i32 }* @_ZN6kernel2mm8physical6frames20hefd8888bb88c628fetaE to %"struct.kernel::mm::allocator::Alloc<[]>"*), i32 1) #0, !noalias !113
%27 = load i8** %14, align 8, !noalias !109
%28 = load i32* %15, align 4, !noalias !109
call void @llvm.lifetime.end(i64 8, i8* %13) #0, !noalias !109
tail call void @llvm.memset.p0i8.i32(i8* %27, i8 0, i32 %28, i32 1, i1 false) #0, !noalias !109
%cond.i.i.i33 = icmp eq i32 %28, 0
br i1 %cond.i.i.i33, label %match_case.i.i.i35, label %_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i37
match_case.i.i.i35: ; preds = %cond.i.i34
tail call void @abort(), !noalias !114
unreachable
_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i37: ; preds = %cond.i.i34
%29 = bitcast i8* %27 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"*
%30 = ptrtoint i8* %27 to i32
%31 = or i32 %30, %12
store i32 %31, i32* %sret_slot.sroa.0.0..sroa_idx.i.i.i29, align 1, !alias.scope !115
tail call void asm sideeffect inteldialect "invlpg [$0]", "r,~{memory},~{dirflag},~{fpsr},~{flags}"(i8* %page_ptr.048) #0, !noalias !120, !srcloc !121
br label %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit42"
"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit42": ; preds = %next.i.i32, %_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i37
%sret_slot.0.i.i39 = phi %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"* [ %26, %next.i.i32 ], [ %29, %_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i37 ]
%32 = ptrtoint i8* %20 to i32
%33 = or i32 %32, %12
%34 = lshr i32 %21, 12
%35 = and i32 %34, 1023
%page.sroa.0.0..sroa_idx.i.i.i41 = getelementptr inbounds %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"* %sret_slot.0.i.i39, i32 0, i32 0, i32 %35, i32 0
store i32 %33, i32* %page.sroa.0.0..sroa_idx.i.i.i41, align 1, !alias.scope !122, !noalias !127
tail call void asm sideeffect inteldialect "invlpg [$0]", "r,~{memory},~{dirflag},~{fpsr},~{flags}"(i8* %page_ptr.048) #0, !noalias !128, !srcloc !121
%sret_slot.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* inttoptr (i32 -4096 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"*), i32 0, i32 0, i32 %22, i32 0
%sret_slot.sroa.0.0.copyload.i.i.i = load i32* %sret_slot.sroa.0.0..sroa_idx.i.i.i, align 4, !alias.scope !129
%36 = and i32 %sret_slot.sroa.0.0.copyload.i.i.i, 1
%37 = icmp eq i32 %36, 0
br i1 %37, label %cond.i.i, label %next.i.i
next.i.i: ; preds = %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit42"
%38 = and i32 %sret_slot.sroa.0.0.copyload.i.i.i, -4096
%39 = inttoptr i32 %38 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"*
br label %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit"
cond.i.i: ; preds = %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit42"
call void @llvm.lifetime.start(i64 8, i8* %16) #0, !noalias !136
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %6, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) bitcast ({ { i32, { i32* } }, i8*, i32 }* @_ZN6kernel2mm8physical6frames20hefd8888bb88c628fetaE to %"struct.kernel::mm::allocator::Alloc<[]>"*), i32 1) #0, !noalias !140
%40 = load i8** %17, align 8, !noalias !136
%41 = load i32* %18, align 4, !noalias !136
call void @llvm.lifetime.end(i64 8, i8* %16) #0, !noalias !136
tail call void @llvm.memset.p0i8.i32(i8* %40, i8 0, i32 %41, i32 1, i1 false) #0, !noalias !136
%cond.i.i.i = icmp eq i32 %41, 0
br i1 %cond.i.i.i, label %match_case.i.i.i, label %_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i
match_case.i.i.i: ; preds = %cond.i.i
tail call void @abort(), !noalias !141
unreachable
_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i: ; preds = %cond.i.i
%42 = bitcast i8* %40 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"*
%43 = ptrtoint i8* %40 to i32
%44 = or i32 %43, %12
store i32 %44, i32* %sret_slot.sroa.0.0..sroa_idx.i.i.i, align 4, !alias.scope !142
tail call void asm sideeffect inteldialect "invlpg [$0]", "r,~{memory},~{dirflag},~{fpsr},~{flags}"(i8* %page_ptr.048) #0, !noalias !147, !srcloc !121
br label %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit"
"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit": ; preds = %next.i.i, %_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i
%sret_slot.0.i.i = phi %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"* [ %39, %next.i.i ], [ %42, %_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i ]
%page.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"* %sret_slot.0.i.i, i32 0, i32 0, i32 %35, i32 0
store i32 %33, i32* %page.sroa.0.0..sroa_idx.i.i.i, align 1, !alias.scope !148, !noalias !153
tail call void asm sideeffect inteldialect "invlpg [$0]", "r,~{memory},~{dirflag},~{fpsr},~{flags}"(i8* %page_ptr.048) #0, !noalias !154, !srcloc !121
%45 = getelementptr inbounds i8* %page_ptr.048, i32 4096
%46 = icmp ult i8* %45, %7
br i1 %46, label %while_body, label %while_exit
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu3mmu16switch_directory20hffa1ca3013d9d592UkcE(%"struct.kernel::mm::physical::Phys<[platform::cpu::mmu::Table<platform::cpu::mmu::Table<platform::cpu::mmu::Page>>]>") unnamed_addr #1 {
entry-block:
%.fca.0.extract = extractvalue %"struct.kernel::mm::physical::Phys<[platform::cpu::mmu::Table<platform::cpu::mmu::Table<platform::cpu::mmu::Page>>]>" %0, 0
tail call void asm sideeffect inteldialect "mov cr3, $0", "r,~{dirflag},~{fpsr},~{flags}"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* %.fca.0.extract) #0, !srcloc !155
ret void
}
; Function Attrs: inlinehint nounwind readonly uwtable
define i8 @_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%4 = load i32* %3, align 4, !alias.scope !156, !noalias !159
%5 = load i32* %2, align 4, !alias.scope !159, !noalias !156
%6 = icmp ult i32 %4, %5
br i1 %6, label %case_body3.i, label %match_case6.i
case_body3.i: ; preds = %match_case6.i, %entry-block
%sret_slot.0.i14 = phi i8 [ %..i, %match_case6.i ], [ -1, %entry-block ]
br label %_ZN3cmp30Ordering...std..cmp..PartialEq2eq20hc8f8c928b183a21evLhE.exit
match_case6.i: ; preds = %entry-block
%7 = icmp ugt i32 %4, %5
%..i = zext i1 %7 to i8
br i1 %7, label %case_body3.i, label %_ZN3cmp30Ordering...std..cmp..PartialEq2eq20hc8f8c928b183a21evLhE.exit
_ZN3cmp30Ordering...std..cmp..PartialEq2eq20hc8f8c928b183a21evLhE.exit: ; preds = %match_case6.i, %case_body3.i
%sret_slot.0.i9 = phi i8 [ %sret_slot.0.i14, %case_body3.i ], [ 0, %match_case6.i ]
ret i8 %sret_slot.0.i9
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" @_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%4 = load i32* %3, align 4, !alias.scope !161, !noalias !166
%5 = load i32* %2, align 4, !alias.scope !172, !noalias !173
%6 = icmp ugt i32 %4, %5
%7 = icmp uge i32 %4, %5
br i1 %6, label %match_case.i, label %compare_next.i
match_case.i: ; preds = %entry-block
switch i1 %7, label %compare_next.i [
i1 false, label %match_case5.i
i1 true, label %match_case7.i
]
compare_next.i: ; preds = %match_case.i, %entry-block
%not..i = xor i1 %7, true
%..i = sext i1 %not..i to i8
br label %match_case5.i
match_case7.i: ; preds = %match_case.i
br label %match_case5.i
match_case5.i: ; preds = %match_case7.i, %compare_next.i, %match_case.i
%sret_slot.sroa.0.0.i = phi i8 [ 1, %match_case7.i ], [ 1, %compare_next.i ], [ 0, %match_case.i ]
%sret_slot.sroa.5.0.i = phi i8 [ 1, %match_case7.i ], [ %..i, %compare_next.i ], [ undef, %match_case.i ]
%.fca.0.insert15 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" undef, i8 %sret_slot.sroa.0.0.i, 0
%.fca.2.0.insert17 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %.fca.0.insert15, i8 %sret_slot.sroa.5.0.i, 2, 0
ret %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %.fca.2.0.insert17
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2lt20h776f07fef5942407YOaE(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%4 = load i32* %3, align 4
%5 = load i32* %2, align 4
%6 = icmp ult i32 %4, %5
ret i1 %6
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2le20h260dd59612e188eaDPaE(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%4 = load i32* %3, align 4
%5 = load i32* %2, align 4
%6 = icmp uge i32 %5, %4
ret i1 %6
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2gt20he6d434e0ccfd1d3biQaE(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%4 = load i32* %3, align 4
%5 = load i32* %2, align 4
%6 = icmp ugt i32 %4, %5
ret i1 %6
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2ge20ha1d4e6c96dca45a5XQaE(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%4 = load i32* %3, align 4
%5 = load i32* %2, align 4
%6 = icmp ule i32 %5, %4
ret i1 %6
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.kernel::elf::HeaderFlags<[]>" @_ZN6kernel3elf31HeaderFlags...std..clone..Clone5clone20h18b764001ca6846aHRaE(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%1 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%2 = load i32* %1, align 4, !alias.scope !174
%.fca.0.insert = insertvalue %"struct.kernel::elf::HeaderFlags<[]>" undef, i32 %2, 0
ret %"struct.kernel::elf::HeaderFlags<[]>" %.fca.0.insert
}
; Function Attrs: inlinehint nounwind readnone uwtable
define void @_ZN6kernel3elf26HeaderFlags...std..cmp..Eq27assert_receiver_is_total_eq20hdd492d3b1db7ba434RaE(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #7 {
entry-block:
ret void
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2eq20ha2c8ec8d33d7d7b4sSaE(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%4 = load i32* %3, align 4, !alias.scope !177, !noalias !180
%5 = load i32* %2, align 4, !alias.scope !180, !noalias !177
%6 = icmp eq i32 %4, %5
ret i1 %6
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2ne20hefc0b03d368af4f8ZSaE(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%4 = load i32* %3, align 4, !alias.scope !182, !noalias !185
%5 = load i32* %2, align 4, !alias.scope !185, !noalias !182
%6 = icmp ne i32 %4, %5
ret i1 %6
}
; Function Attrs: nounwind readnone uwtable
define %"struct.kernel::elf::HeaderFlags<[]>" @_ZN6kernel3elf11HeaderFlags3all20hc7cd4094bc6704bfXTaE() unnamed_addr #8 {
entry-block:
ret %"struct.kernel::elf::HeaderFlags<[]>" { i32 7 }
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.kernel::elf::HeaderFlags<[]>" @"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE"(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%3 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %1, i32 0, i32 0
%4 = load i32* %2, align 4
%5 = load i32* %3, align 4
%6 = and i32 %5, %4
%.fca.0.insert = insertvalue %"struct.kernel::elf::HeaderFlags<[]>" undef, i32 %6, 0
ret %"struct.kernel::elf::HeaderFlags<[]>" %.fca.0.insert
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.kernel::elf::HeaderFlags<[]>" @"_ZN6kernel3elf65HeaderFlags.core..ops..BitOr$LT$HeaderFlags$C$$x20HeaderFlags$GT$5bitor20he4013037490d044dTWaE"(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%3 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %1, i32 0, i32 0
%4 = load i32* %2, align 4
%5 = load i32* %3, align 4
%6 = or i32 %5, %4
%.fca.0.insert = insertvalue %"struct.kernel::elf::HeaderFlags<[]>" undef, i32 %6, 0
ret %"struct.kernel::elf::HeaderFlags<[]>" %.fca.0.insert
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.kernel::elf::HeaderFlags<[]>" @"_ZN6kernel3elf66HeaderFlags.core..ops..BitXor$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitxor20h5fed3a701d956c03lXaE"(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%3 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %1, i32 0, i32 0
%4 = load i32* %2, align 4
%5 = load i32* %3, align 4
%6 = xor i32 %5, %4
%.fca.0.insert = insertvalue %"struct.kernel::elf::HeaderFlags<[]>" undef, i32 %6, 0
ret %"struct.kernel::elf::HeaderFlags<[]>" %.fca.0.insert
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.kernel::elf::HeaderFlags<[]>" @"_ZN6kernel3elf63HeaderFlags.core..ops..Sub$LT$HeaderFlags$C$$x20HeaderFlags$GT$3sub20hb1d198fa9dab4c0bfYaE"(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%3 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %1, i32 0, i32 0
%4 = load i32* %3, align 4
%5 = xor i32 %4, -1
%6 = load i32* %2, align 4
%7 = and i32 %6, %5
%.fca.0.insert = insertvalue %"struct.kernel::elf::HeaderFlags<[]>" undef, i32 %7, 0
ret %"struct.kernel::elf::HeaderFlags<[]>" %.fca.0.insert
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.kernel::elf::HeaderFlags<[]>" @"_ZN6kernel3elf45HeaderFlags.core..ops..Not$LT$HeaderFlags$GT$3not20hae73561b3ca67d69IYaE"(%"struct.kernel::elf::HeaderFlags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%1 = getelementptr inbounds %"struct.kernel::elf::HeaderFlags<[]>"* %0, i32 0, i32 0
%2 = load i32* %1, align 4
%3 = and i32 %2, 7
%4 = xor i32 %3, 7
%.fca.0.insert.i = insertvalue %"struct.kernel::elf::HeaderFlags<[]>" undef, i32 %4, 0
ret %"struct.kernel::elf::HeaderFlags<[]>" %.fca.0.insert.i
}
; Function Attrs: nounwind uwtable
define void @_ZN6kernel3elf16self..Ehdr.EhdrT13spawn_process20hf6047beae8180fc1WZaE(%"struct.kernel::process::Process<[]>"* noalias nocapture sret dereferenceable(12), %"struct.kernel::elf::elf32::Ehdr<[]>"* noalias nocapture readonly dereferenceable(52)) unnamed_addr #1 {
entry-block:
%2 = tail call %"struct.kernel::mm::physical::Phys<[platform::cpu::mmu::Table<platform::cpu::mmu::Table<platform::cpu::mmu::Page>>]>" @"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$5clone20h0315042d7043cd52cxcE"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* noalias readonly dereferenceable(4096) inttoptr (i32 -4096 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"*)), !noalias !187
%.fca.0.extract = extractvalue %"struct.kernel::mm::physical::Phys<[platform::cpu::mmu::Table<platform::cpu::mmu::Table<platform::cpu::mmu::Page>>]>" %2, 0
%3 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 9
%4 = load i16* %3, align 2
%5 = zext i16 %4 to i32
%6 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 5
%7 = load i32* %6, align 4
%8 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 10
%9 = load i16* %8, align 2
%10 = icmp eq i16 %9, 0
br i1 %10, label %for_exit, label %for_body.lr.ph
for_body.lr.ph: ; preds = %entry-block, %match_case7
%.8388 = phi i16 [ %.83, %match_case7 ], [ 1, %entry-block ]
%stack_flags.sroa.0.0.ph87 = phi i32 [ %.stack_flags.sroa.0.0, %match_case7 ], [ 2, %entry-block ]
%.ph86 = phi i16 [ %.84, %match_case7 ], [ 0, %entry-block ]
br label %for_body
for_exit: ; preds = %match_case7, %for_loopback.backedge, %entry-block
%stack_flags.sroa.0.0.ph.lcssa = phi i32 [ 2, %entry-block ], [ %stack_flags.sroa.0.0.ph87, %for_loopback.backedge ], [ %.stack_flags.sroa.0.0, %match_case7 ]
%.fca.0.insert45 = insertvalue %"struct.platform::cpu::mmu::Flags<[]>" undef, i32 %stack_flags.sroa.0.0.ph.lcssa, 0
tail call void @"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$3map20h56a18afd4a3d8347CvcE"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* noalias dereferenceable(4096) %.fca.0.extract, i8* inttoptr (i32 -1073745920 to i8*), i32 4096, %"struct.platform::cpu::mmu::Flags<[]>" %.fca.0.insert45), !noalias !190
store i8* null, i8** inttoptr (i32 -1073741856 to i8**), align 32
store i8* null, i8** inttoptr (i32 -1073741852 to i8**), align 4
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* inttoptr (i32 -1073741833 to i8*), i8* getelementptr inbounds ([5 x i8]* @str3961, i32 0, i32 0), i32 5, i32 1, i1 false)
store i8* inttoptr (i32 -1073741833 to i8*), i8** inttoptr (i32 -1073741860 to i8**), align 4
%11 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 4
%12 = load i32* %11, align 4
%task.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.kernel::process::Process<[]>"* %0, i32 0, i32 0
store i32 %12, i32* %task.sroa.0.0..sroa_idx, align 4
%task.sroa.5.0..sroa_idx64 = getelementptr inbounds %"struct.kernel::process::Process<[]>"* %0, i32 0, i32 1
store i32 -1073741860, i32* %task.sroa.5.0..sroa_idx64, align 4
%task.sroa.7.0..sroa_idx66 = getelementptr inbounds %"struct.kernel::process::Process<[]>"* %0, i32 0, i32 2, i32 0
store %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* %.fca.0.extract, %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"** %task.sroa.7.0..sroa_idx66, align 4
ret void
for_body: ; preds = %for_body.lr.ph, %for_loopback.backedge
%.84 = phi i16 [ %.8388, %for_body.lr.ph ], [ %., %for_loopback.backedge ]
%13 = phi i16 [ %.ph86, %for_body.lr.ph ], [ %.84, %for_loopback.backedge ]
%14 = zext i16 %13 to i32
%15 = mul i32 %14, %5
%.sum = add i32 %15, %7
%16 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %.sum
%17 = bitcast i8* %16 to i32*
%18 = load i32* %17, align 4, !range !193
switch i32 %18, label %for_loopback.backedge [
i32 1685382481, label %match_case7
i32 1, label %match_case5
i32 2, label %match_case6
]
for_loopback.backedge: ; preds = %for_body, %match_case6, %match_case5
%19 = icmp ult i16 %.84, %9
%20 = zext i1 %19 to i16
%. = add i16 %20, %.84
br i1 %19, label %for_body, label %for_exit
match_case5: ; preds = %for_body
%.sum76 = add i32 %.sum, 8
%21 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %.sum76
%22 = bitcast i8* %21 to i32*
%23 = load i32* %22, align 4, !alias.scope !194, !noalias !197
%24 = inttoptr i32 %23 to i8*
%.sum77 = add i32 %.sum, 20
%25 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %.sum77
%26 = bitcast i8* %25 to i32*
%27 = load i32* %26, align 4, !alias.scope !194, !noalias !197
%.sum78 = add i32 %.sum, 4
%28 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %.sum78
%29 = bitcast i8* %28 to i32*
%30 = load i32* %29, align 4, !alias.scope !194, !noalias !197
%.sum79 = add i32 %.sum, 16
%31 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %.sum79
%32 = bitcast i8* %31 to i32*
%33 = load i32* %32, align 4, !alias.scope !194, !noalias !197
%.sum80 = add i32 %.sum, 24
%34 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %.sum80
%35 = bitcast i8* %34 to i32*
%36 = load i32* %35, align 4, !alias.scope !199, !noalias !204
%37 = lshr i32 %36, 1
%38 = and i32 %37, 2
%.fca.0.insert6.i59 = insertvalue %"struct.platform::cpu::mmu::Flags<[]>" undef, i32 %38, 0
tail call void @"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$3map20h56a18afd4a3d8347CvcE"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* noalias dereferenceable(4096) %.fca.0.extract, i8* %24, i32 %27, %"struct.platform::cpu::mmu::Flags<[]>" %.fca.0.insert6.i59), !noalias !206
%39 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %30
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %39, i32 %33, i32 1, i1 false), !noalias !209
%40 = getelementptr inbounds i8* %24, i32 %33
%41 = sub i32 %27, %33
tail call void @llvm.memset.p0i8.i32(i8* %40, i8 0, i32 %41, i32 1, i1 false), !noalias !209
br label %for_loopback.backedge
match_case6: ; preds = %for_body
%.sum71 = add i32 %.sum, 8
%42 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %.sum71
%43 = bitcast i8* %42 to i32*
%44 = load i32* %43, align 4, !alias.scope !210, !noalias !213
%45 = inttoptr i32 %44 to i8*
%.sum72 = add i32 %.sum, 20
%46 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %.sum72
%47 = bitcast i8* %46 to i32*
%48 = load i32* %47, align 4, !alias.scope !210, !noalias !213
%.sum73 = add i32 %.sum, 4
%49 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %.sum73
%50 = bitcast i8* %49 to i32*
%51 = load i32* %50, align 4, !alias.scope !210, !noalias !213
%.sum74 = add i32 %.sum, 16
%52 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %.sum74
%53 = bitcast i8* %52 to i32*
%54 = load i32* %53, align 4, !alias.scope !210, !noalias !213
%.sum75 = add i32 %.sum, 24
%55 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %.sum75
%56 = bitcast i8* %55 to i32*
%57 = load i32* %56, align 4, !alias.scope !215, !noalias !220
%58 = lshr i32 %57, 1
%59 = and i32 %58, 2
%.fca.0.insert6.i = insertvalue %"struct.platform::cpu::mmu::Flags<[]>" undef, i32 %59, 0
tail call void @"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$3map20h56a18afd4a3d8347CvcE"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* noalias dereferenceable(4096) %.fca.0.extract, i8* %45, i32 %48, %"struct.platform::cpu::mmu::Flags<[]>" %.fca.0.insert6.i), !noalias !222
%60 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %51
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %45, i8* %60, i32 %54, i32 1, i1 false), !noalias !225
%61 = getelementptr inbounds i8* %45, i32 %54
%62 = sub i32 %48, %54
tail call void @llvm.memset.p0i8.i32(i8* %61, i8 0, i32 %62, i32 1, i1 false), !noalias !225
br label %for_loopback.backedge
match_case7: ; preds = %for_body
%.sum81 = add i32 %.sum, 24
%63 = getelementptr inbounds %"struct.kernel::elf::elf32::Ehdr<[]>"* %1, i32 0, i32 0, i32 %.sum81
%64 = bitcast i8* %63 to i32*
%65 = load i32* %64, align 4, !alias.scope !226, !noalias !231
%66 = and i32 %65, 1
%67 = icmp ne i32 %66, 0
%.stack_flags.sroa.0.0 = select i1 %67, i32 0, i32 %stack_flags.sroa.0.0.ph87
%68 = icmp ult i16 %.84, %9
%69 = zext i1 %68 to i16
%.83 = add i16 %69, %.84
br i1 %68, label %for_body.lr.ph, label %for_exit
}
; Function Attrs: nounwind uwtable
define void @_ZN6kernel3elf16self..Phdr.PhdrT4load20ha29b7de9f7050554x4aE(%"struct.kernel::elf::elf32::Phdr<[]>"* noalias nocapture readonly dereferenceable(32), %"struct.kernel::process::Process<[]>"* noalias nocapture readonly dereferenceable(12), i8* nocapture readonly) unnamed_addr #1 {
entry-block:
%3 = getelementptr inbounds %"struct.kernel::elf::elf32::Phdr<[]>"* %0, i32 0, i32 2
%4 = load i32* %3, align 4
%5 = inttoptr i32 %4 to i8*
%6 = getelementptr inbounds %"struct.kernel::elf::elf32::Phdr<[]>"* %0, i32 0, i32 5
%7 = load i32* %6, align 4
%8 = getelementptr inbounds %"struct.kernel::elf::elf32::Phdr<[]>"* %0, i32 0, i32 1
%9 = load i32* %8, align 4
%10 = getelementptr inbounds %"struct.kernel::elf::elf32::Phdr<[]>"* %0, i32 0, i32 4
%11 = load i32* %10, align 4
%12 = getelementptr inbounds %"struct.kernel::elf::elf32::Phdr<[]>"* %0, i32 0, i32 6, i32 0
%13 = load i32* %12, align 4, !alias.scope !233, !noalias !238
%14 = lshr i32 %13, 1
%15 = and i32 %14, 2
%.fca.0.insert6 = insertvalue %"struct.platform::cpu::mmu::Flags<[]>" undef, i32 %15, 0
%16 = getelementptr inbounds %"struct.kernel::process::Process<[]>"* %1, i32 0, i32 2, i32 0
%17 = load %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"** %16, align 4, !alias.scope !240
tail call void @"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$3map20h56a18afd4a3d8347CvcE"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* noalias dereferenceable(4096) %17, i8* %5, i32 %7, %"struct.platform::cpu::mmu::Flags<[]>" %.fca.0.insert6), !noalias !245
%18 = getelementptr inbounds i8* %2, i32 %9
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %18, i32 %11, i32 1, i1 false)
%19 = getelementptr inbounds i8* %5, i32 %11
%20 = sub i32 %7, %11
tail call void @llvm.memset.p0i8.i32(i8* %19, i8 0, i32 %20, i32 1, i1 false)
ret void
}
; Function Attrs: nounwind readnone uwtable
define %"struct.platform::cpu::mmu::Flags<[]>" @_ZN8platform3cpu3mmu5Flags5empty20h2fdaadee51b3b316HccE() unnamed_addr #8 {
entry-block:
ret %"struct.platform::cpu::mmu::Flags<[]>" zeroinitializer
}
; Function Attrs: nounwind readnone
define void @rust_stack_exhausted() unnamed_addr #6 {
"the block":
ret void
}
; Function Attrs: nounwind readnone
define void @rust_eh_personality() unnamed_addr #6 {
"the block":
ret void
}
; Function Attrs: nounwind uwtable
define void @main() unnamed_addr #1 {
_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i:
%0 = alloca { i8*, i32 }, align 8
%1 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%arg.sroa.5.i.i = alloca [19 x i8], align 1
%2 = alloca %"struct.kernel::process::Process<[]>", align 8
%table = alloca %"struct.platform::cpu::interrupt::Table<[]>", align 8
%.sroa.3 = alloca [15 x i8], align 1
tail call void @llvm.memset.p0i8.i32(i8* inttoptr (i32 1048576 to i8*), i8 0, i32 65536, i32 1048576, i1 false) #0, !noalias !246
store i8 1, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16, !noalias !253
store i64 4503599627370513, i64* bitcast (i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 3) to i64*), align 1, !noalias !253
store i8* inttoptr (i32 1114112 to i8*), i8** bitcast (i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 11) to i8**), align 1, !noalias !253
store i32 0, i32* bitcast (i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 15) to i32*), align 1, !noalias !253
%3 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %1 to i8*
call void @llvm.lifetime.start(i64 16, i8* %3)
%arg.sroa.5.0..sroa_idx17.i.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i.i, i32 0, i32 0
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx17.i.i)
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx17.i.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false)
%arg.sroa.5.4..sroa_idx.i.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i.i, i32 0, i32 3
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %arg.sroa.5.4..sroa_idx.i.i, i32 16, i32 1, i1 false)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx17.i.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx17.i.i)
%4 = bitcast { i8*, i32 }* %0 to i8*
call void @llvm.lifetime.start(i64 8, i8* %4) #0, !noalias !254
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %0, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %1, i32 4096) #0, !noalias !258
%5 = getelementptr inbounds { i8*, i32 }* %0, i32 0, i32 0
%6 = load i8** %5, align 8, !noalias !254
%7 = getelementptr inbounds { i8*, i32 }* %0, i32 0, i32 1
%8 = load i32* %7, align 4, !noalias !254
call void @llvm.lifetime.end(i64 8, i8* %4) #0, !noalias !254
tail call void @llvm.memset.p0i8.i32(i8* %6, i8 0, i32 %8, i32 1, i1 false) #0, !noalias !254
%cond8.i.i = icmp eq i32 %8, 0
br i1 %cond8.i.i, label %match_case6.i.i, label %_ZN6kernel2mm8physical4init20hc3a8271c6a403f82vvaE.exit
match_case6.i.i: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE()
unreachable
_ZN6kernel2mm8physical4init20hc3a8271c6a403f82vvaE.exit: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i
%9 = bitcast i8* %6 to i32*
call void @llvm.lifetime.end(i64 16, i8* %3)
store i32* %9, i32** getelementptr inbounds ({ { i32, { i32* } }, i8*, i32 }* @_ZN6kernel2mm8physical6frames20hefd8888bb88c628fetaE, i32 0, i32 0, i32 1, i32 0), align 4
%10 = bitcast %"struct.platform::cpu::interrupt::Table<[]>"* %table to i8*
call void @llvm.lifetime.start(i64 12, i8* %10)
call void @_ZN8platform3cpu9interrupt5Table3new20hd0a618603ce90ec1cVbE(%"struct.platform::cpu::interrupt::Table<[]>"* noalias nocapture sret dereferenceable(12) %table)
%11 = getelementptr inbounds %"struct.platform::cpu::interrupt::Table<[]>"* %table, i32 0, i32 0
%12 = load %"struct.platform::cpu::DtReg<[platform::cpu::idt::IdtEntry]>"** %11, align 8, !alias.scope !259
tail call void asm inteldialect "lidt [$0]", "A,~{dirflag},~{fpsr},~{flags}"(%"struct.platform::cpu::DtReg<[platform::cpu::idt::IdtEntry]>"* %12) #0, !noalias !259, !srcloc !262
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 17, i16 32) #0, !noalias !259, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 17, i16 160) #0, !noalias !259, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 32, i16 33) #0, !noalias !259, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 40, i16 161) #0, !noalias !259, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 4, i16 33) #0, !noalias !259, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 2, i16 161) #0, !noalias !259, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 1, i16 33) #0, !noalias !259, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 1, i16 161) #0, !noalias !259, !srcloc !263
%13 = getelementptr inbounds %"struct.platform::cpu::interrupt::Table<[]>"* %table, i32 0, i32 2
%14 = load i16* %13, align 8, !alias.scope !259
%15 = trunc i16 %14 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %15, i16 33) #0, !noalias !259, !srcloc !263
%16 = lshr i16 %14, 8
%17 = trunc i16 %16 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %17, i16 161) #0, !noalias !259, !srcloc !263
tail call void asm sideeffect inteldialect "sti", "~{dirflag},~{fpsr},~{flags}"() #0, !noalias !259, !srcloc !264
%.sroa.3.0..sroa_idx3 = getelementptr inbounds [15 x i8]* %.sroa.3, i32 0, i32 0
call void @llvm.lifetime.start(i64 15, i8* %.sroa.3.0..sroa_idx3)
%.sroa.3.4..sroa_idx = getelementptr inbounds [15 x i8]* %.sroa.3, i32 0, i32 3
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %.sroa.3.4..sroa_idx, i8* %10, i32 12, i32 1, i1 false)
store i8 1, i8* getelementptr inbounds ({ i8, [15 x i8] }* @_ZN6kernel9int_table20h701adac15d7956ebN7aE, i32 0, i32 0), align 8
call void @llvm.memcpy.p0i8.p0i8.i32(i8* getelementptr inbounds ({ i8, [15 x i8] }* @_ZN6kernel9int_table20h701adac15d7956ebN7aE, i32 0, i32 1, i32 0), i8* %.sroa.3.0..sroa_idx3, i32 15, i32 1, i1 false)
store i8* bitcast (void (i8)* @_ZN8platform2io4putc20h6f4318d96097b606q9cE to i8*), i8** @_ZN8platform7drivers7keydown20h919358c2439ab224UidE, align 4
tail call void @_ZN8platform3cpu4init20hfe9a7c45336538day1cE()
tail call void asm "rep stosl", "A,{edi},{ecx},~{dirflag},~{fpsr},~{flags}"(i32 -1071595488, i8* inttoptr (i32 753664 to i8*), i32 1000) #0, !srcloc !265
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 15, i16 980) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 0, i16 981) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 14, i16 980) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 0, i16 981) #0, !srcloc !263
%arg.sroa.0.0.copyload.i = load i8* getelementptr inbounds ({ i8, [15 x i8] }* @_ZN6kernel9int_table20h701adac15d7956ebN7aE, i32 0, i32 0), align 8
%cond.i.i4 = icmp eq i8 %arg.sroa.0.0.copyload.i, 1
br i1 %cond.i.i4, label %match_case.i.i5, label %_ZN8platform7drivers4init20h41320edd00d157e54idE.exit
match_case.i.i5: ; preds = %_ZN6kernel2mm8physical4init20hc3a8271c6a403f82vvaE.exit
%arg.sroa.5.sroa.6.0.copyload.i = load i16* bitcast (i8* getelementptr inbounds ({ i8, [15 x i8] }* @_ZN6kernel9int_table20h701adac15d7956ebN7aE, i32 0, i32 1, i32 11) to i16*), align 1
%arg.sroa.5.sroa.5.0.copyload.i = load %"struct.platform::cpu::idt::IdtEntry<[]>"** bitcast (i8* getelementptr inbounds ({ i8, [15 x i8] }* @_ZN6kernel9int_table20h701adac15d7956ebN7aE, i32 0, i32 1, i32 7) to %"struct.platform::cpu::idt::IdtEntry<[]>"**), align 1
tail call fastcc void @_ZN8platform7drivers8keyboard8isr_addr20hdc849b2d12bd202avidE(), !noalias !266
%18 = getelementptr inbounds %"struct.platform::cpu::idt::IdtEntry<[]>"* %arg.sroa.5.sroa.5.0.copyload.i, i32 33
%19 = bitcast %"struct.platform::cpu::idt::IdtEntry<[]>"* %18 to i64*
store i64 or (i64 or (i64 shl (i64 zext (i16 trunc (i32 lshr (i32 ptrtoint (void ()* @isr_addr_asm to i32), i32 16) to i16) to i64), i64 48), i64 156130651668480), i64 zext (i16 ptrtoint (void ()* @isr_addr_asm to i16) to i64)), i64* %19, align 1, !noalias !269
%arg.sroa.5.sroa.6.0.copyload.tr.i = trunc i16 %arg.sroa.5.sroa.6.0.copyload.i to i8
%20 = and i8 %arg.sroa.5.sroa.6.0.copyload.tr.i, -3
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %20, i16 33) #0, !srcloc !263
%21 = lshr i16 %arg.sroa.5.sroa.6.0.copyload.i, 8
%22 = trunc i16 %21 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %22, i16 161) #0, !srcloc !263
br label %_ZN8platform7drivers4init20h41320edd00d157e54idE.exit
_ZN8platform7drivers4init20h41320edd00d157e54idE.exit: ; preds = %_ZN6kernel2mm8physical4init20hc3a8271c6a403f82vvaE.exit, %match_case.i.i5
%.0.copyload.i.i = load i32* bitcast (i8* @_binary_initram_elf_start to i32*), align 1
%23 = icmp eq i32 %.0.copyload.i.i, 1179403647
br i1 %23, label %next-block.i.i, label %_ZN6kernel3elf4exec20hc2b7d7bfda5709da66aE.exit
next-block.i.i: ; preds = %_ZN8platform7drivers4init20h41320edd00d157e54idE.exit
%24 = load i8* getelementptr (i8* @_binary_initram_elf_start, i32 4), align 1
%cond.i.i = icmp eq i8 %24, 1
br i1 %cond.i.i, label %match_case.i.i, label %_ZN6kernel3elf4exec20hc2b7d7bfda5709da66aE.exit
match_case.i.i: ; preds = %next-block.i.i
%25 = bitcast %"struct.kernel::process::Process<[]>"* %2 to i8*
call void @llvm.lifetime.start(i64 12, i8* %25), !noalias !272
call void @_ZN6kernel3elf16self..Ehdr.EhdrT13spawn_process20hf6047beae8180fc1WZaE(%"struct.kernel::process::Process<[]>"* noalias nocapture sret dereferenceable(12) %2, %"struct.kernel::elf::elf32::Ehdr<[]>"* noalias readonly dereferenceable(52) bitcast (i8* @_binary_initram_elf_start to %"struct.kernel::elf::elf32::Ehdr<[]>"*)), !noalias !277
tail call void @llvm.debugtrap() #0, !noalias !278
%26 = getelementptr inbounds %"struct.kernel::process::Process<[]>"* %2, i32 0, i32 2, i32 0
%27 = load %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"** %26, align 8, !alias.scope !281, !noalias !272
tail call void asm sideeffect inteldialect "mov cr3, $0", "r,~{dirflag},~{fpsr},~{flags}"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* %27) #0, !noalias !278, !srcloc !155
%28 = getelementptr inbounds %"struct.kernel::process::Process<[]>"* %2, i32 0, i32 0
%29 = load i32* %28, align 8, !alias.scope !281, !noalias !272
%30 = getelementptr inbounds %"struct.kernel::process::Process<[]>"* %2, i32 0, i32 1
%31 = load i32* %30, align 4, !alias.scope !281, !noalias !272
tail call void asm sideeffect inteldialect "xor edx, edx\0A jmp DWORD PTR $0", "{eax},{esp},~{dirflag},~{fpsr},~{flags}"(i32 %29, i32 %31) #0, !noalias !278, !srcloc !282
call void @llvm.lifetime.end(i64 12, i8* %25), !noalias !272
br label %_ZN6kernel3elf4exec20hc2b7d7bfda5709da66aE.exit
_ZN6kernel3elf4exec20hc2b7d7bfda5709da66aE.exit: ; preds = %_ZN8platform7drivers4init20h41320edd00d157e54idE.exit, %next-block.i.i, %match_case.i.i
call void @llvm.lifetime.end(i64 12, i8* %10)
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu9interrupt5Table3new20hd0a618603ce90ec1cVbE(%"struct.platform::cpu::interrupt::Table<[]>"* noalias nocapture sret dereferenceable(12)) unnamed_addr #1 {
entry-block:
%1 = alloca { i8*, i32 }, align 8
%2 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%3 = alloca { i8*, i32 }, align 8
%4 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%arg.sroa.5.i = alloca [19 x i8], align 1
%5 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %4 to i8*
call void @llvm.lifetime.start(i64 16, i8* %5)
%arg.sroa.5.0..sroa_idx5.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i, i32 0, i32 0
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
%arg.sroa.0.0.copyload.i = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx5.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false)
%cond.i.i = icmp eq i8 %arg.sroa.0.0.copyload.i, 1
br i1 %cond.i.i, label %_ZN6kernel4heap3get21h12112607028929120876E.exit.i, label %match_else.i.i
match_else.i.i: ; preds = %entry-block
tail call void @abort(), !noalias !283
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit.i: ; preds = %entry-block
%arg.sroa.5.4..sroa_idx.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i, i32 0, i32 3
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %arg.sroa.5.4..sroa_idx.i, i32 16, i32 1, i1 false)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
%6 = bitcast { i8*, i32 }* %3 to i8*
call void @llvm.lifetime.start(i64 8, i8* %6) #0, !noalias !287
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %3, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %4, i32 2048) #0, !noalias !291
%7 = getelementptr inbounds { i8*, i32 }* %3, i32 0, i32 0
%8 = load i8** %7, align 8, !noalias !287
%9 = getelementptr inbounds { i8*, i32 }* %3, i32 0, i32 1
%10 = load i32* %9, align 4, !noalias !287
call void @llvm.lifetime.end(i64 8, i8* %6) #0, !noalias !287
tail call void @llvm.memset.p0i8.i32(i8* %8, i8 0, i32 %10, i32 1, i1 false) #0, !noalias !287
%cond8.i = icmp eq i32 %10, 0
br i1 %cond8.i, label %match_case6.i, label %_ZN6kernel4heap10zero_alloc21h13479050401619438087E.exit
match_case6.i: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE()
unreachable
_ZN6kernel4heap10zero_alloc21h13479050401619438087E.exit: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i
%11 = bitcast i8* %8 to %"struct.platform::cpu::idt::IdtEntry<[]>"*
call void @llvm.lifetime.end(i64 16, i8* %5)
%12 = bitcast { i8*, i32 }* %1 to i8*
call void @llvm.lifetime.start(i64 8, i8* %12)
%13 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %2 to i8*
call void @llvm.lifetime.start(i64 16, i8* %13)
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
%arg.sroa.0.0.copyload.i.i = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx5.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false)
%cond.i.i.i = icmp eq i8 %arg.sroa.0.0.copyload.i.i, 1
br i1 %cond.i.i.i, label %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i, label %match_else.i.i.i
match_else.i.i.i: ; preds = %_ZN6kernel4heap10zero_alloc21h13479050401619438087E.exit
tail call void @abort(), !noalias !292
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i: ; preds = %_ZN6kernel4heap10zero_alloc21h13479050401619438087E.exit
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %13, i8* %arg.sroa.5.4..sroa_idx.i, i32 16, i32 1, i1 false)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %1, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %2, i32 6)
%14 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 1
%15 = load i32* %14, align 4
%cond.i.i5 = icmp eq i32 %15, 0
br i1 %cond.i.i5, label %match_case.i.i, label %_ZN6kernel4heap5alloc20h6218368935506057934E.exit
match_case.i.i: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE()
unreachable
_ZN6kernel4heap5alloc20h6218368935506057934E.exit: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i
%16 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 0
%17 = load i8** %16, align 8
call void @llvm.lifetime.end(i64 8, i8* %12)
call void @llvm.lifetime.end(i64 16, i8* %13)
%18 = bitcast i8* %17 to %"struct.platform::cpu::DtReg<[platform::cpu::idt::IdtEntry]>"*
%.sroa.0.0..sroa_idx = bitcast i8* %17 to i16*
store i16 2048, i16* %.sroa.0.0..sroa_idx, align 1
%.sroa.3.0..sroa_idx6 = getelementptr inbounds i8* %17, i32 2
%19 = bitcast i8* %.sroa.3.0..sroa_idx6 to %"struct.platform::cpu::idt::IdtEntry<[]>"**
store %"struct.platform::cpu::idt::IdtEntry<[]>"* %11, %"struct.platform::cpu::idt::IdtEntry<[]>"** %19, align 1
%20 = getelementptr inbounds %"struct.platform::cpu::interrupt::Table<[]>"* %0, i32 0, i32 0
store %"struct.platform::cpu::DtReg<[platform::cpu::idt::IdtEntry]>"* %18, %"struct.platform::cpu::DtReg<[platform::cpu::idt::IdtEntry]>"** %20, align 4
%21 = getelementptr inbounds %"struct.platform::cpu::interrupt::Table<[]>"* %0, i32 0, i32 1
store %"struct.platform::cpu::idt::IdtEntry<[]>"* %11, %"struct.platform::cpu::idt::IdtEntry<[]>"** %21, align 4
%22 = getelementptr inbounds %"struct.platform::cpu::interrupt::Table<[]>"* %0, i32 0, i32 2
store i16 -1, i16* %22, align 4
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu9interrupt5Table4load20hd5001ded8cb3ecd3kXbE(%"struct.platform::cpu::interrupt::Table<[]>"* noalias nocapture readonly dereferenceable(12)) unnamed_addr #1 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::interrupt::Table<[]>"* %0, i32 0, i32 0
%2 = load %"struct.platform::cpu::DtReg<[platform::cpu::idt::IdtEntry]>"** %1, align 4
tail call void asm inteldialect "lidt [$0]", "A,~{dirflag},~{fpsr},~{flags}"(%"struct.platform::cpu::DtReg<[platform::cpu::idt::IdtEntry]>"* %2) #0, !srcloc !262
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 17, i16 32) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 17, i16 160) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 32, i16 33) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 40, i16 161) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 4, i16 33) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 2, i16 161) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 1, i16 33) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 1, i16 161) #0, !srcloc !263
%3 = getelementptr inbounds %"struct.platform::cpu::interrupt::Table<[]>"* %0, i32 0, i32 2
%4 = load i16* %3, align 2
%5 = trunc i16 %4 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %5, i16 33) #0, !srcloc !263
%6 = lshr i16 %4, 8
%7 = trunc i16 %6 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %7, i16 161) #0, !srcloc !263
tail call void asm sideeffect inteldialect "sti", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !264
ret void
}
; Function Attrs: nounwind uwtable
define internal void @_ZN8platform2io4putc20h6f4318d96097b606q9cE(i8) unnamed_addr #1 {
entry-block:
%1 = zext i8 %0 to i32
switch i32 %1, label %else-block24.i [
i32 8, label %then-block-11371-.i
i32 10, label %then-block-11429-.i
i32 9, label %then-block-11442-.i
]
then-block-11371-.i: ; preds = %entry-block
%2 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%3 = icmp sgt i32 %2, 0
br i1 %3, label %then-block-11376-.i, label %_ZN8platform2io10write_char20h8de22ceb39b9ae56m7cE.exit
then-block-11376-.i: ; preds = %then-block-11371-.i
%4 = srem i32 %2, 80
%5 = icmp eq i32 %4, 0
%6 = add i32 %2, -1
br i1 %5, label %while_cond.preheader.i, label %then-block-11408-.i
while_cond.preheader.i: ; preds = %then-block-11376-.i
%7 = icmp ugt i32 %6, 1999
br i1 %7, label %cond6.i, label %next5.i, !prof !296
while_body.i: ; preds = %next5.i
store i32 %11, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%8 = add i32 %11, -1
%9 = icmp ugt i32 %8, 1999
br i1 %9, label %cond6.i, label %next5.i, !prof !296
next5.i: ; preds = %while_cond.preheader.i, %while_body.i
%10 = phi i32 [ %11, %while_body.i ], [ %2, %while_cond.preheader.i ]
%11 = phi i32 [ %8, %while_body.i ], [ %6, %while_cond.preheader.i ]
%12 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %11, i32 0
%13 = load i8* %12, align 2
%14 = icmp eq i8 %13, 0
br i1 %14, label %while_body.i, label %_ZN8platform2io10write_char20h8de22ceb39b9ae56m7cE.exit
cond6.i: ; preds = %while_body.i, %while_cond.preheader.i
%.lcssa.i = phi i32 [ %6, %while_cond.preheader.i ], [ %8, %while_body.i ]
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const29, i32 %.lcssa.i, i32 2000)
unreachable
then-block-11408-.i: ; preds = %then-block-11376-.i
store i32 %6, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%15 = icmp ugt i32 %6, 1999
br i1 %15, label %cond8.i, label %next7.i, !prof !296
next7.i: ; preds = %then-block-11408-.i
%16 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %6, i32 0
store i8 0, i8* %16, align 2
br label %_ZN8platform2io10write_char20h8de22ceb39b9ae56m7cE.exit
cond8.i: ; preds = %then-block-11408-.i
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const30, i32 %6, i32 2000)
unreachable
then-block-11429-.i: ; preds = %entry-block
%17 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%18 = srem i32 %17, 80
%19 = add i32 %17, 80
%20 = sub i32 %19, %18
store i32 %20, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
br label %_ZN8platform2io10write_char20h8de22ceb39b9ae56m7cE.exit
then-block-11442-.i: ; preds = %entry-block
%21 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%22 = srem i32 %21, 4
%23 = add i32 %21, 4
%24 = sub i32 %23, %22
store i32 %24, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
br label %_ZN8platform2io10write_char20h8de22ceb39b9ae56m7cE.exit
else-block24.i: ; preds = %entry-block
%25 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%26 = icmp ugt i32 %25, 1999
br i1 %26, label %cond26.i, label %next25.i, !prof !296
next25.i: ; preds = %else-block24.i
%27 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %25, i32 0
store i8 %0, i8* %27, align 2
%28 = add i32 %25, 1
store i32 %28, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
br label %_ZN8platform2io10write_char20h8de22ceb39b9ae56m7cE.exit
cond26.i: ; preds = %else-block24.i
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const35, i32 %25, i32 2000)
unreachable
_ZN8platform2io10write_char20h8de22ceb39b9ae56m7cE.exit: ; preds = %next5.i, %then-block-11371-.i, %next7.i, %then-block-11429-.i, %then-block-11442-.i, %next25.i
%29 = phi i32 [ %6, %next7.i ], [ %2, %then-block-11371-.i ], [ %24, %then-block-11442-.i ], [ %28, %next25.i ], [ %20, %then-block-11429-.i ], [ %10, %next5.i ]
%30 = srem i32 %29, 2000
store i32 %30, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 15, i16 980) #0, !srcloc !263
%31 = trunc i32 %30 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %31, i16 981) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 14, i16 980) #0, !srcloc !263
%32 = lshr i32 %30, 8
%33 = trunc i32 %32 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %33, i16 981) #0, !srcloc !263
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu4init20hfe9a7c45336538day1cE() unnamed_addr #1 {
entry-block:
%0 = alloca { i8*, i32 }, align 8
%1 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%arg.sroa.5.i208 = alloca [19 x i8], align 1
%address48.i = alloca { i32, i16 }, align 8
%2 = alloca { i8*, i32 }, align 8
%3 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%4 = alloca { i8*, i32 }, align 8
%5 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%6 = alloca { i8*, i32 }, align 8
%7 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%8 = alloca { i8*, i32 }, align 8
%9 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%arg.sroa.5.i = alloca [19 x i8], align 1
%10 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %9 to i8*
call void @llvm.lifetime.start(i64 16, i8* %10)
%arg.sroa.5.0..sroa_idx5.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i, i32 0, i32 0
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
%arg.sroa.0.0.copyload.i = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx5.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false)
%cond.i.i = icmp eq i8 %arg.sroa.0.0.copyload.i, 1
br i1 %cond.i.i, label %_ZN6kernel4heap3get21h12112607028929120876E.exit.i, label %match_else.i.i
match_else.i.i: ; preds = %entry-block
tail call void @abort(), !noalias !297
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit.i: ; preds = %entry-block
%arg.sroa.5.4..sroa_idx.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i, i32 0, i32 3
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %10, i8* %arg.sroa.5.4..sroa_idx.i, i32 16, i32 1, i1 false)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
%11 = bitcast { i8*, i32 }* %8 to i8*
call void @llvm.lifetime.start(i64 8, i8* %11) #0, !noalias !301
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %8, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %9, i32 104) #0, !noalias !305
%12 = getelementptr inbounds { i8*, i32 }* %8, i32 0, i32 0
%13 = load i8** %12, align 8, !noalias !301
%14 = getelementptr inbounds { i8*, i32 }* %8, i32 0, i32 1
%15 = load i32* %14, align 4, !noalias !301
call void @llvm.lifetime.end(i64 8, i8* %11) #0, !noalias !301
tail call void @llvm.memset.p0i8.i32(i8* %13, i8 0, i32 %15, i32 1, i1 false) #0, !noalias !301
%cond8.i = icmp eq i32 %15, 0
br i1 %cond8.i, label %match_case6.i, label %_ZN6kernel4heap10zero_alloc20h3922096146957295345E.exit
match_case6.i: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE()
unreachable
_ZN6kernel4heap10zero_alloc20h3922096146957295345E.exit: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i
call void @llvm.lifetime.end(i64 16, i8* %10)
%16 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %7 to i8*
call void @llvm.lifetime.start(i64 16, i8* %16)
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
%arg.sroa.0.0.copyload.i88 = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx5.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false)
%cond.i.i89 = icmp eq i8 %arg.sroa.0.0.copyload.i88, 1
br i1 %cond.i.i89, label %_ZN6kernel4heap3get21h12112607028929120876E.exit.i93, label %match_else.i.i90
match_else.i.i90: ; preds = %_ZN6kernel4heap10zero_alloc20h3922096146957295345E.exit
tail call void @abort(), !noalias !306
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit.i93: ; preds = %_ZN6kernel4heap10zero_alloc20h3922096146957295345E.exit
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %16, i8* %arg.sroa.5.4..sroa_idx.i, i32 16, i32 1, i1 false)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
%17 = bitcast { i8*, i32 }* %6 to i8*
call void @llvm.lifetime.start(i64 8, i8* %17) #0, !noalias !310
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %6, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %7, i32 128) #0, !noalias !314
%18 = getelementptr inbounds { i8*, i32 }* %6, i32 0, i32 0
%19 = load i8** %18, align 8, !noalias !310
%20 = getelementptr inbounds { i8*, i32 }* %6, i32 0, i32 1
%21 = load i32* %20, align 4, !noalias !310
call void @llvm.lifetime.end(i64 8, i8* %17) #0, !noalias !310
tail call void @llvm.memset.p0i8.i32(i8* %19, i8 0, i32 %21, i32 1, i1 false) #0, !noalias !310
%cond8.i92 = icmp eq i32 %21, 0
br i1 %cond8.i92, label %match_case6.i94, label %_ZN6kernel4heap10zero_alloc21h14573187594399606685E.exit
match_case6.i94: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i93
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE()
unreachable
_ZN6kernel4heap10zero_alloc21h14573187594399606685E.exit: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i93
%22 = bitcast i8* %19 to i32*
call void @llvm.lifetime.end(i64 16, i8* %16)
%23 = ptrtoint i8* %13 to i32
store i32 %23, i32* %22, align 4
%24 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %5 to i8*
call void @llvm.lifetime.start(i64 16, i8* %24), !noalias !315
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
%arg.sroa.0.0.copyload.i.i = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16, !noalias !315
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx5.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false), !noalias !315
%cond.i.i.i = icmp eq i8 %arg.sroa.0.0.copyload.i.i, 1
br i1 %cond.i.i.i, label %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i, label %match_else.i.i.i
match_else.i.i.i: ; preds = %_ZN6kernel4heap10zero_alloc21h14573187594399606685E.exit
tail call void @abort(), !noalias !318
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i: ; preds = %_ZN6kernel4heap10zero_alloc21h14573187594399606685E.exit
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %arg.sroa.5.4..sroa_idx.i, i32 16, i32 1, i1 false), !noalias !315
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
%25 = bitcast { i8*, i32 }* %4 to i8*
call void @llvm.lifetime.start(i64 8, i8* %25) #0, !noalias !322
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %4, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %5, i32 2048) #0, !noalias !326
%26 = getelementptr inbounds { i8*, i32 }* %4, i32 0, i32 0
%27 = load i8** %26, align 8, !noalias !322
%28 = getelementptr inbounds { i8*, i32 }* %4, i32 0, i32 1
%29 = load i32* %28, align 4, !noalias !322
call void @llvm.lifetime.end(i64 8, i8* %25) #0, !noalias !322
tail call void @llvm.memset.p0i8.i32(i8* %27, i8 0, i32 %29, i32 1, i1 false) #0, !noalias !322
%cond8.i.i = icmp eq i32 %29, 0
br i1 %cond8.i.i, label %match_case6.i.i, label %_ZN6kernel4heap10zero_alloc21h17130376458647255620E.exit.i
match_case6.i.i: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE(), !noalias !315
unreachable
_ZN6kernel4heap10zero_alloc21h17130376458647255620E.exit.i: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i
%30 = bitcast i8* %27 to %"struct.platform::cpu::gdt::GdtEntry<[]>"*
call void @llvm.lifetime.end(i64 16, i8* %24), !noalias !315
%31 = bitcast { i8*, i32 }* %2 to i8*
call void @llvm.lifetime.start(i64 8, i8* %31), !noalias !315
%32 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %3 to i8*
call void @llvm.lifetime.start(i64 16, i8* %32), !noalias !315
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
%arg.sroa.0.0.copyload.i.i.i = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16, !noalias !315
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx5.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false), !noalias !315
%cond.i.i.i.i = icmp eq i8 %arg.sroa.0.0.copyload.i.i.i, 1
br i1 %cond.i.i.i.i, label %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i.i, label %match_else.i.i.i.i
match_else.i.i.i.i: ; preds = %_ZN6kernel4heap10zero_alloc21h17130376458647255620E.exit.i
tail call void @abort(), !noalias !327
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i.i: ; preds = %_ZN6kernel4heap10zero_alloc21h17130376458647255620E.exit.i
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %32, i8* %arg.sroa.5.4..sroa_idx.i, i32 16, i32 1, i1 false), !noalias !315
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx5.i)
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %2, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %3, i32 6), !noalias !315
%33 = getelementptr inbounds { i8*, i32 }* %2, i32 0, i32 1
%34 = load i32* %33, align 4, !noalias !315
%cond.i.i6.i = icmp eq i32 %34, 0
br i1 %cond.i.i6.i, label %match_case.i.i.i, label %_ZN8platform3cpu3gdt3Gdt3new20h759ce73844158badaCbE.exit
match_case.i.i.i: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i.i
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE(), !noalias !315
unreachable
_ZN8platform3cpu3gdt3Gdt3new20h759ce73844158badaCbE.exit: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i.i
%35 = getelementptr inbounds { i8*, i32 }* %2, i32 0, i32 0
%36 = load i8** %35, align 8, !noalias !315
call void @llvm.lifetime.end(i64 8, i8* %31), !noalias !315
call void @llvm.lifetime.end(i64 16, i8* %32), !noalias !315
%.sroa.0.0..sroa_idx.i = bitcast i8* %36 to i16*
store i16 2048, i16* %.sroa.0.0..sroa_idx.i, align 1, !noalias !315
%.sroa.3.0..sroa_idx7.i = getelementptr inbounds i8* %36, i32 2
%37 = bitcast i8* %.sroa.3.0..sroa_idx7.i to %"struct.platform::cpu::gdt::GdtEntry<[]>"**
store %"struct.platform::cpu::gdt::GdtEntry<[]>"* %30, %"struct.platform::cpu::gdt::GdtEntry<[]>"** %37, align 1, !noalias !315
%38 = ptrtoint i8* %36 to i32
%39 = getelementptr inbounds i8* %27, i32 8
%40 = bitcast i8* %39 to i64*
store i64 58434644969848831, i64* %40, align 1, !noalias !331
%41 = getelementptr inbounds i8* %27, i32 16
%42 = bitcast i8* %41 to i64*
store i64 58425848876826623, i64* %42, align 1, !noalias !335
%43 = getelementptr inbounds i8* %27, i32 24
%44 = bitcast i8* %43 to i64*
store i64 58540198086115327, i64* %44, align 1, !noalias !339
%45 = getelementptr inbounds i8* %27, i32 32
%46 = bitcast i8* %45 to i64*
store i64 58531401993093119, i64* %46, align 1, !noalias !343
%47 = ptrtoint i8* %19 to i32
%48 = lshr i32 %47, 24
%49 = lshr i32 %47, 16
%50 = getelementptr inbounds i8* %27, i32 40
%51 = bitcast i8* %50 to i64*
%.sroa.11139.0.insert.ext = zext i32 %48 to i64
%.sroa.11139.0.insert.shift = shl nuw i64 %.sroa.11139.0.insert.ext, 56
%.mask = and i32 %49, 255
%.sroa.6136.0.insert.ext = zext i32 %.mask to i64
%.sroa.6136.0.insert.shift = shl nuw nsw i64 %.sroa.6136.0.insert.ext, 32
%.mask201 = and i32 %47, 65535
%.sroa.5133.0.insert.ext = zext i32 %.mask201 to i64
%.sroa.5133.0.insert.shift = shl nuw nsw i64 %.sroa.5133.0.insert.ext, 16
%.sroa.6136.0.insert.mask = or i64 %.sroa.5133.0.insert.shift, %.sroa.11139.0.insert.shift
%.sroa.5133.0.insert.mask = or i64 %.sroa.6136.0.insert.mask, %.sroa.6136.0.insert.shift
%.sroa.0130.0.insert.insert = or i64 %.sroa.5133.0.insert.mask, 18278281300148352
store i64 %.sroa.0130.0.insert.insert, i64* %51, align 1, !noalias !347
%52 = lshr i32 %23, 24
%53 = lshr i32 %23, 16
%54 = getelementptr inbounds i8* %27, i32 48
%55 = bitcast i8* %54 to i64*
%.sroa.11.0.insert.ext = zext i32 %52 to i64
%.sroa.11.0.insert.shift = shl nuw i64 %.sroa.11.0.insert.ext, 56
%.mask203 = and i32 %53, 255
%.sroa.6.0.insert.ext = zext i32 %.mask203 to i64
%.sroa.6.0.insert.shift = shl nuw nsw i64 %.sroa.6.0.insert.ext, 32
%.mask204 = and i32 %23, 65535
%.sroa.5127.0.insert.ext = zext i32 %.mask204 to i64
%.sroa.5127.0.insert.shift = shl nuw nsw i64 %.sroa.5127.0.insert.ext, 16
%.sroa.6.0.insert.mask = or i64 %.sroa.5127.0.insert.shift, %.sroa.11.0.insert.shift
%.sroa.5127.0.insert.mask = or i64 %.sroa.6.0.insert.mask, %.sroa.6.0.insert.shift
%.sroa.0124.0.insert.insert = or i64 %.sroa.5127.0.insert.mask, 150633093005416
store i64 %.sroa.0124.0.insert.insert, i64* %55, align 1, !noalias !351
%56 = bitcast i8* %36 to %"struct.platform::cpu::DtReg<[platform::cpu::gdt::GdtEntry]>"*
tail call void asm inteldialect "lgdt [$0]", "r,~{dirflag},~{fpsr},~{flags}"(%"struct.platform::cpu::DtReg<[platform::cpu::gdt::GdtEntry]>"* %56) #0, !noalias !355, !srcloc !358
tail call void asm sideeffect inteldialect "mov ds, $0\0A mov ss, $0\0A mov fs, $1\0A mov gs, $1", "r,r,~{dirflag},~{fpsr},~{flags}"(i16 16, i16 40) #0, !noalias !355, !srcloc !359
%57 = bitcast { i32, i16 }* %address48.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %57) #0, !noalias !355
%58 = getelementptr inbounds { i32, i16 }* %address48.i, i32 0, i32 1
store i16 8, i16* %58, align 4, !noalias !355
call void asm sideeffect "movl $$.flush, ($0)\0A ljmp *($0)\0A .flush:", "r,~{dirflag},~{fpsr},~{flags}"({ i32, i16 }* %address48.i) #0, !noalias !355, !srcloc !360
call void @llvm.lifetime.end(i64 8, i8* %57) #0, !noalias !355
%59 = ptrtoint i8* %27 to i32
%t.sroa.5.0.insert.ext = zext i32 %59 to i64
%t.sroa.5.0.insert.shift = shl nuw i64 %t.sroa.5.0.insert.ext, 32
%t.sroa.0.0.insert.ext = zext i32 %38 to i64
%t.sroa.0.0.insert.insert = or i64 %t.sroa.0.0.insert.ext, %t.sroa.5.0.insert.shift
store i8 1, i8* getelementptr inbounds ({ i8, [11 x i8] }* @_ZN8platform3cpu10desc_table20he780ca8623e91fb4s1cE, i32 0, i32 0), align 8
store i64 %t.sroa.0.0.insert.insert, i64* bitcast (i8* getelementptr inbounds ({ i8, [11 x i8] }* @_ZN8platform3cpu10desc_table20he780ca8623e91fb4s1cE, i32 0, i32 1, i32 3) to i64*), align 1
%arg.sroa.0.0.copyload = load i8* getelementptr inbounds ({ i8, [15 x i8] }* @_ZN6kernel9int_table20h701adac15d7956ebN7aE, i32 0, i32 0), align 8
%arg.sroa.5.sroa.5.0.copyload = load %"struct.platform::cpu::idt::IdtEntry<[]>"** bitcast (i8* getelementptr inbounds ({ i8, [15 x i8] }* @_ZN6kernel9int_table20h701adac15d7956ebN7aE, i32 0, i32 1, i32 7) to %"struct.platform::cpu::idt::IdtEntry<[]>"**), align 1
%cond.i = icmp eq i8 %arg.sroa.0.0.copyload, 1
br i1 %cond.i, label %_ZN6kernel4heap5alloc19h933395801862113294E.exit, label %"_ZN6option15Option$LT$T$GT$3map19h574022423526552715E.exit"
_ZN6kernel4heap5alloc19h933395801862113294E.exit: ; preds = %_ZN8platform3cpu3gdt3Gdt3new20h759ce73844158badaCbE.exit
call fastcc void @_ZN8platform3cpu9exception17exception_handler20h51853a6f2b8dbdb672bE(), !noalias !361
%60 = bitcast { i8*, i32 }* %0 to i8*
call void @llvm.lifetime.start(i64 8, i8* %60)
%61 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %1 to i8*
call void @llvm.lifetime.start(i64 16, i8* %61)
%arg.sroa.5.0..sroa_idx9.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i208, i32 0, i32 0
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i)
%arg.sroa.0.0.copyload.i209 = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx9.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false)
%cond.i.i210 = icmp eq i8 %arg.sroa.0.0.copyload.i209, 1
br i1 %cond.i.i210, label %_ZN6kernel4heap3get21h12112607028929120876E.exit.i214, label %match_else.i.i211
match_else.i.i211: ; preds = %_ZN6kernel4heap5alloc19h933395801862113294E.exit
call void @abort(), !noalias !364
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit.i214: ; preds = %_ZN6kernel4heap5alloc19h933395801862113294E.exit
%arg.sroa.5.4..sroa_idx.i212 = getelementptr inbounds [19 x i8]* %arg.sroa.5.i208, i32 0, i32 3
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %61, i8* %arg.sroa.5.4..sroa_idx.i212, i32 16, i32 1, i1 false)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i)
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %0, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %1, i32 8)
%62 = getelementptr inbounds { i8*, i32 }* %0, i32 0, i32 1
%63 = load i32* %62, align 4
%cond.i213 = icmp eq i32 %63, 0
br i1 %cond.i213, label %match_case.i215, label %_ZN6kernel4heap10malloc_raw20h362317200b4e4a271xaE.exit
match_case.i215: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i214
call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE()
unreachable
_ZN6kernel4heap10malloc_raw20h362317200b4e4a271xaE.exit: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i214
%64 = getelementptr inbounds { i8*, i32 }* %0, i32 0, i32 0
%65 = load i8** %64, align 8
call void @llvm.lifetime.end(i64 8, i8* %60)
call void @llvm.lifetime.end(i64 16, i8* %61)
store i8 80, i8* %65, align 1
%66 = getelementptr inbounds i8* %65, i32 1
store i8 106, i8* %66, align 1
%67 = getelementptr inbounds i8* %65, i32 2
store i8 3, i8* %67, align 1
%68 = getelementptr inbounds i8* %65, i32 3
store i8 -23, i8* %68, align 1
%.sroa.7.0..sroa_idx1.i = getelementptr inbounds i8* %65, i32 4
%69 = bitcast i8* %.sroa.7.0..sroa_idx1.i to i32*
%70 = getelementptr inbounds i8* %65, i32 8
%71 = ptrtoint i8* %70 to i32
%72 = sub i32 ptrtoint (void ()* @exception_handler_asm to i32), %71
store i32 %72, i32* %69, align 4, !alias.scope !368, !noalias !371
%73 = ptrtoint i8* %65 to i32
%74 = lshr i32 %73, 16
%75 = getelementptr inbounds %"struct.platform::cpu::idt::IdtEntry<[]>"* %arg.sroa.5.sroa.5.0.copyload, i32 3
%76 = bitcast %"struct.platform::cpu::idt::IdtEntry<[]>"* %75 to i64*
%.sroa.6.0.insert.ext247 = zext i32 %74 to i64
%.sroa.6.0.insert.shift248 = shl nuw i64 %.sroa.6.0.insert.ext247, 48
%.mask261 = and i32 %73, 65535
%.sroa.0.0.insert.ext = zext i32 %.mask261 to i64
%.sroa.0.0.insert.mask = or i64 %.sroa.0.0.insert.ext, %.sroa.6.0.insert.shift248
%.sroa.0.0.insert.insert = or i64 %.sroa.0.0.insert.mask, 156130651668480
store i64 %.sroa.0.0.insert.insert, i64* %76, align 1, !noalias !373
br label %"_ZN6option15Option$LT$T$GT$3map19h574022423526552715E.exit"
"_ZN6option15Option$LT$T$GT$3map19h574022423526552715E.exit": ; preds = %_ZN8platform3cpu3gdt3Gdt3new20h759ce73844158badaCbE.exit, %_ZN6kernel4heap10malloc_raw20h362317200b4e4a271xaE.exit
call void @_ZN8platform3cpu3mmu4init20h9d6d18e5c793e943yjcE()
ret void
}
; Function Attrs: inlinehint nounwind readonly uwtable
define i8 @_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%4 = load i8* %3, align 1, !alias.scope !376, !noalias !379
%5 = load i8* %2, align 1, !alias.scope !379, !noalias !376
%6 = icmp ult i8 %4, %5
br i1 %6, label %case_body3.i, label %match_case6.i
case_body3.i: ; preds = %match_case6.i, %entry-block
%sret_slot.0.i14 = phi i8 [ %..i, %match_case6.i ], [ -1, %entry-block ]
br label %_ZN3cmp30Ordering...std..cmp..PartialEq2eq20hc8f8c928b183a21evLhE.exit
match_case6.i: ; preds = %entry-block
%7 = icmp ugt i8 %4, %5
%..i = zext i1 %7 to i8
br i1 %7, label %case_body3.i, label %_ZN3cmp30Ordering...std..cmp..PartialEq2eq20hc8f8c928b183a21evLhE.exit
_ZN3cmp30Ordering...std..cmp..PartialEq2eq20hc8f8c928b183a21evLhE.exit: ; preds = %match_case6.i, %case_body3.i
%sret_slot.0.i9 = phi i8 [ %sret_slot.0.i14, %case_body3.i ], [ 0, %match_case6.i ]
ret i8 %sret_slot.0.i9
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" @_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%4 = load i8* %3, align 1, !alias.scope !381, !noalias !386
%5 = load i8* %2, align 1, !alias.scope !392, !noalias !393
%6 = icmp ugt i8 %4, %5
%7 = icmp uge i8 %4, %5
br i1 %6, label %match_case.i, label %compare_next.i
match_case.i: ; preds = %entry-block
switch i1 %7, label %compare_next.i [
i1 false, label %match_case5.i
i1 true, label %match_case7.i
]
compare_next.i: ; preds = %match_case.i, %entry-block
%not..i = xor i1 %7, true
%..i = sext i1 %not..i to i8
br label %match_case5.i
match_case7.i: ; preds = %match_case.i
br label %match_case5.i
match_case5.i: ; preds = %match_case7.i, %compare_next.i, %match_case.i
%sret_slot.sroa.0.0.i = phi i8 [ 1, %match_case7.i ], [ 1, %compare_next.i ], [ 0, %match_case.i ]
%sret_slot.sroa.5.0.i = phi i8 [ 1, %match_case7.i ], [ %..i, %compare_next.i ], [ undef, %match_case.i ]
%.fca.0.insert15 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" undef, i8 %sret_slot.sroa.0.0.i, 0
%.fca.2.0.insert17 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %.fca.0.insert15, i8 %sret_slot.sroa.5.0.i, 2, 0
ret %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %.fca.2.0.insert17
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2lt20h575189b9c8f0d3dcLabE(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%4 = load i8* %3, align 1
%5 = load i8* %2, align 1
%6 = icmp ult i8 %4, %5
ret i1 %6
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2le20hff628d560b9790c7qbbE(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%4 = load i8* %3, align 1
%5 = load i8* %2, align 1
%6 = icmp uge i8 %5, %4
ret i1 %6
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2gt20h03821250a7ac6d2d5bbE(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%4 = load i8* %3, align 1
%5 = load i8* %2, align 1
%6 = icmp ugt i8 %4, %5
ret i1 %6
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2ge20he175e8d8a23c47adKcbE(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%4 = load i8* %3, align 1
%5 = load i8* %2, align 1
%6 = icmp ule i8 %5, %4
ret i1 %6
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::gdt::GdtAccess<[]>" @_ZN8platform3cpu3gdt29GdtAccess...std..clone..Clone5clone20h0f14dac83198747fudbE(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%2 = load i8* %1, align 1, !alias.scope !394
%.fca.0.insert = insertvalue %"struct.platform::cpu::gdt::GdtAccess<[]>" undef, i8 %2, 0
ret %"struct.platform::cpu::gdt::GdtAccess<[]>" %.fca.0.insert
}
; Function Attrs: inlinehint nounwind readnone uwtable
define void @_ZN8platform3cpu3gdt24GdtAccess...std..cmp..Eq27assert_receiver_is_total_eq20h371040881f155075RdbE(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #7 {
entry-block:
ret void
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2eq20hf3ce1b8420713c8bfebE(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%4 = load i8* %3, align 1, !alias.scope !397, !noalias !400
%5 = load i8* %2, align 1, !alias.scope !400, !noalias !397
%6 = icmp eq i8 %4, %5
ret i1 %6
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2ne20hd0ae906d5c852b02MebE(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %1, i32 0, i32 0
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%4 = load i8* %3, align 1, !alias.scope !402, !noalias !405
%5 = load i8* %2, align 1, !alias.scope !405, !noalias !402
%6 = icmp ne i8 %4, %5
ret i1 %6
}
; Function Attrs: nounwind readnone uwtable
define %"struct.platform::cpu::gdt::GdtAccess<[]>" @_ZN8platform3cpu3gdt9GdtAccess3all20h395bce5fd1a1aaa2XgbE() unnamed_addr #8 {
entry-block:
ret %"struct.platform::cpu::gdt::GdtAccess<[]>" { i8 -1 }
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::gdt::GdtAccess<[]>" @"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitAnd$LT$GdtAccess$C$$x20GdtAccess$GT$6bitand20heb1ba1e93ab82d1ewlbE"(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %1, i32 0, i32 0
%4 = load i8* %2, align 1
%5 = load i8* %3, align 1
%6 = and i8 %5, %4
%.fca.0.insert = insertvalue %"struct.platform::cpu::gdt::GdtAccess<[]>" undef, i8 %6, 0
ret %"struct.platform::cpu::gdt::GdtAccess<[]>" %.fca.0.insert
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::gdt::GdtAccess<[]>" @"_ZN8platform3cpu3gdt59GdtAccess.core..ops..BitOr$LT$GdtAccess$C$$x20GdtAccess$GT$5bitor20he2de0fdc6e08ff7fCkbE"(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %1, i32 0, i32 0
%4 = load i8* %2, align 1
%5 = load i8* %3, align 1
%6 = or i8 %5, %4
%.fca.0.insert = insertvalue %"struct.platform::cpu::gdt::GdtAccess<[]>" undef, i8 %6, 0
ret %"struct.platform::cpu::gdt::GdtAccess<[]>" %.fca.0.insert
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::gdt::GdtAccess<[]>" @"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitXor$LT$GdtAccess$C$$x20GdtAccess$GT$6bitxor20he6bcf84efca9648d4kbE"(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %1, i32 0, i32 0
%4 = load i8* %2, align 1
%5 = load i8* %3, align 1
%6 = xor i8 %5, %4
%.fca.0.insert = insertvalue %"struct.platform::cpu::gdt::GdtAccess<[]>" undef, i8 %6, 0
ret %"struct.platform::cpu::gdt::GdtAccess<[]>" %.fca.0.insert
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::gdt::GdtAccess<[]>" @"_ZN8platform3cpu3gdt57GdtAccess.core..ops..Sub$LT$GdtAccess$C$$x20GdtAccess$GT$3sub20ha6d5f040148a18bfYlbE"(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %1, i32 0, i32 0
%4 = load i8* %3, align 1
%5 = xor i8 %4, -1
%6 = load i8* %2, align 1
%7 = and i8 %6, %5
%.fca.0.insert = insertvalue %"struct.platform::cpu::gdt::GdtAccess<[]>" undef, i8 %7, 0
ret %"struct.platform::cpu::gdt::GdtAccess<[]>" %.fca.0.insert
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::gdt::GdtAccess<[]>" @"_ZN8platform3cpu3gdt41GdtAccess.core..ops..Not$LT$GdtAccess$GT$3not20h6fd21cfbd4e93018rmbE"(%"struct.platform::cpu::gdt::GdtAccess<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtAccess<[]>"* %0, i32 0, i32 0
%2 = load i8* %1, align 1
%3 = xor i8 %2, -1
%.fca.0.insert.i = insertvalue %"struct.platform::cpu::gdt::GdtAccess<[]>" undef, i8 %3, 0
ret %"struct.platform::cpu::gdt::GdtAccess<[]>" %.fca.0.insert.i
}
; Function Attrs: inlinehint nounwind readnone uwtable
define void @_ZN8platform3cpu3gdt23GdtFlags...std..cmp..Eq27assert_receiver_is_total_eq20h6f33b6cd2992f5b9DrbE(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #7 {
entry-block:
ret void
}
; Function Attrs: nounwind readnone uwtable
define %"struct.platform::cpu::gdt::GdtFlags<[]>" @_ZN8platform3cpu3gdt8GdtFlags3all20h05e8754a111cd0a6vtbE() unnamed_addr #8 {
entry-block:
ret %"struct.platform::cpu::gdt::GdtFlags<[]>" { i8 -64 }
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::gdt::GdtFlags<[]>" @"_ZN8platform3cpu3gdt39GdtFlags.core..ops..Not$LT$GdtFlags$GT$3not20ha46fbb4a17add224iybE"(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%2 = load i8* %1, align 1
%3 = and i8 %2, -64
%4 = xor i8 %3, -64
%.fca.0.insert.i = insertvalue %"struct.platform::cpu::gdt::GdtFlags<[]>" undef, i8 %4, 0
ret %"struct.platform::cpu::gdt::GdtFlags<[]>" %.fca.0.insert.i
}
; Function Attrs: inlinehint nounwind uwtable
define void @_ZN8platform3cpu3gdt20GdtEntry.super..Load4load20hc9e11c24d2f0b75aTEbE(%"struct.platform::cpu::DtReg<[platform::cpu::gdt::GdtEntry]>"* noalias nocapture readonly dereferenceable(6)) unnamed_addr #5 {
entry-block:
tail call void asm inteldialect "lgdt [$0]", "r,~{dirflag},~{fpsr},~{flags}"(%"struct.platform::cpu::DtReg<[platform::cpu::gdt::GdtEntry]>"* %0) #0, !srcloc !358
ret void
}
; Function Attrs: inlinehint nounwind readnone uwtable
define void @_ZN8platform3cpu3idt23IdtFlags...std..cmp..Eq27assert_receiver_is_total_eq20h78881bc5f3626b3e5JbE(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #7 {
entry-block:
ret void
}
; Function Attrs: nounwind readnone uwtable
define %"struct.platform::cpu::idt::IdtFlags<[]>" @_ZN8platform3cpu3idt8IdtFlags3all20h8d3d3d53d5266a880LbE() unnamed_addr #8 {
entry-block:
ret %"struct.platform::cpu::idt::IdtFlags<[]>" { i8 -113 }
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::idt::IdtFlags<[]>" @"_ZN8platform3cpu3idt39IdtFlags.core..ops..Not$LT$IdtFlags$GT$3not20hb92fdfa30ed4e446NQbE"(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%2 = load i8* %1, align 1
%3 = and i8 %2, -113
%4 = xor i8 %3, -113
%.fca.0.insert.i = insertvalue %"struct.platform::cpu::idt::IdtFlags<[]>" undef, i8 %4, 0
ret %"struct.platform::cpu::idt::IdtFlags<[]>" %.fca.0.insert.i
}
; Function Attrs: inlinehint nounwind uwtable
define void @_ZN8platform3cpu3idt20IdtEntry.super..Load4load20h248e536c4a7acccesSbE(%"struct.platform::cpu::DtReg<[platform::cpu::idt::IdtEntry]>"* noalias nocapture readonly dereferenceable(6)) unnamed_addr #5 {
entry-block:
tail call void asm inteldialect "lidt [$0]", "A,~{dirflag},~{fpsr},~{flags}"(%"struct.platform::cpu::DtReg<[platform::cpu::idt::IdtEntry]>"* %0) #0, !srcloc !262
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu9interrupt5Table15enable_maskable20h50f2c52579f0480aUVbE(%"struct.platform::cpu::interrupt::Table<[]>"* noalias nocapture dereferenceable(12), i32, void ()*) unnamed_addr #1 {
entry-block:
%3 = ptrtoint void ()* %2 to i32
%4 = lshr i32 %3, 16
%5 = getelementptr inbounds %"struct.platform::cpu::interrupt::Table<[]>"* %0, i32 0, i32 1
%6 = load %"struct.platform::cpu::idt::IdtEntry<[]>"** %5, align 4
%7 = getelementptr inbounds %"struct.platform::cpu::idt::IdtEntry<[]>"* %6, i32 %1
%8 = bitcast %"struct.platform::cpu::idt::IdtEntry<[]>"* %7 to i64*
%.sroa.6.0.insert.ext = zext i32 %4 to i64
%.sroa.6.0.insert.shift = shl nuw i64 %.sroa.6.0.insert.ext, 48
%.mask = and i32 %3, 65535
%.sroa.0.0.insert.ext = zext i32 %.mask to i64
%.sroa.0.0.insert.mask = or i64 %.sroa.0.0.insert.ext, %.sroa.6.0.insert.shift
%.sroa.0.0.insert.insert = or i64 %.sroa.0.0.insert.mask, 156130651668480
store i64 %.sroa.0.0.insert.insert, i64* %8, align 1
%9 = getelementptr inbounds %"struct.platform::cpu::interrupt::Table<[]>"* %0, i32 0, i32 2
%10 = load i16* %9, align 2
%.tr = trunc i32 %1 to i16
%11 = and i16 %.tr, 15
%12 = shl i16 1, %11
%13 = xor i16 %12, -1
%14 = and i16 %10, %13
store i16 %14, i16* %9, align 2
%15 = trunc i16 %14 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %15, i16 33) #0, !srcloc !263
%16 = lshr i16 %14, 8
%17 = trunc i16 %16 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %17, i16 161) #0, !srcloc !263
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu9interrupt5Table7set_isr20h74a16116862f85a7JWbE(%"struct.platform::cpu::interrupt::Table<[]>"* noalias nocapture readonly dereferenceable(12), i8, i1 zeroext, void ()*) unnamed_addr #1 {
entry-block:
%4 = alloca { i8*, i32 }, align 8
%5 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%arg.sroa.5.i.i.i = alloca [19 x i8], align 1
%6 = bitcast { i8*, i32 }* %4 to i8*
call void @llvm.lifetime.start(i64 8, i8* %6)
%7 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %5 to i8*
call void @llvm.lifetime.start(i64 16, i8* %7)
%arg.sroa.5.0..sroa_idx9.i.i.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i.i.i, i32 0, i32 0
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i.i.i)
%arg.sroa.0.0.copyload.i.i.i = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx9.i.i.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false)
%cond.i.i.i.i = icmp eq i8 %arg.sroa.0.0.copyload.i.i.i, 1
br i1 %cond.i.i.i.i, label %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i.i, label %match_else.i.i.i.i
match_else.i.i.i.i: ; preds = %entry-block
tail call void @abort(), !noalias !407
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i.i: ; preds = %entry-block
%arg.sroa.5.4..sroa_idx.i.i.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i.i.i, i32 0, i32 3
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* %arg.sroa.5.4..sroa_idx.i.i.i, i32 16, i32 1, i1 false)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i.i.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i.i.i)
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %4, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %5, i32 8)
%8 = getelementptr inbounds { i8*, i32 }* %4, i32 0, i32 1
%9 = load i32* %8, align 4
%cond.i.i.i = icmp eq i32 %9, 0
br i1 %cond.i.i.i, label %match_case.i.i.i, label %_ZN8platform3cpu9interrupt3Isr3new20he07e33bec229589e9XbE.exit
match_case.i.i.i: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i.i
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE()
unreachable
_ZN8platform3cpu9interrupt3Isr3new20he07e33bec229589e9XbE.exit: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i.i
%10 = getelementptr inbounds { i8*, i32 }* %4, i32 0, i32 0
%11 = load i8** %10, align 8
call void @llvm.lifetime.end(i64 8, i8* %6)
call void @llvm.lifetime.end(i64 16, i8* %7)
%..i = select i1 %2, i8 -112, i8 80
store i8 %..i, i8* %11, align 1
%12 = getelementptr inbounds i8* %11, i32 1
store i8 106, i8* %12, align 1
%13 = getelementptr inbounds i8* %11, i32 2
store i8 %1, i8* %13, align 1
%14 = getelementptr inbounds i8* %11, i32 3
store i8 -23, i8* %14, align 1
%.sroa.7.0..sroa_idx1.i = getelementptr inbounds i8* %11, i32 4
%15 = bitcast i8* %.sroa.7.0..sroa_idx1.i to i32*
%16 = ptrtoint void ()* %3 to i32
%17 = getelementptr inbounds i8* %11, i32 8
%18 = ptrtoint i8* %17 to i32
%19 = sub i32 %16, %18
store i32 %19, i32* %15, align 4, !alias.scope !411, !noalias !414
%20 = ptrtoint i8* %11 to i32
%21 = lshr i32 %20, 16
%22 = getelementptr inbounds %"struct.platform::cpu::interrupt::Table<[]>"* %0, i32 0, i32 1
%23 = load %"struct.platform::cpu::idt::IdtEntry<[]>"** %22, align 4
%24 = zext i8 %1 to i32
%25 = getelementptr inbounds %"struct.platform::cpu::idt::IdtEntry<[]>"* %23, i32 %24
%26 = bitcast %"struct.platform::cpu::idt::IdtEntry<[]>"* %25 to i64*
%.sroa.6.0.insert.ext = zext i32 %21 to i64
%.sroa.6.0.insert.shift = shl nuw i64 %.sroa.6.0.insert.ext, 48
%.mask = and i32 %20, 65535
%.sroa.0.0.insert.ext = zext i32 %.mask to i64
%.sroa.0.0.insert.mask = or i64 %.sroa.0.0.insert.ext, %.sroa.6.0.insert.shift
%.sroa.0.0.insert.insert = or i64 %.sroa.0.0.insert.mask, 156130651668480
store i64 %.sroa.0.0.insert.insert, i64* %26, align 1
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu9interrupt3Isr9idt_entry20h91a1ac76b866d3f0WYbE(%"struct.platform::cpu::idt::IdtEntry<[]>"* noalias nocapture sret dereferenceable(8), %"struct.platform::cpu::interrupt::Isr<[]>"* noalias nocapture dereferenceable(8), void ()*) unnamed_addr #1 {
entry-block:
%3 = ptrtoint void ()* %2 to i32
%4 = getelementptr inbounds %"struct.platform::cpu::interrupt::Isr<[]>"* %1, i32 1
%5 = ptrtoint %"struct.platform::cpu::interrupt::Isr<[]>"* %4 to i32
%6 = sub i32 %3, %5
%7 = getelementptr inbounds %"struct.platform::cpu::interrupt::Isr<[]>"* %1, i32 0, i32 4
store i32 %6, i32* %7, align 4
%8 = ptrtoint %"struct.platform::cpu::interrupt::Isr<[]>"* %1 to i32
%9 = lshr i32 %8, 16
%10 = getelementptr inbounds %"struct.platform::cpu::idt::IdtEntry<[]>"* %0, i32 0, i32 0
%11 = trunc i32 %8 to i16
store i16 %11, i16* %10, align 2, !alias.scope !416
%12 = getelementptr inbounds %"struct.platform::cpu::idt::IdtEntry<[]>"* %0, i32 0, i32 4
%13 = trunc i32 %9 to i16
store i16 %13, i16* %12, align 2, !alias.scope !416
%14 = getelementptr inbounds %"struct.platform::cpu::idt::IdtEntry<[]>"* %0, i32 0, i32 1
store i16 8, i16* %14, align 2, !alias.scope !416
%15 = getelementptr inbounds %"struct.platform::cpu::idt::IdtEntry<[]>"* %0, i32 0, i32 2
store i8 0, i8* %15, align 1, !alias.scope !416
%flags.sroa.0.0..sroa_idx.i = getelementptr inbounds %"struct.platform::cpu::idt::IdtEntry<[]>"* %0, i32 0, i32 3, i32 0
store i8 -114, i8* %flags.sroa.0.0..sroa_idx.i, align 1, !alias.scope !416
ret void
}
; Function Attrs: nounwind uwtable
define dereferenceable(8) %"struct.platform::cpu::interrupt::Isr<[]>"* @_ZN8platform3cpu9interrupt3Isr3new20he07e33bec229589e9XbE(%"enum.platform::cpu::interrupt::Int<[]>", i1 zeroext) unnamed_addr #1 {
entry-block:
%2 = alloca { i8*, i32 }, align 8
%3 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%arg.sroa.5.i.i = alloca [19 x i8], align 1
%.fca.0.extract = extractvalue %"enum.platform::cpu::interrupt::Int<[]>" %0, 0
%4 = bitcast { i8*, i32 }* %2 to i8*
call void @llvm.lifetime.start(i64 8, i8* %4)
%5 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %3 to i8*
call void @llvm.lifetime.start(i64 16, i8* %5)
%arg.sroa.5.0..sroa_idx9.i.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i.i, i32 0, i32 0
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i.i)
%arg.sroa.0.0.copyload.i.i = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx9.i.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false)
%cond.i.i.i = icmp eq i8 %arg.sroa.0.0.copyload.i.i, 1
br i1 %cond.i.i.i, label %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i, label %match_else.i.i.i
match_else.i.i.i: ; preds = %entry-block
tail call void @abort(), !noalias !419
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i: ; preds = %entry-block
%arg.sroa.5.4..sroa_idx.i.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i.i, i32 0, i32 3
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %arg.sroa.5.4..sroa_idx.i.i, i32 16, i32 1, i1 false)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i.i)
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %2, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %3, i32 8)
%6 = getelementptr inbounds { i8*, i32 }* %2, i32 0, i32 1
%7 = load i32* %6, align 4
%cond.i.i = icmp eq i32 %7, 0
br i1 %cond.i.i, label %match_case.i.i, label %_ZN6kernel4heap5alloc19h933395801862113294E.exit
match_case.i.i: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE()
unreachable
_ZN6kernel4heap5alloc19h933395801862113294E.exit: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i.i
%8 = getelementptr inbounds { i8*, i32 }* %2, i32 0, i32 0
%9 = load i8** %8, align 8
call void @llvm.lifetime.end(i64 8, i8* %4)
call void @llvm.lifetime.end(i64 16, i8* %5)
%10 = bitcast i8* %9 to %"struct.platform::cpu::interrupt::Isr<[]>"*
%. = select i1 %1, i8 -112, i8 80
store i8 %., i8* %9, align 1
%11 = getelementptr inbounds i8* %9, i32 1
store i8 106, i8* %11, align 1
%12 = getelementptr inbounds i8* %9, i32 2
store i8 %.fca.0.extract, i8* %12, align 1
%13 = getelementptr inbounds i8* %9, i32 3
store i8 -23, i8* %13, align 1
%.sroa.7.0..sroa_idx1 = getelementptr inbounds i8* %9, i32 4
%14 = bitcast i8* %.sroa.7.0..sroa_idx1 to i32*
store i32 -5, i32* %14, align 1
ret %"struct.platform::cpu::interrupt::Isr<[]>"* %10
}
; Function Attrs: alwaysinline nounwind uwtable
define i8 @_ZN8platform3cpu2io3inb20ha28180414bb1edd60ZbE(i16) unnamed_addr #9 {
entry-block:
%1 = tail call i8 asm inteldialect "in $0, $1", "={al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 %0) #0, !srcloc !423
ret i8 %1
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu2io4wait20hd30738010e0f6d35m0bE(i16, i8) unnamed_addr #1 {
entry-block:
br label %while_cond
while_exit: ; preds = %while_cond
ret void
while_cond: ; preds = %while_cond, %entry-block
%2 = tail call i8 asm inteldialect "in $0, $1", "={al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 %0) #0, !srcloc !423
%3 = and i8 %2, %1
%4 = icmp eq i8 %3, 0
br i1 %4, label %while_exit, label %while_cond
}
; Function Attrs: noreturn nounwind
define void @rust_begin_unwind(%"struct.core::fmt::Arguments<[]>[#1]"* nocapture readnone, %str_slice* byval nocapture readnone, i32) unnamed_addr #10 {
"the block":
tail call void asm "hlt", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !424
br label %loop_body.i
loop_body.i: ; preds = %loop_body.i, %"the block"
br label %loop_body.i
}
; Function Attrs: noinline nounwind uwtable
define internal fastcc void @_ZN8platform3cpu9exception11blue_screen20h4c6a1452e562539cI2bE(%"struct.platform::cpu::Context<[]>"* noalias nocapture readonly dereferenceable(76)) unnamed_addr #11 {
entry-block:
%1 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%2 = icmp ugt i32 %1, 1999
br i1 %2, label %cond26.i.i, label %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit, !prof !296
cond26.i.i: ; preds = %entry-block
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const35, i32 %1, i32 2000) #0
unreachable
_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit: ; preds = %entry-block
%3 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %1, i32 0
store i8 69, i8* %3, align 2
%4 = add i32 %1, 1
%5 = srem i32 %4, 2000
store i32 %5, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 15, i16 980) #0, !srcloc !263
%6 = trunc i32 %5 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %6, i16 981) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 14, i16 980) #0, !srcloc !263
%7 = lshr i32 %5, 8
%8 = trunc i32 %7 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %8, i16 981) #0, !srcloc !263
%9 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%10 = icmp ugt i32 %9, 1999
br i1 %10, label %cond26.i.i17, label %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit18, !prof !296
cond26.i.i17: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const35, i32 %9, i32 2000) #0
unreachable
_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit18: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit
%11 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %9, i32 0
store i8 120, i8* %11, align 2
%12 = add i32 %9, 1
%13 = srem i32 %12, 2000
store i32 %13, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 15, i16 980) #0, !srcloc !263
%14 = trunc i32 %13 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %14, i16 981) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 14, i16 980) #0, !srcloc !263
%15 = lshr i32 %13, 8
%16 = trunc i32 %15 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %16, i16 981) #0, !srcloc !263
%17 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%18 = icmp ugt i32 %17, 1999
br i1 %18, label %cond26.i.i19, label %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit20, !prof !296
cond26.i.i19: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit18
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const35, i32 %17, i32 2000) #0
unreachable
_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit20: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit18
%19 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %17, i32 0
store i8 99, i8* %19, align 2
%20 = add i32 %17, 1
%21 = srem i32 %20, 2000
store i32 %21, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 15, i16 980) #0, !srcloc !263
%22 = trunc i32 %21 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %22, i16 981) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 14, i16 980) #0, !srcloc !263
%23 = lshr i32 %21, 8
%24 = trunc i32 %23 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %24, i16 981) #0, !srcloc !263
%25 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%26 = icmp ugt i32 %25, 1999
br i1 %26, label %cond26.i.i21, label %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit22, !prof !296
cond26.i.i21: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit20
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const35, i32 %25, i32 2000) #0
unreachable
_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit22: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit20
%27 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %25, i32 0
store i8 101, i8* %27, align 2
%28 = add i32 %25, 1
%29 = srem i32 %28, 2000
store i32 %29, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 15, i16 980) #0, !srcloc !263
%30 = trunc i32 %29 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %30, i16 981) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 14, i16 980) #0, !srcloc !263
%31 = lshr i32 %29, 8
%32 = trunc i32 %31 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %32, i16 981) #0, !srcloc !263
%33 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%34 = icmp ugt i32 %33, 1999
br i1 %34, label %cond26.i.i23, label %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit24, !prof !296
cond26.i.i23: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit22
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const35, i32 %33, i32 2000) #0
unreachable
_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit24: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit22
%35 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %33, i32 0
store i8 112, i8* %35, align 2
%36 = add i32 %33, 1
%37 = srem i32 %36, 2000
store i32 %37, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 15, i16 980) #0, !srcloc !263
%38 = trunc i32 %37 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %38, i16 981) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 14, i16 980) #0, !srcloc !263
%39 = lshr i32 %37, 8
%40 = trunc i32 %39 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %40, i16 981) #0, !srcloc !263
%41 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%42 = icmp ugt i32 %41, 1999
br i1 %42, label %cond26.i.i25, label %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit26, !prof !296
cond26.i.i25: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit24
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const35, i32 %41, i32 2000) #0
unreachable
_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit26: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit24
%43 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %41, i32 0
store i8 116, i8* %43, align 2
%44 = add i32 %41, 1
%45 = srem i32 %44, 2000
store i32 %45, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 15, i16 980) #0, !srcloc !263
%46 = trunc i32 %45 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %46, i16 981) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 14, i16 980) #0, !srcloc !263
%47 = lshr i32 %45, 8
%48 = trunc i32 %47 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %48, i16 981) #0, !srcloc !263
%49 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%50 = icmp ugt i32 %49, 1999
br i1 %50, label %cond26.i.i27, label %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit28, !prof !296
cond26.i.i27: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit26
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const35, i32 %49, i32 2000) #0
unreachable
_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit28: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit26
%51 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %49, i32 0
store i8 105, i8* %51, align 2
%52 = add i32 %49, 1
%53 = srem i32 %52, 2000
store i32 %53, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 15, i16 980) #0, !srcloc !263
%54 = trunc i32 %53 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %54, i16 981) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 14, i16 980) #0, !srcloc !263
%55 = lshr i32 %53, 8
%56 = trunc i32 %55 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %56, i16 981) #0, !srcloc !263
%57 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%58 = icmp ugt i32 %57, 1999
br i1 %58, label %cond26.i.i29, label %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit30, !prof !296
cond26.i.i29: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit28
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const35, i32 %57, i32 2000) #0
unreachable
_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit30: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit28
%59 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %57, i32 0
store i8 111, i8* %59, align 2
%60 = add i32 %57, 1
%61 = srem i32 %60, 2000
store i32 %61, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 15, i16 980) #0, !srcloc !263
%62 = trunc i32 %61 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %62, i16 981) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 14, i16 980) #0, !srcloc !263
%63 = lshr i32 %61, 8
%64 = trunc i32 %63 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %64, i16 981) #0, !srcloc !263
%65 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%66 = icmp ugt i32 %65, 1999
br i1 %66, label %cond26.i.i31, label %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit32, !prof !296
cond26.i.i31: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit30
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const35, i32 %65, i32 2000) #0
unreachable
_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit32: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit30
%67 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %65, i32 0
store i8 110, i8* %67, align 2
%68 = add i32 %65, 1
%69 = srem i32 %68, 2000
store i32 %69, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 15, i16 980) #0, !srcloc !263
%70 = trunc i32 %69 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %70, i16 981) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 14, i16 980) #0, !srcloc !263
%71 = lshr i32 %69, 8
%72 = trunc i32 %71 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %72, i16 981) #0, !srcloc !263
%73 = load i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
%74 = icmp ugt i32 %73, 1999
br i1 %74, label %cond26.i.i33, label %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit34, !prof !296
cond26.i.i33: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit32
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const35, i32 %73, i32 2000) #0
unreachable
_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit34: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit32
%75 = getelementptr inbounds %"struct.platform::drivers::vga::Char<[]>"* inttoptr (i32 753664 to %"struct.platform::drivers::vga::Char<[]>"*), i32 %73, i32 0
store i8 32, i8* %75, align 2
%76 = add i32 %73, 1
%77 = srem i32 %76, 2000
store i32 %77, i32* @_ZN8platform2io3pos20hee1aff878177926366cE, align 4
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 15, i16 980) #0, !srcloc !263
%78 = trunc i32 %77 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %78, i16 981) #0, !srcloc !263
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 14, i16 980) #0, !srcloc !263
%79 = lshr i32 %77, 8
%80 = trunc i32 %79 to i8
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %80, i16 981) #0, !srcloc !263
%81 = getelementptr inbounds %"struct.platform::cpu::Context<[]>"* %0, i32 0, i32 12
%82 = load i32* %81, align 4
%83 = icmp ugt i32 %82, 20
br i1 %83, label %cond, label %next, !prof !296
next: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit34
%84 = getelementptr inbounds [21 x %str_slice]* @const10, i32 0, i32 %82
%85 = bitcast %str_slice* %84 to i64*
%86 = load i64* %85, align 8
%.sroa.0.0.extract.trunc.i.i.i2 = trunc i64 %86 to i32
%87 = inttoptr i32 %.sroa.0.0.extract.trunc.i.i.i2 to i8*
%.sroa.3.0.extract.shift.i.i.i3 = lshr i64 %86, 32
%.sroa.3.0.extract.trunc.i.i.i4 = trunc i64 %.sroa.3.0.extract.shift.i.i.i3 to i32
%88 = getelementptr inbounds i8* %87, i32 %.sroa.3.0.extract.trunc.i.i.i4
%89 = icmp eq i32 %.sroa.3.0.extract.trunc.i.i.i4, 0
%90 = icmp eq i32 %.sroa.0.0.extract.trunc.i.i.i2, 0
%or.cond11.i5 = or i1 %89, %90
br i1 %or.cond11.i5, label %_ZN8platform2io4puts20he23567ab93df478aP9cE.exit7, label %for_body.i6
for_body.i6: ; preds = %next, %for_body.i6
%91 = phi i8* [ %92, %for_body.i6 ], [ %87, %next ]
%92 = getelementptr inbounds i8* %91, i32 1
%93 = load i8* %91, align 1, !noalias !425
tail call void @_ZN8platform2io4putc20h6f4318d96097b606q9cE(i8 %93), !noalias !425
%94 = icmp eq i8* %92, %88
br i1 %94, label %_ZN8platform2io4puts20he23567ab93df478aP9cE.exit7, label %for_body.i6
_ZN8platform2io4puts20he23567ab93df478aP9cE.exit7: ; preds = %for_body.i6, %next
tail call void asm "hlt", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !428
ret void
cond: ; preds = %_ZN8platform2io4putc20h6f4318d96097b606q9cE.exit34
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const11, i32 %82, i32 21)
unreachable
}
; Function Attrs: noinline nounwind uwtable
define internal fastcc void @_ZN8platform3cpu9exception17exception_handler20h51853a6f2b8dbdb672bE() unnamed_addr #11 {
entry-block:
%autoref.i = alloca %"struct.platform::io::Stdout<[]>", align 8
%__fat_ptr1.i.i = alloca { i8*, void (i8*)** }, align 8
%fmt.i = alloca %"struct.core::fmt::Arguments<[]>[#1]"*, align 4
%0 = alloca %"struct.core::fmt::Argument<[]>[#1]", align 8
%__args.i = alloca %"struct.core::fmt::Arguments<[]>[#1]", align 8
%cr2 = alloca i32, align 4
%1 = alloca [2 x %"struct.core::fmt::Argument<[]>[#1]"], align 8
%__args = alloca %"struct.core::fmt::Arguments<[]>[#1]", align 8
tail call void asm sideeffect inteldialect "jmp skip_exception_handler\0A exception_handler_asm:", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !429
%2 = tail call %"struct.platform::cpu::Context<[]>"* asm sideeffect inteldialect "push gs\0A push fs\0A .byte 0x06 // push es\0A .byte 0x1e // push ds\0A pusha", "={esp},~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !430
%3 = getelementptr inbounds %"struct.platform::cpu::Context<[]>"* %2, i32 0, i32 12
%4 = load i32* %3, align 4
%5 = trunc i32 %4 to i8
%6 = icmp eq i8 %5, 14
br i1 %6, label %then-block-7276-, label %next-block
then-block-7276-: ; preds = %entry-block
%7 = bitcast i32* %cr2 to i8*
call void @llvm.lifetime.start(i64 4, i8* %7)
%8 = tail call i32 asm "mov %cr2, %eax", "={eax},~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !431
store i32 %8, i32* %cr2, align 4
%9 = getelementptr inbounds %"struct.platform::cpu::Context<[]>"* %2, i32 0, i32 14, i32 0
%10 = bitcast [2 x %"struct.core::fmt::Argument<[]>[#1]"]* %1 to i8*
call void @llvm.lifetime.start(i64 8, i8* %10)
%11 = getelementptr inbounds [2 x %"struct.core::fmt::Argument<[]>[#1]"]* %1, i32 0, i32 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i32*, %"struct.core::fmt::Formatter<[]>[#1]"*)* @_ZN3fmt3num18uint.fmt..LowerHex3fmt20h56750d7a990689c7IGxE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %11, align 8, !alias.scope !432, !noalias !435
%12 = getelementptr inbounds [2 x %"struct.core::fmt::Argument<[]>[#1]"]* %1, i32 0, i32 0, i32 1
%.c.i = bitcast i32* %cr2 to %"enum.core::fmt::Void<[]>[#1]"*
store %"enum.core::fmt::Void<[]>[#1]"* %.c.i, %"enum.core::fmt::Void<[]>[#1]"** %12, align 4, !alias.scope !432, !noalias !435
%13 = getelementptr inbounds [2 x %"struct.core::fmt::Argument<[]>[#1]"]* %1, i32 0, i32 1, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i32*, %"struct.core::fmt::Formatter<[]>[#1]"*)* @_ZN3fmt3num17u32.fmt..LowerHex3fmt20hd58cbe68c83c00feiZxE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %13, align 8, !alias.scope !437, !noalias !440
%14 = getelementptr inbounds [2 x %"struct.core::fmt::Argument<[]>[#1]"]* %1, i32 0, i32 1, i32 1
%.c.i1 = bitcast i32* %9 to %"enum.core::fmt::Void<[]>[#1]"*
store %"enum.core::fmt::Void<[]>[#1]"* %.c.i1, %"enum.core::fmt::Void<[]>[#1]"** %14, align 4, !alias.scope !437, !noalias !440
%15 = bitcast %"struct.core::fmt::Arguments<[]>[#1]"* %__args to i8*
call void @llvm.lifetime.start(i64 24, i8* %15)
%16 = ptrtoint [2 x %"struct.core::fmt::Argument<[]>[#1]"]* %1 to i32
%17 = bitcast %"struct.core::fmt::Arguments<[]>[#1]"* %__args to i64*
store i64 or (i64 zext (i32 ptrtoint ([2 x %str_slice]* @_ZN8platform3cpu9exception17exception_handler15__STATIC_FMTSTR20hb691d1b5dc126882U3bE to i32) to i64), i64 8589934592), i64* %17, align 8, !alias.scope !442, !noalias !445
%18 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#1]"* %__args, i32 0, i32 1, i32 0
%19 = bitcast { %"struct.core::fmt::rt::Argument<[]>[#1]"*, i32 }* %18 to i64*
store i64 or (i64 zext (i32 ptrtoint ({ { { i8, i32, [0 x i8] }, { i32, i8, i32, { i8, [7 x i8] }, { i8, [7 x i8] } } }, { { i8, i32, [0 x i8] }, { i32, i8, i32, { i8, [7 x i8] }, { i8, [7 x i8] } } } }* @_ZN8platform3cpu9exception17exception_handler16__STATIC_FMTARGS20h951b49ab21db7b2c53bE to i32) to i64), i64 8589934592), i64* %19, align 8, !alias.scope !442, !noalias !445
%20 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#1]"* %__args, i32 0, i32 2
%21 = bitcast { %"struct.core::fmt::Argument<[]>[#1]"*, i32 }* %20 to i64*
%__fat_ptr6.sroa.0.0.insert.ext = zext i32 %16 to i64
%__fat_ptr6.sroa.0.0.insert.insert = or i64 %__fat_ptr6.sroa.0.0.insert.ext, 8589934592
store i64 %__fat_ptr6.sroa.0.0.insert.insert, i64* %21, align 8, !alias.scope !442, !noalias !445
%22 = bitcast %"struct.core::fmt::Arguments<[]>[#1]"** %fmt.i to i8*
call void @llvm.lifetime.start(i64 4, i8* %22), !noalias !449
store %"struct.core::fmt::Arguments<[]>[#1]"* %__args, %"struct.core::fmt::Arguments<[]>[#1]"** %fmt.i, align 4, !noalias !449
%23 = bitcast %"struct.core::fmt::Argument<[]>[#1]"* %0 to i8*
call void @llvm.lifetime.start(i64 8, i8* %23), !noalias !449
%24 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %0, i32 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.core::fmt::Arguments<[]>[#1]"**, %"struct.core::fmt::Formatter<[]>[#1]"*)* @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h14447136017691489290E" to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %24, align 8, !alias.scope !452, !noalias !455
%25 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %0, i32 0, i32 1
%.c.i.i = bitcast %"struct.core::fmt::Arguments<[]>[#1]"** %fmt.i to %"enum.core::fmt::Void<[]>[#1]"*
store %"enum.core::fmt::Void<[]>[#1]"* %.c.i.i, %"enum.core::fmt::Void<[]>[#1]"** %25, align 4, !alias.scope !452, !noalias !455
%26 = bitcast %"struct.core::fmt::Arguments<[]>[#1]"* %__args.i to i8*
call void @llvm.lifetime.start(i64 24, i8* %26), !noalias !449
%27 = ptrtoint %"struct.core::fmt::Argument<[]>[#1]"* %0 to i32
%28 = bitcast %"struct.core::fmt::Arguments<[]>[#1]"* %__args.i to i64*
store i64 or (i64 zext (i32 ptrtoint ([2 x %str_slice]* @_ZN8platform2io12println_args15__STATIC_FMTSTR20hb691d1b5dc126882y6cE to i32) to i64), i64 8589934592), i64* %28, align 8, !alias.scope !457, !noalias !460
%29 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#1]"* %__args.i, i32 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#1]"* null, %"struct.core::fmt::rt::Argument<[]>[#1]"** %29, align 8, !alias.scope !457, !noalias !460
%30 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#1]"* %__args.i, i32 0, i32 2
%31 = bitcast { %"struct.core::fmt::Argument<[]>[#1]"*, i32 }* %30 to i64*
%__fat_ptr3.sroa.0.0.insert.ext.i = zext i32 %27 to i64
%__fat_ptr3.sroa.0.0.insert.insert.i = or i64 %__fat_ptr3.sroa.0.0.insert.ext.i, 4294967296
store i64 %__fat_ptr3.sroa.0.0.insert.insert.i, i64* %31, align 8, !alias.scope !457, !noalias !460
%32 = bitcast %"struct.platform::io::Stdout<[]>"* %autoref.i to i8*
call void @llvm.lifetime.start(i64 0, i8* %32), !noalias !449
%33 = bitcast { i8*, void (i8*)** }* %__fat_ptr1.i.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %33), !noalias !463
%34 = getelementptr inbounds { i8*, void (i8*)** }* %__fat_ptr1.i.i, i32 0, i32 0
store i8* %32, i8** %34, align 8, !noalias !463
%35 = getelementptr inbounds { i8*, void (i8*)** }* %__fat_ptr1.i.i, i32 0, i32 1
store void (i8*)** getelementptr inbounds ({ void (i8*)*, i32, i32, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.platform::io::Stdout<[]>"*, { i8*, i32 }*)*, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.platform::io::Stdout<[]>"*, %"struct.core::fmt::Arguments<[]>[#1]"*)* }* @vtable4117, i32 0, i32 0), void (i8*)*** %35, align 4, !noalias !463
%36 = call fastcc { i8, [0 x i8], [1 x i8] } @_ZN3fmt5write20h5827686785ba263fOzyE({ i8*, void (i8*)** }* noalias nocapture dereferenceable(8) %__fat_ptr1.i.i, %"struct.core::fmt::Arguments<[]>[#1]"* noalias nocapture readonly dereferenceable(24) %__args.i)
call void @llvm.lifetime.end(i64 8, i8* %33), !noalias !463
call void @llvm.lifetime.end(i64 24, i8* %26), !noalias !449
call void @llvm.lifetime.end(i64 8, i8* %23), !noalias !449
call void @llvm.lifetime.end(i64 0, i8* %32), !noalias !449
call void @llvm.lifetime.end(i64 4, i8* %22), !noalias !449
call void @llvm.lifetime.end(i64 24, i8* %15)
call void @llvm.lifetime.end(i64 16, i8* %10)
call void @llvm.lifetime.end(i64 4, i8* %7)
%.pre = load i32* %3, align 4
br label %next-block
next-block: ; preds = %entry-block, %then-block-7276-
%37 = phi i32 [ %4, %entry-block ], [ %.pre, %then-block-7276- ]
%38 = trunc i32 %37 to i8
%39 = icmp eq i8 %38, 3
br i1 %39, label %then-block-7379-, label %else-block
then-block-7379-: ; preds = %next-block
call void asm sideeffect "debug:", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !467
br label %join8
else-block: ; preds = %next-block
call fastcc void @_ZN8platform3cpu9exception11blue_screen20h4c6a1452e562539cI2bE(%"struct.platform::cpu::Context<[]>"* noalias nocapture readonly dereferenceable(76) %2)
br label %join8
join8: ; preds = %else-block, %then-block-7379-
call void asm sideeffect inteldialect "popa\0A .byte 0x1f // pop ds\0A .byte 0x07 // pop es\0A pop fs\0A pop gs\0A add esp, 8\0A iretd", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !468
call void asm sideeffect inteldialect "skip_exception_handler:", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !469
ret void
}
; Function Attrs: nounwind
declare void @exception_handler_asm() unnamed_addr #0
; Function Attrs: inlinehint nounwind readnone uwtable
define void @_ZN8platform3cpu3mmu20Flags...std..cmp..Eq27assert_receiver_is_total_eq20hc0d35cae4b698d43BacE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #7 {
entry-block:
ret void
}
; Function Attrs: nounwind readnone uwtable
define %"struct.platform::cpu::mmu::Flags<[]>" @_ZN8platform3cpu3mmu5Flags3all20h59cbffb358de7f0dOccE() unnamed_addr #8 {
entry-block:
ret %"struct.platform::cpu::mmu::Flags<[]>" { i32 167 }
}
; Function Attrs: nounwind readonly uwtable
define i32 @_ZN8platform3cpu3mmu5Flags4bits20h8fce7be8eeae625eddcE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #12 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%2 = load i32* %1, align 4
ret i32 %2
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu3mmu5Flags9from_bits20he8d1d60822d376c8ndcE(%"enum.core::option::Option<[platform::cpu::mmu::Flags]>[#1]"* noalias nocapture sret dereferenceable(8), i32) unnamed_addr #1 {
entry-block:
%2 = and i32 %1, -168
%3 = icmp eq i32 %2, 0
br i1 %3, label %else-block, label %join
else-block: ; preds = %entry-block
%4 = getelementptr inbounds %"enum.core::option::Option<[platform::cpu::mmu::Flags]>[#1]"* %0, i32 0, i32 2, i32 0
store i32 %1, i32* %4, align 4
br label %join
join: ; preds = %entry-block, %else-block
%.sink = phi i8 [ 1, %else-block ], [ 0, %entry-block ]
%5 = getelementptr inbounds %"enum.core::option::Option<[platform::cpu::mmu::Flags]>[#1]"* %0, i32 0, i32 0
store i8 %.sink, i8* %5, align 4
ret void
}
; Function Attrs: nounwind readnone uwtable
define %"struct.platform::cpu::mmu::Flags<[]>" @_ZN8platform3cpu3mmu5Flags18from_bits_truncate20h79d566394ae388daQdcE(i32) unnamed_addr #8 {
entry-block:
%1 = and i32 %0, 167
%.fca.0.insert.i = insertvalue %"struct.platform::cpu::mmu::Flags<[]>" undef, i32 %1, 0
ret %"struct.platform::cpu::mmu::Flags<[]>" %.fca.0.insert.i
}
; Function Attrs: nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3mmu5Flags8is_empty20h5a9862d1c479f1054dcE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #12 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%2 = load i32* %1, align 4, !alias.scope !470, !noalias !475
%3 = icmp eq i32 %2, 0
ret i1 %3
}
; Function Attrs: nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3mmu5Flags6is_all20h9343ed12e36e0f23hecE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #12 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%2 = load i32* %1, align 4, !alias.scope !478, !noalias !483
%3 = icmp eq i32 %2, 167
ret i1 %3
}
; Function Attrs: nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3mmu5Flags10intersects20hb5fdf7e261fc1b7buecE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>") unnamed_addr #12 {
entry-block:
%.fca.0.extract4 = extractvalue %"struct.platform::cpu::mmu::Flags<[]>" %1, 0
%2 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4, !alias.scope !486, !noalias !489
%4 = and i32 %3, %.fca.0.extract4
%5 = icmp ne i32 %4, 0
ret i1 %5
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3mmu5Flags8contains20hf01f188ec82a179cMecE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>") unnamed_addr #4 {
entry-block:
%.fca.0.extract4 = extractvalue %"struct.platform::cpu::mmu::Flags<[]>" %1, 0
%2 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4, !alias.scope !491, !noalias !494
%4 = and i32 %3, %.fca.0.extract4
%5 = icmp eq i32 %4, %.fca.0.extract4
ret i1 %5
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu3mmu5Flags6insert20hb78e3dc274a2906d4ecE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>") unnamed_addr #1 {
entry-block:
%.fca.0.extract = extractvalue %"struct.platform::cpu::mmu::Flags<[]>" %1, 0
%2 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4
%4 = or i32 %3, %.fca.0.extract
store i32 %4, i32* %2, align 4
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu3mmu5Flags6remove20hb90ac6923f3d1bdblfcE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>") unnamed_addr #1 {
entry-block:
%.fca.0.extract = extractvalue %"struct.platform::cpu::mmu::Flags<[]>" %1, 0
%2 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4
%4 = xor i32 %.fca.0.extract, -1
%5 = and i32 %3, %4
store i32 %5, i32* %2, align 4
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu3mmu5Flags6toggle20h13646ab1db0be843DfcE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>") unnamed_addr #1 {
entry-block:
%.fca.0.extract = extractvalue %"struct.platform::cpu::mmu::Flags<[]>" %1, 0
%2 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4
%4 = xor i32 %3, %.fca.0.extract
store i32 %4, i32* %2, align 4
ret void
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::mmu::Flags<[]>" @"_ZN8platform3cpu3mmu33Flags.core..ops..Not$LT$Flags$GT$3not20h75c218b349e51094NhcE"(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%2 = load i32* %1, align 4
%3 = and i32 %2, 167
%4 = xor i32 %3, 167
%.fca.0.insert.i = insertvalue %"struct.platform::cpu::mmu::Flags<[]>" undef, i32 %4, 0
ret %"struct.platform::cpu::mmu::Flags<[]>" %.fca.0.insert.i
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu3mmu4init20h9d6d18e5c793e943yjcE() unnamed_addr #1 {
entry-block:
%0 = alloca { i8*, i32 }, align 8
%1 = alloca %"struct.kernel::mm::allocator::Alloc<[]>", align 8
%arg.sroa.5.i = alloca [19 x i8], align 1
%2 = alloca { i8*, i32 }, align 8
%3 = alloca { i8*, i32 }, align 8
%4 = bitcast { i8*, i32 }* %3 to i8*
call void @llvm.lifetime.start(i64 8, i8* %4) #0, !noalias !496
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %3, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) bitcast ({ { i32, { i32* } }, i8*, i32 }* @_ZN6kernel2mm8physical6frames20hefd8888bb88c628fetaE to %"struct.kernel::mm::allocator::Alloc<[]>"*), i32 1) #0, !noalias !500
%5 = getelementptr inbounds { i8*, i32 }* %3, i32 0, i32 0
%6 = load i8** %5, align 8, !noalias !496
%7 = getelementptr inbounds { i8*, i32 }* %3, i32 0, i32 1
%8 = load i32* %7, align 4, !noalias !496
call void @llvm.lifetime.end(i64 8, i8* %4) #0, !noalias !496
tail call void @llvm.memset.p0i8.i32(i8* %6, i8 0, i32 %8, i32 1, i1 false) #0, !noalias !496
%cond.i = icmp eq i32 %8, 0
br i1 %cond.i, label %match_case.i, label %_ZN6kernel2mm8physical17zero_alloc_frames20h2686316703929216337E.exit
match_case.i: ; preds = %entry-block
tail call void @abort()
unreachable
_ZN6kernel2mm8physical17zero_alloc_frames20h2686316703929216337E.exit: ; preds = %entry-block
%9 = bitcast i8* %6 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"*
%10 = bitcast { i8*, i32 }* %2 to i8*
call void @llvm.lifetime.start(i64 8, i8* %10)
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %2, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) bitcast ({ { i32, { i32* } }, i8*, i32 }* @_ZN6kernel2mm8physical6frames20hefd8888bb88c628fetaE to %"struct.kernel::mm::allocator::Alloc<[]>"*), i32 1)
%11 = getelementptr inbounds { i8*, i32 }* %2, i32 0, i32 1
%12 = load i32* %11, align 4
%cond.i31 = icmp eq i32 %12, 0
br i1 %cond.i31, label %match_case.i32, label %_ZN6kernel2mm8physical12alloc_frames20h9211867350736133381E.exit
match_case.i32: ; preds = %_ZN6kernel2mm8physical17zero_alloc_frames20h2686316703929216337E.exit
tail call void @abort()
unreachable
_ZN6kernel2mm8physical12alloc_frames20h9211867350736133381E.exit: ; preds = %_ZN6kernel2mm8physical17zero_alloc_frames20h2686316703929216337E.exit
%13 = getelementptr inbounds { i8*, i32 }* %2, i32 0, i32 0
%14 = load i8** %13, align 8
%15 = bitcast i8* %14 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"*
call void @llvm.lifetime.end(i64 8, i8* %10)
br label %next.i
next.i: ; preds = %next.i, %_ZN6kernel2mm8physical12alloc_frames20h9211867350736133381E.exit
%16 = phi i32 [ 0, %_ZN6kernel2mm8physical12alloc_frames20h9211867350736133381E.exit ], [ %17, %next.i ]
%17 = add i32 %16, 1
%18 = shl i32 %16, 12
%19 = or i32 %18, 3
%oldret.i = insertvalue %"struct.platform::cpu::mmu::Page<[]>" undef, i32 %19, 0
%20 = getelementptr inbounds %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"* %15, i32 0, i32 0, i32 %16
store %"struct.platform::cpu::mmu::Page<[]>" %oldret.i, %"struct.platform::cpu::mmu::Page<[]>"* %20, align 1, !alias.scope !501
%exitcond.i = icmp eq i32 %17, 1024
br i1 %exitcond.i, label %"_ZN8platform3cpu3mmu17Table$LT$Page$GT$12identity_map20h94628d3e638f285dXscE.exit", label %next.i
"_ZN8platform3cpu3mmu17Table$LT$Page$GT$12identity_map20h94628d3e638f285dXscE.exit": ; preds = %next.i
%21 = ptrtoint i8* %14 to i32
%22 = or i32 %21, 3
%page.sroa.0.0..sroa_idx.i.i = bitcast i8* %6 to i32*
store i32 %22, i32* %page.sroa.0.0..sroa_idx.i.i, align 1, !alias.scope !504
tail call void asm sideeffect inteldialect "invlpg [$0]", "r,~{memory},~{dirflag},~{fpsr},~{flags}"(i8* null) #0, !noalias !509, !srcloc !121
%23 = ptrtoint i8* %6 to i32
%24 = or i32 %23, 3
%page.sroa.0.0..sroa_idx.i.i38 = getelementptr inbounds i8* %6, i32 4092
%25 = bitcast i8* %page.sroa.0.0..sroa_idx.i.i38 to i32*
store i32 %24, i32* %25, align 1, !alias.scope !510
%arg.sroa.0.0.copyload = load i8* getelementptr inbounds ({ i8, [15 x i8] }* @_ZN6kernel9int_table20h701adac15d7956ebN7aE, i32 0, i32 0), align 8
%arg.sroa.5.sroa.5.0.copyload = load %"struct.platform::cpu::idt::IdtEntry<[]>"** bitcast (i8* getelementptr inbounds ({ i8, [15 x i8] }* @_ZN6kernel9int_table20h701adac15d7956ebN7aE, i32 0, i32 1, i32 7) to %"struct.platform::cpu::idt::IdtEntry<[]>"**), align 1
%cond.i35 = icmp eq i8 %arg.sroa.0.0.copyload, 1
br i1 %cond.i35, label %_ZN6kernel4heap5alloc19h933395801862113294E.exit, label %"_ZN6option15Option$LT$T$GT$3map19h574022423526552715E.exit"
_ZN6kernel4heap5alloc19h933395801862113294E.exit: ; preds = %"_ZN8platform3cpu3mmu17Table$LT$Page$GT$12identity_map20h94628d3e638f285dXscE.exit"
tail call fastcc void @_ZN8platform3cpu9exception17exception_handler20h51853a6f2b8dbdb672bE(), !noalias !515
%26 = bitcast { i8*, i32 }* %0 to i8*
call void @llvm.lifetime.start(i64 8, i8* %26)
%27 = bitcast %"struct.kernel::mm::allocator::Alloc<[]>"* %1 to i8*
call void @llvm.lifetime.start(i64 16, i8* %27)
%arg.sroa.5.0..sroa_idx9.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i, i32 0, i32 0
call void @llvm.lifetime.start(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i)
%arg.sroa.0.0.copyload.i = load i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 0), align 16
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %arg.sroa.5.0..sroa_idx9.i, i8* getelementptr inbounds ({ i8, [19 x i8] }* @_ZN6kernel4heap4heap20hb90d4f0008429068lxaE, i32 0, i32 1, i32 0), i32 19, i32 1, i1 false)
%cond.i.i = icmp eq i8 %arg.sroa.0.0.copyload.i, 1
br i1 %cond.i.i, label %_ZN6kernel4heap3get21h12112607028929120876E.exit.i, label %match_else.i.i
match_else.i.i: ; preds = %_ZN6kernel4heap5alloc19h933395801862113294E.exit
tail call void @abort(), !noalias !518
unreachable
_ZN6kernel4heap3get21h12112607028929120876E.exit.i: ; preds = %_ZN6kernel4heap5alloc19h933395801862113294E.exit
%arg.sroa.5.4..sroa_idx.i = getelementptr inbounds [19 x i8]* %arg.sroa.5.i, i32 0, i32 3
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %27, i8* %arg.sroa.5.4..sroa_idx.i, i32 16, i32 1, i1 false)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i)
call void @llvm.lifetime.end(i64 19, i8* %arg.sroa.5.0..sroa_idx9.i)
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %0, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) %1, i32 8)
%28 = getelementptr inbounds { i8*, i32 }* %0, i32 0, i32 1
%29 = load i32* %28, align 4
%cond.i58 = icmp eq i32 %29, 0
br i1 %cond.i58, label %match_case.i59, label %_ZN6kernel4heap10malloc_raw20h362317200b4e4a271xaE.exit
match_case.i59: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i
tail call void @_ZN9rust_core4fail13out_of_memory20h026200c6c5b143756baE()
unreachable
_ZN6kernel4heap10malloc_raw20h362317200b4e4a271xaE.exit: ; preds = %_ZN6kernel4heap3get21h12112607028929120876E.exit.i
%30 = getelementptr inbounds { i8*, i32 }* %0, i32 0, i32 0
%31 = load i8** %30, align 8
call void @llvm.lifetime.end(i64 8, i8* %26)
call void @llvm.lifetime.end(i64 16, i8* %27)
store i8 -112, i8* %31, align 1
%32 = getelementptr inbounds i8* %31, i32 1
store i8 106, i8* %32, align 1
%33 = getelementptr inbounds i8* %31, i32 2
store i8 14, i8* %33, align 1
%34 = getelementptr inbounds i8* %31, i32 3
store i8 -23, i8* %34, align 1
%.sroa.7.0..sroa_idx1.i = getelementptr inbounds i8* %31, i32 4
%35 = bitcast i8* %.sroa.7.0..sroa_idx1.i to i32*
%36 = getelementptr inbounds i8* %31, i32 8
%37 = ptrtoint i8* %36 to i32
%38 = sub i32 ptrtoint (void ()* @exception_handler_asm to i32), %37
store i32 %38, i32* %35, align 4, !alias.scope !522, !noalias !525
%39 = ptrtoint i8* %31 to i32
%40 = lshr i32 %39, 16
%41 = getelementptr inbounds %"struct.platform::cpu::idt::IdtEntry<[]>"* %arg.sroa.5.sroa.5.0.copyload, i32 14
%42 = bitcast %"struct.platform::cpu::idt::IdtEntry<[]>"* %41 to i64*
%.sroa.6.0.insert.ext = zext i32 %40 to i64
%.sroa.6.0.insert.shift = shl nuw i64 %.sroa.6.0.insert.ext, 48
%.mask = and i32 %39, 65535
%.sroa.0.0.insert.ext = zext i32 %.mask to i64
%.sroa.0.0.insert.mask = or i64 %.sroa.0.0.insert.ext, %.sroa.6.0.insert.shift
%.sroa.0.0.insert.insert = or i64 %.sroa.0.0.insert.mask, 156130651668480
store i64 %.sroa.0.0.insert.insert, i64* %42, align 1, !noalias !527
br label %"_ZN6option15Option$LT$T$GT$3map19h574022423526552715E.exit"
"_ZN6option15Option$LT$T$GT$3map19h574022423526552715E.exit": ; preds = %"_ZN8platform3cpu3mmu17Table$LT$Page$GT$12identity_map20h94628d3e638f285dXscE.exit", %_ZN6kernel4heap10malloc_raw20h362317200b4e4a271xaE.exit
tail call void asm sideeffect inteldialect "mov cr3, $0", "r,~{dirflag},~{fpsr},~{flags}"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* %9) #0, !srcloc !155
%43 = tail call i32 asm inteldialect "mov $0, cr0", "=r,~{dirflag},~{fpsr},~{flags}"() #0, !noalias !530, !srcloc !533
%44 = or i32 %43, -2147483648
tail call void asm sideeffect inteldialect "mov cr0, $0", "r,~{dirflag},~{fpsr},~{flags}"(i32 %44) #0, !srcloc !534
ret void
}
; Function Attrs: alwaysinline nounwind readonly uwtable
define %"struct.platform::cpu::mmu::Page<[]>" @"_ZN8platform3cpu3mmu45Page.core..ops..BitOr$LT$Flags$C$$x20Page$GT$5bitor20ha7b59e91e46f572aKncE"(%"struct.platform::cpu::mmu::Page<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #13 {
entry-block:
%2 = getelementptr inbounds %"struct.platform::cpu::mmu::Page<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%5 = load i32* %4, align 4
%6 = or i32 %5, %3
%.fca.0.insert = insertvalue %"struct.platform::cpu::mmu::Page<[]>" undef, i32 %6, 0
ret %"struct.platform::cpu::mmu::Page<[]>" %.fca.0.insert
}
; Function Attrs: alwaysinline nounwind uwtable
define %"struct.platform::cpu::CR0Flags<[]>" @"_ZN8platform3cpu51CR0.core..ops..BitOr$LT$CR0Flags$C$$x20CR0Flags$GT$5bitor20h2b6b8bef419dab62fXcE"(%"struct.platform::cpu::CR0<[]>"* noalias nocapture readonly, %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #9 {
entry-block:
%2 = tail call i32 asm inteldialect "mov $0, cr0", "=r,~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !533
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%4 = load i32* %3, align 4
%5 = or i32 %4, %2
%.fca.0.insert6 = insertvalue %"struct.platform::cpu::CR0Flags<[]>" undef, i32 %5, 0
ret %"struct.platform::cpu::CR0Flags<[]>" %.fca.0.insert6
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu3mmu3map20h46db599979e368a0nlcE(i8*, i32, %"struct.platform::cpu::mmu::Flags<[]>") unnamed_addr #1 {
entry-block:
tail call void @"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$3map20h56a18afd4a3d8347CvcE"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* noalias dereferenceable(4096) inttoptr (i32 -4096 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"*), i8* %0, i32 %1, %"struct.platform::cpu::mmu::Flags<[]>" %2)
ret void
}
; Function Attrs: nounwind readnone uwtable
define zeroext i1 @_ZN8platform3cpu3mmu4Page10is_present20h950f1d7f26b7d6ee4mcE(%"struct.platform::cpu::mmu::Page<[]>") unnamed_addr #8 {
entry-block:
%.fca.0.extract = extractvalue %"struct.platform::cpu::mmu::Page<[]>" %0, 0
%1 = and i32 %.fca.0.extract, 1
%2 = icmp ne i32 %1, 0
ret i1 %2
}
; Function Attrs: nounwind uwtable
define %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" @_ZN8platform3cpu3mmu14Page.fmt..Show3fmt20hcd620723a009d610jocE(%"struct.platform::cpu::mmu::Page<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture readonly dereferenceable(52)) unnamed_addr #1 {
entry-block:
%arg.i = alloca { i8*, void (i8*)** }, align 8
%page = alloca i32, align 4
%p10 = alloca i32, align 4
%r = alloca i32, align 4
%u = alloca i32, align 4
%a = alloca i32, align 4
%2 = alloca [5 x %"struct.core::fmt::Argument<[]>[#1]"], align 8
%__args = alloca %"struct.core::fmt::Arguments<[]>[#1]", align 8
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Page<[]>"* %0, i32 0, i32 0
%4 = load i32* %3, align 4
%5 = bitcast i32* %page to i8*
call void @llvm.lifetime.start(i64 4, i8* %5)
%6 = and i32 %4, -4096
store i32 %6, i32* %page, align 4
%7 = and i32 %4, 1
%8 = icmp ne i32 %7, 0
%. = select i1 %8, i32 80, i32 32
%9 = and i32 %4, 2
%10 = icmp ne i32 %9, 0
%.sroa.5.0 = select i1 %10, i32 82, i32 32
%11 = and i32 %4, 4
%12 = icmp ne i32 %11, 0
%.60 = select i1 %12, i32 85, i32 32
%13 = and i32 %4, 32
%14 = icmp ne i32 %13, 0
%.sroa.11.0 = select i1 %14, i32 65, i32 32
%15 = bitcast i32* %p10 to i8*
call void @llvm.lifetime.start(i64 4, i8* %15)
store i32 %., i32* %p10, align 4
%16 = bitcast i32* %r to i8*
call void @llvm.lifetime.start(i64 4, i8* %16)
store i32 %.sroa.5.0, i32* %r, align 4
%17 = bitcast i32* %u to i8*
call void @llvm.lifetime.start(i64 4, i8* %17)
store i32 %.60, i32* %u, align 4
%18 = bitcast i32* %a to i8*
call void @llvm.lifetime.start(i64 4, i8* %18)
store i32 %.sroa.11.0, i32* %a, align 4
%19 = bitcast [5 x %"struct.core::fmt::Argument<[]>[#1]"]* %2 to i8*
call void @llvm.lifetime.start(i64 8, i8* %19)
%20 = getelementptr inbounds [5 x %"struct.core::fmt::Argument<[]>[#1]"]* %2, i32 0, i32 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i32*, %"struct.core::fmt::Formatter<[]>[#1]"*)* @_ZN3fmt3num18uint.fmt..LowerHex3fmt20h56750d7a990689c7IGxE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %20, align 8, !alias.scope !535, !noalias !538
%21 = getelementptr inbounds [5 x %"struct.core::fmt::Argument<[]>[#1]"]* %2, i32 0, i32 0, i32 1
%.c.i64 = bitcast i32* %page to %"enum.core::fmt::Void<[]>[#1]"*
store %"enum.core::fmt::Void<[]>[#1]"* %.c.i64, %"enum.core::fmt::Void<[]>[#1]"** %21, align 4, !alias.scope !535, !noalias !538
%22 = getelementptr inbounds [5 x %"struct.core::fmt::Argument<[]>[#1]"]* %2, i32 0, i32 1, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i32*, %"struct.core::fmt::Formatter<[]>[#1]"*)* @_ZN3fmt9char.Show3fmt20hb22e4547e250f0df32yE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %22, align 8, !alias.scope !540, !noalias !543
%23 = getelementptr inbounds [5 x %"struct.core::fmt::Argument<[]>[#1]"]* %2, i32 0, i32 1, i32 1
%.c.i63 = bitcast i32* %p10 to %"enum.core::fmt::Void<[]>[#1]"*
store %"enum.core::fmt::Void<[]>[#1]"* %.c.i63, %"enum.core::fmt::Void<[]>[#1]"** %23, align 4, !alias.scope !540, !noalias !543
%24 = getelementptr inbounds [5 x %"struct.core::fmt::Argument<[]>[#1]"]* %2, i32 0, i32 2, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i32*, %"struct.core::fmt::Formatter<[]>[#1]"*)* @_ZN3fmt9char.Show3fmt20hb22e4547e250f0df32yE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %24, align 8, !alias.scope !545, !noalias !548
%25 = getelementptr inbounds [5 x %"struct.core::fmt::Argument<[]>[#1]"]* %2, i32 0, i32 2, i32 1
%.c.i62 = bitcast i32* %r to %"enum.core::fmt::Void<[]>[#1]"*
store %"enum.core::fmt::Void<[]>[#1]"* %.c.i62, %"enum.core::fmt::Void<[]>[#1]"** %25, align 4, !alias.scope !545, !noalias !548
%26 = getelementptr inbounds [5 x %"struct.core::fmt::Argument<[]>[#1]"]* %2, i32 0, i32 3, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i32*, %"struct.core::fmt::Formatter<[]>[#1]"*)* @_ZN3fmt9char.Show3fmt20hb22e4547e250f0df32yE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %26, align 8, !alias.scope !550, !noalias !553
%27 = getelementptr inbounds [5 x %"struct.core::fmt::Argument<[]>[#1]"]* %2, i32 0, i32 3, i32 1
%.c.i61 = bitcast i32* %u to %"enum.core::fmt::Void<[]>[#1]"*
store %"enum.core::fmt::Void<[]>[#1]"* %.c.i61, %"enum.core::fmt::Void<[]>[#1]"** %27, align 4, !alias.scope !550, !noalias !553
%28 = getelementptr inbounds [5 x %"struct.core::fmt::Argument<[]>[#1]"]* %2, i32 0, i32 4, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)* bitcast (%"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i32*, %"struct.core::fmt::Formatter<[]>[#1]"*)* @_ZN3fmt9char.Show3fmt20hb22e4547e250f0df32yE to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)*), %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %28, align 8, !alias.scope !555, !noalias !558
%29 = getelementptr inbounds [5 x %"struct.core::fmt::Argument<[]>[#1]"]* %2, i32 0, i32 4, i32 1
%.c.i = bitcast i32* %a to %"enum.core::fmt::Void<[]>[#1]"*
store %"enum.core::fmt::Void<[]>[#1]"* %.c.i, %"enum.core::fmt::Void<[]>[#1]"** %29, align 4, !alias.scope !555, !noalias !558
%30 = bitcast %"struct.core::fmt::Arguments<[]>[#1]"* %__args to i8*
call void @llvm.lifetime.start(i64 24, i8* %30)
%31 = ptrtoint [5 x %"struct.core::fmt::Argument<[]>[#1]"]* %2 to i32
%32 = bitcast %"struct.core::fmt::Arguments<[]>[#1]"* %__args to i64*
store i64 or (i64 zext (i32 ptrtoint ([6 x %str_slice]* @_ZN8platform3cpu3mmu14Page.fmt..Show3fmt15__STATIC_FMTSTR20hb1ea0ecdcacac27fQpcE to i32) to i64), i64 25769803776), i64* %32, align 8, !alias.scope !560, !noalias !563
%33 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#1]"* %__args, i32 0, i32 1, i32 0, i32 0
store %"struct.core::fmt::rt::Argument<[]>[#1]"* null, %"struct.core::fmt::rt::Argument<[]>[#1]"** %33, align 8, !alias.scope !560, !noalias !563
%34 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#1]"* %__args, i32 0, i32 2
%35 = bitcast { %"struct.core::fmt::Argument<[]>[#1]"*, i32 }* %34 to i64*
%__fat_ptr17.sroa.0.0.insert.ext = zext i32 %31 to i64
%__fat_ptr17.sroa.0.0.insert.insert = or i64 %__fat_ptr17.sroa.0.0.insert.ext, 21474836480
store i64 %__fat_ptr17.sroa.0.0.insert.insert, i64* %35, align 8, !alias.scope !560, !noalias !563
%36 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %1, i32 0, i32 5
%37 = bitcast { i8*, void (i8*)** }* %arg.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %37) #0, !noalias !566
%38 = bitcast { i8*, void (i8*)** }* %36 to i64*
%39 = bitcast { i8*, void (i8*)** }* %arg.i to i64*
%40 = load i64* %38, align 4, !alias.scope !570, !noalias !571
store i64 %40, i64* %39, align 8, !noalias !566
%41 = call fastcc { i8, [0 x i8], [1 x i8] } @_ZN3fmt5write20h5827686785ba263fOzyE({ i8*, void (i8*)** }* noalias nocapture dereferenceable(8) %arg.i, %"struct.core::fmt::Arguments<[]>[#1]"* noalias nocapture readonly dereferenceable(24) %__args) #0, !noalias !570
call void @llvm.lifetime.end(i64 8, i8* %37) #0, !noalias !566
%newret = extractvalue { i8, [0 x i8], [1 x i8] } %41, 0
%oldret = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" undef, i8 %newret, 0
%newret79 = extractvalue { i8, [0 x i8], [1 x i8] } %41, 1
%oldret80 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %oldret, [0 x i8] %newret79, 1
%newret81 = extractvalue { i8, [0 x i8], [1 x i8] } %41, 2
%oldret82 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %oldret80, [1 x i8] %newret81, 2
call void @llvm.lifetime.end(i64 24, i8* %30)
call void @llvm.lifetime.end(i64 40, i8* %19)
call void @llvm.lifetime.end(i64 4, i8* %18)
call void @llvm.lifetime.end(i64 4, i8* %17)
call void @llvm.lifetime.end(i64 4, i8* %16)
call void @llvm.lifetime.end(i64 4, i8* %15)
call void @llvm.lifetime.end(i64 4, i8* %5)
ret %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %oldret82
}
; Function Attrs: nounwind uwtable
define void @"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$9map_frame20h3fed4d8862f0043fcvcE"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* noalias nocapture dereferenceable(4096), i8*, %"struct.platform::cpu::mmu::Flags<[]>") unnamed_addr #1 {
entry-block:
%3 = alloca { i8*, i32 }, align 8
%4 = alloca { i8*, i32 }, align 8
%5 = bitcast { i8*, i32 }* %4 to i8*
call void @llvm.lifetime.start(i64 8, i8* %5)
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %4, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) bitcast ({ { i32, { i32* } }, i8*, i32 }* @_ZN6kernel2mm8physical6frames20hefd8888bb88c628fetaE to %"struct.kernel::mm::allocator::Alloc<[]>"*), i32 1)
%6 = getelementptr inbounds { i8*, i32 }* %4, i32 0, i32 1
%7 = load i32* %6, align 4
%cond.i = icmp eq i32 %7, 0
br i1 %cond.i, label %match_case.i, label %_ZN6kernel2mm8physical12alloc_frames19h956912338283276815E.exit
match_case.i: ; preds = %entry-block
tail call void @abort()
unreachable
_ZN6kernel2mm8physical12alloc_frames19h956912338283276815E.exit: ; preds = %entry-block
%.fca.0.extract8 = extractvalue %"struct.platform::cpu::mmu::Flags<[]>" %2, 0
%8 = getelementptr inbounds { i8*, i32 }* %4, i32 0, i32 0
%9 = load i8** %8, align 8
call void @llvm.lifetime.end(i64 8, i8* %5)
%10 = or i32 %.fca.0.extract8, 1
%11 = ptrtoint i8* %1 to i32
%12 = lshr i32 %11, 22
%sret_slot.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* %0, i32 0, i32 0, i32 %12, i32 0
%sret_slot.sroa.0.0.copyload.i.i.i = load i32* %sret_slot.sroa.0.0..sroa_idx.i.i.i, align 1, !alias.scope !572
%13 = and i32 %sret_slot.sroa.0.0.copyload.i.i.i, 1
%14 = icmp eq i32 %13, 0
br i1 %14, label %cond.i.i, label %next.i.i
next.i.i: ; preds = %_ZN6kernel2mm8physical12alloc_frames19h956912338283276815E.exit
%15 = and i32 %sret_slot.sroa.0.0.copyload.i.i.i, -4096
%16 = inttoptr i32 %15 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"*
br label %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit"
cond.i.i: ; preds = %_ZN6kernel2mm8physical12alloc_frames19h956912338283276815E.exit
%17 = bitcast { i8*, i32 }* %3 to i8*
call void @llvm.lifetime.start(i64 8, i8* %17) #0, !noalias !579
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %3, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) bitcast ({ { i32, { i32* } }, i8*, i32 }* @_ZN6kernel2mm8physical6frames20hefd8888bb88c628fetaE to %"struct.kernel::mm::allocator::Alloc<[]>"*), i32 1) #0, !noalias !583
%18 = getelementptr inbounds { i8*, i32 }* %3, i32 0, i32 0
%19 = load i8** %18, align 8, !noalias !579
%20 = getelementptr inbounds { i8*, i32 }* %3, i32 0, i32 1
%21 = load i32* %20, align 4, !noalias !579
call void @llvm.lifetime.end(i64 8, i8* %17) #0, !noalias !579
tail call void @llvm.memset.p0i8.i32(i8* %19, i8 0, i32 %21, i32 1, i1 false) #0, !noalias !579
%cond.i.i.i = icmp eq i32 %21, 0
br i1 %cond.i.i.i, label %match_case.i.i.i, label %_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i
match_case.i.i.i: ; preds = %cond.i.i
tail call void @abort(), !noalias !584
unreachable
_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i: ; preds = %cond.i.i
%22 = bitcast i8* %19 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"*
%23 = ptrtoint i8* %19 to i32
%24 = or i32 %23, %10
store i32 %24, i32* %sret_slot.sroa.0.0..sroa_idx.i.i.i, align 1, !alias.scope !585
tail call void asm sideeffect inteldialect "invlpg [$0]", "r,~{memory},~{dirflag},~{fpsr},~{flags}"(i8* %1) #0, !noalias !590, !srcloc !121
br label %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit"
"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E.exit": ; preds = %next.i.i, %_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i
%sret_slot.0.i.i = phi %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"* [ %16, %next.i.i ], [ %22, %_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i ]
%25 = ptrtoint i8* %9 to i32
%26 = or i32 %25, %10
%27 = lshr i32 %11, 12
%28 = and i32 %27, 1023
%page.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"* %sret_slot.0.i.i, i32 0, i32 0, i32 %28, i32 0
store i32 %26, i32* %page.sroa.0.0..sroa_idx.i.i.i, align 1, !alias.scope !591, !noalias !596
tail call void asm sideeffect inteldialect "invlpg [$0]", "r,~{memory},~{dirflag},~{fpsr},~{flags}"(i8* %1) #0, !noalias !597, !srcloc !121
ret void
}
; Function Attrs: nounwind uwtable
define %"struct.kernel::mm::physical::Phys<[platform::cpu::mmu::Table<platform::cpu::mmu::Table<platform::cpu::mmu::Page>>]>" @"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$5clone20h0315042d7043cd52cxcE"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* noalias nocapture readonly dereferenceable(4096)) unnamed_addr #1 {
entry-block:
%1 = alloca { i8*, i32 }, align 8
%2 = alloca { i8*, i32 }, align 8
%3 = bitcast { i8*, i32 }* %2 to i8*
call void @llvm.lifetime.start(i64 8, i8* %3) #0, !noalias !598
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %2, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) bitcast ({ { i32, { i32* } }, i8*, i32 }* @_ZN6kernel2mm8physical6frames20hefd8888bb88c628fetaE to %"struct.kernel::mm::allocator::Alloc<[]>"*), i32 1) #0, !noalias !602
%4 = getelementptr inbounds { i8*, i32 }* %2, i32 0, i32 0
%5 = load i8** %4, align 8, !noalias !598
%6 = getelementptr inbounds { i8*, i32 }* %2, i32 0, i32 1
%7 = load i32* %6, align 4, !noalias !598
call void @llvm.lifetime.end(i64 8, i8* %3) #0, !noalias !598
tail call void @llvm.memset.p0i8.i32(i8* %5, i8 0, i32 %7, i32 1, i1 false) #0, !noalias !598
%cond.i = icmp eq i32 %7, 0
br i1 %cond.i, label %match_case.i, label %_ZN6kernel2mm8physical17zero_alloc_frames20h2686316703929216337E.exit
match_case.i: ; preds = %entry-block
tail call void @abort()
unreachable
_ZN6kernel2mm8physical17zero_alloc_frames20h2686316703929216337E.exit: ; preds = %entry-block
%8 = bitcast i8* %5 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"*
%oldret = insertvalue %"struct.kernel::mm::physical::Phys<[platform::cpu::mmu::Table<platform::cpu::mmu::Table<platform::cpu::mmu::Page>>]>" undef, %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* %8, 0
%sret_slot.sroa.0.0.copyload.i.i.i = load i32* inttoptr (i32 -12 to i32*), align 4, !alias.scope !603
%9 = and i32 %sret_slot.sroa.0.0.copyload.i.i.i, 1
%10 = icmp eq i32 %9, 0
br i1 %10, label %cond.i.i, label %next.i.i
next.i.i: ; preds = %_ZN6kernel2mm8physical17zero_alloc_frames20h2686316703929216337E.exit
%11 = and i32 %sret_slot.sroa.0.0.copyload.i.i.i, -4096
%12 = inttoptr i32 %11 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"*
br label %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page20h1993005887377072615E.exit"
cond.i.i: ; preds = %_ZN6kernel2mm8physical17zero_alloc_frames20h2686316703929216337E.exit
%13 = bitcast { i8*, i32 }* %1 to i8*
call void @llvm.lifetime.start(i64 8, i8* %13) #0, !noalias !606
call void @_ZN6kernel2mm9allocator15Alloc.Allocator5alloc20h9b36ddc6fd023403OqaE({ i8*, i32 }* noalias nocapture sret dereferenceable(8) %1, %"struct.kernel::mm::allocator::Alloc<[]>"* noalias dereferenceable(16) bitcast ({ { i32, { i32* } }, i8*, i32 }* @_ZN6kernel2mm8physical6frames20hefd8888bb88c628fetaE to %"struct.kernel::mm::allocator::Alloc<[]>"*), i32 1) #0, !noalias !610
%14 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 0
%15 = load i8** %14, align 8, !noalias !606
%16 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 1
%17 = load i32* %16, align 4, !noalias !606
call void @llvm.lifetime.end(i64 8, i8* %13) #0, !noalias !606
tail call void @llvm.memset.p0i8.i32(i8* %15, i8 0, i32 %17, i32 1, i1 false) #0, !noalias !606
%cond.i.i.i = icmp eq i32 %17, 0
br i1 %cond.i.i.i, label %match_case.i.i.i, label %_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i
match_case.i.i.i: ; preds = %cond.i.i
tail call void @abort()
unreachable
_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i: ; preds = %cond.i.i
%18 = bitcast i8* %15 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"*
%19 = ptrtoint i8* %15 to i32
%20 = or i32 %19, 3
store i32 %20, i32* inttoptr (i32 -12 to i32*), align 4, !alias.scope !611
tail call void asm sideeffect inteldialect "invlpg [$0]", "r,~{memory},~{dirflag},~{fpsr},~{flags}"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* inttoptr (i32 -8392704 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"*)) #0, !srcloc !121
br label %"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page20h1993005887377072615E.exit"
"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page20h1993005887377072615E.exit": ; preds = %next.i.i, %_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i
%sret_slot.0.i.i = phi %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"* [ %12, %next.i.i ], [ %18, %_ZN6kernel2mm8physical17zero_alloc_frames21h16344633407836831852E.exit.i.i ]
%21 = ptrtoint i8* %5 to i32
%22 = or i32 %21, 3
%page.sroa.0.0..sroa_idx.i.i.i = getelementptr inbounds %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Page]>"* %sret_slot.0.i.i, i32 0, i32 0, i32 1023, i32 0
store i32 %22, i32* %page.sroa.0.0..sroa_idx.i.i.i, align 1, !alias.scope !614
tail call void asm sideeffect inteldialect "invlpg [$0]", "r,~{memory},~{dirflag},~{fpsr},~{flags}"(%"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* inttoptr (i32 -8392704 to %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"*)) #0, !noalias !619, !srcloc !121
store i32 %22, i32* inttoptr (i32 -8388612 to i32*), align 4, !alias.scope !620
%23 = bitcast %"struct.platform::cpu::mmu::Table<[platform::cpu::mmu::Table<platform::cpu::mmu::Page>]>"* %0 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* inttoptr (i32 -8392704 to i8*), i8* %23, i32 3072, i32 1, i1 false)
ret %"struct.kernel::mm::physical::Phys<[platform::cpu::mmu::Table<platform::cpu::mmu::Table<platform::cpu::mmu::Page>>]>" %oldret
}
; Function Attrs: inlinehint nounwind readnone uwtable
define void @_ZN8platform3cpu21Eflags...std..cmp..Eq27assert_receiver_is_total_eq20h0f4b7f8f78e7c2ffBDcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #7 {
entry-block:
ret void
}
; Function Attrs: nounwind readnone uwtable
define %"struct.platform::cpu::Eflags<[]>" @_ZN8platform3cpu6Eflags5empty20hd5938898a1ca5910mFcE() unnamed_addr #8 {
entry-block:
ret %"struct.platform::cpu::Eflags<[]>" zeroinitializer
}
; Function Attrs: nounwind readnone uwtable
define %"struct.platform::cpu::Eflags<[]>" @_ZN8platform3cpu6Eflags3all20h66ee4e1d6e7bfcf5tFcE() unnamed_addr #8 {
entry-block:
ret %"struct.platform::cpu::Eflags<[]>" { i32 513 }
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu6Eflags9from_bits20h805ca12370b5f11fQFcE(%"enum.core::option::Option<[platform::cpu::Eflags]>[#1]"* noalias nocapture sret dereferenceable(8), i32) unnamed_addr #1 {
entry-block:
%2 = and i32 %1, -514
%3 = icmp eq i32 %2, 0
br i1 %3, label %else-block, label %join
else-block: ; preds = %entry-block
%4 = getelementptr inbounds %"enum.core::option::Option<[platform::cpu::Eflags]>[#1]"* %0, i32 0, i32 2, i32 0
store i32 %1, i32* %4, align 4
br label %join
join: ; preds = %entry-block, %else-block
%.sink = phi i8 [ 1, %else-block ], [ 0, %entry-block ]
%5 = getelementptr inbounds %"enum.core::option::Option<[platform::cpu::Eflags]>[#1]"* %0, i32 0, i32 0
store i8 %.sink, i8* %5, align 4
ret void
}
; Function Attrs: nounwind readnone uwtable
define %"struct.platform::cpu::Eflags<[]>" @_ZN8platform3cpu6Eflags18from_bits_truncate20h7c827be15c72a998jGcE(i32) unnamed_addr #8 {
entry-block:
%1 = and i32 %0, 513
%.fca.0.insert.i = insertvalue %"struct.platform::cpu::Eflags<[]>" undef, i32 %1, 0
ret %"struct.platform::cpu::Eflags<[]>" %.fca.0.insert.i
}
; Function Attrs: nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu6Eflags6is_all20hfd9fdd671bfb5fb8KGcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #12 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%2 = load i32* %1, align 4, !alias.scope !625, !noalias !630
%3 = icmp eq i32 %2, 513
ret i1 %3
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::Eflags<[]>" @"_ZN8platform3cpu35Eflags.core..ops..Not$LT$Eflags$GT$3not20h63ac9092802ac96egKcE"(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%2 = load i32* %1, align 4
%3 = and i32 %2, 513
%4 = xor i32 %3, 513
%.fca.0.insert.i = insertvalue %"struct.platform::cpu::Eflags<[]>" undef, i32 %4, 0
ret %"struct.platform::cpu::Eflags<[]>" %.fca.0.insert.i
}
; Function Attrs: inlinehint nounwind readnone uwtable
define void @_ZN8platform3cpu23CR0Flags...std..cmp..Eq27assert_receiver_is_total_eq20hd48ba728d87873f0OPcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #7 {
entry-block:
ret void
}
; Function Attrs: nounwind readnone uwtable
define %"struct.platform::cpu::CR0Flags<[]>" @_ZN8platform3cpu8CR0Flags5empty20h7f02176471d40fc9sRcE() unnamed_addr #8 {
entry-block:
ret %"struct.platform::cpu::CR0Flags<[]>" zeroinitializer
}
; Function Attrs: nounwind readnone uwtable
define %"struct.platform::cpu::CR0Flags<[]>" @_ZN8platform3cpu8CR0Flags3all20hd4581da0a4d9e809zRcE() unnamed_addr #8 {
entry-block:
ret %"struct.platform::cpu::CR0Flags<[]>" { i32 -2147483648 }
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu8CR0Flags9from_bits20h66f3345ef9a23566SRcE(%"enum.core::option::Option<[platform::cpu::CR0Flags]>[#1]"* noalias nocapture sret dereferenceable(8), i32) unnamed_addr #1 {
entry-block:
%2 = and i32 %1, 2147483647
%3 = icmp eq i32 %2, 0
br i1 %3, label %else-block, label %join
else-block: ; preds = %entry-block
%4 = getelementptr inbounds %"enum.core::option::Option<[platform::cpu::CR0Flags]>[#1]"* %0, i32 0, i32 2, i32 0
store i32 %1, i32* %4, align 4
br label %join
join: ; preds = %entry-block, %else-block
%.sink = phi i8 [ 1, %else-block ], [ 0, %entry-block ]
%5 = getelementptr inbounds %"enum.core::option::Option<[platform::cpu::CR0Flags]>[#1]"* %0, i32 0, i32 0
store i8 %.sink, i8* %5, align 4
ret void
}
; Function Attrs: nounwind readnone uwtable
define %"struct.platform::cpu::CR0Flags<[]>" @_ZN8platform3cpu8CR0Flags18from_bits_truncate20hb77f2c382a775a6dlScE(i32) unnamed_addr #8 {
entry-block:
%1 = and i32 %0, -2147483648
%.fca.0.insert.i = insertvalue %"struct.platform::cpu::CR0Flags<[]>" undef, i32 %1, 0
ret %"struct.platform::cpu::CR0Flags<[]>" %.fca.0.insert.i
}
; Function Attrs: nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu8CR0Flags6is_all20hb44cdee21a2ebad2MScE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #12 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%2 = load i32* %1, align 4, !alias.scope !633, !noalias !638
%3 = icmp eq i32 %2, -2147483648
ret i1 %3
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::CR0Flags<[]>" @"_ZN8platform3cpu39CR0Flags.core..ops..Not$LT$CR0Flags$GT$3not20h7f031f74eeecc193iWcE"(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
entry-block:
%1 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%2 = load i32* %1, align 4
%3 = and i32 %2, -2147483648
%4 = xor i32 %3, -2147483648
%.fca.0.insert.i = insertvalue %"struct.platform::cpu::CR0Flags<[]>" undef, i32 %4, 0
ret %"struct.platform::cpu::CR0Flags<[]>" %.fca.0.insert.i
}
; Function Attrs: inlinehint nounwind uwtable
define %"struct.platform::cpu::CR0Flags<[]>" @_ZN8platform3cpu3CR04read20ha8ef3218687a2796HWcE() unnamed_addr #5 {
entry-block:
%0 = tail call i32 asm inteldialect "mov $0, cr0", "=r,~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !533
%.fca.0.insert = insertvalue %"struct.platform::cpu::CR0Flags<[]>" undef, i32 %0, 0
ret %"struct.platform::cpu::CR0Flags<[]>" %.fca.0.insert
}
; Function Attrs: nounwind readnone uwtable
define void @_ZN8platform3cpu4info20hc40ee8ea5f562a37i4cE() unnamed_addr #8 {
entry-block:
ret void
}
; Function Attrs: nounwind readnone
define internal void @_ZN2i814glue_drop.411117h5d7af624d9407215E(i8* nocapture) unnamed_addr #6 {
entry-block:
ret void
}
; Function Attrs: nounwind uwtable
define %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" @_ZN8platform2io24Stdout.fmt..FormatWriter5write20h624daa85e8cee2d1P4cE(%"struct.platform::io::Stdout<[]>"* noalias nocapture readnone, { i8*, i32 }* noalias nocapture dereferenceable(8)) unnamed_addr #1 {
entry-block:
%2 = bitcast { i8*, i32 }* %1 to i8*
%3 = bitcast { i8*, i32 }* %1 to i64*
%4 = load i64* %3, align 4
%.sroa.0.0.extract.trunc.i.i = trunc i64 %4 to i32
%5 = inttoptr i32 %.sroa.0.0.extract.trunc.i.i to i8*
%.sroa.3.0.extract.shift.i.i = lshr i64 %4, 32
%.sroa.3.0.extract.trunc.i.i = trunc i64 %.sroa.3.0.extract.shift.i.i to i32
%6 = getelementptr inbounds i8* %5, i32 %.sroa.3.0.extract.trunc.i.i
%7 = icmp eq i32 %.sroa.3.0.extract.trunc.i.i, 0
%8 = icmp eq i32 %.sroa.0.0.extract.trunc.i.i, 0
%or.cond9 = or i1 %7, %8
br i1 %or.cond9, label %for_exit, label %for_body
for_exit: ; preds = %for_body, %entry-block
tail call void @llvm.lifetime.end(i64 8, i8* %2)
ret %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" { i8 0, [0 x i8] undef, [1 x i8] undef }
for_body: ; preds = %entry-block, %for_body
%9 = phi i8* [ %10, %for_body ], [ %5, %entry-block ]
%10 = getelementptr inbounds i8* %9, i32 1
%11 = load i8* %9, align 1
tail call void @_ZN8platform2io4putc20h6f4318d96097b606q9cE(i8 %11)
%12 = icmp eq i8* %10, %6
br i1 %12, label %for_exit, label %for_body
}
; Function Attrs: nounwind uwtable
define internal %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" @_ZN3fmt12FormatWriter9write_fmt20h1976626224701151987E(%"struct.platform::io::Stdout<[]>"* noalias nocapture, %"struct.core::fmt::Arguments<[]>[#1]"* noalias nocapture readonly dereferenceable(24)) unnamed_addr #1 {
entry-block:
%__fat_ptr1 = alloca { i8*, void (i8*)** }, align 8
%2 = bitcast %"struct.platform::io::Stdout<[]>"* %0 to i8*
%3 = bitcast { i8*, void (i8*)** }* %__fat_ptr1 to i8*
call void @llvm.lifetime.start(i64 8, i8* %3)
%4 = getelementptr inbounds { i8*, void (i8*)** }* %__fat_ptr1, i32 0, i32 0
store i8* %2, i8** %4, align 8
%5 = getelementptr inbounds { i8*, void (i8*)** }* %__fat_ptr1, i32 0, i32 1
store void (i8*)** getelementptr inbounds ({ void (i8*)*, i32, i32, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.platform::io::Stdout<[]>"*, { i8*, i32 }*)*, %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"struct.platform::io::Stdout<[]>"*, %"struct.core::fmt::Arguments<[]>[#1]"*)* }* @vtable4116, i32 0, i32 0), void (i8*)*** %5, align 4
%6 = call fastcc { i8, [0 x i8], [1 x i8] } @_ZN3fmt5write20h5827686785ba263fOzyE({ i8*, void (i8*)** }* noalias nocapture dereferenceable(8) %__fat_ptr1, %"struct.core::fmt::Arguments<[]>[#1]"* noalias nocapture readonly dereferenceable(24) %1)
%newret = extractvalue { i8, [0 x i8], [1 x i8] } %6, 0
%oldret = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" undef, i8 %newret, 0
%newret6 = extractvalue { i8, [0 x i8], [1 x i8] } %6, 1
%oldret7 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %oldret, [0 x i8] %newret6, 1
%newret8 = extractvalue { i8, [0 x i8], [1 x i8] } %6, 2
%oldret9 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %oldret7, [1 x i8] %newret8, 2
call void @llvm.lifetime.end(i64 8, i8* %3)
ret %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %oldret9
}
; Function Attrs: nounwind uwtable
define internal %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" @"_ZN3fmt20_$BP$$x27a$x20T.Show3fmt21h14447136017691489290E"(%"struct.core::fmt::Arguments<[]>[#1]"** noalias nocapture readonly dereferenceable(4), %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture readonly dereferenceable(52)) unnamed_addr #1 {
entry-block:
%arg.i = alloca { i8*, void (i8*)** }, align 8
%2 = load %"struct.core::fmt::Arguments<[]>[#1]"** %0, align 4
%3 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %1, i32 0, i32 5
%4 = bitcast { i8*, void (i8*)** }* %arg.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %4) #0, !noalias !641
%5 = bitcast { i8*, void (i8*)** }* %3 to i64*
%6 = bitcast { i8*, void (i8*)** }* %arg.i to i64*
%7 = load i64* %5, align 4, !alias.scope !645, !noalias !646
store i64 %7, i64* %6, align 8, !noalias !641
%8 = call fastcc { i8, [0 x i8], [1 x i8] } @_ZN3fmt5write20h5827686785ba263fOzyE({ i8*, void (i8*)** }* noalias nocapture dereferenceable(8) %arg.i, %"struct.core::fmt::Arguments<[]>[#1]"* noalias nocapture readonly dereferenceable(24) %2) #0, !noalias !645
call void @llvm.lifetime.end(i64 8, i8* %4) #0, !noalias !641
%newret = extractvalue { i8, [0 x i8], [1 x i8] } %8, 0
%oldret = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" undef, i8 %newret, 0
%newret3 = extractvalue { i8, [0 x i8], [1 x i8] } %8, 1
%oldret4 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %oldret, [0 x i8] %newret3, 1
%newret5 = extractvalue { i8, [0 x i8], [1 x i8] } %8, 2
%oldret6 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %oldret4, [1 x i8] %newret5, 2
ret %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %oldret6
}
; Function Attrs: noinline nounwind uwtable
define internal fastcc void @_ZN8platform7drivers8keyboard8isr_addr20hdc849b2d12bd202avidE() unnamed_addr #11 {
entry-block:
tail call void asm inteldialect "jmp skip_isr_addr\0A isr_addr_asm:\0A push gs\0A push fs\0A .byte 0x06\0A .byte 0x1e\0A pusha", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !647
%0 = tail call i8 asm inteldialect "in $0, $1", "={al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 96) #0, !srcloc !423
%1 = and i8 %0, 127
%.lobit.i = lshr i8 %0, 7
%.lobit.not.i = xor i8 %.lobit.i, 1
switch i8 %1, label %match_else.i [
i8 42, label %case_body.i
i8 54, label %case_body.i
i8 58, label %match_case13.i
i8 69, label %match_case17.i
i8 70, label %match_case21.i
]
case_body.i: ; preds = %entry-block, %entry-block
store i8 %.lobit.not.i, i8* @_ZN8platform7drivers8keyboard5shift20h9a50930667386b47ofdE, align 1
br label %_ZN8platform7drivers8keyboard8keypress20h7e506a8cf9f62172tgdE.exit
match_else.i: ; preds = %entry-block
%2 = icmp eq i8 %.lobit.i, 1
%3 = icmp ugt i8 %1, 57
%or.cond.i = or i1 %2, %3
br i1 %or.cond.i, label %_ZN8platform7drivers8keyboard8keypress20h7e506a8cf9f62172tgdE.exit, label %next.i
match_case13.i: ; preds = %entry-block
%4 = icmp eq i8 %.lobit.i, 1
br i1 %4, label %_ZN8platform7drivers8keyboard8keypress20h7e506a8cf9f62172tgdE.exit, label %match_case15.i
match_case15.i: ; preds = %match_case13.i
%5 = load i8* @_ZN8platform7drivers8keyboard9caps_lock20h9a50930667386b47sfdE, align 1, !range !648
%6 = xor i8 %5, 1
store i8 %6, i8* @_ZN8platform7drivers8keyboard9caps_lock20h9a50930667386b47sfdE, align 1
br label %while_cond.i.i.i
while_cond.i.i.i: ; preds = %while_cond.i.i.i, %match_case15.i
%7 = tail call i8 asm inteldialect "in $0, $1", "={al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 100) #0, !srcloc !423
%8 = and i8 %7, 2
%9 = icmp eq i8 %8, 0
br i1 %9, label %_ZN8platform3cpu2io4wait20hd30738010e0f6d35m0bE.exit.i.i, label %while_cond.i.i.i
_ZN8platform3cpu2io4wait20hd30738010e0f6d35m0bE.exit.i.i: ; preds = %while_cond.i.i.i
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 -19, i16 96) #0, !srcloc !263
br label %while_cond.i1.i.i
while_cond.i1.i.i: ; preds = %while_cond.i1.i.i, %_ZN8platform3cpu2io4wait20hd30738010e0f6d35m0bE.exit.i.i
%10 = tail call i8 asm inteldialect "in $0, $1", "={al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 100) #0, !srcloc !423
%11 = and i8 %10, 2
%12 = icmp eq i8 %11, 0
br i1 %12, label %_ZN8platform7drivers8keyboard3led20hd4b5d06b360ea6a1AfdE.exit.i, label %while_cond.i1.i.i
_ZN8platform7drivers8keyboard3led20hd4b5d06b360ea6a1AfdE.exit.i: ; preds = %while_cond.i1.i.i
%13 = load i8* @_ZN8platform7drivers8keyboard9led_state20h73463762d58f538bwfdE, align 1
%14 = xor i8 %13, 4
store i8 %14, i8* @_ZN8platform7drivers8keyboard9led_state20h73463762d58f538bwfdE, align 1
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %14, i16 96) #0, !srcloc !263
br label %_ZN8platform7drivers8keyboard8keypress20h7e506a8cf9f62172tgdE.exit
match_case17.i: ; preds = %entry-block
%15 = icmp eq i8 %.lobit.i, 1
br i1 %15, label %_ZN8platform7drivers8keyboard8keypress20h7e506a8cf9f62172tgdE.exit, label %while_cond.i.i50.i
while_cond.i.i50.i: ; preds = %match_case17.i, %while_cond.i.i50.i
%16 = tail call i8 asm inteldialect "in $0, $1", "={al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 100) #0, !srcloc !423
%17 = and i8 %16, 2
%18 = icmp eq i8 %17, 0
br i1 %18, label %_ZN8platform3cpu2io4wait20hd30738010e0f6d35m0bE.exit.i51.i, label %while_cond.i.i50.i
_ZN8platform3cpu2io4wait20hd30738010e0f6d35m0bE.exit.i51.i: ; preds = %while_cond.i.i50.i
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 -19, i16 96) #0, !srcloc !263
br label %while_cond.i1.i52.i
while_cond.i1.i52.i: ; preds = %while_cond.i1.i52.i, %_ZN8platform3cpu2io4wait20hd30738010e0f6d35m0bE.exit.i51.i
%19 = tail call i8 asm inteldialect "in $0, $1", "={al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 100) #0, !srcloc !423
%20 = and i8 %19, 2
%21 = icmp eq i8 %20, 0
br i1 %21, label %_ZN8platform7drivers8keyboard3led20hd4b5d06b360ea6a1AfdE.exit53.i, label %while_cond.i1.i52.i
_ZN8platform7drivers8keyboard3led20hd4b5d06b360ea6a1AfdE.exit53.i: ; preds = %while_cond.i1.i52.i
%22 = load i8* @_ZN8platform7drivers8keyboard9led_state20h73463762d58f538bwfdE, align 1
%23 = xor i8 %22, 2
store i8 %23, i8* @_ZN8platform7drivers8keyboard9led_state20h73463762d58f538bwfdE, align 1
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %23, i16 96) #0, !srcloc !263
br label %_ZN8platform7drivers8keyboard8keypress20h7e506a8cf9f62172tgdE.exit
match_case21.i: ; preds = %entry-block
%24 = icmp eq i8 %.lobit.i, 1
br i1 %24, label %_ZN8platform7drivers8keyboard8keypress20h7e506a8cf9f62172tgdE.exit, label %while_cond.i.i54.i
while_cond.i.i54.i: ; preds = %match_case21.i, %while_cond.i.i54.i
%25 = tail call i8 asm inteldialect "in $0, $1", "={al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 100) #0, !srcloc !423
%26 = and i8 %25, 2
%27 = icmp eq i8 %26, 0
br i1 %27, label %_ZN8platform3cpu2io4wait20hd30738010e0f6d35m0bE.exit.i55.i, label %while_cond.i.i54.i
_ZN8platform3cpu2io4wait20hd30738010e0f6d35m0bE.exit.i55.i: ; preds = %while_cond.i.i54.i
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 -19, i16 96) #0, !srcloc !263
br label %while_cond.i1.i56.i
while_cond.i1.i56.i: ; preds = %while_cond.i1.i56.i, %_ZN8platform3cpu2io4wait20hd30738010e0f6d35m0bE.exit.i55.i
%28 = tail call i8 asm inteldialect "in $0, $1", "={al},{dx},~{dirflag},~{fpsr},~{flags}"(i16 100) #0, !srcloc !423
%29 = and i8 %28, 2
%30 = icmp eq i8 %29, 0
br i1 %30, label %_ZN8platform7drivers8keyboard3led20hd4b5d06b360ea6a1AfdE.exit57.i, label %while_cond.i1.i56.i
_ZN8platform7drivers8keyboard3led20hd4b5d06b360ea6a1AfdE.exit57.i: ; preds = %while_cond.i1.i56.i
%31 = load i8* @_ZN8platform7drivers8keyboard9led_state20h73463762d58f538bwfdE, align 1
%32 = xor i8 %31, 1
store i8 %32, i8* @_ZN8platform7drivers8keyboard9led_state20h73463762d58f538bwfdE, align 1
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 %32, i16 96) #0, !srcloc !263
br label %_ZN8platform7drivers8keyboard8keypress20h7e506a8cf9f62172tgdE.exit
next.i: ; preds = %match_else.i
%33 = load i8* @_ZN8platform7drivers8keyboard5shift20h9a50930667386b47ofdE, align 1, !range !648
%34 = icmp eq i8 %33, 0
%35 = zext i8 %1 to i32
%binary4125.binary4126.i = select i1 %34, [58 x i8]* @binary4125, [58 x i8]* @binary4126
%storemerge.in.i = getelementptr inbounds [58 x i8]* %binary4125.binary4126.i, i32 0, i32 %35
%storemerge.i = load i8* %storemerge.in.i, align 1
%36 = icmp eq i8 %storemerge.i, 0
br i1 %36, label %_ZN8platform7drivers8keyboard8keypress20h7e506a8cf9f62172tgdE.exit, label %then-block-12019-.i
then-block-12019-.i: ; preds = %next.i
%37 = load i8* @_ZN8platform7drivers8keyboard9caps_lock20h9a50930667386b47sfdE, align 1, !range !648
%38 = icmp eq i8 %37, 0
br i1 %38, label %next-block.i, label %join32.i
join32.i: ; preds = %then-block-12019-.i
%39 = or i8 %storemerge.i, 32
%40 = add i8 %39, -97
%41 = icmp ult i8 %40, 26
%42 = xor i8 %storemerge.i, 32
%.storemerge.i = select i1 %41, i8 %42, i8 %storemerge.i
br label %next-block.i
next-block.i: ; preds = %join32.i, %then-block-12019-.i
%43 = phi i8 [ %storemerge.i, %then-block-12019-.i ], [ %.storemerge.i, %join32.i ]
%44 = load i8** @_ZN8platform7drivers7keydown20h919358c2439ab224UidE, align 4
%45 = icmp eq i8* %44, null
br i1 %45, label %_ZN8platform7drivers8keyboard8keypress20h7e506a8cf9f62172tgdE.exit, label %match_case.i.i
match_case.i.i: ; preds = %next-block.i
tail call void @_ZN8platform2io4putc20h6f4318d96097b606q9cE(i8 %43)
br label %_ZN8platform7drivers8keyboard8keypress20h7e506a8cf9f62172tgdE.exit
_ZN8platform7drivers8keyboard8keypress20h7e506a8cf9f62172tgdE.exit: ; preds = %case_body.i, %match_else.i, %match_case13.i, %_ZN8platform7drivers8keyboard3led20hd4b5d06b360ea6a1AfdE.exit.i, %match_case17.i, %_ZN8platform7drivers8keyboard3led20hd4b5d06b360ea6a1AfdE.exit53.i, %match_case21.i, %_ZN8platform7drivers8keyboard3led20hd4b5d06b360ea6a1AfdE.exit57.i, %next.i, %next-block.i, %match_case.i.i
tail call void asm inteldialect "out $1, $0", "{al},{dx},~{dirflag},~{fpsr},~{flags}"(i8 32, i16 32) #0, !srcloc !263
tail call void asm inteldialect "popa\0A .byte 0x1f // pop ds\0A .byte 0x07 // pop es\0A pop fs\0A pop gs\0A iretd\0A skip_isr_addr:", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !649
ret void
}
; Function Attrs: nounwind
declare void @isr_addr_asm() unnamed_addr #0
; Function Attrs: nounwind uwtable
define void @memset(i8*, i32, i32) unnamed_addr #1 {
entry-block:
%3 = trunc i32 %1 to i8
switch i32 %2, label %while_body.lr.ph.lr.ph.i [
i32 0, label %_ZN8platform7runtime14memset_nonzero20h371c727ad569492fGmdE.exit
i32 1, label %then-block-12373-.i
]
while_body.lr.ph.lr.ph.i: ; preds = %entry-block
%4 = and i32 %1, 255
%5 = shl nuw i32 %4, 24
%6 = shl nuw nsw i32 %4, 16
%7 = shl nuw nsw i32 %4, 8
%8 = or i32 %6, %4
%9 = or i32 %8, %5
%10 = or i32 %9, %7
br label %while_body.i
while_cond.clean_custom_.loopexit_crit_edge.i: ; preds = %while_body.i
%11 = lshr i32 %n.0.ph33.i, 2
tail call void asm "rep stosl", "A,{edi},{ecx},~{dirflag},~{fpsr},~{flags}"(i32 %10, i8* %s.0.ph34.i, i32 %11) #0, !srcloc !650
br label %_ZN8platform7runtime14memset_nonzero20h371c727ad569492fGmdE.exit
then-block-12373-.i: ; preds = %entry-block
store i8 %3, i8* %0, align 1
br label %_ZN8platform7runtime14memset_nonzero20h371c727ad569492fGmdE.exit
while_body.i: ; preds = %match_else.i, %while_body.lr.ph.lr.ph.i
%s.0.ph34.i = phi i8* [ %0, %while_body.lr.ph.lr.ph.i ], [ %12, %match_else.i ]
%n.0.ph33.i = phi i32 [ %2, %while_body.lr.ph.lr.ph.i ], [ %13, %match_else.i ]
%.pre.i = and i32 %n.0.ph33.i, 3
%cond9.i = icmp eq i32 %.pre.i, 0
br i1 %cond9.i, label %while_cond.clean_custom_.loopexit_crit_edge.i, label %match_else.i
match_else.i: ; preds = %while_body.i
tail call void asm "rep stosb", "{al},{edi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8 %3, i8* %s.0.ph34.i, i32 %.pre.i) #0, !srcloc !651
%12 = getelementptr inbounds i8* %s.0.ph34.i, i32 %.pre.i
%13 = sub i32 %n.0.ph33.i, %.pre.i
%14 = icmp eq i32 %n.0.ph33.i, %.pre.i
br i1 %14, label %_ZN8platform7runtime14memset_nonzero20h371c727ad569492fGmdE.exit, label %while_body.i
_ZN8platform7runtime14memset_nonzero20h371c727ad569492fGmdE.exit: ; preds = %match_else.i, %entry-block, %while_cond.clean_custom_.loopexit_crit_edge.i, %then-block-12373-.i
ret void
}
; Function Attrs: nounwind uwtable
define void @memcpy(i8*, i8*, i32) unnamed_addr #1 {
entry-block:
%3 = icmp eq i32 %2, 0
br i1 %3, label %clean_custom_, label %next-block
clean_custom_: ; preds = %entry-block, %next-block2, %then-block-12642-
ret void
next-block: ; preds = %entry-block
%4 = icmp ult i32 %2, 12
br i1 %4, label %then-block-12642-, label %next-block2
then-block-12642-: ; preds = %next-block
tail call void asm "rep movsb", "{edi},{esi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8* %0, i8* %1, i32 %2) #0, !srcloc !652
br label %clean_custom_
next-block2: ; preds = %next-block
%5 = ptrtoint i8* %0 to i32
%6 = sub i32 0, %5
%7 = and i32 %6, 3
%8 = sub i32 %2, %7
%9 = tail call { i8*, i8* } asm "rep movsb", "={edi},={esi},{edi},{esi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8* %0, i8* %1, i32 %7) #0, !srcloc !653
%10 = extractvalue { i8*, i8* } %9, 0
%11 = extractvalue { i8*, i8* } %9, 1
%12 = lshr i32 %8, 2
%13 = tail call { i8*, i8* } asm "rep movsl", "={edi},={esi},{edi},{esi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8* %10, i8* %11, i32 %12) #0, !srcloc !654
%14 = extractvalue { i8*, i8* } %13, 0
%15 = extractvalue { i8*, i8* } %13, 1
%16 = and i32 %8, 3
tail call void asm "rep movsb", "{edi},{esi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8* %14, i8* %15, i32 %16) #0, !srcloc !655
br label %clean_custom_
}
; Function Attrs: nounwind uwtable
define void @memmove(i8*, i8*, i32) unnamed_addr #1 {
entry-block:
%3 = icmp ult i8* %1, %0
br i1 %3, label %then-block-12732-, label %else-block
then-block-12732-: ; preds = %entry-block
tail call void asm "std", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !656
%4 = getelementptr inbounds i8* %0, i32 %2
%5 = getelementptr inbounds i8* %1, i32 %2
%6 = icmp eq i32 %2, 0
br i1 %6, label %memcpy.exit16, label %next-block.i13
next-block.i13: ; preds = %then-block-12732-
%7 = icmp ult i32 %2, 12
br i1 %7, label %then-block-12642-.i14, label %next-block2.i15
then-block-12642-.i14: ; preds = %next-block.i13
tail call void asm "rep movsb", "{edi},{esi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8* %4, i8* %5, i32 %2) #0, !srcloc !652
br label %memcpy.exit16
next-block2.i15: ; preds = %next-block.i13
%8 = ptrtoint i8* %4 to i32
%9 = sub i32 0, %8
%10 = and i32 %9, 3
%11 = sub i32 %2, %10
%12 = tail call { i8*, i8* } asm "rep movsb", "={edi},={esi},{edi},{esi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8* %4, i8* %5, i32 %10) #0, !srcloc !653
%13 = extractvalue { i8*, i8* } %12, 0
%14 = extractvalue { i8*, i8* } %12, 1
%15 = lshr i32 %11, 2
%16 = tail call { i8*, i8* } asm "rep movsl", "={edi},={esi},{edi},{esi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8* %13, i8* %14, i32 %15) #0, !srcloc !654
%17 = extractvalue { i8*, i8* } %16, 0
%18 = extractvalue { i8*, i8* } %16, 1
%19 = and i32 %11, 3
tail call void asm "rep movsb", "{edi},{esi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8* %17, i8* %18, i32 %19) #0, !srcloc !655
br label %memcpy.exit16
memcpy.exit16: ; preds = %then-block-12732-, %then-block-12642-.i14, %next-block2.i15
tail call void asm "cld", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !657
br label %join
else-block: ; preds = %entry-block
tail call void asm "cld", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !658
%20 = icmp eq i32 %2, 0
br i1 %20, label %join, label %next-block.i
next-block.i: ; preds = %else-block
%21 = icmp ult i32 %2, 12
br i1 %21, label %then-block-12642-.i, label %next-block2.i
then-block-12642-.i: ; preds = %next-block.i
tail call void asm "rep movsb", "{edi},{esi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8* %0, i8* %1, i32 %2) #0, !srcloc !652
br label %join
next-block2.i: ; preds = %next-block.i
%22 = ptrtoint i8* %0 to i32
%23 = sub i32 0, %22
%24 = and i32 %23, 3
%25 = sub i32 %2, %24
%26 = tail call { i8*, i8* } asm "rep movsb", "={edi},={esi},{edi},{esi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8* %0, i8* %1, i32 %24) #0, !srcloc !653
%27 = extractvalue { i8*, i8* } %26, 0
%28 = extractvalue { i8*, i8* } %26, 1
%29 = lshr i32 %25, 2
%30 = tail call { i8*, i8* } asm "rep movsl", "={edi},={esi},{edi},{esi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8* %27, i8* %28, i32 %29) #0, !srcloc !654
%31 = extractvalue { i8*, i8* } %30, 0
%32 = extractvalue { i8*, i8* } %30, 1
%33 = and i32 %25, 3
tail call void asm "rep movsb", "{edi},{esi},{ecx},~{dirflag},~{fpsr},~{flags}"(i8* %31, i8* %32, i32 %33) #0, !srcloc !655
br label %join
join: ; preds = %next-block2.i, %then-block-12642-.i, %else-block, %memcpy.exit16
ret void
}
; Function Attrs: inlinehint nounwind readonly uwtable
define i8 @_ZN8platform3cpu3gdt24GdtFlags...std..cmp..Ord3cmp20ha235fbb4b2faece6SmbE(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !659, !noalias !664
%6 = load i8* %3, align 1, !alias.scope !664, !noalias !659
%7 = icmp ult i8 %5, %6
br i1 %7, label %case_body3.i.i, label %match_case6.i.i
case_body3.i.i: ; preds = %match_case6.i.i, %2
%sret_slot.0.i14.i = phi i8 [ %..i.i, %match_case6.i.i ], [ -1, %2 ]
br label %_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE.exit
match_case6.i.i: ; preds = %2
%8 = icmp ugt i8 %5, %6
%..i.i = zext i1 %8 to i8
br i1 %8, label %case_body3.i.i, label %_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE.exit
_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE.exit: ; preds = %case_body3.i.i, %match_case6.i.i
%sret_slot.0.i9.i = phi i8 [ %sret_slot.0.i14.i, %case_body3.i.i ], [ 0, %match_case6.i.i ]
ret i8 %sret_slot.0.i9.i
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" @_ZN8platform3cpu3gdt31GdtFlags...std..cmp..PartialOrd11partial_cmp20h64522c3d6ed08f25HnbE(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !667, !noalias !674
%6 = load i8* %3, align 1, !alias.scope !681, !noalias !682
%7 = icmp ugt i8 %5, %6
%8 = icmp uge i8 %5, %6
br i1 %7, label %match_case.i.i, label %compare_next.i.i
match_case.i.i: ; preds = %2
switch i1 %8, label %compare_next.i.i [
i1 false, label %_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE.exit
i1 true, label %match_case7.i.i
]
compare_next.i.i: ; preds = %match_case.i.i, %2
%not..i.i = xor i1 %8, true
%..i.i = sext i1 %not..i.i to i8
br label %_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE.exit
match_case7.i.i: ; preds = %match_case.i.i
br label %_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE.exit
_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE.exit: ; preds = %match_case.i.i, %compare_next.i.i, %match_case7.i.i
%sret_slot.sroa.0.0.i.i = phi i8 [ 1, %match_case7.i.i ], [ 1, %compare_next.i.i ], [ 0, %match_case.i.i ]
%sret_slot.sroa.5.0.i.i = phi i8 [ 1, %match_case7.i.i ], [ %..i.i, %compare_next.i.i ], [ undef, %match_case.i.i ]
%9 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" undef, i8 %sret_slot.sroa.0.0.i.i, 0
%10 = insertvalue [1 x i8] undef, i8 %sret_slot.sroa.5.0.i.i, 0
%11 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %9, [1 x i8] %10, 2
ret %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %11
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3gdt31GdtFlags...std..cmp..PartialOrd2lt20h3072b6b515a39723xobE(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !683, !noalias !686
%6 = load i8* %3, align 1, !alias.scope !686, !noalias !683
%7 = icmp ult i8 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3gdt31GdtFlags...std..cmp..PartialOrd2le20h4b0f6502f46ee58ecpbE(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !688, !noalias !691
%6 = load i8* %3, align 1, !alias.scope !691, !noalias !688
%7 = icmp uge i8 %6, %5
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3gdt31GdtFlags...std..cmp..PartialOrd2gt20h2210194f22509064RpbE(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !693, !noalias !696
%6 = load i8* %3, align 1, !alias.scope !696, !noalias !693
%7 = icmp ugt i8 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3gdt31GdtFlags...std..cmp..PartialOrd2ge20hf7c753d84adf38d4wqbE(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !698, !noalias !701
%6 = load i8* %3, align 1, !alias.scope !701, !noalias !698
%7 = icmp ule i8 %6, %5
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::gdt::GdtFlags<[]>" @_ZN8platform3cpu3gdt28GdtFlags...std..clone..Clone5clone20hd55d8d94c8e16d58grbE(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%2 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%3 = load i8* %2, align 1, !alias.scope !703
%4 = insertvalue %"struct.platform::cpu::gdt::GdtFlags<[]>" undef, i8 %3, 0
ret %"struct.platform::cpu::gdt::GdtFlags<[]>" %4
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3gdt30GdtFlags...std..cmp..PartialEq2eq20h35265d28af96c1e71rbE(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !708, !noalias !713
%6 = load i8* %3, align 1, !alias.scope !713, !noalias !708
%7 = icmp eq i8 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3gdt30GdtFlags...std..cmp..PartialEq2ne20h6fc985bed5b34853ysbE(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !716, !noalias !721
%6 = load i8* %3, align 1, !alias.scope !721, !noalias !716
%7 = icmp ne i8 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::gdt::GdtFlags<[]>" @"_ZN8platform3cpu3gdt57GdtFlags.core..ops..BitAnd$LT$GdtFlags$C$$x20GdtFlags$GT$6bitand20hdc4f50a0c7978e6dnxbE"(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %1, i32 0, i32 0
%5 = load i8* %3, align 1, !alias.scope !724, !noalias !727
%6 = load i8* %4, align 1, !alias.scope !727, !noalias !724
%7 = and i8 %6, %5
%8 = insertvalue %"struct.platform::cpu::gdt::GdtFlags<[]>" undef, i8 %7, 0
ret %"struct.platform::cpu::gdt::GdtFlags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::gdt::GdtFlags<[]>" @"_ZN8platform3cpu3gdt56GdtFlags.core..ops..BitOr$LT$GdtFlags$C$$x20GdtFlags$GT$5bitor20h99b1b0975e2a5496twbE"(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %1, i32 0, i32 0
%5 = load i8* %3, align 1, !alias.scope !729, !noalias !732
%6 = load i8* %4, align 1, !alias.scope !732, !noalias !729
%7 = or i8 %6, %5
%8 = insertvalue %"struct.platform::cpu::gdt::GdtFlags<[]>" undef, i8 %7, 0
ret %"struct.platform::cpu::gdt::GdtFlags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::gdt::GdtFlags<[]>" @"_ZN8platform3cpu3gdt57GdtFlags.core..ops..BitXor$LT$GdtFlags$C$$x20GdtFlags$GT$6bitxor20hda55ecd925a04543VwbE"(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %1, i32 0, i32 0
%5 = load i8* %3, align 1, !alias.scope !734, !noalias !737
%6 = load i8* %4, align 1, !alias.scope !737, !noalias !734
%7 = xor i8 %6, %5
%8 = insertvalue %"struct.platform::cpu::gdt::GdtFlags<[]>" undef, i8 %7, 0
ret %"struct.platform::cpu::gdt::GdtFlags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::gdt::GdtFlags<[]>" @"_ZN8platform3cpu3gdt54GdtFlags.core..ops..Sub$LT$GdtFlags$C$$x20GdtFlags$GT$3sub20h935a2546957fd902PxbE"(%"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::gdt::GdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::gdt::GdtFlags<[]>"* %1, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !739, !noalias !742
%6 = xor i8 %5, -1
%7 = load i8* %3, align 1, !alias.scope !742, !noalias !739
%8 = and i8 %7, %6
%9 = insertvalue %"struct.platform::cpu::gdt::GdtFlags<[]>" undef, i8 %8, 0
ret %"struct.platform::cpu::gdt::GdtFlags<[]>" %9
}
; Function Attrs: inlinehint nounwind readonly uwtable
define i8 @_ZN8platform3cpu3idt24IdtFlags...std..cmp..Ord3cmp20hf077fdd00e8ce9b2kFbE(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !744, !noalias !749
%6 = load i8* %3, align 1, !alias.scope !749, !noalias !744
%7 = icmp ult i8 %5, %6
br i1 %7, label %case_body3.i.i, label %match_case6.i.i
case_body3.i.i: ; preds = %match_case6.i.i, %2
%sret_slot.0.i14.i = phi i8 [ %..i.i, %match_case6.i.i ], [ -1, %2 ]
br label %_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE.exit
match_case6.i.i: ; preds = %2
%8 = icmp ugt i8 %5, %6
%..i.i = zext i1 %8 to i8
br i1 %8, label %case_body3.i.i, label %_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE.exit
_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE.exit: ; preds = %case_body3.i.i, %match_case6.i.i
%sret_slot.0.i9.i = phi i8 [ %sret_slot.0.i14.i, %case_body3.i.i ], [ 0, %match_case6.i.i ]
ret i8 %sret_slot.0.i9.i
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" @_ZN8platform3cpu3idt31IdtFlags...std..cmp..PartialOrd11partial_cmp20hc7f07ce36f68ec4a9FbE(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !752, !noalias !759
%6 = load i8* %3, align 1, !alias.scope !766, !noalias !767
%7 = icmp ugt i8 %5, %6
%8 = icmp uge i8 %5, %6
br i1 %7, label %match_case.i.i, label %compare_next.i.i
match_case.i.i: ; preds = %2
switch i1 %8, label %compare_next.i.i [
i1 false, label %_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE.exit
i1 true, label %match_case7.i.i
]
compare_next.i.i: ; preds = %match_case.i.i, %2
%not..i.i = xor i1 %8, true
%..i.i = sext i1 %not..i.i to i8
br label %_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE.exit
match_case7.i.i: ; preds = %match_case.i.i
br label %_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE.exit
_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE.exit: ; preds = %match_case.i.i, %compare_next.i.i, %match_case7.i.i
%sret_slot.sroa.0.0.i.i = phi i8 [ 1, %match_case7.i.i ], [ 1, %compare_next.i.i ], [ 0, %match_case.i.i ]
%sret_slot.sroa.5.0.i.i = phi i8 [ 1, %match_case7.i.i ], [ %..i.i, %compare_next.i.i ], [ undef, %match_case.i.i ]
%9 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" undef, i8 %sret_slot.sroa.0.0.i.i, 0
%10 = insertvalue [1 x i8] undef, i8 %sret_slot.sroa.5.0.i.i, 0
%11 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %9, [1 x i8] %10, 2
ret %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %11
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3idt31IdtFlags...std..cmp..PartialOrd2lt20h00bafd11ba77c33fZGbE(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !768, !noalias !771
%6 = load i8* %3, align 1, !alias.scope !771, !noalias !768
%7 = icmp ult i8 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3idt31IdtFlags...std..cmp..PartialOrd2le20he272c8c1475bbe54EHbE(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !773, !noalias !776
%6 = load i8* %3, align 1, !alias.scope !776, !noalias !773
%7 = icmp uge i8 %6, %5
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3idt31IdtFlags...std..cmp..PartialOrd2gt20h081f8bdec83d5fc4jIbE(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !778, !noalias !781
%6 = load i8* %3, align 1, !alias.scope !781, !noalias !778
%7 = icmp ugt i8 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3idt31IdtFlags...std..cmp..PartialOrd2ge20h4f4270684d039dfdYIbE(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !783, !noalias !786
%6 = load i8* %3, align 1, !alias.scope !786, !noalias !783
%7 = icmp ule i8 %6, %5
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::idt::IdtFlags<[]>" @_ZN8platform3cpu3idt28IdtFlags...std..clone..Clone5clone20h74c2150163c287c9IJbE(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%2 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%3 = load i8* %2, align 1, !alias.scope !788
%4 = insertvalue %"struct.platform::cpu::idt::IdtFlags<[]>" undef, i8 %3, 0
ret %"struct.platform::cpu::idt::IdtFlags<[]>" %4
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3idt30IdtFlags...std..cmp..PartialEq2eq20hee6a2d1d08415d7dtKbE(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !793, !noalias !798
%6 = load i8* %3, align 1, !alias.scope !798, !noalias !793
%7 = icmp eq i8 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3idt30IdtFlags...std..cmp..PartialEq2ne20h8247ccf4dcf343740KbE(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !801, !noalias !806
%6 = load i8* %3, align 1, !alias.scope !806, !noalias !801
%7 = icmp ne i8 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::idt::IdtFlags<[]>" @"_ZN8platform3cpu3idt57IdtFlags.core..ops..BitAnd$LT$IdtFlags$C$$x20IdtFlags$GT$6bitand20hd53fb52365faafa5SPbE"(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %1, i32 0, i32 0
%5 = load i8* %3, align 1, !alias.scope !809, !noalias !812
%6 = load i8* %4, align 1, !alias.scope !812, !noalias !809
%7 = and i8 %6, %5
%8 = insertvalue %"struct.platform::cpu::idt::IdtFlags<[]>" undef, i8 %7, 0
ret %"struct.platform::cpu::idt::IdtFlags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::idt::IdtFlags<[]>" @"_ZN8platform3cpu3idt56IdtFlags.core..ops..BitOr$LT$IdtFlags$C$$x20IdtFlags$GT$5bitor20h7d8dbf89c9ab28e6YObE"(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %1, i32 0, i32 0
%5 = load i8* %3, align 1, !alias.scope !814, !noalias !817
%6 = load i8* %4, align 1, !alias.scope !817, !noalias !814
%7 = or i8 %6, %5
%8 = insertvalue %"struct.platform::cpu::idt::IdtFlags<[]>" undef, i8 %7, 0
ret %"struct.platform::cpu::idt::IdtFlags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::idt::IdtFlags<[]>" @"_ZN8platform3cpu3idt57IdtFlags.core..ops..BitXor$LT$IdtFlags$C$$x20IdtFlags$GT$6bitxor20h7defebbb65263574qPbE"(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %1, i32 0, i32 0
%5 = load i8* %3, align 1, !alias.scope !819, !noalias !822
%6 = load i8* %4, align 1, !alias.scope !822, !noalias !819
%7 = xor i8 %6, %5
%8 = insertvalue %"struct.platform::cpu::idt::IdtFlags<[]>" undef, i8 %7, 0
ret %"struct.platform::cpu::idt::IdtFlags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::idt::IdtFlags<[]>" @"_ZN8platform3cpu3idt54IdtFlags.core..ops..Sub$LT$IdtFlags$C$$x20IdtFlags$GT$3sub20h74538205d3f9b9aekQbE"(%"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1), %"struct.platform::cpu::idt::IdtFlags<[]>"* noalias nocapture readonly dereferenceable(1)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::idt::IdtFlags<[]>"* %1, i32 0, i32 0
%5 = load i8* %4, align 1, !alias.scope !824, !noalias !827
%6 = xor i8 %5, -1
%7 = load i8* %3, align 1, !alias.scope !827, !noalias !824
%8 = and i8 %7, %6
%9 = insertvalue %"struct.platform::cpu::idt::IdtFlags<[]>" undef, i8 %8, 0
ret %"struct.platform::cpu::idt::IdtFlags<[]>" %9
}
; Function Attrs: inlinehint nounwind readonly uwtable
define i8 @_ZN8platform3cpu3mmu21Flags...std..cmp..Ord3cmp20h5d0868eae4503518Q5bE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !829, !noalias !834
%6 = load i32* %3, align 4, !alias.scope !834, !noalias !829
%7 = icmp ult i32 %5, %6
br i1 %7, label %case_body3.i.i, label %match_case6.i.i
case_body3.i.i: ; preds = %match_case6.i.i, %2
%sret_slot.0.i14.i = phi i8 [ %..i.i, %match_case6.i.i ], [ -1, %2 ]
br label %_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE.exit
match_case6.i.i: ; preds = %2
%8 = icmp ugt i32 %5, %6
%..i.i = zext i1 %8 to i8
br i1 %8, label %case_body3.i.i, label %_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE.exit
_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE.exit: ; preds = %case_body3.i.i, %match_case6.i.i
%sret_slot.0.i9.i = phi i8 [ %sret_slot.0.i14.i, %case_body3.i.i ], [ 0, %match_case6.i.i ]
ret i8 %sret_slot.0.i9.i
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" @_ZN8platform3cpu3mmu28Flags...std..cmp..PartialOrd11partial_cmp20hb3c403cf0bb77dacF6bE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !837, !noalias !844
%6 = load i32* %3, align 4, !alias.scope !851, !noalias !852
%7 = icmp ugt i32 %5, %6
%8 = icmp uge i32 %5, %6
br i1 %7, label %match_case.i.i, label %compare_next.i.i
match_case.i.i: ; preds = %2
switch i1 %8, label %compare_next.i.i [
i1 false, label %_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE.exit
i1 true, label %match_case7.i.i
]
compare_next.i.i: ; preds = %match_case.i.i, %2
%not..i.i = xor i1 %8, true
%..i.i = sext i1 %not..i.i to i8
br label %_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE.exit
match_case7.i.i: ; preds = %match_case.i.i
br label %_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE.exit
_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE.exit: ; preds = %match_case.i.i, %compare_next.i.i, %match_case7.i.i
%sret_slot.sroa.0.0.i.i = phi i8 [ 1, %match_case7.i.i ], [ 1, %compare_next.i.i ], [ 0, %match_case.i.i ]
%sret_slot.sroa.5.0.i.i = phi i8 [ 1, %match_case7.i.i ], [ %..i.i, %compare_next.i.i ], [ undef, %match_case.i.i ]
%9 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" undef, i8 %sret_slot.sroa.0.0.i.i, 0
%10 = insertvalue [1 x i8] undef, i8 %sret_slot.sroa.5.0.i.i, 0
%11 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %9, [1 x i8] %10, 2
ret %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %11
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3mmu28Flags...std..cmp..PartialOrd2lt20h06ae45b99984ec37v7bE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !853, !noalias !856
%6 = load i32* %3, align 4, !alias.scope !856, !noalias !853
%7 = icmp ult i32 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3mmu28Flags...std..cmp..PartialOrd2le20hc4e6eded31749113a8bE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !858, !noalias !861
%6 = load i32* %3, align 4, !alias.scope !861, !noalias !858
%7 = icmp uge i32 %6, %5
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3mmu28Flags...std..cmp..PartialOrd2gt20h75b9889c2c07fed1P8bE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !863, !noalias !866
%6 = load i32* %3, align 4, !alias.scope !866, !noalias !863
%7 = icmp ugt i32 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3mmu28Flags...std..cmp..PartialOrd2ge20h5ab20fef6d5e0619u9bE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !868, !noalias !871
%6 = load i32* %3, align 4, !alias.scope !871, !noalias !868
%7 = icmp ule i32 %6, %5
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::mmu::Flags<[]>" @_ZN8platform3cpu3mmu25Flags...std..clone..Clone5clone20h87f5313725a8f315eacE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%2 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4, !alias.scope !873
%4 = insertvalue %"struct.platform::cpu::mmu::Flags<[]>" undef, i32 %3, 0
ret %"struct.platform::cpu::mmu::Flags<[]>" %4
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !878, !noalias !883
%6 = load i32* %3, align 4, !alias.scope !883, !noalias !878
%7 = icmp eq i32 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2ne20hcef0a75a8349dce4wbcE(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !886, !noalias !891
%6 = load i32* %3, align 4, !alias.scope !891, !noalias !886
%7 = icmp ne i32 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::mmu::Flags<[]>" @"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE"(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%5 = load i32* %3, align 4, !alias.scope !894, !noalias !897
%6 = load i32* %4, align 4, !alias.scope !897, !noalias !894
%7 = and i32 %6, %5
%8 = insertvalue %"struct.platform::cpu::mmu::Flags<[]>" undef, i32 %7, 0
ret %"struct.platform::cpu::mmu::Flags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::mmu::Flags<[]>" @"_ZN8platform3cpu3mmu47Flags.core..ops..BitOr$LT$Flags$C$$x20Flags$GT$5bitor20h8342fdedd02f8cedYfcE"(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%5 = load i32* %3, align 4, !alias.scope !899, !noalias !902
%6 = load i32* %4, align 4, !alias.scope !902, !noalias !899
%7 = or i32 %6, %5
%8 = insertvalue %"struct.platform::cpu::mmu::Flags<[]>" undef, i32 %7, 0
ret %"struct.platform::cpu::mmu::Flags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::mmu::Flags<[]>" @"_ZN8platform3cpu3mmu48Flags.core..ops..BitXor$LT$Flags$C$$x20Flags$GT$6bitxor20he9a97ecbf66cddefqgcE"(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%5 = load i32* %3, align 4, !alias.scope !904, !noalias !907
%6 = load i32* %4, align 4, !alias.scope !907, !noalias !904
%7 = xor i32 %6, %5
%8 = insertvalue %"struct.platform::cpu::mmu::Flags<[]>" undef, i32 %7, 0
ret %"struct.platform::cpu::mmu::Flags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::mmu::Flags<[]>" @"_ZN8platform3cpu3mmu45Flags.core..ops..Sub$LT$Flags$C$$x20Flags$GT$3sub20he53c626c17d9d38dkhcE"(%"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::mmu::Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::mmu::Flags<[]>"* %1, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !909, !noalias !912
%6 = xor i32 %5, -1
%7 = load i32* %3, align 4, !alias.scope !912, !noalias !909
%8 = and i32 %7, %6
%9 = insertvalue %"struct.platform::cpu::mmu::Flags<[]>" undef, i32 %8, 0
ret %"struct.platform::cpu::mmu::Flags<[]>" %9
}
; Function Attrs: inlinehint nounwind readonly uwtable
define i8 @_ZN8platform3cpu22Eflags...std..cmp..Ord3cmp20hfdbbf8af17996b89QycE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !914, !noalias !919
%6 = load i32* %3, align 4, !alias.scope !919, !noalias !914
%7 = icmp ult i32 %5, %6
br i1 %7, label %case_body3.i.i, label %match_case6.i.i
case_body3.i.i: ; preds = %match_case6.i.i, %2
%sret_slot.0.i14.i = phi i8 [ %..i.i, %match_case6.i.i ], [ -1, %2 ]
br label %_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE.exit
match_case6.i.i: ; preds = %2
%8 = icmp ugt i32 %5, %6
%..i.i = zext i1 %8 to i8
br i1 %8, label %case_body3.i.i, label %_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE.exit
_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE.exit: ; preds = %case_body3.i.i, %match_case6.i.i
%sret_slot.0.i9.i = phi i8 [ %sret_slot.0.i14.i, %case_body3.i.i ], [ 0, %match_case6.i.i ]
ret i8 %sret_slot.0.i9.i
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" @_ZN8platform3cpu29Eflags...std..cmp..PartialOrd11partial_cmp20h8b9da82ea103461dFzcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !922, !noalias !929
%6 = load i32* %3, align 4, !alias.scope !936, !noalias !937
%7 = icmp ugt i32 %5, %6
%8 = icmp uge i32 %5, %6
br i1 %7, label %match_case.i.i, label %compare_next.i.i
match_case.i.i: ; preds = %2
switch i1 %8, label %compare_next.i.i [
i1 false, label %_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE.exit
i1 true, label %match_case7.i.i
]
compare_next.i.i: ; preds = %match_case.i.i, %2
%not..i.i = xor i1 %8, true
%..i.i = sext i1 %not..i.i to i8
br label %_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE.exit
match_case7.i.i: ; preds = %match_case.i.i
br label %_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE.exit
_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE.exit: ; preds = %match_case.i.i, %compare_next.i.i, %match_case7.i.i
%sret_slot.sroa.0.0.i.i = phi i8 [ 1, %match_case7.i.i ], [ 1, %compare_next.i.i ], [ 0, %match_case.i.i ]
%sret_slot.sroa.5.0.i.i = phi i8 [ 1, %match_case7.i.i ], [ %..i.i, %compare_next.i.i ], [ undef, %match_case.i.i ]
%9 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" undef, i8 %sret_slot.sroa.0.0.i.i, 0
%10 = insertvalue [1 x i8] undef, i8 %sret_slot.sroa.5.0.i.i, 0
%11 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %9, [1 x i8] %10, 2
ret %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %11
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu29Eflags...std..cmp..PartialOrd2lt20h06b53d68cfc8b06dvAcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !938, !noalias !941
%6 = load i32* %3, align 4, !alias.scope !941, !noalias !938
%7 = icmp ult i32 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu29Eflags...std..cmp..PartialOrd2le20hbb96a634df598bddaBcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !943, !noalias !946
%6 = load i32* %3, align 4, !alias.scope !946, !noalias !943
%7 = icmp uge i32 %6, %5
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu29Eflags...std..cmp..PartialOrd2gt20h6cca97c4950375a4PBcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !948, !noalias !951
%6 = load i32* %3, align 4, !alias.scope !951, !noalias !948
%7 = icmp ugt i32 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu29Eflags...std..cmp..PartialOrd2ge20hcaf161b724931e3euCcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !953, !noalias !956
%6 = load i32* %3, align 4, !alias.scope !956, !noalias !953
%7 = icmp ule i32 %6, %5
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::Eflags<[]>" @_ZN8platform3cpu26Eflags...std..clone..Clone5clone20hd63d9acb3ea27ec7eDcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%2 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4, !alias.scope !958
%4 = insertvalue %"struct.platform::cpu::Eflags<[]>" undef, i32 %3, 0
ret %"struct.platform::cpu::Eflags<[]>" %4
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu28Eflags...std..cmp..PartialEq2eq20h161ba2b3df29433fZDcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !963, !noalias !968
%6 = load i32* %3, align 4, !alias.scope !968, !noalias !963
%7 = icmp eq i32 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu28Eflags...std..cmp..PartialEq2ne20h313c8280ba21c936wEcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !971, !noalias !976
%6 = load i32* %3, align 4, !alias.scope !976, !noalias !971
%7 = icmp ne i32 %5, %6
ret i1 %7
}
; Function Attrs: nounwind readonly uwtable
define i32 @_ZN8platform3cpu6Eflags4bits20h1d3416616e44d8f6GFcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #12 {
%2 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4, !alias.scope !979
ret i32 %3
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::Eflags<[]>" @"_ZN8platform3cpu51Eflags.core..ops..BitAnd$LT$Eflags$C$$x20Eflags$GT$6bitand20he6304ae87625d371lJcE"(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %1, i32 0, i32 0
%5 = load i32* %3, align 4, !alias.scope !982, !noalias !985
%6 = load i32* %4, align 4, !alias.scope !985, !noalias !982
%7 = and i32 %6, %5
%8 = insertvalue %"struct.platform::cpu::Eflags<[]>" undef, i32 %7, 0
ret %"struct.platform::cpu::Eflags<[]>" %8
}
; Function Attrs: nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu6Eflags8is_empty20h5e990131ed490e51xGcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #12 {
%2 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4, !alias.scope !987, !noalias !994
%4 = icmp eq i32 %3, 0
ret i1 %4
}
; Function Attrs: nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu6Eflags10intersects20h5299b685ed6bf5f1XGcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>") unnamed_addr #12 {
%3 = extractvalue %"struct.platform::cpu::Eflags<[]>" %1, 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !997, !noalias !1002
%6 = and i32 %5, %3
%7 = icmp ne i32 %6, 0
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu6Eflags8contains20hf733b524cb23d933fHcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>") unnamed_addr #4 {
%3 = extractvalue %"struct.platform::cpu::Eflags<[]>" %1, 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1004, !noalias !1009
%6 = and i32 %5, %3
%7 = icmp eq i32 %6, %3
ret i1 %7
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu6Eflags6insert20hf070a299a92c6392xHcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture dereferenceable(4), %"struct.platform::cpu::Eflags<[]>") unnamed_addr #1 {
%3 = extractvalue %"struct.platform::cpu::Eflags<[]>" %1, 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1011
%6 = or i32 %5, %3
store i32 %6, i32* %4, align 4, !alias.scope !1011
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu6Eflags6remove20h2530c9d914c423bdOHcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture dereferenceable(4), %"struct.platform::cpu::Eflags<[]>") unnamed_addr #1 {
%3 = extractvalue %"struct.platform::cpu::Eflags<[]>" %1, 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1014
%6 = xor i32 %3, -1
%7 = and i32 %5, %6
store i32 %7, i32* %4, align 4, !alias.scope !1014
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu6Eflags6toggle20h81ff805fdb3ff1d06HcE(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture dereferenceable(4), %"struct.platform::cpu::Eflags<[]>") unnamed_addr #1 {
%3 = extractvalue %"struct.platform::cpu::Eflags<[]>" %1, 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1017
%6 = xor i32 %5, %3
store i32 %6, i32* %4, align 4, !alias.scope !1017
ret void
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::Eflags<[]>" @"_ZN8platform3cpu50Eflags.core..ops..BitOr$LT$Eflags$C$$x20Eflags$GT$5bitor20h60df7d34d4051acarIcE"(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %1, i32 0, i32 0
%5 = load i32* %3, align 4, !alias.scope !1020, !noalias !1023
%6 = load i32* %4, align 4, !alias.scope !1023, !noalias !1020
%7 = or i32 %6, %5
%8 = insertvalue %"struct.platform::cpu::Eflags<[]>" undef, i32 %7, 0
ret %"struct.platform::cpu::Eflags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::Eflags<[]>" @"_ZN8platform3cpu51Eflags.core..ops..BitXor$LT$Eflags$C$$x20Eflags$GT$6bitxor20h5092da167af22a5bTIcE"(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %1, i32 0, i32 0
%5 = load i32* %3, align 4, !alias.scope !1025, !noalias !1028
%6 = load i32* %4, align 4, !alias.scope !1028, !noalias !1025
%7 = xor i32 %6, %5
%8 = insertvalue %"struct.platform::cpu::Eflags<[]>" undef, i32 %7, 0
ret %"struct.platform::cpu::Eflags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::Eflags<[]>" @"_ZN8platform3cpu48Eflags.core..ops..Sub$LT$Eflags$C$$x20Eflags$GT$3sub20h187b08c57011f7e9NJcE"(%"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::Eflags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::Eflags<[]>"* %1, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1030, !noalias !1033
%6 = xor i32 %5, -1
%7 = load i32* %3, align 4, !alias.scope !1033, !noalias !1030
%8 = and i32 %7, %6
%9 = insertvalue %"struct.platform::cpu::Eflags<[]>" undef, i32 %8, 0
ret %"struct.platform::cpu::Eflags<[]>" %9
}
; Function Attrs: inlinehint nounwind readonly uwtable
define i8 @_ZN8platform3cpu24CR0Flags...std..cmp..Ord3cmp20h305d7663e25d1dab3KcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1035, !noalias !1040
%6 = load i32* %3, align 4, !alias.scope !1040, !noalias !1035
%7 = icmp ult i32 %5, %6
br i1 %7, label %case_body3.i.i, label %match_case6.i.i
case_body3.i.i: ; preds = %match_case6.i.i, %2
%sret_slot.0.i14.i = phi i8 [ %..i.i, %match_case6.i.i ], [ -1, %2 ]
br label %_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE.exit
match_case6.i.i: ; preds = %2
%8 = icmp ugt i32 %5, %6
%..i.i = zext i1 %8 to i8
br i1 %8, label %case_body3.i.i, label %_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE.exit
_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE.exit: ; preds = %case_body3.i.i, %match_case6.i.i
%sret_slot.0.i9.i = phi i8 [ %sret_slot.0.i14.i, %case_body3.i.i ], [ 0, %match_case6.i.i ]
ret i8 %sret_slot.0.i9.i
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" @_ZN8platform3cpu31CR0Flags...std..cmp..PartialOrd11partial_cmp20h8cca91230e043e53SLcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1043, !noalias !1050
%6 = load i32* %3, align 4, !alias.scope !1057, !noalias !1058
%7 = icmp ugt i32 %5, %6
%8 = icmp uge i32 %5, %6
br i1 %7, label %match_case.i.i, label %compare_next.i.i
match_case.i.i: ; preds = %2
switch i1 %8, label %compare_next.i.i [
i1 false, label %_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE.exit
i1 true, label %match_case7.i.i
]
compare_next.i.i: ; preds = %match_case.i.i, %2
%not..i.i = xor i1 %8, true
%..i.i = sext i1 %not..i.i to i8
br label %_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE.exit
match_case7.i.i: ; preds = %match_case.i.i
br label %_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE.exit
_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE.exit: ; preds = %match_case.i.i, %compare_next.i.i, %match_case7.i.i
%sret_slot.sroa.0.0.i.i = phi i8 [ 1, %match_case7.i.i ], [ 1, %compare_next.i.i ], [ 0, %match_case.i.i ]
%sret_slot.sroa.5.0.i.i = phi i8 [ 1, %match_case7.i.i ], [ %..i.i, %compare_next.i.i ], [ undef, %match_case.i.i ]
%9 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" undef, i8 %sret_slot.sroa.0.0.i.i, 0
%10 = insertvalue [1 x i8] undef, i8 %sret_slot.sroa.5.0.i.i, 0
%11 = insertvalue %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %9, [1 x i8] %10, 2
ret %"enum.core::option::Option<[core::cmp::Ordering]>[#1]" %11
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu31CR0Flags...std..cmp..PartialOrd2lt20h36a18be777842f96IMcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1059, !noalias !1062
%6 = load i32* %3, align 4, !alias.scope !1062, !noalias !1059
%7 = icmp ult i32 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu31CR0Flags...std..cmp..PartialOrd2le20he50498b45cced09enNcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1064, !noalias !1067
%6 = load i32* %3, align 4, !alias.scope !1067, !noalias !1064
%7 = icmp uge i32 %6, %5
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu31CR0Flags...std..cmp..PartialOrd2gt20hf2f14ee3657c0a4a2NcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1069, !noalias !1072
%6 = load i32* %3, align 4, !alias.scope !1072, !noalias !1069
%7 = icmp ugt i32 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu31CR0Flags...std..cmp..PartialOrd2ge20h0f262f4a253b5694HOcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1074, !noalias !1077
%6 = load i32* %3, align 4, !alias.scope !1077, !noalias !1074
%7 = icmp ule i32 %6, %5
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::CR0Flags<[]>" @_ZN8platform3cpu28CR0Flags...std..clone..Clone5clone20hf49450e1402a0317rPcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%2 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4, !alias.scope !1079
%4 = insertvalue %"struct.platform::cpu::CR0Flags<[]>" undef, i32 %3, 0
ret %"struct.platform::cpu::CR0Flags<[]>" %4
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu30CR0Flags...std..cmp..PartialEq2eq20hd16366377f209657cQcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1084, !noalias !1089
%6 = load i32* %3, align 4, !alias.scope !1089, !noalias !1084
%7 = icmp eq i32 %5, %6
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu30CR0Flags...std..cmp..PartialEq2ne20hb93725374f40315aJQcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1092, !noalias !1097
%6 = load i32* %3, align 4, !alias.scope !1097, !noalias !1092
%7 = icmp ne i32 %5, %6
ret i1 %7
}
; Function Attrs: nounwind readonly uwtable
define i32 @_ZN8platform3cpu8CR0Flags4bits20h088802a38a0d8260IRcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #12 {
%2 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4, !alias.scope !1100
ret i32 %3
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::CR0Flags<[]>" @"_ZN8platform3cpu57CR0Flags.core..ops..BitAnd$LT$CR0Flags$C$$x20CR0Flags$GT$6bitand20h57ee84d4749769e5nVcE"(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%5 = load i32* %3, align 4, !alias.scope !1103, !noalias !1106
%6 = load i32* %4, align 4, !alias.scope !1106, !noalias !1103
%7 = and i32 %6, %5
%8 = insertvalue %"struct.platform::cpu::CR0Flags<[]>" undef, i32 %7, 0
ret %"struct.platform::cpu::CR0Flags<[]>" %8
}
; Function Attrs: nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu8CR0Flags8is_empty20hcbdd504847fee62fzScE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #12 {
%2 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%3 = load i32* %2, align 4, !alias.scope !1108, !noalias !1115
%4 = icmp eq i32 %3, 0
ret i1 %4
}
; Function Attrs: nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu8CR0Flags10intersects20he3d1c75e346b8d0fZScE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>") unnamed_addr #12 {
%3 = extractvalue %"struct.platform::cpu::CR0Flags<[]>" %1, 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1118, !noalias !1123
%6 = and i32 %5, %3
%7 = icmp ne i32 %6, 0
ret i1 %7
}
; Function Attrs: inlinehint nounwind readonly uwtable
define zeroext i1 @_ZN8platform3cpu8CR0Flags8contains20h6f3db8047c5a838ahTcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>") unnamed_addr #4 {
%3 = extractvalue %"struct.platform::cpu::CR0Flags<[]>" %1, 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1125, !noalias !1130
%6 = and i32 %5, %3
%7 = icmp eq i32 %6, %3
ret i1 %7
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu8CR0Flags6insert20h9de972c7fdd035aczTcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>") unnamed_addr #1 {
%3 = extractvalue %"struct.platform::cpu::CR0Flags<[]>" %1, 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1132
%6 = or i32 %5, %3
store i32 %6, i32* %4, align 4, !alias.scope !1132
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu8CR0Flags6remove20h2a7be2b98f0bd689QTcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>") unnamed_addr #1 {
%3 = extractvalue %"struct.platform::cpu::CR0Flags<[]>" %1, 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1135
%6 = xor i32 %3, -1
%7 = and i32 %5, %6
store i32 %7, i32* %4, align 4, !alias.scope !1135
ret void
}
; Function Attrs: nounwind uwtable
define void @_ZN8platform3cpu8CR0Flags6toggle20h1260d7426f7d9bf28TcE(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>") unnamed_addr #1 {
%3 = extractvalue %"struct.platform::cpu::CR0Flags<[]>" %1, 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1138
%6 = xor i32 %5, %3
store i32 %6, i32* %4, align 4, !alias.scope !1138
ret void
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::CR0Flags<[]>" @"_ZN8platform3cpu56CR0Flags.core..ops..BitOr$LT$CR0Flags$C$$x20CR0Flags$GT$5bitor20ha8c8c874d621d709tUcE"(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%5 = load i32* %3, align 4, !alias.scope !1141, !noalias !1144
%6 = load i32* %4, align 4, !alias.scope !1144, !noalias !1141
%7 = or i32 %6, %5
%8 = insertvalue %"struct.platform::cpu::CR0Flags<[]>" undef, i32 %7, 0
ret %"struct.platform::cpu::CR0Flags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::CR0Flags<[]>" @"_ZN8platform3cpu57CR0Flags.core..ops..BitXor$LT$CR0Flags$C$$x20CR0Flags$GT$6bitxor20hcafe5f44038ae956VUcE"(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%5 = load i32* %3, align 4, !alias.scope !1146, !noalias !1149
%6 = load i32* %4, align 4, !alias.scope !1149, !noalias !1146
%7 = xor i32 %6, %5
%8 = insertvalue %"struct.platform::cpu::CR0Flags<[]>" undef, i32 %7, 0
ret %"struct.platform::cpu::CR0Flags<[]>" %8
}
; Function Attrs: inlinehint nounwind readonly uwtable
define %"struct.platform::cpu::CR0Flags<[]>" @"_ZN8platform3cpu54CR0Flags.core..ops..Sub$LT$CR0Flags$C$$x20CR0Flags$GT$3sub20h4cb2defbd5df054dPVcE"(%"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4), %"struct.platform::cpu::CR0Flags<[]>"* noalias nocapture readonly dereferenceable(4)) unnamed_addr #4 {
%3 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %0, i32 0, i32 0
%4 = getelementptr inbounds %"struct.platform::cpu::CR0Flags<[]>"* %1, i32 0, i32 0
%5 = load i32* %4, align 4, !alias.scope !1151, !noalias !1154
%6 = xor i32 %5, -1
%7 = load i32* %3, align 4, !alias.scope !1154, !noalias !1151
%8 = and i32 %7, %6
%9 = insertvalue %"struct.platform::cpu::CR0Flags<[]>" undef, i32 %8, 0
ret %"struct.platform::cpu::CR0Flags<[]>" %9
}
; Function Attrs: cold noinline noreturn nounwind uwtable
define internal fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20)) unnamed_addr #14 {
entry-block:
%1 = alloca { %str_slice, i32 }, align 8
%2 = getelementptr inbounds { %str_slice, %str_slice, i32 }* %0, i32 0, i32 1
%3 = bitcast %str_slice* %2 to i64*
%4 = load i64* %3, align 4
%5 = getelementptr inbounds { %str_slice, %str_slice, i32 }* %0, i32 0, i32 2
%6 = load i32* %5, align 4
%7 = bitcast { %str_slice, i32 }* %1 to i8*
call void @llvm.lifetime.start(i64 12, i8* %7)
%8 = bitcast { %str_slice, i32 }* %1 to i64*
store i64 %4, i64* %8, align 8
%9 = getelementptr inbounds { %str_slice, i32 }* %1, i32 0, i32 1
store i32 %6, i32* %9, align 8
call fastcc void @_ZN9panicking9panic_fmt20hee234057c47967ccX6jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) %1)
unreachable
}
; Function Attrs: inlinehint nounwind uwtable
define internal fastcc void @_ZN4char9char.Char11encode_utf820h62f3c3abc93d24acJYjE(%"enum.core::option::Option<[uint]>[#1]"* noalias nocapture sret dereferenceable(8), i32 %.val, { i8*, i32 }* noalias nocapture dereferenceable(8)) unnamed_addr #5 {
entry-block:
%2 = icmp ult i32 %.val, 128
br i1 %2, label %join, label %else-block
join: ; preds = %entry-block
%3 = bitcast { i8*, i32 }* %1 to i64*
%4 = load i64* %3, align 4
%5 = icmp ugt i64 %4, 4294967295
%6 = trunc i64 %4 to i32
%7 = inttoptr i32 %6 to i8*
%extract86 = lshr i64 %4, 32
%extract.t87 = trunc i64 %extract86 to i32
br i1 %5, label %then-block-37767-, label %join1
then-block-37767-: ; preds = %join
%8 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 1
%9 = load i32* %8, align 4
%10 = icmp eq i32 %9, 0
br i1 %10, label %cond, label %next, !prof !296
next: ; preds = %then-block-37767-
%11 = trunc i32 %.val to i8
store i8 %11, i8* %7, align 1
%12 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %0, i32 0, i32 2, i32 0
store i32 1, i32* %12, align 4
%13 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %0, i32 0, i32 0
store i8 1, i8* %13, align 4
br label %join32
cond: ; preds = %then-block-37767-
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const61, i32 0, i32 0)
unreachable
else-block: ; preds = %entry-block
%14 = icmp ult i32 %.val, 2048
br i1 %14, label %else-block.join1_crit_edge, label %else-block8
else-block.join1_crit_edge: ; preds = %else-block
%.phi.trans.insert = bitcast { i8*, i32 }* %1 to i64*
%.pre = load i64* %.phi.trans.insert, align 4
%15 = trunc i64 %.pre to i32
%16 = inttoptr i32 %15 to i8*
%extract84 = lshr i64 %.pre, 32
%extract.t85 = trunc i64 %extract84 to i32
br label %join1
join1: ; preds = %else-block.join1_crit_edge, %join
%17 = phi i8* [ %16, %else-block.join1_crit_edge ], [ %7, %join ]
%.off3283 = phi i32 [ %extract.t85, %else-block.join1_crit_edge ], [ %extract.t87, %join ]
%18 = icmp ugt i32 %.off3283, 1
br i1 %18, label %then-block-37789-, label %else-block28
then-block-37789-: ; preds = %join1
%19 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 0
%20 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 1
%21 = load i32* %20, align 4
%22 = icmp eq i32 %21, 0
br i1 %22, label %cond5, label %next4, !prof !296
next4: ; preds = %then-block-37789-
%23 = lshr i32 %.val, 6
%.tr56 = trunc i32 %23 to i8
%24 = and i8 %.tr56, 31
%25 = or i8 %24, -64
store i8 %25, i8* %17, align 1
%26 = load i32* %20, align 4
%27 = icmp ult i32 %26, 2
br i1 %27, label %cond7, label %next6, !prof !296
cond5: ; preds = %then-block-37789-
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const62, i32 0, i32 0)
unreachable
next6: ; preds = %next4
%28 = load i8** %19, align 4
%.tr57 = trunc i32 %.val to i8
%29 = and i8 %.tr57, 63
%30 = or i8 %29, -128
%31 = getelementptr inbounds i8* %28, i32 1
store i8 %30, i8* %31, align 1
%32 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %0, i32 0, i32 2, i32 0
store i32 2, i32* %32, align 4
%33 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %0, i32 0, i32 0
store i8 1, i8* %33, align 4
br label %join32
cond7: ; preds = %next4
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const63, i32 1, i32 %26)
unreachable
else-block8: ; preds = %else-block
%34 = icmp ult i32 %.val, 65536
%.phi.trans.insert72 = bitcast { i8*, i32 }* %1 to i64*
%.pre73 = load i64* %.phi.trans.insert72, align 4
%35 = trunc i64 %.pre73 to i32
%36 = inttoptr i32 %35 to i8*
%extract79 = lshr i64 %.pre73, 32
%extract.t80 = trunc i64 %extract79 to i32
br i1 %34, label %join9, label %else-block18
join9: ; preds = %else-block8
%37 = icmp ugt i32 %extract.t80, 2
br i1 %37, label %then-block-37832-, label %else-block28
then-block-37832-: ; preds = %join9
%38 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 0
%39 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 1
%40 = load i32* %39, align 4
%41 = icmp eq i32 %40, 0
br i1 %41, label %cond13, label %next12, !prof !296
next12: ; preds = %then-block-37832-
%42 = lshr i32 %.val, 12
%.tr53 = trunc i32 %42 to i8
%43 = and i8 %.tr53, 15
%44 = or i8 %43, -32
store i8 %44, i8* %36, align 1
%45 = load i32* %39, align 4
%46 = icmp ult i32 %45, 2
br i1 %46, label %cond15, label %next14, !prof !296
cond13: ; preds = %then-block-37832-
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const64, i32 0, i32 0)
unreachable
next14: ; preds = %next12
%47 = load i8** %38, align 4
%48 = lshr i32 %.val, 6
%.tr54 = trunc i32 %48 to i8
%49 = and i8 %.tr54, 63
%50 = or i8 %49, -128
%51 = getelementptr inbounds i8* %47, i32 1
store i8 %50, i8* %51, align 1
%52 = icmp ult i32 %45, 3
br i1 %52, label %cond17, label %next16, !prof !296
cond15: ; preds = %next12
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const65, i32 1, i32 %45)
unreachable
next16: ; preds = %next14
%.tr55 = trunc i32 %.val to i8
%53 = and i8 %.tr55, 63
%54 = or i8 %53, -128
%55 = getelementptr inbounds i8* %47, i32 2
store i8 %54, i8* %55, align 1
%56 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %0, i32 0, i32 2, i32 0
store i32 3, i32* %56, align 4
%57 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %0, i32 0, i32 0
store i8 1, i8* %57, align 4
br label %join32
cond17: ; preds = %next14
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const66, i32 2, i32 %45)
unreachable
else-block18: ; preds = %else-block8
%58 = icmp ugt i32 %extract.t80, 3
br i1 %58, label %then-block-37887-, label %else-block28
then-block-37887-: ; preds = %else-block18
%59 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 0
%60 = getelementptr inbounds { i8*, i32 }* %1, i32 0, i32 1
%61 = load i32* %60, align 4
%62 = icmp eq i32 %61, 0
br i1 %62, label %cond21, label %next20, !prof !296
next20: ; preds = %then-block-37887-
%63 = lshr i32 %.val, 18
%64 = trunc i32 %63 to i8
%65 = or i8 %64, -16
store i8 %65, i8* %36, align 1
%66 = load i32* %60, align 4
%67 = icmp ult i32 %66, 2
br i1 %67, label %cond23, label %next22, !prof !296
cond21: ; preds = %then-block-37887-
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const67, i32 0, i32 0)
unreachable
next22: ; preds = %next20
%68 = load i8** %59, align 4
%69 = lshr i32 %.val, 12
%.tr = trunc i32 %69 to i8
%70 = and i8 %.tr, 63
%71 = or i8 %70, -128
%72 = getelementptr inbounds i8* %68, i32 1
store i8 %71, i8* %72, align 1
%73 = icmp ult i32 %66, 3
br i1 %73, label %cond25, label %next24, !prof !296
cond23: ; preds = %next20
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const68, i32 1, i32 %66)
unreachable
next24: ; preds = %next22
%74 = lshr i32 %.val, 6
%.tr51 = trunc i32 %74 to i8
%75 = and i8 %.tr51, 63
%76 = or i8 %75, -128
%77 = getelementptr inbounds i8* %68, i32 2
store i8 %76, i8* %77, align 1
%78 = icmp ult i32 %66, 4
br i1 %78, label %cond27, label %next26, !prof !296
cond25: ; preds = %next22
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const69, i32 2, i32 %66)
unreachable
next26: ; preds = %next24
%.tr52 = trunc i32 %.val to i8
%79 = and i8 %.tr52, 63
%80 = or i8 %79, -128
%81 = getelementptr inbounds i8* %68, i32 3
store i8 %80, i8* %81, align 1
%82 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %0, i32 0, i32 2, i32 0
store i32 4, i32* %82, align 4
%83 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %0, i32 0, i32 0
store i8 1, i8* %83, align 4
br label %join32
cond27: ; preds = %next24
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const70, i32 3, i32 %66)
unreachable
else-block28: ; preds = %else-block18, %join9, %join1
%84 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %0, i32 0, i32 0
store i8 0, i8* %84, align 4
br label %join32
join32: ; preds = %else-block28, %next26, %next16, %next6, %next
%85 = bitcast { i8*, i32 }* %1 to i8*
tail call void @llvm.lifetime.end(i64 8, i8* %85)
ret void
}
; Function Attrs: cold noinline noreturn nounwind uwtable
define internal fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12), i32, i32) unnamed_addr #14 {
entry-block:
call fastcc void @_ZN9panicking9panic_fmt20hee234057c47967ccX6jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) %0)
unreachable
}
; Function Attrs: cold noinline noreturn nounwind uwtable
define internal fastcc void @_ZN9panicking9panic_fmt20hee234057c47967ccX6jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12)) unnamed_addr #14 {
entry-block:
call void asm "hlt", "~{dirflag},~{fpsr},~{flags}"() #0, !srcloc !424
br label %loop_body.i.i
loop_body.i.i: ; preds = %loop_body.i.i, %entry-block
br label %loop_body.i.i
}
; Function Attrs: nounwind uwtable
define internal %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" @_ZN3fmt9char.Show3fmt20hb22e4547e250f0df32yE(i32* noalias nocapture readonly dereferenceable(4), %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture dereferenceable(52)) unnamed_addr #1 {
entry-block:
%arg.i.i = alloca %str_slice, align 8
%utf8.i = alloca i32, align 4
%2 = alloca %"enum.core::option::Option<[uint]>[#1]", align 8
%__fat_ptr1.i = alloca { i8*, i32 }, align 8
%3 = bitcast i32* %utf8.i to i8*
call void @llvm.lifetime.start(i64 4, i8* %3), !noalias !1156
store i32 0, i32* %utf8.i, align 4, !noalias !1156
%4 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %2, i32 0, i32 0
call void @llvm.lifetime.start(i64 8, i8* %4), !noalias !1156
%5 = bitcast { i8*, i32 }* %__fat_ptr1.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %5), !noalias !1156
%6 = getelementptr inbounds { i8*, i32 }* %__fat_ptr1.i, i32 0, i32 0
store i8* %3, i8** %6, align 8, !noalias !1156
%7 = getelementptr inbounds { i8*, i32 }* %__fat_ptr1.i, i32 0, i32 1
store i32 4, i32* %7, align 4, !noalias !1156
%.val = load i32* %0, align 4
call fastcc void @_ZN4char9char.Char11encode_utf820h62f3c3abc93d24acJYjE(%"enum.core::option::Option<[uint]>[#1]"* noalias nocapture sret dereferenceable(8) %2, i32 %.val, { i8*, i32 }* noalias nocapture dereferenceable(8) %__fat_ptr1.i)
call void @llvm.lifetime.end(i64 8, i8* %5), !noalias !1156
%8 = load i8* %4, align 8, !range !648, !alias.scope !1160, !noalias !1156
%cond.i.i = icmp eq i8 %8, 1
br i1 %cond.i.i, label %"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit.i", label %"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit.thread.i"
"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit.thread.i": ; preds = %entry-block
call void @llvm.lifetime.end(i64 8, i8* %4) #0, !alias.scope !1160, !noalias !1156
call void @llvm.lifetime.end(i64 8, i8* %4), !noalias !1156
br label %_ZN3fmt9char.Char3fmt20h463fea107ac90b89RSyE.exit
"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit.i": ; preds = %entry-block
%9 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %2, i32 0, i32 2, i32 0
%10 = load i32* %9, align 4, !alias.scope !1160, !noalias !1156
call void @llvm.lifetime.end(i64 8, i8* %4) #0, !alias.scope !1160, !noalias !1156
call void @llvm.lifetime.end(i64 8, i8* %4), !noalias !1156
%11 = icmp ugt i32 %10, 4
br i1 %11, label %then-block-53063-.i.i.i, label %_ZN3fmt9char.Char3fmt20h463fea107ac90b89RSyE.exit
then-block-53063-.i.i.i: ; preds = %"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit.i"
call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail14_MSG_FILE_LINE20hc91b2d16fb0cceb05XnE"), !noalias !1163
unreachable
_ZN3fmt9char.Char3fmt20h463fea107ac90b89RSyE.exit: ; preds = %"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit.i", %"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit.thread.i"
%sret_slot.0.i26.i = phi i32 [ 0, %"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit.thread.i" ], [ %10, %"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit.i" ]
%12 = ptrtoint i32* %utf8.i to i32
%__fat_ptr3.sroa.0.0.insert.ext.i = zext i32 %12 to i64
%.sroa.3.0.insert.ext.i.i = zext i32 %sret_slot.0.i26.i to i64
%.sroa.3.0.insert.shift.i.i = shl nuw i64 %.sroa.3.0.insert.ext.i.i, 32
%.sroa.0.0.insert.insert.i.i = or i64 %.sroa.3.0.insert.shift.i.i, %__fat_ptr3.sroa.0.0.insert.ext.i
%13 = bitcast %str_slice* %arg.i.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %13), !noalias !1173
%14 = bitcast %str_slice* %arg.i.i to i64*
store i64 %.sroa.0.0.insert.insert.i.i, i64* %14, align 8, !noalias !1173
%15 = call fastcc { i8, [0 x i8], [1 x i8] } @"_ZN3fmt22Formatter$LT$$x27a$GT$3pad20he52a9eabe06599076JyE"(%"struct.core::fmt::Formatter<[]>[#1]"* noalias dereferenceable(52) %1, %str_slice* noalias nocapture dereferenceable(8) %arg.i.i)
%newret = extractvalue { i8, [0 x i8], [1 x i8] } %15, 0
%oldret = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" undef, i8 %newret, 0
%newret1 = extractvalue { i8, [0 x i8], [1 x i8] } %15, 1
%oldret2 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %oldret, [0 x i8] %newret1, 1
%newret3 = extractvalue { i8, [0 x i8], [1 x i8] } %15, 2
%oldret4 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %oldret2, [1 x i8] %newret3, 2
call void @llvm.lifetime.end(i64 8, i8* %13), !noalias !1173
call void @llvm.lifetime.end(i64 4, i8* %3), !noalias !1156
ret %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %oldret4
}
; Function Attrs: nounwind uwtable
define internal fastcc { i8, [0 x i8], [1 x i8] } @"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral20h777fd6bc44d418fa4EyE"(%"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture dereferenceable(52), i1 zeroext, %str_slice* noalias nocapture dereferenceable(8), { i8*, i32 }* noalias nocapture dereferenceable(8)) unnamed_addr #1 {
entry-block:
%b.i35 = alloca i32, align 4
%4 = alloca %"enum.core::option::Option<[uint]>[#1]", align 8
%__fat_ptr1.i36 = alloca { i8*, i32 }, align 8
%trans_slice.i37 = alloca { i8*, i32 }, align 8
%5 = alloca { i8*, i32 }, align 8
%b.i7 = alloca i32, align 4
%6 = alloca %"enum.core::option::Option<[uint]>[#1]", align 8
%__fat_ptr1.i8 = alloca { i8*, i32 }, align 8
%trans_slice.i9 = alloca { i8*, i32 }, align 8
%7 = alloca { i8*, i32 }, align 8
%b.i = alloca i32, align 4
%8 = alloca %"enum.core::option::Option<[uint]>[#1]", align 8
%__fat_ptr1.i = alloca { i8*, i32 }, align 8
%trans_slice.i = alloca { i8*, i32 }, align 8
%9 = alloca { i8*, i32 }, align 8
%iret_slot = alloca %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]", align 8
%sign = alloca %"enum.option::Option<[char]>", align 8
%prefixed = alloca i8, align 1
%write_prefix = alloca { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }, align 8
%__closure = alloca { i32, {}*, i8*, i8*, { %"enum.option::Option<[char]>"*, i8*, %str_slice* } }, align 8
%ret_slot = alloca %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]", align 8
%arg23 = alloca { i8*, i32 }, align 8
%ret_slot33 = alloca %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]", align 8
%arg37 = alloca { i8*, i32 }, align 8
%ret_slot47 = alloca %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]", align 8
%10 = alloca { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }, align 8
%__closure51 = alloca { i32, {}*, i8*, i8*, { { i8*, i32 }* } }, align 8
%11 = alloca { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }, align 8
%__closure52 = alloca { i32, {}*, i8*, i8*, { { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }*, { i8*, i32 }* } }, align 8
%12 = bitcast { i8*, i32 }* %3 to i8*
%13 = bitcast { i8*, i32 }* %3 to i64*
%14 = load i64* %13, align 4
%.sroa.3.0.extract.shift.i = lshr i64 %14, 32
%.sroa.3.0.extract.trunc.i = trunc i64 %.sroa.3.0.extract.shift.i to i32
%15 = getelementptr inbounds %"enum.option::Option<[char]>"* %sign, i32 0, i32 0
call void @llvm.lifetime.start(i64 8, i8* %15)
store i8 0, i8* %15, align 8
br i1 %1, label %else-block, label %then-block-94215-
then-block-94215-: ; preds = %entry-block
store i8 1, i8* %15, align 8
%.sroa.3135.0..sroa_idx136 = getelementptr inbounds %"enum.option::Option<[char]>"* %sign, i32 0, i32 2, i32 0
store i32 45, i32* %.sroa.3135.0..sroa_idx136, align 4
%16 = add i32 %.sroa.3.0.extract.trunc.i, 1
%.phi.trans.insert = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 0
%.pre = load i32* %.phi.trans.insert, align 4
br label %join
else-block: ; preds = %entry-block
%17 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 0
%18 = load i32* %17, align 4
%19 = and i32 %18, 1
%20 = icmp eq i32 %19, 0
br i1 %20, label %join, label %then-block-94240-
then-block-94240-: ; preds = %else-block
store i8 1, i8* %15, align 8
%.sroa.3127.0..sroa_idx128 = getelementptr inbounds %"enum.option::Option<[char]>"* %sign, i32 0, i32 2, i32 0
store i32 43, i32* %.sroa.3127.0..sroa_idx128, align 4
%21 = add i32 %.sroa.3.0.extract.trunc.i, 1
br label %join
join: ; preds = %then-block-94240-, %else-block, %then-block-94215-
%22 = phi i32 [ %.pre, %then-block-94215- ], [ %18, %then-block-94240- ], [ %18, %else-block ]
%width.0 = phi i32 [ %16, %then-block-94215- ], [ %21, %then-block-94240- ], [ %.sroa.3.0.extract.trunc.i, %else-block ]
call void @llvm.lifetime.start(i64 1, i8* %prefixed)
store i8 0, i8* %prefixed, align 1
%23 = and i32 %22, 4
%24 = icmp eq i32 %23, 0
br i1 %24, label %next-block3, label %then-block-94271-
then-block-94271-: ; preds = %join
store i8 1, i8* %prefixed, align 1
%25 = bitcast %str_slice* %2 to i64*
%26 = load i64* %25, align 4
%.sroa.0.0.extract.trunc.i.i.i.i = trunc i64 %26 to i32
%27 = inttoptr i32 %.sroa.0.0.extract.trunc.i.i.i.i to i8*
%.sroa.3.0.extract.shift.i.i.i.i = lshr i64 %26, 32
%.sroa.3.0.extract.trunc.i.i.i.i = trunc i64 %.sroa.3.0.extract.shift.i.i.i.i to i32
%28 = getelementptr inbounds i8* %27, i32 %.sroa.3.0.extract.trunc.i.i.i.i
%29 = icmp eq i32 %.sroa.3.0.extract.trunc.i.i.i.i, 0
br i1 %29, label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i"
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i": ; preds = %then-block-94271-, %for_body.i.i.i
%30 = phi i8* [ %44, %for_body.i.i.i ], [ %27, %then-block-94271- ]
%accum.010.i.i.i = phi i32 [ %45, %for_body.i.i.i ], [ 0, %then-block-94271- ]
%31 = getelementptr inbounds i8* %30, i32 1
%32 = icmp eq i8* %30, null
br i1 %32, label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit, label %match_else.i.i.i.i
match_else.i.i.i.i: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i"
%33 = load i8* %30, align 1, !noalias !1177
%34 = icmp slt i8 %33, 0
br i1 %34, label %cond.i.i.i.i, label %for_body.i.i.i
cond.i.i.i.i: ; preds = %match_else.i.i.i.i
%35 = icmp eq i8* %31, %28
%36 = getelementptr inbounds i8* %30, i32 2
%..i.i = select i1 %35, i8* %28, i8* %36
%37 = icmp ugt i8 %33, -33
br i1 %37, label %then-block-59038-.i.i.i.i, label %for_body.i.i.i
then-block-59038-.i.i.i.i: ; preds = %cond.i.i.i.i
%38 = icmp eq i8* %..i.i, %28
br i1 %38, label %for_body.i.thread.i.i, label %_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i
for_body.i.thread.i.i: ; preds = %then-block-59038-.i.i.i.i
%39 = add i32 %accum.010.i.i.i, 1
br label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit
_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i: ; preds = %then-block-59038-.i.i.i.i
%40 = getelementptr inbounds i8* %..i.i, i32 1
%41 = icmp ult i8 %33, -16
%42 = icmp eq i8* %40, %28
%or.cond.i.i = or i1 %41, %42
%43 = getelementptr inbounds i8* %..i.i, i32 2
%.8.i.i = select i1 %or.cond.i.i, i8* %40, i8* %43
br label %for_body.i.i.i
for_body.i.i.i: ; preds = %_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i, %cond.i.i.i.i, %match_else.i.i.i.i
%44 = phi i8* [ %..i.i, %cond.i.i.i.i ], [ %31, %match_else.i.i.i.i ], [ %.8.i.i, %_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i ]
%45 = add i32 %accum.010.i.i.i, 1
%46 = icmp eq i8* %44, %28
br i1 %46, label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i"
_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i", %for_body.i.i.i, %for_body.i.thread.i.i, %then-block-94271-
%accum.0.lcssa.i.i.i = phi i32 [ 0, %then-block-94271- ], [ %39, %for_body.i.thread.i.i ], [ %accum.010.i.i.i, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i" ], [ %45, %for_body.i.i.i ]
%47 = add i32 %accum.0.lcssa.i.i.i, %width.0
br label %next-block3
next-block3: ; preds = %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit, %join
%48 = phi i8 [ 1, %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit ], [ 0, %join ]
%width.1 = phi i32 [ %47, %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit ], [ %width.0, %join ]
%49 = bitcast { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %write_prefix to i8*
call void @llvm.lifetime.start(i64 8, i8* %49)
%50 = bitcast { i32, {}*, i8*, i8*, { %"enum.option::Option<[char]>"*, i8*, %str_slice* } }* %__closure to i8*
call void @llvm.lifetime.start(i64 28, i8* %50)
%51 = getelementptr inbounds { i32, {}*, i8*, i8*, { %"enum.option::Option<[char]>"*, i8*, %str_slice* } }* %__closure, i32 0, i32 4, i32 0
store %"enum.option::Option<[char]>"* %sign, %"enum.option::Option<[char]>"** %51, align 8
%52 = getelementptr inbounds { i32, {}*, i8*, i8*, { %"enum.option::Option<[char]>"*, i8*, %str_slice* } }* %__closure, i32 0, i32 4, i32 1
store i8* %prefixed, i8** %52, align 4
%53 = getelementptr inbounds { i32, {}*, i8*, i8*, { %"enum.option::Option<[char]>"*, i8*, %str_slice* } }* %__closure, i32 0, i32 4, i32 2
store %str_slice* %2, %str_slice** %53, align 8
%54 = getelementptr inbounds { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %write_prefix, i32 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)* @"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E", %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %54, align 8
%55 = getelementptr inbounds { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %write_prefix, i32 0, i32 1
store i8* %50, i8** %55, align 4
%56 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 3, i32 0
%57 = load i8* %56, align 1, !range !648
%cond54 = icmp eq i8 %57, 0
br i1 %cond54, label %match_case, label %match_else
match_else: ; preds = %next-block3
%58 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 3, i32 2, i32 0
%59 = load i32* %58, align 4
%60 = icmp ugt i32 %59, %width.1
br i1 %60, label %cond, label %next
match_case: ; preds = %next-block3
%61 = bitcast %"enum.option::Option<[char]>"* %sign to i64*
%62 = load i64* %61, align 8, !noalias !1188
%trunc.i = trunc i64 %62 to i8
%63 = icmp eq i8 %trunc.i, 0
br i1 %63, label %for_exit.i, label %for_body.i
for_loopback.for_exit_crit_edge.i: ; preds = %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit.i"
call void @llvm.lifetime.end(i64 4, i8* %66) #0, !noalias !1188
%.pre103 = load i8* %prefixed, align 1, !noalias !1188
br label %for_exit.i
for_exit.i: ; preds = %for_loopback.for_exit_crit_edge.i, %match_case
%64 = phi i8 [ %.pre103, %for_loopback.for_exit_crit_edge.i ], [ %48, %match_case ]
%65 = icmp eq i8 %64, 0
%.pre106 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 0
br i1 %65, label %for_exit.i.match_case20_crit_edge, label %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit"
for_exit.i.match_case20_crit_edge: ; preds = %for_exit.i
%.pre107 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
br label %match_case20
for_body.i: ; preds = %match_case
%loop_option.i.sroa.6.0.extract.shift = lshr i64 %62, 32
%loop_option.i.sroa.6.0.extract.trunc = trunc i64 %loop_option.i.sroa.6.0.extract.shift to i32
%66 = bitcast i32* %b.i to i8*
%67 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %8, i32 0, i32 0
%68 = bitcast { i8*, i32 }* %__fat_ptr1.i to i8*
%69 = getelementptr inbounds { i8*, i32 }* %__fat_ptr1.i, i32 0, i32 0
%70 = getelementptr inbounds { i8*, i32 }* %__fat_ptr1.i, i32 0, i32 1
%71 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %8, i32 0, i32 2, i32 0
%72 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 0
%73 = load i8** %72, align 4, !alias.scope !1188
%74 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
%75 = load void (i8*)*** %74, align 4, !alias.scope !1188
%76 = getelementptr inbounds void (i8*)** %75, i32 3
%77 = bitcast { i8*, i32 }* %trans_slice.i to i8*
call void @llvm.lifetime.start(i64 4, i8* %66) #0, !noalias !1188
store i32 0, i32* %b.i, align 4, !noalias !1188
call void @llvm.lifetime.start(i64 8, i8* %67) #0, !noalias !1188
call void @llvm.lifetime.start(i64 8, i8* %68) #0, !noalias !1188
store i8* %66, i8** %69, align 8, !noalias !1188
store i32 4, i32* %70, align 4, !noalias !1188
call fastcc void @_ZN4char9char.Char11encode_utf820h62f3c3abc93d24acJYjE(%"enum.core::option::Option<[uint]>[#1]"* noalias nocapture sret dereferenceable(8) %8, i32 %loop_option.i.sroa.6.0.extract.trunc, { i8*, i32 }* noalias nocapture dereferenceable(8) %__fat_ptr1.i) #0
call void @llvm.lifetime.end(i64 8, i8* %68) #0, !noalias !1188
%78 = load i8* %67, align 8, !range !648, !alias.scope !1191, !noalias !1188
%cond.i.i = icmp eq i8 %78, 1
%79 = load i32* %71, align 4, !alias.scope !1191, !noalias !1188
%sret_slot.0.i.i = select i1 %cond.i.i, i32 %79, i32 0
call void @llvm.lifetime.end(i64 8, i8* %67) #0, !alias.scope !1191, !noalias !1188
call void @llvm.lifetime.end(i64 8, i8* %67) #0, !noalias !1188
%80 = load void (i8*)** %76, align 4, !noalias !1188
call void @llvm.lifetime.start(i64 8, i8* %77) #0, !noalias !1188
%81 = icmp ugt i32 %sret_slot.0.i.i, 4
br i1 %81, label %then-block-53063-.i.i.i, label %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit.i"
then-block-53063-.i.i.i: ; preds = %for_body.i
call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail14_MSG_FILE_LINE20hc91b2d16fb0cceb05XnE") #0, !noalias !1194
unreachable
"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit.i": ; preds = %for_body.i
%82 = bitcast { i8*, i32 }* %trans_slice.i to i64*
%83 = ptrtoint i32* %b.i to i32
%__fat_ptr3.sroa.0.0.insert.ext.i = zext i32 %83 to i64
%84 = bitcast void (i8*)* %80 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%.sroa.3.0.insert.ext.i.i = zext i32 %sret_slot.0.i.i to i64
%.sroa.3.0.insert.shift.i.i = shl nuw i64 %.sroa.3.0.insert.ext.i.i, 32
%.sroa.0.0.insert.insert.i.i = or i64 %.sroa.3.0.insert.shift.i.i, %__fat_ptr3.sroa.0.0.insert.ext.i
store i64 %.sroa.0.0.insert.insert.i.i, i64* %82, align 8, !alias.scope !1204, !noalias !1205
%85 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %84(i8* noalias nocapture dereferenceable(8) %73, { i8*, i32 }* noalias nocapture dereferenceable(8) %trans_slice.i) #0, !noalias !1188
%.fca.0.extract18.i = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %85, 0
call void @llvm.lifetime.end(i64 8, i8* %77) #0, !noalias !1188
%cond.i = icmp eq i8 %.fca.0.extract18.i, 0
br i1 %cond.i, label %for_loopback.for_exit_crit_edge.i, label %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit.thread66"
"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit.thread66": ; preds = %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit.i"
%.fca.2.0.extract20.i = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %85, 2, 0
call void @llvm.lifetime.end(i64 4, i8* %66) #0, !noalias !1188
br label %match_else19
"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit": ; preds = %for_exit.i
%86 = load i8** %.pre106, align 4, !alias.scope !1188
%87 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
%88 = load void (i8*)*** %87, align 4, !alias.scope !1188
%89 = getelementptr inbounds void (i8*)** %88, i32 3
%90 = load void (i8*)** %89, align 4, !noalias !1188
%91 = bitcast void (i8*)* %90 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%92 = bitcast { i8*, i32 }* %9 to i8*
call void @llvm.lifetime.start(i64 8, i8* %92) #0, !noalias !1188
%93 = bitcast %str_slice* %2 to i64*
%94 = load i64* %93, align 4, !noalias !1188
%95 = bitcast { i8*, i32 }* %9 to i64*
store i64 %94, i64* %95, align 8, !alias.scope !1206, !noalias !1209
%96 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %91(i8* noalias nocapture dereferenceable(8) %86, { i8*, i32 }* noalias nocapture dereferenceable(8) %9) #0, !noalias !1188
%.fca.0.extract30.i = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %96, 0
%.fca.2.0.extract32.i = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %96, 2, 0
call void @llvm.lifetime.end(i64 8, i8* %92) #0, !noalias !1188
%phitmp65 = icmp eq i8 %.fca.0.extract30.i, 0
br i1 %phitmp65, label %match_case20, label %match_else19
next: ; preds = %match_else
%97 = bitcast %"enum.option::Option<[char]>"* %sign to i64*
%98 = load i64* %97, align 8, !noalias !1211
%trunc.i10 = trunc i64 %98 to i8
%99 = icmp eq i8 %trunc.i10, 0
br i1 %99, label %for_exit.i12, label %for_body.i15
for_loopback.for_exit_crit_edge.i11: ; preds = %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit.i23"
call void @llvm.lifetime.end(i64 4, i8* %102) #0, !noalias !1211
%.pre105 = load i8* %prefixed, align 1, !noalias !1211
br label %for_exit.i12
for_exit.i12: ; preds = %for_loopback.for_exit_crit_edge.i11, %next
%100 = phi i8 [ %.pre105, %for_loopback.for_exit_crit_edge.i11 ], [ %48, %next ]
%101 = icmp eq i8 %100, 0
%.pre109 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 0
br i1 %101, label %for_exit.i12.match_case32_crit_edge, label %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit33"
for_exit.i12.match_case32_crit_edge: ; preds = %for_exit.i12
%.pre111 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
br label %match_case32
for_body.i15: ; preds = %next
%loop_option.i6.sroa.6.0.extract.shift = lshr i64 %98, 32
%loop_option.i6.sroa.6.0.extract.trunc = trunc i64 %loop_option.i6.sroa.6.0.extract.shift to i32
%102 = bitcast i32* %b.i7 to i8*
%103 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %6, i32 0, i32 0
%104 = bitcast { i8*, i32 }* %__fat_ptr1.i8 to i8*
%105 = getelementptr inbounds { i8*, i32 }* %__fat_ptr1.i8, i32 0, i32 0
%106 = getelementptr inbounds { i8*, i32 }* %__fat_ptr1.i8, i32 0, i32 1
%107 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %6, i32 0, i32 2, i32 0
%108 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 0
%109 = load i8** %108, align 4, !alias.scope !1211
%110 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
%111 = load void (i8*)*** %110, align 4, !alias.scope !1211
%112 = getelementptr inbounds void (i8*)** %111, i32 3
%113 = bitcast { i8*, i32 }* %trans_slice.i9 to i8*
call void @llvm.lifetime.start(i64 4, i8* %102) #0, !noalias !1211
store i32 0, i32* %b.i7, align 4, !noalias !1211
call void @llvm.lifetime.start(i64 8, i8* %103) #0, !noalias !1211
call void @llvm.lifetime.start(i64 8, i8* %104) #0, !noalias !1211
store i8* %102, i8** %105, align 8, !noalias !1211
store i32 4, i32* %106, align 4, !noalias !1211
call fastcc void @_ZN4char9char.Char11encode_utf820h62f3c3abc93d24acJYjE(%"enum.core::option::Option<[uint]>[#1]"* noalias nocapture sret dereferenceable(8) %6, i32 %loop_option.i6.sroa.6.0.extract.trunc, { i8*, i32 }* noalias nocapture dereferenceable(8) %__fat_ptr1.i8) #0
call void @llvm.lifetime.end(i64 8, i8* %104) #0, !noalias !1211
%114 = load i8* %103, align 8, !range !648, !alias.scope !1214, !noalias !1211
%cond.i.i13 = icmp eq i8 %114, 1
%115 = load i32* %107, align 4, !alias.scope !1214, !noalias !1211
%sret_slot.0.i.i14 = select i1 %cond.i.i13, i32 %115, i32 0
call void @llvm.lifetime.end(i64 8, i8* %103) #0, !alias.scope !1214, !noalias !1211
call void @llvm.lifetime.end(i64 8, i8* %103) #0, !noalias !1211
%116 = load void (i8*)** %112, align 4, !noalias !1211
call void @llvm.lifetime.start(i64 8, i8* %113) #0, !noalias !1211
%117 = icmp ugt i32 %sret_slot.0.i.i14, 4
br i1 %117, label %then-block-53063-.i.i.i16, label %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit.i23"
then-block-53063-.i.i.i16: ; preds = %for_body.i15
call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail14_MSG_FILE_LINE20hc91b2d16fb0cceb05XnE") #0, !noalias !1217
unreachable
"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit.i23": ; preds = %for_body.i15
%118 = bitcast { i8*, i32 }* %trans_slice.i9 to i64*
%119 = ptrtoint i32* %b.i7 to i32
%__fat_ptr3.sroa.0.0.insert.ext.i17 = zext i32 %119 to i64
%120 = bitcast void (i8*)* %116 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%.sroa.3.0.insert.ext.i.i18 = zext i32 %sret_slot.0.i.i14 to i64
%.sroa.3.0.insert.shift.i.i19 = shl nuw i64 %.sroa.3.0.insert.ext.i.i18, 32
%.sroa.0.0.insert.insert.i.i20 = or i64 %.sroa.3.0.insert.shift.i.i19, %__fat_ptr3.sroa.0.0.insert.ext.i17
store i64 %.sroa.0.0.insert.insert.i.i20, i64* %118, align 8, !alias.scope !1227, !noalias !1228
%121 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %120(i8* noalias nocapture dereferenceable(8) %109, { i8*, i32 }* noalias nocapture dereferenceable(8) %trans_slice.i9) #0, !noalias !1211
%.fca.0.extract18.i21 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %121, 0
call void @llvm.lifetime.end(i64 8, i8* %113) #0, !noalias !1211
%cond.i22 = icmp eq i8 %.fca.0.extract18.i21, 0
br i1 %cond.i22, label %for_loopback.for_exit_crit_edge.i11, label %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit33.thread68"
"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit33.thread68": ; preds = %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit.i23"
%.fca.2.0.extract20.i24 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %121, 2, 0
call void @llvm.lifetime.end(i64 4, i8* %102) #0, !noalias !1211
br label %match_else31
"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit33": ; preds = %for_exit.i12
%122 = load i8** %.pre109, align 4, !alias.scope !1211
%123 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
%124 = load void (i8*)*** %123, align 4, !alias.scope !1211
%125 = getelementptr inbounds void (i8*)** %124, i32 3
%126 = load void (i8*)** %125, align 4, !noalias !1211
%127 = bitcast void (i8*)* %126 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%128 = bitcast { i8*, i32 }* %7 to i8*
call void @llvm.lifetime.start(i64 8, i8* %128) #0, !noalias !1211
%129 = bitcast %str_slice* %2 to i64*
%130 = load i64* %129, align 4, !noalias !1211
%131 = bitcast { i8*, i32 }* %7 to i64*
store i64 %130, i64* %131, align 8, !alias.scope !1229, !noalias !1232
%132 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %127(i8* noalias nocapture dereferenceable(8) %122, { i8*, i32 }* noalias nocapture dereferenceable(8) %7) #0, !noalias !1211
%.fca.0.extract30.i30 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %132, 0
%.fca.2.0.extract32.i31 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %132, 2, 0
call void @llvm.lifetime.end(i64 8, i8* %128) #0, !noalias !1211
%phitmp = icmp eq i8 %.fca.0.extract30.i30, 0
br i1 %phitmp, label %match_case32, label %match_else31
cond: ; preds = %match_else
%133 = and i32 %22, 8
%134 = icmp eq i32 %133, 0
br i1 %134, label %cond13, label %next12
next12: ; preds = %cond
%135 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 1
store i32 48, i32* %135, align 4
%136 = bitcast %"enum.option::Option<[char]>"* %sign to i64*
%137 = load i64* %136, align 8, !noalias !1234
%trunc.i38 = trunc i64 %137 to i8
%138 = icmp eq i8 %trunc.i38, 0
br i1 %138, label %for_exit.i40, label %for_body.i43
for_loopback.for_exit_crit_edge.i39: ; preds = %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit.i51"
call void @llvm.lifetime.end(i64 4, i8* %141) #0, !noalias !1234
%.pre104 = load i8* %prefixed, align 1, !noalias !1234
br label %for_exit.i40
for_exit.i40: ; preds = %for_loopback.for_exit_crit_edge.i39, %next12
%139 = phi i8 [ %.pre104, %for_loopback.for_exit_crit_edge.i39 ], [ %48, %next12 ]
%140 = icmp eq i8 %139, 0
br i1 %140, label %match_case46, label %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit61"
for_body.i43: ; preds = %next12
%loop_option.i34.sroa.6.0.extract.shift = lshr i64 %137, 32
%loop_option.i34.sroa.6.0.extract.trunc = trunc i64 %loop_option.i34.sroa.6.0.extract.shift to i32
%141 = bitcast i32* %b.i35 to i8*
%142 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %4, i32 0, i32 0
%143 = bitcast { i8*, i32 }* %__fat_ptr1.i36 to i8*
%144 = getelementptr inbounds { i8*, i32 }* %__fat_ptr1.i36, i32 0, i32 0
%145 = getelementptr inbounds { i8*, i32 }* %__fat_ptr1.i36, i32 0, i32 1
%146 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %4, i32 0, i32 2, i32 0
%147 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 0
%148 = load i8** %147, align 4, !alias.scope !1234
%149 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
%150 = load void (i8*)*** %149, align 4, !alias.scope !1234
%151 = getelementptr inbounds void (i8*)** %150, i32 3
%152 = bitcast { i8*, i32 }* %trans_slice.i37 to i8*
call void @llvm.lifetime.start(i64 4, i8* %141) #0, !noalias !1234
store i32 0, i32* %b.i35, align 4, !noalias !1234
call void @llvm.lifetime.start(i64 8, i8* %142) #0, !noalias !1234
call void @llvm.lifetime.start(i64 8, i8* %143) #0, !noalias !1234
store i8* %141, i8** %144, align 8, !noalias !1234
store i32 4, i32* %145, align 4, !noalias !1234
call fastcc void @_ZN4char9char.Char11encode_utf820h62f3c3abc93d24acJYjE(%"enum.core::option::Option<[uint]>[#1]"* noalias nocapture sret dereferenceable(8) %4, i32 %loop_option.i34.sroa.6.0.extract.trunc, { i8*, i32 }* noalias nocapture dereferenceable(8) %__fat_ptr1.i36) #0
call void @llvm.lifetime.end(i64 8, i8* %143) #0, !noalias !1234
%153 = load i8* %142, align 8, !range !648, !alias.scope !1237, !noalias !1234
%cond.i.i41 = icmp eq i8 %153, 1
%154 = load i32* %146, align 4, !alias.scope !1237, !noalias !1234
%sret_slot.0.i.i42 = select i1 %cond.i.i41, i32 %154, i32 0
call void @llvm.lifetime.end(i64 8, i8* %142) #0, !alias.scope !1237, !noalias !1234
call void @llvm.lifetime.end(i64 8, i8* %142) #0, !noalias !1234
%155 = load void (i8*)** %151, align 4, !noalias !1234
call void @llvm.lifetime.start(i64 8, i8* %152) #0, !noalias !1234
%156 = icmp ugt i32 %sret_slot.0.i.i42, 4
br i1 %156, label %then-block-53063-.i.i.i44, label %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit.i51"
then-block-53063-.i.i.i44: ; preds = %for_body.i43
call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail14_MSG_FILE_LINE20hc91b2d16fb0cceb05XnE") #0, !noalias !1240
unreachable
"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit.i51": ; preds = %for_body.i43
%157 = bitcast { i8*, i32 }* %trans_slice.i37 to i64*
%158 = ptrtoint i32* %b.i35 to i32
%__fat_ptr3.sroa.0.0.insert.ext.i45 = zext i32 %158 to i64
%159 = bitcast void (i8*)* %155 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%.sroa.3.0.insert.ext.i.i46 = zext i32 %sret_slot.0.i.i42 to i64
%.sroa.3.0.insert.shift.i.i47 = shl nuw i64 %.sroa.3.0.insert.ext.i.i46, 32
%.sroa.0.0.insert.insert.i.i48 = or i64 %.sroa.3.0.insert.shift.i.i47, %__fat_ptr3.sroa.0.0.insert.ext.i45
store i64 %.sroa.0.0.insert.insert.i.i48, i64* %157, align 8, !alias.scope !1250, !noalias !1251
%160 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %159(i8* noalias nocapture dereferenceable(8) %148, { i8*, i32 }* noalias nocapture dereferenceable(8) %trans_slice.i37) #0, !noalias !1234
%.fca.0.extract18.i49 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %160, 0
call void @llvm.lifetime.end(i64 8, i8* %152) #0, !noalias !1234
%cond.i50 = icmp eq i8 %.fca.0.extract18.i49, 0
br i1 %cond.i50, label %for_loopback.for_exit_crit_edge.i39, label %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit61.thread70"
"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit61.thread70": ; preds = %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit.i51"
%.fca.2.0.extract20.i52 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %160, 2, 0
call void @llvm.lifetime.end(i64 4, i8* %141) #0, !noalias !1234
br label %match_else45
"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit61": ; preds = %for_exit.i40
%161 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 0
%162 = load i8** %161, align 4, !alias.scope !1234
%163 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
%164 = load void (i8*)*** %163, align 4, !alias.scope !1234
%165 = getelementptr inbounds void (i8*)** %164, i32 3
%166 = load void (i8*)** %165, align 4, !noalias !1234
%167 = bitcast void (i8*)* %166 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%168 = bitcast { i8*, i32 }* %5 to i8*
call void @llvm.lifetime.start(i64 8, i8* %168) #0, !noalias !1234
%169 = bitcast %str_slice* %2 to i64*
%170 = load i64* %169, align 4, !noalias !1234
%171 = bitcast { i8*, i32 }* %5 to i64*
store i64 %170, i64* %171, align 8, !alias.scope !1252, !noalias !1255
%172 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %167(i8* noalias nocapture dereferenceable(8) %162, { i8*, i32 }* noalias nocapture dereferenceable(8) %5) #0, !noalias !1234
%.fca.0.extract30.i58 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %172, 0
%.fca.2.0.extract32.i59 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %172, 2, 0
call void @llvm.lifetime.end(i64 8, i8* %168) #0, !noalias !1234
%phitmp64 = icmp eq i8 %.fca.0.extract30.i58, 0
br i1 %phitmp64, label %match_case46, label %match_else45
cond13: ; preds = %cond
%173 = sub i32 %59, %width.1
%174 = bitcast { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %11 to i8*
call void @llvm.lifetime.start(i64 8, i8* %174)
%175 = bitcast { i32, {}*, i8*, i8*, { { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }*, { i8*, i32 }* } }* %__closure52 to i8*
call void @llvm.lifetime.start(i64 24, i8* %175)
%176 = getelementptr inbounds { i32, {}*, i8*, i8*, { { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }*, { i8*, i32 }* } }* %__closure52, i32 0, i32 4, i32 0
store { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %write_prefix, { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }** %176, align 8
%177 = getelementptr inbounds { i32, {}*, i8*, i8*, { { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }*, { i8*, i32 }* } }* %__closure52, i32 0, i32 4, i32 1
store { i8*, i32 }* %3, { i8*, i32 }** %177, align 4
%178 = getelementptr inbounds { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %11, i32 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)* @"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21664E", %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %178, align 8
%179 = getelementptr inbounds { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %11, i32 0, i32 1
store i8* %175, i8** %179, align 4
%180 = call fastcc { i8, [1 x i8] } @"_ZN3fmt22Formatter$LT$$x27a$GT$12with_padding20h81c8da902d5762a9YLyE"(%"struct.core::fmt::Formatter<[]>[#1]"* noalias dereferenceable(52) %0, i32 %173, i8 1, { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* noalias nocapture dereferenceable(8) %11)
%newret = extractvalue { i8, [1 x i8] } %180, 0
%newret177 = extractvalue { i8, [1 x i8] } %180, 1
%.fca.0.gep158 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %iret_slot, i32 0, i32 0
store i8 %newret, i8* %.fca.0.gep158, align 8
%.fca.2.0.extract159 = extractvalue [1 x i8] %newret177, 0
%.fca.2.0.gep160 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %iret_slot, i32 0, i32 2, i32 0
store i8 %.fca.2.0.extract159, i8* %.fca.2.0.gep160, align 1
call void @llvm.lifetime.end(i64 8, i8* %174)
br label %join53
match_else19: ; preds = %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit.thread66", %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit"
%.fca.2.0.load.i67 = phi i8 [ %.fca.2.0.extract20.i, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit.thread66" ], [ %.fca.2.0.extract32.i, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit" ]
%181 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %ret_slot, i32 0, i32 2, i32 0
store i8 %.fca.2.0.load.i67, i8* %181, align 1
%182 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %ret_slot, i32 0, i32 0
store i8 1, i8* %182, align 8
br label %clean_ast_94194_
match_case20: ; preds = %for_exit.i.match_case20_crit_edge, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit"
%.pre-phi108 = phi void (i8*)*** [ %.pre107, %for_exit.i.match_case20_crit_edge ], [ %87, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit" ]
%.pre-phi = phi i8** [ %.pre106, %for_exit.i.match_case20_crit_edge ], [ %.pre106, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit" ]
%183 = load i8** %.pre-phi, align 4
%184 = load void (i8*)*** %.pre-phi108, align 4
%185 = getelementptr inbounds void (i8*)** %184, i32 3
%186 = load void (i8*)** %185, align 4
%187 = bitcast void (i8*)* %186 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%188 = bitcast { i8*, i32 }* %arg23 to i8*
call void @llvm.lifetime.start(i64 8, i8* %188)
%189 = bitcast { i8*, i32 }* %arg23 to i64*
%190 = load i64* %13, align 4
store i64 %190, i64* %189, align 8
%191 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %187(i8* noalias nocapture dereferenceable(8) %183, { i8*, i32 }* noalias nocapture dereferenceable(8) %arg23) #0
%.fca.0.extract145 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %191, 0
%.fca.0.gep146 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %iret_slot, i32 0, i32 0
store i8 %.fca.0.extract145, i8* %.fca.0.gep146, align 8
%.fca.2.0.extract147 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %191, 2, 0
%.fca.2.0.gep148 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %iret_slot, i32 0, i32 2, i32 0
store i8 %.fca.2.0.extract147, i8* %.fca.2.0.gep148, align 1
call void @llvm.lifetime.end(i64 8, i8* %188)
br label %join53
clean_custom_: ; preds = %join53, %clean_ast_94194_
%llretslotptr.0 = phi %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* [ %iret_slot, %join53 ], [ %llretslotptr.1, %clean_ast_94194_ ]
call void @llvm.lifetime.end(i64 8, i8* %12)
%192 = bitcast %str_slice* %2 to i8*
call void @llvm.lifetime.end(i64 8, i8* %192)
%.fca.0.gep173 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %llretslotptr.0, i32 0, i32 0
%.fca.0.load = load i8* %.fca.0.gep173, align 1
%.fca.2.0.gep175 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %llretslotptr.0, i32 0, i32 2, i32 0
%.fca.2.0.load = load i8* %.fca.2.0.gep175, align 1
%newret1 = insertvalue { i8, [0 x i8], [1 x i8] } undef, i8 %.fca.0.load, 0
%oldret4 = insertvalue [1 x i8] undef, i8 %.fca.2.0.load, 0
%newret5 = insertvalue { i8, [0 x i8], [1 x i8] } %newret1, [1 x i8] %oldret4, 2
ret { i8, [0 x i8], [1 x i8] } %newret5
clean_ast_94194_: ; preds = %match_else45, %match_else31, %match_else19
%llretslotptr.1 = phi %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* [ %ret_slot, %match_else19 ], [ %ret_slot47, %match_else45 ], [ %ret_slot33, %match_else31 ]
call void @llvm.lifetime.end(i64 8, i8* %49)
call void @llvm.lifetime.end(i64 1, i8* %prefixed)
call void @llvm.lifetime.end(i64 8, i8* %15)
br label %clean_custom_
match_else31: ; preds = %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit33.thread68", %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit33"
%.fca.2.0.load.i2669 = phi i8 [ %.fca.2.0.extract20.i24, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit33.thread68" ], [ %.fca.2.0.extract32.i31, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit33" ]
%193 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %ret_slot33, i32 0, i32 2, i32 0
store i8 %.fca.2.0.load.i2669, i8* %193, align 1
%194 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %ret_slot33, i32 0, i32 0
store i8 1, i8* %194, align 8
br label %clean_ast_94194_
match_case32: ; preds = %for_exit.i12.match_case32_crit_edge, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit33"
%.pre-phi112 = phi void (i8*)*** [ %.pre111, %for_exit.i12.match_case32_crit_edge ], [ %123, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit33" ]
%.pre-phi110 = phi i8** [ %.pre109, %for_exit.i12.match_case32_crit_edge ], [ %.pre109, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit33" ]
%195 = load i8** %.pre-phi110, align 4
%196 = load void (i8*)*** %.pre-phi112, align 4
%197 = getelementptr inbounds void (i8*)** %196, i32 3
%198 = load void (i8*)** %197, align 4
%199 = bitcast void (i8*)* %198 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%200 = bitcast { i8*, i32 }* %arg37 to i8*
call void @llvm.lifetime.start(i64 8, i8* %200)
%201 = bitcast { i8*, i32 }* %arg37 to i64*
%202 = load i64* %13, align 4
store i64 %202, i64* %201, align 8
%203 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %199(i8* noalias nocapture dereferenceable(8) %195, { i8*, i32 }* noalias nocapture dereferenceable(8) %arg37) #0
%.fca.0.extract149 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %203, 0
%.fca.0.gep150 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %iret_slot, i32 0, i32 0
store i8 %.fca.0.extract149, i8* %.fca.0.gep150, align 8
%.fca.2.0.extract151 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %203, 2, 0
%.fca.2.0.gep152 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %iret_slot, i32 0, i32 2, i32 0
store i8 %.fca.2.0.extract151, i8* %.fca.2.0.gep152, align 1
call void @llvm.lifetime.end(i64 8, i8* %200)
br label %join53
match_else45: ; preds = %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit61.thread70", %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit61"
%.fca.2.0.load.i5471 = phi i8 [ %.fca.2.0.extract20.i52, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit61.thread70" ], [ %.fca.2.0.extract32.i59, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit61" ]
%204 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %ret_slot47, i32 0, i32 2, i32 0
store i8 %.fca.2.0.load.i5471, i8* %204, align 1
%205 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %ret_slot47, i32 0, i32 0
store i8 1, i8* %205, align 8
br label %clean_ast_94194_
match_case46: ; preds = %for_exit.i40, %"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E.exit61"
%206 = sub i32 %59, %width.1
%207 = bitcast { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %10 to i8*
call void @llvm.lifetime.start(i64 8, i8* %207)
%208 = bitcast { i32, {}*, i8*, i8*, { { i8*, i32 }* } }* %__closure51 to i8*
call void @llvm.lifetime.start(i64 20, i8* %208)
%209 = getelementptr inbounds { i32, {}*, i8*, i8*, { { i8*, i32 }* } }* %__closure51, i32 0, i32 4, i32 0
store { i8*, i32 }* %3, { i8*, i32 }** %209, align 8
%210 = getelementptr inbounds { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %10, i32 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)* @"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21662E", %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %210, align 8
%211 = getelementptr inbounds { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %10, i32 0, i32 1
store i8* %208, i8** %211, align 4
%212 = call fastcc { i8, [1 x i8] } @"_ZN3fmt22Formatter$LT$$x27a$GT$12with_padding20h81c8da902d5762a9YLyE"(%"struct.core::fmt::Formatter<[]>[#1]"* noalias dereferenceable(52) %0, i32 %206, i8 1, { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* noalias nocapture dereferenceable(8) %10)
%newret179 = extractvalue { i8, [1 x i8] } %212, 0
%newret181 = extractvalue { i8, [1 x i8] } %212, 1
%.fca.0.gep154 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %iret_slot, i32 0, i32 0
store i8 %newret179, i8* %.fca.0.gep154, align 8
%.fca.2.0.extract155 = extractvalue [1 x i8] %newret181, 0
%.fca.2.0.gep156 = getelementptr inbounds %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]"* %iret_slot, i32 0, i32 2, i32 0
store i8 %.fca.2.0.extract155, i8* %.fca.2.0.gep156, align 1
call void @llvm.lifetime.end(i64 8, i8* %207)
br label %join53
join53: ; preds = %match_case46, %match_case32, %match_case20, %cond13
call void @llvm.lifetime.end(i64 8, i8* %49)
call void @llvm.lifetime.end(i64 1, i8* %prefixed)
call void @llvm.lifetime.end(i64 8, i8* %15)
br label %clean_custom_
}
; Function Attrs: nounwind uwtable
define internal fastcc { i8, [0 x i8], [1 x i8] } @_ZN3fmt3num17int.fmt..LowerHex3fmt20h4eb5fc390e9d6affCDxE(i32 %.val, %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture dereferenceable(52)) unnamed_addr #1 {
entry-block:
%buf.i = alloca [64 x i8], align 1
%1 = alloca %str_slice, align 8
%trans_slice.i = alloca { i8*, i32 }, align 8
%buf129.i = getelementptr inbounds [64 x i8]* %buf.i, i32 0, i32 0
call void @llvm.lifetime.start(i64 64, i8* %buf129.i) #0, !noalias !1257
call void @llvm.memset.p0i8.i32(i8* %buf129.i, i8 0, i32 64, i32 1, i1 false) #0, !noalias !1257
%2 = getelementptr inbounds [64 x i8]* %buf.i, i32 0, i32 64
br label %for_loopback.i
for_loopback.i: ; preds = %_ZN3fmt3num21LowerHex.GenericRadix5digit20h21d0e07a91a04863XrxE.exit30.i, %entry-block
%3 = phi i32 [ %7, %_ZN3fmt3num21LowerHex.GenericRadix5digit20h21d0e07a91a04863XrxE.exit30.i ], [ %.val, %entry-block ]
%.sroa.3.0.extract.trunc.i123.i = phi i32 [ %13, %_ZN3fmt3num21LowerHex.GenericRadix5digit20h21d0e07a91a04863XrxE.exit30.i ], [ 64, %entry-block ]
%4 = phi i8* [ %6, %_ZN3fmt3num21LowerHex.GenericRadix5digit20h21d0e07a91a04863XrxE.exit30.i ], [ %2, %entry-block ]
%5 = icmp eq i8* %4, %buf129.i
br i1 %5, label %join.i, label %"_ZN4iter30Rev$LT$T$GT$.Iterator$LT$A$GT$4next21h14273705560127579091E.exit33.i"
"_ZN4iter30Rev$LT$T$GT$.Iterator$LT$A$GT$4next21h14273705560127579091E.exit33.i": ; preds = %for_loopback.i
%6 = getelementptr inbounds i8* %4, i32 -1
%7 = lshr i32 %3, 4
%.tr.i = trunc i32 %3 to i8
%8 = and i8 %.tr.i, 15
%9 = icmp ult i8 %8, 10
br i1 %9, label %match_case.i20.i, label %compare_next.i22.i
match_case.i20.i: ; preds = %"_ZN4iter30Rev$LT$T$GT$.Iterator$LT$A$GT$4next21h14273705560127579091E.exit33.i"
%10 = or i8 %8, 48
br label %_ZN3fmt3num21LowerHex.GenericRadix5digit20h21d0e07a91a04863XrxE.exit30.i
compare_next.i22.i: ; preds = %"_ZN4iter30Rev$LT$T$GT$.Iterator$LT$A$GT$4next21h14273705560127579091E.exit33.i"
%.off.i21.i = add nsw i8 %8, -10
%11 = icmp ult i8 %.off.i21.i, 6
br i1 %11, label %match_case8.i23.i, label %compare_next9.i28.i
match_case8.i23.i: ; preds = %compare_next.i22.i
%12 = add nuw i8 %8, 87
br label %_ZN3fmt3num21LowerHex.GenericRadix5digit20h21d0e07a91a04863XrxE.exit30.i
compare_next9.i28.i: ; preds = %compare_next.i22.i
call fastcc void @_ZN9panicking9panic_fmt20hee234057c47967ccX6jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @_ZN3fmt3num21LowerHex.GenericRadix5digit8_run_fmt10_FILE_LINE20h4d8e743c6888f3ffGsxE) #0
unreachable
_ZN3fmt3num21LowerHex.GenericRadix5digit20h21d0e07a91a04863XrxE.exit30.i: ; preds = %match_case8.i23.i, %match_case.i20.i
%sret_slot.0.i29.i = phi i8 [ %10, %match_case.i20.i ], [ %12, %match_case8.i23.i ]
store i8 %sret_slot.0.i29.i, i8* %6, align 1, !noalias !1257
%13 = add i32 %.sroa.3.0.extract.trunc.i123.i, -1
%14 = icmp eq i32 %7, 0
br i1 %14, label %join.i, label %for_loopback.i
join.i: ; preds = %_ZN3fmt3num21LowerHex.GenericRadix5digit20h21d0e07a91a04863XrxE.exit30.i, %for_loopback.i
%.sroa.3.0.extract.trunc.i126.i = phi i32 [ %13, %_ZN3fmt3num21LowerHex.GenericRadix5digit20h21d0e07a91a04863XrxE.exit30.i ], [ %.sroa.3.0.extract.trunc.i123.i, %for_loopback.i ]
%15 = bitcast %str_slice* %1 to i8*
call void @llvm.lifetime.start(i64 8, i8* %15) #0, !noalias !1257
%.sroa.0.0..sroa_idx.i.i = getelementptr inbounds %str_slice* %1, i32 0, i32 0
store i8* getelementptr inbounds ([2 x i8]* @str21651, i32 0, i32 0), i8** %.sroa.0.0..sroa_idx.i.i, align 8, !alias.scope !1260, !noalias !1257
%.sroa.3.0..sroa_idx1.i.i = getelementptr inbounds %str_slice* %1, i32 0, i32 1
store i32 2, i32* %.sroa.3.0..sroa_idx1.i.i, align 4, !alias.scope !1260, !noalias !1257
%16 = bitcast { i8*, i32 }* %trans_slice.i to i8*
call void @llvm.lifetime.start(i64 8, i8* %16) #0, !noalias !1257
%17 = icmp ugt i32 %.sroa.3.0.extract.trunc.i126.i, 64
br i1 %17, label %then-block-53031-.i.i.i, label %_ZN3fmt3num12GenericRadix7fmt_int21h12478102606111047186E.exit
then-block-53031-.i.i.i: ; preds = %join.i
call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail14_MSG_FILE_LINE20hc91b2d16fb0cceb0zXnE") #0, !noalias !1263
unreachable
_ZN3fmt3num12GenericRadix7fmt_int21h12478102606111047186E.exit: ; preds = %join.i
%18 = getelementptr inbounds [64 x i8]* %buf.i, i32 0, i32 %.sroa.3.0.extract.trunc.i126.i
%19 = sub i32 64, %.sroa.3.0.extract.trunc.i126.i
%20 = ptrtoint i8* %18 to i32
%21 = bitcast { i8*, i32 }* %trans_slice.i to i64*
%.sroa.3.0.insert.ext.i.i = zext i32 %19 to i64
%.sroa.3.0.insert.shift.i.i = shl nuw i64 %.sroa.3.0.insert.ext.i.i, 32
%.sroa.0.0.insert.ext.i.i = zext i32 %20 to i64
%.sroa.0.0.insert.insert.i.i = or i64 %.sroa.3.0.insert.shift.i.i, %.sroa.0.0.insert.ext.i.i
store i64 %.sroa.0.0.insert.insert.i.i, i64* %21, align 8, !alias.scope !1273, !noalias !1274
%22 = call fastcc { i8, [0 x i8], [1 x i8] } @"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral20h777fd6bc44d418fa4EyE"(%"struct.core::fmt::Formatter<[]>[#1]"* noalias dereferenceable(52) %0, i1 zeroext true, %str_slice* noalias nocapture dereferenceable(8) %1, { i8*, i32 }* noalias nocapture dereferenceable(8) %trans_slice.i) #0
call void @llvm.lifetime.end(i64 8, i8* %16) #0, !noalias !1257
call void @llvm.lifetime.end(i64 8, i8* %15) #0, !noalias !1257
call void @llvm.lifetime.end(i64 64, i8* %buf129.i) #0, !noalias !1257
ret { i8, [0 x i8], [1 x i8] } %22
}
; Function Attrs: nounwind uwtable
define internal fastcc { i8, [0 x i8], [1 x i8] } @_ZN3fmt5write20h5827686785ba263fOzyE({ i8*, void (i8*)** }* noalias nocapture dereferenceable(8), %"struct.core::fmt::Arguments<[]>[#1]"* noalias nocapture readonly dereferenceable(24)) unnamed_addr #1 {
entry-block:
%formatter = alloca %"struct.core::fmt::Formatter<[]>[#1]", align 8
%2 = alloca { i8*, i32 }, align 8
%3 = alloca { i8*, i32 }, align 8
%4 = alloca { i8*, i32 }, align 8
%5 = bitcast %"struct.core::fmt::Formatter<[]>[#1]"* %formatter to i8*
call void @llvm.lifetime.start(i64 52, i8* %5)
%6 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %formatter, i32 0, i32 0
store i32 0, i32* %6, align 8
%7 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %formatter, i32 0, i32 3, i32 0
store i8 0, i8* %7, align 4
%8 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %formatter, i32 0, i32 4, i32 0
store i8 0, i8* %8, align 4
%9 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %formatter, i32 0, i32 5
%10 = bitcast { i8*, void (i8*)** }* %0 to i8*
%11 = bitcast { i8*, void (i8*)** }* %0 to i64*
%12 = bitcast { i8*, void (i8*)** }* %9 to i64*
%13 = load i64* %11, align 4
store i64 %13, i64* %12, align 4
%14 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %formatter, i32 0, i32 2
store i8 3, i8* %14, align 8
%15 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %formatter, i32 0, i32 1
store i32 32, i32* %15, align 4
%16 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %formatter, i32 0, i32 7
%17 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#1]"* %1, i32 0, i32 2
%18 = bitcast { %"struct.core::fmt::Argument<[]>[#1]"*, i32 }* %17 to i64*
%19 = bitcast { %"struct.core::fmt::Argument<[]>[#1]"*, i32 }* %16 to i64*
%20 = load i64* %18, align 4
store i64 %20, i64* %19, align 4
%.sroa.0.0.extract.trunc.i.i = trunc i64 %20 to i32
%21 = inttoptr i32 %.sroa.0.0.extract.trunc.i.i to %"struct.core::fmt::Argument<[]>[#1]"*
%22 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %formatter, i32 0, i32 6, i32 0
store %"struct.core::fmt::Argument<[]>[#1]"* %21, %"struct.core::fmt::Argument<[]>[#1]"** %22, align 4, !alias.scope !1275, !noalias !1278
%23 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %formatter, i32 0, i32 6, i32 1
%.sroa.3.0.extract.shift.i.i = lshr i64 %20, 32
%.sroa.3.0.extract.trunc.i.i = trunc i64 %.sroa.3.0.extract.shift.i.i to i32
%24 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %21, i32 %.sroa.3.0.extract.trunc.i.i
store %"struct.core::fmt::Argument<[]>[#1]"* %24, %"struct.core::fmt::Argument<[]>[#1]"** %23, align 4, !alias.scope !1275, !noalias !1278
%25 = bitcast %"struct.core::fmt::Arguments<[]>[#1]"* %1 to i64*
%26 = load i64* %25, align 4
%.sroa.0.0.extract.trunc.i.i209 = trunc i64 %26 to i32
%27 = inttoptr i32 %.sroa.0.0.extract.trunc.i.i209 to %str_slice*
%.sroa.3.0.extract.shift.i.i210 = lshr i64 %26, 32
%.sroa.3.0.extract.trunc.i.i211 = trunc i64 %.sroa.3.0.extract.shift.i.i210 to i32
%28 = getelementptr inbounds %str_slice* %27, i32 %.sroa.3.0.extract.trunc.i.i211
%29 = getelementptr inbounds %"struct.core::fmt::Arguments<[]>[#1]"* %1, i32 0, i32 1
%30 = getelementptr inbounds %"enum.core::option::Option<[&'static [core::fmt::rt::Argument]]>[#1]"* %29, i32 0, i32 0, i32 0
%31 = load %"struct.core::fmt::rt::Argument<[]>[#1]"** %30, align 4
%32 = icmp eq %"struct.core::fmt::rt::Argument<[]>[#1]"* %31, null
br i1 %32, label %match_case, label %match_else
match_else: ; preds = %entry-block
%33 = bitcast %"enum.core::option::Option<[&'static [core::fmt::rt::Argument]]>[#1]"* %29 to i64*
%34 = load i64* %33, align 4
%.sroa.0.0.extract.trunc.i.i212 = trunc i64 %34 to i32
%35 = inttoptr i32 %.sroa.0.0.extract.trunc.i.i212 to %"struct.core::fmt::rt::Argument<[]>[#1]"*
%.sroa.3.0.extract.shift.i.i213 = lshr i64 %34, 32
%.sroa.3.0.extract.trunc.i.i214 = trunc i64 %.sroa.3.0.extract.shift.i.i213 to i32
%36 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %35, i32 %.sroa.3.0.extract.trunc.i.i214
%37 = getelementptr inbounds { i8*, void (i8*)** }* %9, i32 0, i32 0
%38 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %formatter, i32 0, i32 5, i32 1
%39 = bitcast { i8*, i32 }* %3 to i8*
%40 = bitcast { i8*, i32 }* %3 to i64*
br label %for_loopback27
match_case: ; preds = %entry-block
%41 = getelementptr inbounds { i8*, void (i8*)** }* %9, i32 0, i32 0
%42 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %formatter, i32 0, i32 5, i32 1
%43 = bitcast { i8*, i32 }* %2 to i8*
%44 = bitcast { i8*, i32 }* %2 to i64*
br label %for_loopback
for_loopback: ; preds = %match_case10, %match_case
%45 = phi %str_slice* [ %27, %match_case ], [ %55, %match_case10 ]
%46 = phi i32 [ 0, %match_case ], [ %48, %match_case10 ]
%47 = icmp ult i32 %46, %.sroa.3.0.extract.trunc.i.i
br i1 %47, label %for_body, label %join57
for_body: ; preds = %for_loopback
%48 = add i32 %46, 1
%49 = load i8** %41, align 4
%50 = load void (i8*)*** %42, align 4
%51 = getelementptr inbounds void (i8*)** %50, i32 3
%52 = load void (i8*)** %51, align 4
%53 = bitcast void (i8*)* %52 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
call void @llvm.lifetime.start(i64 8, i8* %43)
%54 = icmp eq %str_slice* %45, %28
br i1 %54, label %match_else.i215, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h1423343555541568962E.exit220"
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h1423343555541568962E.exit220": ; preds = %for_body
%55 = getelementptr inbounds %str_slice* %45, i32 1
%56 = icmp eq %str_slice* %45, null
br i1 %56, label %match_else.i215, label %"_ZN6option15Option$LT$T$GT$6unwrap19h996258155217610133E.exit"
match_else.i215: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h1423343555541568962E.exit220", %for_body
tail call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @"_ZN6option15Option$LT$T$GT$6unwrap14_MSG_FILE_LINE20hc91b2d16fb0cceb0svmE")
unreachable
"_ZN6option15Option$LT$T$GT$6unwrap19h996258155217610133E.exit": ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h1423343555541568962E.exit220"
%57 = getelementptr inbounds %str_slice* %45, i32 0, i32 0
%58 = load i8** %57, align 4
%59 = getelementptr inbounds %str_slice* %45, i32 0, i32 1
%60 = load i32* %59, align 4
%61 = ptrtoint i8* %58 to i32
%__fat_ptr.sroa.5.0.insert.ext = zext i32 %60 to i64
%__fat_ptr.sroa.5.0.insert.shift = shl nuw i64 %__fat_ptr.sroa.5.0.insert.ext, 32
%__fat_ptr.sroa.0.0.insert.ext = zext i32 %61 to i64
%__fat_ptr.sroa.0.0.insert.insert = or i64 %__fat_ptr.sroa.5.0.insert.shift, %__fat_ptr.sroa.0.0.insert.ext
store i64 %__fat_ptr.sroa.0.0.insert.insert, i64* %44, align 8, !alias.scope !1280, !noalias !1283
%62 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %53(i8* noalias nocapture dereferenceable(8) %49, { i8*, i32 }* noalias nocapture dereferenceable(8) %2) #0
%.fca.0.extract173 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %62, 0
call void @llvm.lifetime.end(i64 8, i8* %43)
%cond83 = icmp eq i8 %.fca.0.extract173, 0
br i1 %cond83, label %match_case10, label %match_else9
match_else9: ; preds = %"_ZN6option15Option$LT$T$GT$6unwrap19h996258155217610133E.exit"
%.fca.2.0.extract175 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %62, 2, 0
br label %clean_ast_93860_
match_case10: ; preds = %"_ZN6option15Option$LT$T$GT$6unwrap19h996258155217610133E.exit"
%63 = call fastcc { i8, [1 x i8] } @"_ZN3fmt22Formatter$LT$$x27a$GT$3run20h8a6f47a43ea60031qCyE"(%"struct.core::fmt::Formatter<[]>[#1]"* noalias dereferenceable(52) %formatter, %"struct.core::fmt::rt::Argument<[]>[#1]"* noalias readonly dereferenceable(36) bitcast ({ { i8, [7 x i8] }, { i32, i8, i32, { i8, [7 x i8] }, { i8, [7 x i8] } } }* @_ZN3fmt16DEFAULT_ARGUMENT20h67107e7ae7f475fcCzyE to %"struct.core::fmt::rt::Argument<[]>[#1]"*))
%newret204 = extractvalue { i8, [1 x i8] } %63, 0
%cond84 = icmp eq i8 %newret204, 0
br i1 %cond84, label %for_loopback, label %match_else20
clean_custom_: ; preds = %join78, %clean_ast_93860_
%sret_slot.sroa.0.0 = phi i8 [ 1, %clean_ast_93860_ ], [ 0, %join78 ]
%sret_slot.sroa.7.0 = phi i8 [ %sret_slot.sroa.7.1, %clean_ast_93860_ ], [ undef, %join78 ]
tail call void @llvm.lifetime.end(i64 8, i8* %10)
%newret1 = insertvalue { i8, [0 x i8], [1 x i8] } undef, i8 %sret_slot.sroa.0.0, 0
%oldret4 = insertvalue [1 x i8] undef, i8 %sret_slot.sroa.7.0, 0
%newret5 = insertvalue { i8, [0 x i8], [1 x i8] } %newret1, [1 x i8] %oldret4, 2
ret { i8, [0 x i8], [1 x i8] } %newret5
clean_ast_93860_: ; preds = %match_else73, %match_else53, %match_else39, %match_else20, %match_else9
%sret_slot.sroa.7.1 = phi i8 [ %.fca.2.0.extract90, %match_else73 ], [ %.fca.2.0.extract152, %match_else20 ], [ %.fca.2.0.extract175, %match_else9 ], [ %.fca.2.0.extract107, %match_else53 ], [ %.fca.2.0.extract124, %match_else39 ]
call void @llvm.lifetime.end(i64 52, i8* %5)
br label %clean_custom_
match_else20: ; preds = %match_case10
%newret206 = extractvalue { i8, [1 x i8] } %63, 1
%.fca.2.0.extract152 = extractvalue [1 x i8] %newret206, 0
br label %clean_ast_93860_
for_loopback27: ; preds = %match_case40, %match_else
%64 = phi %str_slice* [ %27, %match_else ], [ %69, %match_case40 ]
%.sroa.0.sroa.0257.0..sroa.0.0.295 = phi %"struct.core::fmt::rt::Argument<[]>[#1]"* [ %35, %match_else ], [ %66, %match_case40 ]
%65 = icmp eq %"struct.core::fmt::rt::Argument<[]>[#1]"* %.sroa.0.sroa.0257.0..sroa.0.0.295, %36
br i1 %65, label %join57, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h7325345601185810098E.exit.i"
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h7325345601185810098E.exit.i": ; preds = %for_loopback27
%66 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %.sroa.0.sroa.0257.0..sroa.0.0.295, i32 1
%67 = icmp eq %"struct.core::fmt::rt::Argument<[]>[#1]"* %.sroa.0.sroa.0257.0..sroa.0.0.295, null
br i1 %67, label %join57, label %match_else.i
match_else.i: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h7325345601185810098E.exit.i"
%68 = icmp eq %str_slice* %64, %28
br i1 %68, label %join78, label %"_ZN4iter44ByRef$LT$$x27a$C$$x20T$GT$.Iterator$LT$A$GT$4next20h2854796029564223975E.exit.i"
"_ZN4iter44ByRef$LT$$x27a$C$$x20T$GT$.Iterator$LT$A$GT$4next20h2854796029564223975E.exit.i": ; preds = %match_else.i
%69 = getelementptr inbounds %str_slice* %64, i32 1
%70 = icmp eq %str_slice* %64, null
br i1 %70, label %join57, label %for_body28
for_body28: ; preds = %"_ZN4iter44ByRef$LT$$x27a$C$$x20T$GT$.Iterator$LT$A$GT$4next20h2854796029564223975E.exit.i"
%71 = load i8** %37, align 4
%72 = load void (i8*)*** %38, align 4
%73 = getelementptr inbounds void (i8*)** %72, i32 3
%74 = load void (i8*)** %73, align 4
%75 = bitcast void (i8*)* %74 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
call void @llvm.lifetime.start(i64 8, i8* %39)
%76 = getelementptr inbounds %str_slice* %64, i32 0, i32 0
%77 = load i8** %76, align 4
%78 = getelementptr inbounds %str_slice* %64, i32 0, i32 1
%79 = load i32* %78, align 4
%80 = ptrtoint i8* %77 to i32
%__fat_ptr31.sroa.5.0.insert.ext = zext i32 %79 to i64
%__fat_ptr31.sroa.5.0.insert.shift = shl nuw i64 %__fat_ptr31.sroa.5.0.insert.ext, 32
%__fat_ptr31.sroa.0.0.insert.ext = zext i32 %80 to i64
%__fat_ptr31.sroa.0.0.insert.insert = or i64 %__fat_ptr31.sroa.5.0.insert.shift, %__fat_ptr31.sroa.0.0.insert.ext
store i64 %__fat_ptr31.sroa.0.0.insert.insert, i64* %40, align 8, !alias.scope !1285, !noalias !1288
%81 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %75(i8* noalias nocapture dereferenceable(8) %71, { i8*, i32 }* noalias nocapture dereferenceable(8) %3) #0
%.fca.0.extract122 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %81, 0
call void @llvm.lifetime.end(i64 8, i8* %39)
%cond81 = icmp eq i8 %.fca.0.extract122, 0
br i1 %cond81, label %match_case40, label %match_else39
match_else39: ; preds = %for_body28
%.fca.2.0.extract124 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %81, 2, 0
br label %clean_ast_93860_
match_case40: ; preds = %for_body28
%82 = call fastcc { i8, [1 x i8] } @"_ZN3fmt22Formatter$LT$$x27a$GT$3run20h8a6f47a43ea60031qCyE"(%"struct.core::fmt::Formatter<[]>[#1]"* noalias dereferenceable(52) %formatter, %"struct.core::fmt::rt::Argument<[]>[#1]"* noalias readonly dereferenceable(36) %.sroa.0.sroa.0257.0..sroa.0.0.295)
%newret = extractvalue { i8, [1 x i8] } %82, 0
%cond82 = icmp eq i8 %newret, 0
br i1 %cond82, label %for_loopback27, label %match_else53
match_else53: ; preds = %match_case40
%newret202 = extractvalue { i8, [1 x i8] } %82, 1
%.fca.2.0.extract107 = extractvalue [1 x i8] %newret202, 0
br label %clean_ast_93860_
join57: ; preds = %for_loopback27, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h7325345601185810098E.exit.i", %"_ZN4iter44ByRef$LT$$x27a$C$$x20T$GT$.Iterator$LT$A$GT$4next20h2854796029564223975E.exit.i", %for_loopback
%83 = phi %str_slice* [ %45, %for_loopback ], [ %69, %"_ZN4iter44ByRef$LT$$x27a$C$$x20T$GT$.Iterator$LT$A$GT$4next20h2854796029564223975E.exit.i" ], [ %64, %for_loopback27 ], [ %64, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h7325345601185810098E.exit.i" ]
%84 = icmp eq %str_slice* %83, %28
%85 = icmp eq %str_slice* %83, null
%or.cond = or i1 %84, %85
br i1 %or.cond, label %join78, label %match_case64
match_case64: ; preds = %join57
%86 = getelementptr inbounds { i8*, void (i8*)** }* %9, i32 0, i32 0
%87 = load i8** %86, align 4
%88 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %formatter, i32 0, i32 5, i32 1
%89 = load void (i8*)*** %88, align 4
%90 = getelementptr inbounds void (i8*)** %89, i32 3
%91 = load void (i8*)** %90, align 4
%92 = bitcast void (i8*)* %91 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%93 = bitcast { i8*, i32 }* %4 to i8*
call void @llvm.lifetime.start(i64 8, i8* %93)
%94 = getelementptr inbounds %str_slice* %83, i32 0, i32 0
%95 = load i8** %94, align 4
%96 = getelementptr inbounds %str_slice* %83, i32 0, i32 1
%97 = load i32* %96, align 4
%98 = ptrtoint i8* %95 to i32
%__fat_ptr65.sroa.5.0.insert.ext = zext i32 %97 to i64
%__fat_ptr65.sroa.5.0.insert.shift = shl nuw i64 %__fat_ptr65.sroa.5.0.insert.ext, 32
%__fat_ptr65.sroa.0.0.insert.ext = zext i32 %98 to i64
%__fat_ptr65.sroa.0.0.insert.insert = or i64 %__fat_ptr65.sroa.5.0.insert.shift, %__fat_ptr65.sroa.0.0.insert.ext
%99 = bitcast { i8*, i32 }* %4 to i64*
store i64 %__fat_ptr65.sroa.0.0.insert.insert, i64* %99, align 8, !alias.scope !1290, !noalias !1293
%100 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %92(i8* noalias nocapture dereferenceable(8) %87, { i8*, i32 }* noalias nocapture dereferenceable(8) %4) #0
%.fca.0.extract88 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %100, 0
call void @llvm.lifetime.end(i64 8, i8* %93)
%cond80 = icmp eq i8 %.fca.0.extract88, 0
br i1 %cond80, label %join78, label %match_else73
match_else73: ; preds = %match_case64
%.fca.2.0.extract90 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %100, 2, 0
br label %clean_ast_93860_
join78: ; preds = %match_else.i, %match_case64, %join57
call void @llvm.lifetime.end(i64 52, i8* %5)
br label %clean_custom_
}
; Function Attrs: nounwind uwtable
define internal fastcc { i8, [0 x i8], [1 x i8] } @"_ZN3fmt22Formatter$LT$$x27a$GT$3pad20he52a9eabe06599076JyE"(%"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture dereferenceable(52), %str_slice* noalias nocapture dereferenceable(8)) unnamed_addr #1 {
entry-block:
%2 = alloca { i8*, i32 }, align 8
%3 = alloca { i8*, i32 }, align 8
%4 = alloca { i8*, i32 }, align 8
%5 = alloca { i8*, i32 }, align 8
%6 = alloca { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }, align 8
%__closure = alloca { i32, {}*, i8*, i8*, { %str_slice* } }, align 8
%7 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 3, i32 0
%8 = load i8* %7, align 1, !range !648, !alias.scope !1295
%9 = icmp eq i8 %8, 1
%.phi.trans.insert = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 4, i32 0
%.pre = load i8* %.phi.trans.insert, align 1
%phitmp = icmp eq i8 %.pre, 1
br i1 %9, label %next-block, label %join
join: ; preds = %entry-block
br i1 %phitmp, label %match_case, label %then-block-94506-
then-block-94506-: ; preds = %join
%10 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 0
%11 = load i8** %10, align 4
%12 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
%13 = load void (i8*)*** %12, align 4
%14 = getelementptr inbounds void (i8*)** %13, i32 3
%15 = load void (i8*)** %14, align 4
%16 = bitcast void (i8*)* %15 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%17 = bitcast { i8*, i32 }* %2 to i8*
call void @llvm.lifetime.start(i64 8, i8* %17)
%18 = bitcast %str_slice* %1 to i64*
%19 = load i64* %18, align 4
%20 = bitcast { i8*, i32 }* %2 to i64*
store i64 %19, i64* %20, align 8, !alias.scope !1300, !noalias !1303
%21 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %16(i8* noalias nocapture dereferenceable(8) %11, { i8*, i32 }* noalias nocapture dereferenceable(8) %2) #0
%.fca.0.extract = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %21, 0
%.fca.2.0.extract = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %21, 2, 0
call void @llvm.lifetime.end(i64 8, i8* %17)
br label %clean_custom_
clean_custom_: ; preds = %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit, %next, %match_case14, %_ZN3str12str.StrSlice11slice_chars20h08df166a73d8a6fbXUqE.exit, %then-block-94506-
%sret_slot.sroa.0.0 = phi i8 [ %.fca.0.extract, %then-block-94506- ], [ %.fca.0.extract52, %_ZN3str12str.StrSlice11slice_chars20h08df166a73d8a6fbXUqE.exit ], [ %.fca.0.extract56, %match_case14 ], [ %newret, %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit ], [ %.fca.0.extract60, %next ]
%sret_slot.sroa.6.0 = phi i8 [ %.fca.2.0.extract, %then-block-94506- ], [ %.fca.2.0.extract54, %_ZN3str12str.StrSlice11slice_chars20h08df166a73d8a6fbXUqE.exit ], [ %.fca.2.0.extract58, %match_case14 ], [ %.fca.2.0.extract66, %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit ], [ %.fca.2.0.extract62, %next ]
%22 = bitcast %str_slice* %1 to i8*
call void @llvm.lifetime.end(i64 8, i8* %22)
%newret1 = insertvalue { i8, [0 x i8], [1 x i8] } undef, i8 %sret_slot.sroa.0.0, 0
%oldret4 = insertvalue [1 x i8] undef, i8 %sret_slot.sroa.6.0, 0
%newret5 = insertvalue { i8, [0 x i8], [1 x i8] } %newret1, [1 x i8] %oldret4, 2
ret { i8, [0 x i8], [1 x i8] } %newret5
next-block: ; preds = %entry-block
br i1 %phitmp, label %match_case, label %next-block.match_else13_crit_edge
next-block.match_else13_crit_edge: ; preds = %next-block
%.phi.trans.insert10 = bitcast %str_slice* %1 to i64*
%.pre11 = load i64* %.phi.trans.insert10, align 4
br label %match_else13
match_case: ; preds = %next-block, %join
%23 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 4, i32 2, i32 0
%24 = load i32* %23, align 4
%25 = bitcast %str_slice* %1 to i64*
%26 = load i64* %25, align 4
%.sroa.0.0.extract.trunc.i.i.i.i72 = trunc i64 %26 to i32
%27 = inttoptr i32 %.sroa.0.0.extract.trunc.i.i.i.i72 to i8*
%.sroa.3.0.extract.shift.i.i.i.i73 = lshr i64 %26, 32
%.sroa.3.0.extract.trunc.i.i.i.i74 = trunc i64 %.sroa.3.0.extract.shift.i.i.i.i73 to i32
%28 = getelementptr inbounds i8* %27, i32 %.sroa.3.0.extract.trunc.i.i.i.i74
%29 = icmp eq i32 %.sroa.3.0.extract.trunc.i.i.i.i74, 0
br i1 %29, label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit87, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i76"
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i76": ; preds = %match_case, %for_body.i.i.i85
%30 = phi i8* [ %44, %for_body.i.i.i85 ], [ %27, %match_case ]
%accum.010.i.i.i75 = phi i32 [ %45, %for_body.i.i.i85 ], [ 0, %match_case ]
%31 = getelementptr inbounds i8* %30, i32 1
%32 = icmp eq i8* %30, null
br i1 %32, label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit87, label %match_else.i.i.i.i77
match_else.i.i.i.i77: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i76"
%33 = load i8* %30, align 1, !noalias !1305
%34 = icmp slt i8 %33, 0
br i1 %34, label %cond.i.i.i.i79, label %for_body.i.i.i85
cond.i.i.i.i79: ; preds = %match_else.i.i.i.i77
%35 = icmp eq i8* %31, %28
%36 = getelementptr inbounds i8* %30, i32 2
%..i.i78 = select i1 %35, i8* %28, i8* %36
%37 = icmp ugt i8 %33, -33
br i1 %37, label %then-block-59038-.i.i.i.i80, label %for_body.i.i.i85
then-block-59038-.i.i.i.i80: ; preds = %cond.i.i.i.i79
%38 = icmp eq i8* %..i.i78, %28
br i1 %38, label %for_body.i.thread.i.i81, label %_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i84
for_body.i.thread.i.i81: ; preds = %then-block-59038-.i.i.i.i80
%39 = add i32 %accum.010.i.i.i75, 1
br label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit87
_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i84: ; preds = %then-block-59038-.i.i.i.i80
%40 = getelementptr inbounds i8* %..i.i78, i32 1
%41 = icmp ult i8 %33, -16
%42 = icmp eq i8* %40, %28
%or.cond.i.i82 = or i1 %41, %42
%43 = getelementptr inbounds i8* %..i.i78, i32 2
%.8.i.i83 = select i1 %or.cond.i.i82, i8* %40, i8* %43
br label %for_body.i.i.i85
for_body.i.i.i85: ; preds = %_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i84, %cond.i.i.i.i79, %match_else.i.i.i.i77
%44 = phi i8* [ %..i.i78, %cond.i.i.i.i79 ], [ %31, %match_else.i.i.i.i77 ], [ %.8.i.i83, %_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i84 ]
%45 = add i32 %accum.010.i.i.i75, 1
%46 = icmp eq i8* %44, %28
br i1 %46, label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit87, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i76"
_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit87: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i76", %for_body.i.i.i85, %for_body.i.thread.i.i81, %match_case
%accum.0.lcssa.i.i.i86 = phi i32 [ 0, %match_case ], [ %39, %for_body.i.thread.i.i81 ], [ %45, %for_body.i.i.i85 ], [ %accum.010.i.i.i75, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i76" ]
%47 = icmp ult i32 %accum.0.lcssa.i.i.i86, %24
br i1 %47, label %join6, label %then-block-94532-
then-block-94532-: ; preds = %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit87
%48 = icmp ult i32 %24, %accum.0.lcssa.i.i.i86
%sret_slot.0.sroa.speculated.i = select i1 %48, i32 %24, i32 %accum.0.lcssa.i.i.i86
%49 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 0
%50 = load i8** %49, align 4
%51 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
%52 = load void (i8*)*** %51, align 4
%53 = getelementptr inbounds void (i8*)** %52, i32 3
%54 = load void (i8*)** %53, align 4
%55 = bitcast void (i8*)* %54 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%56 = bitcast { i8*, i32 }* %3 to i8*
call void @llvm.lifetime.start(i64 8, i8* %56)
br i1 %29, label %for_exit.i, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i"
for_exit.i: ; preds = %for_loopback.i, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i", %for_body.i, %then-block-94532-
%count.0.lcssa.i = phi i32 [ 0, %then-block-94532- ], [ %count.0137.i, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i" ], [ %88, %for_loopback.i ], [ %sret_slot.0.sroa.speculated.i, %for_body.i ]
%loop_option.sroa.695.4.122129.i = phi i32 [ undef, %then-block-94532- ], [ %loop_option.sroa.695.4.121136.i, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i" ], [ %69, %for_loopback.i ], [ %69, %for_body.i ]
%.sroa.3.0.extract.trunc.i126.i = phi i32 [ undef, %then-block-94532- ], [ %.sroa.3.0.extract.trunc.i127135.i, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i" ], [ %..sroa.3.0.extract.trunc.i127.i, %for_loopback.i ], [ %..sroa.3.0.extract.trunc.i127.i, %for_body.i ]
%57 = phi i8 [ 0, %then-block-94532- ], [ %71, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i" ], [ %.133.i, %for_loopback.i ], [ %.133.i, %for_body.i ]
%58 = phi i8 [ 0, %then-block-94532- ], [ 0, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i" ], [ 0, %for_loopback.i ], [ 1, %for_body.i ]
%59 = icmp ne i8 %57, 1
%60 = icmp eq i32 %count.0.lcssa.i, 0
%..i = and i1 %59, %60
%.sroa.3.0.extract.trunc.i.i.i.i..sroa.3.0.extract.trunc.i126.i = select i1 %..i, i32 %.sroa.3.0.extract.trunc.i.i.i.i74, i32 %.sroa.3.0.extract.trunc.i126.i
%.166.i = select i1 %..i, i8 1, i8 %57
%61 = icmp ne i8 %58, 1
%62 = icmp eq i32 %count.0.lcssa.i, %sret_slot.0.sroa.speculated.i
%.84.i = and i1 %61, %62
%.sroa.3.0.extract.trunc.i86123.i = select i1 %.84.i, i32 %.sroa.3.0.extract.trunc.i.i.i.i74, i32 %loop_option.sroa.695.4.122129.i
switch i8 %.166.i, label %case_body10.i [
i8 0, label %case_body.i
i8 1, label %match_case15.i
]
for_loopback.i: ; preds = %for_body.i
%63 = sub i32 %69, %68
%64 = ptrtoint i8* %85 to i32
%65 = add i32 %63, %64
%66 = ptrtoint i8* %84 to i32
%67 = icmp eq i8* %84, %28
br i1 %67, label %for_exit.i, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i"
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i": ; preds = %then-block-94532-, %for_loopback.i
%68 = phi i32 [ %66, %for_loopback.i ], [ %.sroa.0.0.extract.trunc.i.i.i.i72, %then-block-94532- ]
%count.0137.i = phi i32 [ %88, %for_loopback.i ], [ 0, %then-block-94532- ]
%loop_option.sroa.695.4.121136.i = phi i32 [ %69, %for_loopback.i ], [ undef, %then-block-94532- ]
%69 = phi i32 [ %65, %for_loopback.i ], [ 0, %then-block-94532- ]
%70 = phi i8* [ %84, %for_loopback.i ], [ %27, %then-block-94532- ]
%71 = phi i8 [ %.133.i, %for_loopback.i ], [ 0, %then-block-94532- ]
%.sroa.3.0.extract.trunc.i127135.i = phi i32 [ %..sroa.3.0.extract.trunc.i127.i, %for_loopback.i ], [ undef, %then-block-94532- ]
%72 = getelementptr inbounds i8* %70, i32 1
%73 = icmp eq i8* %70, null
br i1 %73, label %for_exit.i, label %match_else.i.i.i
match_else.i.i.i: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i"
%74 = load i8* %70, align 1, !noalias !1316
%75 = icmp slt i8 %74, 0
br i1 %75, label %cond.i.i.i, label %for_body.i
cond.i.i.i: ; preds = %match_else.i.i.i
%76 = icmp eq i8* %72, %28
%77 = getelementptr inbounds i8* %70, i32 2
%.130.i = select i1 %76, i8* %72, i8* %77
%.131.i = select i1 %76, i8* %28, i8* %77
%78 = icmp ugt i8 %74, -33
br i1 %78, label %then-block-59038-.i.i.i, label %for_body.i
then-block-59038-.i.i.i: ; preds = %cond.i.i.i
%79 = icmp eq i8* %.131.i, %28
%80 = getelementptr inbounds i8* %.131.i, i32 1
%.130..i = select i1 %79, i8* %.130.i, i8* %80
%.131..i = select i1 %79, i8* %.131.i, i8* %80
%.132.i = select i1 %79, i8* %28, i8* %80
%81 = icmp ugt i8 %74, -17
br i1 %81, label %then-block-59082-.i.i.i, label %for_body.i
then-block-59082-.i.i.i: ; preds = %then-block-59038-.i.i.i
%82 = icmp eq i8* %.132.i, %28
%83 = getelementptr inbounds i8* %.132.i, i32 1
%.130...i = select i1 %82, i8* %.130..i, i8* %83
%.131...i = select i1 %82, i8* %.131..i, i8* %83
br label %for_body.i
for_body.i: ; preds = %then-block-59082-.i.i.i, %then-block-59038-.i.i.i, %cond.i.i.i, %match_else.i.i.i
%84 = phi i8* [ %.130..i, %then-block-59038-.i.i.i ], [ %.130...i, %then-block-59082-.i.i.i ], [ %.130.i, %cond.i.i.i ], [ %72, %match_else.i.i.i ]
%85 = phi i8* [ %.131..i, %then-block-59038-.i.i.i ], [ %.131...i, %then-block-59082-.i.i.i ], [ %.131.i, %cond.i.i.i ], [ %72, %match_else.i.i.i ]
%86 = icmp eq i32 %count.0137.i, 0
%..sroa.3.0.extract.trunc.i127.i = select i1 %86, i32 %69, i32 %.sroa.3.0.extract.trunc.i127135.i
%.133.i = select i1 %86, i8 1, i8 %71
%87 = icmp eq i32 %count.0137.i, %sret_slot.0.sroa.speculated.i
%88 = add i32 %count.0137.i, 1
br i1 %87, label %for_exit.i, label %for_loopback.i
case_body.i: ; preds = %for_exit.i
call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @_ZN3str12str.StrSlice11slice_chars14_MSG_FILE_LINE20hc91b2d16fb0cceb0dXqE) #0, !noalias !1326
unreachable
case_body10.i: ; preds = %match_case15.i, %for_exit.i
call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @_ZN3str12str.StrSlice11slice_chars14_MSG_FILE_LINE20hc91b2d16fb0cceb0DXqE) #0, !noalias !1326
unreachable
match_case15.i: ; preds = %for_exit.i
%cond167.i = icmp eq i8 %58, 0
%not..84.i.demorgan = and i1 %61, %62
%not..84.i = xor i1 %not..84.i.demorgan, true
%cond.i = and i1 %cond167.i, %not..84.i
br i1 %cond.i, label %case_body10.i, label %match_else16.i
match_else16.i: ; preds = %match_case15.i
%89 = icmp ult i32 %.sroa.3.0.extract.trunc.i86123.i, %.sroa.3.0.extract.trunc.i.i.i.i..sroa.3.0.extract.trunc.i126.i
br i1 %89, label %then-block-62907-.i.i, label %next-block.i.i
then-block-62907-.i.i: ; preds = %match_else16.i
call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @_ZN3str3raw11slice_bytes14_MSG_FILE_LINE20hc91b2d16fb0cceb0RwqE) #0, !noalias !1327
unreachable
next-block.i.i: ; preds = %match_else16.i
%90 = icmp ult i32 %.sroa.3.0.extract.trunc.i.i.i.i74, %.sroa.3.0.extract.trunc.i86123.i
br i1 %90, label %then-block-62938-.i.i, label %_ZN3str12str.StrSlice11slice_chars20h08df166a73d8a6fbXUqE.exit
then-block-62938-.i.i: ; preds = %next-block.i.i
call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @_ZN3str3raw11slice_bytes14_MSG_FILE_LINE20hc91b2d16fb0cceb0mxqE) #0, !noalias !1327
unreachable
_ZN3str12str.StrSlice11slice_chars20h08df166a73d8a6fbXUqE.exit: ; preds = %next-block.i.i
%91 = getelementptr inbounds i8* %27, i32 %.sroa.3.0.extract.trunc.i.i.i.i..sroa.3.0.extract.trunc.i126.i
%92 = ptrtoint i8* %91 to i32
%93 = sub i32 %.sroa.3.0.extract.trunc.i86123.i, %.sroa.3.0.extract.trunc.i.i.i.i..sroa.3.0.extract.trunc.i126.i
%.sroa.3.0.insert.ext.i.i = zext i32 %93 to i64
%.sroa.3.0.insert.shift.i.i = shl nuw i64 %.sroa.3.0.insert.ext.i.i, 32
%.sroa.0.0.insert.ext.i.i = zext i32 %92 to i64
%.sroa.0.0.insert.insert.i.i = or i64 %.sroa.0.0.insert.ext.i.i, %.sroa.3.0.insert.shift.i.i
%94 = bitcast { i8*, i32 }* %3 to i64*
store i64 %.sroa.0.0.insert.insert.i.i, i64* %94, align 8, !alias.scope !1331, !noalias !1332
%95 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %55(i8* noalias nocapture dereferenceable(8) %50, { i8*, i32 }* noalias nocapture dereferenceable(8) %3) #0
%.fca.0.extract52 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %95, 0
%.fca.2.0.extract54 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %95, 2, 0
call void @llvm.lifetime.end(i64 8, i8* %56)
br label %clean_custom_
join6: ; preds = %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit87
%cond21 = icmp eq i8 %8, 0
br i1 %cond21, label %match_case14, label %match_else13
match_else13: ; preds = %next-block.match_else13_crit_edge, %join6
%96 = phi i64 [ %.pre11, %next-block.match_else13_crit_edge ], [ %26, %join6 ]
%97 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 3, i32 2, i32 0
%98 = load i32* %97, align 4
%.sroa.0.0.extract.trunc.i.i.i.i88 = trunc i64 %96 to i32
%99 = inttoptr i32 %.sroa.0.0.extract.trunc.i.i.i.i88 to i8*
%.sroa.3.0.extract.shift.i.i.i.i89 = lshr i64 %96, 32
%.sroa.3.0.extract.trunc.i.i.i.i90 = trunc i64 %.sroa.3.0.extract.shift.i.i.i.i89 to i32
%100 = getelementptr inbounds i8* %99, i32 %.sroa.3.0.extract.trunc.i.i.i.i90
%101 = icmp eq i32 %.sroa.3.0.extract.trunc.i.i.i.i90, 0
br i1 %101, label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit103, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i92"
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i92": ; preds = %match_else13, %for_body.i.i.i101
%102 = phi i8* [ %116, %for_body.i.i.i101 ], [ %99, %match_else13 ]
%accum.010.i.i.i91 = phi i32 [ %117, %for_body.i.i.i101 ], [ 0, %match_else13 ]
%103 = getelementptr inbounds i8* %102, i32 1
%104 = icmp eq i8* %102, null
br i1 %104, label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit103, label %match_else.i.i.i.i93
match_else.i.i.i.i93: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i92"
%105 = load i8* %102, align 1, !noalias !1333
%106 = icmp slt i8 %105, 0
br i1 %106, label %cond.i.i.i.i95, label %for_body.i.i.i101
cond.i.i.i.i95: ; preds = %match_else.i.i.i.i93
%107 = icmp eq i8* %103, %100
%108 = getelementptr inbounds i8* %102, i32 2
%..i.i94 = select i1 %107, i8* %100, i8* %108
%109 = icmp ugt i8 %105, -33
br i1 %109, label %then-block-59038-.i.i.i.i96, label %for_body.i.i.i101
then-block-59038-.i.i.i.i96: ; preds = %cond.i.i.i.i95
%110 = icmp eq i8* %..i.i94, %100
br i1 %110, label %for_body.i.thread.i.i97, label %_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i100
for_body.i.thread.i.i97: ; preds = %then-block-59038-.i.i.i.i96
%111 = add i32 %accum.010.i.i.i91, 1
br label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit103
_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i100: ; preds = %then-block-59038-.i.i.i.i96
%112 = getelementptr inbounds i8* %..i.i94, i32 1
%113 = icmp ult i8 %105, -16
%114 = icmp eq i8* %112, %100
%or.cond.i.i98 = or i1 %113, %114
%115 = getelementptr inbounds i8* %..i.i94, i32 2
%.8.i.i99 = select i1 %or.cond.i.i98, i8* %112, i8* %115
br label %for_body.i.i.i101
for_body.i.i.i101: ; preds = %_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i100, %cond.i.i.i.i95, %match_else.i.i.i.i93
%116 = phi i8* [ %..i.i94, %cond.i.i.i.i95 ], [ %103, %match_else.i.i.i.i93 ], [ %.8.i.i99, %_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i100 ]
%117 = add i32 %accum.010.i.i.i91, 1
%118 = icmp eq i8* %116, %100
br i1 %118, label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit103, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i92"
_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit103: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i92", %for_body.i.i.i101, %for_body.i.thread.i.i97, %match_else13
%accum.0.lcssa.i.i.i102 = phi i32 [ 0, %match_else13 ], [ %111, %for_body.i.thread.i.i97 ], [ %117, %for_body.i.i.i101 ], [ %accum.010.i.i.i91, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i92" ]
%119 = icmp ult i32 %accum.0.lcssa.i.i.i102, %98
br i1 %119, label %cond, label %next
match_case14: ; preds = %join6
%120 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 0
%121 = load i8** %120, align 4
%122 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
%123 = load void (i8*)*** %122, align 4
%124 = getelementptr inbounds void (i8*)** %123, i32 3
%125 = load void (i8*)** %124, align 4
%126 = bitcast void (i8*)* %125 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%127 = bitcast { i8*, i32 }* %4 to i8*
call void @llvm.lifetime.start(i64 8, i8* %127)
%128 = bitcast { i8*, i32 }* %4 to i64*
store i64 %26, i64* %128, align 8, !alias.scope !1344, !noalias !1347
%129 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %126(i8* noalias nocapture dereferenceable(8) %121, { i8*, i32 }* noalias nocapture dereferenceable(8) %4) #0
%.fca.0.extract56 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %129, 0
%.fca.2.0.extract58 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %129, 2, 0
call void @llvm.lifetime.end(i64 8, i8* %127)
br label %clean_custom_
next: ; preds = %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit103
%130 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 0
%131 = load i8** %130, align 4
%132 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
%133 = load void (i8*)*** %132, align 4
%134 = getelementptr inbounds void (i8*)** %133, i32 3
%135 = load void (i8*)** %134, align 4
%136 = bitcast void (i8*)* %135 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%137 = bitcast { i8*, i32 }* %5 to i8*
call void @llvm.lifetime.start(i64 8, i8* %137)
%138 = bitcast { i8*, i32 }* %5 to i64*
store i64 %96, i64* %138, align 8, !alias.scope !1349, !noalias !1352
%139 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %136(i8* noalias nocapture dereferenceable(8) %131, { i8*, i32 }* noalias nocapture dereferenceable(8) %5) #0
%.fca.0.extract60 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %139, 0
%.fca.2.0.extract62 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %139, 2, 0
call void @llvm.lifetime.end(i64 8, i8* %137)
br label %clean_custom_
cond: ; preds = %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit103
br i1 %101, label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i"
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i": ; preds = %cond, %for_body.i.i.i
%140 = phi i8* [ %154, %for_body.i.i.i ], [ %99, %cond ]
%accum.010.i.i.i = phi i32 [ %155, %for_body.i.i.i ], [ 0, %cond ]
%141 = getelementptr inbounds i8* %140, i32 1
%142 = icmp eq i8* %140, null
br i1 %142, label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit, label %match_else.i.i.i.i
match_else.i.i.i.i: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i"
%143 = load i8* %140, align 1, !noalias !1354
%144 = icmp slt i8 %143, 0
br i1 %144, label %cond.i.i.i.i, label %for_body.i.i.i
cond.i.i.i.i: ; preds = %match_else.i.i.i.i
%145 = icmp eq i8* %141, %100
%146 = getelementptr inbounds i8* %140, i32 2
%..i.i = select i1 %145, i8* %100, i8* %146
%147 = icmp ugt i8 %143, -33
br i1 %147, label %then-block-59038-.i.i.i.i, label %for_body.i.i.i
then-block-59038-.i.i.i.i: ; preds = %cond.i.i.i.i
%148 = icmp eq i8* %..i.i, %100
br i1 %148, label %for_body.i.thread.i.i, label %_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i
for_body.i.thread.i.i: ; preds = %then-block-59038-.i.i.i.i
%149 = add i32 %accum.010.i.i.i, 1
br label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit
_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i: ; preds = %then-block-59038-.i.i.i.i
%150 = getelementptr inbounds i8* %..i.i, i32 1
%151 = icmp ult i8 %143, -16
%152 = icmp eq i8* %150, %100
%or.cond.i.i = or i1 %151, %152
%153 = getelementptr inbounds i8* %..i.i, i32 2
%.8.i.i = select i1 %or.cond.i.i, i8* %150, i8* %153
br label %for_body.i.i.i
for_body.i.i.i: ; preds = %_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i, %cond.i.i.i.i, %match_else.i.i.i.i
%154 = phi i8* [ %..i.i, %cond.i.i.i.i ], [ %141, %match_else.i.i.i.i ], [ %.8.i.i, %_ZN3str11unwrap_or_020h0e272a9eeafe93aaJupE.exit43.i.i.i.i ]
%155 = add i32 %accum.010.i.i.i, 1
%156 = icmp eq i8* %154, %100
br i1 %156, label %_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i"
_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE.exit: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i", %for_body.i.i.i, %for_body.i.thread.i.i, %cond
%accum.0.lcssa.i.i.i = phi i32 [ 0, %cond ], [ %149, %for_body.i.thread.i.i ], [ %155, %for_body.i.i.i ], [ %accum.010.i.i.i, %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next21h10821986078087250400E.exit.i.i.i.i" ]
%157 = sub i32 %98, %accum.0.lcssa.i.i.i
%158 = bitcast { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %6 to i8*
call void @llvm.lifetime.start(i64 8, i8* %158)
%159 = bitcast { i32, {}*, i8*, i8*, { %str_slice* } }* %__closure to i8*
call void @llvm.lifetime.start(i64 20, i8* %159)
%160 = getelementptr inbounds { i32, {}*, i8*, i8*, { %str_slice* } }* %__closure, i32 0, i32 4, i32 0
store %str_slice* %1, %str_slice** %160, align 8
%161 = getelementptr inbounds { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %6, i32 0, i32 0
store %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)* @"_ZN3fmt22Formatter$LT$$x27a$GT$3pad13closure.21666E", %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %161, align 8
%162 = getelementptr inbounds { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %6, i32 0, i32 1
store i8* %159, i8** %162, align 4
%163 = call fastcc { i8, [1 x i8] } @"_ZN3fmt22Formatter$LT$$x27a$GT$12with_padding20h81c8da902d5762a9YLyE"(%"struct.core::fmt::Formatter<[]>[#1]"* noalias dereferenceable(52) %0, i32 %157, i8 0, { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* noalias nocapture dereferenceable(8) %6)
%newret = extractvalue { i8, [1 x i8] } %163, 0
%newret70 = extractvalue { i8, [1 x i8] } %163, 1
%.fca.2.0.extract66 = extractvalue [1 x i8] %newret70, 0
call void @llvm.lifetime.end(i64 8, i8* %158)
br label %clean_custom_
}
; Function Attrs: nounwind uwtable
define internal %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" @_ZN3fmt3num18uint.fmt..LowerHex3fmt20h56750d7a990689c7IGxE(i32* noalias nocapture readonly dereferenceable(4), %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture dereferenceable(52)) unnamed_addr #1 {
%.val = load i32* %0, align 4
%3 = tail call fastcc { i8, [0 x i8], [1 x i8] } @_ZN3fmt3num17int.fmt..LowerHex3fmt20h4eb5fc390e9d6affCDxE(i32 %.val, %"struct.core::fmt::Formatter<[]>[#1]"* %1)
%newret = extractvalue { i8, [0 x i8], [1 x i8] } %3, 0
%newret1 = extractvalue { i8, [0 x i8], [1 x i8] } %3, 1
%newret3 = extractvalue { i8, [0 x i8], [1 x i8] } %3, 2
%4 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" undef, i8 %newret, 0
%5 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %4, [0 x i8] %newret1, 1
%6 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %5, [1 x i8] %newret3, 2
ret %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %6
}
; Function Attrs: nounwind uwtable
define internal %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" @_ZN3fmt3num17u32.fmt..LowerHex3fmt20hd58cbe68c83c00feiZxE(i32* noalias nocapture readonly dereferenceable(4), %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture dereferenceable(52)) unnamed_addr #1 {
%.val = load i32* %0, align 4
%3 = tail call fastcc { i8, [0 x i8], [1 x i8] } @_ZN3fmt3num17int.fmt..LowerHex3fmt20h4eb5fc390e9d6affCDxE(i32 %.val, %"struct.core::fmt::Formatter<[]>[#1]"* %1)
%newret = extractvalue { i8, [0 x i8], [1 x i8] } %3, 0
%newret1 = extractvalue { i8, [0 x i8], [1 x i8] } %3, 1
%newret3 = extractvalue { i8, [0 x i8], [1 x i8] } %3, 2
%4 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" undef, i8 %newret, 0
%5 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %4, [0 x i8] %newret1, 1
%6 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %5, [1 x i8] %newret3, 2
ret %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %6
}
; Function Attrs: inlinehint nounwind uwtable
define internal %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" @"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E"(i8* nocapture readonly, %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture readonly dereferenceable(52)) unnamed_addr #5 {
entry-block:
%b = alloca i32, align 4
%2 = alloca %"enum.core::option::Option<[uint]>[#1]", align 8
%__fat_ptr1 = alloca { i8*, i32 }, align 8
%trans_slice = alloca { i8*, i32 }, align 8
%3 = alloca { i8*, i32 }, align 8
%4 = getelementptr inbounds i8* %0, i32 16
%5 = bitcast i8* %4 to %"enum.option::Option<[char]>"**
%6 = load %"enum.option::Option<[char]>"** %5, align 4
%7 = getelementptr inbounds i8* %0, i32 20
%8 = bitcast i8* %7 to i8**
%9 = load i8** %8, align 4
%10 = getelementptr inbounds i8* %0, i32 24
%11 = bitcast i8* %10 to %str_slice**
%12 = load %str_slice** %11, align 4
%13 = bitcast %"enum.option::Option<[char]>"* %6 to i64*
%14 = load i64* %13, align 4
%trunc = trunc i64 %14 to i8
%15 = icmp eq i8 %trunc, 0
br i1 %15, label %for_exit, label %for_body
for_loopback.for_exit_crit_edge: ; preds = %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit"
call void @llvm.lifetime.end(i64 4, i8* %18)
br label %for_exit
for_exit: ; preds = %for_loopback.for_exit_crit_edge, %entry-block
%16 = load i8* %9, align 1, !range !648
%17 = icmp eq i8 %16, 0
br i1 %17, label %clean_custom_, label %then-block-94336-
for_body: ; preds = %entry-block
%loop_option.sroa.6.0.extract.shift = lshr i64 %14, 32
%loop_option.sroa.6.0.extract.trunc = trunc i64 %loop_option.sroa.6.0.extract.shift to i32
%18 = bitcast i32* %b to i8*
%19 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %2, i32 0, i32 0
%20 = bitcast { i8*, i32 }* %__fat_ptr1 to i8*
%21 = getelementptr inbounds { i8*, i32 }* %__fat_ptr1, i32 0, i32 0
%22 = getelementptr inbounds { i8*, i32 }* %__fat_ptr1, i32 0, i32 1
%23 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %2, i32 0, i32 2, i32 0
%24 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %1, i32 0, i32 5, i32 0
%25 = load i8** %24, align 4
%26 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %1, i32 0, i32 5, i32 1
%27 = load void (i8*)*** %26, align 4
%28 = getelementptr inbounds void (i8*)** %27, i32 3
%29 = bitcast { i8*, i32 }* %trans_slice to i8*
call void @llvm.lifetime.start(i64 4, i8* %18)
store i32 0, i32* %b, align 4
call void @llvm.lifetime.start(i64 8, i8* %19)
call void @llvm.lifetime.start(i64 8, i8* %20)
store i8* %18, i8** %21, align 8
store i32 4, i32* %22, align 4
call fastcc void @_ZN4char9char.Char11encode_utf820h62f3c3abc93d24acJYjE(%"enum.core::option::Option<[uint]>[#1]"* noalias nocapture sret dereferenceable(8) %2, i32 %loop_option.sroa.6.0.extract.trunc, { i8*, i32 }* noalias nocapture dereferenceable(8) %__fat_ptr1)
call void @llvm.lifetime.end(i64 8, i8* %20)
%30 = load i8* %19, align 8, !range !648, !alias.scope !1365
%cond.i = icmp eq i8 %30, 1
%31 = load i32* %23, align 4, !alias.scope !1365
%sret_slot.0.i = select i1 %cond.i, i32 %31, i32 0
call void @llvm.lifetime.end(i64 8, i8* %19) #0, !alias.scope !1365
call void @llvm.lifetime.end(i64 8, i8* %19)
%32 = load void (i8*)** %28, align 4
call void @llvm.lifetime.start(i64 8, i8* %29)
%33 = icmp ugt i32 %sret_slot.0.i, 4
br i1 %33, label %then-block-53063-.i.i, label %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit"
then-block-53063-.i.i: ; preds = %for_body
call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail14_MSG_FILE_LINE20hc91b2d16fb0cceb05XnE"), !noalias !1368
unreachable
"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit": ; preds = %for_body
%34 = bitcast { i8*, i32 }* %trans_slice to i64*
%35 = ptrtoint i32* %b to i32
%__fat_ptr3.sroa.0.0.insert.ext = zext i32 %35 to i64
%36 = bitcast void (i8*)* %32 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%.sroa.3.0.insert.ext.i = zext i32 %sret_slot.0.i to i64
%.sroa.3.0.insert.shift.i = shl nuw i64 %.sroa.3.0.insert.ext.i, 32
%.sroa.0.0.insert.insert.i = or i64 %.sroa.3.0.insert.shift.i, %__fat_ptr3.sroa.0.0.insert.ext
store i64 %.sroa.0.0.insert.insert.i, i64* %34, align 8, !alias.scope !1378, !noalias !1379
%37 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %36(i8* noalias nocapture dereferenceable(8) %25, { i8*, i32 }* noalias nocapture dereferenceable(8) %trans_slice) #0
%.fca.0.extract18 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %37, 0
call void @llvm.lifetime.end(i64 8, i8* %29)
%cond = icmp eq i8 %.fca.0.extract18, 0
br i1 %cond, label %for_loopback.for_exit_crit_edge, label %match_else
match_else: ; preds = %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit"
%.fca.2.0.extract20 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %37, 2, 0
call void @llvm.lifetime.end(i64 4, i8* %18)
br label %clean_custom_
clean_custom_: ; preds = %then-block-94336-, %match_else, %for_exit
%.fca.2.0.load = phi i8 [ %.fca.2.0.extract20, %match_else ], [ %.fca.2.0.extract32, %then-block-94336- ], [ undef, %for_exit ]
%.fca.0.load = phi i8 [ 1, %match_else ], [ %.fca.0.extract30, %then-block-94336- ], [ 0, %for_exit ]
%.fca.0.insert37 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" undef, i8 %.fca.0.load, 0
%.fca.2.0.insert39 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %.fca.0.insert37, i8 %.fca.2.0.load, 2, 0
ret %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %.fca.2.0.insert39
then-block-94336-: ; preds = %for_exit
%38 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %1, i32 0, i32 5, i32 0
%39 = load i8** %38, align 4
%40 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %1, i32 0, i32 5, i32 1
%41 = load void (i8*)*** %40, align 4
%42 = getelementptr inbounds void (i8*)** %41, i32 3
%43 = load void (i8*)** %42, align 4
%44 = bitcast void (i8*)* %43 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%45 = bitcast { i8*, i32 }* %3 to i8*
call void @llvm.lifetime.start(i64 8, i8* %45)
%46 = bitcast %str_slice* %12 to i64*
%47 = load i64* %46, align 4
%48 = bitcast { i8*, i32 }* %3 to i64*
store i64 %47, i64* %48, align 8, !alias.scope !1380, !noalias !1383
%49 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %44(i8* noalias nocapture dereferenceable(8) %39, { i8*, i32 }* noalias nocapture dereferenceable(8) %3) #0
%.fca.0.extract30 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %49, 0
%.fca.2.0.extract32 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %49, 2, 0
call void @llvm.lifetime.end(i64 8, i8* %45)
br label %clean_custom_
}
; Function Attrs: inlinehint nounwind uwtable
define internal %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" @"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21664E"(i8* nocapture readonly, %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture dereferenceable(52)) unnamed_addr #5 {
entry-block:
%arg = alloca { i8*, i32 }, align 8
%2 = getelementptr inbounds i8* %0, i32 16
%3 = bitcast i8* %2 to { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }**
%4 = load { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }** %3, align 4
%5 = getelementptr inbounds i8* %0, i32 20
%6 = bitcast i8* %5 to { i8*, i32 }**
%7 = load { i8*, i32 }** %6, align 4
%8 = getelementptr inbounds { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %4, i32 0, i32 0
%9 = load %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %8, align 4
%10 = getelementptr inbounds { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %4, i32 0, i32 1
%11 = load i8** %10, align 4
%12 = tail call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %9(i8* %11, %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture dereferenceable(52) %1) #0
%.fca.0.extract8 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %12, 0
%cond = icmp eq i8 %.fca.0.extract8, 0
br i1 %cond, label %match_case, label %match_else
match_else: ; preds = %entry-block
%.fca.2.0.extract10 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %12, 2, 0
br label %clean_custom_
match_case: ; preds = %entry-block
%13 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %1, i32 0, i32 5, i32 0
%14 = load i8** %13, align 4
%15 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %1, i32 0, i32 5, i32 1
%16 = load void (i8*)*** %15, align 4
%17 = getelementptr inbounds void (i8*)** %16, i32 3
%18 = load void (i8*)** %17, align 4
%19 = bitcast void (i8*)* %18 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%20 = bitcast { i8*, i32 }* %arg to i8*
call void @llvm.lifetime.start(i64 8, i8* %20)
%21 = bitcast { i8*, i32 }* %7 to i64*
%22 = bitcast { i8*, i32 }* %arg to i64*
%23 = load i64* %21, align 4
store i64 %23, i64* %22, align 8
%24 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %19(i8* noalias nocapture dereferenceable(8) %14, { i8*, i32 }* noalias nocapture dereferenceable(8) %arg) #0
%.fca.0.extract14 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %24, 0
%.fca.2.0.extract16 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %24, 2, 0
call void @llvm.lifetime.end(i64 8, i8* %20)
br label %clean_custom_
clean_custom_: ; preds = %match_case, %match_else
%.fca.2.0.load = phi i8 [ %.fca.2.0.extract16, %match_case ], [ %.fca.2.0.extract10, %match_else ]
%.fca.0.load = phi i8 [ %.fca.0.extract14, %match_case ], [ 1, %match_else ]
%.fca.0.insert21 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" undef, i8 %.fca.0.load, 0
%.fca.2.0.insert23 = insertvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %.fca.0.insert21, i8 %.fca.2.0.load, 2, 0
ret %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %.fca.2.0.insert23
}
; Function Attrs: nounwind uwtable
define internal fastcc { i8, [1 x i8] } @"_ZN3fmt22Formatter$LT$$x27a$GT$12with_padding20h81c8da902d5762a9YLyE"(%"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture dereferenceable(52), i32, i8, { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* noalias nocapture dereferenceable(8)) unnamed_addr #1 {
entry-block:
%fill = alloca i32, align 4
%4 = alloca %"enum.core::option::Option<[uint]>[#1]", align 8
%__fat_ptr12 = alloca { i8*, i32 }, align 8
%trans_slice = alloca { i8*, i32 }, align 8
%trans_slice42 = alloca { i8*, i32 }, align 8
%5 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 2
%6 = load i8* %5, align 1, !range !1385
%cond55 = icmp eq i8 %6, 3
%. = select i1 %cond55, i8 %2, i8 %6
switch i8 %., label %match_else5 [
i8 0, label %match_case6
i8 1, label %join11
i8 3, label %join11
]
match_else5: ; preds = %entry-block
%7 = lshr i32 %1, 1
%8 = add i32 %1, 1
%9 = lshr i32 %8, 1
br label %join11
match_case6: ; preds = %entry-block
br label %join11
join11: ; preds = %match_case6, %match_else5, %entry-block, %entry-block
%.sroa.0122.0 = phi i32 [ %7, %match_else5 ], [ 0, %match_case6 ], [ %1, %entry-block ], [ %1, %entry-block ]
%.sroa.6.0 = phi i32 [ %9, %match_else5 ], [ %1, %match_case6 ], [ 0, %entry-block ], [ 0, %entry-block ]
%10 = bitcast i32* %fill to i8*
call void @llvm.lifetime.start(i64 4, i8* %10)
store i32 0, i32* %fill, align 4
%11 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %4, i32 0, i32 0
call void @llvm.lifetime.start(i64 8, i8* %11)
%12 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 1
%13 = bitcast { i8*, i32 }* %__fat_ptr12 to i8*
call void @llvm.lifetime.start(i64 8, i8* %13)
%14 = getelementptr inbounds { i8*, i32 }* %__fat_ptr12, i32 0, i32 0
store i8* %10, i8** %14, align 8
%15 = getelementptr inbounds { i8*, i32 }* %__fat_ptr12, i32 0, i32 1
store i32 4, i32* %15, align 4
%.val = load i32* %12, align 4
call fastcc void @_ZN4char9char.Char11encode_utf820h62f3c3abc93d24acJYjE(%"enum.core::option::Option<[uint]>[#1]"* noalias nocapture sret dereferenceable(8) %4, i32 %.val, { i8*, i32 }* noalias nocapture dereferenceable(8) %__fat_ptr12)
call void @llvm.lifetime.end(i64 8, i8* %13)
%16 = load i8* %11, align 8, !range !648, !alias.scope !1386
%cond.i = icmp eq i8 %16, 1
br i1 %cond.i, label %match_case.i, label %"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit"
match_case.i: ; preds = %join11
%17 = getelementptr inbounds %"enum.core::option::Option<[uint]>[#1]"* %4, i32 0, i32 2, i32 0
%18 = load i32* %17, align 4, !alias.scope !1386
br label %"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit"
"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit": ; preds = %match_case.i, %join11
%sret_slot.0.i = phi i32 [ %18, %match_case.i ], [ 0, %join11 ]
call void @llvm.lifetime.end(i64 8, i8* %11) #0, !alias.scope !1386
call void @llvm.lifetime.end(i64 8, i8* %11)
%19 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 0
%20 = load i8** %19, align 4
%21 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 5, i32 1
%22 = load void (i8*)*** %21, align 4
%23 = getelementptr inbounds void (i8*)** %22, i32 3
%24 = bitcast { i8*, i32 }* %trans_slice to i8*
%25 = icmp ugt i32 %sret_slot.0.i, 4
%26 = ptrtoint i32* %fill to i32
%__fat_ptr14.sroa.0.0.insert.ext = zext i32 %26 to i64
%27 = bitcast { i8*, i32 }* %trans_slice to i64*
%.sroa.3.0.insert.ext.i9 = zext i32 %sret_slot.0.i to i64
%.sroa.3.0.insert.shift.i10 = shl nuw i64 %.sroa.3.0.insert.ext.i9, 32
%.sroa.0.0.insert.insert.i12 = or i64 %.sroa.3.0.insert.shift.i10, %__fat_ptr14.sroa.0.0.insert.ext
br label %for_loopback
for_exit: ; preds = %for_loopback
%28 = getelementptr inbounds { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %3, i32 0, i32 0
%29 = load %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %28, align 4
%30 = getelementptr inbounds { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %3, i32 0, i32 1
%31 = load i8** %30, align 4
%32 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %29(i8* %31, %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture dereferenceable(52) %0) #0
%.fca.0.extract81 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %32, 0
%cond56 = icmp eq i8 %.fca.0.extract81, 0
br i1 %cond56, label %for_loopback37.preheader, label %match_else31
for_loopback37.preheader: ; preds = %for_exit
%33 = load i8** %19, align 4
%34 = load void (i8*)*** %21, align 4
%35 = getelementptr inbounds void (i8*)** %34, i32 3
%36 = bitcast { i8*, i32 }* %trans_slice42 to i8*
%37 = bitcast { i8*, i32 }* %trans_slice42 to i64*
br label %for_loopback37
for_loopback: ; preds = %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit13", %"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit"
%38 = phi i32 [ 0, %"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E.exit" ], [ %42, %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit13" ]
%39 = icmp ult i32 %38, %.sroa.0122.0
br i1 %39, label %for_body, label %for_exit
for_body: ; preds = %for_loopback
%40 = load void (i8*)** %23, align 4
call void @llvm.lifetime.start(i64 8, i8* %24)
br i1 %25, label %then-block-53063-.i.i8, label %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit13"
then-block-53063-.i.i8: ; preds = %for_body
call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail14_MSG_FILE_LINE20hc91b2d16fb0cceb05XnE"), !noalias !1389
unreachable
"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit13": ; preds = %for_body
%41 = bitcast void (i8*)* %40 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%42 = add i32 %38, 1
store i64 %.sroa.0.0.insert.insert.i12, i64* %27, align 8, !alias.scope !1399, !noalias !1400
%43 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %41(i8* noalias nocapture dereferenceable(8) %20, { i8*, i32 }* noalias nocapture dereferenceable(8) %trans_slice) #0
%.fca.0.extract102 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %43, 0
call void @llvm.lifetime.end(i64 8, i8* %24)
%cond58 = icmp eq i8 %.fca.0.extract102, 0
br i1 %cond58, label %for_loopback, label %match_else19
match_else19: ; preds = %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit13"
%.fca.2.0.extract104 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %43, 2, 0
br label %clean_ast_94625_
clean_custom_: ; preds = %for_exit36, %clean_ast_94625_
%sret_slot.sroa.0.0 = phi i8 [ 1, %clean_ast_94625_ ], [ 0, %for_exit36 ]
%sret_slot.sroa.5.0 = phi i8 [ %sret_slot.sroa.5.1, %clean_ast_94625_ ], [ undef, %for_exit36 ]
%44 = bitcast { %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, %"struct.core::fmt::Formatter<[]>[#1]"*)*, i8* }* %3 to i8*
call void @llvm.lifetime.end(i64 8, i8* %44)
%newret = insertvalue { i8, [1 x i8] } undef, i8 %sret_slot.sroa.0.0, 0
%oldret1 = insertvalue [1 x i8] undef, i8 %sret_slot.sroa.5.0, 0
%newret2 = insertvalue { i8, [1 x i8] } %newret, [1 x i8] %oldret1, 1
ret { i8, [1 x i8] } %newret2
clean_ast_94625_: ; preds = %match_else50, %match_else31, %match_else19
%sret_slot.sroa.5.1 = phi i8 [ %.fca.2.0.extract104, %match_else19 ], [ %.fca.2.0.extract68, %match_else50 ], [ %.fca.2.0.extract83, %match_else31 ]
call void @llvm.lifetime.end(i64 4, i8* %10)
br label %clean_custom_
match_else31: ; preds = %for_exit
%.fca.2.0.extract83 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %32, 2, 0
br label %clean_ast_94625_
for_exit36: ; preds = %for_loopback37
call void @llvm.lifetime.end(i64 4, i8* %10)
br label %clean_custom_
for_loopback37: ; preds = %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit", %for_loopback37.preheader
%.sroa.0.0.57 = phi i32 [ %48, %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit" ], [ 0, %for_loopback37.preheader ]
%45 = icmp ult i32 %.sroa.0.0.57, %.sroa.6.0
br i1 %45, label %for_body38, label %for_exit36
for_body38: ; preds = %for_loopback37
%46 = load void (i8*)** %35, align 4
call void @llvm.lifetime.start(i64 8, i8* %36)
br i1 %25, label %then-block-53063-.i.i, label %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit"
then-block-53063-.i.i: ; preds = %for_body38
call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail14_MSG_FILE_LINE20hc91b2d16fb0cceb05XnE"), !noalias !1401
unreachable
"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit": ; preds = %for_body38
%47 = bitcast void (i8*)* %46 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%48 = add i32 %.sroa.0.0.57, 1
store i64 %.sroa.0.0.insert.insert.i12, i64* %37, align 8, !alias.scope !1411, !noalias !1412
%49 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %47(i8* noalias nocapture dereferenceable(8) %33, { i8*, i32 }* noalias nocapture dereferenceable(8) %trans_slice42) #0
%.fca.0.extract66 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %49, 0
call void @llvm.lifetime.end(i64 8, i8* %36)
%cond57 = icmp eq i8 %.fca.0.extract66, 0
br i1 %cond57, label %for_loopback37, label %match_else50
match_else50: ; preds = %"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E.exit"
%.fca.2.0.extract68 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %49, 2, 0
br label %clean_ast_94625_
}
; Function Attrs: inlinehint nounwind uwtable
define internal %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" @"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21662E"(i8* nocapture readonly, %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture readonly dereferenceable(52)) unnamed_addr #5 {
entry-block:
%arg = alloca { i8*, i32 }, align 8
%2 = getelementptr inbounds i8* %0, i32 16
%3 = bitcast i8* %2 to { i8*, i32 }**
%4 = load { i8*, i32 }** %3, align 4
%5 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %1, i32 0, i32 5, i32 0
%6 = load i8** %5, align 4
%7 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %1, i32 0, i32 5, i32 1
%8 = load void (i8*)*** %7, align 4
%9 = getelementptr inbounds void (i8*)** %8, i32 3
%10 = load void (i8*)** %9, align 4
%11 = bitcast void (i8*)* %10 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%12 = bitcast { i8*, i32 }* %arg to i8*
call void @llvm.lifetime.start(i64 8, i8* %12)
%13 = bitcast { i8*, i32 }* %4 to i64*
%14 = bitcast { i8*, i32 }* %arg to i64*
%15 = load i64* %13, align 4
store i64 %15, i64* %14, align 8
%16 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %11(i8* noalias nocapture dereferenceable(8) %6, { i8*, i32 }* noalias nocapture dereferenceable(8) %arg) #0
call void @llvm.lifetime.end(i64 8, i8* %12)
ret %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %16
}
; Function Attrs: nounwind uwtable
define internal fastcc { i8, [1 x i8] } @"_ZN3fmt22Formatter$LT$$x27a$GT$3run20h8a6f47a43ea60031qCyE"(%"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture dereferenceable(52), %"struct.core::fmt::rt::Argument<[]>[#1]"* noalias nocapture readonly dereferenceable(36)) unnamed_addr #1 {
entry-block:
%2 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %1, i32 0, i32 1, i32 0
%3 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 1
%4 = load i32* %2, align 4
store i32 %4, i32* %3, align 4
%5 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %1, i32 0, i32 1, i32 1
%6 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 2
%7 = load i8* %5, align 1
store i8 %7, i8* %6, align 1
%8 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %1, i32 0, i32 1, i32 2
%9 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 0
%10 = load i32* %8, align 4
store i32 %10, i32* %9, align 4
%11 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %1, i32 0, i32 1, i32 4, i32 0
%12 = load i8* %11, align 1, !range !1385, !alias.scope !1413, !noalias !1416
switch i8 %12, label %match_else.i [
i8 0, label %match_case.i
i8 3, label %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit"
i8 1, label %match_case6.i
]
match_else.i: ; preds = %entry-block
%13 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 6, i32 0
%14 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 6, i32 1
%15 = load %"struct.core::fmt::Argument<[]>[#1]"** %13, align 4, !alias.scope !1419, !noalias !1422
%16 = load %"struct.core::fmt::Argument<[]>[#1]"** %14, align 4, !alias.scope !1419, !noalias !1422
%17 = icmp eq %"struct.core::fmt::Argument<[]>[#1]"* %15, %16
br i1 %17, label %match_else.i.i, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E.exit.i"
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E.exit.i": ; preds = %match_else.i
%18 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %15, i32 1
store %"struct.core::fmt::Argument<[]>[#1]"* %18, %"struct.core::fmt::Argument<[]>[#1]"** %13, align 4, !alias.scope !1419, !noalias !1422
%19 = icmp eq %"struct.core::fmt::Argument<[]>[#1]"* %15, null
br i1 %19, label %match_else.i.i, label %"_ZN6option15Option$LT$T$GT$6unwrap21h15523663295229733947E.exit.i"
match_else.i.i: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E.exit.i", %match_else.i
tail call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @"_ZN6option15Option$LT$T$GT$6unwrap14_MSG_FILE_LINE20hc91b2d16fb0cceb0svmE"), !noalias !1423
unreachable
"_ZN6option15Option$LT$T$GT$6unwrap21h15523663295229733947E.exit.i": ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E.exit.i"
%20 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %15, i32 0, i32 1
%21 = load %"enum.core::fmt::Void<[]>[#1]"** %20, align 4, !noalias !1423
%22 = bitcast %"enum.core::fmt::Void<[]>[#1]"* %21 to i32*
%23 = load i32* %22, align 4, !noalias !1423
br label %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit"
match_case.i: ; preds = %entry-block
%24 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %1, i32 0, i32 1, i32 4, i32 2, i32 0
%25 = load i32* %24, align 4, !alias.scope !1413, !noalias !1416
br label %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit"
match_case6.i: ; preds = %entry-block
%26 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %1, i32 0, i32 1, i32 4, i32 2, i32 0
%27 = load i32* %26, align 4, !alias.scope !1413, !noalias !1416
%28 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 7, i32 1
%29 = load i32* %28, align 4, !alias.scope !1424, !noalias !1422
%30 = icmp ult i32 %27, %29
br i1 %30, label %next.i, label %cond.i, !prof !1425
next.i: ; preds = %match_case6.i
%31 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 7, i32 0
%32 = load %"struct.core::fmt::Argument<[]>[#1]"** %31, align 4, !alias.scope !1424, !noalias !1422
%33 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %32, i32 %27, i32 1
%34 = load %"enum.core::fmt::Void<[]>[#1]"** %33, align 4, !noalias !1423
%35 = bitcast %"enum.core::fmt::Void<[]>[#1]"* %34 to i32*
%36 = load i32* %35, align 4, !noalias !1423
br label %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit"
cond.i: ; preds = %match_case6.i
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const108, i32 %27, i32 %29), !noalias !1423
unreachable
"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit": ; preds = %next.i, %match_case.i, %"_ZN6option15Option$LT$T$GT$6unwrap21h15523663295229733947E.exit.i", %entry-block
%.sroa.621.0.load24 = phi i32 [ %23, %"_ZN6option15Option$LT$T$GT$6unwrap21h15523663295229733947E.exit.i" ], [ %25, %match_case.i ], [ %36, %next.i ], [ undef, %entry-block ]
%37 = phi i64 [ 1, %"_ZN6option15Option$LT$T$GT$6unwrap21h15523663295229733947E.exit.i" ], [ 1, %match_case.i ], [ 1, %next.i ], [ 0, %entry-block ]
%38 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 3, i32 0
%39 = bitcast i8* %38 to i64*
%.sroa.621.0.insert.ext = zext i32 %.sroa.621.0.load24 to i64
%.sroa.621.0.insert.shift = shl nuw i64 %.sroa.621.0.insert.ext, 32
%.sroa.016.0.insert.insert = or i64 %.sroa.621.0.insert.shift, %37
store i64 %.sroa.016.0.insert.insert, i64* %39, align 4
%40 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %1, i32 0, i32 1, i32 3, i32 0
%41 = load i8* %40, align 1, !range !1385, !alias.scope !1426, !noalias !1429
switch i8 %41, label %match_else.i3 [
i8 0, label %match_case.i7
i8 3, label %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit12"
i8 1, label %match_case6.i9
]
match_else.i3: ; preds = %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit"
%42 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 6, i32 0
%43 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 6, i32 1
%44 = load %"struct.core::fmt::Argument<[]>[#1]"** %42, align 4, !alias.scope !1432, !noalias !1435
%45 = load %"struct.core::fmt::Argument<[]>[#1]"** %43, align 4, !alias.scope !1432, !noalias !1435
%46 = icmp eq %"struct.core::fmt::Argument<[]>[#1]"* %44, %45
br i1 %46, label %match_else.i.i5, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E.exit.i4"
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E.exit.i4": ; preds = %match_else.i3
%47 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %44, i32 1
store %"struct.core::fmt::Argument<[]>[#1]"* %47, %"struct.core::fmt::Argument<[]>[#1]"** %42, align 4, !alias.scope !1432, !noalias !1435
%48 = icmp eq %"struct.core::fmt::Argument<[]>[#1]"* %44, null
br i1 %48, label %match_else.i.i5, label %"_ZN6option15Option$LT$T$GT$6unwrap21h15523663295229733947E.exit.i6"
match_else.i.i5: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E.exit.i4", %match_else.i3
tail call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @"_ZN6option15Option$LT$T$GT$6unwrap14_MSG_FILE_LINE20hc91b2d16fb0cceb0svmE"), !noalias !1436
unreachable
"_ZN6option15Option$LT$T$GT$6unwrap21h15523663295229733947E.exit.i6": ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E.exit.i4"
%49 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %44, i32 0, i32 1
%50 = load %"enum.core::fmt::Void<[]>[#1]"** %49, align 4, !noalias !1436
%51 = bitcast %"enum.core::fmt::Void<[]>[#1]"* %50 to i32*
%52 = load i32* %51, align 4, !noalias !1436
br label %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit12"
match_case.i7: ; preds = %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit"
%53 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %1, i32 0, i32 1, i32 3, i32 2, i32 0
%54 = load i32* %53, align 4, !alias.scope !1426, !noalias !1429
br label %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit12"
match_case6.i9: ; preds = %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit"
%55 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %1, i32 0, i32 1, i32 3, i32 2, i32 0
%56 = load i32* %55, align 4, !alias.scope !1426, !noalias !1429
%57 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 7, i32 1
%58 = load i32* %57, align 4, !alias.scope !1437, !noalias !1435
%59 = icmp ult i32 %56, %58
br i1 %59, label %next.i10, label %cond.i11, !prof !1425
next.i10: ; preds = %match_case6.i9
%60 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 7, i32 0
%61 = load %"struct.core::fmt::Argument<[]>[#1]"** %60, align 4, !alias.scope !1437, !noalias !1435
%62 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %61, i32 %56, i32 1
%63 = load %"enum.core::fmt::Void<[]>[#1]"** %62, align 4, !noalias !1436
%64 = bitcast %"enum.core::fmt::Void<[]>[#1]"* %63 to i32*
%65 = load i32* %64, align 4, !noalias !1436
br label %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit12"
cond.i11: ; preds = %match_case6.i9
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const108, i32 %56, i32 %58), !noalias !1436
unreachable
"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit12": ; preds = %next.i10, %match_case.i7, %"_ZN6option15Option$LT$T$GT$6unwrap21h15523663295229733947E.exit.i6", %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit"
%.sroa.615.0.load23 = phi i32 [ %52, %"_ZN6option15Option$LT$T$GT$6unwrap21h15523663295229733947E.exit.i6" ], [ %54, %match_case.i7 ], [ %65, %next.i10 ], [ undef, %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit" ]
%66 = phi i64 [ 1, %"_ZN6option15Option$LT$T$GT$6unwrap21h15523663295229733947E.exit.i6" ], [ 1, %match_case.i7 ], [ 1, %next.i10 ], [ 0, %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit" ]
%67 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 4, i32 0
%68 = bitcast i8* %67 to i64*
%.sroa.615.0.insert.ext = zext i32 %.sroa.615.0.load23 to i64
%.sroa.615.0.insert.shift = shl nuw i64 %.sroa.615.0.insert.ext, 32
%.sroa.0.0.insert.insert = or i64 %.sroa.615.0.insert.shift, %66
store i64 %.sroa.0.0.insert.insert, i64* %68, align 4
%69 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %1, i32 0, i32 0, i32 0
%70 = load i8* %69, align 1, !range !648
%cond2 = icmp eq i8 %70, 0
br i1 %cond2, label %match_case, label %match_else
match_else: ; preds = %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit12"
%71 = getelementptr inbounds %"struct.core::fmt::rt::Argument<[]>[#1]"* %1, i32 0, i32 0, i32 2, i32 0
%72 = load i32* %71, align 4
%73 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 7, i32 1
%74 = load i32* %73, align 4
%75 = icmp ult i32 %72, %74
br i1 %75, label %next, label %cond, !prof !1425
match_case: ; preds = %"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE.exit12"
%76 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 6, i32 0
%77 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 6, i32 1
%78 = load %"struct.core::fmt::Argument<[]>[#1]"** %76, align 4, !alias.scope !1438
%79 = load %"struct.core::fmt::Argument<[]>[#1]"** %77, align 4, !alias.scope !1438
%80 = icmp eq %"struct.core::fmt::Argument<[]>[#1]"* %78, %79
br i1 %80, label %match_else.i13, label %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E.exit"
"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E.exit": ; preds = %match_case
%81 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %78, i32 1
store %"struct.core::fmt::Argument<[]>[#1]"* %81, %"struct.core::fmt::Argument<[]>[#1]"** %76, align 4, !alias.scope !1438
%82 = icmp eq %"struct.core::fmt::Argument<[]>[#1]"* %78, null
br i1 %82, label %match_else.i13, label %"_ZN6option15Option$LT$T$GT$6unwrap21h13481937718451250280E.exit"
match_else.i13: ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E.exit", %match_case
tail call fastcc void @_ZN9panicking5panic20ha1bfd2ba09f75d6713jE({ %str_slice, %str_slice, i32 }* noalias nocapture readonly dereferenceable(20) @"_ZN6option15Option$LT$T$GT$6unwrap14_MSG_FILE_LINE20hc91b2d16fb0cceb0svmE")
unreachable
"_ZN6option15Option$LT$T$GT$6unwrap21h13481937718451250280E.exit": ; preds = %"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E.exit"
%value.sroa.0.0..sroa_idx = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %78, i32 0, i32 0
%value.sroa.5.0..sroa_idx10 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %78, i32 0, i32 1
br label %join
next: ; preds = %match_else
%83 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %0, i32 0, i32 7, i32 0
%84 = load %"struct.core::fmt::Argument<[]>[#1]"** %83, align 4
%value.sroa.0.0..sroa_idx7 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %84, i32 %72, i32 0
%value.sroa.5.0..sroa_idx11 = getelementptr inbounds %"struct.core::fmt::Argument<[]>[#1]"* %84, i32 %72, i32 1
br label %join
cond: ; preds = %match_else
tail call fastcc void @_ZN9panicking18panic_bounds_check20h30d47eed9f7b4921w5jE({ %str_slice, i32 }* noalias nocapture readonly dereferenceable(12) @const107, i32 %72, i32 %74)
unreachable
join: ; preds = %next, %"_ZN6option15Option$LT$T$GT$6unwrap21h13481937718451250280E.exit"
%value.sroa.0.0.in = phi %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)** [ %value.sroa.0.0..sroa_idx, %"_ZN6option15Option$LT$T$GT$6unwrap21h13481937718451250280E.exit" ], [ %value.sroa.0.0..sroa_idx7, %next ]
%value.sroa.5.0.in = phi %"enum.core::fmt::Void<[]>[#1]"** [ %value.sroa.5.0..sroa_idx10, %"_ZN6option15Option$LT$T$GT$6unwrap21h13481937718451250280E.exit" ], [ %value.sroa.5.0..sroa_idx11, %next ]
%value.sroa.5.0 = load %"enum.core::fmt::Void<[]>[#1]"** %value.sroa.5.0.in, align 4
%value.sroa.0.0 = load %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (%"enum.core::fmt::Void<[]>[#1]"*, %"struct.core::fmt::Formatter<[]>[#1]"*)** %value.sroa.0.0.in, align 4
%85 = tail call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %value.sroa.0.0(%"enum.core::fmt::Void<[]>[#1]"* noalias nocapture readonly %value.sroa.5.0, %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture dereferenceable(52) %0) #0
%oldret = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %85, 0
%newret = insertvalue { i8, [1 x i8] } undef, i8 %oldret, 0
%oldret1 = extractvalue %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %85, 2
%newret2 = insertvalue { i8, [1 x i8] } %newret, [1 x i8] %oldret1, 1
ret { i8, [1 x i8] } %newret2
}
; Function Attrs: inlinehint nounwind uwtable
define internal %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" @"_ZN3fmt22Formatter$LT$$x27a$GT$3pad13closure.21666E"(i8* nocapture readonly, %"struct.core::fmt::Formatter<[]>[#1]"* noalias nocapture readonly dereferenceable(52)) unnamed_addr #5 {
entry-block:
%2 = alloca { i8*, i32 }, align 8
%3 = getelementptr inbounds i8* %0, i32 16
%4 = bitcast i8* %3 to %str_slice**
%5 = load %str_slice** %4, align 4
%6 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %1, i32 0, i32 5, i32 0
%7 = load i8** %6, align 4
%8 = getelementptr inbounds %"struct.core::fmt::Formatter<[]>[#1]"* %1, i32 0, i32 5, i32 1
%9 = load void (i8*)*** %8, align 4
%10 = getelementptr inbounds void (i8*)** %9, i32 3
%11 = load void (i8*)** %10, align 4
%12 = bitcast void (i8*)* %11 to %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" (i8*, { i8*, i32 }*)*
%13 = bitcast { i8*, i32 }* %2 to i8*
call void @llvm.lifetime.start(i64 8, i8* %13)
%14 = bitcast %str_slice* %5 to i64*
%15 = load i64* %14, align 4
%16 = bitcast { i8*, i32 }* %2 to i64*
store i64 %15, i64* %16, align 8, !alias.scope !1441, !noalias !1444
%17 = call %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %12(i8* noalias nocapture dereferenceable(8) %7, { i8*, i32 }* noalias nocapture dereferenceable(8) %2) #0
call void @llvm.lifetime.end(i64 8, i8* %13)
ret %"enum.core::result::Result<[(), core::fmt::FormatError]>[#1]" %17
}
attributes #0 = { nounwind }
attributes #1 = { nounwind uwtable }
attributes #2 = { alwaysinline noreturn nounwind uwtable }
attributes #3 = { inlinehint noreturn nounwind uwtable }
attributes #4 = { inlinehint nounwind readonly uwtable }
attributes #5 = { inlinehint nounwind uwtable }
attributes #6 = { nounwind readnone }
attributes #7 = { inlinehint nounwind readnone uwtable }
attributes #8 = { nounwind readnone uwtable }
attributes #9 = { alwaysinline nounwind uwtable }
attributes #10 = { noreturn nounwind }
attributes #11 = { noinline nounwind uwtable }
attributes #12 = { nounwind readonly uwtable }
attributes #13 = { alwaysinline nounwind readonly uwtable }
attributes #14 = { cold noinline noreturn nounwind uwtable }
!0 = metadata !{metadata !1}
!1 = metadata !{metadata !1, metadata !2, metadata !"_ZN6kernel4util4bitv4Bitv10as_mut_ptr20h78094b83c074e6a0YeaE: argument 0"}
!2 = metadata !{metadata !2, metadata !"_ZN6kernel4util4bitv4Bitv10as_mut_ptr20h78094b83c074e6a0YeaE"}
!3 = metadata !{metadata !4}
!4 = metadata !{metadata !4, metadata !5, metadata !"_ZN6kernel4util4bitv4Bitv5clear20h3d43a58d704badb8dfaE: argument 0"}
!5 = metadata !{metadata !5, metadata !"_ZN6kernel4util4bitv4Bitv5clear20h3d43a58d704badb8dfaE"}
!6 = metadata !{metadata !7}
!7 = metadata !{metadata !7, metadata !8, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc5alloc20hce492a7b195d66c5vjaE: argument 1"}
!8 = metadata !{metadata !8, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc5alloc20hce492a7b195d66c5vjaE"}
!9 = metadata !{metadata !10}
!10 = metadata !{metadata !10, metadata !8, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc5alloc20hce492a7b195d66c5vjaE: argument 0"}
!11 = metadata !{metadata !12, metadata !14, metadata !7}
!12 = metadata !{metadata !12, metadata !13, metadata !"_ZN6kernel4util4bitv4Bitv3get20h40d529fa5ed790428caE: argument 0"}
!13 = metadata !{metadata !13, metadata !"_ZN6kernel4util4bitv4Bitv3get20h40d529fa5ed790428caE"}
!14 = metadata !{metadata !14, metadata !15, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3get20hc1e003c0513baad62paE: argument 0"}
!15 = metadata !{metadata !15, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3get20hc1e003c0513baad62paE"}
!16 = metadata !{metadata !12, metadata !14, metadata !10, metadata !7}
!17 = metadata !{metadata !18, metadata !20, metadata !10, metadata !7}
!18 = metadata !{metadata !18, metadata !19, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE: argument 0"}
!19 = metadata !{metadata !19, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE"}
!20 = metadata !{metadata !20, metadata !21, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE: argument 0"}
!21 = metadata !{metadata !21, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE"}
!22 = metadata !{metadata !23, metadata !25, metadata !10, metadata !7}
!23 = metadata !{metadata !23, metadata !24, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE: argument 0"}
!24 = metadata !{metadata !24, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE"}
!25 = metadata !{metadata !25, metadata !26, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE: argument 0"}
!26 = metadata !{metadata !26, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE"}
!27 = metadata !{metadata !28, metadata !30, metadata !10, metadata !7}
!28 = metadata !{metadata !28, metadata !29, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE: argument 0"}
!29 = metadata !{metadata !29, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE"}
!30 = metadata !{metadata !30, metadata !31, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE: argument 0"}
!31 = metadata !{metadata !31, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE"}
!32 = metadata !{metadata !33, metadata !35, metadata !10, metadata !7}
!33 = metadata !{metadata !33, metadata !34, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE: argument 0"}
!34 = metadata !{metadata !34, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE"}
!35 = metadata !{metadata !35, metadata !36, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE: argument 0"}
!36 = metadata !{metadata !36, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE"}
!37 = metadata !{metadata !38, metadata !40, metadata !10, metadata !7}
!38 = metadata !{metadata !38, metadata !39, metadata !"_ZN6kernel4util4bitv4Bitv3get20h40d529fa5ed790428caE: argument 0"}
!39 = metadata !{metadata !39, metadata !"_ZN6kernel4util4bitv4Bitv3get20h40d529fa5ed790428caE"}
!40 = metadata !{metadata !40, metadata !41, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3get20hc1e003c0513baad62paE: argument 0"}
!41 = metadata !{metadata !41, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3get20hc1e003c0513baad62paE"}
!42 = metadata !{metadata !43, metadata !45, metadata !10, metadata !7}
!43 = metadata !{metadata !43, metadata !44, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE: argument 0"}
!44 = metadata !{metadata !44, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE"}
!45 = metadata !{metadata !45, metadata !46, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE: argument 0"}
!46 = metadata !{metadata !46, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE"}
!47 = metadata !{metadata !10, metadata !7}
!48 = metadata !{metadata !49, metadata !51, metadata !53}
!49 = metadata !{metadata !49, metadata !50, metadata !"_ZN6kernel4util4bitv4Bitv3get20h40d529fa5ed790428caE: argument 0"}
!50 = metadata !{metadata !50, metadata !"_ZN6kernel4util4bitv4Bitv3get20h40d529fa5ed790428caE"}
!51 = metadata !{metadata !51, metadata !52, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3get20hc1e003c0513baad62paE: argument 0"}
!52 = metadata !{metadata !52, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3get20hc1e003c0513baad62paE"}
!53 = metadata !{metadata !53, metadata !54, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc4free20h569722abaacc3007mnaE: argument 0"}
!54 = metadata !{metadata !54, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc4free20h569722abaacc3007mnaE"}
!55 = metadata !{metadata !56, metadata !58, metadata !53}
!56 = metadata !{metadata !56, metadata !57, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE: argument 0"}
!57 = metadata !{metadata !57, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE"}
!58 = metadata !{metadata !58, metadata !59, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE: argument 0"}
!59 = metadata !{metadata !59, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE"}
!60 = metadata !{metadata !61, metadata !63, metadata !53}
!61 = metadata !{metadata !61, metadata !62, metadata !"_ZN6kernel4util4bitv4Bitv3get20h40d529fa5ed790428caE: argument 0"}
!62 = metadata !{metadata !62, metadata !"_ZN6kernel4util4bitv4Bitv3get20h40d529fa5ed790428caE"}
!63 = metadata !{metadata !63, metadata !64, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3get20hc1e003c0513baad62paE: argument 0"}
!64 = metadata !{metadata !64, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3get20hc1e003c0513baad62paE"}
!65 = metadata !{metadata !66, metadata !68, metadata !53}
!66 = metadata !{metadata !66, metadata !67, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE: argument 0"}
!67 = metadata !{metadata !67, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE"}
!68 = metadata !{metadata !68, metadata !69, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE: argument 0"}
!69 = metadata !{metadata !69, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE"}
!70 = metadata !{metadata !71, metadata !73, metadata !53}
!71 = metadata !{metadata !71, metadata !72, metadata !"_ZN6kernel4util4bitv4Bitv3get20h40d529fa5ed790428caE: argument 0"}
!72 = metadata !{metadata !72, metadata !"_ZN6kernel4util4bitv4Bitv3get20h40d529fa5ed790428caE"}
!73 = metadata !{metadata !73, metadata !74, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3get20hc1e003c0513baad62paE: argument 0"}
!74 = metadata !{metadata !74, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3get20hc1e003c0513baad62paE"}
!75 = metadata !{metadata !76, metadata !78, metadata !53}
!76 = metadata !{metadata !76, metadata !77, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE: argument 0"}
!77 = metadata !{metadata !77, metadata !"_ZN6kernel4util4bitv4Bitv3set20h09bc4defe82b5980XdaE"}
!78 = metadata !{metadata !78, metadata !79, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE: argument 0"}
!79 = metadata !{metadata !79, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3set20h470abab3ef141a9amqaE"}
!80 = metadata !{metadata !81, metadata !83}
!81 = metadata !{metadata !81, metadata !82, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!82 = metadata !{metadata !82, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!83 = metadata !{metadata !83, metadata !82, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!84 = metadata !{metadata !85, metadata !87}
!85 = metadata !{metadata !85, metadata !86, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 0"}
!86 = metadata !{metadata !86, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E"}
!87 = metadata !{metadata !87, metadata !86, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 1"}
!88 = metadata !{metadata !85}
!89 = metadata !{metadata !90, metadata !92}
!90 = metadata !{metadata !90, metadata !91, metadata !"_ZN6kernel4util4bitv4Bitv5clear20h3d43a58d704badb8dfaE: argument 0"}
!91 = metadata !{metadata !91, metadata !"_ZN6kernel4util4bitv4Bitv5clear20h3d43a58d704badb8dfaE"}
!92 = metadata !{metadata !92, metadata !93, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3new20hb6b0521a66409737CiaE: argument 0"}
!93 = metadata !{metadata !93, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3new20hb6b0521a66409737CiaE"}
!94 = metadata !{metadata !95, metadata !97}
!95 = metadata !{metadata !95, metadata !96, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!96 = metadata !{metadata !96, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!97 = metadata !{metadata !97, metadata !96, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!98 = metadata !{metadata !99, metadata !101}
!99 = metadata !{metadata !99, metadata !100, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!100 = metadata !{metadata !100, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!101 = metadata !{metadata !101, metadata !100, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!102 = metadata !{metadata !103, metadata !105, metadata !107}
!103 = metadata !{metadata !103, metadata !104, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3get20h4427962466880774156E: argument 0"}
!104 = metadata !{metadata !104, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3get20h4427962466880774156E"}
!105 = metadata !{metadata !105, metadata !106, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$11fetch_table21h14042147614176176174E: argument 0"}
!106 = metadata !{metadata !106, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$11fetch_table21h14042147614176176174E"}
!107 = metadata !{metadata !107, metadata !108, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E: argument 0"}
!108 = metadata !{metadata !108, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E"}
!109 = metadata !{metadata !110, metadata !112, metadata !105, metadata !107}
!110 = metadata !{metadata !110, metadata !111, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 0"}
!111 = metadata !{metadata !111, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E"}
!112 = metadata !{metadata !112, metadata !111, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 1"}
!113 = metadata !{metadata !110, metadata !105, metadata !107}
!114 = metadata !{metadata !105, metadata !107}
!115 = metadata !{metadata !116, metadata !118, metadata !105, metadata !107}
!116 = metadata !{metadata !116, metadata !117, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E: argument 0"}
!117 = metadata !{metadata !117, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E"}
!118 = metadata !{metadata !118, metadata !119, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h14956361605412678508E: argument 0"}
!119 = metadata !{metadata !119, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h14956361605412678508E"}
!120 = metadata !{metadata !118, metadata !105, metadata !107}
!121 = metadata !{i32 158}
!122 = metadata !{metadata !123, metadata !125}
!123 = metadata !{metadata !123, metadata !124, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set20h8091707363496975452E: argument 0"}
!124 = metadata !{metadata !124, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set20h8091707363496975452E"}
!125 = metadata !{metadata !125, metadata !126, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h12028718954692260864E: argument 0"}
!126 = metadata !{metadata !126, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h12028718954692260864E"}
!127 = metadata !{metadata !107}
!128 = metadata !{metadata !125, metadata !107}
!129 = metadata !{metadata !130, metadata !132, metadata !134}
!130 = metadata !{metadata !130, metadata !131, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3get20h4427962466880774156E: argument 0"}
!131 = metadata !{metadata !131, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3get20h4427962466880774156E"}
!132 = metadata !{metadata !132, metadata !133, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$11fetch_table21h14042147614176176174E: argument 0"}
!133 = metadata !{metadata !133, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$11fetch_table21h14042147614176176174E"}
!134 = metadata !{metadata !134, metadata !135, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E: argument 0"}
!135 = metadata !{metadata !135, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E"}
!136 = metadata !{metadata !137, metadata !139, metadata !132, metadata !134}
!137 = metadata !{metadata !137, metadata !138, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 0"}
!138 = metadata !{metadata !138, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E"}
!139 = metadata !{metadata !139, metadata !138, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 1"}
!140 = metadata !{metadata !137, metadata !132, metadata !134}
!141 = metadata !{metadata !132, metadata !134}
!142 = metadata !{metadata !143, metadata !145, metadata !132, metadata !134}
!143 = metadata !{metadata !143, metadata !144, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E: argument 0"}
!144 = metadata !{metadata !144, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E"}
!145 = metadata !{metadata !145, metadata !146, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h14956361605412678508E: argument 0"}
!146 = metadata !{metadata !146, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h14956361605412678508E"}
!147 = metadata !{metadata !145, metadata !132, metadata !134}
!148 = metadata !{metadata !149, metadata !151}
!149 = metadata !{metadata !149, metadata !150, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set20h8091707363496975452E: argument 0"}
!150 = metadata !{metadata !150, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set20h8091707363496975452E"}
!151 = metadata !{metadata !151, metadata !152, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h12028718954692260864E: argument 0"}
!152 = metadata !{metadata !152, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h12028718954692260864E"}
!153 = metadata !{metadata !134}
!154 = metadata !{metadata !151, metadata !134}
!155 = metadata !{i32 211}
!156 = metadata !{metadata !157}
!157 = metadata !{metadata !157, metadata !158, metadata !"_ZN3cmp5impls7u32.Ord3cmp20h4e563246d874c68aWCiE: argument 0"}
!158 = metadata !{metadata !158, metadata !"_ZN3cmp5impls7u32.Ord3cmp20h4e563246d874c68aWCiE"}
!159 = metadata !{metadata !160}
!160 = metadata !{metadata !160, metadata !158, metadata !"_ZN3cmp5impls7u32.Ord3cmp20h4e563246d874c68aWCiE: argument 1"}
!161 = metadata !{metadata !162, metadata !164}
!162 = metadata !{metadata !162, metadata !163, metadata !"_ZN3cmp5impls14u32.PartialOrd2le20hb6fecf34486776b6UgiE: argument 0"}
!163 = metadata !{metadata !163, metadata !"_ZN3cmp5impls14u32.PartialOrd2le20hb6fecf34486776b6UgiE"}
!164 = metadata !{metadata !164, metadata !165, metadata !"_ZN3cmp5impls14u32.PartialOrd11partial_cmp20h8313f14fd1d45e0fJfiE: argument 0"}
!165 = metadata !{metadata !165, metadata !"_ZN3cmp5impls14u32.PartialOrd11partial_cmp20h8313f14fd1d45e0fJfiE"}
!166 = metadata !{metadata !167, metadata !168, metadata !170, metadata !171}
!167 = metadata !{metadata !167, metadata !163, metadata !"_ZN3cmp5impls14u32.PartialOrd2le20hb6fecf34486776b6UgiE: argument 1"}
!168 = metadata !{metadata !168, metadata !169, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h16573726890255958360E: argument 0"}
!169 = metadata !{metadata !169, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h16573726890255958360E"}
!170 = metadata !{metadata !170, metadata !169, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h16573726890255958360E: argument 1"}
!171 = metadata !{metadata !171, metadata !165, metadata !"_ZN3cmp5impls14u32.PartialOrd11partial_cmp20h8313f14fd1d45e0fJfiE: argument 1"}
!172 = metadata !{metadata !167, metadata !171}
!173 = metadata !{metadata !162, metadata !168, metadata !170, metadata !164}
!174 = metadata !{metadata !175}
!175 = metadata !{metadata !175, metadata !176, metadata !"_ZN5clone9u32.Clone5clone20h64ec8998b59d6756MRiE: argument 0"}
!176 = metadata !{metadata !176, metadata !"_ZN5clone9u32.Clone5clone20h64ec8998b59d6756MRiE"}
!177 = metadata !{metadata !178}
!178 = metadata !{metadata !178, metadata !179, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE: argument 0"}
!179 = metadata !{metadata !179, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE"}
!180 = metadata !{metadata !181}
!181 = metadata !{metadata !181, metadata !179, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE: argument 1"}
!182 = metadata !{metadata !183}
!183 = metadata !{metadata !183, metadata !184, metadata !"_ZN3cmp5impls13u32.PartialEq2ne20h4e473565ef098ea8HYhE: argument 0"}
!184 = metadata !{metadata !184, metadata !"_ZN3cmp5impls13u32.PartialEq2ne20h4e473565ef098ea8HYhE"}
!185 = metadata !{metadata !186}
!186 = metadata !{metadata !186, metadata !184, metadata !"_ZN3cmp5impls13u32.PartialEq2ne20h4e473565ef098ea8HYhE: argument 1"}
!187 = metadata !{metadata !188}
!188 = metadata !{metadata !188, metadata !189, metadata !"_ZN6kernel7process7Process3new20h6e14d1af8690e6db9BaE: argument 0"}
!189 = metadata !{metadata !189, metadata !"_ZN6kernel7process7Process3new20h6e14d1af8690e6db9BaE"}
!190 = metadata !{metadata !191}
!191 = metadata !{metadata !191, metadata !192, metadata !"_ZN6kernel7process7Process4mmap20h3f4daa45eb9901f9lCaE: argument 0"}
!192 = metadata !{metadata !192, metadata !"_ZN6kernel7process7Process4mmap20h3f4daa45eb9901f9lCaE"}
!193 = metadata !{i32 0, i32 -2147483648}
!194 = metadata !{metadata !195}
!195 = metadata !{metadata !195, metadata !196, metadata !"_ZN6kernel3elf16self..Phdr.PhdrT4load20ha29b7de9f7050554x4aE: argument 0"}
!196 = metadata !{metadata !196, metadata !"_ZN6kernel3elf16self..Phdr.PhdrT4load20ha29b7de9f7050554x4aE"}
!197 = metadata !{metadata !198}
!198 = metadata !{metadata !198, metadata !196, metadata !"_ZN6kernel3elf16self..Phdr.PhdrT4load20ha29b7de9f7050554x4aE: argument 1"}
!199 = metadata !{metadata !200, metadata !202, metadata !195}
!200 = metadata !{metadata !200, metadata !201, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 0"}
!201 = metadata !{metadata !201, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE"}
!202 = metadata !{metadata !202, metadata !203, metadata !"_ZN6kernel3elf11HeaderFlags8contains20h9eb3eaa449240fe0HVaE: argument 0"}
!203 = metadata !{metadata !203, metadata !"_ZN6kernel3elf11HeaderFlags8contains20h9eb3eaa449240fe0HVaE"}
!204 = metadata !{metadata !205, metadata !198}
!205 = metadata !{metadata !205, metadata !201, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 1"}
!206 = metadata !{metadata !207, metadata !195, metadata !198}
!207 = metadata !{metadata !207, metadata !208, metadata !"_ZN6kernel7process7Process4mmap20h3f4daa45eb9901f9lCaE: argument 0"}
!208 = metadata !{metadata !208, metadata !"_ZN6kernel7process7Process4mmap20h3f4daa45eb9901f9lCaE"}
!209 = metadata !{metadata !195, metadata !198}
!210 = metadata !{metadata !211}
!211 = metadata !{metadata !211, metadata !212, metadata !"_ZN6kernel3elf16self..Phdr.PhdrT4load20ha29b7de9f7050554x4aE: argument 0"}
!212 = metadata !{metadata !212, metadata !"_ZN6kernel3elf16self..Phdr.PhdrT4load20ha29b7de9f7050554x4aE"}
!213 = metadata !{metadata !214}
!214 = metadata !{metadata !214, metadata !212, metadata !"_ZN6kernel3elf16self..Phdr.PhdrT4load20ha29b7de9f7050554x4aE: argument 1"}
!215 = metadata !{metadata !216, metadata !218, metadata !211}
!216 = metadata !{metadata !216, metadata !217, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 0"}
!217 = metadata !{metadata !217, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE"}
!218 = metadata !{metadata !218, metadata !219, metadata !"_ZN6kernel3elf11HeaderFlags8contains20h9eb3eaa449240fe0HVaE: argument 0"}
!219 = metadata !{metadata !219, metadata !"_ZN6kernel3elf11HeaderFlags8contains20h9eb3eaa449240fe0HVaE"}
!220 = metadata !{metadata !221, metadata !214}
!221 = metadata !{metadata !221, metadata !217, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 1"}
!222 = metadata !{metadata !223, metadata !211, metadata !214}
!223 = metadata !{metadata !223, metadata !224, metadata !"_ZN6kernel7process7Process4mmap20h3f4daa45eb9901f9lCaE: argument 0"}
!224 = metadata !{metadata !224, metadata !"_ZN6kernel7process7Process4mmap20h3f4daa45eb9901f9lCaE"}
!225 = metadata !{metadata !211, metadata !214}
!226 = metadata !{metadata !227, metadata !229}
!227 = metadata !{metadata !227, metadata !228, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 0"}
!228 = metadata !{metadata !228, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE"}
!229 = metadata !{metadata !229, metadata !230, metadata !"_ZN6kernel3elf11HeaderFlags8contains20h9eb3eaa449240fe0HVaE: argument 0"}
!230 = metadata !{metadata !230, metadata !"_ZN6kernel3elf11HeaderFlags8contains20h9eb3eaa449240fe0HVaE"}
!231 = metadata !{metadata !232}
!232 = metadata !{metadata !232, metadata !228, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 1"}
!233 = metadata !{metadata !234, metadata !236}
!234 = metadata !{metadata !234, metadata !235, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 0"}
!235 = metadata !{metadata !235, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE"}
!236 = metadata !{metadata !236, metadata !237, metadata !"_ZN6kernel3elf11HeaderFlags8contains20h9eb3eaa449240fe0HVaE: argument 0"}
!237 = metadata !{metadata !237, metadata !"_ZN6kernel3elf11HeaderFlags8contains20h9eb3eaa449240fe0HVaE"}
!238 = metadata !{metadata !239}
!239 = metadata !{metadata !239, metadata !235, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 1"}
!240 = metadata !{metadata !241, metadata !243}
!241 = metadata !{metadata !241, metadata !242, metadata !"_ZN6kernel2mm8physical13Phys$LT$T$GT$6as_ptr20h5851868011968224336E: argument 0"}
!242 = metadata !{metadata !242, metadata !"_ZN6kernel2mm8physical13Phys$LT$T$GT$6as_ptr20h5851868011968224336E"}
!243 = metadata !{metadata !243, metadata !244, metadata !"_ZN6kernel7process7Process4mmap20h3f4daa45eb9901f9lCaE: argument 0"}
!244 = metadata !{metadata !244, metadata !"_ZN6kernel7process7Process4mmap20h3f4daa45eb9901f9lCaE"}
!245 = metadata !{metadata !243}
!246 = metadata !{metadata !247, metadata !249, metadata !251}
!247 = metadata !{metadata !247, metadata !248, metadata !"_ZN6kernel4util4bitv4Bitv5clear20h3d43a58d704badb8dfaE: argument 0"}
!248 = metadata !{metadata !248, metadata !"_ZN6kernel4util4bitv4Bitv5clear20h3d43a58d704badb8dfaE"}
!249 = metadata !{metadata !249, metadata !250, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3new20hb6b0521a66409737CiaE: argument 0"}
!250 = metadata !{metadata !250, metadata !"_ZN6kernel2mm9allocator10BuddyAlloc3new20hb6b0521a66409737CiaE"}
!251 = metadata !{metadata !251, metadata !252, metadata !"_ZN6kernel4heap4init20hee8e25e8d996f110rxaE: argument 0"}
!252 = metadata !{metadata !252, metadata !"_ZN6kernel4heap4init20hee8e25e8d996f110rxaE"}
!253 = metadata !{metadata !251}
!254 = metadata !{metadata !255, metadata !257}
!255 = metadata !{metadata !255, metadata !256, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 0"}
!256 = metadata !{metadata !256, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E"}
!257 = metadata !{metadata !257, metadata !256, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 1"}
!258 = metadata !{metadata !255}
!259 = metadata !{metadata !260}
!260 = metadata !{metadata !260, metadata !261, metadata !"_ZN8platform3cpu9interrupt5Table4load20hd5001ded8cb3ecd3kXbE: argument 0"}
!261 = metadata !{metadata !261, metadata !"_ZN8platform3cpu9interrupt5Table4load20hd5001ded8cb3ecd3kXbE"}
!262 = metadata !{i32 114}
!263 = metadata !{i32 118}
!264 = metadata !{i32 116}
!265 = metadata !{i32 239}
!266 = metadata !{metadata !267}
!267 = metadata !{metadata !267, metadata !268, metadata !"_ZN8platform7drivers4init12closure.4131E: argument 0"}
!268 = metadata !{metadata !268, metadata !"_ZN8platform7drivers4init12closure.4131E"}
!269 = metadata !{metadata !270}
!270 = metadata !{metadata !270, metadata !271, metadata !"_ZN8platform3cpu9interrupt5Table15enable_maskable20h50f2c52579f0480aUVbE: argument 0"}
!271 = metadata !{metadata !271, metadata !"_ZN8platform3cpu9interrupt5Table15enable_maskable20h50f2c52579f0480aUVbE"}
!272 = metadata !{metadata !273, metadata !275}
!273 = metadata !{metadata !273, metadata !274, metadata !"_ZN6option15Option$LT$T$GT$3map19h430008124206022313E: argument 0"}
!274 = metadata !{metadata !274, metadata !"_ZN6option15Option$LT$T$GT$3map19h430008124206022313E"}
!275 = metadata !{metadata !275, metadata !276, metadata !"_ZN6kernel3elf4exec12closure.4015E: argument 0"}
!276 = metadata !{metadata !276, metadata !"_ZN6kernel3elf4exec12closure.4015E"}
!277 = metadata !{metadata !273}
!278 = metadata !{metadata !279, metadata !273, metadata !275}
!279 = metadata !{metadata !279, metadata !280, metadata !"_ZN6kernel7process7Process5enter20h3f85dc7955dece06RCaE: argument 0"}
!280 = metadata !{metadata !280, metadata !"_ZN6kernel7process7Process5enter20h3f85dc7955dece06RCaE"}
!281 = metadata !{metadata !279}
!282 = metadata !{i32 20}
!283 = metadata !{metadata !284, metadata !286}
!284 = metadata !{metadata !284, metadata !285, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!285 = metadata !{metadata !285, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!286 = metadata !{metadata !286, metadata !285, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!287 = metadata !{metadata !288, metadata !290}
!288 = metadata !{metadata !288, metadata !289, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 0"}
!289 = metadata !{metadata !289, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E"}
!290 = metadata !{metadata !290, metadata !289, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 1"}
!291 = metadata !{metadata !288}
!292 = metadata !{metadata !293, metadata !295}
!293 = metadata !{metadata !293, metadata !294, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!294 = metadata !{metadata !294, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!295 = metadata !{metadata !295, metadata !294, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!296 = metadata !{metadata !"branch_weights", i32 4, i32 64}
!297 = metadata !{metadata !298, metadata !300}
!298 = metadata !{metadata !298, metadata !299, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!299 = metadata !{metadata !299, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!300 = metadata !{metadata !300, metadata !299, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!301 = metadata !{metadata !302, metadata !304}
!302 = metadata !{metadata !302, metadata !303, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 0"}
!303 = metadata !{metadata !303, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E"}
!304 = metadata !{metadata !304, metadata !303, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 1"}
!305 = metadata !{metadata !302}
!306 = metadata !{metadata !307, metadata !309}
!307 = metadata !{metadata !307, metadata !308, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!308 = metadata !{metadata !308, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!309 = metadata !{metadata !309, metadata !308, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!310 = metadata !{metadata !311, metadata !313}
!311 = metadata !{metadata !311, metadata !312, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 0"}
!312 = metadata !{metadata !312, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E"}
!313 = metadata !{metadata !313, metadata !312, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 1"}
!314 = metadata !{metadata !311}
!315 = metadata !{metadata !316}
!316 = metadata !{metadata !316, metadata !317, metadata !"_ZN8platform3cpu3gdt3Gdt3new20h759ce73844158badaCbE: argument 0"}
!317 = metadata !{metadata !317, metadata !"_ZN8platform3cpu3gdt3Gdt3new20h759ce73844158badaCbE"}
!318 = metadata !{metadata !319, metadata !321, metadata !316}
!319 = metadata !{metadata !319, metadata !320, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!320 = metadata !{metadata !320, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!321 = metadata !{metadata !321, metadata !320, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!322 = metadata !{metadata !323, metadata !325, metadata !316}
!323 = metadata !{metadata !323, metadata !324, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 0"}
!324 = metadata !{metadata !324, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E"}
!325 = metadata !{metadata !325, metadata !324, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 1"}
!326 = metadata !{metadata !323, metadata !316}
!327 = metadata !{metadata !328, metadata !330, metadata !316}
!328 = metadata !{metadata !328, metadata !329, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!329 = metadata !{metadata !329, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!330 = metadata !{metadata !330, metadata !329, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!331 = metadata !{metadata !332, metadata !334}
!332 = metadata !{metadata !332, metadata !333, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE: argument 0"}
!333 = metadata !{metadata !333, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE"}
!334 = metadata !{metadata !334, metadata !333, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE: argument 1"}
!335 = metadata !{metadata !336, metadata !338}
!336 = metadata !{metadata !336, metadata !337, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE: argument 0"}
!337 = metadata !{metadata !337, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE"}
!338 = metadata !{metadata !338, metadata !337, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE: argument 1"}
!339 = metadata !{metadata !340, metadata !342}
!340 = metadata !{metadata !340, metadata !341, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE: argument 0"}
!341 = metadata !{metadata !341, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE"}
!342 = metadata !{metadata !342, metadata !341, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE: argument 1"}
!343 = metadata !{metadata !344, metadata !346}
!344 = metadata !{metadata !344, metadata !345, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE: argument 0"}
!345 = metadata !{metadata !345, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE"}
!346 = metadata !{metadata !346, metadata !345, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE: argument 1"}
!347 = metadata !{metadata !348, metadata !350}
!348 = metadata !{metadata !348, metadata !349, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE: argument 0"}
!349 = metadata !{metadata !349, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE"}
!350 = metadata !{metadata !350, metadata !349, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE: argument 1"}
!351 = metadata !{metadata !352, metadata !354}
!352 = metadata !{metadata !352, metadata !353, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE: argument 0"}
!353 = metadata !{metadata !353, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE"}
!354 = metadata !{metadata !354, metadata !353, metadata !"_ZN8platform3cpu3gdt3Gdt6enable20h7178619cfcb220cbVCbE: argument 1"}
!355 = metadata !{metadata !356}
!356 = metadata !{metadata !356, metadata !357, metadata !"_ZN8platform3cpu3gdt3Gdt4load20h7bbe5116376c1a7c4DbE: argument 0"}
!357 = metadata !{metadata !357, metadata !"_ZN8platform3cpu3gdt3Gdt4load20h7bbe5116376c1a7c4DbE"}
!358 = metadata !{i32 92}
!359 = metadata !{i32 88}
!360 = metadata !{i32 90}
!361 = metadata !{metadata !362}
!362 = metadata !{metadata !362, metadata !363, metadata !"_ZN8platform3cpu4init12closure.4103E: argument 0"}
!363 = metadata !{metadata !363, metadata !"_ZN8platform3cpu4init12closure.4103E"}
!364 = metadata !{metadata !365, metadata !367}
!365 = metadata !{metadata !365, metadata !366, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!366 = metadata !{metadata !366, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!367 = metadata !{metadata !367, metadata !366, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!368 = metadata !{metadata !369}
!369 = metadata !{metadata !369, metadata !370, metadata !"_ZN8platform3cpu9interrupt3Isr9idt_entry20h91a1ac76b866d3f0WYbE: argument 1"}
!370 = metadata !{metadata !370, metadata !"_ZN8platform3cpu9interrupt3Isr9idt_entry20h91a1ac76b866d3f0WYbE"}
!371 = metadata !{metadata !372}
!372 = metadata !{metadata !372, metadata !370, metadata !"_ZN8platform3cpu9interrupt3Isr9idt_entry20h91a1ac76b866d3f0WYbE: argument 0"}
!373 = metadata !{metadata !374}
!374 = metadata !{metadata !374, metadata !375, metadata !"_ZN8platform3cpu9interrupt5Table7set_isr20h74a16116862f85a7JWbE: argument 0"}
!375 = metadata !{metadata !375, metadata !"_ZN8platform3cpu9interrupt5Table7set_isr20h74a16116862f85a7JWbE"}
!376 = metadata !{metadata !377}
!377 = metadata !{metadata !377, metadata !378, metadata !"_ZN3cmp5impls6u8.Ord3cmp20h484aaacf682b1bafKBiE: argument 0"}
!378 = metadata !{metadata !378, metadata !"_ZN3cmp5impls6u8.Ord3cmp20h484aaacf682b1bafKBiE"}
!379 = metadata !{metadata !380}
!380 = metadata !{metadata !380, metadata !378, metadata !"_ZN3cmp5impls6u8.Ord3cmp20h484aaacf682b1bafKBiE: argument 1"}
!381 = metadata !{metadata !382, metadata !384}
!382 = metadata !{metadata !382, metadata !383, metadata !"_ZN3cmp5impls13u8.PartialOrd2le20hd2abd6ee06278523sciE: argument 0"}
!383 = metadata !{metadata !383, metadata !"_ZN3cmp5impls13u8.PartialOrd2le20hd2abd6ee06278523sciE"}
!384 = metadata !{metadata !384, metadata !385, metadata !"_ZN3cmp5impls13u8.PartialOrd11partial_cmp20h6f465bece3996bc6hbiE: argument 0"}
!385 = metadata !{metadata !385, metadata !"_ZN3cmp5impls13u8.PartialOrd11partial_cmp20h6f465bece3996bc6hbiE"}
!386 = metadata !{metadata !387, metadata !388, metadata !390, metadata !391}
!387 = metadata !{metadata !387, metadata !383, metadata !"_ZN3cmp5impls13u8.PartialOrd2le20hd2abd6ee06278523sciE: argument 1"}
!388 = metadata !{metadata !388, metadata !389, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h10284733592600895977E: argument 0"}
!389 = metadata !{metadata !389, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h10284733592600895977E"}
!390 = metadata !{metadata !390, metadata !389, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h10284733592600895977E: argument 1"}
!391 = metadata !{metadata !391, metadata !385, metadata !"_ZN3cmp5impls13u8.PartialOrd11partial_cmp20h6f465bece3996bc6hbiE: argument 1"}
!392 = metadata !{metadata !387, metadata !391}
!393 = metadata !{metadata !382, metadata !388, metadata !390, metadata !384}
!394 = metadata !{metadata !395}
!395 = metadata !{metadata !395, metadata !396, metadata !"_ZN5clone8u8.Clone5clone20hecce827112c7618diRiE: argument 0"}
!396 = metadata !{metadata !396, metadata !"_ZN5clone8u8.Clone5clone20hecce827112c7618diRiE"}
!397 = metadata !{metadata !398}
!398 = metadata !{metadata !398, metadata !399, metadata !"_ZN3cmp5impls12u8.PartialEq2eq20hb4d11975aff8446eVWhE: argument 0"}
!399 = metadata !{metadata !399, metadata !"_ZN3cmp5impls12u8.PartialEq2eq20hb4d11975aff8446eVWhE"}
!400 = metadata !{metadata !401}
!401 = metadata !{metadata !401, metadata !399, metadata !"_ZN3cmp5impls12u8.PartialEq2eq20hb4d11975aff8446eVWhE: argument 1"}
!402 = metadata !{metadata !403}
!403 = metadata !{metadata !403, metadata !404, metadata !"_ZN3cmp5impls12u8.PartialEq2ne20hd4d90d431c8bb204fXhE: argument 0"}
!404 = metadata !{metadata !404, metadata !"_ZN3cmp5impls12u8.PartialEq2ne20hd4d90d431c8bb204fXhE"}
!405 = metadata !{metadata !406}
!406 = metadata !{metadata !406, metadata !404, metadata !"_ZN3cmp5impls12u8.PartialEq2ne20hd4d90d431c8bb204fXhE: argument 1"}
!407 = metadata !{metadata !408, metadata !410}
!408 = metadata !{metadata !408, metadata !409, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!409 = metadata !{metadata !409, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!410 = metadata !{metadata !410, metadata !409, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!411 = metadata !{metadata !412}
!412 = metadata !{metadata !412, metadata !413, metadata !"_ZN8platform3cpu9interrupt3Isr9idt_entry20h91a1ac76b866d3f0WYbE: argument 1"}
!413 = metadata !{metadata !413, metadata !"_ZN8platform3cpu9interrupt3Isr9idt_entry20h91a1ac76b866d3f0WYbE"}
!414 = metadata !{metadata !415}
!415 = metadata !{metadata !415, metadata !413, metadata !"_ZN8platform3cpu9interrupt3Isr9idt_entry20h91a1ac76b866d3f0WYbE: argument 0"}
!416 = metadata !{metadata !417}
!417 = metadata !{metadata !417, metadata !418, metadata !"_ZN8platform3cpu3idt8IdtEntry3new20h23a97601343db233wRbE: argument 0"}
!418 = metadata !{metadata !418, metadata !"_ZN8platform3cpu3idt8IdtEntry3new20h23a97601343db233wRbE"}
!419 = metadata !{metadata !420, metadata !422}
!420 = metadata !{metadata !420, metadata !421, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!421 = metadata !{metadata !421, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!422 = metadata !{metadata !422, metadata !421, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!423 = metadata !{i32 120}
!424 = metadata !{i32 124}
!425 = metadata !{metadata !426}
!426 = metadata !{metadata !426, metadata !427, metadata !"_ZN8platform2io4puts20he23567ab93df478aP9cE: argument 0"}
!427 = metadata !{metadata !427, metadata !"_ZN8platform2io4puts20he23567ab93df478aP9cE"}
!428 = metadata !{i32 126}
!429 = metadata !{i32 128}
!430 = metadata !{i32 213}
!431 = metadata !{i32 130}
!432 = metadata !{metadata !433}
!433 = metadata !{metadata !433, metadata !434, metadata !"_ZN3fmt8argument21h17348496045738091228E: argument 0"}
!434 = metadata !{metadata !434, metadata !"_ZN3fmt8argument21h17348496045738091228E"}
!435 = metadata !{metadata !436}
!436 = metadata !{metadata !436, metadata !434, metadata !"_ZN3fmt8argument21h17348496045738091228E: argument 1"}
!437 = metadata !{metadata !438}
!438 = metadata !{metadata !438, metadata !439, metadata !"_ZN3fmt8argument20h7490433895998105670E: argument 0"}
!439 = metadata !{metadata !439, metadata !"_ZN3fmt8argument20h7490433895998105670E"}
!440 = metadata !{metadata !441}
!441 = metadata !{metadata !441, metadata !439, metadata !"_ZN3fmt8argument20h7490433895998105670E: argument 1"}
!442 = metadata !{metadata !443}
!443 = metadata !{metadata !443, metadata !444, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$17with_placeholders20h171dc382f660bc89RuyE: argument 0"}
!444 = metadata !{metadata !444, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$17with_placeholders20h171dc382f660bc89RuyE"}
!445 = metadata !{metadata !446, metadata !447, metadata !448}
!446 = metadata !{metadata !446, metadata !444, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$17with_placeholders20h171dc382f660bc89RuyE: argument 1"}
!447 = metadata !{metadata !447, metadata !444, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$17with_placeholders20h171dc382f660bc89RuyE: argument 2"}
!448 = metadata !{metadata !448, metadata !444, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$17with_placeholders20h171dc382f660bc89RuyE: argument 3"}
!449 = metadata !{metadata !450}
!450 = metadata !{metadata !450, metadata !451, metadata !"_ZN8platform2io12println_args20hd4d58b53afdf66d9d6cE: argument 0"}
!451 = metadata !{metadata !451, metadata !"_ZN8platform2io12println_args20hd4d58b53afdf66d9d6cE"}
!452 = metadata !{metadata !453}
!453 = metadata !{metadata !453, metadata !454, metadata !"_ZN3fmt8argument20h9670592995581160076E: argument 0"}
!454 = metadata !{metadata !454, metadata !"_ZN3fmt8argument20h9670592995581160076E"}
!455 = metadata !{metadata !456, metadata !450}
!456 = metadata !{metadata !456, metadata !454, metadata !"_ZN3fmt8argument20h9670592995581160076E: argument 1"}
!457 = metadata !{metadata !458}
!458 = metadata !{metadata !458, metadata !459, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$3new20h72f4102d88ec5c1fnuyE: argument 0"}
!459 = metadata !{metadata !459, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$3new20h72f4102d88ec5c1fnuyE"}
!460 = metadata !{metadata !461, metadata !462, metadata !450}
!461 = metadata !{metadata !461, metadata !459, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$3new20h72f4102d88ec5c1fnuyE: argument 1"}
!462 = metadata !{metadata !462, metadata !459, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$3new20h72f4102d88ec5c1fnuyE: argument 2"}
!463 = metadata !{metadata !464, metadata !466, metadata !450}
!464 = metadata !{metadata !464, metadata !465, metadata !"_ZN8platform2io6Stdout9write_fmt20ha58d932a21bf745du4cE: argument 0"}
!465 = metadata !{metadata !465, metadata !"_ZN8platform2io6Stdout9write_fmt20ha58d932a21bf745du4cE"}
!466 = metadata !{metadata !466, metadata !465, metadata !"_ZN8platform2io6Stdout9write_fmt20ha58d932a21bf745du4cE: argument 1"}
!467 = metadata !{i32 134}
!468 = metadata !{i32 215}
!469 = metadata !{i32 136}
!470 = metadata !{metadata !471, metadata !473}
!471 = metadata !{metadata !471, metadata !472, metadata !"_ZN3cmp5impls14uint.PartialEq2eq20hc3823ef02d9d7c63cWhE: argument 0"}
!472 = metadata !{metadata !472, metadata !"_ZN3cmp5impls14uint.PartialEq2eq20hc3823ef02d9d7c63cWhE"}
!473 = metadata !{metadata !473, metadata !474, metadata !"_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE: argument 0"}
!474 = metadata !{metadata !474, metadata !"_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE"}
!475 = metadata !{metadata !476, metadata !477}
!476 = metadata !{metadata !476, metadata !472, metadata !"_ZN3cmp5impls14uint.PartialEq2eq20hc3823ef02d9d7c63cWhE: argument 1"}
!477 = metadata !{metadata !477, metadata !474, metadata !"_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE: argument 1"}
!478 = metadata !{metadata !479, metadata !481}
!479 = metadata !{metadata !479, metadata !480, metadata !"_ZN3cmp5impls14uint.PartialEq2eq20hc3823ef02d9d7c63cWhE: argument 0"}
!480 = metadata !{metadata !480, metadata !"_ZN3cmp5impls14uint.PartialEq2eq20hc3823ef02d9d7c63cWhE"}
!481 = metadata !{metadata !481, metadata !482, metadata !"_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE: argument 0"}
!482 = metadata !{metadata !482, metadata !"_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE"}
!483 = metadata !{metadata !484, metadata !485}
!484 = metadata !{metadata !484, metadata !480, metadata !"_ZN3cmp5impls14uint.PartialEq2eq20hc3823ef02d9d7c63cWhE: argument 1"}
!485 = metadata !{metadata !485, metadata !482, metadata !"_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE: argument 1"}
!486 = metadata !{metadata !487}
!487 = metadata !{metadata !487, metadata !488, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE: argument 0"}
!488 = metadata !{metadata !488, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE"}
!489 = metadata !{metadata !490}
!490 = metadata !{metadata !490, metadata !488, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE: argument 1"}
!491 = metadata !{metadata !492}
!492 = metadata !{metadata !492, metadata !493, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE: argument 0"}
!493 = metadata !{metadata !493, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE"}
!494 = metadata !{metadata !495}
!495 = metadata !{metadata !495, metadata !493, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE: argument 1"}
!496 = metadata !{metadata !497, metadata !499}
!497 = metadata !{metadata !497, metadata !498, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 0"}
!498 = metadata !{metadata !498, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E"}
!499 = metadata !{metadata !499, metadata !498, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 1"}
!500 = metadata !{metadata !497}
!501 = metadata !{metadata !502}
!502 = metadata !{metadata !502, metadata !503, metadata !"_ZN8platform3cpu3mmu17Table$LT$Page$GT$12identity_map20h94628d3e638f285dXscE: argument 0"}
!503 = metadata !{metadata !503, metadata !"_ZN8platform3cpu3mmu17Table$LT$Page$GT$12identity_map20h94628d3e638f285dXscE"}
!504 = metadata !{metadata !505, metadata !507}
!505 = metadata !{metadata !505, metadata !506, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E: argument 0"}
!506 = metadata !{metadata !506, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E"}
!507 = metadata !{metadata !507, metadata !508, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h14956361605412678508E: argument 0"}
!508 = metadata !{metadata !508, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h14956361605412678508E"}
!509 = metadata !{metadata !507}
!510 = metadata !{metadata !511, metadata !513}
!511 = metadata !{metadata !511, metadata !512, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E: argument 0"}
!512 = metadata !{metadata !512, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E"}
!513 = metadata !{metadata !513, metadata !514, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8map_self20h015151e63a5dc15fMwcE: argument 0"}
!514 = metadata !{metadata !514, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8map_self20h015151e63a5dc15fMwcE"}
!515 = metadata !{metadata !516}
!516 = metadata !{metadata !516, metadata !517, metadata !"_ZN8platform3cpu3mmu4init12closure.4091E: argument 0"}
!517 = metadata !{metadata !517, metadata !"_ZN8platform3cpu3mmu4init12closure.4091E"}
!518 = metadata !{metadata !519, metadata !521}
!519 = metadata !{metadata !519, metadata !520, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 0"}
!520 = metadata !{metadata !520, metadata !"_ZN6kernel4heap3get21h12112607028929120876E"}
!521 = metadata !{metadata !521, metadata !520, metadata !"_ZN6kernel4heap3get21h12112607028929120876E: argument 1"}
!522 = metadata !{metadata !523}
!523 = metadata !{metadata !523, metadata !524, metadata !"_ZN8platform3cpu9interrupt3Isr9idt_entry20h91a1ac76b866d3f0WYbE: argument 1"}
!524 = metadata !{metadata !524, metadata !"_ZN8platform3cpu9interrupt3Isr9idt_entry20h91a1ac76b866d3f0WYbE"}
!525 = metadata !{metadata !526}
!526 = metadata !{metadata !526, metadata !524, metadata !"_ZN8platform3cpu9interrupt3Isr9idt_entry20h91a1ac76b866d3f0WYbE: argument 0"}
!527 = metadata !{metadata !528}
!528 = metadata !{metadata !528, metadata !529, metadata !"_ZN8platform3cpu9interrupt5Table7set_isr20h74a16116862f85a7JWbE: argument 0"}
!529 = metadata !{metadata !529, metadata !"_ZN8platform3cpu9interrupt5Table7set_isr20h74a16116862f85a7JWbE"}
!530 = metadata !{metadata !531}
!531 = metadata !{metadata !531, metadata !532, metadata !"_ZN8platform3cpu51CR0.core..ops..BitOr$LT$CR0Flags$C$$x20CR0Flags$GT$5bitor20h2b6b8bef419dab62fXcE: argument 0"}
!532 = metadata !{metadata !532, metadata !"_ZN8platform3cpu51CR0.core..ops..BitOr$LT$CR0Flags$C$$x20CR0Flags$GT$5bitor20h2b6b8bef419dab62fXcE"}
!533 = metadata !{i32 205}
!534 = metadata !{i32 207}
!535 = metadata !{metadata !536}
!536 = metadata !{metadata !536, metadata !537, metadata !"_ZN3fmt8argument21h17348496045738091228E: argument 0"}
!537 = metadata !{metadata !537, metadata !"_ZN3fmt8argument21h17348496045738091228E"}
!538 = metadata !{metadata !539}
!539 = metadata !{metadata !539, metadata !537, metadata !"_ZN3fmt8argument21h17348496045738091228E: argument 1"}
!540 = metadata !{metadata !541}
!541 = metadata !{metadata !541, metadata !542, metadata !"_ZN3fmt8argument20h1034972492320797560E: argument 0"}
!542 = metadata !{metadata !542, metadata !"_ZN3fmt8argument20h1034972492320797560E"}
!543 = metadata !{metadata !544}
!544 = metadata !{metadata !544, metadata !542, metadata !"_ZN3fmt8argument20h1034972492320797560E: argument 1"}
!545 = metadata !{metadata !546}
!546 = metadata !{metadata !546, metadata !547, metadata !"_ZN3fmt8argument20h1034972492320797560E: argument 0"}
!547 = metadata !{metadata !547, metadata !"_ZN3fmt8argument20h1034972492320797560E"}
!548 = metadata !{metadata !549}
!549 = metadata !{metadata !549, metadata !547, metadata !"_ZN3fmt8argument20h1034972492320797560E: argument 1"}
!550 = metadata !{metadata !551}
!551 = metadata !{metadata !551, metadata !552, metadata !"_ZN3fmt8argument20h1034972492320797560E: argument 0"}
!552 = metadata !{metadata !552, metadata !"_ZN3fmt8argument20h1034972492320797560E"}
!553 = metadata !{metadata !554}
!554 = metadata !{metadata !554, metadata !552, metadata !"_ZN3fmt8argument20h1034972492320797560E: argument 1"}
!555 = metadata !{metadata !556}
!556 = metadata !{metadata !556, metadata !557, metadata !"_ZN3fmt8argument20h1034972492320797560E: argument 0"}
!557 = metadata !{metadata !557, metadata !"_ZN3fmt8argument20h1034972492320797560E"}
!558 = metadata !{metadata !559}
!559 = metadata !{metadata !559, metadata !557, metadata !"_ZN3fmt8argument20h1034972492320797560E: argument 1"}
!560 = metadata !{metadata !561}
!561 = metadata !{metadata !561, metadata !562, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$3new20h72f4102d88ec5c1fnuyE: argument 0"}
!562 = metadata !{metadata !562, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$3new20h72f4102d88ec5c1fnuyE"}
!563 = metadata !{metadata !564, metadata !565}
!564 = metadata !{metadata !564, metadata !562, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$3new20h72f4102d88ec5c1fnuyE: argument 1"}
!565 = metadata !{metadata !565, metadata !562, metadata !"_ZN3fmt22Arguments$LT$$x27a$GT$3new20h72f4102d88ec5c1fnuyE: argument 2"}
!566 = metadata !{metadata !567, metadata !569}
!567 = metadata !{metadata !567, metadata !568, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$9write_fmt20h04e5c22fc38d824bHOyE: argument 0"}
!568 = metadata !{metadata !568, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$9write_fmt20h04e5c22fc38d824bHOyE"}
!569 = metadata !{metadata !569, metadata !568, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$9write_fmt20h04e5c22fc38d824bHOyE: argument 1"}
!570 = metadata !{metadata !567}
!571 = metadata !{metadata !569}
!572 = metadata !{metadata !573, metadata !575, metadata !577}
!573 = metadata !{metadata !573, metadata !574, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3get20h4427962466880774156E: argument 0"}
!574 = metadata !{metadata !574, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3get20h4427962466880774156E"}
!575 = metadata !{metadata !575, metadata !576, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$11fetch_table21h14042147614176176174E: argument 0"}
!576 = metadata !{metadata !576, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$11fetch_table21h14042147614176176174E"}
!577 = metadata !{metadata !577, metadata !578, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E: argument 0"}
!578 = metadata !{metadata !578, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8set_page21h14283739609388390319E"}
!579 = metadata !{metadata !580, metadata !582, metadata !575, metadata !577}
!580 = metadata !{metadata !580, metadata !581, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 0"}
!581 = metadata !{metadata !581, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E"}
!582 = metadata !{metadata !582, metadata !581, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 1"}
!583 = metadata !{metadata !580, metadata !575, metadata !577}
!584 = metadata !{metadata !575, metadata !577}
!585 = metadata !{metadata !586, metadata !588, metadata !575, metadata !577}
!586 = metadata !{metadata !586, metadata !587, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E: argument 0"}
!587 = metadata !{metadata !587, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E"}
!588 = metadata !{metadata !588, metadata !589, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h14956361605412678508E: argument 0"}
!589 = metadata !{metadata !589, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h14956361605412678508E"}
!590 = metadata !{metadata !588, metadata !575, metadata !577}
!591 = metadata !{metadata !592, metadata !594}
!592 = metadata !{metadata !592, metadata !593, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set20h8091707363496975452E: argument 0"}
!593 = metadata !{metadata !593, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set20h8091707363496975452E"}
!594 = metadata !{metadata !594, metadata !595, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h12028718954692260864E: argument 0"}
!595 = metadata !{metadata !595, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h12028718954692260864E"}
!596 = metadata !{metadata !577}
!597 = metadata !{metadata !594, metadata !577}
!598 = metadata !{metadata !599, metadata !601}
!599 = metadata !{metadata !599, metadata !600, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 0"}
!600 = metadata !{metadata !600, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E"}
!601 = metadata !{metadata !601, metadata !600, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 1"}
!602 = metadata !{metadata !599}
!603 = metadata !{metadata !604}
!604 = metadata !{metadata !604, metadata !605, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3get20h4427962466880774156E: argument 0"}
!605 = metadata !{metadata !605, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3get20h4427962466880774156E"}
!606 = metadata !{metadata !607, metadata !609}
!607 = metadata !{metadata !607, metadata !608, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 0"}
!608 = metadata !{metadata !608, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E"}
!609 = metadata !{metadata !609, metadata !608, metadata !"_ZN6kernel2mm9allocator9Allocator10zero_alloc20h1964427098760132798E: argument 1"}
!610 = metadata !{metadata !607}
!611 = metadata !{metadata !612}
!612 = metadata !{metadata !612, metadata !613, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E: argument 0"}
!613 = metadata !{metadata !613, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E"}
!614 = metadata !{metadata !615, metadata !617}
!615 = metadata !{metadata !615, metadata !616, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set20h8091707363496975452E: argument 0"}
!616 = metadata !{metadata !616, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set20h8091707363496975452E"}
!617 = metadata !{metadata !617, metadata !618, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h18355046388742903141E: argument 0"}
!618 = metadata !{metadata !618, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$8set_addr21h18355046388742903141E"}
!619 = metadata !{metadata !617}
!620 = metadata !{metadata !621, metadata !623}
!621 = metadata !{metadata !621, metadata !622, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E: argument 0"}
!622 = metadata !{metadata !622, metadata !"_ZN8platform3cpu3mmu14Table$LT$U$GT$3set21h13513498348964911970E"}
!623 = metadata !{metadata !623, metadata !624, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8map_self20h015151e63a5dc15fMwcE: argument 0"}
!624 = metadata !{metadata !624, metadata !"_ZN8platform3cpu3mmu30Table$LT$Table$LT$Page$GT$$GT$8map_self20h015151e63a5dc15fMwcE"}
!625 = metadata !{metadata !626, metadata !628}
!626 = metadata !{metadata !626, metadata !627, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE: argument 0"}
!627 = metadata !{metadata !627, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE"}
!628 = metadata !{metadata !628, metadata !629, metadata !"_ZN8platform3cpu28Eflags...std..cmp..PartialEq2eq20h161ba2b3df29433fZDcE: argument 0"}
!629 = metadata !{metadata !629, metadata !"_ZN8platform3cpu28Eflags...std..cmp..PartialEq2eq20h161ba2b3df29433fZDcE"}
!630 = metadata !{metadata !631, metadata !632}
!631 = metadata !{metadata !631, metadata !627, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE: argument 1"}
!632 = metadata !{metadata !632, metadata !629, metadata !"_ZN8platform3cpu28Eflags...std..cmp..PartialEq2eq20h161ba2b3df29433fZDcE: argument 1"}
!633 = metadata !{metadata !634, metadata !636}
!634 = metadata !{metadata !634, metadata !635, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE: argument 0"}
!635 = metadata !{metadata !635, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE"}
!636 = metadata !{metadata !636, metadata !637, metadata !"_ZN8platform3cpu30CR0Flags...std..cmp..PartialEq2eq20hd16366377f209657cQcE: argument 0"}
!637 = metadata !{metadata !637, metadata !"_ZN8platform3cpu30CR0Flags...std..cmp..PartialEq2eq20hd16366377f209657cQcE"}
!638 = metadata !{metadata !639, metadata !640}
!639 = metadata !{metadata !639, metadata !635, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE: argument 1"}
!640 = metadata !{metadata !640, metadata !637, metadata !"_ZN8platform3cpu30CR0Flags...std..cmp..PartialEq2eq20hd16366377f209657cQcE: argument 1"}
!641 = metadata !{metadata !642, metadata !644}
!642 = metadata !{metadata !642, metadata !643, metadata !"_ZN3fmt27Arguments$LT$$x27a$GT$.Show3fmt20hc850ed5bae4652944vyE: argument 0"}
!643 = metadata !{metadata !643, metadata !"_ZN3fmt27Arguments$LT$$x27a$GT$.Show3fmt20hc850ed5bae4652944vyE"}
!644 = metadata !{metadata !644, metadata !643, metadata !"_ZN3fmt27Arguments$LT$$x27a$GT$.Show3fmt20hc850ed5bae4652944vyE: argument 1"}
!645 = metadata !{metadata !644}
!646 = metadata !{metadata !642}
!647 = metadata !{i32 225}
!648 = metadata !{i8 0, i8 2}
!649 = metadata !{i32 227}
!650 = metadata !{i32 237}
!651 = metadata !{i32 233}
!652 = metadata !{i32 246}
!653 = metadata !{i32 248}
!654 = metadata !{i32 250}
!655 = metadata !{i32 252}
!656 = metadata !{i32 254}
!657 = metadata !{i32 256}
!658 = metadata !{i32 258}
!659 = metadata !{metadata !660, metadata !662}
!660 = metadata !{metadata !660, metadata !661, metadata !"_ZN3cmp5impls6u8.Ord3cmp20h484aaacf682b1bafKBiE: argument 0"}
!661 = metadata !{metadata !661, metadata !"_ZN3cmp5impls6u8.Ord3cmp20h484aaacf682b1bafKBiE"}
!662 = metadata !{metadata !662, metadata !663, metadata !"_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE: argument 0"}
!663 = metadata !{metadata !663, metadata !"_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE"}
!664 = metadata !{metadata !665, metadata !666}
!665 = metadata !{metadata !665, metadata !661, metadata !"_ZN3cmp5impls6u8.Ord3cmp20h484aaacf682b1bafKBiE: argument 1"}
!666 = metadata !{metadata !666, metadata !663, metadata !"_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE: argument 1"}
!667 = metadata !{metadata !668, metadata !670, metadata !672}
!668 = metadata !{metadata !668, metadata !669, metadata !"_ZN3cmp5impls13u8.PartialOrd2le20hd2abd6ee06278523sciE: argument 0"}
!669 = metadata !{metadata !669, metadata !"_ZN3cmp5impls13u8.PartialOrd2le20hd2abd6ee06278523sciE"}
!670 = metadata !{metadata !670, metadata !671, metadata !"_ZN3cmp5impls13u8.PartialOrd11partial_cmp20h6f465bece3996bc6hbiE: argument 0"}
!671 = metadata !{metadata !671, metadata !"_ZN3cmp5impls13u8.PartialOrd11partial_cmp20h6f465bece3996bc6hbiE"}
!672 = metadata !{metadata !672, metadata !673, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE: argument 0"}
!673 = metadata !{metadata !673, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE"}
!674 = metadata !{metadata !675, metadata !676, metadata !678, metadata !679, metadata !680}
!675 = metadata !{metadata !675, metadata !669, metadata !"_ZN3cmp5impls13u8.PartialOrd2le20hd2abd6ee06278523sciE: argument 1"}
!676 = metadata !{metadata !676, metadata !677, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h10284733592600895977E: argument 0"}
!677 = metadata !{metadata !677, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h10284733592600895977E"}
!678 = metadata !{metadata !678, metadata !677, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h10284733592600895977E: argument 1"}
!679 = metadata !{metadata !679, metadata !671, metadata !"_ZN3cmp5impls13u8.PartialOrd11partial_cmp20h6f465bece3996bc6hbiE: argument 1"}
!680 = metadata !{metadata !680, metadata !673, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE: argument 1"}
!681 = metadata !{metadata !675, metadata !679, metadata !680}
!682 = metadata !{metadata !668, metadata !676, metadata !678, metadata !670, metadata !672}
!683 = metadata !{metadata !684}
!684 = metadata !{metadata !684, metadata !685, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2lt20h575189b9c8f0d3dcLabE: argument 0"}
!685 = metadata !{metadata !685, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2lt20h575189b9c8f0d3dcLabE"}
!686 = metadata !{metadata !687}
!687 = metadata !{metadata !687, metadata !685, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2lt20h575189b9c8f0d3dcLabE: argument 1"}
!688 = metadata !{metadata !689}
!689 = metadata !{metadata !689, metadata !690, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2le20hff628d560b9790c7qbbE: argument 0"}
!690 = metadata !{metadata !690, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2le20hff628d560b9790c7qbbE"}
!691 = metadata !{metadata !692}
!692 = metadata !{metadata !692, metadata !690, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2le20hff628d560b9790c7qbbE: argument 1"}
!693 = metadata !{metadata !694}
!694 = metadata !{metadata !694, metadata !695, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2gt20h03821250a7ac6d2d5bbE: argument 0"}
!695 = metadata !{metadata !695, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2gt20h03821250a7ac6d2d5bbE"}
!696 = metadata !{metadata !697}
!697 = metadata !{metadata !697, metadata !695, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2gt20h03821250a7ac6d2d5bbE: argument 1"}
!698 = metadata !{metadata !699}
!699 = metadata !{metadata !699, metadata !700, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2ge20he175e8d8a23c47adKcbE: argument 0"}
!700 = metadata !{metadata !700, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2ge20he175e8d8a23c47adKcbE"}
!701 = metadata !{metadata !702}
!702 = metadata !{metadata !702, metadata !700, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2ge20he175e8d8a23c47adKcbE: argument 1"}
!703 = metadata !{metadata !704, metadata !706}
!704 = metadata !{metadata !704, metadata !705, metadata !"_ZN5clone8u8.Clone5clone20hecce827112c7618diRiE: argument 0"}
!705 = metadata !{metadata !705, metadata !"_ZN5clone8u8.Clone5clone20hecce827112c7618diRiE"}
!706 = metadata !{metadata !706, metadata !707, metadata !"_ZN8platform3cpu3gdt29GdtAccess...std..clone..Clone5clone20h0f14dac83198747fudbE: argument 0"}
!707 = metadata !{metadata !707, metadata !"_ZN8platform3cpu3gdt29GdtAccess...std..clone..Clone5clone20h0f14dac83198747fudbE"}
!708 = metadata !{metadata !709, metadata !711}
!709 = metadata !{metadata !709, metadata !710, metadata !"_ZN3cmp5impls12u8.PartialEq2eq20hb4d11975aff8446eVWhE: argument 0"}
!710 = metadata !{metadata !710, metadata !"_ZN3cmp5impls12u8.PartialEq2eq20hb4d11975aff8446eVWhE"}
!711 = metadata !{metadata !711, metadata !712, metadata !"_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2eq20hf3ce1b8420713c8bfebE: argument 0"}
!712 = metadata !{metadata !712, metadata !"_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2eq20hf3ce1b8420713c8bfebE"}
!713 = metadata !{metadata !714, metadata !715}
!714 = metadata !{metadata !714, metadata !710, metadata !"_ZN3cmp5impls12u8.PartialEq2eq20hb4d11975aff8446eVWhE: argument 1"}
!715 = metadata !{metadata !715, metadata !712, metadata !"_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2eq20hf3ce1b8420713c8bfebE: argument 1"}
!716 = metadata !{metadata !717, metadata !719}
!717 = metadata !{metadata !717, metadata !718, metadata !"_ZN3cmp5impls12u8.PartialEq2ne20hd4d90d431c8bb204fXhE: argument 0"}
!718 = metadata !{metadata !718, metadata !"_ZN3cmp5impls12u8.PartialEq2ne20hd4d90d431c8bb204fXhE"}
!719 = metadata !{metadata !719, metadata !720, metadata !"_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2ne20hd0ae906d5c852b02MebE: argument 0"}
!720 = metadata !{metadata !720, metadata !"_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2ne20hd0ae906d5c852b02MebE"}
!721 = metadata !{metadata !722, metadata !723}
!722 = metadata !{metadata !722, metadata !718, metadata !"_ZN3cmp5impls12u8.PartialEq2ne20hd4d90d431c8bb204fXhE: argument 1"}
!723 = metadata !{metadata !723, metadata !720, metadata !"_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2ne20hd0ae906d5c852b02MebE: argument 1"}
!724 = metadata !{metadata !725}
!725 = metadata !{metadata !725, metadata !726, metadata !"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitAnd$LT$GdtAccess$C$$x20GdtAccess$GT$6bitand20heb1ba1e93ab82d1ewlbE: argument 0"}
!726 = metadata !{metadata !726, metadata !"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitAnd$LT$GdtAccess$C$$x20GdtAccess$GT$6bitand20heb1ba1e93ab82d1ewlbE"}
!727 = metadata !{metadata !728}
!728 = metadata !{metadata !728, metadata !726, metadata !"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitAnd$LT$GdtAccess$C$$x20GdtAccess$GT$6bitand20heb1ba1e93ab82d1ewlbE: argument 1"}
!729 = metadata !{metadata !730}
!730 = metadata !{metadata !730, metadata !731, metadata !"_ZN8platform3cpu3gdt59GdtAccess.core..ops..BitOr$LT$GdtAccess$C$$x20GdtAccess$GT$5bitor20he2de0fdc6e08ff7fCkbE: argument 0"}
!731 = metadata !{metadata !731, metadata !"_ZN8platform3cpu3gdt59GdtAccess.core..ops..BitOr$LT$GdtAccess$C$$x20GdtAccess$GT$5bitor20he2de0fdc6e08ff7fCkbE"}
!732 = metadata !{metadata !733}
!733 = metadata !{metadata !733, metadata !731, metadata !"_ZN8platform3cpu3gdt59GdtAccess.core..ops..BitOr$LT$GdtAccess$C$$x20GdtAccess$GT$5bitor20he2de0fdc6e08ff7fCkbE: argument 1"}
!734 = metadata !{metadata !735}
!735 = metadata !{metadata !735, metadata !736, metadata !"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitXor$LT$GdtAccess$C$$x20GdtAccess$GT$6bitxor20he6bcf84efca9648d4kbE: argument 0"}
!736 = metadata !{metadata !736, metadata !"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitXor$LT$GdtAccess$C$$x20GdtAccess$GT$6bitxor20he6bcf84efca9648d4kbE"}
!737 = metadata !{metadata !738}
!738 = metadata !{metadata !738, metadata !736, metadata !"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitXor$LT$GdtAccess$C$$x20GdtAccess$GT$6bitxor20he6bcf84efca9648d4kbE: argument 1"}
!739 = metadata !{metadata !740}
!740 = metadata !{metadata !740, metadata !741, metadata !"_ZN8platform3cpu3gdt57GdtAccess.core..ops..Sub$LT$GdtAccess$C$$x20GdtAccess$GT$3sub20ha6d5f040148a18bfYlbE: argument 1"}
!741 = metadata !{metadata !741, metadata !"_ZN8platform3cpu3gdt57GdtAccess.core..ops..Sub$LT$GdtAccess$C$$x20GdtAccess$GT$3sub20ha6d5f040148a18bfYlbE"}
!742 = metadata !{metadata !743}
!743 = metadata !{metadata !743, metadata !741, metadata !"_ZN8platform3cpu3gdt57GdtAccess.core..ops..Sub$LT$GdtAccess$C$$x20GdtAccess$GT$3sub20ha6d5f040148a18bfYlbE: argument 0"}
!744 = metadata !{metadata !745, metadata !747}
!745 = metadata !{metadata !745, metadata !746, metadata !"_ZN3cmp5impls6u8.Ord3cmp20h484aaacf682b1bafKBiE: argument 0"}
!746 = metadata !{metadata !746, metadata !"_ZN3cmp5impls6u8.Ord3cmp20h484aaacf682b1bafKBiE"}
!747 = metadata !{metadata !747, metadata !748, metadata !"_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE: argument 0"}
!748 = metadata !{metadata !748, metadata !"_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE"}
!749 = metadata !{metadata !750, metadata !751}
!750 = metadata !{metadata !750, metadata !746, metadata !"_ZN3cmp5impls6u8.Ord3cmp20h484aaacf682b1bafKBiE: argument 1"}
!751 = metadata !{metadata !751, metadata !748, metadata !"_ZN8platform3cpu3gdt25GdtAccess...std..cmp..Ord3cmp20hd0b652c8a4987f7c68aE: argument 1"}
!752 = metadata !{metadata !753, metadata !755, metadata !757}
!753 = metadata !{metadata !753, metadata !754, metadata !"_ZN3cmp5impls13u8.PartialOrd2le20hd2abd6ee06278523sciE: argument 0"}
!754 = metadata !{metadata !754, metadata !"_ZN3cmp5impls13u8.PartialOrd2le20hd2abd6ee06278523sciE"}
!755 = metadata !{metadata !755, metadata !756, metadata !"_ZN3cmp5impls13u8.PartialOrd11partial_cmp20h6f465bece3996bc6hbiE: argument 0"}
!756 = metadata !{metadata !756, metadata !"_ZN3cmp5impls13u8.PartialOrd11partial_cmp20h6f465bece3996bc6hbiE"}
!757 = metadata !{metadata !757, metadata !758, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE: argument 0"}
!758 = metadata !{metadata !758, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE"}
!759 = metadata !{metadata !760, metadata !761, metadata !763, metadata !764, metadata !765}
!760 = metadata !{metadata !760, metadata !754, metadata !"_ZN3cmp5impls13u8.PartialOrd2le20hd2abd6ee06278523sciE: argument 1"}
!761 = metadata !{metadata !761, metadata !762, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h10284733592600895977E: argument 0"}
!762 = metadata !{metadata !762, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h10284733592600895977E"}
!763 = metadata !{metadata !763, metadata !762, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h10284733592600895977E: argument 1"}
!764 = metadata !{metadata !764, metadata !756, metadata !"_ZN3cmp5impls13u8.PartialOrd11partial_cmp20h6f465bece3996bc6hbiE: argument 1"}
!765 = metadata !{metadata !765, metadata !758, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd11partial_cmp20h00329ea9a9844311V9aE: argument 1"}
!766 = metadata !{metadata !760, metadata !764, metadata !765}
!767 = metadata !{metadata !753, metadata !761, metadata !763, metadata !755, metadata !757}
!768 = metadata !{metadata !769}
!769 = metadata !{metadata !769, metadata !770, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2lt20h575189b9c8f0d3dcLabE: argument 0"}
!770 = metadata !{metadata !770, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2lt20h575189b9c8f0d3dcLabE"}
!771 = metadata !{metadata !772}
!772 = metadata !{metadata !772, metadata !770, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2lt20h575189b9c8f0d3dcLabE: argument 1"}
!773 = metadata !{metadata !774}
!774 = metadata !{metadata !774, metadata !775, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2le20hff628d560b9790c7qbbE: argument 0"}
!775 = metadata !{metadata !775, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2le20hff628d560b9790c7qbbE"}
!776 = metadata !{metadata !777}
!777 = metadata !{metadata !777, metadata !775, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2le20hff628d560b9790c7qbbE: argument 1"}
!778 = metadata !{metadata !779}
!779 = metadata !{metadata !779, metadata !780, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2gt20h03821250a7ac6d2d5bbE: argument 0"}
!780 = metadata !{metadata !780, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2gt20h03821250a7ac6d2d5bbE"}
!781 = metadata !{metadata !782}
!782 = metadata !{metadata !782, metadata !780, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2gt20h03821250a7ac6d2d5bbE: argument 1"}
!783 = metadata !{metadata !784}
!784 = metadata !{metadata !784, metadata !785, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2ge20he175e8d8a23c47adKcbE: argument 0"}
!785 = metadata !{metadata !785, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2ge20he175e8d8a23c47adKcbE"}
!786 = metadata !{metadata !787}
!787 = metadata !{metadata !787, metadata !785, metadata !"_ZN8platform3cpu3gdt32GdtAccess...std..cmp..PartialOrd2ge20he175e8d8a23c47adKcbE: argument 1"}
!788 = metadata !{metadata !789, metadata !791}
!789 = metadata !{metadata !789, metadata !790, metadata !"_ZN5clone8u8.Clone5clone20hecce827112c7618diRiE: argument 0"}
!790 = metadata !{metadata !790, metadata !"_ZN5clone8u8.Clone5clone20hecce827112c7618diRiE"}
!791 = metadata !{metadata !791, metadata !792, metadata !"_ZN8platform3cpu3gdt29GdtAccess...std..clone..Clone5clone20h0f14dac83198747fudbE: argument 0"}
!792 = metadata !{metadata !792, metadata !"_ZN8platform3cpu3gdt29GdtAccess...std..clone..Clone5clone20h0f14dac83198747fudbE"}
!793 = metadata !{metadata !794, metadata !796}
!794 = metadata !{metadata !794, metadata !795, metadata !"_ZN3cmp5impls12u8.PartialEq2eq20hb4d11975aff8446eVWhE: argument 0"}
!795 = metadata !{metadata !795, metadata !"_ZN3cmp5impls12u8.PartialEq2eq20hb4d11975aff8446eVWhE"}
!796 = metadata !{metadata !796, metadata !797, metadata !"_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2eq20hf3ce1b8420713c8bfebE: argument 0"}
!797 = metadata !{metadata !797, metadata !"_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2eq20hf3ce1b8420713c8bfebE"}
!798 = metadata !{metadata !799, metadata !800}
!799 = metadata !{metadata !799, metadata !795, metadata !"_ZN3cmp5impls12u8.PartialEq2eq20hb4d11975aff8446eVWhE: argument 1"}
!800 = metadata !{metadata !800, metadata !797, metadata !"_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2eq20hf3ce1b8420713c8bfebE: argument 1"}
!801 = metadata !{metadata !802, metadata !804}
!802 = metadata !{metadata !802, metadata !803, metadata !"_ZN3cmp5impls12u8.PartialEq2ne20hd4d90d431c8bb204fXhE: argument 0"}
!803 = metadata !{metadata !803, metadata !"_ZN3cmp5impls12u8.PartialEq2ne20hd4d90d431c8bb204fXhE"}
!804 = metadata !{metadata !804, metadata !805, metadata !"_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2ne20hd0ae906d5c852b02MebE: argument 0"}
!805 = metadata !{metadata !805, metadata !"_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2ne20hd0ae906d5c852b02MebE"}
!806 = metadata !{metadata !807, metadata !808}
!807 = metadata !{metadata !807, metadata !803, metadata !"_ZN3cmp5impls12u8.PartialEq2ne20hd4d90d431c8bb204fXhE: argument 1"}
!808 = metadata !{metadata !808, metadata !805, metadata !"_ZN8platform3cpu3gdt31GdtAccess...std..cmp..PartialEq2ne20hd0ae906d5c852b02MebE: argument 1"}
!809 = metadata !{metadata !810}
!810 = metadata !{metadata !810, metadata !811, metadata !"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitAnd$LT$GdtAccess$C$$x20GdtAccess$GT$6bitand20heb1ba1e93ab82d1ewlbE: argument 0"}
!811 = metadata !{metadata !811, metadata !"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitAnd$LT$GdtAccess$C$$x20GdtAccess$GT$6bitand20heb1ba1e93ab82d1ewlbE"}
!812 = metadata !{metadata !813}
!813 = metadata !{metadata !813, metadata !811, metadata !"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitAnd$LT$GdtAccess$C$$x20GdtAccess$GT$6bitand20heb1ba1e93ab82d1ewlbE: argument 1"}
!814 = metadata !{metadata !815}
!815 = metadata !{metadata !815, metadata !816, metadata !"_ZN8platform3cpu3gdt59GdtAccess.core..ops..BitOr$LT$GdtAccess$C$$x20GdtAccess$GT$5bitor20he2de0fdc6e08ff7fCkbE: argument 0"}
!816 = metadata !{metadata !816, metadata !"_ZN8platform3cpu3gdt59GdtAccess.core..ops..BitOr$LT$GdtAccess$C$$x20GdtAccess$GT$5bitor20he2de0fdc6e08ff7fCkbE"}
!817 = metadata !{metadata !818}
!818 = metadata !{metadata !818, metadata !816, metadata !"_ZN8platform3cpu3gdt59GdtAccess.core..ops..BitOr$LT$GdtAccess$C$$x20GdtAccess$GT$5bitor20he2de0fdc6e08ff7fCkbE: argument 1"}
!819 = metadata !{metadata !820}
!820 = metadata !{metadata !820, metadata !821, metadata !"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitXor$LT$GdtAccess$C$$x20GdtAccess$GT$6bitxor20he6bcf84efca9648d4kbE: argument 0"}
!821 = metadata !{metadata !821, metadata !"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitXor$LT$GdtAccess$C$$x20GdtAccess$GT$6bitxor20he6bcf84efca9648d4kbE"}
!822 = metadata !{metadata !823}
!823 = metadata !{metadata !823, metadata !821, metadata !"_ZN8platform3cpu3gdt60GdtAccess.core..ops..BitXor$LT$GdtAccess$C$$x20GdtAccess$GT$6bitxor20he6bcf84efca9648d4kbE: argument 1"}
!824 = metadata !{metadata !825}
!825 = metadata !{metadata !825, metadata !826, metadata !"_ZN8platform3cpu3gdt57GdtAccess.core..ops..Sub$LT$GdtAccess$C$$x20GdtAccess$GT$3sub20ha6d5f040148a18bfYlbE: argument 1"}
!826 = metadata !{metadata !826, metadata !"_ZN8platform3cpu3gdt57GdtAccess.core..ops..Sub$LT$GdtAccess$C$$x20GdtAccess$GT$3sub20ha6d5f040148a18bfYlbE"}
!827 = metadata !{metadata !828}
!828 = metadata !{metadata !828, metadata !826, metadata !"_ZN8platform3cpu3gdt57GdtAccess.core..ops..Sub$LT$GdtAccess$C$$x20GdtAccess$GT$3sub20ha6d5f040148a18bfYlbE: argument 0"}
!829 = metadata !{metadata !830, metadata !832}
!830 = metadata !{metadata !830, metadata !831, metadata !"_ZN3cmp5impls7u32.Ord3cmp20h4e563246d874c68aWCiE: argument 0"}
!831 = metadata !{metadata !831, metadata !"_ZN3cmp5impls7u32.Ord3cmp20h4e563246d874c68aWCiE"}
!832 = metadata !{metadata !832, metadata !833, metadata !"_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE: argument 0"}
!833 = metadata !{metadata !833, metadata !"_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE"}
!834 = metadata !{metadata !835, metadata !836}
!835 = metadata !{metadata !835, metadata !831, metadata !"_ZN3cmp5impls7u32.Ord3cmp20h4e563246d874c68aWCiE: argument 1"}
!836 = metadata !{metadata !836, metadata !833, metadata !"_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE: argument 1"}
!837 = metadata !{metadata !838, metadata !840, metadata !842}
!838 = metadata !{metadata !838, metadata !839, metadata !"_ZN3cmp5impls14u32.PartialOrd2le20hb6fecf34486776b6UgiE: argument 0"}
!839 = metadata !{metadata !839, metadata !"_ZN3cmp5impls14u32.PartialOrd2le20hb6fecf34486776b6UgiE"}
!840 = metadata !{metadata !840, metadata !841, metadata !"_ZN3cmp5impls14u32.PartialOrd11partial_cmp20h8313f14fd1d45e0fJfiE: argument 0"}
!841 = metadata !{metadata !841, metadata !"_ZN3cmp5impls14u32.PartialOrd11partial_cmp20h8313f14fd1d45e0fJfiE"}
!842 = metadata !{metadata !842, metadata !843, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE: argument 0"}
!843 = metadata !{metadata !843, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE"}
!844 = metadata !{metadata !845, metadata !846, metadata !848, metadata !849, metadata !850}
!845 = metadata !{metadata !845, metadata !839, metadata !"_ZN3cmp5impls14u32.PartialOrd2le20hb6fecf34486776b6UgiE: argument 1"}
!846 = metadata !{metadata !846, metadata !847, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h16573726890255958360E: argument 0"}
!847 = metadata !{metadata !847, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h16573726890255958360E"}
!848 = metadata !{metadata !848, metadata !847, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h16573726890255958360E: argument 1"}
!849 = metadata !{metadata !849, metadata !841, metadata !"_ZN3cmp5impls14u32.PartialOrd11partial_cmp20h8313f14fd1d45e0fJfiE: argument 1"}
!850 = metadata !{metadata !850, metadata !843, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE: argument 1"}
!851 = metadata !{metadata !845, metadata !849, metadata !850}
!852 = metadata !{metadata !838, metadata !846, metadata !848, metadata !840, metadata !842}
!853 = metadata !{metadata !854}
!854 = metadata !{metadata !854, metadata !855, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2lt20h776f07fef5942407YOaE: argument 0"}
!855 = metadata !{metadata !855, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2lt20h776f07fef5942407YOaE"}
!856 = metadata !{metadata !857}
!857 = metadata !{metadata !857, metadata !855, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2lt20h776f07fef5942407YOaE: argument 1"}
!858 = metadata !{metadata !859}
!859 = metadata !{metadata !859, metadata !860, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2le20h260dd59612e188eaDPaE: argument 0"}
!860 = metadata !{metadata !860, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2le20h260dd59612e188eaDPaE"}
!861 = metadata !{metadata !862}
!862 = metadata !{metadata !862, metadata !860, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2le20h260dd59612e188eaDPaE: argument 1"}
!863 = metadata !{metadata !864}
!864 = metadata !{metadata !864, metadata !865, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2gt20he6d434e0ccfd1d3biQaE: argument 0"}
!865 = metadata !{metadata !865, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2gt20he6d434e0ccfd1d3biQaE"}
!866 = metadata !{metadata !867}
!867 = metadata !{metadata !867, metadata !865, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2gt20he6d434e0ccfd1d3biQaE: argument 1"}
!868 = metadata !{metadata !869}
!869 = metadata !{metadata !869, metadata !870, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2ge20ha1d4e6c96dca45a5XQaE: argument 0"}
!870 = metadata !{metadata !870, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2ge20ha1d4e6c96dca45a5XQaE"}
!871 = metadata !{metadata !872}
!872 = metadata !{metadata !872, metadata !870, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2ge20ha1d4e6c96dca45a5XQaE: argument 1"}
!873 = metadata !{metadata !874, metadata !876}
!874 = metadata !{metadata !874, metadata !875, metadata !"_ZN5clone9u32.Clone5clone20h64ec8998b59d6756MRiE: argument 0"}
!875 = metadata !{metadata !875, metadata !"_ZN5clone9u32.Clone5clone20h64ec8998b59d6756MRiE"}
!876 = metadata !{metadata !876, metadata !877, metadata !"_ZN6kernel3elf31HeaderFlags...std..clone..Clone5clone20h18b764001ca6846aHRaE: argument 0"}
!877 = metadata !{metadata !877, metadata !"_ZN6kernel3elf31HeaderFlags...std..clone..Clone5clone20h18b764001ca6846aHRaE"}
!878 = metadata !{metadata !879, metadata !881}
!879 = metadata !{metadata !879, metadata !880, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE: argument 0"}
!880 = metadata !{metadata !880, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE"}
!881 = metadata !{metadata !881, metadata !882, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2eq20ha2c8ec8d33d7d7b4sSaE: argument 0"}
!882 = metadata !{metadata !882, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2eq20ha2c8ec8d33d7d7b4sSaE"}
!883 = metadata !{metadata !884, metadata !885}
!884 = metadata !{metadata !884, metadata !880, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE: argument 1"}
!885 = metadata !{metadata !885, metadata !882, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2eq20ha2c8ec8d33d7d7b4sSaE: argument 1"}
!886 = metadata !{metadata !887, metadata !889}
!887 = metadata !{metadata !887, metadata !888, metadata !"_ZN3cmp5impls13u32.PartialEq2ne20h4e473565ef098ea8HYhE: argument 0"}
!888 = metadata !{metadata !888, metadata !"_ZN3cmp5impls13u32.PartialEq2ne20h4e473565ef098ea8HYhE"}
!889 = metadata !{metadata !889, metadata !890, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2ne20hefc0b03d368af4f8ZSaE: argument 0"}
!890 = metadata !{metadata !890, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2ne20hefc0b03d368af4f8ZSaE"}
!891 = metadata !{metadata !892, metadata !893}
!892 = metadata !{metadata !892, metadata !888, metadata !"_ZN3cmp5impls13u32.PartialEq2ne20h4e473565ef098ea8HYhE: argument 1"}
!893 = metadata !{metadata !893, metadata !890, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2ne20hefc0b03d368af4f8ZSaE: argument 1"}
!894 = metadata !{metadata !895}
!895 = metadata !{metadata !895, metadata !896, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 0"}
!896 = metadata !{metadata !896, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE"}
!897 = metadata !{metadata !898}
!898 = metadata !{metadata !898, metadata !896, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 1"}
!899 = metadata !{metadata !900}
!900 = metadata !{metadata !900, metadata !901, metadata !"_ZN6kernel3elf65HeaderFlags.core..ops..BitOr$LT$HeaderFlags$C$$x20HeaderFlags$GT$5bitor20he4013037490d044dTWaE: argument 0"}
!901 = metadata !{metadata !901, metadata !"_ZN6kernel3elf65HeaderFlags.core..ops..BitOr$LT$HeaderFlags$C$$x20HeaderFlags$GT$5bitor20he4013037490d044dTWaE"}
!902 = metadata !{metadata !903}
!903 = metadata !{metadata !903, metadata !901, metadata !"_ZN6kernel3elf65HeaderFlags.core..ops..BitOr$LT$HeaderFlags$C$$x20HeaderFlags$GT$5bitor20he4013037490d044dTWaE: argument 1"}
!904 = metadata !{metadata !905}
!905 = metadata !{metadata !905, metadata !906, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitXor$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitxor20h5fed3a701d956c03lXaE: argument 0"}
!906 = metadata !{metadata !906, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitXor$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitxor20h5fed3a701d956c03lXaE"}
!907 = metadata !{metadata !908}
!908 = metadata !{metadata !908, metadata !906, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitXor$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitxor20h5fed3a701d956c03lXaE: argument 1"}
!909 = metadata !{metadata !910}
!910 = metadata !{metadata !910, metadata !911, metadata !"_ZN6kernel3elf63HeaderFlags.core..ops..Sub$LT$HeaderFlags$C$$x20HeaderFlags$GT$3sub20hb1d198fa9dab4c0bfYaE: argument 1"}
!911 = metadata !{metadata !911, metadata !"_ZN6kernel3elf63HeaderFlags.core..ops..Sub$LT$HeaderFlags$C$$x20HeaderFlags$GT$3sub20hb1d198fa9dab4c0bfYaE"}
!912 = metadata !{metadata !913}
!913 = metadata !{metadata !913, metadata !911, metadata !"_ZN6kernel3elf63HeaderFlags.core..ops..Sub$LT$HeaderFlags$C$$x20HeaderFlags$GT$3sub20hb1d198fa9dab4c0bfYaE: argument 0"}
!914 = metadata !{metadata !915, metadata !917}
!915 = metadata !{metadata !915, metadata !916, metadata !"_ZN3cmp5impls7u32.Ord3cmp20h4e563246d874c68aWCiE: argument 0"}
!916 = metadata !{metadata !916, metadata !"_ZN3cmp5impls7u32.Ord3cmp20h4e563246d874c68aWCiE"}
!917 = metadata !{metadata !917, metadata !918, metadata !"_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE: argument 0"}
!918 = metadata !{metadata !918, metadata !"_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE"}
!919 = metadata !{metadata !920, metadata !921}
!920 = metadata !{metadata !920, metadata !916, metadata !"_ZN3cmp5impls7u32.Ord3cmp20h4e563246d874c68aWCiE: argument 1"}
!921 = metadata !{metadata !921, metadata !918, metadata !"_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE: argument 1"}
!922 = metadata !{metadata !923, metadata !925, metadata !927}
!923 = metadata !{metadata !923, metadata !924, metadata !"_ZN3cmp5impls14u32.PartialOrd2le20hb6fecf34486776b6UgiE: argument 0"}
!924 = metadata !{metadata !924, metadata !"_ZN3cmp5impls14u32.PartialOrd2le20hb6fecf34486776b6UgiE"}
!925 = metadata !{metadata !925, metadata !926, metadata !"_ZN3cmp5impls14u32.PartialOrd11partial_cmp20h8313f14fd1d45e0fJfiE: argument 0"}
!926 = metadata !{metadata !926, metadata !"_ZN3cmp5impls14u32.PartialOrd11partial_cmp20h8313f14fd1d45e0fJfiE"}
!927 = metadata !{metadata !927, metadata !928, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE: argument 0"}
!928 = metadata !{metadata !928, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE"}
!929 = metadata !{metadata !930, metadata !931, metadata !933, metadata !934, metadata !935}
!930 = metadata !{metadata !930, metadata !924, metadata !"_ZN3cmp5impls14u32.PartialOrd2le20hb6fecf34486776b6UgiE: argument 1"}
!931 = metadata !{metadata !931, metadata !932, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h16573726890255958360E: argument 0"}
!932 = metadata !{metadata !932, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h16573726890255958360E"}
!933 = metadata !{metadata !933, metadata !932, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h16573726890255958360E: argument 1"}
!934 = metadata !{metadata !934, metadata !926, metadata !"_ZN3cmp5impls14u32.PartialOrd11partial_cmp20h8313f14fd1d45e0fJfiE: argument 1"}
!935 = metadata !{metadata !935, metadata !928, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE: argument 1"}
!936 = metadata !{metadata !930, metadata !934, metadata !935}
!937 = metadata !{metadata !923, metadata !931, metadata !933, metadata !925, metadata !927}
!938 = metadata !{metadata !939}
!939 = metadata !{metadata !939, metadata !940, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2lt20h776f07fef5942407YOaE: argument 0"}
!940 = metadata !{metadata !940, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2lt20h776f07fef5942407YOaE"}
!941 = metadata !{metadata !942}
!942 = metadata !{metadata !942, metadata !940, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2lt20h776f07fef5942407YOaE: argument 1"}
!943 = metadata !{metadata !944}
!944 = metadata !{metadata !944, metadata !945, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2le20h260dd59612e188eaDPaE: argument 0"}
!945 = metadata !{metadata !945, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2le20h260dd59612e188eaDPaE"}
!946 = metadata !{metadata !947}
!947 = metadata !{metadata !947, metadata !945, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2le20h260dd59612e188eaDPaE: argument 1"}
!948 = metadata !{metadata !949}
!949 = metadata !{metadata !949, metadata !950, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2gt20he6d434e0ccfd1d3biQaE: argument 0"}
!950 = metadata !{metadata !950, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2gt20he6d434e0ccfd1d3biQaE"}
!951 = metadata !{metadata !952}
!952 = metadata !{metadata !952, metadata !950, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2gt20he6d434e0ccfd1d3biQaE: argument 1"}
!953 = metadata !{metadata !954}
!954 = metadata !{metadata !954, metadata !955, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2ge20ha1d4e6c96dca45a5XQaE: argument 0"}
!955 = metadata !{metadata !955, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2ge20ha1d4e6c96dca45a5XQaE"}
!956 = metadata !{metadata !957}
!957 = metadata !{metadata !957, metadata !955, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2ge20ha1d4e6c96dca45a5XQaE: argument 1"}
!958 = metadata !{metadata !959, metadata !961}
!959 = metadata !{metadata !959, metadata !960, metadata !"_ZN5clone9u32.Clone5clone20h64ec8998b59d6756MRiE: argument 0"}
!960 = metadata !{metadata !960, metadata !"_ZN5clone9u32.Clone5clone20h64ec8998b59d6756MRiE"}
!961 = metadata !{metadata !961, metadata !962, metadata !"_ZN6kernel3elf31HeaderFlags...std..clone..Clone5clone20h18b764001ca6846aHRaE: argument 0"}
!962 = metadata !{metadata !962, metadata !"_ZN6kernel3elf31HeaderFlags...std..clone..Clone5clone20h18b764001ca6846aHRaE"}
!963 = metadata !{metadata !964, metadata !966}
!964 = metadata !{metadata !964, metadata !965, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE: argument 0"}
!965 = metadata !{metadata !965, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE"}
!966 = metadata !{metadata !966, metadata !967, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2eq20ha2c8ec8d33d7d7b4sSaE: argument 0"}
!967 = metadata !{metadata !967, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2eq20ha2c8ec8d33d7d7b4sSaE"}
!968 = metadata !{metadata !969, metadata !970}
!969 = metadata !{metadata !969, metadata !965, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE: argument 1"}
!970 = metadata !{metadata !970, metadata !967, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2eq20ha2c8ec8d33d7d7b4sSaE: argument 1"}
!971 = metadata !{metadata !972, metadata !974}
!972 = metadata !{metadata !972, metadata !973, metadata !"_ZN3cmp5impls13u32.PartialEq2ne20h4e473565ef098ea8HYhE: argument 0"}
!973 = metadata !{metadata !973, metadata !"_ZN3cmp5impls13u32.PartialEq2ne20h4e473565ef098ea8HYhE"}
!974 = metadata !{metadata !974, metadata !975, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2ne20hefc0b03d368af4f8ZSaE: argument 0"}
!975 = metadata !{metadata !975, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2ne20hefc0b03d368af4f8ZSaE"}
!976 = metadata !{metadata !977, metadata !978}
!977 = metadata !{metadata !977, metadata !973, metadata !"_ZN3cmp5impls13u32.PartialEq2ne20h4e473565ef098ea8HYhE: argument 1"}
!978 = metadata !{metadata !978, metadata !975, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2ne20hefc0b03d368af4f8ZSaE: argument 1"}
!979 = metadata !{metadata !980}
!980 = metadata !{metadata !980, metadata !981, metadata !"_ZN8platform3cpu3mmu5Flags4bits20h8fce7be8eeae625eddcE: argument 0"}
!981 = metadata !{metadata !981, metadata !"_ZN8platform3cpu3mmu5Flags4bits20h8fce7be8eeae625eddcE"}
!982 = metadata !{metadata !983}
!983 = metadata !{metadata !983, metadata !984, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 0"}
!984 = metadata !{metadata !984, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE"}
!985 = metadata !{metadata !986}
!986 = metadata !{metadata !986, metadata !984, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 1"}
!987 = metadata !{metadata !988, metadata !990, metadata !992}
!988 = metadata !{metadata !988, metadata !989, metadata !"_ZN3cmp5impls14uint.PartialEq2eq20hc3823ef02d9d7c63cWhE: argument 0"}
!989 = metadata !{metadata !989, metadata !"_ZN3cmp5impls14uint.PartialEq2eq20hc3823ef02d9d7c63cWhE"}
!990 = metadata !{metadata !990, metadata !991, metadata !"_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE: argument 0"}
!991 = metadata !{metadata !991, metadata !"_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE"}
!992 = metadata !{metadata !992, metadata !993, metadata !"_ZN8platform3cpu3mmu5Flags8is_empty20h5a9862d1c479f1054dcE: argument 0"}
!993 = metadata !{metadata !993, metadata !"_ZN8platform3cpu3mmu5Flags8is_empty20h5a9862d1c479f1054dcE"}
!994 = metadata !{metadata !995, metadata !996}
!995 = metadata !{metadata !995, metadata !989, metadata !"_ZN3cmp5impls14uint.PartialEq2eq20hc3823ef02d9d7c63cWhE: argument 1"}
!996 = metadata !{metadata !996, metadata !991, metadata !"_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE: argument 1"}
!997 = metadata !{metadata !998, metadata !1000}
!998 = metadata !{metadata !998, metadata !999, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE: argument 0"}
!999 = metadata !{metadata !999, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE"}
!1000 = metadata !{metadata !1000, metadata !1001, metadata !"_ZN8platform3cpu3mmu5Flags10intersects20hb5fdf7e261fc1b7buecE: argument 0"}
!1001 = metadata !{metadata !1001, metadata !"_ZN8platform3cpu3mmu5Flags10intersects20hb5fdf7e261fc1b7buecE"}
!1002 = metadata !{metadata !1003}
!1003 = metadata !{metadata !1003, metadata !999, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE: argument 1"}
!1004 = metadata !{metadata !1005, metadata !1007}
!1005 = metadata !{metadata !1005, metadata !1006, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE: argument 0"}
!1006 = metadata !{metadata !1006, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE"}
!1007 = metadata !{metadata !1007, metadata !1008, metadata !"_ZN8platform3cpu3mmu5Flags8contains20hf01f188ec82a179cMecE: argument 0"}
!1008 = metadata !{metadata !1008, metadata !"_ZN8platform3cpu3mmu5Flags8contains20hf01f188ec82a179cMecE"}
!1009 = metadata !{metadata !1010}
!1010 = metadata !{metadata !1010, metadata !1006, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE: argument 1"}
!1011 = metadata !{metadata !1012}
!1012 = metadata !{metadata !1012, metadata !1013, metadata !"_ZN8platform3cpu3mmu5Flags6insert20hb78e3dc274a2906d4ecE: argument 0"}
!1013 = metadata !{metadata !1013, metadata !"_ZN8platform3cpu3mmu5Flags6insert20hb78e3dc274a2906d4ecE"}
!1014 = metadata !{metadata !1015}
!1015 = metadata !{metadata !1015, metadata !1016, metadata !"_ZN8platform3cpu3mmu5Flags6remove20hb90ac6923f3d1bdblfcE: argument 0"}
!1016 = metadata !{metadata !1016, metadata !"_ZN8platform3cpu3mmu5Flags6remove20hb90ac6923f3d1bdblfcE"}
!1017 = metadata !{metadata !1018}
!1018 = metadata !{metadata !1018, metadata !1019, metadata !"_ZN8platform3cpu3mmu5Flags6toggle20h13646ab1db0be843DfcE: argument 0"}
!1019 = metadata !{metadata !1019, metadata !"_ZN8platform3cpu3mmu5Flags6toggle20h13646ab1db0be843DfcE"}
!1020 = metadata !{metadata !1021}
!1021 = metadata !{metadata !1021, metadata !1022, metadata !"_ZN6kernel3elf65HeaderFlags.core..ops..BitOr$LT$HeaderFlags$C$$x20HeaderFlags$GT$5bitor20he4013037490d044dTWaE: argument 0"}
!1022 = metadata !{metadata !1022, metadata !"_ZN6kernel3elf65HeaderFlags.core..ops..BitOr$LT$HeaderFlags$C$$x20HeaderFlags$GT$5bitor20he4013037490d044dTWaE"}
!1023 = metadata !{metadata !1024}
!1024 = metadata !{metadata !1024, metadata !1022, metadata !"_ZN6kernel3elf65HeaderFlags.core..ops..BitOr$LT$HeaderFlags$C$$x20HeaderFlags$GT$5bitor20he4013037490d044dTWaE: argument 1"}
!1025 = metadata !{metadata !1026}
!1026 = metadata !{metadata !1026, metadata !1027, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitXor$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitxor20h5fed3a701d956c03lXaE: argument 0"}
!1027 = metadata !{metadata !1027, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitXor$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitxor20h5fed3a701d956c03lXaE"}
!1028 = metadata !{metadata !1029}
!1029 = metadata !{metadata !1029, metadata !1027, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitXor$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitxor20h5fed3a701d956c03lXaE: argument 1"}
!1030 = metadata !{metadata !1031}
!1031 = metadata !{metadata !1031, metadata !1032, metadata !"_ZN6kernel3elf63HeaderFlags.core..ops..Sub$LT$HeaderFlags$C$$x20HeaderFlags$GT$3sub20hb1d198fa9dab4c0bfYaE: argument 1"}
!1032 = metadata !{metadata !1032, metadata !"_ZN6kernel3elf63HeaderFlags.core..ops..Sub$LT$HeaderFlags$C$$x20HeaderFlags$GT$3sub20hb1d198fa9dab4c0bfYaE"}
!1033 = metadata !{metadata !1034}
!1034 = metadata !{metadata !1034, metadata !1032, metadata !"_ZN6kernel3elf63HeaderFlags.core..ops..Sub$LT$HeaderFlags$C$$x20HeaderFlags$GT$3sub20hb1d198fa9dab4c0bfYaE: argument 0"}
!1035 = metadata !{metadata !1036, metadata !1038}
!1036 = metadata !{metadata !1036, metadata !1037, metadata !"_ZN3cmp5impls7u32.Ord3cmp20h4e563246d874c68aWCiE: argument 0"}
!1037 = metadata !{metadata !1037, metadata !"_ZN3cmp5impls7u32.Ord3cmp20h4e563246d874c68aWCiE"}
!1038 = metadata !{metadata !1038, metadata !1039, metadata !"_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE: argument 0"}
!1039 = metadata !{metadata !1039, metadata !"_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE"}
!1040 = metadata !{metadata !1041, metadata !1042}
!1041 = metadata !{metadata !1041, metadata !1037, metadata !"_ZN3cmp5impls7u32.Ord3cmp20h4e563246d874c68aWCiE: argument 1"}
!1042 = metadata !{metadata !1042, metadata !1039, metadata !"_ZN6kernel3elf27HeaderFlags...std..cmp..Ord3cmp20he3b0a44a663af2f0jNaE: argument 1"}
!1043 = metadata !{metadata !1044, metadata !1046, metadata !1048}
!1044 = metadata !{metadata !1044, metadata !1045, metadata !"_ZN3cmp5impls14u32.PartialOrd2le20hb6fecf34486776b6UgiE: argument 0"}
!1045 = metadata !{metadata !1045, metadata !"_ZN3cmp5impls14u32.PartialOrd2le20hb6fecf34486776b6UgiE"}
!1046 = metadata !{metadata !1046, metadata !1047, metadata !"_ZN3cmp5impls14u32.PartialOrd11partial_cmp20h8313f14fd1d45e0fJfiE: argument 0"}
!1047 = metadata !{metadata !1047, metadata !"_ZN3cmp5impls14u32.PartialOrd11partial_cmp20h8313f14fd1d45e0fJfiE"}
!1048 = metadata !{metadata !1048, metadata !1049, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE: argument 0"}
!1049 = metadata !{metadata !1049, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE"}
!1050 = metadata !{metadata !1051, metadata !1052, metadata !1054, metadata !1055, metadata !1056}
!1051 = metadata !{metadata !1051, metadata !1045, metadata !"_ZN3cmp5impls14u32.PartialOrd2le20hb6fecf34486776b6UgiE: argument 1"}
!1052 = metadata !{metadata !1052, metadata !1053, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h16573726890255958360E: argument 0"}
!1053 = metadata !{metadata !1053, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h16573726890255958360E"}
!1054 = metadata !{metadata !1054, metadata !1053, metadata !"_ZN3cmp5impls26_$BP$$x27a$x20T.PartialOrd2le21h16573726890255958360E: argument 1"}
!1055 = metadata !{metadata !1055, metadata !1047, metadata !"_ZN3cmp5impls14u32.PartialOrd11partial_cmp20h8313f14fd1d45e0fJfiE: argument 1"}
!1056 = metadata !{metadata !1056, metadata !1049, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd11partial_cmp20h4a78c5babe4eab868NaE: argument 1"}
!1057 = metadata !{metadata !1051, metadata !1055, metadata !1056}
!1058 = metadata !{metadata !1044, metadata !1052, metadata !1054, metadata !1046, metadata !1048}
!1059 = metadata !{metadata !1060}
!1060 = metadata !{metadata !1060, metadata !1061, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2lt20h776f07fef5942407YOaE: argument 0"}
!1061 = metadata !{metadata !1061, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2lt20h776f07fef5942407YOaE"}
!1062 = metadata !{metadata !1063}
!1063 = metadata !{metadata !1063, metadata !1061, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2lt20h776f07fef5942407YOaE: argument 1"}
!1064 = metadata !{metadata !1065}
!1065 = metadata !{metadata !1065, metadata !1066, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2le20h260dd59612e188eaDPaE: argument 0"}
!1066 = metadata !{metadata !1066, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2le20h260dd59612e188eaDPaE"}
!1067 = metadata !{metadata !1068}
!1068 = metadata !{metadata !1068, metadata !1066, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2le20h260dd59612e188eaDPaE: argument 1"}
!1069 = metadata !{metadata !1070}
!1070 = metadata !{metadata !1070, metadata !1071, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2gt20he6d434e0ccfd1d3biQaE: argument 0"}
!1071 = metadata !{metadata !1071, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2gt20he6d434e0ccfd1d3biQaE"}
!1072 = metadata !{metadata !1073}
!1073 = metadata !{metadata !1073, metadata !1071, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2gt20he6d434e0ccfd1d3biQaE: argument 1"}
!1074 = metadata !{metadata !1075}
!1075 = metadata !{metadata !1075, metadata !1076, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2ge20ha1d4e6c96dca45a5XQaE: argument 0"}
!1076 = metadata !{metadata !1076, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2ge20ha1d4e6c96dca45a5XQaE"}
!1077 = metadata !{metadata !1078}
!1078 = metadata !{metadata !1078, metadata !1076, metadata !"_ZN6kernel3elf34HeaderFlags...std..cmp..PartialOrd2ge20ha1d4e6c96dca45a5XQaE: argument 1"}
!1079 = metadata !{metadata !1080, metadata !1082}
!1080 = metadata !{metadata !1080, metadata !1081, metadata !"_ZN5clone9u32.Clone5clone20h64ec8998b59d6756MRiE: argument 0"}
!1081 = metadata !{metadata !1081, metadata !"_ZN5clone9u32.Clone5clone20h64ec8998b59d6756MRiE"}
!1082 = metadata !{metadata !1082, metadata !1083, metadata !"_ZN6kernel3elf31HeaderFlags...std..clone..Clone5clone20h18b764001ca6846aHRaE: argument 0"}
!1083 = metadata !{metadata !1083, metadata !"_ZN6kernel3elf31HeaderFlags...std..clone..Clone5clone20h18b764001ca6846aHRaE"}
!1084 = metadata !{metadata !1085, metadata !1087}
!1085 = metadata !{metadata !1085, metadata !1086, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE: argument 0"}
!1086 = metadata !{metadata !1086, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE"}
!1087 = metadata !{metadata !1087, metadata !1088, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2eq20ha2c8ec8d33d7d7b4sSaE: argument 0"}
!1088 = metadata !{metadata !1088, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2eq20ha2c8ec8d33d7d7b4sSaE"}
!1089 = metadata !{metadata !1090, metadata !1091}
!1090 = metadata !{metadata !1090, metadata !1086, metadata !"_ZN3cmp5impls13u32.PartialEq2eq20hb9066e1d4e97dae8nYhE: argument 1"}
!1091 = metadata !{metadata !1091, metadata !1088, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2eq20ha2c8ec8d33d7d7b4sSaE: argument 1"}
!1092 = metadata !{metadata !1093, metadata !1095}
!1093 = metadata !{metadata !1093, metadata !1094, metadata !"_ZN3cmp5impls13u32.PartialEq2ne20h4e473565ef098ea8HYhE: argument 0"}
!1094 = metadata !{metadata !1094, metadata !"_ZN3cmp5impls13u32.PartialEq2ne20h4e473565ef098ea8HYhE"}
!1095 = metadata !{metadata !1095, metadata !1096, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2ne20hefc0b03d368af4f8ZSaE: argument 0"}
!1096 = metadata !{metadata !1096, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2ne20hefc0b03d368af4f8ZSaE"}
!1097 = metadata !{metadata !1098, metadata !1099}
!1098 = metadata !{metadata !1098, metadata !1094, metadata !"_ZN3cmp5impls13u32.PartialEq2ne20h4e473565ef098ea8HYhE: argument 1"}
!1099 = metadata !{metadata !1099, metadata !1096, metadata !"_ZN6kernel3elf33HeaderFlags...std..cmp..PartialEq2ne20hefc0b03d368af4f8ZSaE: argument 1"}
!1100 = metadata !{metadata !1101}
!1101 = metadata !{metadata !1101, metadata !1102, metadata !"_ZN8platform3cpu3mmu5Flags4bits20h8fce7be8eeae625eddcE: argument 0"}
!1102 = metadata !{metadata !1102, metadata !"_ZN8platform3cpu3mmu5Flags4bits20h8fce7be8eeae625eddcE"}
!1103 = metadata !{metadata !1104}
!1104 = metadata !{metadata !1104, metadata !1105, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 0"}
!1105 = metadata !{metadata !1105, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE"}
!1106 = metadata !{metadata !1107}
!1107 = metadata !{metadata !1107, metadata !1105, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitAnd$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitand20hfbee936f27ca61b6NXaE: argument 1"}
!1108 = metadata !{metadata !1109, metadata !1111, metadata !1113}
!1109 = metadata !{metadata !1109, metadata !1110, metadata !"_ZN3cmp5impls14uint.PartialEq2eq20hc3823ef02d9d7c63cWhE: argument 0"}
!1110 = metadata !{metadata !1110, metadata !"_ZN3cmp5impls14uint.PartialEq2eq20hc3823ef02d9d7c63cWhE"}
!1111 = metadata !{metadata !1111, metadata !1112, metadata !"_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE: argument 0"}
!1112 = metadata !{metadata !1112, metadata !"_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE"}
!1113 = metadata !{metadata !1113, metadata !1114, metadata !"_ZN8platform3cpu3mmu5Flags8is_empty20h5a9862d1c479f1054dcE: argument 0"}
!1114 = metadata !{metadata !1114, metadata !"_ZN8platform3cpu3mmu5Flags8is_empty20h5a9862d1c479f1054dcE"}
!1115 = metadata !{metadata !1116, metadata !1117}
!1116 = metadata !{metadata !1116, metadata !1110, metadata !"_ZN3cmp5impls14uint.PartialEq2eq20hc3823ef02d9d7c63cWhE: argument 1"}
!1117 = metadata !{metadata !1117, metadata !1112, metadata !"_ZN8platform3cpu3mmu27Flags...std..cmp..PartialEq2eq20h62f1326151c7835bZacE: argument 1"}
!1118 = metadata !{metadata !1119, metadata !1121}
!1119 = metadata !{metadata !1119, metadata !1120, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE: argument 0"}
!1120 = metadata !{metadata !1120, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE"}
!1121 = metadata !{metadata !1121, metadata !1122, metadata !"_ZN8platform3cpu3mmu5Flags10intersects20hb5fdf7e261fc1b7buecE: argument 0"}
!1122 = metadata !{metadata !1122, metadata !"_ZN8platform3cpu3mmu5Flags10intersects20hb5fdf7e261fc1b7buecE"}
!1123 = metadata !{metadata !1124}
!1124 = metadata !{metadata !1124, metadata !1120, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE: argument 1"}
!1125 = metadata !{metadata !1126, metadata !1128}
!1126 = metadata !{metadata !1126, metadata !1127, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE: argument 0"}
!1127 = metadata !{metadata !1127, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE"}
!1128 = metadata !{metadata !1128, metadata !1129, metadata !"_ZN8platform3cpu3mmu5Flags8contains20hf01f188ec82a179cMecE: argument 0"}
!1129 = metadata !{metadata !1129, metadata !"_ZN8platform3cpu3mmu5Flags8contains20hf01f188ec82a179cMecE"}
!1130 = metadata !{metadata !1131}
!1131 = metadata !{metadata !1131, metadata !1127, metadata !"_ZN8platform3cpu3mmu48Flags.core..ops..BitAnd$LT$Flags$C$$x20Flags$GT$6bitand20hcee61b5cd786da2cSgcE: argument 1"}
!1132 = metadata !{metadata !1133}
!1133 = metadata !{metadata !1133, metadata !1134, metadata !"_ZN8platform3cpu3mmu5Flags6insert20hb78e3dc274a2906d4ecE: argument 0"}
!1134 = metadata !{metadata !1134, metadata !"_ZN8platform3cpu3mmu5Flags6insert20hb78e3dc274a2906d4ecE"}
!1135 = metadata !{metadata !1136}
!1136 = metadata !{metadata !1136, metadata !1137, metadata !"_ZN8platform3cpu3mmu5Flags6remove20hb90ac6923f3d1bdblfcE: argument 0"}
!1137 = metadata !{metadata !1137, metadata !"_ZN8platform3cpu3mmu5Flags6remove20hb90ac6923f3d1bdblfcE"}
!1138 = metadata !{metadata !1139}
!1139 = metadata !{metadata !1139, metadata !1140, metadata !"_ZN8platform3cpu3mmu5Flags6toggle20h13646ab1db0be843DfcE: argument 0"}
!1140 = metadata !{metadata !1140, metadata !"_ZN8platform3cpu3mmu5Flags6toggle20h13646ab1db0be843DfcE"}
!1141 = metadata !{metadata !1142}
!1142 = metadata !{metadata !1142, metadata !1143, metadata !"_ZN6kernel3elf65HeaderFlags.core..ops..BitOr$LT$HeaderFlags$C$$x20HeaderFlags$GT$5bitor20he4013037490d044dTWaE: argument 0"}
!1143 = metadata !{metadata !1143, metadata !"_ZN6kernel3elf65HeaderFlags.core..ops..BitOr$LT$HeaderFlags$C$$x20HeaderFlags$GT$5bitor20he4013037490d044dTWaE"}
!1144 = metadata !{metadata !1145}
!1145 = metadata !{metadata !1145, metadata !1143, metadata !"_ZN6kernel3elf65HeaderFlags.core..ops..BitOr$LT$HeaderFlags$C$$x20HeaderFlags$GT$5bitor20he4013037490d044dTWaE: argument 1"}
!1146 = metadata !{metadata !1147}
!1147 = metadata !{metadata !1147, metadata !1148, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitXor$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitxor20h5fed3a701d956c03lXaE: argument 0"}
!1148 = metadata !{metadata !1148, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitXor$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitxor20h5fed3a701d956c03lXaE"}
!1149 = metadata !{metadata !1150}
!1150 = metadata !{metadata !1150, metadata !1148, metadata !"_ZN6kernel3elf66HeaderFlags.core..ops..BitXor$LT$HeaderFlags$C$$x20HeaderFlags$GT$6bitxor20h5fed3a701d956c03lXaE: argument 1"}
!1151 = metadata !{metadata !1152}
!1152 = metadata !{metadata !1152, metadata !1153, metadata !"_ZN6kernel3elf63HeaderFlags.core..ops..Sub$LT$HeaderFlags$C$$x20HeaderFlags$GT$3sub20hb1d198fa9dab4c0bfYaE: argument 1"}
!1153 = metadata !{metadata !1153, metadata !"_ZN6kernel3elf63HeaderFlags.core..ops..Sub$LT$HeaderFlags$C$$x20HeaderFlags$GT$3sub20hb1d198fa9dab4c0bfYaE"}
!1154 = metadata !{metadata !1155}
!1155 = metadata !{metadata !1155, metadata !1153, metadata !"_ZN6kernel3elf63HeaderFlags.core..ops..Sub$LT$HeaderFlags$C$$x20HeaderFlags$GT$3sub20hb1d198fa9dab4c0bfYaE: argument 0"}
!1156 = metadata !{metadata !1157, metadata !1159}
!1157 = metadata !{metadata !1157, metadata !1158, metadata !"_ZN3fmt9char.Char3fmt20h463fea107ac90b89RSyE: argument 0"}
!1158 = metadata !{metadata !1158, metadata !"_ZN3fmt9char.Char3fmt20h463fea107ac90b89RSyE"}
!1159 = metadata !{metadata !1159, metadata !1158, metadata !"_ZN3fmt9char.Char3fmt20h463fea107ac90b89RSyE: argument 1"}
!1160 = metadata !{metadata !1161}
!1161 = metadata !{metadata !1161, metadata !1162, metadata !"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E: argument 0"}
!1162 = metadata !{metadata !1162, metadata !"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E"}
!1163 = metadata !{metadata !1164, metadata !1166, metadata !1167, metadata !1168, metadata !1169, metadata !1171, metadata !1172, metadata !1157, metadata !1159}
!1164 = metadata !{metadata !1164, metadata !1165, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 0"}
!1165 = metadata !{metadata !1165, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E"}
!1166 = metadata !{metadata !1166, metadata !1165, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 1"}
!1167 = metadata !{metadata !1167, metadata !1165, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 2"}
!1168 = metadata !{metadata !1168, metadata !1165, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 3"}
!1169 = metadata !{metadata !1169, metadata !1170, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 0"}
!1170 = metadata !{metadata !1170, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E"}
!1171 = metadata !{metadata !1171, metadata !1170, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 1"}
!1172 = metadata !{metadata !1172, metadata !1170, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 2"}
!1173 = metadata !{metadata !1174, metadata !1176, metadata !1157, metadata !1159}
!1174 = metadata !{metadata !1174, metadata !1175, metadata !"_ZN3fmt10str.String3fmt20h9045652b6f24441cwSyE: argument 0"}
!1175 = metadata !{metadata !1175, metadata !"_ZN3fmt10str.String3fmt20h9045652b6f24441cwSyE"}
!1176 = metadata !{metadata !1176, metadata !1175, metadata !"_ZN3fmt10str.String3fmt20h9045652b6f24441cwSyE: argument 1"}
!1177 = metadata !{metadata !1178, metadata !1180, metadata !1181, metadata !1183, metadata !1184, metadata !1186}
!1178 = metadata !{metadata !1178, metadata !1179, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE: argument 0"}
!1179 = metadata !{metadata !1179, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE"}
!1180 = metadata !{metadata !1180, metadata !1179, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE: argument 1"}
!1181 = metadata !{metadata !1181, metadata !1182, metadata !"_ZN4iter8Iterator4fold20h2458033302293945683E: argument 0"}
!1182 = metadata !{metadata !1182, metadata !"_ZN4iter8Iterator4fold20h2458033302293945683E"}
!1183 = metadata !{metadata !1183, metadata !1182, metadata !"_ZN4iter8Iterator4fold20h2458033302293945683E: argument 1"}
!1184 = metadata !{metadata !1184, metadata !1185, metadata !"_ZN4iter8Iterator5count20h4267684261789179831E: argument 0"}
!1185 = metadata !{metadata !1185, metadata !"_ZN4iter8Iterator5count20h4267684261789179831E"}
!1186 = metadata !{metadata !1186, metadata !1187, metadata !"_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE: argument 0"}
!1187 = metadata !{metadata !1187, metadata !"_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE"}
!1188 = metadata !{metadata !1189}
!1189 = metadata !{metadata !1189, metadata !1190, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E: argument 0"}
!1190 = metadata !{metadata !1190, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E"}
!1191 = metadata !{metadata !1192}
!1192 = metadata !{metadata !1192, metadata !1193, metadata !"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E: argument 0"}
!1193 = metadata !{metadata !1193, metadata !"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E"}
!1194 = metadata !{metadata !1195, metadata !1197, metadata !1198, metadata !1199, metadata !1200, metadata !1202, metadata !1203, metadata !1189}
!1195 = metadata !{metadata !1195, metadata !1196, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 0"}
!1196 = metadata !{metadata !1196, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E"}
!1197 = metadata !{metadata !1197, metadata !1196, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 1"}
!1198 = metadata !{metadata !1198, metadata !1196, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 2"}
!1199 = metadata !{metadata !1199, metadata !1196, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 3"}
!1200 = metadata !{metadata !1200, metadata !1201, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 0"}
!1201 = metadata !{metadata !1201, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E"}
!1202 = metadata !{metadata !1202, metadata !1201, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 1"}
!1203 = metadata !{metadata !1203, metadata !1201, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 2"}
!1204 = metadata !{metadata !1200}
!1205 = metadata !{metadata !1202, metadata !1203, metadata !1189}
!1206 = metadata !{metadata !1207}
!1207 = metadata !{metadata !1207, metadata !1208, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 0"}
!1208 = metadata !{metadata !1208, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE"}
!1209 = metadata !{metadata !1210, metadata !1189}
!1210 = metadata !{metadata !1210, metadata !1208, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 1"}
!1211 = metadata !{metadata !1212}
!1212 = metadata !{metadata !1212, metadata !1213, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E: argument 0"}
!1213 = metadata !{metadata !1213, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E"}
!1214 = metadata !{metadata !1215}
!1215 = metadata !{metadata !1215, metadata !1216, metadata !"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E: argument 0"}
!1216 = metadata !{metadata !1216, metadata !"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E"}
!1217 = metadata !{metadata !1218, metadata !1220, metadata !1221, metadata !1222, metadata !1223, metadata !1225, metadata !1226, metadata !1212}
!1218 = metadata !{metadata !1218, metadata !1219, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 0"}
!1219 = metadata !{metadata !1219, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E"}
!1220 = metadata !{metadata !1220, metadata !1219, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 1"}
!1221 = metadata !{metadata !1221, metadata !1219, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 2"}
!1222 = metadata !{metadata !1222, metadata !1219, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 3"}
!1223 = metadata !{metadata !1223, metadata !1224, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 0"}
!1224 = metadata !{metadata !1224, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E"}
!1225 = metadata !{metadata !1225, metadata !1224, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 1"}
!1226 = metadata !{metadata !1226, metadata !1224, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 2"}
!1227 = metadata !{metadata !1223}
!1228 = metadata !{metadata !1225, metadata !1226, metadata !1212}
!1229 = metadata !{metadata !1230}
!1230 = metadata !{metadata !1230, metadata !1231, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 0"}
!1231 = metadata !{metadata !1231, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE"}
!1232 = metadata !{metadata !1233, metadata !1212}
!1233 = metadata !{metadata !1233, metadata !1231, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 1"}
!1234 = metadata !{metadata !1235}
!1235 = metadata !{metadata !1235, metadata !1236, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E: argument 0"}
!1236 = metadata !{metadata !1236, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$12pad_integral13closure.21660E"}
!1237 = metadata !{metadata !1238}
!1238 = metadata !{metadata !1238, metadata !1239, metadata !"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E: argument 0"}
!1239 = metadata !{metadata !1239, metadata !"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E"}
!1240 = metadata !{metadata !1241, metadata !1243, metadata !1244, metadata !1245, metadata !1246, metadata !1248, metadata !1249, metadata !1235}
!1241 = metadata !{metadata !1241, metadata !1242, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 0"}
!1242 = metadata !{metadata !1242, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E"}
!1243 = metadata !{metadata !1243, metadata !1242, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 1"}
!1244 = metadata !{metadata !1244, metadata !1242, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 2"}
!1245 = metadata !{metadata !1245, metadata !1242, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 3"}
!1246 = metadata !{metadata !1246, metadata !1247, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 0"}
!1247 = metadata !{metadata !1247, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E"}
!1248 = metadata !{metadata !1248, metadata !1247, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 1"}
!1249 = metadata !{metadata !1249, metadata !1247, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 2"}
!1250 = metadata !{metadata !1246}
!1251 = metadata !{metadata !1248, metadata !1249, metadata !1235}
!1252 = metadata !{metadata !1253}
!1253 = metadata !{metadata !1253, metadata !1254, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 0"}
!1254 = metadata !{metadata !1254, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE"}
!1255 = metadata !{metadata !1256, metadata !1235}
!1256 = metadata !{metadata !1256, metadata !1254, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 1"}
!1257 = metadata !{metadata !1258}
!1258 = metadata !{metadata !1258, metadata !1259, metadata !"_ZN3fmt3num12GenericRadix7fmt_int21h12478102606111047186E: argument 0"}
!1259 = metadata !{metadata !1259, metadata !"_ZN3fmt3num12GenericRadix7fmt_int21h12478102606111047186E"}
!1260 = metadata !{metadata !1261}
!1261 = metadata !{metadata !1261, metadata !1262, metadata !"_ZN3fmt3num21LowerHex.GenericRadix6prefix20h9a8a072f2eb98836MrxE: argument 0"}
!1262 = metadata !{metadata !1262, metadata !"_ZN3fmt3num21LowerHex.GenericRadix6prefix20h9a8a072f2eb98836MrxE"}
!1263 = metadata !{metadata !1264, metadata !1266, metadata !1267, metadata !1268, metadata !1269, metadata !1271, metadata !1272, metadata !1258}
!1264 = metadata !{metadata !1264, metadata !1265, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 0"}
!1265 = metadata !{metadata !1265, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E"}
!1266 = metadata !{metadata !1266, metadata !1265, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 1"}
!1267 = metadata !{metadata !1267, metadata !1265, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 2"}
!1268 = metadata !{metadata !1268, metadata !1265, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 3"}
!1269 = metadata !{metadata !1269, metadata !1270, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$18slice_from_or_fail20h6333694233120296536E: argument 0"}
!1270 = metadata !{metadata !1270, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$18slice_from_or_fail20h6333694233120296536E"}
!1271 = metadata !{metadata !1271, metadata !1270, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$18slice_from_or_fail20h6333694233120296536E: argument 1"}
!1272 = metadata !{metadata !1272, metadata !1270, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$18slice_from_or_fail20h6333694233120296536E: argument 2"}
!1273 = metadata !{metadata !1269}
!1274 = metadata !{metadata !1271, metadata !1272, metadata !1258}
!1275 = metadata !{metadata !1276}
!1276 = metadata !{metadata !1276, metadata !1277, metadata !"_ZN5slice34_$x5bT$x5d.ImmutableSlice$LT$T$GT$4iter20h9726381190729365013E: argument 0"}
!1277 = metadata !{metadata !1277, metadata !"_ZN5slice34_$x5bT$x5d.ImmutableSlice$LT$T$GT$4iter20h9726381190729365013E"}
!1278 = metadata !{metadata !1279}
!1279 = metadata !{metadata !1279, metadata !1277, metadata !"_ZN5slice34_$x5bT$x5d.ImmutableSlice$LT$T$GT$4iter20h9726381190729365013E: argument 1"}
!1280 = metadata !{metadata !1281}
!1281 = metadata !{metadata !1281, metadata !1282, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 0"}
!1282 = metadata !{metadata !1282, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE"}
!1283 = metadata !{metadata !1284}
!1284 = metadata !{metadata !1284, metadata !1282, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 1"}
!1285 = metadata !{metadata !1286}
!1286 = metadata !{metadata !1286, metadata !1287, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 0"}
!1287 = metadata !{metadata !1287, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE"}
!1288 = metadata !{metadata !1289}
!1289 = metadata !{metadata !1289, metadata !1287, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 1"}
!1290 = metadata !{metadata !1291}
!1291 = metadata !{metadata !1291, metadata !1292, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 0"}
!1292 = metadata !{metadata !1292, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE"}
!1293 = metadata !{metadata !1294}
!1294 = metadata !{metadata !1294, metadata !1292, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 1"}
!1295 = metadata !{metadata !1296, metadata !1298}
!1296 = metadata !{metadata !1296, metadata !1297, metadata !"_ZN6option15Option$LT$T$GT$7is_some20h9608429286177797803E: argument 0"}
!1297 = metadata !{metadata !1297, metadata !"_ZN6option15Option$LT$T$GT$7is_some20h9608429286177797803E"}
!1298 = metadata !{metadata !1298, metadata !1299, metadata !"_ZN6option15Option$LT$T$GT$7is_none20h4889834795177575357E: argument 0"}
!1299 = metadata !{metadata !1299, metadata !"_ZN6option15Option$LT$T$GT$7is_none20h4889834795177575357E"}
!1300 = metadata !{metadata !1301}
!1301 = metadata !{metadata !1301, metadata !1302, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 0"}
!1302 = metadata !{metadata !1302, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE"}
!1303 = metadata !{metadata !1304}
!1304 = metadata !{metadata !1304, metadata !1302, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 1"}
!1305 = metadata !{metadata !1306, metadata !1308, metadata !1309, metadata !1311, metadata !1312, metadata !1314}
!1306 = metadata !{metadata !1306, metadata !1307, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE: argument 0"}
!1307 = metadata !{metadata !1307, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE"}
!1308 = metadata !{metadata !1308, metadata !1307, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE: argument 1"}
!1309 = metadata !{metadata !1309, metadata !1310, metadata !"_ZN4iter8Iterator4fold20h2458033302293945683E: argument 0"}
!1310 = metadata !{metadata !1310, metadata !"_ZN4iter8Iterator4fold20h2458033302293945683E"}
!1311 = metadata !{metadata !1311, metadata !1310, metadata !"_ZN4iter8Iterator4fold20h2458033302293945683E: argument 1"}
!1312 = metadata !{metadata !1312, metadata !1313, metadata !"_ZN4iter8Iterator5count20h4267684261789179831E: argument 0"}
!1313 = metadata !{metadata !1313, metadata !"_ZN4iter8Iterator5count20h4267684261789179831E"}
!1314 = metadata !{metadata !1314, metadata !1315, metadata !"_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE: argument 0"}
!1315 = metadata !{metadata !1315, metadata !"_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE"}
!1316 = metadata !{metadata !1317, metadata !1319, metadata !1320, metadata !1322, metadata !1323, metadata !1325}
!1317 = metadata !{metadata !1317, metadata !1318, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE: argument 0"}
!1318 = metadata !{metadata !1318, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE"}
!1319 = metadata !{metadata !1319, metadata !1318, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE: argument 1"}
!1320 = metadata !{metadata !1320, metadata !1321, metadata !"_ZN3str64CharOffsets$LT$$x27a$GT$.Iterator$LT$$LP$uint$C$$x20char$RP$$GT$4next20he929424f704609bc5BpE: argument 0"}
!1321 = metadata !{metadata !1321, metadata !"_ZN3str64CharOffsets$LT$$x27a$GT$.Iterator$LT$$LP$uint$C$$x20char$RP$$GT$4next20he929424f704609bc5BpE"}
!1322 = metadata !{metadata !1322, metadata !1321, metadata !"_ZN3str64CharOffsets$LT$$x27a$GT$.Iterator$LT$$LP$uint$C$$x20char$RP$$GT$4next20he929424f704609bc5BpE: argument 1"}
!1323 = metadata !{metadata !1323, metadata !1324, metadata !"_ZN3str12str.StrSlice11slice_chars20h08df166a73d8a6fbXUqE: argument 0"}
!1324 = metadata !{metadata !1324, metadata !"_ZN3str12str.StrSlice11slice_chars20h08df166a73d8a6fbXUqE"}
!1325 = metadata !{metadata !1325, metadata !1324, metadata !"_ZN3str12str.StrSlice11slice_chars20h08df166a73d8a6fbXUqE: argument 1"}
!1326 = metadata !{metadata !1323, metadata !1325}
!1327 = metadata !{metadata !1328, metadata !1330, metadata !1323, metadata !1325}
!1328 = metadata !{metadata !1328, metadata !1329, metadata !"_ZN3str3raw11slice_bytes20h2f93957806894d2blwqE: argument 0"}
!1329 = metadata !{metadata !1329, metadata !"_ZN3str3raw11slice_bytes20h2f93957806894d2blwqE"}
!1330 = metadata !{metadata !1330, metadata !1329, metadata !"_ZN3str3raw11slice_bytes20h2f93957806894d2blwqE: argument 1"}
!1331 = metadata !{metadata !1323}
!1332 = metadata !{metadata !1325}
!1333 = metadata !{metadata !1334, metadata !1336, metadata !1337, metadata !1339, metadata !1340, metadata !1342}
!1334 = metadata !{metadata !1334, metadata !1335, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE: argument 0"}
!1335 = metadata !{metadata !1335, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE"}
!1336 = metadata !{metadata !1336, metadata !1335, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE: argument 1"}
!1337 = metadata !{metadata !1337, metadata !1338, metadata !"_ZN4iter8Iterator4fold20h2458033302293945683E: argument 0"}
!1338 = metadata !{metadata !1338, metadata !"_ZN4iter8Iterator4fold20h2458033302293945683E"}
!1339 = metadata !{metadata !1339, metadata !1338, metadata !"_ZN4iter8Iterator4fold20h2458033302293945683E: argument 1"}
!1340 = metadata !{metadata !1340, metadata !1341, metadata !"_ZN4iter8Iterator5count20h4267684261789179831E: argument 0"}
!1341 = metadata !{metadata !1341, metadata !"_ZN4iter8Iterator5count20h4267684261789179831E"}
!1342 = metadata !{metadata !1342, metadata !1343, metadata !"_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE: argument 0"}
!1343 = metadata !{metadata !1343, metadata !"_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE"}
!1344 = metadata !{metadata !1345}
!1345 = metadata !{metadata !1345, metadata !1346, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 0"}
!1346 = metadata !{metadata !1346, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE"}
!1347 = metadata !{metadata !1348}
!1348 = metadata !{metadata !1348, metadata !1346, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 1"}
!1349 = metadata !{metadata !1350}
!1350 = metadata !{metadata !1350, metadata !1351, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 0"}
!1351 = metadata !{metadata !1351, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE"}
!1352 = metadata !{metadata !1353}
!1353 = metadata !{metadata !1353, metadata !1351, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 1"}
!1354 = metadata !{metadata !1355, metadata !1357, metadata !1358, metadata !1360, metadata !1361, metadata !1363}
!1355 = metadata !{metadata !1355, metadata !1356, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE: argument 0"}
!1356 = metadata !{metadata !1356, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE"}
!1357 = metadata !{metadata !1357, metadata !1356, metadata !"_ZN3str39Chars$LT$$x27a$GT$.Iterator$LT$char$GT$4next20h308d2b8eade6d7ae4upE: argument 1"}
!1358 = metadata !{metadata !1358, metadata !1359, metadata !"_ZN4iter8Iterator4fold20h2458033302293945683E: argument 0"}
!1359 = metadata !{metadata !1359, metadata !"_ZN4iter8Iterator4fold20h2458033302293945683E"}
!1360 = metadata !{metadata !1360, metadata !1359, metadata !"_ZN4iter8Iterator4fold20h2458033302293945683E: argument 1"}
!1361 = metadata !{metadata !1361, metadata !1362, metadata !"_ZN4iter8Iterator5count20h4267684261789179831E: argument 0"}
!1362 = metadata !{metadata !1362, metadata !"_ZN4iter8Iterator5count20h4267684261789179831E"}
!1363 = metadata !{metadata !1363, metadata !1364, metadata !"_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE: argument 0"}
!1364 = metadata !{metadata !1364, metadata !"_ZN3str12str.StrSlice8char_len20h9f6f14565163766a0SqE"}
!1365 = metadata !{metadata !1366}
!1366 = metadata !{metadata !1366, metadata !1367, metadata !"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E: argument 0"}
!1367 = metadata !{metadata !1367, metadata !"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E"}
!1368 = metadata !{metadata !1369, metadata !1371, metadata !1372, metadata !1373, metadata !1374, metadata !1376, metadata !1377}
!1369 = metadata !{metadata !1369, metadata !1370, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 0"}
!1370 = metadata !{metadata !1370, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E"}
!1371 = metadata !{metadata !1371, metadata !1370, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 1"}
!1372 = metadata !{metadata !1372, metadata !1370, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 2"}
!1373 = metadata !{metadata !1373, metadata !1370, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 3"}
!1374 = metadata !{metadata !1374, metadata !1375, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 0"}
!1375 = metadata !{metadata !1375, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E"}
!1376 = metadata !{metadata !1376, metadata !1375, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 1"}
!1377 = metadata !{metadata !1377, metadata !1375, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 2"}
!1378 = metadata !{metadata !1374}
!1379 = metadata !{metadata !1376, metadata !1377}
!1380 = metadata !{metadata !1381}
!1381 = metadata !{metadata !1381, metadata !1382, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 0"}
!1382 = metadata !{metadata !1382, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE"}
!1383 = metadata !{metadata !1384}
!1384 = metadata !{metadata !1384, metadata !1382, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 1"}
!1385 = metadata !{i8 0, i8 4}
!1386 = metadata !{metadata !1387}
!1387 = metadata !{metadata !1387, metadata !1388, metadata !"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E: argument 0"}
!1388 = metadata !{metadata !1388, metadata !"_ZN6option15Option$LT$T$GT$9unwrap_or20h1561167265899555340E"}
!1389 = metadata !{metadata !1390, metadata !1392, metadata !1393, metadata !1394, metadata !1395, metadata !1397, metadata !1398}
!1390 = metadata !{metadata !1390, metadata !1391, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 0"}
!1391 = metadata !{metadata !1391, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E"}
!1392 = metadata !{metadata !1392, metadata !1391, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 1"}
!1393 = metadata !{metadata !1393, metadata !1391, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 2"}
!1394 = metadata !{metadata !1394, metadata !1391, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 3"}
!1395 = metadata !{metadata !1395, metadata !1396, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 0"}
!1396 = metadata !{metadata !1396, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E"}
!1397 = metadata !{metadata !1397, metadata !1396, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 1"}
!1398 = metadata !{metadata !1398, metadata !1396, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 2"}
!1399 = metadata !{metadata !1395}
!1400 = metadata !{metadata !1397, metadata !1398}
!1401 = metadata !{metadata !1402, metadata !1404, metadata !1405, metadata !1406, metadata !1407, metadata !1409, metadata !1410}
!1402 = metadata !{metadata !1402, metadata !1403, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 0"}
!1403 = metadata !{metadata !1403, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E"}
!1404 = metadata !{metadata !1404, metadata !1403, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 1"}
!1405 = metadata !{metadata !1405, metadata !1403, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 2"}
!1406 = metadata !{metadata !1406, metadata !1403, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$13slice_or_fail20h7286969032938400979E: argument 3"}
!1407 = metadata !{metadata !1407, metadata !1408, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 0"}
!1408 = metadata !{metadata !1408, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E"}
!1409 = metadata !{metadata !1409, metadata !1408, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 1"}
!1410 = metadata !{metadata !1410, metadata !1408, metadata !"_ZN5slice49_$x5bT$x5d.ops..Slice$LT$uint$C$$x20$x5bT$x5d$GT$16slice_to_or_fail20h2559973460099566204E: argument 2"}
!1411 = metadata !{metadata !1407}
!1412 = metadata !{metadata !1409, metadata !1410}
!1413 = metadata !{metadata !1414}
!1414 = metadata !{metadata !1414, metadata !1415, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE: argument 2"}
!1415 = metadata !{metadata !1415, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE"}
!1416 = metadata !{metadata !1417, metadata !1418}
!1417 = metadata !{metadata !1417, metadata !1415, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE: argument 0"}
!1418 = metadata !{metadata !1418, metadata !1415, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE: argument 1"}
!1419 = metadata !{metadata !1420, metadata !1418}
!1420 = metadata !{metadata !1420, metadata !1421, metadata !"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E: argument 0"}
!1421 = metadata !{metadata !1421, metadata !"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E"}
!1422 = metadata !{metadata !1417, metadata !1414}
!1423 = metadata !{metadata !1417, metadata !1418, metadata !1414}
!1424 = metadata !{metadata !1418}
!1425 = metadata !{metadata !"branch_weights", i32 64, i32 4}
!1426 = metadata !{metadata !1427}
!1427 = metadata !{metadata !1427, metadata !1428, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE: argument 2"}
!1428 = metadata !{metadata !1428, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE"}
!1429 = metadata !{metadata !1430, metadata !1431}
!1430 = metadata !{metadata !1430, metadata !1428, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE: argument 0"}
!1431 = metadata !{metadata !1431, metadata !1428, metadata !"_ZN3fmt22Formatter$LT$$x27a$GT$8getcount20h3868d1f78f090720KDyE: argument 1"}
!1432 = metadata !{metadata !1433, metadata !1431}
!1433 = metadata !{metadata !1433, metadata !1434, metadata !"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E: argument 0"}
!1434 = metadata !{metadata !1434, metadata !"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E"}
!1435 = metadata !{metadata !1430, metadata !1427}
!1436 = metadata !{metadata !1430, metadata !1431, metadata !1427}
!1437 = metadata !{metadata !1431}
!1438 = metadata !{metadata !1439}
!1439 = metadata !{metadata !1439, metadata !1440, metadata !"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E: argument 0"}
!1440 = metadata !{metadata !1440, metadata !"_ZN5slice57Items$LT$$x27a$C$$x20T$GT$.Iterator$LT$$BP$$x27a$x20T$GT$4next20h6608800648172074059E"}
!1441 = metadata !{metadata !1442}
!1442 = metadata !{metadata !1442, metadata !1443, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 0"}
!1443 = metadata !{metadata !1443, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE"}
!1444 = metadata !{metadata !1445}
!1445 = metadata !{metadata !1445, metadata !1443, metadata !"_ZN3str12str.StrSlice8as_bytes20hc1b8f312c878238edarE: argument 1"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment