Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; ModuleID = 'bad-position-simple.bad_position_simple3.rcgu.no-opt.bc'
- source_filename = "bad_position_simple3-317d481089b8c8fe83113de504472633.rs"
- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- target triple = "x86_64-unknown-linux-gnu"
- %"core::option::Option<usize>" = type { [0 x i64], i64, [1 x i64] }
- %"core::option::Option<usize>::Some" = type { [1 x i64], i64, [0 x i64] }
- %"core::result::Result<usize, usize>" = type { [0 x i64], i64, [1 x i64] }
- %"core::result::Result<usize, usize>::Err" = type { [1 x i64], i64, [0 x i64] }
- %"core::fmt::Arguments" = type { [0 x i64], { [0 x { [0 x i8]*, i64 }]*, i64 }, [0 x i64], %"core::option::Option<&[core::fmt::rt::v1::Argument]>", [0 x i64], { [0 x { i8*, i8* }]*, i64 }, [0 x i64] }
- %"core::option::Option<&[core::fmt::rt::v1::Argument]>" = type { [0 x i64], {}*, [1 x i64] }
- %"core::fmt::rt::v1::Argument" = type { [0 x i64], %"core::fmt::rt::v1::Position", [0 x i64], %"core::fmt::rt::v1::FormatSpec", [0 x i64] }
- %"core::fmt::rt::v1::Position" = type { [0 x i64], i64, [1 x i64] }
- %"core::fmt::rt::v1::FormatSpec" = type { [0 x i64], %"core::fmt::rt::v1::Count", [0 x i64], %"core::fmt::rt::v1::Count", [0 x i32], i32, [0 x i32], i32, [0 x i8], i8, [7 x i8] }
- %"core::fmt::rt::v1::Count" = type { [0 x i64], i64, [1 x i64] }
- %"core::option::Option<isize>" = type { [0 x i64], i64, [1 x i64] }
- %"core::option::Option<isize>::Some" = type { [1 x i64], i64, [0 x i64] }
- %"core::slice::{{impl}}::position::{{closure}}<u32, import_path_to_string::{{closure}}>" = type { [0 x i8], %"import_path_to_string::{{closure}}", [0 x i8] }
- %"import_path_to_string::{{closure}}" = type {}
- %"core::result::Result<usize, usize>::Ok" = type { [1 x i64], i64, [0 x i64] }
- %"unwind::libunwind::_Unwind_Exception" = type { [0 x i64], i64, [0 x i64], void (i32, %"unwind::libunwind::_Unwind_Exception"*)*, [0 x i64], [6 x i64], [0 x i64] }
- %"unwind::libunwind::_Unwind_Context" = type { [0 x i8] }
- %"core::fmt::Formatter" = type { [0 x i64], %"core::option::Option<usize>", [0 x i64], %"core::option::Option<usize>", [0 x i64], { {}*, {}* }, [0 x i64], { i64*, i64* }, [0 x i64], { [0 x { i8*, i8* }]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i8], i8, [7 x i8] }
- @str.0 = internal constant [40 x i8] c"/home/alex/code/rust4/src/libcore/ptr.rs"
- @str.1 = internal constant [25 x i8] c"attempt to divide by zero"
- @panic_loc.2 = private unnamed_addr constant { { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 } { { [0 x i8]*, i64 } { [0 x i8]* bitcast ([25 x i8]* @str.1 to [0 x i8]*), i64 25 }, { [0 x i8]*, i64 } { [0 x i8]* bitcast ([40 x i8]* @str.0 to [0 x i8]*), i64 40 }, i32 699, i32 18 }, align 8
- @str.3 = internal constant [31 x i8] c"attempt to divide with overflow"
- @panic_loc.4 = private unnamed_addr constant { { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 } { { [0 x i8]*, i64 } { [0 x i8]* bitcast ([31 x i8]* @str.3 to [0 x i8]*), i64 31 }, { [0 x i8]*, i64 } { [0 x i8]* bitcast ([40 x i8]* @str.0 to [0 x i8]*), i64 40 }, i32 699, i32 18 }, align 8
- @str.5 = internal constant [46 x i8] c"/home/alex/code/rust4/src/libcore/slice/mod.rs"
- @panic_loc.6 = private unnamed_addr constant { { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 } { { [0 x i8]*, i64 } { [0 x i8]* bitcast ([25 x i8]* @str.1 to [0 x i8]*), i64 25 }, { [0 x i8]*, i64 } { [0 x i8]* bitcast ([46 x i8]* @str.5 to [0 x i8]*), i64 46 }, i32 1343, i32 23 }, align 8
- @str.7 = internal constant [28 x i8] c"attempt to add with overflow"
- @panic_loc.8 = private unnamed_addr constant { { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 } { { [0 x i8]*, i64 } { [0 x i8]* bitcast ([28 x i8]* @str.7 to [0 x i8]*), i64 28 }, { [0 x i8]*, i64 } { [0 x i8]* bitcast ([46 x i8]* @str.5 to [0 x i8]*), i64 46 }, i32 1252, i32 31 }, align 8
- @str.9 = internal constant [33 x i8] c"attempt to subtract with overflow"
- @panic_loc.a = private unnamed_addr constant { { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 } { { [0 x i8]*, i64 } { [0 x i8]* bitcast ([33 x i8]* @str.9 to [0 x i8]*), i64 33 }, { [0 x i8]*, i64 } { [0 x i8]* bitcast ([46 x i8]* @str.5 to [0 x i8]*), i64 46 }, i32 903, i32 68 }, align 8
- @ref.b = private unnamed_addr constant [1 x i32] [i32 1], align 4
- @ref.c = private unnamed_addr constant [0 x i32] zeroinitializer, align 4
- @str.d = internal constant [22 x i8] c"bad-position-simple.rs"
- @panic_bounds_check_loc.e = private unnamed_addr constant { { [0 x i8]*, i64 }, i32, i32 } { { [0 x i8]*, i64 } { [0 x i8]* bitcast ([22 x i8]* @str.d to [0 x i8]*), i64 22 }, i32 8, i32 39 }, align 8
- @str.f = internal constant [0 x i8] zeroinitializer
- @ref.g = private unnamed_addr constant [1 x { [0 x i8]*, i64 }] [{ [0 x i8]*, i64 } { [0 x i8]* @str.f, i64 0 }], align 8
- @ref.h = private unnamed_addr constant { { [0 x i8], { i64, [0 x i8], i64, [0 x i8] }, [0 x i8], { [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], i32, [0 x i8], i32, [0 x i8], i8, [7 x i8] }, [0 x i8] } } { { [0 x i8], { i64, [0 x i8], i64, [0 x i8] }, [0 x i8], { [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], i32, [0 x i8], i32, [0 x i8], i8, [7 x i8] }, [0 x i8] } { [0 x i8] undef, { i64, [0 x i8], i64, [0 x i8] } { i64 1, [0 x i8] undef, i64 0, [0 x i8] undef }, [0 x i8] undef, { [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], i32, [0 x i8], i32, [0 x i8], i8, [7 x i8] } { [0 x i8] undef, <{ i64, [8 x i8] }> <{ i64 3, [8 x i8] undef }>, [0 x i8] undef, <{ i64, [8 x i8] }> <{ i64 3, [8 x i8] undef }>, [0 x i8] undef, i32 32, [0 x i8] undef, i32 0, [0 x i8] undef, i8 3, [7 x i8] undef }, [0 x i8] undef } }, align 8
- @const.i = private unnamed_addr constant { { [0 x i8], { i64, [0 x i8], i64, [0 x i8] }, [0 x i8], { [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], i32, [0 x i8], i32, [0 x i8], i8, [7 x i8] }, [0 x i8] } }* @ref.h, align 8
- @ref.j = private unnamed_addr constant { [0 x i8], { [0 x i8]*, i64 }, [0 x i8], i32, [0 x i8], i32, [0 x i8] } { [0 x i8] undef, { [0 x i8]*, i64 } { [0 x i8]* bitcast ([22 x i8]* @str.d to [0 x i8]*), i64 22 }, [0 x i8] undef, i32 14, [0 x i8] undef, i32 13, [0 x i8] undef }, align 8
- @const.k = private unnamed_addr constant { [0 x i8], { [0 x i8]*, i64 }, [0 x i8], i32, [0 x i8], i32, [0 x i8] }* @ref.j, align 8
- @panic_loc.l = private unnamed_addr constant { { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 } { { [0 x i8]*, i64 } { [0 x i8]* bitcast ([28 x i8]* @str.7 to [0 x i8]*), i64 28 }, { [0 x i8]*, i64 } { [0 x i8]* bitcast ([22 x i8]* @str.d to [0 x i8]*), i64 22 }, i32 10, i32 43 }, align 8
- @panic_loc.m = private unnamed_addr constant { { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 } { { [0 x i8]*, i64 } { [0 x i8]* bitcast ([28 x i8]* @str.7 to [0 x i8]*), i64 28 }, { [0 x i8]*, i64 } { [0 x i8]* bitcast ([22 x i8]* @str.d to [0 x i8]*), i64 22 }, i32 10, i32 70 }, align 8
- ; Function Attrs: inlinehint uwtable
- define internal { [0 x i32]*, i64 } @"_ZN101_$LT$core..ops..range..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h078f68a8309cb374E"(i64, [0 x i32]* noalias nonnull readonly, i64) unnamed_addr #0 {
- %4 = alloca { i64, i64 }, align 8
- %5 = bitcast { i64, i64 }* %4 to i64*
- store i64 0, i64* %5, align 8
- %6 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %4, i32 0, i32 1
- store i64 %0, i64* %6, align 8
- %7 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %4, i32 0, i32 0
- %8 = load i64, i64* %7, align 8
- %9 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %4, i32 0, i32 1
- %10 = load i64, i64* %9, align 8
- %11 = call { [0 x i32]*, i64 } @"_ZN99_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h5697259416355b17E"(i64 %8, i64 %10, [0 x i32]* noalias nonnull readonly %1, i64 %2)
- %12 = extractvalue { [0 x i32]*, i64 } %11, 0
- %13 = extractvalue { [0 x i32]*, i64 } %11, 1
- br label %14
- ; <label>:14: ; preds = %3
- %15 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %12, 0
- %16 = insertvalue { [0 x i32]*, i64 } %15, i64 %13, 1
- ret { [0 x i32]*, i64 } %16
- }
- ; Function Attrs: inlinehint uwtable
- define internal { [0 x i32]*, i64 } @"_ZN103_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h10a46beecb6fa85fE"(i64, [0 x i32]* noalias nonnull readonly, i64) unnamed_addr #0 {
- %4 = alloca { i64, i64 }, align 8
- %5 = bitcast { i64, i64 }* %4 to i64*
- store i64 %0, i64* %5, align 8
- %6 = call i64 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17he70cfd9d37ed05efE"([0 x i32]* noalias nonnull readonly %1, i64 %2)
- br label %7
- ; <label>:7: ; preds = %3
- %8 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %4, i32 0, i32 1
- store i64 %6, i64* %8, align 8
- %9 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %4, i32 0, i32 0
- %10 = load i64, i64* %9, align 8
- %11 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %4, i32 0, i32 1
- %12 = load i64, i64* %11, align 8
- %13 = call { [0 x i32]*, i64 } @"_ZN99_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h5697259416355b17E"(i64 %10, i64 %12, [0 x i32]* noalias nonnull readonly %1, i64 %2)
- %14 = extractvalue { [0 x i32]*, i64 } %13, 0
- %15 = extractvalue { [0 x i32]*, i64 } %13, 1
- br label %16
- ; <label>:16: ; preds = %7
- %17 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %14, 0
- %18 = insertvalue { [0 x i32]*, i64 } %17, i64 %15, 1
- ret { [0 x i32]*, i64 } %18
- }
- ; Function Attrs: inlinehint uwtable
- define internal void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17hac95c6f09e5eb2e1E"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(16), %"core::option::Option<usize>"* noalias nocapture dereferenceable(16), i64* noalias readonly dereferenceable(8)) unnamed_addr #0 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality {
- %4 = alloca { i8*, i32 }, align 8
- %5 = alloca i8, align 1
- %6 = alloca i8, align 1
- %7 = alloca i64, align 8
- store i8 0, i8* %6, align 1
- store i8 0, i8* %5, align 1
- store i8 1, i8* %6, align 1
- store i8 1, i8* %5, align 1
- %8 = bitcast %"core::option::Option<usize>"* %1 to i64*
- %9 = load i64, i64* %8, align 8, !range !1
- %10 = bitcast %"core::option::Option<usize>"* %1 to i64*
- %11 = load i64, i64* %10, align 8, !range !1
- switch i64 %11, label %22 [
- i64 0, label %20
- i64 1, label %23
- ]
- ; <label>:12: ; preds = %43, %42, %39
- %13 = bitcast { i8*, i32 }* %4 to i8**
- %14 = load i8*, i8** %13, align 8
- %15 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- %16 = load i32, i32* %15, align 4
- %17 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.end.p0i8(i64 16, i8* %17)
- %18 = insertvalue { i8*, i32 } undef, i8* %14, 0
- %19 = insertvalue { i8*, i32 } %18, i32 %16, 1
- resume { i8*, i32 } %19
- ; <label>:20: ; preds = %3
- %21 = bitcast %"core::option::Option<usize>"* %0 to i64*
- store i64 0, i64* %21, align 8
- br label %33
- ; <label>:22: ; preds = %3
- unreachable
- ; <label>:23: ; preds = %3
- store i8 0, i8* %6, align 1
- %24 = bitcast %"core::option::Option<usize>"* %1 to %"core::option::Option<usize>::Some"*
- %25 = getelementptr inbounds %"core::option::Option<usize>::Some", %"core::option::Option<usize>::Some"* %24, i32 0, i32 1
- %26 = load i64, i64* %25, align 8
- store i64 %26, i64* %7, align 8
- store i8 0, i8* %5, align 1
- %27 = bitcast %"core::option::Option<usize>"* %0 to %"core::option::Option<usize>::Some"*
- %28 = getelementptr inbounds %"core::option::Option<usize>::Some", %"core::option::Option<usize>::Some"* %27, i32 0, i32 1
- %29 = load i64, i64* %7, align 8
- %30 = invoke i64 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hab0db5dfbde4de17E"(i64* noalias readonly dereferenceable(8) %2, i64 %29)
- to label %31 unwind label %54
- ; <label>:31: ; preds = %23
- store i64 %30, i64* %28, align 8
- %32 = bitcast %"core::option::Option<usize>"* %0 to i64*
- store i64 1, i64* %32, align 8
- br label %33
- ; <label>:33: ; preds = %31, %20
- %34 = load i8, i8* %5, align 1, !range !2
- %35 = trunc i8 %34 to i1
- br i1 %35, label %47, label %36
- ; <label>:36: ; preds = %47, %33
- %37 = bitcast %"core::option::Option<usize>"* %1 to i64*
- %38 = load i64, i64* %37, align 8, !range !1
- switch i64 %38, label %53 [
- i64 1, label %49
- ]
- ; <label>:39: ; preds = %44
- %40 = load i8, i8* %6, align 1, !range !2
- %41 = trunc i8 %40 to i1
- br i1 %41, label %42, label %12
- ; <label>:42: ; preds = %39
- store i8 0, i8* %6, align 1
- br label %12
- ; <label>:43: ; preds = %44
- br label %12
- ; <label>:44: ; preds = %54
- %45 = bitcast %"core::option::Option<usize>"* %1 to i64*
- %46 = load i64, i64* %45, align 8, !range !1
- switch i64 %46, label %43 [
- i64 1, label %39
- ]
- ; <label>:47: ; preds = %33
- store i8 0, i8* %5, align 1
- br label %36
- ; <label>:48: ; preds = %53, %52, %49
- ret void
- ; <label>:49: ; preds = %36
- %50 = load i8, i8* %6, align 1, !range !2
- %51 = trunc i8 %50 to i1
- br i1 %51, label %52, label %48
- ; <label>:52: ; preds = %49
- store i8 0, i8* %6, align 1
- br label %48
- ; <label>:53: ; preds = %36
- br label %48
- ; <label>:54: ; preds = %23
- %55 = landingpad { i8*, i32 }
- cleanup
- %56 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %56)
- %57 = extractvalue { i8*, i32 } %55, 0
- %58 = extractvalue { i8*, i32 } %55, 1
- %59 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 0
- store i8* %57, i8** %59, align 8
- %60 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- store i32 %58, i32* %60, align 8
- br label %44
- }
- ; Function Attrs: inlinehint uwtable
- define internal void @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$3err17h7575ad3e8a4fc754E"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(16), %"core::result::Result<usize, usize>"* noalias nocapture dereferenceable(16)) unnamed_addr #0 {
- %3 = alloca i8, align 1
- store i8 0, i8* %3, align 1
- store i8 1, i8* %3, align 1
- %4 = bitcast %"core::result::Result<usize, usize>"* %1 to i64*
- %5 = load i64, i64* %4, align 8, !range !1
- %6 = bitcast %"core::result::Result<usize, usize>"* %1 to i64*
- %7 = load i64, i64* %6, align 8, !range !1
- switch i64 %7, label %10 [
- i64 0, label %8
- i64 1, label %11
- ]
- ; <label>:8: ; preds = %2
- %9 = bitcast %"core::option::Option<usize>"* %0 to i64*
- store i64 0, i64* %9, align 8
- br label %18
- ; <label>:10: ; preds = %2
- unreachable
- ; <label>:11: ; preds = %2
- store i8 0, i8* %3, align 1
- %12 = bitcast %"core::option::Option<usize>"* %0 to %"core::option::Option<usize>::Some"*
- %13 = getelementptr inbounds %"core::option::Option<usize>::Some", %"core::option::Option<usize>::Some"* %12, i32 0, i32 1
- %14 = bitcast %"core::result::Result<usize, usize>"* %1 to %"core::result::Result<usize, usize>::Err"*
- %15 = getelementptr inbounds %"core::result::Result<usize, usize>::Err", %"core::result::Result<usize, usize>::Err"* %14, i32 0, i32 1
- %16 = load i64, i64* %15, align 8
- store i64 %16, i64* %13, align 8
- %17 = bitcast %"core::option::Option<usize>"* %0 to i64*
- store i64 1, i64* %17, align 8
- br label %18
- ; <label>:18: ; preds = %11, %8
- %19 = bitcast %"core::result::Result<usize, usize>"* %1 to i64*
- %20 = load i64, i64* %19, align 8, !range !1
- switch i64 %20, label %26 [
- i64 1, label %22
- ]
- ; <label>:21: ; preds = %26, %25, %22
- ret void
- ; <label>:22: ; preds = %18
- %23 = load i8, i8* %3, align 1, !range !2
- %24 = trunc i8 %23 to i1
- br i1 %24, label %25, label %21
- ; <label>:25: ; preds = %22
- store i8 0, i8* %3, align 1
- br label %21
- ; <label>:26: ; preds = %18
- br label %21
- }
- ; Function Attrs: inlinehint uwtable
- define internal void @_ZN4core3fmt9Arguments16new_v1_formatted17hea2ae333548f7201E(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(48), [0 x { [0 x i8]*, i64 }]* noalias nonnull readonly, i64, [0 x { i8*, i8* }]* noalias nonnull readonly, i64, [0 x %"core::fmt::rt::v1::Argument"]* noalias nonnull readonly, i64) unnamed_addr #0 {
- %8 = alloca %"core::option::Option<&[core::fmt::rt::v1::Argument]>", align 8
- %9 = bitcast %"core::fmt::Arguments"* %0 to { [0 x { [0 x i8]*, i64 }]*, i64 }*
- %10 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %9, i32 0, i32 0
- store [0 x { [0 x i8]*, i64 }]* %1, [0 x { [0 x i8]*, i64 }]** %10, align 8
- %11 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %9, i32 0, i32 1
- store i64 %2, i64* %11, align 8
- %12 = bitcast %"core::option::Option<&[core::fmt::rt::v1::Argument]>"* %8 to { i64*, i64 }*
- %13 = bitcast { i64*, i64 }* %12 to { [0 x %"core::fmt::rt::v1::Argument"]*, i64 }*
- %14 = getelementptr inbounds { [0 x %"core::fmt::rt::v1::Argument"]*, i64 }, { [0 x %"core::fmt::rt::v1::Argument"]*, i64 }* %13, i32 0, i32 0
- store [0 x %"core::fmt::rt::v1::Argument"]* %5, [0 x %"core::fmt::rt::v1::Argument"]** %14, align 8
- %15 = getelementptr inbounds { [0 x %"core::fmt::rt::v1::Argument"]*, i64 }, { [0 x %"core::fmt::rt::v1::Argument"]*, i64 }* %13, i32 0, i32 1
- store i64 %6, i64* %15, align 8
- %16 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 3
- %17 = bitcast %"core::option::Option<&[core::fmt::rt::v1::Argument]>"* %8 to i8*
- %18 = bitcast %"core::option::Option<&[core::fmt::rt::v1::Argument]>"* %16 to i8*
- call void @llvm.memcpy.p0i8.p0i8.i64(i8* %18, i8* %17, i64 16, i32 8, i1 false)
- %19 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 5
- %20 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %19, i32 0, i32 0
- store [0 x { i8*, i8* }]* %3, [0 x { i8*, i8* }]** %20, align 8
- %21 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %19, i32 0, i32 1
- store i64 %4, i64* %21, align 8
- ret void
- }
- ; Function Attrs: inlinehint uwtable
- define internal i64 @_ZN4core3mem7size_of17h1d6b4cc7f7420375E() unnamed_addr #0 {
- %1 = alloca i64, align 8
- %2 = bitcast i64* %1 to i8*
- call void @llvm.lifetime.start.p0i8(i64 8, i8* %2)
- store i64 4, i64* %1, align 8
- %3 = load i64, i64* %1, align 8
- %4 = bitcast i64* %1 to i8*
- call void @llvm.lifetime.end.p0i8(i64 8, i8* %4)
- br label %5
- ; <label>:5: ; preds = %0
- ret i64 %3
- }
- ; Function Attrs: inlinehint uwtable
- define internal i64 @"_ZN4core3num23_$LT$impl$u20$isize$GT$12wrapping_sub17h0d8b1ee1946e0e7eE"(i64, i64) unnamed_addr #0 {
- %3 = alloca i64, align 8
- %4 = bitcast i64* %3 to i8*
- call void @llvm.lifetime.start.p0i8(i64 8, i8* %4)
- %5 = sub i64 %0, %1
- store i64 %5, i64* %3, align 8
- %6 = load i64, i64* %3, align 8
- %7 = bitcast i64* %3 to i8*
- call void @llvm.lifetime.end.p0i8(i64 8, i8* %7)
- br label %8
- ; <label>:8: ; preds = %2
- ret i64 %6
- }
- ; Function Attrs: inlinehint uwtable
- define internal i64 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17h25b775332ef31d00E"(i64, i64) unnamed_addr #0 {
- %3 = alloca i64, align 8
- %4 = bitcast i64* %3 to i8*
- call void @llvm.lifetime.start.p0i8(i64 8, i8* %4)
- %5 = sub i64 %0, %1
- store i64 %5, i64* %3, align 8
- %6 = load i64, i64* %3, align 8
- %7 = bitcast i64* %3 to i8*
- call void @llvm.lifetime.end.p0i8(i64 8, i8* %7)
- br label %8
- ; <label>:8: ; preds = %2
- ret i64 %6
- }
- ; Function Attrs: inlinehint uwtable
- define internal i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17ha2ba679b8b637d52E"(i8*, i64) unnamed_addr #0 {
- %3 = alloca i8*, align 8
- %4 = bitcast i8** %3 to i8*
- call void @llvm.lifetime.start.p0i8(i64 8, i8* %4)
- %5 = getelementptr i8, i8* %0, i64 %1
- store i8* %5, i8** %3, align 8
- %6 = load i8*, i8** %3, align 8
- %7 = bitcast i8** %3 to i8*
- call void @llvm.lifetime.end.p0i8(i64 8, i8* %7)
- br label %8
- ; <label>:8: ; preds = %2
- ret i8* %6
- }
- ; Function Attrs: inlinehint uwtable
- define internal i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h2db78cc51ca12da6E"(i32*, i64) unnamed_addr #0 {
- %3 = alloca i32*, align 8
- %4 = bitcast i32** %3 to i8*
- call void @llvm.lifetime.start.p0i8(i64 8, i8* %4)
- %5 = getelementptr inbounds i32, i32* %0, i64 %1
- store i32* %5, i32** %3, align 8
- %6 = load i32*, i32** %3, align 8
- %7 = bitcast i32** %3 to i8*
- call void @llvm.lifetime.end.p0i8(i64 8, i8* %7)
- br label %8
- ; <label>:8: ; preds = %2
- ret i32* %6
- }
- ; Function Attrs: inlinehint uwtable
- define internal zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h364a758ace70a8a3E"(i32*) unnamed_addr #0 {
- %2 = bitcast i32* %0 to i8*
- %3 = call i8* @_ZN4core3ptr4null17h78c18f9f5259760aE()
- br label %4
- ; <label>:4: ; preds = %1
- %5 = icmp eq i8* %2, %3
- ret i1 %5
- }
- ; Function Attrs: inlinehint uwtable
- define internal void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h84ef24894944509aE"(%"core::option::Option<isize>"* noalias nocapture sret dereferenceable(16), i32*, i32*) unnamed_addr #0 {
- %4 = call i64 @_ZN4core3mem7size_of17h1d6b4cc7f7420375E()
- br label %5
- ; <label>:5: ; preds = %3
- %6 = icmp eq i64 %4, 0
- br i1 %6, label %7, label %9
- ; <label>:7: ; preds = %5
- %8 = bitcast %"core::option::Option<isize>"* %0 to i64*
- store i64 0, i64* %8, align 8
- br label %27
- ; <label>:9: ; preds = %5
- %10 = ptrtoint i32* %2 to i64
- %11 = ptrtoint i32* %1 to i64
- %12 = call i64 @"_ZN4core3num23_$LT$impl$u20$isize$GT$12wrapping_sub17h0d8b1ee1946e0e7eE"(i64 %10, i64 %11)
- br label %13
- ; <label>:13: ; preds = %9
- %14 = icmp ule i64 %4, -1
- call void @llvm.assume(i1 %14)
- %15 = icmp eq i64 %4, 0
- %16 = call i1 @llvm.expect.i1(i1 %15, i1 false)
- br i1 %16, label %28, label %17
- ; <label>:17: ; preds = %13
- %18 = icmp eq i64 %4, -1
- %19 = icmp eq i64 %12, -9223372036854775808
- %20 = and i1 %18, %19
- %21 = call i1 @llvm.expect.i1(i1 %20, i1 false)
- br i1 %21, label %29, label %22
- ; <label>:22: ; preds = %17
- %23 = bitcast %"core::option::Option<isize>"* %0 to %"core::option::Option<isize>::Some"*
- %24 = getelementptr inbounds %"core::option::Option<isize>::Some", %"core::option::Option<isize>::Some"* %23, i32 0, i32 1
- %25 = sdiv i64 %12, %4
- store i64 %25, i64* %24, align 8
- %26 = bitcast %"core::option::Option<isize>"* %0 to i64*
- store i64 1, i64* %26, align 8
- br label %27
- ; <label>:27: ; preds = %22, %7
- ret void
- ; <label>:28: ; preds = %13
- call void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40) bitcast ({ { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 }* @panic_loc.2 to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
- unreachable
- ; <label>:29: ; preds = %17
- call void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40) bitcast ({ { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 }* @panic_loc.4 to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
- unreachable
- }
- ; Function Attrs: inlinehint uwtable
- define internal i8* @_ZN4core3ptr4null17h78c18f9f5259760aE() unnamed_addr #0 {
- call void @llvm.assume(i1 true)
- ret i8* null
- }
- ; Function Attrs: alwaysinline uwtable
- define internal i32* @_ZN4core5slice10PointerExt8post_inc17hc9f8b6822179ed09E(i32** dereferenceable(8)) unnamed_addr #1 {
- %2 = load i32*, i32** %0, align 8
- %3 = load i32*, i32** %0, align 8
- %4 = call i32* @"_ZN59_$LT$$BP$const$u20$T$u20$as$u20$core..slice..PointerExt$GT$12slice_offset17h7aa1452c7557c220E"(i32* %3, i64 1)
- br label %5
- ; <label>:5: ; preds = %1
- store i32* %4, i32** %0, align 8
- ret i32* %2
- }
- ; Function Attrs: alwaysinline uwtable
- define internal i64 @_ZN4core5slice11ptrdistance17h036ab170e59738e1E(i32*, i32*) unnamed_addr #1 {
- %3 = alloca %"core::option::Option<isize>", align 8
- %4 = alloca i64, align 8
- call void @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$9offset_to17h84ef24894944509aE"(%"core::option::Option<isize>"* noalias nocapture sret dereferenceable(16) %3, i32* %0, i32* %1)
- br label %5
- ; <label>:5: ; preds = %2
- %6 = bitcast %"core::option::Option<isize>"* %3 to i64*
- %7 = load i64, i64* %6, align 8, !range !1
- %8 = bitcast %"core::option::Option<isize>"* %3 to i64*
- %9 = load i64, i64* %8, align 8, !range !1
- switch i64 %9, label %14 [
- i64 0, label %10
- i64 1, label %15
- ]
- ; <label>:10: ; preds = %5
- %11 = ptrtoint i32* %1 to i64
- %12 = ptrtoint i32* %0 to i64
- %13 = call i64 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17h25b775332ef31d00E"(i64 %11, i64 %12)
- store i64 %13, i64* %4, align 8
- br label %20
- ; <label>:14: ; preds = %5
- unreachable
- ; <label>:15: ; preds = %5
- %16 = bitcast %"core::option::Option<isize>"* %3 to %"core::option::Option<isize>::Some"*
- %17 = getelementptr inbounds %"core::option::Option<isize>::Some", %"core::option::Option<isize>::Some"* %16, i32 0, i32 1
- %18 = load i64, i64* %17, align 8
- %19 = icmp ule i64 %18, -1
- call void @llvm.assume(i1 %19)
- store i64 %18, i64* %4, align 8
- br label %20
- ; <label>:20: ; preds = %15, %10
- %21 = load i64, i64* %4, align 8
- ret i64 %21
- }
- ; Function Attrs: inlinehint uwtable
- define internal i64 @_ZN4core5slice13size_from_ptr17h73637563565851c6E(i32*) unnamed_addr #0 {
- %2 = call i64 @_ZN4core3mem7size_of17h1d6b4cc7f7420375E()
- br label %3
- ; <label>:3: ; preds = %1
- ret i64 %2
- }
- ; Function Attrs: inlinehint uwtable
- define internal { [0 x i32]*, i64 } @_ZN4core5slice14from_raw_parts17hacb157bb9f25ba37E(i32*, i64) unnamed_addr #0 {
- %3 = alloca { [0 x i32]*, i64 }, align 8
- %4 = alloca { i32*, i64 }, align 8
- %5 = bitcast { i32*, i64 }* %4 to i32**
- store i32* %0, i32** %5, align 8
- %6 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %4, i32 0, i32 1
- store i64 %1, i64* %6, align 8
- %7 = bitcast { [0 x i32]*, i64 }* %3 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %7)
- %8 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %4, i32 0, i32 0
- %9 = load i32*, i32** %8, align 8
- %10 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %4, i32 0, i32 1
- %11 = load i64, i64* %10, align 8
- %12 = bitcast { [0 x i32]*, i64 }* %3 to { i32*, i64 }*
- %13 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %12, i32 0, i32 0
- store i32* %9, i32** %13, align 8
- %14 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %12, i32 0, i32 1
- store i64 %11, i64* %14, align 8
- %15 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %3, i32 0, i32 0
- %16 = load [0 x i32]*, [0 x i32]** %15, align 8, !nonnull !3
- %17 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %3, i32 0, i32 1
- %18 = load i64, i64* %17, align 8
- %19 = bitcast { [0 x i32]*, i64 }* %3 to i8*
- call void @llvm.lifetime.end.p0i8(i64 16, i8* %19)
- br label %20
- ; <label>:20: ; preds = %2
- %21 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %16, 0
- %22 = insertvalue { [0 x i32]*, i64 } %21, i64 %18, 1
- ret { [0 x i32]*, i64 } %22
- }
- ; Function Attrs: inlinehint uwtable
- define internal { [0 x i32]*, i64 } @"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h0fe7e803fce1e20aE"([0 x i32]* noalias nonnull readonly, i64, i64, i64) unnamed_addr #0 {
- %5 = call { [0 x i32]*, i64 } @"_ZN99_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h5697259416355b17E"(i64 %2, i64 %3, [0 x i32]* noalias nonnull readonly %0, i64 %1)
- %6 = extractvalue { [0 x i32]*, i64 } %5, 0
- %7 = extractvalue { [0 x i32]*, i64 } %5, 1
- br label %8
- ; <label>:8: ; preds = %4
- %9 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %6, 0
- %10 = insertvalue { [0 x i32]*, i64 } %9, i64 %7, 1
- ret { [0 x i32]*, i64 } %10
- }
- ; Function Attrs: inlinehint uwtable
- define internal { [0 x i32]*, i64 } @"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h41f64f54e8d1b7d6E"([0 x i32]* noalias nonnull readonly, i64, i64) unnamed_addr #0 {
- %4 = call { [0 x i32]*, i64 } @"_ZN101_$LT$core..ops..range..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h078f68a8309cb374E"(i64 %2, [0 x i32]* noalias nonnull readonly %0, i64 %1)
- %5 = extractvalue { [0 x i32]*, i64 } %4, 0
- %6 = extractvalue { [0 x i32]*, i64 } %4, 1
- br label %7
- ; <label>:7: ; preds = %3
- %8 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %5, 0
- %9 = insertvalue { [0 x i32]*, i64 } %8, i64 %6, 1
- ret { [0 x i32]*, i64 } %9
- }
- ; Function Attrs: inlinehint uwtable
- define internal { [0 x i32]*, i64 } @"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hd2e2694457d96551E"([0 x i32]* noalias nonnull readonly, i64, i64) unnamed_addr #0 {
- %4 = call { [0 x i32]*, i64 } @"_ZN103_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h10a46beecb6fa85fE"(i64 %2, [0 x i32]* noalias nonnull readonly %0, i64 %1)
- %5 = extractvalue { [0 x i32]*, i64 } %4, 0
- %6 = extractvalue { [0 x i32]*, i64 } %4, 1
- br label %7
- ; <label>:7: ; preds = %3
- %8 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %5, 0
- %9 = insertvalue { [0 x i32]*, i64 } %8, i64 %6, 1
- ret { [0 x i32]*, i64 } %9
- }
- ; Function Attrs: inlinehint uwtable
- define internal i64 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17he70cfd9d37ed05efE"([0 x i32]* noalias nonnull readonly, i64) unnamed_addr #0 {
- %3 = alloca { i32*, i64 }, align 8
- %4 = bitcast { i32*, i64 }* %3 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %4)
- %5 = bitcast { i32*, i64 }* %3 to { [0 x i32]*, i64 }*
- %6 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %5, i32 0, i32 0
- store [0 x i32]* %0, [0 x i32]** %6, align 8
- %7 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %5, i32 0, i32 1
- store i64 %1, i64* %7, align 8
- %8 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %3, i32 0, i32 0
- %9 = load i32*, i32** %8, align 8
- %10 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %3, i32 0, i32 1
- %11 = load i64, i64* %10, align 8
- %12 = bitcast { i32*, i64 }* %3 to i8*
- call void @llvm.lifetime.end.p0i8(i64 16, i8* %12)
- br label %13
- ; <label>:13: ; preds = %2
- ret i64 %11
- }
- ; Function Attrs: inlinehint uwtable
- define internal { i32*, i32* } @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h7c6ea9d74db5e50cE"([0 x i32]* noalias nonnull readonly, i64) unnamed_addr #0 {
- %3 = alloca i32*, align 8
- %4 = alloca i32*, align 8
- %5 = alloca { i32*, i32* }, align 8
- %6 = call i64 @_ZN4core3mem7size_of17h1d6b4cc7f7420375E()
- br label %7
- ; <label>:7: ; preds = %2
- %8 = icmp eq i64 %6, 0
- br i1 %8, label %9, label %10
- ; <label>:9: ; preds = %7
- call void @llvm.assume(i1 true)
- store i32* inttoptr (i64 1 to i32*), i32** %4, align 8
- br label %17
- ; <label>:10: ; preds = %7
- %11 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h32215ff12a098383E"([0 x i32]* noalias nonnull readonly %0, i64 %1)
- br label %12
- ; <label>:12: ; preds = %10
- %13 = call zeroext i1 @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$7is_null17h364a758ace70a8a3E"(i32* %11)
- br label %14
- ; <label>:14: ; preds = %12
- %15 = xor i1 %13, true
- call void @llvm.assume(i1 %15)
- br label %16
- ; <label>:16: ; preds = %14
- store i32* %11, i32** %4, align 8
- br label %17
- ; <label>:17: ; preds = %16, %9
- %18 = bitcast { i32*, i32* }* %5 to i32**
- %19 = load i32*, i32** %4, align 8
- store i32* %19, i32** %18, align 8
- %20 = load i32*, i32** %4, align 8
- %21 = call i64 @_ZN4core5slice13size_from_ptr17h73637563565851c6E(i32* %20)
- br label %22
- ; <label>:22: ; preds = %17
- %23 = icmp eq i64 %21, 0
- br i1 %23, label %24, label %27
- ; <label>:24: ; preds = %22
- %25 = bitcast i32* %20 to i8*
- %26 = call i64 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17he70cfd9d37ed05efE"([0 x i32]* noalias nonnull readonly %0, i64 %1)
- br label %29
- ; <label>:27: ; preds = %22
- %28 = call i64 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17he70cfd9d37ed05efE"([0 x i32]* noalias nonnull readonly %0, i64 %1)
- br label %34
- ; <label>:29: ; preds = %24
- %30 = icmp ule i64 %26, -1
- call void @llvm.assume(i1 %30)
- %31 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17ha2ba679b8b637d52E"(i8* %25, i64 %26)
- br label %32
- ; <label>:32: ; preds = %29
- %33 = bitcast i8* %31 to i32*
- store i32* %33, i32** %3, align 8
- br label %37
- ; <label>:34: ; preds = %27
- %35 = icmp ule i64 %28, -1
- call void @llvm.assume(i1 %35)
- %36 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h2db78cc51ca12da6E"(i32* %20, i64 %28)
- store i32* %36, i32** %3, align 8
- br label %37
- ; <label>:37: ; preds = %34, %32
- %38 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %5, i32 0, i32 1
- %39 = load i32*, i32** %3, align 8
- store i32* %39, i32** %38, align 8
- %40 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %5, i32 0, i32 0
- %41 = load i32*, i32** %40, align 8
- %42 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %5, i32 0, i32 1
- %43 = load i32*, i32** %42, align 8
- %44 = insertvalue { i32*, i32* } undef, i32* %41, 0
- %45 = insertvalue { i32*, i32* } %44, i32* %43, 1
- ret { i32*, i32* } %45
- }
- ; Function Attrs: inlinehint uwtable
- define internal i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h32215ff12a098383E"([0 x i32]* noalias nonnull readonly, i64) unnamed_addr #0 {
- %3 = bitcast [0 x i32]* %0 to i32*
- ret i32* %3
- }
- ; Function Attrs: alwaysinline uwtable
- define internal i32* @"_ZN59_$LT$$BP$const$u20$T$u20$as$u20$core..slice..PointerExt$GT$12slice_offset17h7aa1452c7557c220E"(i32*, i64) unnamed_addr #1 {
- %3 = alloca i32*, align 8
- %4 = call i64 @_ZN4core5slice13size_from_ptr17h73637563565851c6E(i32* %0)
- br label %5
- ; <label>:5: ; preds = %2
- %6 = icmp eq i64 %4, 0
- br i1 %6, label %7, label %10
- ; <label>:7: ; preds = %5
- %8 = bitcast i32* %0 to i8*
- %9 = call i8* @"_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$15wrapping_offset17ha2ba679b8b637d52E"(i8* %8, i64 %1)
- br label %12
- ; <label>:10: ; preds = %5
- %11 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h2db78cc51ca12da6E"(i32* %0, i64 %1)
- store i32* %11, i32** %3, align 8
- br label %14
- ; <label>:12: ; preds = %7
- %13 = bitcast i8* %9 to i32*
- store i32* %13, i32** %3, align 8
- br label %14
- ; <label>:14: ; preds = %12, %10
- %15 = load i32*, i32** %3, align 8
- ret i32* %15
- }
- ; Function Attrs: inlinehint uwtable
- define internal i64 @"_ZN5alloc5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$3len17hab82a3a5ee843773E"([0 x i32]* noalias nonnull readonly, i64) unnamed_addr #0 {
- %3 = call i64 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17he70cfd9d37ed05efE"([0 x i32]* noalias nonnull readonly %0, i64 %1)
- br label %4
- ; <label>:4: ; preds = %2
- ret i64 %3
- }
- ; Function Attrs: inlinehint uwtable
- define internal { i32*, i32* } @"_ZN5alloc5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4iter17h08ec6eec9d3c8166E"([0 x i32]* noalias nonnull readonly, i64) unnamed_addr #0 {
- %3 = call { i32*, i32* } @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$4iter17h7c6ea9d74db5e50cE"([0 x i32]* noalias nonnull readonly %0, i64 %1)
- %4 = extractvalue { i32*, i32* } %3, 0
- %5 = extractvalue { i32*, i32* } %3, 1
- br label %6
- ; <label>:6: ; preds = %2
- %7 = insertvalue { i32*, i32* } undef, i32* %4, 0
- %8 = insertvalue { i32*, i32* } %7, i32* %5, 1
- ret { i32*, i32* } %8
- }
- ; Function Attrs: inlinehint uwtable
- define internal zeroext i1 @"_ZN5alloc5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$8is_empty17h7069f18437424c5eE"([0 x i32]* noalias nonnull readonly, i64) unnamed_addr #0 {
- %3 = call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h5df57ca3a59651deE([0 x i32]* noalias nonnull readonly %0, i64 %1)
- br label %4
- ; <label>:4: ; preds = %2
- ret i1 %3
- }
- ; Function Attrs: inlinehint uwtable
- define internal void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position17hf1a29b42059163daE"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(16), { i32*, i32* }* dereferenceable(16)) unnamed_addr #0 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality {
- %3 = alloca { i8*, i32 }, align 8
- %4 = alloca i8, align 1
- %5 = alloca i64*, align 8
- %6 = alloca %"core::slice::{{impl}}::position::{{closure}}<u32, import_path_to_string::{{closure}}>", align 1
- %7 = alloca %"core::result::Result<usize, usize>", align 8
- %8 = alloca %"core::option::Option<usize>", align 8
- %9 = alloca { [0 x i32]*, i64 }, align 8
- %10 = alloca i64, align 8
- store i8 0, i8* %4, align 1
- store i8 1, i8* %4, align 1
- %11 = bitcast { i32*, i32* }* %1 to i32**
- %12 = load i32*, i32** %11, align 8
- %13 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %1, i32 0, i32 1
- %14 = load i32*, i32** %13, align 8
- %15 = ptrtoint i32* %14 to i64
- %16 = ptrtoint i32* %12 to i64
- %17 = invoke i64 @"_ZN4core3num23_$LT$impl$u20$usize$GT$12wrapping_sub17h25b775332ef31d00E"(i64 %15, i64 %16)
- to label %26 unwind label %62
- ; <label>:18: ; preds = %58, %57
- %19 = bitcast { i8*, i32 }* %3 to i8**
- %20 = load i8*, i8** %19, align 8
- %21 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %3, i32 0, i32 1
- %22 = load i32, i32* %21, align 4
- %23 = bitcast { i8*, i32 }* %3 to i8*
- call void @llvm.lifetime.end.p0i8(i64 16, i8* %23)
- %24 = insertvalue { i8*, i32 } undef, i8* %20, 0
- %25 = insertvalue { i8*, i32 } %24, i32 %22, 1
- resume { i8*, i32 } %25
- ; <label>:26: ; preds = %2
- %27 = invoke i64 @_ZN4core5slice13size_from_ptr17h73637563565851c6E(i32* %12)
- to label %28 unwind label %62
- ; <label>:28: ; preds = %26
- %29 = icmp eq i64 %27, 0
- br i1 %29, label %30, label %32
- ; <label>:30: ; preds = %28
- call void @llvm.assume(i1 true)
- %31 = invoke { [0 x i32]*, i64 } @_ZN4core5slice14from_raw_parts17hacb157bb9f25ba37E(i32* inttoptr (i64 1 to i32*), i64 %17)
- to label %61 unwind label %62
- ; <label>:32: ; preds = %28
- %33 = invoke i64 @_ZN4core5slice13size_from_ptr17h73637563565851c6E(i32* %12)
- to label %34 unwind label %62
- ; <label>:34: ; preds = %32
- %35 = icmp eq i64 %33, 0
- %36 = call i1 @llvm.expect.i1(i1 %35, i1 false)
- br i1 %36, label %69, label %37
- ; <label>:37: ; preds = %34
- %38 = udiv i64 %17, %33
- %39 = invoke { [0 x i32]*, i64 } @_ZN4core5slice14from_raw_parts17hacb157bb9f25ba37E(i32* %12, i64 %38)
- to label %40 unwind label %62
- ; <label>:40: ; preds = %37
- %41 = extractvalue { [0 x i32]*, i64 } %39, 0
- %42 = extractvalue { [0 x i32]*, i64 } %39, 1
- %43 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %9, i32 0, i32 0
- store [0 x i32]* %41, [0 x i32]** %43, align 8
- %44 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %9, i32 0, i32 1
- store i64 %42, i64* %44, align 8
- br label %45
- ; <label>:45: ; preds = %61, %40
- %46 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %9, i32 0, i32 0
- %47 = load [0 x i32]*, [0 x i32]** %46, align 8, !nonnull !3
- %48 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %9, i32 0, i32 1
- %49 = load i64, i64* %48, align 8
- %50 = invoke i64 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17he70cfd9d37ed05efE"([0 x i32]* noalias nonnull readonly %47, i64 %49)
- to label %51 unwind label %62
- ; <label>:51: ; preds = %45
- store i64 %50, i64* %10, align 8
- store i8 0, i8* %4, align 1
- %52 = bitcast %"core::slice::{{impl}}::position::{{closure}}<u32, import_path_to_string::{{closure}}>"* %6 to %"import_path_to_string::{{closure}}"*
- invoke void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8try_fold17h67c1a77f983d137aE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %7, { i32*, i32* }* dereferenceable(16) %1, i64 0)
- to label %53 unwind label %62
- ; <label>:53: ; preds = %51
- invoke void @"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$3err17h7575ad3e8a4fc754E"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(16) %8, %"core::result::Result<usize, usize>"* noalias nocapture dereferenceable(16) %7)
- to label %54 unwind label %62
- ; <label>:54: ; preds = %53
- store i64* %10, i64** %5, align 8
- %55 = load i64*, i64** %5, align 8, !nonnull !3
- invoke void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17hac95c6f09e5eb2e1E"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(16) %0, %"core::option::Option<usize>"* noalias nocapture dereferenceable(16) %8, i64* noalias readonly dereferenceable(8) %55)
- to label %56 unwind label %62
- ; <label>:56: ; preds = %54
- ret void
- ; <label>:57: ; preds = %58
- store i8 0, i8* %4, align 1
- br label %18
- ; <label>:58: ; preds = %62
- %59 = load i8, i8* %4, align 1, !range !2
- %60 = trunc i8 %59 to i1
- br i1 %60, label %57, label %18
- ; <label>:61: ; preds = %30
- store { [0 x i32]*, i64 } %31, { [0 x i32]*, i64 }* %9, align 8
- br label %45
- ; <label>:62: ; preds = %69, %54, %53, %51, %45, %37, %32, %30, %26, %2
- %63 = landingpad { i8*, i32 }
- cleanup
- %64 = bitcast { i8*, i32 }* %3 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %64)
- %65 = extractvalue { i8*, i32 } %63, 0
- %66 = extractvalue { i8*, i32 } %63, 1
- %67 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %3, i32 0, i32 0
- store i8* %65, i8** %67, align 8
- %68 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %3, i32 0, i32 1
- store i32 %66, i32* %68, align 8
- br label %58
- ; <label>:69: ; preds = %34
- invoke void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40) bitcast ({ { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 }* @panic_loc.6 to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
- to label %70 unwind label %62
- ; <label>:70: ; preds = %69
- unreachable
- }
- ; Function Attrs: uwtable
- define internal i64 @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hab0db5dfbde4de17E"(i64* noalias readonly dereferenceable(8), i64) unnamed_addr #2 {
- %3 = load i64, i64* %0, align 8
- %4 = icmp ult i64 %1, %3
- call void @llvm.assume(i1 %4)
- br label %5
- ; <label>:5: ; preds = %2
- ret i64 %1
- }
- ; Function Attrs: uwtable
- define internal void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16), %"core::slice::{{impl}}::position::{{closure}}<u32, import_path_to_string::{{closure}}>"* nonnull, i64, i32* noalias readonly dereferenceable(4)) unnamed_addr #2 {
- %5 = alloca i32*, align 8
- %6 = bitcast %"core::slice::{{impl}}::position::{{closure}}<u32, import_path_to_string::{{closure}}>"* %1 to %"import_path_to_string::{{closure}}"*
- store i32* %3, i32** %5, align 8
- %7 = load i32*, i32** %5, align 8, !nonnull !3
- %8 = call zeroext i1 @"_ZN19bad_position_simple21import_path_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h6e8857c45441a25dE"(%"import_path_to_string::{{closure}}"* nonnull %6, i32* noalias readonly dereferenceable(4) %7)
- br label %9
- ; <label>:9: ; preds = %4
- br i1 %8, label %10, label %14
- ; <label>:10: ; preds = %9
- %11 = bitcast %"core::result::Result<usize, usize>"* %0 to %"core::result::Result<usize, usize>::Err"*
- %12 = getelementptr inbounds %"core::result::Result<usize, usize>::Err", %"core::result::Result<usize, usize>::Err"* %11, i32 0, i32 1
- store i64 %2, i64* %12, align 8
- %13 = bitcast %"core::result::Result<usize, usize>"* %0 to i64*
- store i64 1, i64* %13, align 8
- br label %23
- ; <label>:14: ; preds = %9
- %15 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %2, i64 1)
- %16 = extractvalue { i64, i1 } %15, 0
- %17 = extractvalue { i64, i1 } %15, 1
- %18 = call i1 @llvm.expect.i1(i1 %17, i1 false)
- br i1 %18, label %24, label %19
- ; <label>:19: ; preds = %14
- %20 = bitcast %"core::result::Result<usize, usize>"* %0 to %"core::result::Result<usize, usize>::Ok"*
- %21 = getelementptr inbounds %"core::result::Result<usize, usize>::Ok", %"core::result::Result<usize, usize>::Ok"* %20, i32 0, i32 1
- store i64 %16, i64* %21, align 8
- %22 = bitcast %"core::result::Result<usize, usize>"* %0 to i64*
- store i64 0, i64* %22, align 8
- br label %23
- ; <label>:23: ; preds = %19, %10
- ret void
- ; <label>:24: ; preds = %14
- call void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40) bitcast ({ { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 }* @panic_loc.8 to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
- unreachable
- }
- ; Function Attrs: inlinehint uwtable
- define internal void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8try_fold17h67c1a77f983d137aE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16), { i32*, i32* }* dereferenceable(16), i64) unnamed_addr #0 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality {
- %4 = alloca { i8*, i32 }, align 8
- %5 = alloca i8, align 1
- %6 = alloca i8, align 1
- %7 = alloca i8, align 1
- %8 = alloca i8, align 1
- %9 = alloca i8, align 1
- %10 = alloca i8, align 1
- %11 = alloca i32*, align 8
- %12 = alloca { i64, i32* }, align 8
- %13 = alloca %"core::result::Result<usize, usize>", align 8
- %14 = alloca %"core::result::Result<usize, usize>", align 8
- %15 = alloca i32*, align 8
- %16 = alloca { i64, i32* }, align 8
- %17 = alloca %"core::result::Result<usize, usize>", align 8
- %18 = alloca %"core::result::Result<usize, usize>", align 8
- %19 = alloca i32*, align 8
- %20 = alloca { i64, i32* }, align 8
- %21 = alloca %"core::result::Result<usize, usize>", align 8
- %22 = alloca %"core::result::Result<usize, usize>", align 8
- %23 = alloca i32*, align 8
- %24 = alloca { i64, i32* }, align 8
- %25 = alloca %"core::result::Result<usize, usize>", align 8
- %26 = alloca %"core::result::Result<usize, usize>", align 8
- %27 = alloca i32*, align 8
- %28 = alloca { i64, i32* }, align 8
- %29 = alloca %"core::result::Result<usize, usize>", align 8
- %30 = alloca %"core::result::Result<usize, usize>", align 8
- %31 = alloca %"core::slice::{{impl}}::position::{{closure}}<u32, import_path_to_string::{{closure}}>", align 1
- %32 = alloca i64, align 8
- store i64 %2, i64* %32, align 8
- store i8 0, i8* %10, align 1
- store i8 0, i8* %9, align 1
- store i8 0, i8* %8, align 1
- store i8 0, i8* %7, align 1
- store i8 0, i8* %6, align 1
- store i8 0, i8* %5, align 1
- store i8 1, i8* %10, align 1
- br label %42
- ; <label>:33: ; preds = %41
- %34 = bitcast { i8*, i32 }* %4 to i8**
- %35 = load i8*, i8** %34, align 8
- %36 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- %37 = load i32, i32* %36, align 4
- %38 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.end.p0i8(i64 16, i8* %38)
- %39 = insertvalue { i8*, i32 } undef, i8* %35, 0
- %40 = insertvalue { i8*, i32 } %39, i32 %37, 1
- resume { i8*, i32 } %40
- ; <label>:41: ; preds = %261, %260
- br label %33
- ; <label>:42: ; preds = %303, %194, %3
- %43 = bitcast { i32*, i32* }* %1 to i32**
- %44 = load i32*, i32** %43, align 8
- %45 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %1, i32 0, i32 1
- %46 = load i32*, i32** %45, align 8
- %47 = invoke i64 @_ZN4core5slice11ptrdistance17h036ab170e59738e1E(i32* %44, i32* %46)
- to label %48 unwind label %311
- ; <label>:48: ; preds = %42
- %49 = icmp uge i64 %47, 4
- br i1 %49, label %50, label %209
- ; <label>:50: ; preds = %48
- store i8 0, i8* %10, align 1
- store i8 1, i8* %9, align 1
- %51 = load i64, i64* %32, align 8
- %52 = bitcast { i32*, i32* }* %1 to i32**
- %53 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17hc9f8b6822179ed09E(i32** dereferenceable(8) %52)
- to label %54 unwind label %318
- ; <label>:54: ; preds = %50
- %55 = invoke i64 @_ZN4core5slice13size_from_ptr17h73637563565851c6E(i32* %53)
- to label %56 unwind label %318
- ; <label>:56: ; preds = %54
- %57 = icmp eq i64 %55, 0
- br i1 %57, label %58, label %59
- ; <label>:58: ; preds = %56
- call void @llvm.assume(i1 true)
- store i32* inttoptr (i64 1 to i32*), i32** %27, align 8
- br label %60
- ; <label>:59: ; preds = %56
- store i32* %53, i32** %27, align 8
- br label %60
- ; <label>:60: ; preds = %59, %58
- store i8 0, i8* %9, align 1
- %61 = bitcast { i64, i32* }* %28 to i64*
- store i64 %51, i64* %61, align 8
- %62 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %28, i32 0, i32 1
- %63 = load i32*, i32** %27, align 8, !nonnull !3
- store i32* %63, i32** %62, align 8
- %64 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %28, i32 0, i32 0
- %65 = load i64, i64* %64, align 8
- %66 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %28, i32 0, i32 1
- %67 = load i32*, i32** %66, align 8, !nonnull !3
- invoke void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %29, %"core::slice::{{impl}}::position::{{closure}}<u32, import_path_to_string::{{closure}}>"* nonnull %31, i64 %65, i32* noalias readonly dereferenceable(4) %67)
- to label %68 unwind label %318
- ; <label>:68: ; preds = %60
- store i8 0, i8* %9, align 1
- invoke void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$11into_result17h20c389a4d040cb5eE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %30, %"core::result::Result<usize, usize>"* noalias nocapture dereferenceable(16) %29)
- to label %69 unwind label %311
- ; <label>:69: ; preds = %68
- %70 = bitcast %"core::result::Result<usize, usize>"* %30 to i64*
- %71 = load i64, i64* %70, align 8, !range !1
- %72 = bitcast %"core::result::Result<usize, usize>"* %30 to i64*
- %73 = load i64, i64* %72, align 8, !range !1
- switch i64 %73, label %77 [
- i64 0, label %78
- i64 1, label %84
- ]
- ; <label>:74: ; preds = %325
- %75 = bitcast %"core::result::Result<usize, usize>"* %30 to i64*
- %76 = load i64, i64* %75, align 8, !range !1
- switch i64 %76, label %261 [
- i64 0, label %268
- ]
- ; <label>:77: ; preds = %236, %186, %148, %110, %69
- unreachable
- ; <label>:78: ; preds = %69
- %79 = bitcast %"core::result::Result<usize, usize>"* %30 to %"core::result::Result<usize, usize>::Ok"*
- %80 = getelementptr inbounds %"core::result::Result<usize, usize>::Ok", %"core::result::Result<usize, usize>::Ok"* %79, i32 0, i32 1
- %81 = load i64, i64* %80, align 8
- store i8 1, i8* %10, align 1
- store i64 %81, i64* %32, align 8
- %82 = bitcast %"core::result::Result<usize, usize>"* %30 to i64*
- %83 = load i64, i64* %82, align 8, !range !1
- switch i64 %83, label %274 [
- i64 0, label %270
- ]
- ; <label>:84: ; preds = %69
- %85 = bitcast %"core::result::Result<usize, usize>"* %30 to %"core::result::Result<usize, usize>::Err"*
- %86 = getelementptr inbounds %"core::result::Result<usize, usize>::Err", %"core::result::Result<usize, usize>::Err"* %85, i32 0, i32 1
- %87 = load i64, i64* %86, align 8
- %88 = invoke i64 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h514ffbaf3bb75a3eE"(i64 %87)
- to label %89 unwind label %325
- ; <label>:89: ; preds = %84
- invoke void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$10from_error17h222e7515b9cde0afE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %0, i64 %88)
- to label %90 unwind label %325
- ; <label>:90: ; preds = %89
- %91 = bitcast %"core::result::Result<usize, usize>"* %30 to i64*
- %92 = load i64, i64* %91, align 8, !range !1
- switch i64 %92, label %94 [
- i64 0, label %269
- ]
- ; <label>:93: ; preds = %259, %94
- ret void
- ; <label>:94: ; preds = %309, %302, %291, %280, %269, %256, %206, %168, %130, %90
- store i8 0, i8* %10, align 1
- br label %93
- ; <label>:95: ; preds = %270
- %96 = invoke i64 @_ZN4core5slice13size_from_ptr17h73637563565851c6E(i32* %273)
- to label %97 unwind label %332
- ; <label>:97: ; preds = %95
- %98 = icmp eq i64 %96, 0
- br i1 %98, label %99, label %100
- ; <label>:99: ; preds = %97
- call void @llvm.assume(i1 true)
- store i32* inttoptr (i64 1 to i32*), i32** %23, align 8
- br label %101
- ; <label>:100: ; preds = %97
- store i32* %273, i32** %23, align 8
- br label %101
- ; <label>:101: ; preds = %100, %99
- store i8 0, i8* %8, align 1
- %102 = bitcast { i64, i32* }* %24 to i64*
- store i64 %271, i64* %102, align 8
- %103 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %24, i32 0, i32 1
- %104 = load i32*, i32** %23, align 8, !nonnull !3
- store i32* %104, i32** %103, align 8
- %105 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %24, i32 0, i32 0
- %106 = load i64, i64* %105, align 8
- %107 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %24, i32 0, i32 1
- %108 = load i32*, i32** %107, align 8, !nonnull !3
- invoke void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %25, %"core::slice::{{impl}}::position::{{closure}}<u32, import_path_to_string::{{closure}}>"* nonnull %31, i64 %106, i32* noalias readonly dereferenceable(4) %108)
- to label %109 unwind label %332
- ; <label>:109: ; preds = %101
- store i8 0, i8* %8, align 1
- invoke void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$11into_result17h20c389a4d040cb5eE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %26, %"core::result::Result<usize, usize>"* noalias nocapture dereferenceable(16) %25)
- to label %110 unwind label %311
- ; <label>:110: ; preds = %109
- %111 = bitcast %"core::result::Result<usize, usize>"* %26 to i64*
- %112 = load i64, i64* %111, align 8, !range !1
- %113 = bitcast %"core::result::Result<usize, usize>"* %26 to i64*
- %114 = load i64, i64* %113, align 8, !range !1
- switch i64 %114, label %77 [
- i64 0, label %118
- i64 1, label %124
- ]
- ; <label>:115: ; preds = %339
- %116 = bitcast %"core::result::Result<usize, usize>"* %26 to i64*
- %117 = load i64, i64* %116, align 8, !range !1
- switch i64 %117, label %261 [
- i64 0, label %279
- ]
- ; <label>:118: ; preds = %110
- %119 = bitcast %"core::result::Result<usize, usize>"* %26 to %"core::result::Result<usize, usize>::Ok"*
- %120 = getelementptr inbounds %"core::result::Result<usize, usize>::Ok", %"core::result::Result<usize, usize>::Ok"* %119, i32 0, i32 1
- %121 = load i64, i64* %120, align 8
- store i8 1, i8* %10, align 1
- store i64 %121, i64* %32, align 8
- %122 = bitcast %"core::result::Result<usize, usize>"* %26 to i64*
- %123 = load i64, i64* %122, align 8, !range !1
- switch i64 %123, label %285 [
- i64 0, label %281
- ]
- ; <label>:124: ; preds = %110
- %125 = bitcast %"core::result::Result<usize, usize>"* %26 to %"core::result::Result<usize, usize>::Err"*
- %126 = getelementptr inbounds %"core::result::Result<usize, usize>::Err", %"core::result::Result<usize, usize>::Err"* %125, i32 0, i32 1
- %127 = load i64, i64* %126, align 8
- %128 = invoke i64 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h514ffbaf3bb75a3eE"(i64 %127)
- to label %129 unwind label %339
- ; <label>:129: ; preds = %124
- invoke void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$10from_error17h222e7515b9cde0afE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %0, i64 %128)
- to label %130 unwind label %339
- ; <label>:130: ; preds = %129
- %131 = bitcast %"core::result::Result<usize, usize>"* %26 to i64*
- %132 = load i64, i64* %131, align 8, !range !1
- switch i64 %132, label %94 [
- i64 0, label %280
- ]
- ; <label>:133: ; preds = %281
- %134 = invoke i64 @_ZN4core5slice13size_from_ptr17h73637563565851c6E(i32* %284)
- to label %135 unwind label %346
- ; <label>:135: ; preds = %133
- %136 = icmp eq i64 %134, 0
- br i1 %136, label %137, label %138
- ; <label>:137: ; preds = %135
- call void @llvm.assume(i1 true)
- store i32* inttoptr (i64 1 to i32*), i32** %19, align 8
- br label %139
- ; <label>:138: ; preds = %135
- store i32* %284, i32** %19, align 8
- br label %139
- ; <label>:139: ; preds = %138, %137
- store i8 0, i8* %7, align 1
- %140 = bitcast { i64, i32* }* %20 to i64*
- store i64 %282, i64* %140, align 8
- %141 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %20, i32 0, i32 1
- %142 = load i32*, i32** %19, align 8, !nonnull !3
- store i32* %142, i32** %141, align 8
- %143 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %20, i32 0, i32 0
- %144 = load i64, i64* %143, align 8
- %145 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %20, i32 0, i32 1
- %146 = load i32*, i32** %145, align 8, !nonnull !3
- invoke void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %21, %"core::slice::{{impl}}::position::{{closure}}<u32, import_path_to_string::{{closure}}>"* nonnull %31, i64 %144, i32* noalias readonly dereferenceable(4) %146)
- to label %147 unwind label %346
- ; <label>:147: ; preds = %139
- store i8 0, i8* %7, align 1
- invoke void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$11into_result17h20c389a4d040cb5eE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %22, %"core::result::Result<usize, usize>"* noalias nocapture dereferenceable(16) %21)
- to label %148 unwind label %311
- ; <label>:148: ; preds = %147
- %149 = bitcast %"core::result::Result<usize, usize>"* %22 to i64*
- %150 = load i64, i64* %149, align 8, !range !1
- %151 = bitcast %"core::result::Result<usize, usize>"* %22 to i64*
- %152 = load i64, i64* %151, align 8, !range !1
- switch i64 %152, label %77 [
- i64 0, label %156
- i64 1, label %162
- ]
- ; <label>:153: ; preds = %353
- %154 = bitcast %"core::result::Result<usize, usize>"* %22 to i64*
- %155 = load i64, i64* %154, align 8, !range !1
- switch i64 %155, label %261 [
- i64 0, label %290
- ]
- ; <label>:156: ; preds = %148
- %157 = bitcast %"core::result::Result<usize, usize>"* %22 to %"core::result::Result<usize, usize>::Ok"*
- %158 = getelementptr inbounds %"core::result::Result<usize, usize>::Ok", %"core::result::Result<usize, usize>::Ok"* %157, i32 0, i32 1
- %159 = load i64, i64* %158, align 8
- store i8 1, i8* %10, align 1
- store i64 %159, i64* %32, align 8
- %160 = bitcast %"core::result::Result<usize, usize>"* %22 to i64*
- %161 = load i64, i64* %160, align 8, !range !1
- switch i64 %161, label %296 [
- i64 0, label %292
- ]
- ; <label>:162: ; preds = %148
- %163 = bitcast %"core::result::Result<usize, usize>"* %22 to %"core::result::Result<usize, usize>::Err"*
- %164 = getelementptr inbounds %"core::result::Result<usize, usize>::Err", %"core::result::Result<usize, usize>::Err"* %163, i32 0, i32 1
- %165 = load i64, i64* %164, align 8
- %166 = invoke i64 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h514ffbaf3bb75a3eE"(i64 %165)
- to label %167 unwind label %353
- ; <label>:167: ; preds = %162
- invoke void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$10from_error17h222e7515b9cde0afE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %0, i64 %166)
- to label %168 unwind label %353
- ; <label>:168: ; preds = %167
- %169 = bitcast %"core::result::Result<usize, usize>"* %22 to i64*
- %170 = load i64, i64* %169, align 8, !range !1
- switch i64 %170, label %94 [
- i64 0, label %291
- ]
- ; <label>:171: ; preds = %292
- %172 = invoke i64 @_ZN4core5slice13size_from_ptr17h73637563565851c6E(i32* %295)
- to label %173 unwind label %360
- ; <label>:173: ; preds = %171
- %174 = icmp eq i64 %172, 0
- br i1 %174, label %175, label %176
- ; <label>:175: ; preds = %173
- call void @llvm.assume(i1 true)
- store i32* inttoptr (i64 1 to i32*), i32** %15, align 8
- br label %177
- ; <label>:176: ; preds = %173
- store i32* %295, i32** %15, align 8
- br label %177
- ; <label>:177: ; preds = %176, %175
- store i8 0, i8* %6, align 1
- %178 = bitcast { i64, i32* }* %16 to i64*
- store i64 %293, i64* %178, align 8
- %179 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %16, i32 0, i32 1
- %180 = load i32*, i32** %15, align 8, !nonnull !3
- store i32* %180, i32** %179, align 8
- %181 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %16, i32 0, i32 0
- %182 = load i64, i64* %181, align 8
- %183 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %16, i32 0, i32 1
- %184 = load i32*, i32** %183, align 8, !nonnull !3
- invoke void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %17, %"core::slice::{{impl}}::position::{{closure}}<u32, import_path_to_string::{{closure}}>"* nonnull %31, i64 %182, i32* noalias readonly dereferenceable(4) %184)
- to label %185 unwind label %360
- ; <label>:185: ; preds = %177
- store i8 0, i8* %6, align 1
- invoke void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$11into_result17h20c389a4d040cb5eE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %18, %"core::result::Result<usize, usize>"* noalias nocapture dereferenceable(16) %17)
- to label %186 unwind label %311
- ; <label>:186: ; preds = %185
- %187 = bitcast %"core::result::Result<usize, usize>"* %18 to i64*
- %188 = load i64, i64* %187, align 8, !range !1
- %189 = bitcast %"core::result::Result<usize, usize>"* %18 to i64*
- %190 = load i64, i64* %189, align 8, !range !1
- switch i64 %190, label %77 [
- i64 0, label %194
- i64 1, label %200
- ]
- ; <label>:191: ; preds = %367
- %192 = bitcast %"core::result::Result<usize, usize>"* %18 to i64*
- %193 = load i64, i64* %192, align 8, !range !1
- switch i64 %193, label %261 [
- i64 0, label %301
- ]
- ; <label>:194: ; preds = %186
- %195 = bitcast %"core::result::Result<usize, usize>"* %18 to %"core::result::Result<usize, usize>::Ok"*
- %196 = getelementptr inbounds %"core::result::Result<usize, usize>::Ok", %"core::result::Result<usize, usize>::Ok"* %195, i32 0, i32 1
- %197 = load i64, i64* %196, align 8
- store i8 1, i8* %10, align 1
- store i64 %197, i64* %32, align 8
- %198 = bitcast %"core::result::Result<usize, usize>"* %18 to i64*
- %199 = load i64, i64* %198, align 8, !range !1
- switch i64 %199, label %303 [
- i64 0, label %42
- ]
- ; <label>:200: ; preds = %186
- %201 = bitcast %"core::result::Result<usize, usize>"* %18 to %"core::result::Result<usize, usize>::Err"*
- %202 = getelementptr inbounds %"core::result::Result<usize, usize>::Err", %"core::result::Result<usize, usize>::Err"* %201, i32 0, i32 1
- %203 = load i64, i64* %202, align 8
- %204 = invoke i64 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h514ffbaf3bb75a3eE"(i64 %203)
- to label %205 unwind label %367
- ; <label>:205: ; preds = %200
- invoke void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$10from_error17h222e7515b9cde0afE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %0, i64 %204)
- to label %206 unwind label %367
- ; <label>:206: ; preds = %205
- %207 = bitcast %"core::result::Result<usize, usize>"* %18 to i64*
- %208 = load i64, i64* %207, align 8, !range !1
- switch i64 %208, label %94 [
- i64 0, label %302
- ]
- ; <label>:209: ; preds = %310, %244, %48
- %210 = bitcast { i32*, i32* }* %1 to i32**
- %211 = load i32*, i32** %210, align 8
- %212 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %1, i32 0, i32 1
- %213 = load i32*, i32** %212, align 8
- %214 = icmp ne i32* %211, %213
- br i1 %214, label %217, label %215
- ; <label>:215: ; preds = %209
- store i8 0, i8* %10, align 1
- %216 = load i64, i64* %32, align 8
- invoke void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$7from_ok17hed12cd599a454669E"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %0, i64 %216)
- to label %259 unwind label %311
- ; <label>:217: ; preds = %209
- store i8 0, i8* %10, align 1
- store i8 1, i8* %5, align 1
- %218 = load i64, i64* %32, align 8
- %219 = bitcast { i32*, i32* }* %1 to i32**
- %220 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17hc9f8b6822179ed09E(i32** dereferenceable(8) %219)
- to label %221 unwind label %374
- ; <label>:221: ; preds = %217
- %222 = invoke i64 @_ZN4core5slice13size_from_ptr17h73637563565851c6E(i32* %220)
- to label %223 unwind label %374
- ; <label>:223: ; preds = %221
- %224 = icmp eq i64 %222, 0
- br i1 %224, label %225, label %226
- ; <label>:225: ; preds = %223
- call void @llvm.assume(i1 true)
- store i32* inttoptr (i64 1 to i32*), i32** %11, align 8
- br label %227
- ; <label>:226: ; preds = %223
- store i32* %220, i32** %11, align 8
- br label %227
- ; <label>:227: ; preds = %226, %225
- store i8 0, i8* %5, align 1
- %228 = bitcast { i64, i32* }* %12 to i64*
- store i64 %218, i64* %228, align 8
- %229 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %12, i32 0, i32 1
- %230 = load i32*, i32** %11, align 8, !nonnull !3
- store i32* %230, i32** %229, align 8
- %231 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %12, i32 0, i32 0
- %232 = load i64, i64* %231, align 8
- %233 = getelementptr inbounds { i64, i32* }, { i64, i32* }* %12, i32 0, i32 1
- %234 = load i32*, i32** %233, align 8, !nonnull !3
- invoke void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %13, %"core::slice::{{impl}}::position::{{closure}}<u32, import_path_to_string::{{closure}}>"* nonnull %31, i64 %232, i32* noalias readonly dereferenceable(4) %234)
- to label %235 unwind label %374
- ; <label>:235: ; preds = %227
- store i8 0, i8* %5, align 1
- invoke void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$11into_result17h20c389a4d040cb5eE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %14, %"core::result::Result<usize, usize>"* noalias nocapture dereferenceable(16) %13)
- to label %236 unwind label %311
- ; <label>:236: ; preds = %235
- %237 = bitcast %"core::result::Result<usize, usize>"* %14 to i64*
- %238 = load i64, i64* %237, align 8, !range !1
- %239 = bitcast %"core::result::Result<usize, usize>"* %14 to i64*
- %240 = load i64, i64* %239, align 8, !range !1
- switch i64 %240, label %77 [
- i64 0, label %244
- i64 1, label %250
- ]
- ; <label>:241: ; preds = %381
- %242 = bitcast %"core::result::Result<usize, usize>"* %14 to i64*
- %243 = load i64, i64* %242, align 8, !range !1
- switch i64 %243, label %261 [
- i64 0, label %308
- ]
- ; <label>:244: ; preds = %236
- %245 = bitcast %"core::result::Result<usize, usize>"* %14 to %"core::result::Result<usize, usize>::Ok"*
- %246 = getelementptr inbounds %"core::result::Result<usize, usize>::Ok", %"core::result::Result<usize, usize>::Ok"* %245, i32 0, i32 1
- %247 = load i64, i64* %246, align 8
- store i8 1, i8* %10, align 1
- store i64 %247, i64* %32, align 8
- %248 = bitcast %"core::result::Result<usize, usize>"* %14 to i64*
- %249 = load i64, i64* %248, align 8, !range !1
- switch i64 %249, label %310 [
- i64 0, label %209
- ]
- ; <label>:250: ; preds = %236
- %251 = bitcast %"core::result::Result<usize, usize>"* %14 to %"core::result::Result<usize, usize>::Err"*
- %252 = getelementptr inbounds %"core::result::Result<usize, usize>::Err", %"core::result::Result<usize, usize>::Err"* %251, i32 0, i32 1
- %253 = load i64, i64* %252, align 8
- %254 = invoke i64 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h514ffbaf3bb75a3eE"(i64 %253)
- to label %255 unwind label %381
- ; <label>:255: ; preds = %250
- invoke void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$10from_error17h222e7515b9cde0afE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16) %0, i64 %254)
- to label %256 unwind label %381
- ; <label>:256: ; preds = %255
- %257 = bitcast %"core::result::Result<usize, usize>"* %14 to i64*
- %258 = load i64, i64* %257, align 8, !range !1
- switch i64 %258, label %94 [
- i64 0, label %309
- ]
- ; <label>:259: ; preds = %215
- store i8 0, i8* %10, align 1
- br label %93
- ; <label>:260: ; preds = %261
- store i8 0, i8* %10, align 1
- br label %41
- ; <label>:261: ; preds = %311, %308, %305, %304, %301, %298, %297, %290, %287, %286, %279, %276, %275, %268, %265, %264, %241, %191, %153, %115, %74
- %262 = load i8, i8* %10, align 1, !range !2
- %263 = trunc i8 %262 to i1
- br i1 %263, label %260, label %41
- ; <label>:264: ; preds = %265
- store i8 0, i8* %9, align 1
- br label %261
- ; <label>:265: ; preds = %318
- %266 = load i8, i8* %9, align 1, !range !2
- %267 = trunc i8 %266 to i1
- br i1 %267, label %264, label %261
- ; <label>:268: ; preds = %74
- br label %261
- ; <label>:269: ; preds = %90
- br label %94
- ; <label>:270: ; preds = %274, %78
- store i8 0, i8* %10, align 1
- store i8 1, i8* %8, align 1
- %271 = load i64, i64* %32, align 8
- %272 = bitcast { i32*, i32* }* %1 to i32**
- %273 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17hc9f8b6822179ed09E(i32** dereferenceable(8) %272)
- to label %95 unwind label %332
- ; <label>:274: ; preds = %78
- br label %270
- ; <label>:275: ; preds = %276
- store i8 0, i8* %8, align 1
- br label %261
- ; <label>:276: ; preds = %332
- %277 = load i8, i8* %8, align 1, !range !2
- %278 = trunc i8 %277 to i1
- br i1 %278, label %275, label %261
- ; <label>:279: ; preds = %115
- br label %261
- ; <label>:280: ; preds = %130
- br label %94
- ; <label>:281: ; preds = %285, %118
- store i8 0, i8* %10, align 1
- store i8 1, i8* %7, align 1
- %282 = load i64, i64* %32, align 8
- %283 = bitcast { i32*, i32* }* %1 to i32**
- %284 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17hc9f8b6822179ed09E(i32** dereferenceable(8) %283)
- to label %133 unwind label %346
- ; <label>:285: ; preds = %118
- br label %281
- ; <label>:286: ; preds = %287
- store i8 0, i8* %7, align 1
- br label %261
- ; <label>:287: ; preds = %346
- %288 = load i8, i8* %7, align 1, !range !2
- %289 = trunc i8 %288 to i1
- br i1 %289, label %286, label %261
- ; <label>:290: ; preds = %153
- br label %261
- ; <label>:291: ; preds = %168
- br label %94
- ; <label>:292: ; preds = %296, %156
- store i8 0, i8* %10, align 1
- store i8 1, i8* %6, align 1
- %293 = load i64, i64* %32, align 8
- %294 = bitcast { i32*, i32* }* %1 to i32**
- %295 = invoke i32* @_ZN4core5slice10PointerExt8post_inc17hc9f8b6822179ed09E(i32** dereferenceable(8) %294)
- to label %171 unwind label %360
- ; <label>:296: ; preds = %156
- br label %292
- ; <label>:297: ; preds = %298
- store i8 0, i8* %6, align 1
- br label %261
- ; <label>:298: ; preds = %360
- %299 = load i8, i8* %6, align 1, !range !2
- %300 = trunc i8 %299 to i1
- br i1 %300, label %297, label %261
- ; <label>:301: ; preds = %191
- br label %261
- ; <label>:302: ; preds = %206
- br label %94
- ; <label>:303: ; preds = %194
- br label %42
- ; <label>:304: ; preds = %305
- store i8 0, i8* %5, align 1
- br label %261
- ; <label>:305: ; preds = %374
- %306 = load i8, i8* %5, align 1, !range !2
- %307 = trunc i8 %306 to i1
- br i1 %307, label %304, label %261
- ; <label>:308: ; preds = %241
- br label %261
- ; <label>:309: ; preds = %256
- br label %94
- ; <label>:310: ; preds = %244
- br label %209
- ; <label>:311: ; preds = %235, %215, %185, %147, %109, %68, %42
- %312 = landingpad { i8*, i32 }
- cleanup
- %313 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %313)
- %314 = extractvalue { i8*, i32 } %312, 0
- %315 = extractvalue { i8*, i32 } %312, 1
- %316 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 0
- store i8* %314, i8** %316, align 8
- %317 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- store i32 %315, i32* %317, align 8
- br label %261
- ; <label>:318: ; preds = %60, %54, %50
- %319 = landingpad { i8*, i32 }
- cleanup
- %320 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %320)
- %321 = extractvalue { i8*, i32 } %319, 0
- %322 = extractvalue { i8*, i32 } %319, 1
- %323 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 0
- store i8* %321, i8** %323, align 8
- %324 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- store i32 %322, i32* %324, align 8
- br label %265
- ; <label>:325: ; preds = %89, %84
- %326 = landingpad { i8*, i32 }
- cleanup
- %327 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %327)
- %328 = extractvalue { i8*, i32 } %326, 0
- %329 = extractvalue { i8*, i32 } %326, 1
- %330 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 0
- store i8* %328, i8** %330, align 8
- %331 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- store i32 %329, i32* %331, align 8
- br label %74
- ; <label>:332: ; preds = %270, %101, %95
- %333 = landingpad { i8*, i32 }
- cleanup
- %334 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %334)
- %335 = extractvalue { i8*, i32 } %333, 0
- %336 = extractvalue { i8*, i32 } %333, 1
- %337 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 0
- store i8* %335, i8** %337, align 8
- %338 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- store i32 %336, i32* %338, align 8
- br label %276
- ; <label>:339: ; preds = %129, %124
- %340 = landingpad { i8*, i32 }
- cleanup
- %341 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %341)
- %342 = extractvalue { i8*, i32 } %340, 0
- %343 = extractvalue { i8*, i32 } %340, 1
- %344 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 0
- store i8* %342, i8** %344, align 8
- %345 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- store i32 %343, i32* %345, align 8
- br label %115
- ; <label>:346: ; preds = %281, %139, %133
- %347 = landingpad { i8*, i32 }
- cleanup
- %348 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %348)
- %349 = extractvalue { i8*, i32 } %347, 0
- %350 = extractvalue { i8*, i32 } %347, 1
- %351 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 0
- store i8* %349, i8** %351, align 8
- %352 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- store i32 %350, i32* %352, align 8
- br label %287
- ; <label>:353: ; preds = %167, %162
- %354 = landingpad { i8*, i32 }
- cleanup
- %355 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %355)
- %356 = extractvalue { i8*, i32 } %354, 0
- %357 = extractvalue { i8*, i32 } %354, 1
- %358 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 0
- store i8* %356, i8** %358, align 8
- %359 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- store i32 %357, i32* %359, align 8
- br label %153
- ; <label>:360: ; preds = %292, %177, %171
- %361 = landingpad { i8*, i32 }
- cleanup
- %362 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %362)
- %363 = extractvalue { i8*, i32 } %361, 0
- %364 = extractvalue { i8*, i32 } %361, 1
- %365 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 0
- store i8* %363, i8** %365, align 8
- %366 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- store i32 %364, i32* %366, align 8
- br label %298
- ; <label>:367: ; preds = %205, %200
- %368 = landingpad { i8*, i32 }
- cleanup
- %369 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %369)
- %370 = extractvalue { i8*, i32 } %368, 0
- %371 = extractvalue { i8*, i32 } %368, 1
- %372 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 0
- store i8* %370, i8** %372, align 8
- %373 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- store i32 %371, i32* %373, align 8
- br label %191
- ; <label>:374: ; preds = %227, %221, %217
- %375 = landingpad { i8*, i32 }
- cleanup
- %376 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %376)
- %377 = extractvalue { i8*, i32 } %375, 0
- %378 = extractvalue { i8*, i32 } %375, 1
- %379 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 0
- store i8* %377, i8** %379, align 8
- %380 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- store i32 %378, i32* %380, align 8
- br label %305
- ; <label>:381: ; preds = %255, %250
- %382 = landingpad { i8*, i32 }
- cleanup
- %383 = bitcast { i8*, i32 }* %4 to i8*
- call void @llvm.lifetime.start.p0i8(i64 16, i8* %383)
- %384 = extractvalue { i8*, i32 } %382, 0
- %385 = extractvalue { i8*, i32 } %382, 1
- %386 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 0
- store i8* %384, i8** %386, align 8
- %387 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %4, i32 0, i32 1
- store i32 %385, i32* %387, align 8
- br label %241
- }
- ; Function Attrs: inlinehint uwtable
- define internal { [0 x i32]*, i64 } @"_ZN99_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17he9b2cfe1bb70066dE"(i64, i64, [0 x i32]* noalias nonnull readonly, i64) unnamed_addr #0 {
- %5 = call i32* @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$6as_ptr17h32215ff12a098383E"([0 x i32]* noalias nonnull readonly %2, i64 %3)
- br label %6
- ; <label>:6: ; preds = %4
- %7 = icmp ule i64 %0, -1
- call void @llvm.assume(i1 %7)
- %8 = call i32* @"_ZN4core3ptr33_$LT$impl$u20$$BP$const$u20$T$GT$6offset17h2db78cc51ca12da6E"(i32* %5, i64 %0)
- br label %9
- ; <label>:9: ; preds = %6
- %10 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %1, i64 %0)
- %11 = extractvalue { i64, i1 } %10, 0
- %12 = extractvalue { i64, i1 } %10, 1
- %13 = call i1 @llvm.expect.i1(i1 %12, i1 false)
- br i1 %13, label %21, label %14
- ; <label>:14: ; preds = %9
- %15 = call { [0 x i32]*, i64 } @_ZN4core5slice14from_raw_parts17hacb157bb9f25ba37E(i32* %8, i64 %11)
- %16 = extractvalue { [0 x i32]*, i64 } %15, 0
- %17 = extractvalue { [0 x i32]*, i64 } %15, 1
- br label %18
- ; <label>:18: ; preds = %14
- %19 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %16, 0
- %20 = insertvalue { [0 x i32]*, i64 } %19, i64 %17, 1
- ret { [0 x i32]*, i64 } %20
- ; <label>:21: ; preds = %9
- call void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40) bitcast ({ { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 }* @panic_loc.a to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
- unreachable
- }
- ; Function Attrs: inlinehint uwtable
- define internal { [0 x i32]*, i64 } @"_ZN99_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h5697259416355b17E"(i64, i64, [0 x i32]* noalias nonnull readonly, i64) unnamed_addr #0 {
- %5 = icmp ugt i64 %0, %1
- br i1 %5, label %6, label %7
- ; <label>:6: ; preds = %4
- call void @_ZN4core5slice22slice_index_order_fail17hd0a9eb5d87471258E(i64 %0, i64 %1)
- unreachable
- ; <label>:7: ; preds = %4
- %8 = call i64 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17he70cfd9d37ed05efE"([0 x i32]* noalias nonnull readonly %2, i64 %3)
- br label %9
- ; <label>:9: ; preds = %7
- %10 = icmp ugt i64 %1, %8
- br i1 %10, label %11, label %13
- ; <label>:11: ; preds = %9
- %12 = call i64 @"_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$3len17he70cfd9d37ed05efE"([0 x i32]* noalias nonnull readonly %2, i64 %3)
- br label %17
- ; <label>:13: ; preds = %9
- %14 = call { [0 x i32]*, i64 } @"_ZN99_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$13get_unchecked17he9b2cfe1bb70066dE"(i64 %0, i64 %1, [0 x i32]* noalias nonnull readonly %2, i64 %3)
- %15 = extractvalue { [0 x i32]*, i64 } %14, 0
- %16 = extractvalue { [0 x i32]*, i64 } %14, 1
- br label %18
- ; <label>:17: ; preds = %11
- call void @_ZN4core5slice20slice_index_len_fail17h41ae248f36c196f1E(i64 %1, i64 %12)
- unreachable
- ; <label>:18: ; preds = %13
- %19 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %15, 0
- %20 = insertvalue { [0 x i32]*, i64 } %19, i64 %16, 1
- ret { [0 x i32]*, i64 } %20
- }
- ; Function Attrs: uwtable
- define internal void @_ZN19bad_position_simple4main17hd6968b5c65b64145E() unnamed_addr #2 {
- call void @_ZN19bad_position_simple21import_path_to_string17h210232a05b4d0302E([0 x i32]* noalias nonnull readonly bitcast ([1 x i32]* @ref.b to [0 x i32]*), i64 1)
- br label %1
- ; <label>:1: ; preds = %0
- call void @_ZN19bad_position_simple21import_path_to_string17h210232a05b4d0302E([0 x i32]* noalias nonnull readonly @ref.c, i64 0)
- br label %2
- ; <label>:2: ; preds = %1
- ret void
- }
- ; Function Attrs: uwtable
- define internal void @_ZN19bad_position_simple21import_path_to_string17h210232a05b4d0302E([0 x i32]* noalias nonnull readonly, i64) unnamed_addr #2 {
- %3 = alloca i64, align 8
- %4 = alloca i64*, align 8
- %5 = alloca [1 x { i8*, i8* }], align 8
- %6 = alloca %"core::fmt::Arguments", align 8
- %7 = alloca i64, align 8
- %8 = alloca { [0 x i32]*, i64 }, align 8
- %9 = alloca i64, align 8
- %10 = alloca { i64, i64 }, align 8
- %11 = alloca { [0 x i32]*, i64 }, align 8
- %12 = alloca i8, align 1
- %13 = alloca { i32*, i32* }, align 8
- %14 = alloca %"core::option::Option<usize>", align 8
- %15 = call { i32*, i32* } @"_ZN5alloc5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4iter17h08ec6eec9d3c8166E"([0 x i32]* noalias nonnull readonly %0, i64 %1)
- store { i32*, i32* } %15, { i32*, i32* }* %13, align 8
- br label %16
- ; <label>:16: ; preds = %2
- call void @"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position17hf1a29b42059163daE"(%"core::option::Option<usize>"* noalias nocapture sret dereferenceable(16) %14, { i32*, i32* }* dereferenceable(16) %13)
- br label %17
- ; <label>:17: ; preds = %16
- %18 = call zeroext i1 @"_ZN5alloc5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$8is_empty17h7069f18437424c5eE"([0 x i32]* noalias nonnull readonly %0, i64 %1)
- br label %29
- ; <label>:19: ; preds = %31
- store i8 1, i8* %12, align 1
- br label %24
- ; <label>:20: ; preds = %31, %29
- store i8 0, i8* %12, align 1
- br label %24
- ; <label>:21: ; preds = %29
- %22 = icmp ult i64 0, %1
- %23 = call i1 @llvm.expect.i1(i1 %22, i1 true)
- br i1 %23, label %31, label %115
- ; <label>:24: ; preds = %20, %19
- %25 = bitcast %"core::option::Option<usize>"* %14 to i64*
- %26 = load i64, i64* %25, align 8, !range !1
- %27 = bitcast %"core::option::Option<usize>"* %14 to i64*
- %28 = load i64, i64* %27, align 8, !range !1
- switch i64 %28, label %35 [
- i64 1, label %38
- ]
- ; <label>:29: ; preds = %17
- %30 = xor i1 %18, true
- br i1 %30, label %21, label %20
- ; <label>:31: ; preds = %21
- %32 = getelementptr inbounds [0 x i32], [0 x i32]* %0, i64 0, i64 0
- %33 = load i32, i32* %32, align 4
- %34 = icmp eq i32 %33, 1
- br i1 %34, label %19, label %20
- ; <label>:35: ; preds = %24
- %36 = load i8, i8* %12, align 1, !range !2
- %37 = trunc i8 %36 to i1
- br i1 %37, label %76, label %81
- ; <label>:38: ; preds = %24
- %39 = bitcast %"core::option::Option<usize>"* %14 to %"core::option::Option<usize>::Some"*
- %40 = getelementptr inbounds %"core::option::Option<usize>::Some", %"core::option::Option<usize>::Some"* %39, i32 0, i32 1
- %41 = load i64, i64* %40, align 8
- %42 = load i8, i8* %12, align 1, !range !2
- %43 = trunc i8 %42 to i1
- br i1 %43, label %45, label %50
- ; <label>:44: ; preds = %93, %73, %65
- ret void
- ; <label>:45: ; preds = %38
- %46 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %41, i64 1)
- %47 = extractvalue { i64, i1 } %46, 0
- %48 = extractvalue { i64, i1 } %46, 1
- %49 = call i1 @llvm.expect.i1(i1 %48, i1 false)
- br i1 %49, label %116, label %55
- ; <label>:50: ; preds = %38
- %51 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %41, i64 1)
- %52 = extractvalue { i64, i1 } %51, 0
- %53 = extractvalue { i64, i1 } %51, 1
- %54 = call i1 @llvm.expect.i1(i1 %53, i1 false)
- br i1 %54, label %117, label %68
- ; <label>:55: ; preds = %45
- %56 = bitcast { i64, i64 }* %10 to i64*
- store i64 1, i64* %56, align 8
- %57 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i32 0, i32 1
- store i64 %47, i64* %57, align 8
- %58 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i32 0, i32 0
- %59 = load i64, i64* %58, align 8
- %60 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i32 0, i32 1
- %61 = load i64, i64* %60, align 8
- %62 = call { [0 x i32]*, i64 } @"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h0fe7e803fce1e20aE"([0 x i32]* noalias nonnull readonly %0, i64 %1, i64 %59, i64 %61)
- %63 = extractvalue { [0 x i32]*, i64 } %62, 0
- %64 = extractvalue { [0 x i32]*, i64 } %62, 1
- br label %65
- ; <label>:65: ; preds = %55
- %66 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %11, i32 0, i32 0
- store [0 x i32]* %63, [0 x i32]** %66, align 8
- %67 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %11, i32 0, i32 1
- store i64 %64, i64* %67, align 8
- br label %44
- ; <label>:68: ; preds = %50
- store i64 %52, i64* %9, align 8
- %69 = load i64, i64* %9, align 8
- %70 = call { [0 x i32]*, i64 } @"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17h41f64f54e8d1b7d6E"([0 x i32]* noalias nonnull readonly %0, i64 %1, i64 %69)
- %71 = extractvalue { [0 x i32]*, i64 } %70, 0
- %72 = extractvalue { [0 x i32]*, i64 } %70, 1
- br label %73
- ; <label>:73: ; preds = %68
- %74 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %11, i32 0, i32 0
- store [0 x i32]* %71, [0 x i32]** %74, align 8
- %75 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %11, i32 0, i32 1
- store i64 %72, i64* %75, align 8
- br label %44
- ; <label>:76: ; preds = %35
- store i64 1, i64* %7, align 8
- %77 = load i64, i64* %7, align 8
- %78 = call { [0 x i32]*, i64 } @"_ZN4core5slice74_$LT$impl$u20$core..ops..index..Index$LT$I$GT$$u20$for$u20$$u5b$T$u5d$$GT$5index17hd2e2694457d96551E"([0 x i32]* noalias nonnull readonly %0, i64 %1, i64 %77)
- %79 = extractvalue { [0 x i32]*, i64 } %78, 0
- %80 = extractvalue { [0 x i32]*, i64 } %78, 1
- br label %84
- ; <label>:81: ; preds = %35
- %82 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %8, i32 0, i32 0
- store [0 x i32]* %0, [0 x i32]** %82, align 8
- %83 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %8, i32 0, i32 1
- store i64 %1, i64* %83, align 8
- br label %87
- ; <label>:84: ; preds = %76
- %85 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %8, i32 0, i32 0
- store [0 x i32]* %79, [0 x i32]** %85, align 8
- %86 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %8, i32 0, i32 1
- store i64 %80, i64* %86, align 8
- br label %87
- ; <label>:87: ; preds = %84, %81
- %88 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %8, i32 0, i32 0
- %89 = load [0 x i32]*, [0 x i32]** %88, align 8, !nonnull !3
- %90 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %8, i32 0, i32 1
- %91 = load i64, i64* %90, align 8
- %92 = call zeroext i1 @"_ZN5alloc5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$8is_empty17h7069f18437424c5eE"([0 x i32]* noalias nonnull readonly %89, i64 %91)
- br label %93
- ; <label>:93: ; preds = %87
- %94 = xor i1 %92, true
- br i1 %94, label %95, label %44
- ; <label>:95: ; preds = %93
- %96 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %8, i32 0, i32 0
- %97 = load [0 x i32]*, [0 x i32]** %96, align 8, !nonnull !3
- %98 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %8, i32 0, i32 1
- %99 = load i64, i64* %98, align 8
- %100 = call i64 @"_ZN5alloc5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$3len17hab82a3a5ee843773E"([0 x i32]* noalias nonnull readonly %97, i64 %99)
- store i64 %100, i64* %3, align 8
- br label %101
- ; <label>:101: ; preds = %95
- store i64* %3, i64** %4, align 8
- %102 = load i64*, i64** %4, align 8, !nonnull !3
- %103 = call { i8*, i8* } @_ZN4core3fmt10ArgumentV13new17h62ac4e23745d2eacE(i64* noalias readonly dereferenceable(8) %102, i1 (i64*, %"core::fmt::Formatter"*)* nonnull @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h4b475879c6110157E")
- %104 = extractvalue { i8*, i8* } %103, 0
- %105 = extractvalue { i8*, i8* } %103, 1
- br label %106
- ; <label>:106: ; preds = %101
- %107 = getelementptr inbounds [1 x { i8*, i8* }], [1 x { i8*, i8* }]* %5, i64 0, i64 0
- %108 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %107, i32 0, i32 0
- store i8* %104, i8** %108, align 8
- %109 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %107, i32 0, i32 1
- store i8* %105, i8** %109, align 8
- %110 = bitcast [1 x { i8*, i8* }]* %5 to [0 x { i8*, i8* }]*
- %111 = load [1 x %"core::fmt::rt::v1::Argument"]*, [1 x %"core::fmt::rt::v1::Argument"]** bitcast ({ { [0 x i8], { i64, [0 x i8], i64, [0 x i8] }, [0 x i8], { [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], i32, [0 x i8], i32, [0 x i8], i8, [7 x i8] }, [0 x i8] } }** @const.i to [1 x %"core::fmt::rt::v1::Argument"]**), align 8, !nonnull !3
- %112 = bitcast [1 x %"core::fmt::rt::v1::Argument"]* %111 to [0 x %"core::fmt::rt::v1::Argument"]*
- call void @_ZN4core3fmt9Arguments16new_v1_formatted17hea2ae333548f7201E(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(48) %6, [0 x { [0 x i8]*, i64 }]* noalias nonnull readonly bitcast ([1 x { [0 x i8]*, i64 }]* @ref.g to [0 x { [0 x i8]*, i64 }]*), i64 1, [0 x { i8*, i8* }]* noalias nonnull readonly %110, i64 1, [0 x %"core::fmt::rt::v1::Argument"]* noalias nonnull readonly %112, i64 1)
- br label %113
- ; <label>:113: ; preds = %106
- %114 = load { [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*, { [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }** bitcast ({ [0 x i8], { [0 x i8]*, i64 }, [0 x i8], i32, [0 x i8], i32, [0 x i8] }** @const.k to { [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }**), align 8, !nonnull !3
- call void @_ZN3std9panicking15begin_panic_fmt17h12231957b6c3aabeE(%"core::fmt::Arguments"* noalias readonly dereferenceable(48) %6, { [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(24) %114)
- unreachable
- ; <label>:115: ; preds = %21
- call void @_ZN4core9panicking18panic_bounds_check17hb9ff1ec5af7b2839E({ [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(24) bitcast ({ { [0 x i8]*, i64 }, i32, i32 }* @panic_bounds_check_loc.e to { [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*), i64 0, i64 %1)
- unreachable
- ; <label>:116: ; preds = %45
- call void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40) bitcast ({ { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 }* @panic_loc.l to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
- unreachable
- ; <label>:117: ; preds = %50
- call void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40) bitcast ({ { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 }* @panic_loc.m to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
- unreachable
- }
- ; Function Attrs: uwtable
- define internal zeroext i1 @"_ZN19bad_position_simple21import_path_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h6e8857c45441a25dE"(%"import_path_to_string::{{closure}}"* nonnull, i32* noalias readonly dereferenceable(4)) unnamed_addr #2 {
- %3 = load i32, i32* %1, align 4
- %4 = icmp ne i32 %3, 1
- ret i1 %4
- }
- declare i32 @rust_eh_personality(i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*) unnamed_addr #3
- ; Function Attrs: argmemonly nounwind
- declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #4
- ; Function Attrs: nounwind
- declare void @llvm.assume(i1) #5
- ; Function Attrs: nounwind readnone
- declare i1 @llvm.expect.i1(i1, i1) #6
- ; Function Attrs: cold noinline noreturn
- declare void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40)) unnamed_addr #7
- declare hidden zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h5df57ca3a59651deE([0 x i32]* noalias nonnull readonly, i64) unnamed_addr #3
- ; Function Attrs: nounwind readnone speculatable
- declare { i64, i1 } @llvm.uadd.with.overflow.i64(i64, i64) #8
- declare hidden void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$11into_result17h20c389a4d040cb5eE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16), %"core::result::Result<usize, usize>"* noalias nocapture dereferenceable(16)) unnamed_addr #3
- declare hidden i64 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h514ffbaf3bb75a3eE"(i64) unnamed_addr #3
- declare hidden void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$10from_error17h222e7515b9cde0afE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #3
- declare hidden void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$7from_ok17hed12cd599a454669E"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #3
- ; Function Attrs: nounwind readnone speculatable
- declare { i64, i1 } @llvm.usub.with.overflow.i64(i64, i64) #8
- ; Function Attrs: cold noinline noreturn
- declare void @_ZN4core5slice22slice_index_order_fail17hd0a9eb5d87471258E(i64, i64) unnamed_addr #7
- ; Function Attrs: cold noinline noreturn
- declare void @_ZN4core5slice20slice_index_len_fail17h41ae248f36c196f1E(i64, i64) unnamed_addr #7
- ; Function Attrs: cold noinline noreturn
- declare void @_ZN4core9panicking18panic_bounds_check17hb9ff1ec5af7b2839E({ [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(24), i64, i64) unnamed_addr #7
- declare zeroext i1 @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h4b475879c6110157E"(i64* noalias readonly dereferenceable(8), %"core::fmt::Formatter"* dereferenceable(96)) unnamed_addr #3
- declare hidden { i8*, i8* } @_ZN4core3fmt10ArgumentV13new17h62ac4e23745d2eacE(i64* noalias readonly dereferenceable(8), i1 (i64*, %"core::fmt::Formatter"*)* nonnull) unnamed_addr #3
- ; Function Attrs: cold noinline noreturn
- declare void @_ZN3std9panicking15begin_panic_fmt17h12231957b6c3aabeE(%"core::fmt::Arguments"* noalias readonly dereferenceable(48), { [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(24)) unnamed_addr #7
- define i32 @main(i32, i8**) unnamed_addr {
- %3 = sext i32 %0 to i64
- %4 = call i64 @_ZN3std2rt10lang_start17hc22bd9d4d8304f2bE(void ()* @_ZN19bad_position_simple4main17hd6968b5c65b64145E, i64 %3, i8** %1)
- %5 = trunc i64 %4 to i32
- ret i32 %5
- }
- declare hidden i64 @_ZN3std2rt10lang_start17hc22bd9d4d8304f2bE(void ()* nonnull, i64, i8**) unnamed_addr #3
- ; Function Attrs: argmemonly nounwind
- declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #4
- ; Function Attrs: argmemonly nounwind
- declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #4
- attributes #0 = { inlinehint uwtable "probe-stack"="__rust_probestack" }
- attributes #1 = { alwaysinline uwtable "probe-stack"="__rust_probestack" }
- attributes #2 = { uwtable "probe-stack"="__rust_probestack" }
- attributes #3 = { "probe-stack"="__rust_probestack" }
- attributes #4 = { argmemonly nounwind }
- attributes #5 = { nounwind }
- attributes #6 = { nounwind readnone }
- attributes #7 = { cold noinline noreturn "probe-stack"="__rust_probestack" }
- attributes #8 = { nounwind readnone speculatable }
- !llvm.module.flags = !{!0}
- !0 = !{i32 7, !"PIE Level", i32 2}
- !1 = !{i64 0, i64 2}
- !2 = !{i8 0, i8 2}
- !3 = !{}
Add Comment
Please, Sign In to add comment