-
-
Save TimNN/52fcea6426c872869269114c47f96e1f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = 'farm.cgu-0.rs' | |
source_filename = "farm.cgu-0.rs" | |
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" | |
target triple = "arm--linux-android" | |
%str_slice = type { i8*, i32 } | |
%"core::fmt::Formatter" = type { i32, i32, i8, %"core::option::Option<usize>", %"core::option::Option<usize>", { i8*, void (i8*)** }, %"core::slice::Iter<core::fmt::ArgumentV1>", { %"core::fmt::ArgumentV1"*, i32 } } | |
%"core::option::Option<usize>" = type { i32, [0 x i32], [1 x i32] } | |
%"core::slice::Iter<core::fmt::ArgumentV1>" = type { %"core::fmt::ArgumentV1"*, %"core::fmt::ArgumentV1"*, %"core::marker::PhantomData<&core::fmt::ArgumentV1>" } | |
%"core::fmt::ArgumentV1" = type { %"core::fmt::Void"*, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* } | |
%"core::fmt::Void" = type { {} } | |
%"core::marker::PhantomData<&core::fmt::ArgumentV1>" = type {} | |
%"collections::vec::Vec<isize>" = type { %"alloc::raw_vec::RawVec<isize>", i32 } | |
%"alloc::raw_vec::RawVec<isize>" = type { %"core::ptr::Unique<isize>", i32 } | |
%"core::ptr::Unique<isize>" = type { %"core::nonzero::NonZero<*const isize>", %"core::marker::PhantomData<isize>" } | |
%"core::nonzero::NonZero<*const isize>" = type { i32* } | |
%"core::marker::PhantomData<isize>" = type {} | |
%"core::ops::RangeFull" = type {} | |
%"core::option::Option<isize>" = type { i32, [0 x i32], [1 x i32] } | |
%"core::iter::range::StepBy<isize, core::ops::Range<isize>>" = type { i32, %"core::ops::Range<isize>" } | |
%"core::ops::Range<isize>" = type { i32, i32 } | |
%"core::slice::Iter<isize>" = type { i32*, i32*, %"core::marker::PhantomData<&isize>" } | |
%"core::marker::PhantomData<&isize>" = type {} | |
%"core::fmt::builders::DebugList" = type { %"core::fmt::builders::DebugInner" } | |
%"core::fmt::builders::DebugInner" = type { %"core::fmt::Formatter"*, %"core::result::Result<(), core::fmt::Error>", i8 } | |
%"core::result::Result<(), core::fmt::Error>" = type { i8, [0 x i8], [0 x i8] } | |
%"core::fmt::Arguments" = type { { %str_slice*, i32 }, %"core::option::Option<&[core::fmt::rt::v1::Argument]>", { %"core::fmt::ArgumentV1"*, i32 } } | |
%"core::option::Option<&[core::fmt::rt::v1::Argument]>" = type { { %"core::fmt::rt::v1::Argument"*, i32 } } | |
%"core::fmt::rt::v1::Argument" = type { %"core::fmt::rt::v1::Position", %"core::fmt::rt::v1::FormatSpec" } | |
%"core::fmt::rt::v1::Position" = type { i32, [0 x i32], [1 x i32] } | |
%"core::fmt::rt::v1::FormatSpec" = type { i32, i8, i32, %"core::fmt::rt::v1::Count", %"core::fmt::rt::v1::Count" } | |
%"core::fmt::rt::v1::Count" = type { i32, [0 x i32], [1 x i32] } | |
%"core::slice::Repr<isize>" = type { i32*, i32 } | |
%"unwind::libunwind::_Unwind_Exception" = type { i64, void (i32, %"unwind::libunwind::_Unwind_Exception"*)*, [20 x i32] } | |
%"unwind::libunwind::_Unwind_Context" = type {} | |
@_ZN4farm4main15__STATIC_FMTSTR17hec44f1053dc1d4f9E = internal constant { %str_slice*, i32 } { %str_slice* getelementptr inbounds ([0 x %str_slice], [0 x %str_slice]* @ref.i, i32 0, i32 0), i32 0 }, align 4 | |
@_ZN4farm4main10_FILE_LINE17h9cb38694b2dbd7adE = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.j, i32 0, i32 0), i32 0 }, i32 0 }, align 4 | |
@str.0 = internal constant [35 x i8] c"/checkout/src/libcollections/vec.rs" | |
@str.1 = internal constant [28 x i8] c"attempt to add with overflow" | |
@panic_loc.2 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.1, i32 0, i32 0), i32 28 }, %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.0, i32 0, i32 0), i32 35 }, i32 1729 }, align 4 | |
@str.3 = internal constant [17 x i8] c"capacity overflow" | |
@str.4 = internal constant [33 x i8] c"/checkout/src/liballoc/raw_vec.rs" | |
@str.5 = internal constant [33 x i8] c"attempt to multiply with overflow" | |
@panic_loc.6 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.5, i32 0, i32 0), i32 33 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.4, i32 0, i32 0), i32 33 }, i32 344 }, align 4 | |
@panic_loc.7 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.5, i32 0, i32 0), i32 33 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.4, i32 0, i32 0), i32 33 }, i32 419 }, align 4 | |
@str.8 = internal constant [35 x i8] c"/checkout/src/libcore/iter/range.rs" | |
@str.9 = internal constant [57 x i8] c"attempt to calculate the remainder with a divisor of zero" | |
@panic_loc.a = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([57 x i8], [57 x i8]* @str.9, i32 0, i32 0), i32 57 }, %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.8, i32 0, i32 0), i32 35 }, i32 146 }, align 4 | |
@str.b = internal constant [25 x i8] c"attempt to divide by zero" | |
@panic_loc.c = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.b, i32 0, i32 0), i32 25 }, %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.8, i32 0, i32 0), i32 35 }, i32 147 }, align 4 | |
@panic_loc.d = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str.1, i32 0, i32 0), i32 28 }, %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.8, i32 0, i32 0), i32 35 }, i32 147 }, align 4 | |
@panic_loc.e = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([25 x i8], [25 x i8]* @str.b, i32 0, i32 0), i32 25 }, %str_slice { i8* getelementptr inbounds ([35 x i8], [35 x i8]* @str.8, i32 0, i32 0), i32 35 }, i32 149 }, align 4 | |
@vtable.f = internal unnamed_addr constant { void (i8*)*, i32, i32, i8 (i32**, %"core::fmt::Formatter"*)* } { void (i8*)* @_ZN4drop17h5e8360cf713132cfE, i32 4, i32 4, i8 (i32**, %"core::fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h889edfa5dbcb43f4E" }, align 4 | |
@_ZN5alloc4heap24check_size_and_alignment14_MSG_FILE_LINE17h00c3435f05a4fcfdE = external global { %str_slice, %str_slice, i32 } | |
@_ZN5alloc4heap24check_size_and_alignment15__STATIC_FMTSTR17h557f9e10d9f56ed3E = external global { %str_slice*, i32 } | |
@_ZN5alloc4heap24check_size_and_alignment10_FILE_LINE17h86fe1dae5ff439efE = external global { %str_slice, i32 } | |
@_ZN5alloc4heap24check_size_and_alignment15__STATIC_FMTSTR17h0c070412f9a1704fE = external global { %str_slice*, i32 } | |
@_ZN5alloc4heap24check_size_and_alignment10_FILE_LINE17h5aab51be75daf954E = external global { %str_slice, i32 } | |
@_ZN5alloc7raw_vec11alloc_guard14_MSG_FILE_LINE17ha97eb2e42644e724E = external global { %str_slice, %str_slice, i32 } | |
@panic_loc.g = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.5, i32 0, i32 0), i32 33 }, %str_slice { i8* getelementptr inbounds ([33 x i8], [33 x i8]* @str.4, i32 0, i32 0), i32 33 }, i32 549 }, align 4 | |
@ref.h = internal unnamed_addr constant [0 x i32] zeroinitializer, align 4 | |
@ref.i = internal unnamed_addr constant [0 x %str_slice] zeroinitializer, align 4 | |
@str.j = internal constant [0 x i8] zeroinitializer | |
; Function Attrs: inlinehint uwtable | |
define internal zeroext i1 @"_ZN101_$LT$collections..vec..Vec$LT$A$GT$$u20$as$u20$core..cmp..PartialEq$LT$$u5b$B$u3b$$u20$0$u5d$$GT$$GT$2eq17h260bbf388bffd928E"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12), [0 x i32]* noalias readonly) unnamed_addr #0 { | |
entry-block: | |
%_13 = alloca %"core::ops::RangeFull" | |
%_8 = alloca %"core::ops::RangeFull" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = call { i32*, i32 } @"_ZN95_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..Index$LT$core..ops..RangeFull$GT$$GT$5index17h3b3abfed5d3de87bE"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12) %0) | |
%3 = extractvalue { i32*, i32 } %2, 0 | |
%4 = extractvalue { i32*, i32 } %2, 1 | |
br label %bb1 | |
bb1: ; preds = %start | |
%5 = bitcast [0 x i32]* %1 to i32* | |
%6 = call { i32*, i32 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h73017c6b6bc52e91E"(i32* noalias nonnull readonly %5, i32 0) | |
%7 = extractvalue { i32*, i32 } %6, 0 | |
%8 = extractvalue { i32*, i32 } %6, 1 | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%9 = call zeroext i1 @"_ZN4core5slice81_$LT$impl$u20$core..cmp..PartialEq$LT$$u5b$B$u5d$$GT$$u20$for$u20$$u5b$A$u5d$$GT$2eq17h0e7bd66f7e58d2ddE"(i32* noalias nonnull readonly %3, i32 %4, i32* noalias nonnull readonly %7, i32 %8) | |
br label %bb3 | |
bb3: ; preds = %bb2 | |
ret i1 %9 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN118_$LT$core..iter..range..StepBy$LT$A$C$$u20$core..ops..Range$LT$A$GT$$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h5c5d949f560d7a14E"(%"core::option::Option<isize>"* noalias nocapture sret dereferenceable(8), %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* dereferenceable(12)) unnamed_addr #0 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
%_39 = alloca i8 | |
%_38 = alloca i8 | |
%_37 = alloca i8 | |
%n1 = alloca i32 | |
%n = alloca i32 | |
%_17 = alloca %"core::option::Option<isize>" | |
%_11 = alloca i8 | |
%_6 = alloca i8 | |
%_5 = alloca i8 | |
br label %start | |
start: ; preds = %entry-block | |
store i8 0, i8* %_38 | |
store i8 0, i8* %_37 | |
store i8 0, i8* %_39 | |
%2 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 0 | |
%3 = call zeroext i1 @"_ZN49_$LT$isize$u20$as$u20$core..iter..range..Step$GT$11is_negative17h53522f896c8fd887E"(i32* noalias readonly dereferenceable(4) %2) | |
br label %bb1 | |
bb1: ; preds = %start | |
br i1 %3, label %bb8, label %bb7 | |
bb2: ; preds = %bb14, %bb9 | |
store i8 1, i8* %_5 | |
br label %bb5 | |
bb3: ; preds = %bb14 | |
store i8 0, i8* %_5 | |
br label %bb5 | |
bb4: ; preds = %bb9 | |
%4 = xor i1 %3, true | |
br i1 %4, label %bb13, label %bb12 | |
bb5: ; preds = %bb3, %bb2 | |
%5 = load i8, i8* %_5, !range !1 | |
%6 = trunc i8 %5 to i1 | |
br i1 %6, label %bb16, label %bb17 | |
bb6: ; preds = %bb10 | |
store i8 1, i8* %_6 | |
br label %bb9 | |
bb7: ; preds = %bb10, %bb1 | |
store i8 0, i8* %_6 | |
br label %bb9 | |
bb8: ; preds = %bb1 | |
%7 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 1 | |
%8 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %7, i32 0, i32 0 | |
%9 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 1 | |
%10 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %9, i32 0, i32 1 | |
%11 = call zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$isize$GT$2gt17h46264a7082b35b93E"(i32* noalias readonly dereferenceable(4) %8, i32* noalias readonly dereferenceable(4) %10) | |
br label %bb10 | |
bb9: ; preds = %bb7, %bb6 | |
%12 = load i8, i8* %_6, !range !1 | |
%13 = trunc i8 %12 to i1 | |
br i1 %13, label %bb2, label %bb4 | |
bb10: ; preds = %bb8 | |
br i1 %11, label %bb6, label %bb7 | |
bb11: ; preds = %bb15 | |
store i8 1, i8* %_11 | |
br label %bb14 | |
bb12: ; preds = %bb15, %bb4 | |
store i8 0, i8* %_11 | |
br label %bb14 | |
bb13: ; preds = %bb4 | |
%14 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 1 | |
%15 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %14, i32 0, i32 0 | |
%16 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 1 | |
%17 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %16, i32 0, i32 1 | |
%18 = call zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$isize$GT$2lt17h3b57cd1e2446f5deE"(i32* noalias readonly dereferenceable(4) %15, i32* noalias readonly dereferenceable(4) %17) | |
br label %bb15 | |
bb14: ; preds = %bb12, %bb11 | |
%19 = load i8, i8* %_11, !range !1 | |
%20 = trunc i8 %19 to i1 | |
br i1 %20, label %bb2, label %bb3 | |
bb15: ; preds = %bb13 | |
br i1 %18, label %bb11, label %bb12 | |
bb16: ; preds = %bb5 | |
%21 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 1 | |
%22 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %21, i32 0, i32 0 | |
%23 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 0 | |
store i8 1, i8* %_37 | |
call void @"_ZN49_$LT$isize$u20$as$u20$core..iter..range..Step$GT$4step17h173d964420fa4598E"(%"core::option::Option<isize>"* noalias nocapture sret dereferenceable(8) %_17, i32* noalias readonly dereferenceable(4) %22, i32* noalias readonly dereferenceable(4) %23) | |
br label %bb18 | |
bb17: ; preds = %bb5 | |
%24 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %0, i32 0, i32 0 | |
store i32 0, i32* %24 | |
br label %bb28 | |
bb18: ; preds = %bb16 | |
%25 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %_17, i32 0, i32 0 | |
%26 = load i32, i32* %25, !range !2 | |
switch i32 %26, label %bb22 [ | |
i32 0, label %bb21 | |
] | |
bb19: ; preds = %bb31, %bb30, %bb29 | |
%27 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %27 | |
bb20: ; preds = %bb32, %bb33 | |
%28 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %_17, i32 0, i32 0 | |
%29 = load i32, i32* %28, !range !2 | |
switch i32 %29, label %bb29 [ | |
i32 1, label %bb30 | |
] | |
bb21: ; preds = %bb18 | |
%30 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 1 | |
%31 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %30, i32 0, i32 1 | |
%32 = invoke i32 @"_ZN44_$LT$isize$u20$as$u20$core..clone..Clone$GT$5clone17h2d5ec8dd257c30a9E"(i32* noalias readonly dereferenceable(4) %31) | |
to label %bb25 unwind label %cleanup2 | |
bb22: ; preds = %bb18 | |
store i8 0, i8* %_37 | |
store i8 1, i8* %_38 | |
%33 = bitcast %"core::option::Option<isize>"* %_17 to { i32, i32 }* | |
%34 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %33, i32 0, i32 1 | |
%35 = load i32, i32* %34 | |
store i32 %35, i32* %n | |
%36 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 1 | |
%37 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %36, i32 0, i32 0 | |
invoke void @_ZN4core3mem4swap17hd79e03598b052fc7E(i32* dereferenceable(4) %37, i32* dereferenceable(4) %n) | |
to label %bb24 unwind label %cleanup | |
bb23: ; preds = %bb26, %bb24 | |
%38 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %_17, i32 0, i32 0 | |
%39 = load i32, i32* %38, !range !2 | |
switch i32 %39, label %bb36 [ | |
i32 1, label %bb37 | |
] | |
bb24: ; preds = %bb22 | |
store i8 0, i8* %_38 | |
%40 = load i32, i32* %n | |
%41 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %0, i32 0, i32 0 | |
store i32 1, i32* %41 | |
%42 = bitcast %"core::option::Option<isize>"* %0 to { i32, i32 }* | |
%43 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %42, i32 0, i32 1 | |
store i32 %40, i32* %43 | |
br label %bb23 | |
bb25: ; preds = %bb21 | |
store i32 %32, i32* %n1 | |
store i8 1, i8* %_39 | |
%44 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 1 | |
%45 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %44, i32 0, i32 0 | |
invoke void @_ZN4core3mem4swap17hd79e03598b052fc7E(i32* dereferenceable(4) %45, i32* dereferenceable(4) %n1) | |
to label %bb26 unwind label %cleanup2 | |
bb26: ; preds = %bb25 | |
store i8 0, i8* %_39 | |
%46 = load i32, i32* %n1 | |
%47 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %0, i32 0, i32 0 | |
store i32 1, i32* %47 | |
%48 = bitcast %"core::option::Option<isize>"* %0 to { i32, i32 }* | |
%49 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %48, i32 0, i32 1 | |
store i32 %46, i32* %49 | |
br label %bb23 | |
bb27: ; preds = %bb38, %bb37, %bb36 | |
br label %bb28 | |
bb28: ; preds = %bb17, %bb27 | |
ret void | |
bb29: ; preds = %bb20 | |
br label %bb19 | |
bb30: ; preds = %bb20 | |
%50 = load i8, i8* %_37, !range !1 | |
%51 = trunc i8 %50 to i1 | |
br i1 %51, label %bb31, label %bb19 | |
bb31: ; preds = %bb30 | |
store i8 0, i8* %_37 | |
br label %bb19 | |
bb32: ; preds = %bb33 | |
store i8 0, i8* %_38 | |
br label %bb20 | |
bb33: ; preds = %bb34, %bb35, %cleanup | |
%52 = load i8, i8* %_38, !range !1 | |
%53 = trunc i8 %52 to i1 | |
br i1 %53, label %bb32, label %bb20 | |
bb34: ; preds = %bb35 | |
store i8 0, i8* %_39 | |
br label %bb33 | |
bb35: ; preds = %cleanup2 | |
%54 = load i8, i8* %_39, !range !1 | |
%55 = trunc i8 %54 to i1 | |
br i1 %55, label %bb34, label %bb33 | |
bb36: ; preds = %bb23 | |
br label %bb27 | |
bb37: ; preds = %bb23 | |
%56 = load i8, i8* %_37, !range !1 | |
%57 = trunc i8 %56 to i1 | |
br i1 %57, label %bb38, label %bb27 | |
bb38: ; preds = %bb37 | |
store i8 0, i8* %_37 | |
br label %bb27 | |
cleanup: ; preds = %bb22 | |
%58 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %58, { i8*, i32 }* %personalityslot | |
br label %bb33 | |
cleanup2: ; preds = %bb25, %bb21 | |
%59 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %59, { i8*, i32 }* %personalityslot | |
br label %bb35 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN118_$LT$core..iter..range..StepBy$LT$A$C$$u20$core..ops..Range$LT$A$GT$$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h549504389bdaacaeE"({ i32, %"core::option::Option<usize>" }* noalias nocapture sret dereferenceable(12), %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias readonly dereferenceable(12)) unnamed_addr #0 { | |
entry-block: | |
%_15 = alloca %"core::option::Option<usize>" | |
%_13 = alloca %"core::option::Option<usize>" | |
%_3 = alloca %"core::option::Option<usize>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 1 | |
%3 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %2, i32 0, i32 0 | |
%4 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 1 | |
%5 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %4, i32 0, i32 1 | |
%6 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1, i32 0, i32 0 | |
call void @"_ZN49_$LT$isize$u20$as$u20$core..iter..range..Step$GT$13steps_between17haf9d080797d9c328E"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(8) %_3, i32* noalias readonly dereferenceable(4) %3, i32* noalias readonly dereferenceable(4) %5, i32* noalias readonly dereferenceable(4) %6) | |
br label %bb1 | |
bb1: ; preds = %start | |
%7 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %_3, i32 0, i32 0 | |
%8 = load i32, i32* %7, !range !2 | |
switch i32 %8, label %bb3 [ | |
i32 0, label %bb2 | |
] | |
bb2: ; preds = %bb1 | |
%9 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %_15, i32 0, i32 0 | |
store i32 0, i32* %9 | |
%10 = getelementptr inbounds { i32, %"core::option::Option<usize>" }, { i32, %"core::option::Option<usize>" }* %0, i32 0, i32 0 | |
store i32 0, i32* %10 | |
%11 = getelementptr inbounds { i32, %"core::option::Option<usize>" }, { i32, %"core::option::Option<usize>" }* %0, i32 0, i32 1 | |
%12 = bitcast %"core::option::Option<usize>"* %_15 to i8* | |
%13 = bitcast %"core::option::Option<usize>"* %11 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %13, i8* %12, i32 8, i32 4, i1 false) | |
br label %bb4 | |
bb3: ; preds = %bb1 | |
%14 = bitcast %"core::option::Option<usize>"* %_3 to { i32, i32 }* | |
%15 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %14, i32 0, i32 1 | |
%16 = load i32, i32* %15 | |
%17 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %_13, i32 0, i32 0 | |
store i32 1, i32* %17 | |
%18 = bitcast %"core::option::Option<usize>"* %_13 to { i32, i32 }* | |
%19 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %18, i32 0, i32 1 | |
store i32 %16, i32* %19 | |
%20 = getelementptr inbounds { i32, %"core::option::Option<usize>" }, { i32, %"core::option::Option<usize>" }* %0, i32 0, i32 0 | |
store i32 %16, i32* %20 | |
%21 = getelementptr inbounds { i32, %"core::option::Option<usize>" }, { i32, %"core::option::Option<usize>" }* %0, i32 0, i32 1 | |
%22 = bitcast %"core::option::Option<usize>"* %_13 to i8* | |
%23 = bitcast %"core::option::Option<usize>"* %21 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %23, i8* %22, i32 8, i32 4, i1 false) | |
br label %bb4 | |
bb4: ; preds = %bb2, %bb3 | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal dereferenceable(4) i32* @"_ZN11collections5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$17get_unchecked_mut17hf1a21cbe2a4ee656E"(i32* nonnull, i32, i32) unnamed_addr #0 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
br label %start | |
start: ; preds = %entry-block | |
%3 = invoke dereferenceable(4) i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h87070274c2841df9E"(i32* nonnull %0, i32 %1, i32 %2) | |
to label %bb2 unwind label %cleanup | |
bb1: ; preds = %cleanup | |
%4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %4 | |
bb2: ; preds = %start | |
ret i32* %3 | |
cleanup: ; preds = %start | |
%5 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %5, { i8*, i32 }* %personalityslot | |
br label %bb1 | |
} | |
define internal void @_ZN13drop_contents17hce36d3d4362f01aeE(%"alloc::raw_vec::RawVec<isize>"*) unnamed_addr { | |
entry-block: | |
%1 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 0 | |
%2 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 1 | |
ret void | |
} | |
define internal void @_ZN13drop_contents17hda3a3227b902a756E(%"collections::vec::Vec<isize>"*) unnamed_addr { | |
entry-block: | |
%1 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 0 | |
call void @_ZN4drop17hce36d3d4362f01aeE(%"alloc::raw_vec::RawVec<isize>"* %1) | |
%2 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 1 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal i32 @"_ZN35_$LT$core..ptr..Unique$LT$T$GT$$GT$3new17ha33c81ef931b0582E"(i32*) unnamed_addr #1 { | |
entry-block: | |
%_0.i = alloca %"core::nonzero::NonZero<*const isize>" | |
%abi_cast = alloca i8* | |
%_6 = alloca %"core::marker::PhantomData<isize>" | |
%_3 = alloca %"core::nonzero::NonZero<*const isize>" | |
%_0 = alloca %"core::ptr::Unique<isize>" | |
br label %start | |
start: ; preds = %entry-block | |
%1 = getelementptr inbounds %"core::nonzero::NonZero<*const isize>", %"core::nonzero::NonZero<*const isize>"* %_0.i, i32 0, i32 0 | |
store i32* %0, i32** %1 | |
%2 = bitcast %"core::nonzero::NonZero<*const isize>"* %_0.i to i8** | |
%3 = load i8*, i8** %2, align 4 | |
store i8* %3, i8** %abi_cast | |
%4 = bitcast %"core::nonzero::NonZero<*const isize>"* %_3 to i8* | |
%5 = bitcast i8** %abi_cast to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false) | |
br label %bb1 | |
bb1: ; preds = %start | |
%6 = getelementptr inbounds %"core::ptr::Unique<isize>", %"core::ptr::Unique<isize>"* %_0, i32 0, i32 0 | |
%7 = bitcast %"core::nonzero::NonZero<*const isize>"* %_3 to i8* | |
%8 = bitcast %"core::nonzero::NonZero<*const isize>"* %6 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %7, i32 4, i32 4, i1 false) | |
%9 = bitcast %"core::ptr::Unique<isize>"* %_0 to i32* | |
%10 = load i32, i32* %9, align 4 | |
ret i32 %10 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6expect17hba80334a565c8db6E"(%"core::option::Option<usize>"* noalias nocapture dereferenceable(8), i8* noalias nonnull readonly, i32) unnamed_addr #0 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
%_9 = alloca i8 | |
%self = alloca %"core::option::Option<usize>" | |
br label %start | |
start: ; preds = %entry-block | |
store i8 0, i8* %_9 | |
store i8 1, i8* %_9 | |
%3 = bitcast %"core::option::Option<usize>"* %0 to i8* | |
%4 = bitcast %"core::option::Option<usize>"* %self to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 4, i1 false) | |
%5 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %self, i32 0, i32 0 | |
%6 = load i32, i32* %5, !range !2 | |
switch i32 %6, label %bb4 [ | |
i32 0, label %bb3 | |
] | |
bb1: ; preds = %bb8, %bb7, %bb6 | |
%7 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %7 | |
bb2: ; preds = %cleanup | |
%8 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %self, i32 0, i32 0 | |
%9 = load i32, i32* %8, !range !2 | |
switch i32 %9, label %bb6 [ | |
i32 1, label %bb7 | |
] | |
bb3: ; preds = %start | |
invoke void @_ZN4core6option13expect_failed17h4aee2e09812a5db0E(i8* noalias nonnull readonly %1, i32 %2) | |
to label %unreachable unwind label %cleanup | |
bb4: ; preds = %start | |
store i8 0, i8* %_9 | |
%10 = bitcast %"core::option::Option<usize>"* %self to { i32, i32 }* | |
%11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 | |
%12 = load i32, i32* %11 | |
%13 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %self, i32 0, i32 0 | |
%14 = load i32, i32* %13, !range !2 | |
switch i32 %14, label %bb9 [ | |
i32 1, label %bb5 | |
] | |
bb5: ; preds = %bb9, %bb4 | |
ret i32 %12 | |
bb6: ; preds = %bb2 | |
br label %bb1 | |
bb7: ; preds = %bb2 | |
%15 = load i8, i8* %_9, !range !1 | |
%16 = trunc i8 %15 to i1 | |
br i1 %16, label %bb8, label %bb1 | |
bb8: ; preds = %bb7 | |
store i8 0, i8* %_9 | |
br label %bb1 | |
bb9: ; preds = %bb4 | |
br label %bb5 | |
unreachable: ; preds = %bb3 | |
unreachable | |
cleanup: ; preds = %bb3 | |
%17 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %17, { i8*, i32 }* %personalityslot | |
br label %bb2 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$13with_capacity17hfd88081eec9bd485E"(%"collections::vec::Vec<isize>"* noalias nocapture sret dereferenceable(12), i32) unnamed_addr #0 { | |
entry-block: | |
%_3 = alloca %"alloc::raw_vec::RawVec<isize>" | |
br label %start | |
start: ; preds = %entry-block | |
call void @"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$13with_capacity17ha7adb695d1e74013E"(%"alloc::raw_vec::RawVec<isize>"* noalias nocapture sret dereferenceable(8) %_3, i32 %1) | |
br label %bb1 | |
bb1: ; preds = %start | |
%2 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 0 | |
%3 = bitcast %"alloc::raw_vec::RawVec<isize>"* %_3 to i8* | |
%4 = bitcast %"alloc::raw_vec::RawVec<isize>"* %2 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 4, i1 false) | |
%5 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 1 | |
store i32 0, i32* %5 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$16extend_desugared17h49bd5bbc15f3ff84E"(%"collections::vec::Vec<isize>"* dereferenceable(12), %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12)) unnamed_addr #1 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
%_39 = alloca i8 | |
%_38 = alloca i8 | |
%_18 = alloca { i32, %"core::option::Option<usize>" } | |
%_12 = alloca {} | |
%_6 = alloca %"core::option::Option<isize>" | |
%_5 = alloca {} | |
%iterator = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
%_0 = alloca {} | |
br label %start | |
start: ; preds = %entry-block | |
store i8 0, i8* %_38 | |
store i8 0, i8* %_39 | |
%2 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1 to i8* | |
%3 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %iterator to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 12, i32 4, i1 false) | |
br label %bb1 | |
bb1: ; preds = %bb22, %start | |
invoke void @"_ZN118_$LT$core..iter..range..StepBy$LT$A$C$$u20$core..ops..Range$LT$A$GT$$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h5c5d949f560d7a14E"(%"core::option::Option<isize>"* noalias nocapture sret dereferenceable(8) %_6, %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* dereferenceable(12) %iterator) | |
to label %bb4 unwind label %cleanup | |
bb2: ; preds = %bb3 | |
%4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %4 | |
bb3: ; preds = %bb26, %bb25, %bb24, %cleanup | |
br label %bb2 | |
bb4: ; preds = %bb1 | |
store i8 1, i8* %_38 | |
%5 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %_6, i32 0, i32 0 | |
%6 = load i32, i32* %5, !range !2 | |
switch i32 %6, label %bb6 [ | |
i32 1, label %bb7 | |
] | |
bb5: ; preds = %bb27, %bb28 | |
%7 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %_6, i32 0, i32 0 | |
%8 = load i32, i32* %7, !range !2 | |
switch i32 %8, label %bb24 [ | |
i32 1, label %bb25 | |
] | |
bb6: ; preds = %bb4 | |
store i8 0, i8* %_38 | |
br label %bb21 | |
bb7: ; preds = %bb4 | |
store i8 0, i8* %_38 | |
store i8 1, i8* %_39 | |
%9 = bitcast %"core::option::Option<isize>"* %_6 to { i32, i32 }* | |
%10 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %9, i32 0, i32 1 | |
%11 = load i32, i32* %10 | |
%12 = invoke i32 @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$3len17h106296c4836e565dE"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12) %0) | |
to label %bb8 unwind label %cleanup1 | |
bb8: ; preds = %bb7 | |
%13 = invoke i32 @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$8capacity17hc10cf5940395f0a8E"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12) %0) | |
to label %bb9 unwind label %cleanup1 | |
bb9: ; preds = %bb8 | |
%14 = icmp eq i32 %12, %13 | |
br i1 %14, label %bb10, label %bb11 | |
bb10: ; preds = %bb9 | |
invoke void @"_ZN118_$LT$core..iter..range..StepBy$LT$A$C$$u20$core..ops..Range$LT$A$GT$$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h549504389bdaacaeE"({ i32, %"core::option::Option<usize>" }* noalias nocapture sret dereferenceable(12) %_18, %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias readonly dereferenceable(12) %iterator) | |
to label %bb12 unwind label %cleanup1 | |
bb11: ; preds = %bb9 | |
br label %bb15 | |
bb12: ; preds = %bb10 | |
%15 = getelementptr inbounds { i32, %"core::option::Option<usize>" }, { i32, %"core::option::Option<usize>" }* %_18, i32 0, i32 0 | |
%16 = load i32, i32* %15 | |
%17 = invoke i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$14saturating_add17hb1fbb042544872deE"(i32 %16, i32 1) | |
to label %bb13 unwind label %cleanup1 | |
bb13: ; preds = %bb12 | |
invoke void @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$7reserve17h3ce9d93ac5514415E"(%"collections::vec::Vec<isize>"* dereferenceable(12) %0, i32 %17) | |
to label %bb14 unwind label %cleanup1 | |
bb14: ; preds = %bb13 | |
br label %bb15 | |
bb15: ; preds = %bb11, %bb14 | |
%18 = invoke { i32*, i32 } @"_ZN70_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..DerefMut$GT$9deref_mut17hb7faaf01903b8a3eE"(%"collections::vec::Vec<isize>"* dereferenceable(12) %0) | |
to label %bb16 unwind label %cleanup1 | |
bb16: ; preds = %bb15 | |
%19 = extractvalue { i32*, i32 } %18, 0 | |
%20 = extractvalue { i32*, i32 } %18, 1 | |
%21 = invoke dereferenceable(4) i32* @"_ZN11collections5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$17get_unchecked_mut17hf1a21cbe2a4ee656E"(i32* nonnull %19, i32 %20, i32 %12) | |
to label %bb17 unwind label %cleanup1 | |
bb17: ; preds = %bb16 | |
store i8 0, i8* %_39 | |
invoke void @_ZN4core3ptr5write17hc62018ecf990a402E(i32* %21, i32 %11) | |
to label %bb18 unwind label %cleanup1 | |
bb18: ; preds = %bb17 | |
%22 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %12, i32 1) | |
%23 = extractvalue { i32, i1 } %22, 0 | |
%24 = extractvalue { i32, i1 } %22, 1 | |
%25 = call i1 @llvm.expect.i1(i1 %24, i1 false) | |
br i1 %25, label %panic, label %bb19 | |
bb19: ; preds = %bb18 | |
invoke void @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$7set_len17hacb1d74822b7c024E"(%"collections::vec::Vec<isize>"* dereferenceable(12) %0, i32 %23) | |
to label %bb20 unwind label %cleanup1 | |
bb20: ; preds = %bb19 | |
%26 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %_6, i32 0, i32 0 | |
%27 = load i32, i32* %26, !range !2 | |
switch i32 %27, label %bb29 [ | |
i32 1, label %bb22 | |
] | |
bb21: ; preds = %bb6 | |
br label %bb23 | |
bb22: ; preds = %bb29, %bb20 | |
br label %bb1 | |
bb23: ; preds = %bb21 | |
ret void | |
bb24: ; preds = %bb5 | |
br label %bb3 | |
bb25: ; preds = %bb5 | |
%28 = load i8, i8* %_38, !range !1 | |
%29 = trunc i8 %28 to i1 | |
br i1 %29, label %bb26, label %bb3 | |
bb26: ; preds = %bb25 | |
store i8 0, i8* %_38 | |
br label %bb3 | |
bb27: ; preds = %bb28 | |
store i8 0, i8* %_39 | |
br label %bb5 | |
bb28: ; preds = %cleanup1 | |
%30 = load i8, i8* %_39, !range !1 | |
%31 = trunc i8 %30 to i1 | |
br i1 %31, label %bb27, label %bb5 | |
bb29: ; preds = %bb20 | |
br label %bb22 | |
cleanup: ; preds = %bb1 | |
%32 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %32, { i8*, i32 }* %personalityslot | |
br label %bb3 | |
cleanup1: ; preds = %bb19, %panic, %bb17, %bb16, %bb15, %bb13, %bb12, %bb10, %bb8, %bb7 | |
%33 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %33, { i8*, i32 }* %personalityslot | |
br label %bb28 | |
panic: ; preds = %bb18 | |
invoke void @_ZN4core9panicking5panic17hb790668694ff6b20E({ %str_slice, %str_slice, i32 }* @panic_loc.2) | |
to label %unreachable unwind label %cleanup1 | |
unreachable: ; preds = %panic | |
unreachable | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$3len17h106296c4836e565dE"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12)) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%1 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 1 | |
%2 = load i32, i32* %1 | |
ret i32 %2 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$3new17hcfc3389d2ced7781E"(%"collections::vec::Vec<isize>"* noalias nocapture sret dereferenceable(12)) unnamed_addr #0 { | |
entry-block: | |
%_1 = alloca %"alloc::raw_vec::RawVec<isize>" | |
br label %start | |
start: ; preds = %entry-block | |
call void @"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3new17h42d8af6371e69a6fE"(%"alloc::raw_vec::RawVec<isize>"* noalias nocapture sret dereferenceable(8) %_1) | |
br label %bb1 | |
bb1: ; preds = %start | |
%1 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 0 | |
%2 = bitcast %"alloc::raw_vec::RawVec<isize>"* %_1 to i8* | |
%3 = bitcast %"alloc::raw_vec::RawVec<isize>"* %1 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 8, i32 4, i1 false) | |
%4 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 1 | |
store i32 0, i32* %4 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$7reserve17h3ce9d93ac5514415E"(%"collections::vec::Vec<isize>"* dereferenceable(12), i32) unnamed_addr #1 { | |
entry-block: | |
%_0 = alloca {} | |
br label %start | |
start: ; preds = %entry-block | |
%2 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 0 | |
%3 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 1 | |
%4 = load i32, i32* %3 | |
call void @"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$7reserve17h5adee1819325d09bE"(%"alloc::raw_vec::RawVec<isize>"* dereferenceable(8) %2, i32 %4, i32 %1) | |
br label %bb1 | |
bb1: ; preds = %start | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$7set_len17hacb1d74822b7c024E"(%"collections::vec::Vec<isize>"* dereferenceable(12), i32) unnamed_addr #0 { | |
entry-block: | |
%_0 = alloca {} | |
br label %start | |
start: ; preds = %entry-block | |
%2 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 1 | |
store i32 %1, i32* %2 | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$8capacity17hc10cf5940395f0a8E"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12)) unnamed_addr #0 { | |
entry-block: | |
%_0.i = alloca i32 | |
br label %start | |
start: ; preds = %entry-block | |
%1 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 0 | |
%2 = call i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E(), !noalias !3 | |
%3 = icmp eq i32 %2, 0 | |
br i1 %3, label %bb2.i, label %bb3.i | |
bb2.i: ; preds = %start | |
store i32 -1, i32* %_0.i, !noalias !3 | |
br label %"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3cap17h4438e6dbdb0d0f7dE.exit" | |
bb3.i: ; preds = %start | |
%4 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %1, i32 0, i32 1 | |
%5 = load i32, i32* %4, !alias.scope !3 | |
store i32 %5, i32* %_0.i, !noalias !3 | |
br label %"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3cap17h4438e6dbdb0d0f7dE.exit" | |
"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3cap17h4438e6dbdb0d0f7dE.exit": ; preds = %bb2.i, %bb3.i | |
%6 = load i32, i32* %_0.i, !noalias !3 | |
br label %bb1 | |
bb1: ; preds = %"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3cap17h4438e6dbdb0d0f7dE.exit" | |
ret i32 %6 | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$13with_capacity17ha7adb695d1e74013E"(%"alloc::raw_vec::RawVec<isize>"* noalias nocapture sret dereferenceable(8), i32) unnamed_addr #1 { | |
entry-block: | |
%abi_cast = alloca i32 | |
%_23 = alloca %"core::ptr::Unique<isize>" | |
%_19 = alloca {} | |
%ptr = alloca i8* | |
%_5 = alloca %"core::option::Option<usize>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = call i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E() | |
br label %bb1 | |
bb1: ; preds = %start | |
call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_mul17he7c7fc05ede669b1E"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(8) %_5, i32 %1, i32 %2) | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%3 = call i32 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6expect17hba80334a565c8db6E"(%"core::option::Option<usize>"* noalias nocapture dereferenceable(8) %_5, i8* noalias nonnull readonly getelementptr inbounds ([17 x i8], [17 x i8]* @str.3, i32 0, i32 0), i32 17) | |
br label %bb3 | |
bb3: ; preds = %bb2 | |
call void @_ZN5alloc7raw_vec11alloc_guard17h6a704e09c67af29eE(i32 %3) | |
br label %bb4 | |
bb4: ; preds = %bb3 | |
%4 = icmp eq i32 %3, 0 | |
br i1 %4, label %bb5, label %bb6 | |
bb5: ; preds = %bb4 | |
store i8* inttoptr (i32 1 to i8*), i8** %ptr | |
br label %bb12 | |
bb6: ; preds = %bb4 | |
%5 = call i32 @_ZN4core3mem8align_of17h65ab8586e36c1162E() | |
br label %bb7 | |
bb7: ; preds = %bb6 | |
%6 = call i8* @_ZN5alloc4heap8allocate17hb49e39ab82f954faE(i32 %3, i32 %5) | |
br label %bb8 | |
bb8: ; preds = %bb7 | |
%7 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17hb6150a2be661fd19E"(i8* %6) | |
br label %bb9 | |
bb9: ; preds = %bb8 | |
br i1 %7, label %bb10, label %bb11 | |
bb10: ; preds = %bb9 | |
call void @_ZN5alloc3oom3oom17h418421088806e038E() | |
unreachable | |
bb11: ; preds = %bb9 | |
store i8* %6, i8** %ptr | |
br label %bb12 | |
bb12: ; preds = %bb11, %bb5 | |
%8 = load i8*, i8** %ptr | |
%9 = bitcast i8* %8 to i32* | |
%10 = call i32 @"_ZN35_$LT$core..ptr..Unique$LT$T$GT$$GT$3new17ha33c81ef931b0582E"(i32* %9) | |
store i32 %10, i32* %abi_cast | |
%11 = bitcast %"core::ptr::Unique<isize>"* %_23 to i8* | |
%12 = bitcast i32* %abi_cast to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %11, i8* %12, i32 4, i32 4, i1 false) | |
br label %bb13 | |
bb13: ; preds = %bb12 | |
%13 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 0 | |
%14 = bitcast %"core::ptr::Unique<isize>"* %_23 to i8* | |
%15 = bitcast %"core::ptr::Unique<isize>"* %13 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %15, i8* %14, i32 4, i32 4, i1 false) | |
%16 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 1 | |
store i32 %1, i32* %16 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$18amortized_new_size17hae55b0917a3ec2e4E"({ i32, i32 }* noalias nocapture sret dereferenceable(8), %"alloc::raw_vec::RawVec<isize>"* noalias readonly dereferenceable(8), i32, i32) unnamed_addr #1 { | |
entry-block: | |
%_21 = alloca %"core::option::Option<usize>" | |
%_9 = alloca %"core::option::Option<usize>" | |
br label %start | |
start: ; preds = %entry-block | |
%4 = call i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E() | |
br label %bb1 | |
bb1: ; preds = %start | |
call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_add17he878fb3db94cea4fE"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(8) %_9, i32 %2, i32 %3) | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%5 = call i32 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6expect17hba80334a565c8db6E"(%"core::option::Option<usize>"* noalias nocapture dereferenceable(8) %_9, i8* noalias nonnull readonly getelementptr inbounds ([17 x i8], [17 x i8]* @str.3, i32 0, i32 0), i32 17) | |
br label %bb3 | |
bb3: ; preds = %bb2 | |
%6 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %1, i32 0, i32 1 | |
%7 = load i32, i32* %6 | |
%8 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %7, i32 2) | |
%9 = extractvalue { i32, i1 } %8, 0 | |
%10 = extractvalue { i32, i1 } %8, 1 | |
%11 = call i1 @llvm.expect.i1(i1 %10, i1 false) | |
br i1 %11, label %panic, label %bb4 | |
bb4: ; preds = %bb3 | |
%12 = call i32 @_ZN4core3cmp3max17h70f5a4b55eae6c00E(i32 %9, i32 %5) | |
br label %bb5 | |
bb5: ; preds = %bb4 | |
call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_mul17he7c7fc05ede669b1E"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(8) %_21, i32 %12, i32 %4) | |
br label %bb6 | |
bb6: ; preds = %bb5 | |
%13 = call i32 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6expect17hba80334a565c8db6E"(%"core::option::Option<usize>"* noalias nocapture dereferenceable(8) %_21, i8* noalias nonnull readonly getelementptr inbounds ([17 x i8], [17 x i8]* @str.3, i32 0, i32 0), i32 17) | |
br label %bb7 | |
bb7: ; preds = %bb6 | |
%14 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %0, i32 0, i32 0 | |
store i32 %12, i32* %14 | |
%15 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %0, i32 0, i32 1 | |
store i32 %13, i32* %15 | |
ret void | |
panic: ; preds = %bb3 | |
call void @_ZN4core9panicking5panic17hb790668694ff6b20E({ %str_slice, %str_slice, i32 }* @panic_loc.6) | |
unreachable | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3new17h42d8af6371e69a6fE"(%"alloc::raw_vec::RawVec<isize>"* noalias nocapture sret dereferenceable(8)) unnamed_addr #1 { | |
entry-block: | |
%abi_cast = alloca i32 | |
%_4 = alloca %"core::ptr::Unique<isize>" | |
%cap = alloca i32 | |
br label %start | |
start: ; preds = %entry-block | |
%1 = call i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E() | |
br label %bb1 | |
bb1: ; preds = %start | |
%2 = icmp eq i32 %1, 0 | |
br i1 %2, label %bb2, label %bb3 | |
bb2: ; preds = %bb1 | |
store i32 -1, i32* %cap | |
br label %bb4 | |
bb3: ; preds = %bb1 | |
store i32 0, i32* %cap | |
br label %bb4 | |
bb4: ; preds = %bb3, %bb2 | |
%3 = call i32 @"_ZN35_$LT$core..ptr..Unique$LT$T$GT$$GT$3new17ha33c81ef931b0582E"(i32* inttoptr (i32 1 to i32*)) | |
store i32 %3, i32* %abi_cast | |
%4 = bitcast %"core::ptr::Unique<isize>"* %_4 to i8* | |
%5 = bitcast i32* %abi_cast to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false) | |
br label %bb5 | |
bb5: ; preds = %bb4 | |
%6 = load i32, i32* %cap | |
%7 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 0 | |
%8 = bitcast %"core::ptr::Unique<isize>"* %_4 to i8* | |
%9 = bitcast %"core::ptr::Unique<isize>"* %7 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %9, i8* %8, i32 4, i32 4, i1 false) | |
%10 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 1 | |
store i32 %6, i32* %10 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal i32* @"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3ptr17h6e6dbca3bb38b248E"(%"alloc::raw_vec::RawVec<isize>"* noalias readonly dereferenceable(8)) unnamed_addr #1 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%1 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 0 | |
%2 = call dereferenceable(4) i32** @"_ZN63_$LT$core..ptr..Unique$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17hd16859f46ea91a08E"(%"core::ptr::Unique<isize>"* noalias readonly dereferenceable(4) %1) | |
br label %bb1 | |
bb1: ; preds = %start | |
%3 = load i32*, i32** %2 | |
ret i32* %3 | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$7reserve17h5adee1819325d09bE"(%"alloc::raw_vec::RawVec<isize>"* dereferenceable(8), i32, i32) unnamed_addr #1 { | |
entry-block: | |
%_0.i = alloca i32 | |
%abi_cast = alloca i32 | |
%tmp_ret = alloca { i32, i32 } | |
%_41 = alloca %"core::ptr::Unique<isize>" | |
%_38 = alloca {} | |
%ptr = alloca i8* | |
%_9 = alloca {} | |
%_0 = alloca {} | |
br label %start | |
start: ; preds = %entry-block | |
%3 = call i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E() | |
br label %bb1 | |
bb1: ; preds = %start | |
%4 = call i32 @_ZN4core3mem8align_of17h65ab8586e36c1162E() | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%5 = call i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E(), !noalias !6 | |
%6 = icmp eq i32 %5, 0 | |
br i1 %6, label %bb2.i, label %bb3.i | |
bb2.i: ; preds = %bb2 | |
store i32 -1, i32* %_0.i, !noalias !6 | |
br label %"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3cap17h4438e6dbdb0d0f7dE.exit" | |
bb3.i: ; preds = %bb2 | |
%7 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 1 | |
%8 = load i32, i32* %7, !alias.scope !6 | |
store i32 %8, i32* %_0.i, !noalias !6 | |
br label %"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3cap17h4438e6dbdb0d0f7dE.exit" | |
"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3cap17h4438e6dbdb0d0f7dE.exit": ; preds = %bb2.i, %bb3.i | |
%9 = load i32, i32* %_0.i, !noalias !6 | |
br label %bb3 | |
bb3: ; preds = %"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3cap17h4438e6dbdb0d0f7dE.exit" | |
%10 = call i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17haafe9bf4f214e0b8E"(i32 %9, i32 %1) | |
br label %bb4 | |
bb4: ; preds = %bb3 | |
%11 = icmp uge i32 %10, %2 | |
br i1 %11, label %bb5, label %bb6 | |
bb5: ; preds = %bb4 | |
br label %bb7 | |
bb6: ; preds = %bb4 | |
call void @"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$18amortized_new_size17hae55b0917a3ec2e4E"({ i32, i32 }* noalias nocapture sret dereferenceable(8) %tmp_ret, %"alloc::raw_vec::RawVec<isize>"* noalias readonly dereferenceable(8) %0, i32 %1, i32 %2) | |
%12 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %tmp_ret, i32 0, i32 0 | |
%13 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %tmp_ret, i32 0, i32 1 | |
%14 = load i32, i32* %12 | |
%15 = load i32, i32* %13 | |
br label %bb8 | |
bb7: ; preds = %bb20, %bb5 | |
ret void | |
bb8: ; preds = %bb6 | |
call void @_ZN5alloc7raw_vec11alloc_guard17h6a704e09c67af29eE(i32 %15) | |
br label %bb9 | |
bb9: ; preds = %bb8 | |
%16 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 1 | |
%17 = load i32, i32* %16 | |
%18 = icmp eq i32 %17, 0 | |
br i1 %18, label %bb10, label %bb11 | |
bb10: ; preds = %bb9 | |
%19 = call i8* @_ZN5alloc4heap8allocate17hb49e39ab82f954faE(i32 %15, i32 %4) | |
store i8* %19, i8** %ptr | |
br label %bb12 | |
bb11: ; preds = %bb9 | |
%20 = call i32* @"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3ptr17h6e6dbca3bb38b248E"(%"alloc::raw_vec::RawVec<isize>"* noalias readonly dereferenceable(8) %0) | |
br label %bb13 | |
bb12: ; preds = %bb10 | |
br label %bb16 | |
bb13: ; preds = %bb11 | |
%21 = bitcast i32* %20 to i8* | |
%22 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 1 | |
%23 = load i32, i32* %22 | |
%24 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %23, i32 %3) | |
%25 = extractvalue { i32, i1 } %24, 0 | |
%26 = extractvalue { i32, i1 } %24, 1 | |
%27 = call i1 @llvm.expect.i1(i1 %26, i1 false) | |
br i1 %27, label %panic, label %bb14 | |
bb14: ; preds = %bb13 | |
%28 = call i8* @_ZN5alloc4heap10reallocate17hbd9f01cd45135beeE(i8* %21, i32 %25, i32 %15, i32 %4) | |
store i8* %28, i8** %ptr | |
br label %bb15 | |
bb15: ; preds = %bb14 | |
br label %bb16 | |
bb16: ; preds = %bb15, %bb12 | |
%29 = load i8*, i8** %ptr | |
%30 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17hb6150a2be661fd19E"(i8* %29) | |
br label %bb17 | |
bb17: ; preds = %bb16 | |
br i1 %30, label %bb18, label %bb19 | |
bb18: ; preds = %bb17 | |
call void @_ZN5alloc3oom3oom17h418421088806e038E() | |
unreachable | |
bb19: ; preds = %bb17 | |
%31 = load i8*, i8** %ptr | |
%32 = bitcast i8* %31 to i32* | |
%33 = call i32 @"_ZN35_$LT$core..ptr..Unique$LT$T$GT$$GT$3new17ha33c81ef931b0582E"(i32* %32) | |
store i32 %33, i32* %abi_cast | |
%34 = bitcast %"core::ptr::Unique<isize>"* %_41 to i8* | |
%35 = bitcast i32* %abi_cast to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %34, i8* %35, i32 4, i32 4, i1 false) | |
br label %bb20 | |
bb20: ; preds = %bb19 | |
%36 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 0 | |
%37 = bitcast %"core::ptr::Unique<isize>"* %_41 to i8* | |
%38 = bitcast %"core::ptr::Unique<isize>"* %36 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %38, i8* %37, i32 4, i32 4, i1 false) | |
%39 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 1 | |
store i32 %14, i32* %39 | |
br label %bb7 | |
panic: ; preds = %bb13 | |
call void @_ZN4core9panicking5panic17hb790668694ff6b20E({ %str_slice, %str_slice, i32 }* @panic_loc.7) | |
unreachable | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @"_ZN44_$LT$isize$u20$as$u20$core..clone..Clone$GT$5clone17h2d5ec8dd257c30a9E"(i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%1 = load i32, i32* %0 | |
ret i32 %1 | |
} | |
; Function Attrs: uwtable | |
define internal i8 @"_ZN48_$LT$$u5b$T$u5d$$u20$as$u20$core..fmt..Debug$GT$3fmt17h36f3c98f6f281e1bE"(i32* noalias nonnull readonly, i32, %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr #1 { | |
entry-block: | |
%abi_cast = alloca i8 | |
%_10 = alloca %"core::slice::Iter<isize>" | |
%_8 = alloca %"core::fmt::builders::DebugList" | |
%_0 = alloca %"core::result::Result<(), core::fmt::Error>" | |
br label %start | |
start: ; preds = %entry-block | |
call void @_ZN4core3fmt9Formatter10debug_list17h288c62552fe78659E(%"core::fmt::builders::DebugList"* noalias nocapture sret dereferenceable(8) %_8, %"core::fmt::Formatter"* dereferenceable(52) %2) | |
br label %bb1 | |
bb1: ; preds = %start | |
call void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h31c23eea4690360dE"(%"core::slice::Iter<isize>"* noalias nocapture sret dereferenceable(8) %_10, i32* noalias nonnull readonly %0, i32 %1) | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%3 = call dereferenceable(8) %"core::fmt::builders::DebugList"* @_ZN4core3fmt8builders9DebugList7entries17h326e29aa68d3b428E(%"core::fmt::builders::DebugList"* dereferenceable(8) %_8, %"core::slice::Iter<isize>"* noalias nocapture dereferenceable(8) %_10) | |
br label %bb3 | |
bb3: ; preds = %bb2 | |
%4 = call i8 @_ZN4core3fmt8builders9DebugList6finish17h0623428817418634E(%"core::fmt::builders::DebugList"* dereferenceable(8) %3) | |
store i8 %4, i8* %abi_cast | |
%5 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %abi_cast, i32 1, i32 1, i1 false) | |
br label %bb4 | |
bb4: ; preds = %bb3 | |
%6 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
%7 = load i8, i8* %6, align 1 | |
ret i8 %7 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal zeroext i1 @"_ZN49_$LT$isize$u20$as$u20$core..iter..range..Step$GT$11is_negative17h53522f896c8fd887E"(i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%1 = load i32, i32* %0 | |
%2 = icmp slt i32 %1, 0 | |
ret i1 %2 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN49_$LT$isize$u20$as$u20$core..iter..range..Step$GT$13steps_between17haf9d080797d9c328E"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(8), i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { | |
entry-block: | |
%_25 = alloca {} | |
%_15 = alloca {} | |
%_12 = alloca {} | |
%by_u = alloca i32 | |
%diff = alloca i32 | |
%_7 = alloca {} | |
br label %start | |
start: ; preds = %entry-block | |
%4 = load i32, i32* %3 | |
%5 = icmp eq i32 %4, 0 | |
br i1 %5, label %bb1, label %bb2 | |
bb1: ; preds = %start | |
%6 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %0, i32 0, i32 0 | |
store i32 0, i32* %6 | |
br label %bb4 | |
bb2: ; preds = %start | |
%7 = load i32, i32* %3 | |
%8 = icmp sgt i32 %7, 0 | |
br i1 %8, label %bb5, label %bb6 | |
bb3: ; preds = %bb22, %bb4 | |
ret void | |
bb4: ; preds = %bb9, %bb1 | |
br label %bb3 | |
bb5: ; preds = %bb2 | |
%9 = load i32, i32* %1 | |
%10 = load i32, i32* %2 | |
%11 = icmp sge i32 %9, %10 | |
br i1 %11, label %bb7, label %bb8 | |
bb6: ; preds = %bb2 | |
%12 = load i32, i32* %1 | |
%13 = load i32, i32* %2 | |
%14 = icmp sle i32 %12, %13 | |
br i1 %14, label %bb11, label %bb12 | |
bb7: ; preds = %bb5 | |
%15 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %0, i32 0, i32 0 | |
store i32 1, i32* %15 | |
%16 = bitcast %"core::option::Option<usize>"* %0 to { i32, i32 }* | |
%17 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %16, i32 0, i32 1 | |
store i32 0, i32* %17 | |
br label %bb9 | |
bb8: ; preds = %bb5 | |
%18 = load i32, i32* %2 | |
%19 = load i32, i32* %1 | |
%20 = call i32 @"_ZN4core3num23_$LT$impl$u20$isize$GT$12wrapping_sub17h17fe23d91d68290fE"(i32 %18, i32 %19) | |
br label %bb10 | |
bb9: ; preds = %bb11, %bb7 | |
br label %bb4 | |
bb10: ; preds = %bb8 | |
store i32 %20, i32* %diff | |
%21 = load i32, i32* %3 | |
store i32 %21, i32* %by_u | |
br label %bb15 | |
bb11: ; preds = %bb6 | |
%22 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %0, i32 0, i32 0 | |
store i32 1, i32* %22 | |
%23 = bitcast %"core::option::Option<usize>"* %0 to { i32, i32 }* | |
%24 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %23, i32 0, i32 1 | |
store i32 0, i32* %24 | |
br label %bb9 | |
bb12: ; preds = %bb6 | |
%25 = load i32, i32* %1 | |
%26 = load i32, i32* %2 | |
%27 = call i32 @"_ZN4core3num23_$LT$impl$u20$isize$GT$12wrapping_sub17h17fe23d91d68290fE"(i32 %25, i32 %26) | |
br label %bb13 | |
bb13: ; preds = %bb12 | |
store i32 %27, i32* %diff | |
%28 = load i32, i32* %3 | |
%29 = call i32 @"_ZN4core3num23_$LT$impl$u20$isize$GT$12wrapping_mul17hf04031f2299647bcE"(i32 %28, i32 -1) | |
br label %bb14 | |
bb14: ; preds = %bb13 | |
store i32 %29, i32* %by_u | |
br label %bb15 | |
bb15: ; preds = %bb14, %bb10 | |
%30 = load i32, i32* %diff | |
%31 = load i32, i32* %by_u | |
%32 = icmp eq i32 %31, 0 | |
%33 = call i1 @llvm.expect.i1(i1 %32, i1 false) | |
br i1 %33, label %panic, label %bb16 | |
bb16: ; preds = %bb15 | |
%34 = urem i32 %30, %31 | |
%35 = icmp ugt i32 %34, 0 | |
br i1 %35, label %bb17, label %bb18 | |
bb17: ; preds = %bb16 | |
%36 = load i32, i32* %diff | |
%37 = load i32, i32* %by_u | |
%38 = icmp eq i32 %37, 0 | |
%39 = call i1 @llvm.expect.i1(i1 %38, i1 false) | |
br i1 %39, label %panic1, label %bb19 | |
bb18: ; preds = %bb16 | |
%40 = load i32, i32* %diff | |
%41 = load i32, i32* %by_u | |
%42 = icmp eq i32 %41, 0 | |
%43 = call i1 @llvm.expect.i1(i1 %42, i1 false) | |
br i1 %43, label %panic3, label %bb21 | |
bb19: ; preds = %bb17 | |
%44 = udiv i32 %36, %37 | |
%45 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %44, i32 1) | |
%46 = extractvalue { i32, i1 } %45, 0 | |
%47 = extractvalue { i32, i1 } %45, 1 | |
%48 = call i1 @llvm.expect.i1(i1 %47, i1 false) | |
br i1 %48, label %panic2, label %bb20 | |
bb20: ; preds = %bb19 | |
%49 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %0, i32 0, i32 0 | |
store i32 1, i32* %49 | |
%50 = bitcast %"core::option::Option<usize>"* %0 to { i32, i32 }* | |
%51 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %50, i32 0, i32 1 | |
store i32 %46, i32* %51 | |
br label %bb22 | |
bb21: ; preds = %bb18 | |
%52 = udiv i32 %40, %41 | |
%53 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %0, i32 0, i32 0 | |
store i32 1, i32* %53 | |
%54 = bitcast %"core::option::Option<usize>"* %0 to { i32, i32 }* | |
%55 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %54, i32 0, i32 1 | |
store i32 %52, i32* %55 | |
br label %bb22 | |
bb22: ; preds = %bb21, %bb20 | |
br label %bb3 | |
panic: ; preds = %bb15 | |
call void @_ZN4core9panicking5panic17hb790668694ff6b20E({ %str_slice, %str_slice, i32 }* @panic_loc.a) | |
unreachable | |
panic1: ; preds = %bb17 | |
call void @_ZN4core9panicking5panic17hb790668694ff6b20E({ %str_slice, %str_slice, i32 }* @panic_loc.c) | |
unreachable | |
panic2: ; preds = %bb19 | |
call void @_ZN4core9panicking5panic17hb790668694ff6b20E({ %str_slice, %str_slice, i32 }* @panic_loc.d) | |
unreachable | |
panic3: ; preds = %bb18 | |
call void @_ZN4core9panicking5panic17hb790668694ff6b20E({ %str_slice, %str_slice, i32 }* @panic_loc.e) | |
unreachable | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN49_$LT$isize$u20$as$u20$core..iter..range..Step$GT$4step17h173d964420fa4598E"(%"core::option::Option<isize>"* noalias nocapture sret dereferenceable(8), i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%3 = load i32, i32* %1 | |
%4 = load i32, i32* %2 | |
call void @"_ZN4core3num23_$LT$impl$u20$isize$GT$11checked_add17hf8168da169a02af8E"(%"core::option::Option<isize>"* noalias nocapture sret dereferenceable(8) %0, i32 %3, i32 %4) | |
br label %bb1 | |
bb1: ; preds = %start | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @_ZN4core3cmp3max17h70f5a4b55eae6c00E(i32, i32) unnamed_addr #0 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
%_11 = alloca i8 | |
%_10 = alloca i8 | |
%v2 = alloca i32 | |
%v1 = alloca i32 | |
%_0 = alloca i32 | |
br label %start | |
start: ; preds = %entry-block | |
store i8 0, i8* %_11 | |
store i8 0, i8* %_10 | |
store i8 1, i8* %_10 | |
store i32 %0, i32* %v1 | |
store i8 1, i8* %_11 | |
store i32 %1, i32* %v2 | |
%2 = invoke zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2ge17h3e9f50175e485b3eE"(i32* noalias readonly dereferenceable(4) %v2, i32* noalias readonly dereferenceable(4) %v1) | |
to label %bb3 unwind label %cleanup | |
bb1: ; preds = %bb9, %bb2 | |
%3 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %3 | |
bb2: ; preds = %bb10, %bb11 | |
%4 = load i8, i8* %_10, !range !1 | |
%5 = trunc i8 %4 to i1 | |
br i1 %5, label %bb9, label %bb1 | |
bb3: ; preds = %start | |
br i1 %2, label %bb4, label %bb5 | |
bb4: ; preds = %bb3 | |
store i8 0, i8* %_11 | |
%6 = load i32, i32* %v2 | |
store i32 %6, i32* %_0 | |
br label %bb6 | |
bb5: ; preds = %bb3 | |
store i8 0, i8* %_10 | |
%7 = load i32, i32* %v1 | |
store i32 %7, i32* %_0 | |
br label %bb6 | |
bb6: ; preds = %bb5, %bb4 | |
%8 = load i8, i8* %_11, !range !1 | |
%9 = trunc i8 %8 to i1 | |
br i1 %9, label %bb12, label %bb7 | |
bb7: ; preds = %bb12, %bb6 | |
%10 = load i8, i8* %_10, !range !1 | |
%11 = trunc i8 %10 to i1 | |
br i1 %11, label %bb13, label %bb8 | |
bb8: ; preds = %bb13, %bb7 | |
%12 = load i32, i32* %_0 | |
ret i32 %12 | |
bb9: ; preds = %bb2 | |
store i8 0, i8* %_10 | |
br label %bb1 | |
bb10: ; preds = %bb11 | |
store i8 0, i8* %_11 | |
br label %bb2 | |
bb11: ; preds = %cleanup | |
%13 = load i8, i8* %_11, !range !1 | |
%14 = trunc i8 %13 to i1 | |
br i1 %14, label %bb10, label %bb2 | |
bb12: ; preds = %bb6 | |
store i8 0, i8* %_11 | |
br label %bb7 | |
bb13: ; preds = %bb7 | |
store i8 0, i8* %_10 | |
br label %bb8 | |
cleanup: ; preds = %start | |
%15 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %15, { i8*, i32 }* %personalityslot | |
br label %bb11 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$isize$GT$2gt17h46264a7082b35b93E"(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%2 = load i32, i32* %0 | |
%3 = load i32, i32* %1 | |
%4 = icmp sgt i32 %2, %3 | |
ret i1 %4 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$isize$GT$2lt17h3b57cd1e2446f5deE"(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%2 = load i32, i32* %0 | |
%3 = load i32, i32* %1 | |
%4 = icmp slt i32 %2, %3 | |
ret i1 %4 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2ge17h3e9f50175e485b3eE"(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%2 = load i32, i32* %0 | |
%3 = load i32, i32* %1 | |
%4 = icmp uge i32 %2, %3 | |
ret i1 %4 | |
} | |
; Function Attrs: uwtable | |
define internal void @_ZN4core3fmt10ArgumentV13new17h4b93ed0528bb15c6E(%"core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8), %"collections::vec::Vec<isize>"** noalias readonly dereferenceable(4), i8 (%"collections::vec::Vec<isize>"**, %"core::fmt::Formatter"*)*) unnamed_addr #1 { | |
entry-block: | |
%transmute_temp1 = alloca %"core::fmt::Void"* | |
%transmute_temp = alloca i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* | |
br label %start | |
start: ; preds = %entry-block | |
%3 = bitcast i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %transmute_temp to i8 (%"collections::vec::Vec<isize>"**, %"core::fmt::Formatter"*)** | |
store i8 (%"collections::vec::Vec<isize>"**, %"core::fmt::Formatter"*)* %2, i8 (%"collections::vec::Vec<isize>"**, %"core::fmt::Formatter"*)** %3, align 4 | |
%4 = load i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)*, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %transmute_temp | |
br label %bb1 | |
bb1: ; preds = %start | |
%5 = bitcast %"core::fmt::Void"** %transmute_temp1 to %"collections::vec::Vec<isize>"*** | |
store %"collections::vec::Vec<isize>"** %1, %"collections::vec::Vec<isize>"*** %5, align 4 | |
%6 = load %"core::fmt::Void"*, %"core::fmt::Void"** %transmute_temp1, !nonnull !9 | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%7 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %0, i32 0, i32 0 | |
store %"core::fmt::Void"* %6, %"core::fmt::Void"** %7 | |
%8 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %0, i32 0, i32 1 | |
store i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* %4, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %8 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @_ZN4core3fmt10ArgumentV13new17h6972ba66dd8899c7E(%"core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8), [0 x i32]** noalias readonly dereferenceable(4), i8 ([0 x i32]**, %"core::fmt::Formatter"*)*) unnamed_addr #1 { | |
entry-block: | |
%transmute_temp1 = alloca %"core::fmt::Void"* | |
%transmute_temp = alloca i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* | |
br label %start | |
start: ; preds = %entry-block | |
%3 = bitcast i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %transmute_temp to i8 ([0 x i32]**, %"core::fmt::Formatter"*)** | |
store i8 ([0 x i32]**, %"core::fmt::Formatter"*)* %2, i8 ([0 x i32]**, %"core::fmt::Formatter"*)** %3, align 4 | |
%4 = load i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)*, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %transmute_temp | |
br label %bb1 | |
bb1: ; preds = %start | |
%5 = bitcast %"core::fmt::Void"** %transmute_temp1 to [0 x i32]*** | |
store [0 x i32]** %1, [0 x i32]*** %5, align 4 | |
%6 = load %"core::fmt::Void"*, %"core::fmt::Void"** %transmute_temp1, !nonnull !9 | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%7 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %0, i32 0, i32 0 | |
store %"core::fmt::Void"* %6, %"core::fmt::Void"** %7 | |
%8 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %0, i32 0, i32 1 | |
store i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* %4, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %8 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @_ZN4core3fmt10ArgumentV13new17h8b30214a05ae76acE(%"core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8), i32* noalias readonly dereferenceable(4), i8 (i32*, %"core::fmt::Formatter"*)*) unnamed_addr #1 { | |
entry-block: | |
%transmute_temp1 = alloca %"core::fmt::Void"* | |
%transmute_temp = alloca i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* | |
br label %start | |
start: ; preds = %entry-block | |
%3 = bitcast i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %transmute_temp to i8 (i32*, %"core::fmt::Formatter"*)** | |
store i8 (i32*, %"core::fmt::Formatter"*)* %2, i8 (i32*, %"core::fmt::Formatter"*)** %3, align 4 | |
%4 = load i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)*, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %transmute_temp | |
br label %bb1 | |
bb1: ; preds = %start | |
%5 = bitcast %"core::fmt::Void"** %transmute_temp1 to i32** | |
store i32* %1, i32** %5, align 4 | |
%6 = load %"core::fmt::Void"*, %"core::fmt::Void"** %transmute_temp1, !nonnull !9 | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%7 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %0, i32 0, i32 0 | |
store %"core::fmt::Void"* %6, %"core::fmt::Void"** %7 | |
%8 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %0, i32 0, i32 1 | |
store i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* %4, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %8 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal dereferenceable(8) %"core::fmt::builders::DebugList"* @_ZN4core3fmt8builders9DebugList7entries17h326e29aa68d3b428E(%"core::fmt::builders::DebugList"* dereferenceable(8), %"core::slice::Iter<isize>"* noalias nocapture dereferenceable(8)) unnamed_addr #1 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
%_23 = alloca i8 | |
%entry = alloca i32* | |
%_12 = alloca i8* | |
%iter = alloca %"core::slice::Iter<isize>" | |
%_10 = alloca %"core::slice::Iter<isize>" | |
%_9 = alloca {} | |
%_8 = alloca %"core::slice::Iter<isize>" | |
%_result = alloca {} | |
%entries = alloca %"core::slice::Iter<isize>" | |
br label %start | |
start: ; preds = %entry-block | |
store i8 0, i8* %_23 | |
%2 = bitcast %"core::slice::Iter<isize>"* %1 to i8* | |
%3 = bitcast %"core::slice::Iter<isize>"* %entries to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 8, i32 4, i1 false) | |
%4 = bitcast %"core::slice::Iter<isize>"* %entries to i8* | |
%5 = bitcast %"core::slice::Iter<isize>"* %_10 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %4, i32 8, i32 4, i1 false) | |
invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h628d6c7f3abe60e7E"(%"core::slice::Iter<isize>"* noalias nocapture sret dereferenceable(8) %_8, %"core::slice::Iter<isize>"* noalias nocapture dereferenceable(8) %_10) | |
to label %bb2 unwind label %cleanup | |
bb1: ; preds = %bb4, %cleanup | |
%6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %6 | |
bb2: ; preds = %start | |
%7 = bitcast %"core::slice::Iter<isize>"* %_8 to i8* | |
%8 = bitcast %"core::slice::Iter<isize>"* %iter to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %7, i32 8, i32 4, i1 false) | |
br label %bb3 | |
bb3: ; preds = %bb13, %bb2 | |
%9 = invoke i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h168758974c2a2892E"(%"core::slice::Iter<isize>"* dereferenceable(8) %iter) | |
to label %bb5 unwind label %cleanup1 | |
bb4: ; preds = %bb17, %bb16, %bb15, %cleanup1 | |
br label %bb1 | |
bb5: ; preds = %bb3 | |
store i8* %9, i8** %_12 | |
store i8 1, i8* %_23 | |
%10 = load i8*, i8** %_12 | |
%11 = icmp ne i8* %10, null | |
%12 = zext i1 %11 to i32 | |
switch i32 %12, label %bb8 [ | |
i32 0, label %bb7 | |
] | |
bb6: ; preds = %bb9 | |
%13 = load i8*, i8** %_12 | |
%14 = icmp ne i8* %13, null | |
%15 = zext i1 %14 to i32 | |
switch i32 %15, label %bb15 [ | |
i32 1, label %bb16 | |
] | |
bb7: ; preds = %bb5 | |
store i8 0, i8* %_23 | |
br label %bb11 | |
bb8: ; preds = %bb5 | |
store i8 0, i8* %_23 | |
%16 = bitcast i8** %_12 to i32** | |
%17 = load i32*, i32** %16, !nonnull !9 | |
store i32* %17, i32** %entry | |
%18 = bitcast i32** %entry to i8* | |
%19 = invoke dereferenceable(8) %"core::fmt::builders::DebugList"* @_ZN4core3fmt8builders9DebugList5entry17hd9c8b4dc15f5fa44E(%"core::fmt::builders::DebugList"* dereferenceable(8) %0, i8* nonnull %18, void (i8*)** noalias nonnull readonly getelementptr inbounds ({ void (i8*)*, i32, i32, i8 (i32**, %"core::fmt::Formatter"*)* }, { void (i8*)*, i32, i32, i8 (i32**, %"core::fmt::Formatter"*)* }* @vtable.f, i32 0, i32 0)) | |
to label %bb10 unwind label %cleanup2 | |
bb9: ; preds = %cleanup2 | |
br label %bb6 | |
bb10: ; preds = %bb8 | |
br label %bb12 | |
bb11: ; preds = %bb7 | |
br label %bb14 | |
bb12: ; preds = %bb10 | |
%20 = load i8*, i8** %_12 | |
%21 = icmp ne i8* %20, null | |
%22 = zext i1 %21 to i32 | |
switch i32 %22, label %bb18 [ | |
i32 1, label %bb13 | |
] | |
bb13: ; preds = %bb18, %bb12 | |
br label %bb3 | |
bb14: ; preds = %bb11 | |
ret %"core::fmt::builders::DebugList"* %0 | |
bb15: ; preds = %bb6 | |
br label %bb4 | |
bb16: ; preds = %bb6 | |
%23 = load i8, i8* %_23, !range !1 | |
%24 = trunc i8 %23 to i1 | |
br i1 %24, label %bb17, label %bb4 | |
bb17: ; preds = %bb16 | |
store i8 0, i8* %_23 | |
br label %bb4 | |
bb18: ; preds = %bb12 | |
br label %bb13 | |
cleanup: ; preds = %start | |
%25 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %25, { i8*, i32 }* %personalityslot | |
br label %bb1 | |
cleanup1: ; preds = %bb3 | |
%26 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %26, { i8*, i32 }* %personalityslot | |
br label %bb4 | |
cleanup2: ; preds = %bb8 | |
%27 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %27, { i8*, i32 }* %personalityslot | |
br label %bb9 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(24), %str_slice* noalias nonnull readonly, i32, %"core::fmt::ArgumentV1"* noalias nonnull readonly, i32) unnamed_addr #0 { | |
entry-block: | |
%_6 = alloca %"core::option::Option<&[core::fmt::rt::v1::Argument]>" | |
br label %start | |
start: ; preds = %entry-block | |
%5 = bitcast %"core::option::Option<&[core::fmt::rt::v1::Argument]>"* %_6 to i8* | |
call void @llvm.memset.p0i8.i32(i8* %5, i8 0, i32 8, i32 4, i1 false) | |
%6 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 0 | |
%7 = getelementptr inbounds { %str_slice*, i32 }, { %str_slice*, i32 }* %6, i32 0, i32 0 | |
store %str_slice* %1, %str_slice** %7 | |
%8 = getelementptr inbounds { %str_slice*, i32 }, { %str_slice*, i32 }* %6, i32 0, i32 1 | |
store i32 %2, i32* %8 | |
%9 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 1 | |
%10 = bitcast %"core::option::Option<&[core::fmt::rt::v1::Argument]>"* %_6 to i8* | |
%11 = bitcast %"core::option::Option<&[core::fmt::rt::v1::Argument]>"* %9 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %11, i8* %10, i32 8, i32 4, i1 false) | |
%12 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 2 | |
%13 = getelementptr inbounds { %"core::fmt::ArgumentV1"*, i32 }, { %"core::fmt::ArgumentV1"*, i32 }* %12, i32 0, i32 0 | |
store %"core::fmt::ArgumentV1"* %3, %"core::fmt::ArgumentV1"** %13 | |
%14 = getelementptr inbounds { %"core::fmt::ArgumentV1"*, i32 }, { %"core::fmt::ArgumentV1"*, i32 }* %12, i32 0, i32 1 | |
store i32 %4, i32* %14 | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @_ZN4core3fmt9Formatter10debug_list17h288c62552fe78659E(%"core::fmt::builders::DebugList"* noalias nocapture sret dereferenceable(8), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
call void @_ZN4core3fmt8builders14debug_list_new17h87c529c93343d084E(%"core::fmt::builders::DebugList"* noalias nocapture sret dereferenceable(8) %0, %"core::fmt::Formatter"* dereferenceable(52) %1) | |
br label %bb1 | |
bb1: ; preds = %start | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @_ZN4core3mem11size_of_val17h89e2907390b55efeE(i32* noalias nonnull readonly, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca i32 | |
br label %start | |
start: ; preds = %entry-block | |
%2 = mul i32 %1, 4 | |
store i32 %2, i32* %tmp_ret | |
%3 = load i32, i32* %tmp_ret | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i32 %3 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @_ZN4core3mem13uninitialized17h87edea676efbac3bE() unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca i32 | |
br label %start | |
start: ; preds = %entry-block | |
%0 = load i32, i32* %tmp_ret | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i32 %0 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @_ZN4core3mem4swap17hd79e03598b052fc7E(i32* dereferenceable(4), i32* dereferenceable(4)) unnamed_addr #0 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
%_27 = alloca i8 | |
%t = alloca i32 | |
%_0 = alloca {} | |
br label %start | |
start: ; preds = %entry-block | |
store i8 0, i8* %_27 | |
%2 = invoke i32 @_ZN4core3mem13uninitialized17h87edea676efbac3bE() | |
to label %bb2 unwind label %cleanup | |
bb1: ; preds = %bb7, %bb8 | |
%3 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %3 | |
bb2: ; preds = %start | |
store i32 %2, i32* %t | |
store i8 1, i8* %_27 | |
%4 = bitcast i32* %t to i8* | |
%5 = bitcast i32* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false) | |
br label %bb3 | |
bb3: ; preds = %bb2 | |
%6 = bitcast i32* %0 to i8* | |
%7 = bitcast i32* %1 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 4, i32 4, i1 false) | |
br label %bb4 | |
bb4: ; preds = %bb3 | |
%8 = bitcast i32* %1 to i8* | |
%9 = bitcast i32* %t to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %9, i32 4, i32 4, i1 false) | |
br label %bb5 | |
bb5: ; preds = %bb4 | |
store i8 0, i8* %_27 | |
%10 = load i32, i32* %t | |
invoke void @_ZN4core3mem6forget17hbc0e06c443059e2fE(i32 %10) | |
to label %bb6 unwind label %cleanup | |
bb6: ; preds = %bb5 | |
ret void | |
bb7: ; preds = %bb8 | |
store i8 0, i8* %_27 | |
br label %bb1 | |
bb8: ; preds = %cleanup | |
%11 = load i8, i8* %_27, !range !1 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %bb7, label %bb1 | |
cleanup: ; preds = %bb5, %start | |
%13 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %13, { i8*, i32 }* %personalityslot | |
br label %bb8 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @_ZN4core3mem6forget17hbc0e06c443059e2fE(i32) unnamed_addr #0 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
br label %start | |
start: ; preds = %entry-block | |
br label %bb2 | |
bb1: ; No predecessors! | |
%1 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %1 | |
bb2: ; preds = %start | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @_ZN4core3mem7size_of17h8501faafc0670793E() unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca i32 | |
br label %start | |
start: ; preds = %entry-block | |
store i32 4, i32* %tmp_ret | |
%0 = load i32, i32* %tmp_ret | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i32 %0 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E() unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca i32 | |
br label %start | |
start: ; preds = %entry-block | |
store i32 4, i32* %tmp_ret | |
%0 = load i32, i32* %tmp_ret | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i32 %0 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @_ZN4core3mem8align_of17h65ab8586e36c1162E() unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca i32 | |
br label %start | |
start: ; preds = %entry-block | |
store i32 4, i32* %tmp_ret | |
%0 = load i32, i32* %tmp_ret | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i32 %0 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN4core3num23_$LT$impl$u20$isize$GT$11checked_add17hf8168da169a02af8E"(%"core::option::Option<isize>"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca { i32, i8 } | |
br label %start | |
start: ; preds = %entry-block | |
call void @"_ZN4core3num23_$LT$impl$u20$isize$GT$15overflowing_add17he9f4beee1a24f47eE"({ i32, i8 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %1, i32 %2) | |
%3 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 | |
%4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 | |
%5 = load i32, i32* %3 | |
%6 = load i8, i8* %4, !range !1 | |
%7 = trunc i8 %6 to i1 | |
br label %bb1 | |
bb1: ; preds = %start | |
br i1 %7, label %bb2, label %bb3 | |
bb2: ; preds = %bb1 | |
%8 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %0, i32 0, i32 0 | |
store i32 0, i32* %8 | |
br label %bb4 | |
bb3: ; preds = %bb1 | |
%9 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %0, i32 0, i32 0 | |
store i32 1, i32* %9 | |
%10 = bitcast %"core::option::Option<isize>"* %0 to { i32, i32 }* | |
%11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 | |
store i32 %5, i32* %11 | |
br label %bb4 | |
bb4: ; preds = %bb3, %bb2 | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @"_ZN4core3num23_$LT$impl$u20$isize$GT$12wrapping_mul17hf04031f2299647bcE"(i32, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca i32 | |
br label %start | |
start: ; preds = %entry-block | |
%2 = mul i32 %0, %1 | |
store i32 %2, i32* %tmp_ret | |
%3 = load i32, i32* %tmp_ret | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i32 %3 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @"_ZN4core3num23_$LT$impl$u20$isize$GT$12wrapping_sub17h17fe23d91d68290fE"(i32, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca i32 | |
br label %start | |
start: ; preds = %entry-block | |
%2 = sub i32 %0, %1 | |
store i32 %2, i32* %tmp_ret | |
%3 = load i32, i32* %tmp_ret | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i32 %3 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN4core3num23_$LT$impl$u20$isize$GT$15overflowing_add17he9f4beee1a24f47eE"({ i32, i8 }* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca { i32, i8 } | |
br label %start | |
start: ; preds = %entry-block | |
%3 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %1, i32 %2) | |
%4 = extractvalue { i32, i1 } %3, 0 | |
%5 = extractvalue { i32, i1 } %3, 1 | |
%6 = zext i1 %5 to i8 | |
%7 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 | |
store i32 %4, i32* %7 | |
%8 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 | |
store i8 %6, i8* %8 | |
%9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 | |
%10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 | |
%11 = load i32, i32* %9 | |
%12 = load i8, i8* %10, !range !1 | |
%13 = trunc i8 %12 to i1 | |
br label %bb1 | |
bb1: ; preds = %start | |
%14 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 0 | |
store i32 %11, i32* %14 | |
%15 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 1 | |
%16 = zext i1 %13 to i8 | |
store i8 %16, i8* %15 | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @"_ZN4core3num23_$LT$impl$u20$isize$GT$9max_value17hc2bbac3340affe2bE"() unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%0 = call i32 @"_ZN4core3num23_$LT$impl$u20$isize$GT$9min_value17hc629413cb7288492E"() | |
br label %bb1 | |
bb1: ; preds = %start | |
%1 = xor i32 %0, -1 | |
ret i32 %1 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @"_ZN4core3num23_$LT$impl$u20$isize$GT$9min_value17hc629413cb7288492E"() unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i32 -2147483648 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_add17he878fb3db94cea4fE"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca { i32, i8 } | |
br label %start | |
start: ; preds = %entry-block | |
call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$15overflowing_add17h4dabf1fc0c2dfd75E"({ i32, i8 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %1, i32 %2) | |
%3 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 | |
%4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 | |
%5 = load i32, i32* %3 | |
%6 = load i8, i8* %4, !range !1 | |
%7 = trunc i8 %6 to i1 | |
br label %bb1 | |
bb1: ; preds = %start | |
br i1 %7, label %bb2, label %bb3 | |
bb2: ; preds = %bb1 | |
%8 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %0, i32 0, i32 0 | |
store i32 0, i32* %8 | |
br label %bb4 | |
bb3: ; preds = %bb1 | |
%9 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %0, i32 0, i32 0 | |
store i32 1, i32* %9 | |
%10 = bitcast %"core::option::Option<usize>"* %0 to { i32, i32 }* | |
%11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 | |
store i32 %5, i32* %11 | |
br label %bb4 | |
bb4: ; preds = %bb3, %bb2 | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_mul17he7c7fc05ede669b1E"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca { i32, i8 } | |
br label %start | |
start: ; preds = %entry-block | |
call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$15overflowing_mul17h6993bfa7b0970241E"({ i32, i8 }* noalias nocapture sret dereferenceable(8) %tmp_ret, i32 %1, i32 %2) | |
%3 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 | |
%4 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 | |
%5 = load i32, i32* %3 | |
%6 = load i8, i8* %4, !range !1 | |
%7 = trunc i8 %6 to i1 | |
br label %bb1 | |
bb1: ; preds = %start | |
br i1 %7, label %bb2, label %bb3 | |
bb2: ; preds = %bb1 | |
%8 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %0, i32 0, i32 0 | |
store i32 0, i32* %8 | |
br label %bb4 | |
bb3: ; preds = %bb1 | |
%9 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %0, i32 0, i32 0 | |
store i32 1, i32* %9 | |
%10 = bitcast %"core::option::Option<usize>"* %0 to { i32, i32 }* | |
%11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1 | |
store i32 %5, i32* %11 | |
br label %bb4 | |
bb4: ; preds = %bb3, %bb2 | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17haafe9bf4f214e0b8E"(i32, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca i32 | |
br label %start | |
start: ; preds = %entry-block | |
%2 = sub i32 %0, %1 | |
store i32 %2, i32* %tmp_ret | |
%3 = load i32, i32* %tmp_ret | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i32 %3 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$14saturating_add17hb1fbb042544872deE"(i32, i32) unnamed_addr #0 { | |
entry-block: | |
%_5 = alloca %"core::option::Option<usize>" | |
%_0 = alloca i32 | |
br label %start | |
start: ; preds = %entry-block | |
call void @"_ZN4core3num23_$LT$impl$u20$usize$GT$11checked_add17he878fb3db94cea4fE"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(8) %_5, i32 %0, i32 %1) | |
br label %bb1 | |
bb1: ; preds = %start | |
%2 = getelementptr inbounds %"core::option::Option<usize>", %"core::option::Option<usize>"* %_5, i32 0, i32 0 | |
%3 = load i32, i32* %2, !range !2 | |
switch i32 %3, label %bb3 [ | |
i32 0, label %bb2 | |
] | |
bb2: ; preds = %bb1 | |
%4 = call i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$9max_value17ha8e0a62e9a503d4eE"() | |
store i32 %4, i32* %_0 | |
br label %bb4 | |
bb3: ; preds = %bb1 | |
%5 = bitcast %"core::option::Option<usize>"* %_5 to { i32, i32 }* | |
%6 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %5, i32 0, i32 1 | |
%7 = load i32, i32* %6 | |
store i32 %7, i32* %_0 | |
br label %bb4 | |
bb4: ; preds = %bb2, %bb3 | |
%8 = load i32, i32* %_0 | |
ret i32 %8 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal zeroext i1 @"_ZN4core3num23_$LT$impl$u20$usize$GT$15is_power_of_two17hc8f3d64c044ae4c4E"(i32) unnamed_addr #0 { | |
entry-block: | |
%_0 = alloca i8 | |
br label %start | |
start: ; preds = %entry-block | |
%1 = call i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17haafe9bf4f214e0b8E"(i32 %0, i32 1) | |
br label %bb5 | |
bb1: ; preds = %bb3 | |
store i8 1, i8* %_0 | |
br label %bb4 | |
bb2: ; preds = %bb3, %bb5 | |
store i8 0, i8* %_0 | |
br label %bb4 | |
bb3: ; preds = %bb5 | |
%2 = icmp eq i32 %0, 0 | |
%3 = xor i1 %2, true | |
br i1 %3, label %bb1, label %bb2 | |
bb4: ; preds = %bb2, %bb1 | |
%4 = load i8, i8* %_0, !range !1 | |
%5 = trunc i8 %4 to i1 | |
ret i1 %5 | |
bb5: ; preds = %start | |
%6 = and i32 %1, %0 | |
%7 = icmp eq i32 %6, 0 | |
br i1 %7, label %bb3, label %bb2 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN4core3num23_$LT$impl$u20$usize$GT$15overflowing_add17h4dabf1fc0c2dfd75E"({ i32, i8 }* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca { i32, i8 } | |
br label %start | |
start: ; preds = %entry-block | |
%3 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %1, i32 %2) | |
%4 = extractvalue { i32, i1 } %3, 0 | |
%5 = extractvalue { i32, i1 } %3, 1 | |
%6 = zext i1 %5 to i8 | |
%7 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 | |
store i32 %4, i32* %7 | |
%8 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 | |
store i8 %6, i8* %8 | |
%9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 | |
%10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 | |
%11 = load i32, i32* %9 | |
%12 = load i8, i8* %10, !range !1 | |
%13 = trunc i8 %12 to i1 | |
br label %bb1 | |
bb1: ; preds = %start | |
%14 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 0 | |
store i32 %11, i32* %14 | |
%15 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 1 | |
%16 = zext i1 %13 to i8 | |
store i8 %16, i8* %15 | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN4core3num23_$LT$impl$u20$usize$GT$15overflowing_mul17h6993bfa7b0970241E"({ i32, i8 }* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca { i32, i8 } | |
br label %start | |
start: ; preds = %entry-block | |
%3 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %1, i32 %2) | |
%4 = extractvalue { i32, i1 } %3, 0 | |
%5 = extractvalue { i32, i1 } %3, 1 | |
%6 = zext i1 %5 to i8 | |
%7 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 | |
store i32 %4, i32* %7 | |
%8 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 | |
store i8 %6, i8* %8 | |
%9 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 0 | |
%10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %tmp_ret, i32 0, i32 1 | |
%11 = load i32, i32* %9 | |
%12 = load i8, i8* %10, !range !1 | |
%13 = trunc i8 %12 to i1 | |
br label %bb1 | |
bb1: ; preds = %start | |
%14 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 0 | |
store i32 %11, i32* %14 | |
%15 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 1 | |
%16 = zext i1 %13 to i8 | |
store i8 %16, i8* %15 | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$9max_value17ha8e0a62e9a503d4eE"() unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
ret i32 -1 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1595897c08996aa9E"(i8*, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca i8* | |
br label %start | |
start: ; preds = %entry-block | |
%2 = getelementptr i8, i8* %0, i32 %1 | |
store i8* %2, i8** %tmp_ret | |
%3 = load i8*, i8** %tmp_ret | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i8* %3 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17h5a99e5f4521011f5E"(i32*, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca i32* | |
br label %start | |
start: ; preds = %entry-block | |
%2 = getelementptr inbounds i32, i32* %0, i32 %1 | |
store i32* %2, i32** %tmp_ret | |
%3 = load i32*, i32** %tmp_ret | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i32* %3 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h4700ca1333b78896E"(i32*) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%1 = call i32* @_ZN4core3ptr8null_mut17hf94c9058a1373344E() | |
br label %bb1 | |
bb1: ; preds = %start | |
%2 = icmp eq i32* %0, %1 | |
ret i1 %2 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17hb6150a2be661fd19E"(i8*) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%1 = call i8* @_ZN4core3ptr8null_mut17he7fb89303162bb4dE() | |
br label %bb1 | |
bb1: ; preds = %start | |
%2 = icmp eq i8* %0, %1 | |
ret i1 %2 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h1756066fd9968d61E"(i32*, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret = alloca i32* | |
br label %start | |
start: ; preds = %entry-block | |
%2 = getelementptr inbounds i32, i32* %0, i32 %1 | |
store i32* %2, i32** %tmp_ret | |
%3 = load i32*, i32** %tmp_ret | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i32* %3 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h6966f69e11eb5f3bE"(i32*) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%1 = call i32* @_ZN4core3ptr4null17h88c41cd3f3f12207E() | |
br label %bb1 | |
bb1: ; preds = %start | |
%2 = icmp eq i32* %0, %1 | |
ret i1 %2 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32* @_ZN4core3ptr4null17h88c41cd3f3f12207E() unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
ret i32* null | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @_ZN4core3ptr5write17hc62018ecf990a402E(i32*, i32) unnamed_addr #0 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
br label %start | |
start: ; preds = %entry-block | |
store i32 %1, i32* %0 | |
br label %bb2 | |
bb1: ; No predecessors! | |
%2 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %2 | |
bb2: ; preds = %start | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i8* @_ZN4core3ptr8null_mut17he7fb89303162bb4dE() unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
ret i8* null | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32* @_ZN4core3ptr8null_mut17hf94c9058a1373344E() unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
ret i32* null | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN4core4iter5range43_$LT$impl$u20$core..ops..Range$LT$A$GT$$GT$7step_by17ha24258a8601f244bE"(%"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture sret dereferenceable(12), %"core::ops::Range<isize>"* noalias nocapture dereferenceable(8), i32) unnamed_addr #1 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%3 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %1, i32 0, i32 0 | |
%4 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %1, i32 0, i32 1 | |
%5 = load i32, i32* %3 | |
%6 = load i32, i32* %4 | |
%7 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %0, i32 0, i32 0 | |
store i32 %2, i32* %7 | |
%8 = getelementptr inbounds %"core::iter::range::StepBy<isize, core::ops::Range<isize>>", %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %0, i32 0, i32 1 | |
%9 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %8, i32 0, i32 0 | |
store i32 %5, i32* %9 | |
%10 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %8, i32 0, i32 1 | |
store i32 %6, i32* %10 | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @_ZN4core4iter8iterator8Iterator7collect17h68b276c36a921e76E(%"collections::vec::Vec<isize>"* noalias nocapture sret dereferenceable(12), %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12)) unnamed_addr #0 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
%_3 = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
%self = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1 to i8* | |
%3 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %self to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 12, i32 4, i1 false) | |
%4 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %self to i8* | |
%5 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %_3 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %4, i32 12, i32 4, i1 false) | |
invoke void @"_ZN92_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..iter..traits..FromIterator$LT$T$GT$$GT$9from_iter17hb23e12a3a1ca6171E"(%"collections::vec::Vec<isize>"* noalias nocapture sret dereferenceable(12) %0, %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12) %_3) | |
to label %bb2 unwind label %cleanup | |
bb1: ; preds = %cleanup | |
%6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %6 | |
bb2: ; preds = %start | |
ret void | |
cleanup: ; preds = %start | |
%7 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %7, { i8*, i32 }* %personalityslot | |
br label %bb1 | |
} | |
; Function Attrs: uwtable | |
define internal i8 @"_ZN4core5array69_$LT$impl$u20$core..fmt..Debug$u20$for$u20$$u5b$T$u3b$$u20$0$u5d$$GT$3fmt17hcc00632eecc20f91E"([0 x i32]* noalias readonly, %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr #1 { | |
entry-block: | |
%abi_cast = alloca i8 | |
%_11 = alloca %"core::ops::RangeFull" | |
%_7 = alloca { i32*, i32 } | |
%_0 = alloca %"core::result::Result<(), core::fmt::Error>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = bitcast [0 x i32]* %0 to i32* | |
%3 = call { i32*, i32 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h73017c6b6bc52e91E"(i32* noalias nonnull readonly %2, i32 0) | |
%4 = extractvalue { i32*, i32 } %3, 0 | |
%5 = extractvalue { i32*, i32 } %3, 1 | |
br label %bb1 | |
bb1: ; preds = %start | |
%6 = getelementptr inbounds { i32*, i32 }, { i32*, i32 }* %_7, i32 0, i32 0 | |
store i32* %4, i32** %6 | |
%7 = getelementptr inbounds { i32*, i32 }, { i32*, i32 }* %_7, i32 0, i32 1 | |
store i32 %5, i32* %7 | |
%8 = call i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h51910e818e0aa7a9E"({ i32*, i32 }* noalias readonly dereferenceable(8) %_7, %"core::fmt::Formatter"* dereferenceable(52) %1) | |
store i8 %8, i8* %abi_cast | |
%9 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %9, i8* %abi_cast, i32 1, i32 1, i1 false) | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%10 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
%11 = load i8, i8* %10, align 1 | |
ret i8 %11 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal { i32*, i32 } @_ZN4core5slice14from_raw_parts17h444bffac668187a5E(i32*, i32) unnamed_addr #0 { | |
entry-block: | |
%transmute_temp = alloca { i32*, i32 } | |
%_5 = alloca %"core::slice::Repr<isize>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %_5, i32 0, i32 0 | |
store i32* %0, i32** %2 | |
%3 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %_5, i32 0, i32 1 | |
store i32 %1, i32* %3 | |
%4 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %_5, i32 0, i32 0 | |
%5 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %_5, i32 0, i32 1 | |
%6 = load i32*, i32** %4 | |
%7 = load i32, i32* %5 | |
%8 = bitcast { i32*, i32 }* %transmute_temp to %"core::slice::Repr<isize>"* | |
%9 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %8, i32 0, i32 0 | |
store i32* %6, i32** %9, align 4 | |
%10 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %8, i32 0, i32 1 | |
store i32 %7, i32* %10, align 4 | |
%11 = getelementptr inbounds { i32*, i32 }, { i32*, i32 }* %transmute_temp, i32 0, i32 0 | |
%12 = load i32*, i32** %11, !nonnull !9 | |
%13 = getelementptr inbounds { i32*, i32 }, { i32*, i32 }* %transmute_temp, i32 0, i32 1 | |
%14 = load i32, i32* %13 | |
br label %bb1 | |
bb1: ; preds = %start | |
%15 = insertvalue { i32*, i32 } undef, i32* %12, 0 | |
%16 = insertvalue { i32*, i32 } %15, i32 %14, 1 | |
ret { i32*, i32 } %16 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal { i32*, i32 } @_ZN4core5slice18from_raw_parts_mut17ha40066db014fefddE(i32*, i32) unnamed_addr #0 { | |
entry-block: | |
%transmute_temp = alloca { i32*, i32 } | |
%_6 = alloca %"core::slice::Repr<isize>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %_6, i32 0, i32 0 | |
store i32* %0, i32** %2 | |
%3 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %_6, i32 0, i32 1 | |
store i32 %1, i32* %3 | |
%4 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %_6, i32 0, i32 0 | |
%5 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %_6, i32 0, i32 1 | |
%6 = load i32*, i32** %4 | |
%7 = load i32, i32* %5 | |
%8 = bitcast { i32*, i32 }* %transmute_temp to %"core::slice::Repr<isize>"* | |
%9 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %8, i32 0, i32 0 | |
store i32* %6, i32** %9, align 4 | |
%10 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %8, i32 0, i32 1 | |
store i32 %7, i32* %10, align 4 | |
%11 = getelementptr inbounds { i32*, i32 }, { i32*, i32 }* %transmute_temp, i32 0, i32 0 | |
%12 = load i32*, i32** %11, !nonnull !9 | |
%13 = getelementptr inbounds { i32*, i32 }, { i32*, i32 }* %transmute_temp, i32 0, i32 1 | |
%14 = load i32, i32* %13 | |
br label %bb1 | |
bb1: ; preds = %start | |
%15 = insertvalue { i32*, i32 } undef, i32* %12, 0 | |
%16 = insertvalue { i32*, i32 } %15, i32 %14, 1 | |
ret { i32*, i32 } %16 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal { i32*, i32 } @"_ZN4core5slice67_$LT$impl$u20$core..ops..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h73017c6b6bc52e91E"(i32* noalias nonnull readonly, i32) unnamed_addr #0 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
br label %start | |
start: ; preds = %entry-block | |
%2 = invoke { i32*, i32 } @"_ZN73_$LT$core..ops..RangeFull$u20$as$u20$core..slice..SliceIndex$LT$T$GT$$GT$5index17h862c129474b254c0E"(i32* noalias nonnull readonly %0, i32 %1) | |
to label %bb2 unwind label %cleanup | |
bb1: ; preds = %cleanup | |
%3 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %3 | |
bb2: ; preds = %start | |
%4 = extractvalue { i32*, i32 } %2, 0 | |
%5 = extractvalue { i32*, i32 } %2, 1 | |
%6 = insertvalue { i32*, i32 } undef, i32* %4, 0 | |
%7 = insertvalue { i32*, i32 } %6, i32 %5, 1 | |
ret { i32*, i32 } %7 | |
cleanup: ; preds = %start | |
%8 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %8, { i8*, i32 }* %personalityslot | |
br label %bb1 | |
} | |
; Function Attrs: uwtable | |
define internal zeroext i1 @"_ZN4core5slice81_$LT$impl$u20$core..cmp..PartialEq$LT$$u5b$B$u5d$$GT$$u20$for$u20$$u5b$A$u5d$$GT$2eq17h0e7bd66f7e58d2ddE"(i32* noalias nonnull readonly, i32, i32* noalias nonnull readonly, i32) unnamed_addr #1 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%4 = call zeroext i1 @"_ZN68_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..SlicePartialEq$LT$A$GT$$GT$5equal17h4cc7b484d57a8cbaE"(i32* noalias nonnull readonly %0, i32 %1, i32* noalias nonnull readonly %2, i32 %3) | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i1 %4 | |
} | |
define internal void @_ZN4drop17h5e8360cf713132cfE(i8*) unnamed_addr { | |
entry-block: | |
ret void | |
} | |
define internal void @_ZN4drop17h71bcd51b390c66a7E(i32*, i32) unnamed_addr { | |
entry-block: | |
ret void | |
} | |
define internal void @_ZN4drop17hce36d3d4362f01aeE(%"alloc::raw_vec::RawVec<isize>"*) unnamed_addr personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
invoke void @"_ZN67_$LT$alloc..raw_vec..RawVec$LT$T$GT$$u20$as$u20$core..ops..Drop$GT$4drop17h828055aa96f635aaE"(%"alloc::raw_vec::RawVec<isize>"* dereferenceable(8) %0) | |
to label %normal-return unwind label %cleanup_unwind | |
cleanup_unwind: ; preds = %entry-block | |
%1 = landingpad { i8*, i32 } | |
cleanup | |
call void @_ZN13drop_contents17hce36d3d4362f01aeE(%"alloc::raw_vec::RawVec<isize>"* %0) | |
resume { i8*, i32 } %1 | |
normal-return: ; preds = %entry-block | |
call void @_ZN13drop_contents17hce36d3d4362f01aeE(%"alloc::raw_vec::RawVec<isize>"* %0) | |
ret void | |
} | |
define internal void @_ZN4drop17hda3a3227b902a756E(%"collections::vec::Vec<isize>"*) unnamed_addr personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
invoke void @"_ZN66_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..Drop$GT$4drop17h5d15ec6c0a41d3cdE"(%"collections::vec::Vec<isize>"* dereferenceable(12) %0) | |
to label %normal-return unwind label %cleanup_unwind | |
cleanup_unwind: ; preds = %entry-block | |
%1 = landingpad { i8*, i32 } | |
cleanup | |
call void @_ZN13drop_contents17hda3a3227b902a756E(%"collections::vec::Vec<isize>"* %0) | |
resume { i8*, i32 } %1 | |
normal-return: ; preds = %entry-block | |
call void @_ZN13drop_contents17hda3a3227b902a756E(%"collections::vec::Vec<isize>"* %0) | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h51910e818e0aa7a9E"({ i32*, i32 }* noalias readonly dereferenceable(8), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr #1 { | |
entry-block: | |
%abi_cast = alloca i8 | |
%_0 = alloca %"core::result::Result<(), core::fmt::Error>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = getelementptr inbounds { i32*, i32 }, { i32*, i32 }* %0, i32 0, i32 0 | |
%3 = load i32*, i32** %2, !nonnull !9 | |
%4 = getelementptr inbounds { i32*, i32 }, { i32*, i32 }* %0, i32 0, i32 1 | |
%5 = load i32, i32* %4 | |
%6 = call i8 @"_ZN48_$LT$$u5b$T$u5d$$u20$as$u20$core..fmt..Debug$GT$3fmt17h36f3c98f6f281e1bE"(i32* noalias nonnull readonly %3, i32 %5, %"core::fmt::Formatter"* dereferenceable(52) %1) | |
store i8 %6, i8* %abi_cast | |
%7 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* %abi_cast, i32 1, i32 1, i1 false) | |
br label %bb1 | |
bb1: ; preds = %start | |
%8 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
%9 = load i8, i8* %8, align 1 | |
ret i8 %9 | |
} | |
; Function Attrs: uwtable | |
define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h55fc9138d8f966ebE"([0 x i32]** noalias readonly dereferenceable(4), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr #1 { | |
entry-block: | |
%abi_cast = alloca i8 | |
%_0 = alloca %"core::result::Result<(), core::fmt::Error>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = load [0 x i32]*, [0 x i32]** %0, !nonnull !9 | |
%3 = call i8 @"_ZN4core5array69_$LT$impl$u20$core..fmt..Debug$u20$for$u20$$u5b$T$u3b$$u20$0$u5d$$GT$3fmt17hcc00632eecc20f91E"([0 x i32]* noalias readonly %2, %"core::fmt::Formatter"* dereferenceable(52) %1) | |
store i8 %3, i8* %abi_cast | |
%4 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %abi_cast, i32 1, i32 1, i1 false) | |
br label %bb1 | |
bb1: ; preds = %start | |
%5 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
%6 = load i8, i8* %5, align 1 | |
ret i8 %6 | |
} | |
; Function Attrs: uwtable | |
define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h889edfa5dbcb43f4E"(i32** noalias readonly dereferenceable(4), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr #1 { | |
entry-block: | |
%abi_cast = alloca i8 | |
%_0 = alloca %"core::result::Result<(), core::fmt::Error>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = load i32*, i32** %0, !nonnull !9 | |
%3 = call i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$isize$GT$3fmt17hd531887b89f04cd2E"(i32* noalias readonly dereferenceable(4) %2, %"core::fmt::Formatter"* dereferenceable(52) %1) | |
store i8 %3, i8* %abi_cast | |
%4 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %abi_cast, i32 1, i32 1, i1 false) | |
br label %bb1 | |
bb1: ; preds = %start | |
%5 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
%6 = load i8, i8* %5, align 1 | |
ret i8 %6 | |
} | |
; Function Attrs: uwtable | |
define internal i8 @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hf2572bffe505eb08E"(%"collections::vec::Vec<isize>"** noalias readonly dereferenceable(4), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr #1 { | |
entry-block: | |
%abi_cast = alloca i8 | |
%_0 = alloca %"core::result::Result<(), core::fmt::Error>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = load %"collections::vec::Vec<isize>"*, %"collections::vec::Vec<isize>"** %0, !nonnull !9 | |
%3 = call i8 @"_ZN67_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h0d27c943cb81dbc0E"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12) %2, %"core::fmt::Formatter"* dereferenceable(52) %1) | |
store i8 %3, i8* %abi_cast | |
%4 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %abi_cast, i32 1, i32 1, i1 false) | |
br label %bb1 | |
bb1: ; preds = %start | |
%5 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
%6 = load i8, i8* %5, align 1 | |
ret i8 %6 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h5d245b89f8bcd5eeE"(i32* nonnull, i32) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
ret i32* %0 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal dereferenceable(4) i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$17get_unchecked_mut17h87070274c2841df9E"(i32* nonnull, i32, i32) unnamed_addr #0 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
br label %start | |
start: ; preds = %entry-block | |
%3 = invoke dereferenceable(4) i32* @"_ZN58_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$T$GT$$GT$17get_unchecked_mut17h03bc40300e5b3901E"(i32 %2, i32* nonnull %0, i32 %1) | |
to label %bb2 unwind label %cleanup | |
bb1: ; preds = %cleanup | |
%4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %4 | |
bb2: ; preds = %start | |
ret i32* %3 | |
cleanup: ; preds = %start | |
%5 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %5, { i8*, i32 }* %personalityslot | |
br label %bb1 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf53211ce24d9fa62E"(i32* noalias nonnull readonly, i32) unnamed_addr #0 { | |
entry-block: | |
%transmute_temp = alloca %"core::slice::Repr<isize>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = bitcast %"core::slice::Repr<isize>"* %transmute_temp to { i32*, i32 }* | |
%3 = getelementptr inbounds { i32*, i32 }, { i32*, i32 }* %2, i32 0, i32 0 | |
store i32* %0, i32** %3, align 4 | |
%4 = getelementptr inbounds { i32*, i32 }, { i32*, i32 }* %2, i32 0, i32 1 | |
store i32 %1, i32* %4, align 4 | |
%5 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %transmute_temp, i32 0, i32 0 | |
%6 = getelementptr inbounds %"core::slice::Repr<isize>", %"core::slice::Repr<isize>"* %transmute_temp, i32 0, i32 1 | |
%7 = load i32*, i32** %5 | |
%8 = load i32, i32* %6 | |
br label %bb1 | |
bb1: ; preds = %start | |
ret i32 %8 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h31c23eea4690360dE"(%"core::slice::Iter<isize>"* noalias nocapture sret dereferenceable(8), i32* noalias nonnull readonly, i32) unnamed_addr #0 { | |
entry-block: | |
%_30 = alloca %"core::marker::PhantomData<&isize>" | |
%_14 = alloca i32* | |
%p = alloca i32* | |
br label %start | |
start: ; preds = %entry-block | |
%3 = call i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E() | |
br label %bb1 | |
bb1: ; preds = %start | |
%4 = icmp eq i32 %3, 0 | |
br i1 %4, label %bb2, label %bb3 | |
bb2: ; preds = %bb1 | |
store i32* inttoptr (i32 1 to i32*), i32** %p | |
br label %bb7 | |
bb3: ; preds = %bb1 | |
%5 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17hc506f33bca2e14e5E"(i32* noalias nonnull readonly %1, i32 %2) | |
br label %bb4 | |
bb4: ; preds = %bb3 | |
%6 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h6966f69e11eb5f3bE"(i32* %5) | |
br label %bb5 | |
bb5: ; preds = %bb4 | |
%7 = xor i1 %6, true | |
call void @llvm.assume(i1 %7) | |
br label %bb6 | |
bb6: ; preds = %bb5 | |
store i32* %5, i32** %p | |
br label %bb7 | |
bb7: ; preds = %bb6, %bb2 | |
%8 = load i32*, i32** %p | |
%9 = load i32*, i32** %p | |
%10 = call i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E() | |
br label %bb8 | |
bb8: ; preds = %bb7 | |
%11 = icmp eq i32 %10, 0 | |
br i1 %11, label %bb9, label %bb10 | |
bb9: ; preds = %bb8 | |
%12 = bitcast i32* %9 to i8* | |
%13 = call i32 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf53211ce24d9fa62E"(i32* noalias nonnull readonly %1, i32 %2) | |
br label %bb11 | |
bb10: ; preds = %bb8 | |
%14 = call i32 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf53211ce24d9fa62E"(i32* noalias nonnull readonly %1, i32 %2) | |
br label %bb13 | |
bb11: ; preds = %bb9 | |
%15 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1595897c08996aa9E"(i8* %12, i32 %13) | |
br label %bb12 | |
bb12: ; preds = %bb11 | |
%16 = bitcast i8* %15 to i32* | |
store i32* %16, i32** %_14 | |
br label %bb15 | |
bb13: ; preds = %bb10 | |
%17 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h1756066fd9968d61E"(i32* %9, i32 %14) | |
store i32* %17, i32** %_14 | |
br label %bb14 | |
bb14: ; preds = %bb13 | |
br label %bb15 | |
bb15: ; preds = %bb14, %bb12 | |
%18 = getelementptr inbounds %"core::slice::Iter<isize>", %"core::slice::Iter<isize>"* %0, i32 0, i32 0 | |
store i32* %8, i32** %18 | |
%19 = load i32*, i32** %_14 | |
%20 = getelementptr inbounds %"core::slice::Iter<isize>", %"core::slice::Iter<isize>"* %0, i32 0, i32 1 | |
store i32* %19, i32** %20 | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17hc506f33bca2e14e5E"(i32* noalias nonnull readonly, i32) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
ret i32* %0 | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h628d6c7f3abe60e7E"(%"core::slice::Iter<isize>"* noalias nocapture sret dereferenceable(8), %"core::slice::Iter<isize>"* noalias nocapture dereferenceable(8)) unnamed_addr #1 { | |
entry-block: | |
%_3 = alloca %"core::slice::Iter<isize>" | |
%self = alloca %"core::slice::Iter<isize>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = bitcast %"core::slice::Iter<isize>"* %1 to i8* | |
%3 = bitcast %"core::slice::Iter<isize>"* %self to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 8, i32 4, i1 false) | |
%4 = bitcast %"core::slice::Iter<isize>"* %self to i8* | |
%5 = bitcast %"core::slice::Iter<isize>"* %_3 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %4, i32 8, i32 4, i1 false) | |
%6 = bitcast %"core::slice::Iter<isize>"* %_3 to i8* | |
%7 = bitcast %"core::slice::Iter<isize>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* %6, i32 8, i32 4, i1 false) | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h883a2a73801cd837E"(%"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture sret dereferenceable(12), %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12)) unnamed_addr #1 { | |
entry-block: | |
%_3 = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
%self = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1 to i8* | |
%3 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %self to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 12, i32 4, i1 false) | |
%4 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %self to i8* | |
%5 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %_3 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %4, i32 12, i32 4, i1 false) | |
%6 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %_3 to i8* | |
%7 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* %6, i32 12, i32 4, i1 false) | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal dereferenceable(4) i32* @"_ZN58_$LT$usize$u20$as$u20$core..slice..SliceIndex$LT$T$GT$$GT$17get_unchecked_mut17h03bc40300e5b3901E"(i32, i32* nonnull, i32) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%3 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h5d245b89f8bcd5eeE"(i32* nonnull %1, i32 %2) | |
br label %bb1 | |
bb1: ; preds = %start | |
%4 = call i32* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$6offset17h5a99e5f4521011f5E"(i32* %3, i32 %0) | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
ret i32* %4 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @_ZN5alloc4heap10deallocate17h5acaa15d61cc071bE(i8*, i32, i32) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
call void @__rust_deallocate(i8* %0, i32 %1, i32 %2) | |
br label %bb1 | |
bb1: ; preds = %start | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i8* @_ZN5alloc4heap10reallocate17hbd9f01cd45135beeE(i8*, i32, i32, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret1.i = alloca %"core::fmt::ArgumentV1" | |
%tmp_ret.i = alloca %"core::fmt::ArgumentV1" | |
%_43.i = alloca { i32* } | |
%_42.i = alloca [1 x %"core::fmt::ArgumentV1"] | |
%_37.i = alloca %"core::fmt::Arguments" | |
%_33.i = alloca {} | |
%_32.i = alloca {} | |
%_24.i = alloca { i32* } | |
%_23.i = alloca [1 x %"core::fmt::ArgumentV1"] | |
%_18.i = alloca %"core::fmt::Arguments" | |
%_13.i = alloca {} | |
%_12.i = alloca {} | |
%_6.i = alloca {} | |
%_5.i = alloca {} | |
%align.i = alloca i32 | |
%size.i = alloca i32 | |
%_0.i = alloca {} | |
br label %start | |
start: ; preds = %entry-block | |
store i32 %2, i32* %size.i | |
store i32 %3, i32* %align.i | |
%4 = load i32, i32* %size.i | |
%5 = icmp ne i32 %4, 0 | |
%6 = xor i1 %5, true | |
br i1 %6, label %bb1.i, label %bb2.i | |
bb1.i: ; preds = %start | |
call void @_ZN4core9panicking5panic17hb790668694ff6b20E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @_ZN5alloc4heap24check_size_and_alignment14_MSG_FILE_LINE17h00c3435f05a4fcfdE) | |
unreachable | |
bb2.i: ; preds = %start | |
%7 = load i32, i32* %size.i | |
%8 = icmp ule i32 %7, 2147483647 | |
%9 = xor i1 %8, true | |
br i1 %9, label %bb3.i, label %bb4.i | |
bb3.i: ; preds = %bb2.i | |
%10 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i32 }, { %str_slice*, i32 }* @_ZN5alloc4heap24check_size_and_alignment15__STATIC_FMTSTR17h557f9e10d9f56ed3E, i32 0, i32 0), !nonnull !9 | |
%11 = load i32, i32* getelementptr inbounds ({ %str_slice*, i32 }, { %str_slice*, i32 }* @_ZN5alloc4heap24check_size_and_alignment15__STATIC_FMTSTR17h557f9e10d9f56ed3E, i32 0, i32 1) | |
%12 = getelementptr inbounds { i32* }, { i32* }* %_24.i, i32 0, i32 0 | |
store i32* %size.i, i32** %12 | |
%13 = getelementptr inbounds { i32* }, { i32* }* %_24.i, i32 0, i32 0 | |
%14 = load i32*, i32** %13, !nonnull !9 | |
call void @_ZN4core3fmt10ArgumentV13new17h8b30214a05ae76acE(%"core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8) %tmp_ret.i, i32* noalias readonly dereferenceable(4) %14, i8 (i32*, %"core::fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hd186a95412e1e036E") | |
%15 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %tmp_ret.i, i32 0, i32 0 | |
%16 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %tmp_ret.i, i32 0, i32 1 | |
%17 = load %"core::fmt::Void"*, %"core::fmt::Void"** %15, !nonnull !9 | |
%18 = load i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)*, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %16 | |
%19 = getelementptr inbounds [1 x %"core::fmt::ArgumentV1"], [1 x %"core::fmt::ArgumentV1"]* %_23.i, i32 0, i32 0 | |
%20 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %19, i32 0, i32 0 | |
store %"core::fmt::Void"* %17, %"core::fmt::Void"** %20 | |
%21 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %19, i32 0, i32 1 | |
store i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* %18, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %21 | |
%22 = bitcast [1 x %"core::fmt::ArgumentV1"]* %_23.i to %"core::fmt::ArgumentV1"* | |
call void @_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(24) %_18.i, %str_slice* noalias nonnull readonly %10, i32 %11, %"core::fmt::ArgumentV1"* noalias nonnull readonly %22, i32 1) | |
call void @_ZN4core9panicking9panic_fmt17he9c7f335d160b59dE(%"core::fmt::Arguments"* noalias nocapture dereferenceable(24) %_18.i, { %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN5alloc4heap24check_size_and_alignment10_FILE_LINE17h86fe1dae5ff439efE) | |
unreachable | |
bb4.i: ; preds = %bb2.i | |
%23 = load i32, i32* %align.i | |
%24 = call zeroext i1 @"_ZN4core3num23_$LT$impl$u20$usize$GT$15is_power_of_two17hc8f3d64c044ae4c4E"(i32 %23) | |
%25 = xor i1 %24, true | |
br i1 %25, label %bb8.i, label %_ZN5alloc4heap24check_size_and_alignment17h02338cd31f2cbb59E.exit | |
bb8.i: ; preds = %bb4.i | |
%26 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i32 }, { %str_slice*, i32 }* @_ZN5alloc4heap24check_size_and_alignment15__STATIC_FMTSTR17h0c070412f9a1704fE, i32 0, i32 0), !nonnull !9 | |
%27 = load i32, i32* getelementptr inbounds ({ %str_slice*, i32 }, { %str_slice*, i32 }* @_ZN5alloc4heap24check_size_and_alignment15__STATIC_FMTSTR17h0c070412f9a1704fE, i32 0, i32 1) | |
%28 = getelementptr inbounds { i32* }, { i32* }* %_43.i, i32 0, i32 0 | |
store i32* %align.i, i32** %28 | |
%29 = getelementptr inbounds { i32* }, { i32* }* %_43.i, i32 0, i32 0 | |
%30 = load i32*, i32** %29, !nonnull !9 | |
call void @_ZN4core3fmt10ArgumentV13new17h8b30214a05ae76acE(%"core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8) %tmp_ret1.i, i32* noalias readonly dereferenceable(4) %30, i8 (i32*, %"core::fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hd186a95412e1e036E") | |
%31 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %tmp_ret1.i, i32 0, i32 0 | |
%32 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %tmp_ret1.i, i32 0, i32 1 | |
%33 = load %"core::fmt::Void"*, %"core::fmt::Void"** %31, !nonnull !9 | |
%34 = load i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)*, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %32 | |
%35 = getelementptr inbounds [1 x %"core::fmt::ArgumentV1"], [1 x %"core::fmt::ArgumentV1"]* %_42.i, i32 0, i32 0 | |
%36 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %35, i32 0, i32 0 | |
store %"core::fmt::Void"* %33, %"core::fmt::Void"** %36 | |
%37 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %35, i32 0, i32 1 | |
store i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* %34, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %37 | |
%38 = bitcast [1 x %"core::fmt::ArgumentV1"]* %_42.i to %"core::fmt::ArgumentV1"* | |
call void @_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(24) %_37.i, %str_slice* noalias nonnull readonly %26, i32 %27, %"core::fmt::ArgumentV1"* noalias nonnull readonly %38, i32 1) | |
call void @_ZN4core9panicking9panic_fmt17he9c7f335d160b59dE(%"core::fmt::Arguments"* noalias nocapture dereferenceable(24) %_37.i, { %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN5alloc4heap24check_size_and_alignment10_FILE_LINE17h5aab51be75daf954E) | |
unreachable | |
_ZN5alloc4heap24check_size_and_alignment17h02338cd31f2cbb59E.exit: ; preds = %bb4.i | |
br label %bb1 | |
bb1: ; preds = %_ZN5alloc4heap24check_size_and_alignment17h02338cd31f2cbb59E.exit | |
%39 = call i8* @__rust_reallocate(i8* %0, i32 %1, i32 %2, i32 %3) | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
ret i8* %39 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i8* @_ZN5alloc4heap8allocate17hb49e39ab82f954faE(i32, i32) unnamed_addr #0 { | |
entry-block: | |
%tmp_ret1.i = alloca %"core::fmt::ArgumentV1" | |
%tmp_ret.i = alloca %"core::fmt::ArgumentV1" | |
%_43.i = alloca { i32* } | |
%_42.i = alloca [1 x %"core::fmt::ArgumentV1"] | |
%_37.i = alloca %"core::fmt::Arguments" | |
%_33.i = alloca {} | |
%_32.i = alloca {} | |
%_24.i = alloca { i32* } | |
%_23.i = alloca [1 x %"core::fmt::ArgumentV1"] | |
%_18.i = alloca %"core::fmt::Arguments" | |
%_13.i = alloca {} | |
%_12.i = alloca {} | |
%_6.i = alloca {} | |
%_5.i = alloca {} | |
%align.i = alloca i32 | |
%size.i = alloca i32 | |
%_0.i = alloca {} | |
br label %start | |
start: ; preds = %entry-block | |
store i32 %0, i32* %size.i | |
store i32 %1, i32* %align.i | |
%2 = load i32, i32* %size.i | |
%3 = icmp ne i32 %2, 0 | |
%4 = xor i1 %3, true | |
br i1 %4, label %bb1.i, label %bb2.i | |
bb1.i: ; preds = %start | |
call void @_ZN4core9panicking5panic17hb790668694ff6b20E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @_ZN5alloc4heap24check_size_and_alignment14_MSG_FILE_LINE17h00c3435f05a4fcfdE) | |
unreachable | |
bb2.i: ; preds = %start | |
%5 = load i32, i32* %size.i | |
%6 = icmp ule i32 %5, 2147483647 | |
%7 = xor i1 %6, true | |
br i1 %7, label %bb3.i, label %bb4.i | |
bb3.i: ; preds = %bb2.i | |
%8 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i32 }, { %str_slice*, i32 }* @_ZN5alloc4heap24check_size_and_alignment15__STATIC_FMTSTR17h557f9e10d9f56ed3E, i32 0, i32 0), !nonnull !9 | |
%9 = load i32, i32* getelementptr inbounds ({ %str_slice*, i32 }, { %str_slice*, i32 }* @_ZN5alloc4heap24check_size_and_alignment15__STATIC_FMTSTR17h557f9e10d9f56ed3E, i32 0, i32 1) | |
%10 = getelementptr inbounds { i32* }, { i32* }* %_24.i, i32 0, i32 0 | |
store i32* %size.i, i32** %10 | |
%11 = getelementptr inbounds { i32* }, { i32* }* %_24.i, i32 0, i32 0 | |
%12 = load i32*, i32** %11, !nonnull !9 | |
call void @_ZN4core3fmt10ArgumentV13new17h8b30214a05ae76acE(%"core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8) %tmp_ret.i, i32* noalias readonly dereferenceable(4) %12, i8 (i32*, %"core::fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hd186a95412e1e036E") | |
%13 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %tmp_ret.i, i32 0, i32 0 | |
%14 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %tmp_ret.i, i32 0, i32 1 | |
%15 = load %"core::fmt::Void"*, %"core::fmt::Void"** %13, !nonnull !9 | |
%16 = load i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)*, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %14 | |
%17 = getelementptr inbounds [1 x %"core::fmt::ArgumentV1"], [1 x %"core::fmt::ArgumentV1"]* %_23.i, i32 0, i32 0 | |
%18 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %17, i32 0, i32 0 | |
store %"core::fmt::Void"* %15, %"core::fmt::Void"** %18 | |
%19 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %17, i32 0, i32 1 | |
store i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* %16, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %19 | |
%20 = bitcast [1 x %"core::fmt::ArgumentV1"]* %_23.i to %"core::fmt::ArgumentV1"* | |
call void @_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(24) %_18.i, %str_slice* noalias nonnull readonly %8, i32 %9, %"core::fmt::ArgumentV1"* noalias nonnull readonly %20, i32 1) | |
call void @_ZN4core9panicking9panic_fmt17he9c7f335d160b59dE(%"core::fmt::Arguments"* noalias nocapture dereferenceable(24) %_18.i, { %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN5alloc4heap24check_size_and_alignment10_FILE_LINE17h86fe1dae5ff439efE) | |
unreachable | |
bb4.i: ; preds = %bb2.i | |
%21 = load i32, i32* %align.i | |
%22 = call zeroext i1 @"_ZN4core3num23_$LT$impl$u20$usize$GT$15is_power_of_two17hc8f3d64c044ae4c4E"(i32 %21) | |
%23 = xor i1 %22, true | |
br i1 %23, label %bb8.i, label %_ZN5alloc4heap24check_size_and_alignment17h02338cd31f2cbb59E.exit | |
bb8.i: ; preds = %bb4.i | |
%24 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i32 }, { %str_slice*, i32 }* @_ZN5alloc4heap24check_size_and_alignment15__STATIC_FMTSTR17h0c070412f9a1704fE, i32 0, i32 0), !nonnull !9 | |
%25 = load i32, i32* getelementptr inbounds ({ %str_slice*, i32 }, { %str_slice*, i32 }* @_ZN5alloc4heap24check_size_and_alignment15__STATIC_FMTSTR17h0c070412f9a1704fE, i32 0, i32 1) | |
%26 = getelementptr inbounds { i32* }, { i32* }* %_43.i, i32 0, i32 0 | |
store i32* %align.i, i32** %26 | |
%27 = getelementptr inbounds { i32* }, { i32* }* %_43.i, i32 0, i32 0 | |
%28 = load i32*, i32** %27, !nonnull !9 | |
call void @_ZN4core3fmt10ArgumentV13new17h8b30214a05ae76acE(%"core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8) %tmp_ret1.i, i32* noalias readonly dereferenceable(4) %28, i8 (i32*, %"core::fmt::Formatter"*)* @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hd186a95412e1e036E") | |
%29 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %tmp_ret1.i, i32 0, i32 0 | |
%30 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %tmp_ret1.i, i32 0, i32 1 | |
%31 = load %"core::fmt::Void"*, %"core::fmt::Void"** %29, !nonnull !9 | |
%32 = load i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)*, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %30 | |
%33 = getelementptr inbounds [1 x %"core::fmt::ArgumentV1"], [1 x %"core::fmt::ArgumentV1"]* %_42.i, i32 0, i32 0 | |
%34 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %33, i32 0, i32 0 | |
store %"core::fmt::Void"* %31, %"core::fmt::Void"** %34 | |
%35 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %33, i32 0, i32 1 | |
store i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* %32, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %35 | |
%36 = bitcast [1 x %"core::fmt::ArgumentV1"]* %_42.i to %"core::fmt::ArgumentV1"* | |
call void @_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(24) %_37.i, %str_slice* noalias nonnull readonly %24, i32 %25, %"core::fmt::ArgumentV1"* noalias nonnull readonly %36, i32 1) | |
call void @_ZN4core9panicking9panic_fmt17he9c7f335d160b59dE(%"core::fmt::Arguments"* noalias nocapture dereferenceable(24) %_37.i, { %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN5alloc4heap24check_size_and_alignment10_FILE_LINE17h5aab51be75daf954E) | |
unreachable | |
_ZN5alloc4heap24check_size_and_alignment17h02338cd31f2cbb59E.exit: ; preds = %bb4.i | |
br label %bb1 | |
bb1: ; preds = %_ZN5alloc4heap24check_size_and_alignment17h02338cd31f2cbb59E.exit | |
%37 = call i8* @__rust_allocate(i32 %0, i32 %1) | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
ret i8* %37 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @_ZN5alloc7raw_vec11alloc_guard17h6a704e09c67af29eE(i32) unnamed_addr #0 { | |
entry-block: | |
%_5 = alloca {} | |
%_0 = alloca {} | |
br label %start | |
start: ; preds = %entry-block | |
%1 = call i32 @_ZN4core3mem7size_of17h8501faafc0670793E() | |
br label %bb1 | |
bb1: ; preds = %start | |
%2 = icmp ult i32 %1, 8 | |
br i1 %2, label %bb2, label %bb3 | |
bb2: ; preds = %bb1 | |
%3 = icmp ule i32 %0, 2147483647 | |
%4 = xor i1 %3, true | |
br i1 %4, label %bb4, label %bb5 | |
bb3: ; preds = %bb1 | |
br label %bb6 | |
bb4: ; preds = %bb2 | |
call void @_ZN4core9panicking5panic17hb790668694ff6b20E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @_ZN5alloc7raw_vec11alloc_guard14_MSG_FILE_LINE17ha97eb2e42644e724E) | |
unreachable | |
bb5: ; preds = %bb2 | |
br label %bb6 | |
bb6: ; preds = %bb3, %bb5 | |
ret void | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal dereferenceable(4) i32** @"_ZN63_$LT$core..ptr..Unique$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17hd16859f46ea91a08E"(%"core::ptr::Unique<isize>"* noalias readonly dereferenceable(4)) unnamed_addr #0 { | |
entry-block: | |
%transmute_temp = alloca i32** | |
br label %start | |
start: ; preds = %entry-block | |
%1 = getelementptr inbounds %"core::ptr::Unique<isize>", %"core::ptr::Unique<isize>"* %0, i32 0, i32 0 | |
%2 = call dereferenceable(4) i32** @"_ZN68_$LT$core..nonzero..NonZero$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h10cc308805aa5594E"(%"core::nonzero::NonZero<*const isize>"* noalias readonly dereferenceable(4) %1) | |
br label %bb1 | |
bb1: ; preds = %start | |
store i32** %2, i32*** %transmute_temp, align 4 | |
%3 = load i32**, i32*** %transmute_temp, !nonnull !9 | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
ret i32** %3 | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN66_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..Drop$GT$4drop17h5d15ec6c0a41d3cdE"(%"collections::vec::Vec<isize>"* dereferenceable(12)) unnamed_addr #1 { | |
entry-block: | |
%_9 = alloca %"core::ops::RangeFull" | |
%_0 = alloca {} | |
br label %start | |
start: ; preds = %entry-block | |
%1 = call { i32*, i32 } @"_ZN98_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..IndexMut$LT$core..ops..RangeFull$GT$$GT$9index_mut17hc7cc9925558b3123E"(%"collections::vec::Vec<isize>"* dereferenceable(12) %0) | |
%2 = extractvalue { i32*, i32 } %1, 0 | |
%3 = extractvalue { i32*, i32 } %1, 1 | |
br label %bb1 | |
bb1: ; preds = %start | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
ret void | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN67_$LT$alloc..raw_vec..RawVec$LT$T$GT$$u20$as$u20$core..ops..Drop$GT$4drop17h828055aa96f635aaE"(%"alloc::raw_vec::RawVec<isize>"* dereferenceable(8)) unnamed_addr #1 { | |
entry-block: | |
%_4 = alloca i8 | |
%_0 = alloca {} | |
br label %start | |
start: ; preds = %entry-block | |
%1 = call i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E() | |
br label %bb1 | |
bb1: ; preds = %start | |
%2 = icmp ne i32 %1, 0 | |
br i1 %2, label %bb4, label %bb3 | |
bb2: ; preds = %bb4 | |
store i8 1, i8* %_4 | |
br label %bb5 | |
bb3: ; preds = %bb4, %bb1 | |
store i8 0, i8* %_4 | |
br label %bb5 | |
bb4: ; preds = %bb1 | |
%3 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 1 | |
%4 = load i32, i32* %3 | |
%5 = icmp ne i32 %4, 0 | |
br i1 %5, label %bb2, label %bb3 | |
bb5: ; preds = %bb3, %bb2 | |
%6 = load i8, i8* %_4, !range !1 | |
%7 = trunc i8 %6 to i1 | |
br i1 %7, label %bb6, label %bb7 | |
bb6: ; preds = %bb5 | |
%8 = call i32 @_ZN4core3mem8align_of17h65ab8586e36c1162E() | |
br label %bb8 | |
bb7: ; preds = %bb5 | |
br label %bb12 | |
bb8: ; preds = %bb6 | |
%9 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 1 | |
%10 = load i32, i32* %9 | |
%11 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %1, i32 %10) | |
%12 = extractvalue { i32, i1 } %11, 0 | |
%13 = extractvalue { i32, i1 } %11, 1 | |
%14 = call i1 @llvm.expect.i1(i1 %13, i1 false) | |
br i1 %14, label %panic, label %bb9 | |
bb9: ; preds = %bb8 | |
%15 = getelementptr inbounds %"alloc::raw_vec::RawVec<isize>", %"alloc::raw_vec::RawVec<isize>"* %0, i32 0, i32 0 | |
%16 = call dereferenceable(4) i32** @"_ZN63_$LT$core..ptr..Unique$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17hd16859f46ea91a08E"(%"core::ptr::Unique<isize>"* noalias readonly dereferenceable(4) %15) | |
br label %bb10 | |
bb10: ; preds = %bb9 | |
%17 = load i32*, i32** %16 | |
%18 = bitcast i32* %17 to i8* | |
call void @_ZN5alloc4heap10deallocate17h5acaa15d61cc071bE(i8* %18, i32 %12, i32 %8) | |
br label %bb11 | |
bb11: ; preds = %bb10 | |
br label %bb12 | |
bb12: ; preds = %bb7, %bb11 | |
ret void | |
panic: ; preds = %bb8 | |
call void @_ZN4core9panicking5panic17hb790668694ff6b20E({ %str_slice, %str_slice, i32 }* @panic_loc.g) | |
unreachable | |
} | |
; Function Attrs: uwtable | |
define internal i8 @"_ZN67_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h0d27c943cb81dbc0E"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr #1 { | |
entry-block: | |
%abi_cast = alloca i8 | |
%_0 = alloca %"core::result::Result<(), core::fmt::Error>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = call { i32*, i32 } @"_ZN67_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17hda73ccf6deeee640E"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12) %0) | |
%3 = extractvalue { i32*, i32 } %2, 0 | |
%4 = extractvalue { i32*, i32 } %2, 1 | |
br label %bb1 | |
bb1: ; preds = %start | |
%5 = call i8 @"_ZN48_$LT$$u5b$T$u5d$$u20$as$u20$core..fmt..Debug$GT$3fmt17h36f3c98f6f281e1bE"(i32* noalias nonnull readonly %3, i32 %4, %"core::fmt::Formatter"* dereferenceable(52) %1) | |
store i8 %5, i8* %abi_cast | |
%6 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %abi_cast, i32 1, i32 1, i1 false) | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%7 = bitcast %"core::result::Result<(), core::fmt::Error>"* %_0 to i8* | |
%8 = load i8, i8* %7, align 1 | |
ret i8 %8 | |
} | |
; Function Attrs: uwtable | |
define internal { i32*, i32 } @"_ZN67_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17hda73ccf6deeee640E"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12)) unnamed_addr #1 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%1 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 0 | |
%2 = call i32* @"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3ptr17h6e6dbca3bb38b248E"(%"alloc::raw_vec::RawVec<isize>"* noalias readonly dereferenceable(8) %1) | |
br label %bb1 | |
bb1: ; preds = %start | |
%3 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h4700ca1333b78896E"(i32* %2) | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%4 = xor i1 %3, true | |
call void @llvm.assume(i1 %4) | |
br label %bb3 | |
bb3: ; preds = %bb2 | |
%5 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 1 | |
%6 = load i32, i32* %5 | |
%7 = call { i32*, i32 } @_ZN4core5slice14from_raw_parts17h444bffac668187a5E(i32* %2, i32 %6) | |
%8 = extractvalue { i32*, i32 } %7, 0 | |
%9 = extractvalue { i32*, i32 } %7, 1 | |
br label %bb4 | |
bb4: ; preds = %bb3 | |
%10 = insertvalue { i32*, i32 } undef, i32* %8, 0 | |
%11 = insertvalue { i32*, i32 } %10, i32 %9, 1 | |
ret { i32*, i32 } %11 | |
} | |
; Function Attrs: uwtable | |
define internal zeroext i1 @"_ZN68_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..SlicePartialEq$LT$A$GT$$GT$5equal17h4cc7b484d57a8cbaE"(i32* noalias nonnull readonly, i32, i32* noalias nonnull readonly, i32) unnamed_addr #1 { | |
entry-block: | |
%_11 = alloca {} | |
%_5 = alloca {} | |
%_0 = alloca i8 | |
br label %start | |
start: ; preds = %entry-block | |
%4 = call i32 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf53211ce24d9fa62E"(i32* noalias nonnull readonly %0, i32 %1) | |
br label %bb1 | |
bb1: ; preds = %start | |
%5 = call i32 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17hf53211ce24d9fa62E"(i32* noalias nonnull readonly %2, i32 %3) | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%6 = icmp ne i32 %4, %5 | |
br i1 %6, label %bb3, label %bb4 | |
bb3: ; preds = %bb2 | |
store i8 0, i8* %_0 | |
br label %bb6 | |
bb4: ; preds = %bb2 | |
%7 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17hc506f33bca2e14e5E"(i32* noalias nonnull readonly %0, i32 %1) | |
br label %bb7 | |
bb5: ; preds = %bb14, %bb6 | |
%8 = load i8, i8* %_0, !range !1 | |
%9 = trunc i8 %8 to i1 | |
ret i1 %9 | |
bb6: ; preds = %bb9, %bb3 | |
br label %bb5 | |
bb7: ; preds = %bb4 | |
%10 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17hc506f33bca2e14e5E"(i32* noalias nonnull readonly %2, i32 %3) | |
br label %bb8 | |
bb8: ; preds = %bb7 | |
%11 = icmp eq i32* %7, %10 | |
br i1 %11, label %bb9, label %bb10 | |
bb9: ; preds = %bb8 | |
store i8 1, i8* %_0 | |
br label %bb6 | |
bb10: ; preds = %bb8 | |
%12 = call i32 @_ZN4core3mem11size_of_val17h89e2907390b55efeE(i32* noalias nonnull readonly %0, i32 %1) | |
br label %bb11 | |
bb11: ; preds = %bb10 | |
%13 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17hc506f33bca2e14e5E"(i32* noalias nonnull readonly %0, i32 %1) | |
br label %bb12 | |
bb12: ; preds = %bb11 | |
%14 = bitcast i32* %13 to i8* | |
%15 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17hc506f33bca2e14e5E"(i32* noalias nonnull readonly %2, i32 %3) | |
br label %bb13 | |
bb13: ; preds = %bb12 | |
%16 = bitcast i32* %15 to i8* | |
%17 = call i32 @memcmp(i8* %14, i8* %16, i32 %12) | |
br label %bb14 | |
bb14: ; preds = %bb13 | |
%18 = icmp eq i32 %17, 0 | |
%19 = zext i1 %18 to i8 | |
store i8 %19, i8* %_0 | |
br label %bb5 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal dereferenceable(4) i32** @"_ZN68_$LT$core..nonzero..NonZero$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h10cc308805aa5594E"(%"core::nonzero::NonZero<*const isize>"* noalias readonly dereferenceable(4)) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%1 = getelementptr inbounds %"core::nonzero::NonZero<*const isize>", %"core::nonzero::NonZero<*const isize>"* %0, i32 0, i32 0 | |
ret i32** %1 | |
} | |
; Function Attrs: uwtable | |
define internal { i32*, i32 } @"_ZN70_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..DerefMut$GT$9deref_mut17hb7faaf01903b8a3eE"(%"collections::vec::Vec<isize>"* dereferenceable(12)) unnamed_addr #1 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%1 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 0 | |
%2 = call i32* @"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3ptr17h6e6dbca3bb38b248E"(%"alloc::raw_vec::RawVec<isize>"* noalias readonly dereferenceable(8) %1) | |
br label %bb1 | |
bb1: ; preds = %start | |
%3 = call zeroext i1 @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h4700ca1333b78896E"(i32* %2) | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
%4 = xor i1 %3, true | |
call void @llvm.assume(i1 %4) | |
br label %bb3 | |
bb3: ; preds = %bb2 | |
%5 = getelementptr inbounds %"collections::vec::Vec<isize>", %"collections::vec::Vec<isize>"* %0, i32 0, i32 1 | |
%6 = load i32, i32* %5 | |
%7 = call { i32*, i32 } @_ZN4core5slice18from_raw_parts_mut17ha40066db014fefddE(i32* %2, i32 %6) | |
%8 = extractvalue { i32*, i32 } %7, 0 | |
%9 = extractvalue { i32*, i32 } %7, 1 | |
br label %bb4 | |
bb4: ; preds = %bb3 | |
%10 = insertvalue { i32*, i32 } undef, i32* %8, 0 | |
%11 = insertvalue { i32*, i32 } %10, i32 %9, 1 | |
ret { i32*, i32 } %11 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal { i32*, i32 } @"_ZN73_$LT$core..ops..RangeFull$u20$as$u20$core..slice..SliceIndex$LT$T$GT$$GT$5index17h862c129474b254c0E"(i32* noalias nonnull readonly, i32) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%2 = insertvalue { i32*, i32 } undef, i32* %0, 0 | |
%3 = insertvalue { i32*, i32 } %2, i32 %1, 1 | |
ret { i32*, i32 } %3 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal i8* @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h168758974c2a2892E"(%"core::slice::Iter<isize>"* dereferenceable(8)) unnamed_addr #0 { | |
entry-block: | |
%_0.i.i = alloca i32* | |
%_17 = alloca i32* | |
%_3 = alloca {} | |
%_0 = alloca i8* | |
br label %start | |
start: ; preds = %entry-block | |
%1 = call i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E() | |
br label %bb1 | |
bb1: ; preds = %start | |
%2 = icmp ne i32 %1, 0 | |
br i1 %2, label %bb2, label %bb3 | |
bb2: ; preds = %bb1 | |
%3 = getelementptr inbounds %"core::slice::Iter<isize>", %"core::slice::Iter<isize>"* %0, i32 0, i32 0 | |
%4 = load i32*, i32** %3 | |
%5 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h6966f69e11eb5f3bE"(i32* %4) | |
br label %bb4 | |
bb3: ; preds = %bb1 | |
br label %bb8 | |
bb4: ; preds = %bb2 | |
%6 = xor i1 %5, true | |
call void @llvm.assume(i1 %6) | |
br label %bb5 | |
bb5: ; preds = %bb4 | |
%7 = getelementptr inbounds %"core::slice::Iter<isize>", %"core::slice::Iter<isize>"* %0, i32 0, i32 1 | |
%8 = load i32*, i32** %7 | |
%9 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h6966f69e11eb5f3bE"(i32* %8) | |
br label %bb6 | |
bb6: ; preds = %bb5 | |
%10 = xor i1 %9, true | |
call void @llvm.assume(i1 %10) | |
br label %bb7 | |
bb7: ; preds = %bb6 | |
br label %bb8 | |
bb8: ; preds = %bb3, %bb7 | |
%11 = getelementptr inbounds %"core::slice::Iter<isize>", %"core::slice::Iter<isize>"* %0, i32 0, i32 0 | |
%12 = load i32*, i32** %11 | |
%13 = getelementptr inbounds %"core::slice::Iter<isize>", %"core::slice::Iter<isize>"* %0, i32 0, i32 1 | |
%14 = load i32*, i32** %13 | |
%15 = icmp eq i32* %12, %14 | |
br i1 %15, label %bb9, label %bb10 | |
bb9: ; preds = %bb8 | |
store i8* null, i8** %_0 | |
br label %bb16 | |
bb10: ; preds = %bb8 | |
%16 = getelementptr inbounds %"core::slice::Iter<isize>", %"core::slice::Iter<isize>"* %0, i32 0, i32 0 | |
%17 = load i32*, i32** %16 | |
%18 = load i32*, i32** %16 | |
%19 = call i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E() | |
%20 = icmp eq i32 %19, 0 | |
br i1 %20, label %bb2.i.i, label %bb3.i.i | |
bb2.i.i: ; preds = %bb10 | |
%21 = bitcast i32* %18 to i8* | |
%22 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17h1595897c08996aa9E"(i8* %21, i32 1) | |
%23 = bitcast i8* %22 to i32* | |
store i32* %23, i32** %_0.i.i | |
br label %_ZN4core5slice10PointerExt8post_inc17h27614ccdf274e27fE.exit | |
bb3.i.i: ; preds = %bb10 | |
%24 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h1756066fd9968d61E"(i32* %18, i32 1) | |
store i32* %24, i32** %_0.i.i | |
br label %_ZN4core5slice10PointerExt8post_inc17h27614ccdf274e27fE.exit | |
_ZN4core5slice10PointerExt8post_inc17h27614ccdf274e27fE.exit: ; preds = %bb2.i.i, %bb3.i.i | |
%25 = load i32*, i32** %_0.i.i | |
store i32* %25, i32** %16 | |
br label %bb11 | |
bb11: ; preds = %_ZN4core5slice10PointerExt8post_inc17h27614ccdf274e27fE.exit | |
%26 = call i32 @_ZN4core3mem7size_of17hcaa7f7532e110d10E() | |
br label %bb12 | |
bb12: ; preds = %bb11 | |
%27 = icmp eq i32 %26, 0 | |
br i1 %27, label %bb13, label %bb14 | |
bb13: ; preds = %bb12 | |
store i32* inttoptr (i32 1 to i32*), i32** %_17 | |
br label %bb15 | |
bb14: ; preds = %bb12 | |
store i32* %17, i32** %_17 | |
br label %bb15 | |
bb15: ; preds = %bb14, %bb13 | |
%28 = load i32*, i32** %_17, !nonnull !9 | |
%29 = bitcast i8** %_0 to i32** | |
store i32* %28, i32** %29 | |
br label %bb16 | |
bb16: ; preds = %bb15, %bb9 | |
%30 = load i8*, i8** %_0 | |
ret i8* %30 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal void @"_ZN92_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..iter..traits..FromIterator$LT$T$GT$$GT$9from_iter17hb23e12a3a1ca6171E"(%"collections::vec::Vec<isize>"* noalias nocapture sret dereferenceable(12), %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12)) unnamed_addr #0 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
%_4 = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
%_3 = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
%iter = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1 to i8* | |
%3 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %iter to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 12, i32 4, i1 false) | |
%4 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %iter to i8* | |
%5 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %_4 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %4, i32 12, i32 4, i1 false) | |
invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h883a2a73801cd837E"(%"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture sret dereferenceable(12) %_3, %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12) %_4) | |
to label %bb2 unwind label %cleanup | |
bb1: ; preds = %cleanup | |
%6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %6 | |
bb2: ; preds = %start | |
invoke void @"_ZN97_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$collections..vec..SpecExtend$LT$T$C$$u20$I$GT$$GT$9from_iter17h16888636024459a4E"(%"collections::vec::Vec<isize>"* noalias nocapture sret dereferenceable(12) %0, %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12) %_3) | |
to label %bb3 unwind label %cleanup | |
bb3: ; preds = %bb2 | |
ret void | |
cleanup: ; preds = %bb2, %start | |
%7 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %7, { i8*, i32 }* %personalityslot | |
br label %bb1 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal { i32*, i32 } @"_ZN95_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..Index$LT$core..ops..RangeFull$GT$$GT$5index17h3b3abfed5d3de87bE"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12)) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%1 = call { i32*, i32 } @"_ZN67_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17hda73ccf6deeee640E"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12) %0) | |
%2 = extractvalue { i32*, i32 } %1, 0 | |
%3 = extractvalue { i32*, i32 } %1, 1 | |
br label %bb1 | |
bb1: ; preds = %start | |
%4 = insertvalue { i32*, i32 } undef, i32* %2, 0 | |
%5 = insertvalue { i32*, i32 } %4, i32 %3, 1 | |
ret { i32*, i32 } %5 | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN97_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$collections..vec..SpecExtend$LT$T$C$$u20$I$GT$$GT$11spec_extend17hf0ed68d83aa74e41E"(%"collections::vec::Vec<isize>"* dereferenceable(12), %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12)) unnamed_addr #1 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
%_6 = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
%iter = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
br label %start | |
start: ; preds = %entry-block | |
%2 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1 to i8* | |
%3 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %iter to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 12, i32 4, i1 false) | |
%4 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %iter to i8* | |
%5 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %_6 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %4, i32 12, i32 4, i1 false) | |
invoke void @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$16extend_desugared17h49bd5bbc15f3ff84E"(%"collections::vec::Vec<isize>"* dereferenceable(12) %0, %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12) %_6) | |
to label %bb2 unwind label %cleanup | |
bb1: ; preds = %cleanup | |
%6 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %6 | |
bb2: ; preds = %start | |
ret void | |
cleanup: ; preds = %start | |
%7 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %7, { i8*, i32 }* %personalityslot | |
br label %bb1 | |
} | |
; Function Attrs: uwtable | |
define internal void @"_ZN97_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$collections..vec..SpecExtend$LT$T$C$$u20$I$GT$$GT$9from_iter17h16888636024459a4E"(%"collections::vec::Vec<isize>"* noalias nocapture sret dereferenceable(12), %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12)) unnamed_addr #1 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%personalityslot = alloca { i8*, i32 } | |
%_34 = alloca i8 | |
%_33 = alloca i8 | |
%_32 = alloca i8 | |
%_31 = alloca i8 | |
%_30 = alloca i8 | |
%_29 = alloca %"collections::vec::Vec<isize>" | |
%_28 = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
%_25 = alloca %"collections::vec::Vec<isize>" | |
%_14 = alloca {} | |
%vector1 = alloca %"collections::vec::Vec<isize>" | |
%_9 = alloca { i32, %"core::option::Option<usize>" } | |
%_4 = alloca %"core::option::Option<isize>" | |
%vector = alloca %"collections::vec::Vec<isize>" | |
%iterator = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
br label %start | |
start: ; preds = %entry-block | |
store i8 0, i8* %_34 | |
store i8 0, i8* %_33 | |
store i8 0, i8* %_32 | |
store i8 0, i8* %_31 | |
store i8 0, i8* %_30 | |
store i8 1, i8* %_30 | |
%2 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %1 to i8* | |
%3 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %iterator to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 12, i32 4, i1 false) | |
invoke void @"_ZN118_$LT$core..iter..range..StepBy$LT$A$C$$u20$core..ops..Range$LT$A$GT$$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h5c5d949f560d7a14E"(%"core::option::Option<isize>"* noalias nocapture sret dereferenceable(8) %_4, %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* dereferenceable(12) %iterator) | |
to label %bb3 unwind label %cleanup | |
bb1: ; preds = %bb20, %bb2 | |
%4 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %4 | |
bb2: ; preds = %bb21, %bb22 | |
%5 = load i8, i8* %_30, !range !1 | |
%6 = trunc i8 %5 to i1 | |
br i1 %6, label %bb20, label %bb1 | |
bb3: ; preds = %start | |
store i8 1, i8* %_32 | |
%7 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %_4, i32 0, i32 0 | |
%8 = load i32, i32* %7, !range !2 | |
switch i32 %8, label %bb6 [ | |
i32 0, label %bb5 | |
] | |
bb4: ; preds = %bb26, %bb27 | |
%9 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %_4, i32 0, i32 0 | |
%10 = load i32, i32* %9, !range !2 | |
switch i32 %10, label %bb23 [ | |
i32 1, label %bb24 | |
] | |
bb5: ; preds = %bb3 | |
invoke void @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$3new17hcfc3389d2ced7781E"(%"collections::vec::Vec<isize>"* noalias nocapture sret dereferenceable(12) %0) | |
to label %bb8 unwind label %cleanup2 | |
bb6: ; preds = %bb3 | |
store i8 0, i8* %_32 | |
store i8 1, i8* %_33 | |
%11 = bitcast %"core::option::Option<isize>"* %_4 to { i32, i32 }* | |
%12 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %11, i32 0, i32 1 | |
%13 = load i32, i32* %12 | |
invoke void @"_ZN118_$LT$core..iter..range..StepBy$LT$A$C$$u20$core..ops..Range$LT$A$GT$$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$9size_hint17h549504389bdaacaeE"({ i32, %"core::option::Option<usize>" }* noalias nocapture sret dereferenceable(12) %_9, %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias readonly dereferenceable(12) %iterator) | |
to label %bb11 unwind label %cleanup2 | |
bb7: ; preds = %bb10, %bb19 | |
ret void | |
bb8: ; preds = %bb5 | |
store i8 0, i8* %_32 | |
br label %bb9 | |
bb9: ; preds = %bb8 | |
store i8 0, i8* %_30 | |
br label %bb10 | |
bb10: ; preds = %bb9 | |
br label %bb7 | |
bb11: ; preds = %bb6 | |
%14 = getelementptr inbounds { i32, %"core::option::Option<usize>" }, { i32, %"core::option::Option<usize>" }* %_9, i32 0, i32 0 | |
%15 = load i32, i32* %14 | |
%16 = invoke i32 @"_ZN4core3num23_$LT$impl$u20$usize$GT$14saturating_add17hb1fbb042544872deE"(i32 %15, i32 1) | |
to label %bb12 unwind label %cleanup3 | |
bb12: ; preds = %bb11 | |
invoke void @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$13with_capacity17hfd88081eec9bd485E"(%"collections::vec::Vec<isize>"* noalias nocapture sret dereferenceable(12) %vector1, i32 %16) | |
to label %bb13 unwind label %cleanup3 | |
bb13: ; preds = %bb12 | |
store i8 1, i8* %_34 | |
%17 = invoke { i32*, i32 } @"_ZN70_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..DerefMut$GT$9deref_mut17hb7faaf01903b8a3eE"(%"collections::vec::Vec<isize>"* dereferenceable(12) %vector1) | |
to label %bb14 unwind label %cleanup3 | |
bb14: ; preds = %bb13 | |
%18 = extractvalue { i32*, i32 } %17, 0 | |
%19 = extractvalue { i32*, i32 } %17, 1 | |
%20 = invoke dereferenceable(4) i32* @"_ZN11collections5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$17get_unchecked_mut17hf1a21cbe2a4ee656E"(i32* nonnull %18, i32 %19, i32 0) | |
to label %bb15 unwind label %cleanup3 | |
bb15: ; preds = %bb14 | |
store i8 0, i8* %_33 | |
invoke void @_ZN4core3ptr5write17hc62018ecf990a402E(i32* %20, i32 %13) | |
to label %bb16 unwind label %cleanup3 | |
bb16: ; preds = %bb15 | |
invoke void @"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$7set_len17hacb1d74822b7c024E"(%"collections::vec::Vec<isize>"* dereferenceable(12) %vector1, i32 1) | |
to label %bb17 unwind label %cleanup3 | |
bb17: ; preds = %bb16 | |
store i8 0, i8* %_34 | |
%21 = bitcast %"collections::vec::Vec<isize>"* %vector1 to i8* | |
%22 = bitcast %"collections::vec::Vec<isize>"* %_25 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %22, i8* %21, i32 12, i32 4, i1 false) | |
store i8 1, i8* %_31 | |
%23 = bitcast %"collections::vec::Vec<isize>"* %_25 to i8* | |
%24 = bitcast %"collections::vec::Vec<isize>"* %vector to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %23, i32 12, i32 4, i1 false) | |
%25 = getelementptr inbounds %"core::option::Option<isize>", %"core::option::Option<isize>"* %_4, i32 0, i32 0 | |
%26 = load i32, i32* %25, !range !2 | |
switch i32 %26, label %bb30 [ | |
i32 1, label %bb18 | |
] | |
bb18: ; preds = %bb30, %bb17 | |
store i8 0, i8* %_30 | |
%27 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %iterator to i8* | |
%28 = bitcast %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* %_28 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %28, i8* %27, i32 12, i32 4, i1 false) | |
invoke void @"_ZN97_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$collections..vec..SpecExtend$LT$T$C$$u20$I$GT$$GT$11spec_extend17hf0ed68d83aa74e41E"(%"collections::vec::Vec<isize>"* dereferenceable(12) %vector, %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12) %_28) | |
to label %bb19 unwind label %cleanup | |
bb19: ; preds = %bb18 | |
store i8 0, i8* %_31 | |
%29 = bitcast %"collections::vec::Vec<isize>"* %vector to i8* | |
%30 = bitcast %"collections::vec::Vec<isize>"* %_29 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %30, i8* %29, i32 12, i32 4, i1 false) | |
%31 = bitcast %"collections::vec::Vec<isize>"* %_29 to i8* | |
%32 = bitcast %"collections::vec::Vec<isize>"* %0 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %32, i8* %31, i32 12, i32 4, i1 false) | |
br label %bb7 | |
bb20: ; preds = %bb2 | |
store i8 0, i8* %_30 | |
br label %bb1 | |
bb21: ; preds = %bb22 | |
store i8 0, i8* %_31 | |
call void @_ZN4drop17hda3a3227b902a756E(%"collections::vec::Vec<isize>"* %vector) | |
br label %bb2 | |
bb22: ; preds = %bb25, %bb24, %bb23, %cleanup | |
%33 = load i8, i8* %_31, !range !1 | |
%34 = trunc i8 %33 to i1 | |
br i1 %34, label %bb21, label %bb2 | |
bb23: ; preds = %bb4 | |
br label %bb22 | |
bb24: ; preds = %bb4 | |
%35 = load i8, i8* %_32, !range !1 | |
%36 = trunc i8 %35 to i1 | |
br i1 %36, label %bb25, label %bb22 | |
bb25: ; preds = %bb24 | |
store i8 0, i8* %_32 | |
br label %bb22 | |
bb26: ; preds = %bb27 | |
store i8 0, i8* %_33 | |
br label %bb4 | |
bb27: ; preds = %bb28, %bb29, %cleanup2 | |
%37 = load i8, i8* %_33, !range !1 | |
%38 = trunc i8 %37 to i1 | |
br i1 %38, label %bb26, label %bb4 | |
bb28: ; preds = %bb29 | |
store i8 0, i8* %_34 | |
call void @_ZN4drop17hda3a3227b902a756E(%"collections::vec::Vec<isize>"* %vector1) | |
br label %bb27 | |
bb29: ; preds = %cleanup3 | |
%39 = load i8, i8* %_34, !range !1 | |
%40 = trunc i8 %39 to i1 | |
br i1 %40, label %bb28, label %bb27 | |
bb30: ; preds = %bb17 | |
br label %bb18 | |
cleanup: ; preds = %bb18, %start | |
%41 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %41, { i8*, i32 }* %personalityslot | |
br label %bb22 | |
cleanup2: ; preds = %bb5, %bb6 | |
%42 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %42, { i8*, i32 }* %personalityslot | |
br label %bb27 | |
cleanup3: ; preds = %bb16, %bb15, %bb14, %bb13, %bb12, %bb11 | |
%43 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %43, { i8*, i32 }* %personalityslot | |
br label %bb29 | |
} | |
; Function Attrs: inlinehint uwtable | |
define internal { i32*, i32 } @"_ZN98_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..IndexMut$LT$core..ops..RangeFull$GT$$GT$9index_mut17hc7cc9925558b3123E"(%"collections::vec::Vec<isize>"* dereferenceable(12)) unnamed_addr #0 { | |
entry-block: | |
br label %start | |
start: ; preds = %entry-block | |
%1 = call { i32*, i32 } @"_ZN70_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..DerefMut$GT$9deref_mut17hb7faaf01903b8a3eE"(%"collections::vec::Vec<isize>"* dereferenceable(12) %0) | |
%2 = extractvalue { i32*, i32 } %1, 0 | |
%3 = extractvalue { i32*, i32 } %1, 1 | |
br label %bb1 | |
bb1: ; preds = %start | |
%4 = insertvalue { i32*, i32 } undef, i32* %2, 0 | |
%5 = insertvalue { i32*, i32 } %4, i32 %3, 1 | |
ret { i32*, i32 } %5 | |
} | |
; Function Attrs: uwtable | |
define internal void @_ZN4farm4main17h8da056cb67c7e794E() unnamed_addr #1 personality i32 (i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality { | |
entry-block: | |
%tmp_ret3 = alloca %"core::fmt::ArgumentV1" | |
%tmp_ret = alloca %"core::fmt::ArgumentV1" | |
%arg1 = alloca %"core::ops::Range<isize>" | |
%personalityslot = alloca { i8*, i32 } | |
%arg = alloca %"core::ops::Range<isize>" | |
%_24 = alloca { %"collections::vec::Vec<isize>"**, [0 x i32]** } | |
%_23 = alloca [2 x %"core::fmt::ArgumentV1"] | |
%_18 = alloca %"core::fmt::Arguments" | |
%right_val = alloca [0 x i32]* | |
%left_val = alloca %"collections::vec::Vec<isize>"* | |
%_8 = alloca %"core::ops::Range<isize>" | |
%_7 = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
%_6 = alloca %"collections::vec::Vec<isize>" | |
%_4 = alloca { %"collections::vec::Vec<isize>"*, [0 x i32]* } | |
%_3 = alloca %"core::ops::Range<isize>" | |
%_2 = alloca %"core::iter::range::StepBy<isize, core::ops::Range<isize>>" | |
%_1 = alloca %"collections::vec::Vec<isize>" | |
%_0 = alloca {} | |
br label %start | |
start: ; preds = %entry-block | |
%0 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %_3, i32 0, i32 0 | |
store i32 200, i32* %0 | |
%1 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %_3, i32 0, i32 1 | |
store i32 -5, i32* %1 | |
%2 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %_3, i32 0, i32 0 | |
%3 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %_3, i32 0, i32 1 | |
%4 = load i32, i32* %2 | |
%5 = load i32, i32* %3 | |
%6 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %arg, i32 0, i32 0 | |
store i32 %4, i32* %6 | |
%7 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %arg, i32 0, i32 1 | |
store i32 %5, i32* %7 | |
call void @"_ZN4core4iter5range43_$LT$impl$u20$core..ops..Range$LT$A$GT$$GT$7step_by17ha24258a8601f244bE"(%"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture sret dereferenceable(12) %_2, %"core::ops::Range<isize>"* noalias nocapture dereferenceable(8) %arg, i32 1) | |
br label %bb1 | |
bb1: ; preds = %start | |
call void @_ZN4core4iter8iterator8Iterator7collect17h68b276c36a921e76E(%"collections::vec::Vec<isize>"* noalias nocapture sret dereferenceable(12) %_1, %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12) %_2) | |
br label %bb2 | |
bb2: ; preds = %bb1 | |
invoke void @_ZN4drop17hda3a3227b902a756E(%"collections::vec::Vec<isize>"* %_1) | |
to label %bb3 unwind label %cleanup | |
bb3: ; preds = %bb2 | |
%8 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %_8, i32 0, i32 0 | |
store i32 200, i32* %8 | |
%9 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %_8, i32 0, i32 1 | |
store i32 200, i32* %9 | |
%10 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %_8, i32 0, i32 0 | |
%11 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %_8, i32 0, i32 1 | |
%12 = load i32, i32* %10 | |
%13 = load i32, i32* %11 | |
%14 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %arg1, i32 0, i32 0 | |
store i32 %12, i32* %14 | |
%15 = getelementptr inbounds %"core::ops::Range<isize>", %"core::ops::Range<isize>"* %arg1, i32 0, i32 1 | |
store i32 %13, i32* %15 | |
call void @"_ZN4core4iter5range43_$LT$impl$u20$core..ops..Range$LT$A$GT$$GT$7step_by17ha24258a8601f244bE"(%"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture sret dereferenceable(12) %_7, %"core::ops::Range<isize>"* noalias nocapture dereferenceable(8) %arg1, i32 1) | |
br label %bb4 | |
bb4: ; preds = %bb3 | |
call void @_ZN4core4iter8iterator8Iterator7collect17h68b276c36a921e76E(%"collections::vec::Vec<isize>"* noalias nocapture sret dereferenceable(12) %_6, %"core::iter::range::StepBy<isize, core::ops::Range<isize>>"* noalias nocapture dereferenceable(12) %_7) | |
br label %bb5 | |
bb5: ; preds = %bb4 | |
%16 = getelementptr inbounds { %"collections::vec::Vec<isize>"*, [0 x i32]* }, { %"collections::vec::Vec<isize>"*, [0 x i32]* }* %_4, i32 0, i32 0 | |
store %"collections::vec::Vec<isize>"* %_6, %"collections::vec::Vec<isize>"** %16 | |
%17 = getelementptr inbounds { %"collections::vec::Vec<isize>"*, [0 x i32]* }, { %"collections::vec::Vec<isize>"*, [0 x i32]* }* %_4, i32 0, i32 1 | |
store [0 x i32]* @ref.h, [0 x i32]** %17 | |
%18 = getelementptr inbounds { %"collections::vec::Vec<isize>"*, [0 x i32]* }, { %"collections::vec::Vec<isize>"*, [0 x i32]* }* %_4, i32 0, i32 0 | |
%19 = load %"collections::vec::Vec<isize>"*, %"collections::vec::Vec<isize>"** %18, !nonnull !9 | |
store %"collections::vec::Vec<isize>"* %19, %"collections::vec::Vec<isize>"** %left_val | |
%20 = getelementptr inbounds { %"collections::vec::Vec<isize>"*, [0 x i32]* }, { %"collections::vec::Vec<isize>"*, [0 x i32]* }* %_4, i32 0, i32 1 | |
%21 = load [0 x i32]*, [0 x i32]** %20, !nonnull !9 | |
store [0 x i32]* %21, [0 x i32]** %right_val | |
%22 = load %"collections::vec::Vec<isize>"*, %"collections::vec::Vec<isize>"** %left_val, !nonnull !9 | |
%23 = load [0 x i32]*, [0 x i32]** %right_val, !nonnull !9 | |
%24 = invoke zeroext i1 @"_ZN101_$LT$collections..vec..Vec$LT$A$GT$$u20$as$u20$core..cmp..PartialEq$LT$$u5b$B$u3b$$u20$0$u5d$$GT$$GT$2eq17h260bbf388bffd928E"(%"collections::vec::Vec<isize>"* noalias readonly dereferenceable(12) %22, [0 x i32]* noalias readonly %23) | |
to label %bb8 unwind label %cleanup2 | |
bb6: ; preds = %bb7, %cleanup | |
%25 = load { i8*, i32 }, { i8*, i32 }* %personalityslot | |
resume { i8*, i32 } %25 | |
bb7: ; preds = %cleanup2 | |
call void @_ZN4drop17hda3a3227b902a756E(%"collections::vec::Vec<isize>"* %_6) | |
br label %bb6 | |
bb8: ; preds = %bb5 | |
%26 = xor i1 %24, true | |
br i1 %26, label %bb9, label %bb10 | |
bb9: ; preds = %bb8 | |
%27 = load %str_slice*, %str_slice** getelementptr inbounds ({ %str_slice*, i32 }, { %str_slice*, i32 }* @_ZN4farm4main15__STATIC_FMTSTR17hec44f1053dc1d4f9E, i32 0, i32 0), !nonnull !9 | |
%28 = load i32, i32* getelementptr inbounds ({ %str_slice*, i32 }, { %str_slice*, i32 }* @_ZN4farm4main15__STATIC_FMTSTR17hec44f1053dc1d4f9E, i32 0, i32 1) | |
%29 = getelementptr inbounds { %"collections::vec::Vec<isize>"**, [0 x i32]** }, { %"collections::vec::Vec<isize>"**, [0 x i32]** }* %_24, i32 0, i32 0 | |
store %"collections::vec::Vec<isize>"** %left_val, %"collections::vec::Vec<isize>"*** %29 | |
%30 = getelementptr inbounds { %"collections::vec::Vec<isize>"**, [0 x i32]** }, { %"collections::vec::Vec<isize>"**, [0 x i32]** }* %_24, i32 0, i32 1 | |
store [0 x i32]** %right_val, [0 x i32]*** %30 | |
%31 = getelementptr inbounds { %"collections::vec::Vec<isize>"**, [0 x i32]** }, { %"collections::vec::Vec<isize>"**, [0 x i32]** }* %_24, i32 0, i32 0 | |
%32 = load %"collections::vec::Vec<isize>"**, %"collections::vec::Vec<isize>"*** %31, !nonnull !9 | |
%33 = getelementptr inbounds { %"collections::vec::Vec<isize>"**, [0 x i32]** }, { %"collections::vec::Vec<isize>"**, [0 x i32]** }* %_24, i32 0, i32 1 | |
%34 = load [0 x i32]**, [0 x i32]*** %33, !nonnull !9 | |
invoke void @_ZN4core3fmt10ArgumentV13new17h4b93ed0528bb15c6E(%"core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8) %tmp_ret, %"collections::vec::Vec<isize>"** noalias readonly dereferenceable(4) %32, i8 (%"collections::vec::Vec<isize>"**, %"core::fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hf2572bffe505eb08E") | |
to label %bb11 unwind label %cleanup2 | |
bb10: ; preds = %bb8 | |
invoke void @_ZN4drop17hda3a3227b902a756E(%"collections::vec::Vec<isize>"* %_6) | |
to label %bb14 unwind label %cleanup | |
bb11: ; preds = %bb9 | |
%35 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %tmp_ret, i32 0, i32 0 | |
%36 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %tmp_ret, i32 0, i32 1 | |
%37 = load %"core::fmt::Void"*, %"core::fmt::Void"** %35, !nonnull !9 | |
%38 = load i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)*, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %36 | |
invoke void @_ZN4core3fmt10ArgumentV13new17h6972ba66dd8899c7E(%"core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8) %tmp_ret3, [0 x i32]** noalias readonly dereferenceable(4) %34, i8 ([0 x i32]**, %"core::fmt::Formatter"*)* @"_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h55fc9138d8f966ebE") | |
to label %bb12 unwind label %cleanup2 | |
bb12: ; preds = %bb11 | |
%39 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 0 | |
%40 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %tmp_ret3, i32 0, i32 1 | |
%41 = load %"core::fmt::Void"*, %"core::fmt::Void"** %39, !nonnull !9 | |
%42 = load i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)*, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %40 | |
%43 = getelementptr inbounds [2 x %"core::fmt::ArgumentV1"], [2 x %"core::fmt::ArgumentV1"]* %_23, i32 0, i32 0 | |
%44 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %43, i32 0, i32 0 | |
store %"core::fmt::Void"* %37, %"core::fmt::Void"** %44 | |
%45 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %43, i32 0, i32 1 | |
store i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* %38, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %45 | |
%46 = getelementptr inbounds [2 x %"core::fmt::ArgumentV1"], [2 x %"core::fmt::ArgumentV1"]* %_23, i32 0, i32 1 | |
%47 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %46, i32 0, i32 0 | |
store %"core::fmt::Void"* %41, %"core::fmt::Void"** %47 | |
%48 = getelementptr inbounds %"core::fmt::ArgumentV1", %"core::fmt::ArgumentV1"* %46, i32 0, i32 1 | |
store i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* %42, i8 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)** %48 | |
%49 = bitcast [2 x %"core::fmt::ArgumentV1"]* %_23 to %"core::fmt::ArgumentV1"* | |
invoke void @_ZN4core3fmt9Arguments6new_v117haf3166c487b5521aE(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(24) %_18, %str_slice* noalias nonnull readonly %27, i32 %28, %"core::fmt::ArgumentV1"* noalias nonnull readonly %49, i32 2) | |
to label %bb13 unwind label %cleanup2 | |
bb13: ; preds = %bb12 | |
invoke void @_ZN3std9panicking15begin_panic_fmt17haa043917b5d6f21bE(%"core::fmt::Arguments"* noalias readonly dereferenceable(24) %_18, { %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN4farm4main10_FILE_LINE17h9cb38694b2dbd7adE) | |
to label %unreachable unwind label %cleanup2 | |
bb14: ; preds = %bb10 | |
ret void | |
cleanup: ; preds = %bb10, %bb2 | |
%50 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %50, { i8*, i32 }* %personalityslot | |
br label %bb6 | |
cleanup2: ; preds = %bb13, %bb12, %bb11, %bb9, %bb5 | |
%51 = landingpad { i8*, i32 } | |
cleanup | |
store { i8*, i32 } %51, { i8*, i32 }* %personalityslot | |
br label %bb7 | |
unreachable: ; preds = %bb13 | |
unreachable | |
} | |
; Function Attrs: nounwind | |
declare i32 @rust_eh_personality(i32, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*) unnamed_addr #2 | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture writeonly, i8* nocapture readonly, i32, i32, i1) #3 | |
; Function Attrs: cold noinline noreturn | |
declare void @_ZN4core6option13expect_failed17h4aee2e09812a5db0E(i8* noalias nonnull readonly, i32) unnamed_addr #4 | |
; Function Attrs: nounwind readnone | |
declare { i32, i1 } @llvm.uadd.with.overflow.i32(i32, i32) #5 | |
; Function Attrs: nounwind readnone | |
declare i1 @llvm.expect.i1(i1, i1) #5 | |
; Function Attrs: cold noinline noreturn | |
declare void @_ZN4core9panicking5panic17hb790668694ff6b20E({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20)) unnamed_addr #4 | |
; Function Attrs: cold noinline noreturn | |
declare void @_ZN5alloc3oom3oom17h418421088806e038E() unnamed_addr #4 | |
; Function Attrs: nounwind readnone | |
declare { i32, i1 } @llvm.umul.with.overflow.i32(i32, i32) #5 | |
declare i8 @_ZN4core3fmt8builders9DebugList6finish17h0623428817418634E(%"core::fmt::builders::DebugList"* dereferenceable(8)) unnamed_addr | |
declare dereferenceable(8) %"core::fmt::builders::DebugList"* @_ZN4core3fmt8builders9DebugList5entry17hd9c8b4dc15f5fa44E(%"core::fmt::builders::DebugList"* dereferenceable(8), i8* nonnull, void (i8*)** noalias nonnull readonly) unnamed_addr | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.memset.p0i8.i32(i8* nocapture writeonly, i8, i32, i32, i1) #3 | |
declare void @_ZN4core3fmt8builders14debug_list_new17h87c529c93343d084E(%"core::fmt::builders::DebugList"* noalias nocapture sret dereferenceable(8), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr | |
; Function Attrs: nounwind readnone | |
declare { i32, i1 } @llvm.sadd.with.overflow.i32(i32, i32) #5 | |
declare i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$isize$GT$3fmt17hd531887b89f04cd2E"(i32* noalias readonly dereferenceable(4), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr | |
; Function Attrs: nounwind | |
declare void @llvm.assume(i1) #2 | |
; Function Attrs: nounwind | |
declare void @__rust_deallocate(i8*, i32, i32) unnamed_addr #2 | |
; Function Attrs: nounwind | |
declare i8* @__rust_reallocate(i8*, i32, i32, i32) unnamed_addr #2 | |
declare i8 @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17hd186a95412e1e036E"(i32* noalias readonly dereferenceable(4), %"core::fmt::Formatter"* dereferenceable(52)) unnamed_addr | |
; Function Attrs: cold noinline noreturn | |
declare void @_ZN4core9panicking9panic_fmt17he9c7f335d160b59dE(%"core::fmt::Arguments"* noalias nocapture dereferenceable(24), { %str_slice, i32 }* noalias readonly dereferenceable(12)) unnamed_addr #4 | |
; Function Attrs: nounwind | |
declare noalias i8* @__rust_allocate(i32, i32) unnamed_addr #2 | |
; Function Attrs: nounwind | |
declare i32 @memcmp(i8*, i8*, i32) unnamed_addr #2 | |
; Function Attrs: cold noinline noreturn | |
declare void @_ZN3std9panicking15begin_panic_fmt17haa043917b5d6f21bE(%"core::fmt::Arguments"* noalias readonly dereferenceable(24), { %str_slice, i32 }* noalias readonly dereferenceable(12)) unnamed_addr #4 | |
define i32 @main(i32, i8**) unnamed_addr { | |
top: | |
%2 = call i32 @_ZN3std2rt10lang_start17hb7fc7ec87b663023E(i8* bitcast (void ()* @_ZN4farm4main17h8da056cb67c7e794E to i8*), i32 %0, i8** %1) | |
ret i32 %2 | |
} | |
declare i32 @_ZN3std2rt10lang_start17hb7fc7ec87b663023E(i8*, i32, i8**) unnamed_addr | |
attributes #0 = { inlinehint uwtable } | |
attributes #1 = { uwtable } | |
attributes #2 = { nounwind } | |
attributes #3 = { argmemonly nounwind } | |
attributes #4 = { cold noinline noreturn } | |
attributes #5 = { nounwind readnone } | |
!llvm.module.flags = !{!0} | |
!0 = !{i32 1, !"PIE Level", i32 2} | |
!1 = !{i8 0, i8 2} | |
!2 = !{i32 0, i32 2} | |
!3 = !{!4} | |
!4 = distinct !{!4, !5, !"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3cap17h4438e6dbdb0d0f7dE: argument 0"} | |
!5 = distinct !{!5, !"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3cap17h4438e6dbdb0d0f7dE"} | |
!6 = !{!7} | |
!7 = distinct !{!7, !8, !"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3cap17h4438e6dbdb0d0f7dE: argument 0"} | |
!8 = distinct !{!8, !"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3cap17h4438e6dbdb0d0f7dE"} | |
!9 = !{} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#![feature(fmt_internals, libstd_sys_internals, step_by)] | |
fn main() { | |
(200..-5).step_by(1).collect::<Vec<isize>>(); | |
match (&(200..200).step_by(1).collect::<Vec<isize>>(), &[]) { | |
(left_val, right_val) => { | |
if !(*left_val == *right_val) { | |
::std::rt::begin_panic_fmt( | |
&::std::fmt::Arguments::new_v1( | |
{ | |
static __STATIC_FMTSTR: &'static [&'static str] = &[]; | |
__STATIC_FMTSTR | |
}, | |
&match (&left_val, &right_val) { | |
(__arg0, __arg1) => [ | |
::std::fmt::ArgumentV1::new(__arg0, ::std::fmt::Debug::fmt), | |
::std::fmt::ArgumentV1::new(__arg1, ::std::fmt::Debug::fmt) | |
] | |
} | |
), | |
{ | |
static _FILE_LINE: (&'static str, u32) = ("", 0); | |
&_FILE_LINE | |
} | |
) | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment