InstrProfilingLoweringPass

Created Diff never expires
337 removals
Words removed1160
Total words3096
Words removed (%)37.47
419 lines
237 additions
Words added874
Total words2810
Words added (%)31.10
318 lines
; *** IR Dump Before InstrProfilingLoweringPass on [module] ***
; *** IR Dump Before InferFunctionAttrsPass on [module] ***
; ModuleID = 'minicov_test.41c8da63a6baeffb-cgu.0'
; ModuleID = 'minicov_test.41c8da63a6baeffb-cgu.0'
source_filename = "minicov_test.41c8da63a6baeffb-cgu.0"
source_filename = "minicov_test.41c8da63a6baeffb-cgu.0"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-none-elf"
target triple = "x86_64-unknown-none-elf"


$__covrec_19EE46988CC671D5u = comdat any
$__covrec_19EE46988CC671D5u = comdat any


$__covrec_D49AA823C5BDE2B9u = comdat any
$__covrec_D49AA823C5BDE2B9u = comdat any


$__covrec_914B764AF3CA8D86u = comdat any
$__covrec_914B764AF3CA8D86u = comdat any


$__covrec_D36586123C61A386u = comdat any
$__covrec_D36586123C61A386u = comdat any


$__covrec_EE9774ECC6667A28u = comdat any
$__covrec_EE9774ECC6667A28u = comdat any


$__covrec_8146E47F06F8C949u = comdat any
$__covrec_8146E47F06F8C949u = comdat any


@__profn__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_ = private constant [90 x i8] c"_RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_"
$__profc__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_ = comdat nodeduplicate

$__profc__RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_ = comdat nodeduplicate

$__profc__RNvXCs5EawFi8vOrv_12minicov_testNtB2_6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_str = comdat nodeduplicate

$__profc_rust_begin_unwind = comdat nodeduplicate

$__profc__RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write = comdat nodeduplicate

$__profc__start = comdat nodeduplicate

$__llvm_profile_filename = comdat any

@0 = private unnamed_addr constant <{ [95 x i8] }> <{ [95 x i8] c"/home/monad/.cache/cargo/registry/src/index.crates.io-6f17d22bba15001f/minicov-0.3.7/src/lib.rs" }>, align 1
@0 = private unnamed_addr constant <{ [95 x i8] }> <{ [95 x i8] c"/home/monad/.cache/cargo/registry/src/index.crates.io-6f17d22bba15001f/minicov-0.3.7/src/lib.rs" }>, align 1
@1 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @0, [16 x i8] c"_\00\00\00\00\00\00\00\D1\00\00\00!\00\00\00" }>, align 8
@1 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @0, [16 x i8] c"_\00\00\00\00\00\00\00\D1\00\00\00!\00\00\00" }>, align 8
@__profn__RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_ = private constant [92 x i8] c"_RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_"
@2 = private unnamed_addr constant <{ [18 x i8] }> <{ [18 x i8] c"CoverageWriteError" }>, align 1
@2 = private unnamed_addr constant <{ [18 x i8] }> <{ [18 x i8] c"CoverageWriteError" }>, align 1
@3 = private unnamed_addr constant <{ [8 x i8], [8 x i8] }> <{ [8 x i8] zeroinitializer, [8 x i8] undef }>, align 8
@3 = private unnamed_addr constant <{ [8 x i8], [8 x i8] }> <{ [8 x i8] zeroinitializer, [8 x i8] undef }>, align 8
@4 = private unnamed_addr constant <{ [24 x i8], ptr, ptr, ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00", ptr @_RNvXCs5EawFi8vOrv_12minicov_testNtB2_6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_str, ptr @_RNvYNtCs5EawFi8vOrv_12minicov_test6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write10write_charB4_, ptr @_RNvYNtCs5EawFi8vOrv_12minicov_test6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_fmtB4_ }>, align 8
@4 = private unnamed_addr constant <{ [24 x i8], ptr, ptr, ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00", ptr @_RNvXCs5EawFi8vOrv_12minicov_testNtB2_6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_str, ptr @_RNvYNtCs5EawFi8vOrv_12minicov_test6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write10write_charB4_, ptr @_RNvYNtCs5EawFi8vOrv_12minicov_test6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_fmtB4_ }>, align 8
@5 = private unnamed_addr constant <{ [136 x i8] }> <{ [136 x i8] c"/nix/store/4dafm5gnk24cqj6ax76y15hpvgjgbsz1-rust-default-1.85.0-nightly-2024-11-25/lib/rustlib/src/rust/library/core/src/char/methods.rs" }>, align 1
@5 = private unnamed_addr constant <{ [136 x i8] }> <{ [136 x i8] c"/nix/store/4dafm5gnk24cqj6ax76y15hpvgjgbsz1-rust-default-1.85.0-nightly-2024-11-25/lib/rustlib/src/rust/library/core/src/char/methods.rs" }>, align 1
@6 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @5, [16 x i8] c"\88\00\00\00\00\00\00\00\17\07\00\00\0D\00\00\00" }>, align 8
@6 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @5, [16 x i8] c"\88\00\00\00\00\00\00\00\17\07\00\00\0D\00\00\00" }>, align 8
@7 = private unnamed_addr constant <{ [5 x i8] }> <{ [5 x i8] c"Error" }>, align 1
@7 = private unnamed_addr constant <{ [5 x i8] }> <{ [5 x i8] c"Error" }>, align 1
@__profn__RNvXCs5EawFi8vOrv_12minicov_testNtB2_6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_str = private constant [88 x i8] c"_RNvXCs5EawFi8vOrv_12minicov_testNtB2_6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_str"
@__profn_rust_begin_unwind = private constant [17 x i8] c"rust_begin_unwind"
@__profn__RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write = private constant [99 x i8] c"_RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write"
@__profn__start = private constant [6 x i8] c"_start"
@8 = private unnamed_addr constant <{ [20 x i8] }> <{ [20 x i8] c"Coverage data size: " }>, align 1
@8 = private unnamed_addr constant <{ [20 x i8] }> <{ [20 x i8] c"Coverage data size: " }>, align 1
@9 = private unnamed_addr constant <{ [1 x i8] }> <{ [1 x i8] c"\0A" }>, align 1
@9 = private unnamed_addr constant <{ [1 x i8] }> <{ [1 x i8] c"\0A" }>, align 1
@10 = private unnamed_addr constant <{ ptr, [8 x i8], ptr, [8 x i8] }> <{ ptr @8, [8 x i8] c"\14\00\00\00\00\00\00\00", ptr @9, [8 x i8] c"\01\00\00\00\00\00\00\00" }>, align 8
@10 = private unnamed_addr constant <{ ptr, [8 x i8], ptr, [8 x i8] }> <{ ptr @8, [8 x i8] c"\14\00\00\00\00\00\00\00", ptr @9, [8 x i8] c"\01\00\00\00\00\00\00\00" }>, align 8
@11 = private unnamed_addr constant <{ [8 x i8], [8 x i8] }> <{ [8 x i8] c"\02\00\00\00\00\00\00\00", [8 x i8] undef }>, align 8
@11 = private unnamed_addr constant <{ [8 x i8], [8 x i8] }> <{ [8 x i8] c"\02\00\00\00\00\00\00\00", [8 x i8] undef }>, align 8
@12 = private unnamed_addr constant <{ [24 x i8], ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00", ptr @"_ZN53_$LT$core..fmt..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17hac5be182a89231f9E" }>, align 8
@12 = private unnamed_addr constant <{ [24 x i8], ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00", ptr @"_ZN53_$LT$core..fmt..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17hac5be182a89231f9E" }>, align 8
@13 = private unnamed_addr constant <{ [43 x i8] }> <{ [43 x i8] c"called `Result::unwrap()` on an `Err` value" }>, align 1
@13 = private unnamed_addr constant <{ [43 x i8] }> <{ [43 x i8] c"called `Result::unwrap()` on an `Err` value" }>, align 1
@14 = private unnamed_addr constant <{ [11 x i8] }> <{ [11 x i8] c"src/main.rs" }>, align 1
@14 = private unnamed_addr constant <{ [11 x i8] }> <{ [11 x i8] c"src/main.rs" }>, align 1
@15 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @14, [16 x i8] c"\0B\00\00\00\00\00\00\00*\00\00\00=\00\00\00" }>, align 8
@15 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @14, [16 x i8] c"\0B\00\00\00\00\00\00\00*\00\00\00=\00\00\00" }>, align 8
@16 = private unnamed_addr constant <{ [24 x i8], ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00", ptr @_RNvXs5_Csh1TRFBMQq3s_7minicovNtB5_18CoverageWriteErrorNtNtCs4uIvI6Zsoxu_4core3fmt5Debug3fmt }>, align 8
@16 = private unnamed_addr constant <{ [24 x i8], ptr }> <{ [24 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00", ptr @_RNvXs5_Csh1TRFBMQq3s_7minicovNtB5_18CoverageWriteErrorNtNtCs4uIvI6Zsoxu_4core3fmt5Debug3fmt }>, align 8
@17 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @14, [16 x i8] c"\0B\00\00\00\00\00\00\00)\00\00\005\00\00\00" }>, align 8
@17 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @14, [16 x i8] c"\0B\00\00\00\00\00\00\00)\00\00\005\00\00\00" }>, align 8
@__llvm_coverage_mapping = private constant { { i32, i32, i32, i32 }, [124 x i8] } { { i32, i32, i32, i32 } { i32 0, i32 124, i32 0, i32 6 }, [124 x i8] c"\03\98\01xx\DAM\8C\C1\0D\C20\0C\00\07`\14\D48)\82\8E\83\1C\C7m\8DH\8C\EC\A8\82\ED)<\10\BF{\DC\DD\11V\AD\0CU\1B\16x\98\DE\98\BA\03zg\93\86\0EU\9A\90nCg\EF\D7\7F7\10\D2\CA@h\8B\82\F1\22\DE\ED\05n\04\D2\0A?\03\19\EEM\10\1D.s\9A\CA8\E6\8C\E9\1Cc\9A\7F\CF\18Na\FA&w\C9\C1\FC\F0\C1\8A\D2v~\03\A2\D35\EE" }, section "__llvm_covmap", align 8
@__llvm_coverage_mapping = private constant { { i32, i32, i32, i32 }, [124 x i8] } { { i32, i32, i32, i32 } { i32 0, i32 124, i32 0, i32 6 }, [124 x i8] c"\03\98\01xx\DAM\8C\C1\0D\C20\0C\00\07`\14\D48)\82\8E\83\1C\C7m\8DH\8C\EC\A8\82\ED)<\10\BF{\DC\DD\11V\AD\0CU\1B\16x\98\DE\98\BA\03zg\93\86\0EU\9A\90nCg\EF\D7\7F7\10\D2\CA@h\8B\82\F1\22\DE\ED\05n\04\D2\0A?\03\19\EEM\10\1D.s\9A\CA8\E6\8C\E9\1Cc\9A\7F\CF\18Na\FA&w\C9\C1\FC\F0\C1\8A\D2v~\03\A2\D35\EE" }, section "__llvm_covmap", align 8
@__covrec_19EE46988CC671D5u = linkonce_odr hidden constant <{ i64, i32, i64, i64, [89 x i8] }> <{ i64 1868508516416123349, i32 89, i64 -6947473091258358206, i64 -1489898331055277622, [89 x i8] c"\01\01\07\15\19\03\1D\11\15\12\0D\11\15\1B\05\09\0D\0E\01\C4\01\01\05:\11\06\09\00\0C\01\00&\00A\11\01\0D\01\1E\15\03\11\01$\03\02\13\00!\06\01\15\01/\09\02\1C\00\1D\19\01\12\01(\12\04\11\01+\0D\02\18\00\19\0E\01\0D\00\0E\05\03\05\00\06\17\01\01\00\02" }>, section "__llvm_covfun", comdat, align 8
@__covrec_19EE46988CC671D5u = linkonce_odr hidden constant <{ i64, i32, i64, i64, [89 x i8] }> <{ i64 1868508516416123349, i32 89, i64 -6947473091258358206, i64 -1489898331055277622, [89 x i8] c"\01\01\07\15\19\03\1D\11\15\12\0D\11\15\1B\05\09\0D\0E\01\C4\01\01\05:\11\06\09\00\0C\01\00&\00A\11\01\0D\01\1E\15\03\11\01$\03\02\13\00!\06\01\15\01/\09\02\1C\00\1D\19\01\12\01(\12\04\11\01+\0D\02\18\00\19\0E\01\0D\00\0E\05\03\05\00\06\17\01\01\00\02" }>, section "__llvm_covfun", comdat, align 8
@__covrec_D49AA823C5BDE2B9u = linkonce_odr hidden constant <{ i64, i32, i64, i64, [27 x i8] }> <{ i64 -3127002119660510535, i32 27, i64 8355110419227653994, i64 -1489898331055277622, [27 x i8] c"\01\01\01\01\05\04\01\F9\01\01\0A\10\05\0B\09\00\0F\02\02\09\00 \01\02\01\00\02" }>, section "__llvm_covfun", comdat, align 8
@__covrec_D49AA823C5BDE2B9u = linkonce_odr hidden constant <{ i64, i32, i64, i64, [27 x i8] }> <{ i64 -3127002119660510535, i32 27, i64 8355110419227653994, i64 -1489898331055277622, [27 x i8] c"\01\01\01\01\05\04\01\F9\01\01\0A\10\05\0B\09\00\0F\02\02\09\00 \01\02\01\00\02" }>, section "__llvm_covfun", comdat, align 8
@__covrec_914B764AF3CA8D86u = linkonce_odr hidden constant <{ i64, i32, i64, i64, [9 x i8] }> <{ i64 -7977152250666906234, i32 9, i64 2078202071852213158, i64 -1489898331055277622, [9 x i8] c"\01\02\00\01\01\09\05\0C\06" }>, section "__llvm_covfun", comdat, align 8
@__covrec_914B764AF3CA8D86u = linkonce_odr hidden constant <{ i64, i32, i64, i64, [9 x i8] }> <{ i64 -7977152250666906234, i32 9, i64 2078202071852213158, i64 -1489898331055277622, [9 x i8] c"\01\02\00\01\01\09\05\0C\06" }>, section "__llvm_covfun", comdat, align 8
@__covrec_D36586123C61A386u = linkonce_odr hidden constant <{ i64, i32, i64, i64, [14 x i8] }> <{ i64 -3214015346178415738, i32 14, i64 7474091596766465044, i64 -1489898331055277622, [14 x i8] c"\01\02\00\02\01\19\01\00/\05\01\05\00\0C" }>, section "__llvm_covfun", comdat, align 8
@__covrec_D36586123C61A386u = linkonce_odr hidden constant <{ i64, i32, i64, i64, [14 x i8] }> <{ i64 -3214015346178415738, i32 14, i64 7474091596766465044, i64 -1489898331055277622, [14 x i8] c"\01\02\00\02\01\19\01\00/\05\01\05\00\0C" }>, section "__llvm_covfun", comdat, align 8
@__covrec_EE9774ECC6667A28u = linkonce_odr hidden constant <{ i64, i32, i64, i64, [9 x i8] }> <{ i64 -1254405410909685208, i32 9, i64 -221561781285156954, i64 -1489898331055277622, [9 x i8] c"\01\02\00\01\01 \05\03\06" }>, section "__llvm_covfun", comdat, align 8
@__covrec_EE9774ECC6667A28u = linkonce_odr hidden constant <{ i64, i32, i64, i64, [9 x i8] }> <{ i64 -1254405410909685208, i32 9, i64 -221561781285156954, i64 -1489898331055277622, [9 x i8] c"\01\02\00\01\01 \05\03\06" }>, section "__llvm_covfun", comdat, align 8
@__covrec_8146E47F06F8C949u = linkonce_odr hidden constant <{ i64, i32, i64, i64, [14 x i8] }> <{ i64 -9131359960218154679, i32 14, i64 3947370848269165527, i64 -1489898331055277622, [14 x i8] c"\01\02\00\02\01'\01\03E\05\05\05\00\0C" }>, section "__llvm_covfun", comdat, align 8
@__covrec_8146E47F06F8C949u = linkonce_odr hidden constant <{ i64, i32, i64, i64, [14 x i8] }> <{ i64 -9131359960218154679, i32 14, i64 3947370848269165527, i64 -1489898331055277622, [14 x i8] c"\01\02\00\02\01'\01\03E\05\05\05\00\0C" }>, section "__llvm_covfun", comdat, align 8
@llvm.used = appending global [7 x ptr] [ptr @__llvm_coverage_mapping, ptr @__covrec_19EE46988CC671D5u, ptr @__covrec_D49AA823C5BDE2B9u, ptr @__covrec_914B764AF3CA8D86u, ptr @__covrec_D36586123C61A386u, ptr @__covrec_EE9774ECC6667A28u, ptr @__covrec_8146E47F06F8C949u], section "llvm.metadata"
@__llvm_profile_runtime = external hidden global i32
@__profc__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_ = private global [8 x i64] zeroinitializer, section "__llvm_prf_cnts", comdat, align 8
@__profd__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_ = private global { i64, i64, i64, i64, ptr, ptr, i32, [3 x i16], i32 } { i64 1868508516416123349, i64 -6947473091258358206, i64 sub (i64 ptrtoint (ptr @__profc__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_ to i64), i64 ptrtoint (ptr @__profd__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_ to i64)), i64 0, ptr null, ptr null, i32 8, [3 x i16] zeroinitializer, i32 0 }, section "__llvm_prf_data", comdat($__profc__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_), align 8
@__profc__RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_ = private global [2 x i64] zeroinitializer, section "__llvm_prf_cnts", comdat, align 8
@__profd__RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_ = private global { i64, i64, i64, i64, ptr, ptr, i32, [3 x i16], i32 } { i64 -3127002119660510535, i64 8355110419227653994, i64 sub (i64 ptrtoint (ptr @__profc__RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_ to i64), i64 ptrtoint (ptr @__profd__RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_ to i64)), i64 0, ptr null, ptr null, i32 2, [3 x i16] zeroinitializer, i32 0 }, section "__llvm_prf_data", comdat($__profc__RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_), align 8
@__profc__RNvXCs5EawFi8vOrv_12minicov_testNtB2_6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_str = private global [1 x i64] zeroinitializer, section "__llvm_prf_cnts", comdat, align 8
@__profd__RNvXCs5EawFi8vOrv_12minicov_testNtB2_6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_str = private global { i64, i64, i64, i64, ptr, ptr, i32, [3 x i16], i32 } { i64 -7977152250666906234, i64 2078202071852213158, i64 sub (i64 ptrtoint (ptr @__profc__RNvXCs5EawFi8vOrv_12minicov_testNtB2_6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_str to i64), i64 ptrtoint (ptr @__profd__RNvXCs5EawFi8vOrv_12minicov_testNtB2_6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_str to i64)), i64 0, ptr null, ptr null, i32 1, [3 x i16] zeroinitializer, i32 0 }, section "__llvm_prf_data", comdat($__profc__RNvXCs5EawFi8vOrv_12minicov_testNtB2_6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_str), align 8
@__profc_rust_begin_unwind = private global [2 x i64] zeroinitializer, section "__llvm_prf_cnts", comdat, align 8
@__profd_rust_begin_unwind = private global { i64, i64, i64, i64, ptr, ptr, i32, [3 x i16], i32 } { i64 -3214015346178415738, i64 7474091596766465044, i64 sub (i64 ptrtoint (ptr @__profc_rust_begin_unwind to i64), i64 ptrtoint (ptr @__profd_rust_begin_unwind to i64)), i64 0, ptr null, ptr null, i32 2, [3 x i16] zeroinitializer, i32 0 }, section "__llvm_prf_data", comdat($__profc_rust_begin_unwind), align 8
@__profc__RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write = private global [1 x i64] zeroinitializer, section "__llvm_prf_cnts", comdat, align 8
@__profd__RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write = private global { i64, i64, i64, i64, ptr, ptr, i32, [3 x i16], i32 } { i64 -1254405410909685208, i64 -221561781285156954, i64 sub (i64 ptrtoint (ptr @__profc__RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write to i64), i64 ptrtoint (ptr @__profd__RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write to i64)), i64 0, ptr null, ptr null, i32 1, [3 x i16] zeroinitializer, i32 0 }, section "__llvm_prf_data", comdat($__profc__RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write), align 8
@__profc__start = private global [2 x i64] zeroinitializer, section "__llvm_prf_cnts", comdat, align 8
@__profd__start = private global { i64, i64, i64, i64, ptr, ptr, i32, [3 x i16], i32 } { i64 -9131359960218154679, i64 3947370848269165527, i64 sub (i64 ptrtoint (ptr @__profc__start to i64), i64 ptrtoint (ptr @__profd__start to i64)), i64 0, ptr null, ptr null, i32 2, [3 x i16] zeroinitializer, i32 0 }, section "__llvm_prf_data", comdat($__profc__start), align 8
@__llvm_prf_nm = private constant [201 x i8] c"\8D\03\C5\01x\DA\95\90[\0F\011\10\85\B3?\A9\F6\82\D7\DD \FB\A0\E2\92\10/\93\AA\A2a[\A6\D3\AE\F8\F5\AC\F5\22\11\E2\FD\CC\F7\9D30+y(\DC\81-f\C3|<\BD\C4\0E\BA\956Z\DA\C0\92\1A5)\90\E2t\DA\08y\E4T\B8t \EA\A1\EE\85\09\06`\9DW\10H9bl\AEo\AA\B0\DE\90\C2A>\82\08\BE\A03)\CE\E4\F1\01\B7A\A1\D8\AB\BF\E0e\03\E7a\F5\ED\84S\DE\81l\D9,@N\0D>\F1e(\B3\B5\B3W\0F\89\B4\A8\E2]E\E93\D1o\97:\C2\08\BD#\D8\A8\BD6\E0M\AD\CD\B6U9\F8!K\E0\ADd#\FC\FC\D4\E2\B5\B8\AD\96>\CD\D1C-\90\EEY\DD\91\A4", section "__llvm_prf_names", align 1
@llvm.compiler.used = appending global [7 x ptr] [ptr @__llvm_profile_runtime, ptr @__profd__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, ptr @__profd__RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_, ptr @__profd__RNvXCs5EawFi8vOrv_12minicov_testNtB2_6WriterNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_str, ptr @__profd_rust_begin_unwind, ptr @__profd__RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write, ptr @__profd__start], section "llvm.metadata"
@llvm.used = appending global [8 x ptr] [ptr @__llvm_coverage_mapping, ptr @__covrec_19EE46988CC671D5u, ptr @__covrec_D49AA823C5BDE2B9u, ptr @__covrec_914B764AF3CA8D86u, ptr @__covrec_D36586123C61A386u, ptr @__covrec_EE9774ECC6667A28u, ptr @__covrec_8146E47F06F8C949u, ptr @__llvm_prf_nm], section "llvm.metadata"
@__llvm_profile_filename = hidden constant [22 x i8] c"default_%m_%p.profraw\00", comdat


; Function Attrs: noredzone nounwind nonlazybind
; Function Attrs: noredzone nounwind nonlazybind
define internal noundef i32 @_RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_(ptr noundef %0, ptr noundef %1, i32 noundef %2) unnamed_addr #0 {
define internal noundef i32 @_RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_(ptr noundef %0, ptr noundef %1, i32 noundef %2) unnamed_addr #0 {
%4 = alloca [1 x i8], align 1
%4 = alloca [1 x i8], align 1
%5 = alloca [1 x i8], align 1
%5 = alloca [1 x i8], align 1
%6 = alloca [1 x i8], align 1
%6 = alloca [1 x i8], align 1
%7 = alloca [8 x i8], align 8
%7 = alloca [8 x i8], align 8
%8 = alloca [8 x i8], align 8
%8 = alloca [8 x i8], align 8
%9 = alloca [8 x i8], align 8
%9 = alloca [8 x i8], align 8
%10 = alloca [8 x i8], align 8
%10 = alloca [8 x i8], align 8
%11 = alloca [16 x i8], align 1
%11 = alloca [16 x i8], align 1
%12 = alloca [8 x i8], align 8
%12 = alloca [8 x i8], align 8
%13 = alloca [16 x i8], align 8
%13 = alloca [16 x i8], align 8
%14 = alloca [4 x i8], align 4
%14 = alloca [4 x i8], align 4
call void @llvm.instrprof.increment(ptr @__profn__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i64 -6947473091258358206, i32 8, i32 0)
%15 = atomicrmw add ptr @__profc__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i64 1 monotonic, align 8
%15 = getelementptr inbounds i8, ptr %0, i64 8
%16 = getelementptr inbounds i8, ptr %0, i64 8
%16 = load ptr, ptr %15, align 8, !noundef !3
%17 = load ptr, ptr %16, align 8, !noundef !3
%17 = zext i32 %2 to i64
%18 = zext i32 %2 to i64
%18 = getelementptr inbounds { ptr, i64, i64, i32, [1 x i32] }, ptr %1, i64 %17
%19 = getelementptr inbounds { ptr, i64, i64, i32, [1 x i32] }, ptr %1, i64 %18
call void @llvm.lifetime.start.p0(i64 16, ptr %13)
call void @llvm.lifetime.start.p0(i64 16, ptr %13)
store ptr %1, ptr %13, align 8
store ptr %1, ptr %13, align 8
%19 = getelementptr inbounds i8, ptr %13, i64 8
%20 = getelementptr inbounds i8, ptr %13, i64 8
store ptr %18, ptr %19, align 8
store ptr %19, ptr %20, align 8
br label %20
br label %21


20: ; preds = %55, %3
21: ; preds = %60, %3
call void @llvm.lifetime.start.p0(i64 8, ptr %12)
call void @llvm.lifetime.start.p0(i64 8, ptr %12)
%21 = call noundef align 8 dereferenceable_or_null(32) ptr @_RNvXs2U_NtNtCs4uIvI6Zsoxu_4core5slice4iterINtB6_4IterNtCsh1TRFBMQq3s_7minicov13ProfDataIOVecENtNtNtNtBa_4iter6traits8iterator8Iterator4nextCs5EawFi8vOrv_12minicov_test(ptr noalias noundef align 8 dereferenceable(16) %13) #4
%22 = call noundef align 8 dereferenceable_or_null(32) ptr @_RNvXs2U_NtNtCs4uIvI6Zsoxu_4core5slice4iterINtB6_4IterNtCsh1TRFBMQq3s_7minicov13ProfDataIOVecENtNtNtNtBa_4iter6traits8iterator8Iterator4nextCs5EawFi8vOrv_12minicov_test(ptr noalias noundef align 8 dereferenceable(16) %13) #4
store ptr %21, ptr %12, align 8
store ptr %22, ptr %12, align 8
%22 = load ptr, ptr %12, align 8, !noundef !3
%23 = load ptr, ptr %12, align 8, !noundef !3
%23 = ptrtoint ptr %22 to i64
%24 = ptrtoint ptr %23 to i64
%24 = icmp eq i64 %23, 0
%25 = icmp eq i64 %24, 0
%25 = select i1 %24, i64 0, i64 1
%26 = select i1 %25, i64 0, i64 1
switch i64 %25, label %26 [
switch i64 %26, label %27 [
i64 0, label %27
i64 0, label %28
i64 1, label %28
i64 1, label %30
]
]


26: ; preds = %41, %59, %51, %20
27: ; preds = %45, %64, %56, %21
unreachable
unreachable


27: ; preds = %20
28: ; preds = %21
call void @llvm.instrprof.increment(ptr @__profn__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i64 -6947473091258358206, i32 8, i32 1)
%29 = atomicrmw add ptr getelementptr inbounds ([8 x i64], ptr @__profc__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i32 0, i32 1), i64 1 monotonic, align 8
call void @llvm.lifetime.end.p0(i64 8, ptr %12)
call void @llvm.lifetime.end.p0(i64 8, ptr %12)
call void @llvm.lifetime.end.p0(i64 16, ptr %13)
call void @llvm.lifetime.end.p0(i64 16, ptr %13)
store i32 0, ptr %14, align 4
store i32 0, ptr %14, align 4
br label %38
br label %41


28: ; preds = %20
30: ; preds = %21
call void @llvm.instrprof.increment(ptr @__profn__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i64 -6947473091258358206, i32 8, i32 4)
%31 = atomicrmw add ptr getelementptr inbounds ([8 x i64], ptr @__profc__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i32 0, i32 4), i64 1 monotonic, align 8
%29 = load ptr, ptr %12, align 8, !nonnull !3, !align !4, !noundef !3
%32 = load ptr, ptr %12, align 8, !nonnull !3, !align !4, !noundef !3
%30 = getelementptr inbounds i8, ptr %29, i64 8
%33 = getelementptr inbounds i8, ptr %32, i64 8
%31 = load i64, ptr %30, align 8, !noundef !3
%34 = load i64, ptr %33, align 8, !noundef !3
%32 = getelementptr inbounds i8, ptr %29, i64 16
%35 = getelementptr inbounds i8, ptr %32, i64 16
%33 = load i64, ptr %32, align 8, !noundef !3
%36 = load i64, ptr %35, align 8, !noundef !3
%34 = mul i64 %31, %33
%37 = mul i64 %34, %36
%35 = load ptr, ptr %29, align 8, !noundef !3
%38 = load ptr, ptr %32, align 8, !noundef !3
%36 = ptrtoint ptr %35 to i64
%39 = ptrtoint ptr %38 to i64
%37 = icmp eq i64 %36, 0
%40 = icmp eq i64 %39, 0
br i1 %37, label %40, label %41
br i1 %40, label %43, label %45


38: ; preds = %73, %27
41: ; preds = %80, %28
%39 = load i32, ptr %14, align 4, !noundef !3
%42 = load i32, ptr %14, align 4, !noundef !3
ret i32 %39
ret i32 %42


40: ; preds = %28
43: ; preds = %30
call void @llvm.instrprof.increment(ptr @__profn__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i64 -6947473091258358206, i32 8, i32 5)
%44 = atomicrmw add ptr getelementptr inbounds ([8 x i64], ptr @__profc__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i32 0, i32 5), i64 1 monotonic, align 8
call void @llvm.lifetime.start.p0(i64 16, ptr %11)
call void @llvm.lifetime.start.p0(i64 16, ptr %11)
call void @llvm.memset.p0.i64(ptr align 1 %11, i8 0, i64 16, i1 false)
call void @llvm.memset.p0.i64(ptr align 1 %11, i8 0, i64 16, i1 false)
call void @llvm.lifetime.start.p0(i64 8, ptr %10)
call void @llvm.lifetime.start.p0(i64 8, ptr %10)
store i64 %34, ptr %10, align 8
store i64 %37, ptr %10, align 8
br label %47
br label %51


41: ; preds = %28
45: ; preds = %30
call void @llvm.lifetime.start.p0(i64 1, ptr %5)
call void @llvm.lifetime.start.p0(i64 1, ptr %5)
%42 = call noundef zeroext i1 @_RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write(ptr noalias noundef align 8 dereferenceable(8) %16, ptr noalias noundef nonnull readonly align 1 %35, i64 noundef %34) #4
%46 = call noundef zeroext i1 @_RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write(ptr noalias noundef align 8 dereferenceable(8) %17, ptr noalias noundef nonnull readonly align 1 %38, i64 noundef %37) #4
%43 = zext i1 %42 to i8
%47 = zext i1 %46 to i8
store i8 %43, ptr %5, align 1
store i8 %47, ptr %5, align 1
%44 = load i8, ptr %5, align 1, !range !5, !noundef !3
%48 = load i8, ptr %5, align 1, !range !5, !noundef !3
%45 = trunc i8 %44 to i1
%49 = trunc i8 %48 to i1
%46 = zext i1 %45 to i64
%50 = zext i1 %49 to i64
switch i64 %46, label %26 [
switch i64 %50, label %27 [
i64 0, label %74
i64 0, label %81
i64 1, label %75
i64 1, label %82
]
]


47: ; preds = %69, %40
51: ; preds = %74, %43
%48 = load i64, ptr %10, align 8, !noundef !3
%52 = load i64, ptr %10, align 8, !noundef !3
%49 = icmp eq i64 %48, 0
%53 = icmp eq i64 %52, 0
br i1 %49, label %50, label %51
br i1 %53, label %54, label %56


50: ; preds = %47
54: ; preds = %51
call void @llvm.instrprof.increment(ptr @__profn__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i64 -6947473091258358206, i32 8, i32 7)
%55 = atomicrmw add ptr getelementptr inbounds ([8 x i64], ptr @__profc__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i32 0, i32 7), i64 1 monotonic, align 8
call void @llvm.lifetime.end.p0(i64 8, ptr %10)
call void @llvm.lifetime.end.p0(i64 8, ptr %10)
call void @llvm.lifetime.end.p0(i64 16, ptr %11)
call void @llvm.lifetime.end.p0(i64 16, ptr %11)
br label %55
br label %60


51: ; preds = %47
56: ; preds = %51
call void @llvm.lifetime.start.p0(i64 8, ptr %9)
call void @llvm.lifetime.start.p0(i64 8, ptr %9)
call void @llvm.lifetime.start.p0(i64 8, ptr %8)
call void @llvm.lifetime.start.p0(i64 8, ptr %8)
store i64 16, ptr %8, align 8
store i64 16, ptr %8, align 8
call void @llvm.lifetime.start.p0(i64 8, ptr %7)
call void @llvm.lifetime.start.p0(i64 8, ptr %7)
%52 = load i64, ptr %10, align 8, !noundef !3
%57 = load i64, ptr %10, align 8, !noundef !3
store i64 %52, ptr %7, align 8
store i64 %57, ptr %7, align 8
call void @llvm.lifetime.start.p0(i64 1, ptr %4)
call void @llvm.lifetime.start.p0(i64 1, ptr %4)
%53 = call noundef i8 @_RNvYNvYjNtNtCs4uIvI6Zsoxu_4core3cmp3Ord3cmpINtNtNtBa_3ops8function6FnOnceTRjB1a_EE9call_onceCs5EawFi8vOrv_12minicov_test(ptr noalias noundef readonly align 8 dereferenceable(8) %8, ptr noalias noundef readonly align 8 dereferenceable(8) %7) #4
%58 = call noundef i8 @_RNvYNvYjNtNtCs4uIvI6Zsoxu_4core3cmp3Ord3cmpINtNtNtBa_3ops8function6FnOnceTRjB1a_EE9call_onceCs5EawFi8vOrv_12minicov_test(ptr noalias noundef readonly align 8 dereferenceable(8) %8, ptr noalias noundef readonly align 8 dereferenceable(8) %7) #4
store i8 %53, ptr %4, align 1
store i8 %58, ptr %4, align 1
%54 = load i8, ptr %4, align 1, !range !6, !noundef !3
%59 = load i8, ptr %4, align 1, !range !6, !noundef !3
switch i8 %54, label %26 [
switch i8 %59, label %27 [
i8 -1, label %56
i8 -1, label %61
i8 0, label %56
i8 0, label %61
i8 1, label %57
i8 1, label %62
]
]


55: ; preds = %74, %50
60: ; preds = %81, %54
call void @llvm.lifetime.end.p0(i64 8, ptr %12)
call void @llvm.lifetime.end.p0(i64 8, ptr %12)
br label %20
br label %21


56: ; preds = %51, %51
61: ; preds = %56, %56
store i64 16, ptr %9, align 8
store i64 16, ptr %9, align 8
call void @llvm.lifetime.end.p0(i64 1, ptr %4)
call void @llvm.lifetime.end.p0(i64 1, ptr %4)
br label %59
br label %64


57: ; preds = %51
62: ; preds = %56
%58 = load i64, ptr %7, align 8, !noundef !3
%63 = load i64, ptr %7, align 8, !noundef !3
store i64 %58, ptr %9, align 8
store i64 %63, ptr %9, align 8
call void @llvm.lifetime.end.p0(i64 1, ptr %4)
call void @llvm.lifetime.end.p0(i64 1, ptr %4)
br label %59
br label %64


59: ; preds = %57, %56
64: ; preds = %62, %61
call void @llvm.lifetime.end.p0(i64 8, ptr %7)
call void @llvm.lifetime.end.p0(i64 8, ptr %7)
call void @llvm.lifetime.end.p0(i64 8, ptr %8)
call void @llvm.lifetime.end.p0(i64 8, ptr %8)
%60 = load i64, ptr %9, align 8, !noundef !3
%65 = load i64, ptr %9, align 8, !noundef !3
call void @llvm.lifetime.end.p0(i64 8, ptr %9)
call void @llvm.lifetime.end.p0(i64 8, ptr %9)
%61 = call { ptr, i64 } @_RNvXs2_NtNtCs4uIvI6Zsoxu_4core5slice5indexINtNtNtB9_3ops5range5RangejEINtB5_10SliceIndexShE5indexCs5EawFi8vOrv_12minicov_test(i64 noundef 0, i64 noundef %60, ptr noalias noundef nonnull readonly align 1 %11, i64 noundef 16, ptr noalias noundef readonly align 8 dereferenceable(24) @1) #4
%66 = call { ptr, i64 } @_RNvXs2_NtNtCs4uIvI6Zsoxu_4core5slice5indexINtNtNtB9_3ops5range5RangejEINtB5_10SliceIndexShE5indexCs5EawFi8vOrv_12minicov_test(i64 noundef 0, i64 noundef %65, ptr noalias noundef nonnull readonly align 1 %11, i64 noundef 16, ptr noalias noundef readonly align 8 dereferenceable(24) @1) #4
%62 = extractvalue { ptr, i64 } %61, 0
%67 = extractvalue { ptr, i64 } %66, 0
%63 = extractvalue { ptr, i64 } %61, 1
%68 = extractvalue { ptr, i64 } %66, 1
call void @llvm.lifetime.start.p0(i64 1, ptr %6)
call void @llvm.lifetime.start.p0(i64 1, ptr %6)
%64 = call noundef zeroext i1 @_RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write(ptr noalias noundef align 8 dereferenceable(8) %16, ptr noalias noundef nonnull readonly align 1 %62, i64 noundef %63) #4
%69 = call noundef zeroext i1 @_RNvXs_Cs5EawFi8vOrv_12minicov_testNtB4_11SizeCounterNtCsh1TRFBMQq3s_7minicov14CoverageWriter5write(ptr noalias noundef align 8 dereferenceable(8) %17, ptr noalias noundef nonnull readonly align 1 %67, i64 noundef %68) #4
%65 = zext i1 %64 to i8
%70 = zext i1 %69 to i8
store i8 %65, ptr %6, align 1
store i8 %70, ptr %6, align 1
%66 = load i8, ptr %6, align 1, !range !5, !noundef !3
%71 = load i8, ptr %6, align 1, !range !5, !noundef !3
%67 = trunc i8 %66 to i1
%72 = trunc i8 %71 to i1
%68 = zext i1 %67 to i64
%73 = zext i1 %72 to i64
switch i64 %68, label %26 [
switch i64 %73, label %27 [
i64 0, label %69
i64 0, label %74
i64 1, label %72
i64 1, label %78
]
]


69: ; preds = %59
74: ; preds = %64
call void @llvm.instrprof.increment(ptr @__profn__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i64 -6947473091258358206, i32 8, i32 6)
%75 = atomicrmw add ptr getelementptr inbounds ([8 x i64], ptr @__profc__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i32 0, i32 6), i64 1 monotonic, align 8
call void @llvm.lifetime.end.p0(i64 1, ptr %6)
call void @llvm.lifetime.end.p0(i64 1, ptr %6)
%70 = load i64, ptr %10, align 8, !noundef !3
%76 = load i64, ptr %10, align 8, !noundef !3
%71 = sub i64 %70, %63
%77 = sub i64 %76, %68
store i64 %71, ptr %10, align 8
store i64 %77, ptr %10, align 8
br label %47
br label %51


72: ; preds = %59
78: ; preds = %64
call void @llvm.instrprof.increment(ptr @__profn__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i64 -6947473091258358206, i32 8, i32 2)
%79 = atomicrmw add ptr getelementptr inbounds ([8 x i64], ptr @__profc__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i32 0, i32 2), i64 1 monotonic, align 8
call void @llvm.lifetime.end.p0(i64 1, ptr %6)
call void @llvm.lifetime.end.p0(i64 1, ptr %6)
store i32 1, ptr %14, align 4
store i32 1, ptr %14, align 4
call void @llvm.lifetime.end.p0(i64 8, ptr %10)
call void @llvm.lifetime.end.p0(i64 8, ptr %10)
call void @llvm.lifetime.end.p0(i64 16, ptr %11)
call void @llvm.lifetime.end.p0(i64 16, ptr %11)
br label %73
br label %80


73: ; preds = %75, %72
80: ; preds = %82, %78
call void @llvm.lifetime.end.p0(i64 8, ptr %12)
call void @llvm.lifetime.end.p0(i64 8, ptr %12)
call void @llvm.lifetime.end.p0(i64 16, ptr %13)
call void @llvm.lifetime.end.p0(i64 16, ptr %13)
br label %38
br label %41


74: ; preds = %41
81: ; preds = %45
call void @llvm.lifetime.end.p0(i64 1, ptr %5)
call void @llvm.lifetime.end.p0(i64 1, ptr %5)
br label %55
br label %60


75: ; preds = %41
82: ; preds = %45
call void @llvm.instrprof.increment(ptr @__profn__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i64 -6947473091258358206, i32 8, i32 3)
%83 = atomicrmw add ptr getelementptr inbounds ([8 x i64], ptr @__profc__RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, i32 0, i32 3), i64 1 monotonic, align 8
call void @llvm.lifetime.end.p0(i64 1, ptr %5)
call void @llvm.lifetime.end.p0(i64 1, ptr %5)
store i32 1, ptr %14, align 4
store i32 1, ptr %14, align 4
br label %73
br label %80
}
}


; Function Attrs: noredzone nounwind nonlazybind
; Function Attrs: noredzone nounwind nonlazybind
define internal noundef zeroext i1 @_RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_(ptr noalias noundef align 8 dereferenceable(8) %0) unnamed_addr #0 {
define internal noundef zeroext i1 @_RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_(ptr noalias noundef align 8 dereferenceable(8) %0) unnamed_addr #0 {
%2 = alloca [16 x i8], align 8
%2 = alloca [16 x i8], align 8
%3 = alloca [1 x i8], align 1
%3 = alloca [1 x i8], align 1
call void @llvm.instrprof.increment(ptr @__profn__RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_, i64 8355110419227653994, i32 2, i32 0)
%4 = atomicrmw add ptr @__profc__RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_, i64 1 monotonic, align 8
call void @_RNvCsh1TRFBMQq3s_7minicov13check_version() #4
call void @_RNvCsh1TRFBMQq3s_7minicov13check_version() #4
call void @llvm.lifetime.start.p0(i64 16, ptr %2)
call void @llvm.lifetime.start.p0(i64 16, ptr %2)
store ptr @_RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, ptr %2, align 8
store ptr @_RINvCsh1TRFBMQq3s_7minicov14write_callbackNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBG_, ptr %2, align 8
%4 = getelementptr inbounds i8, ptr %2, i64 8
%5 = getelementptr inbounds i8, ptr %2, i64 8
store ptr %0, ptr %4, align 8
store ptr %0, ptr %5, align 8
%5 = call noundef ptr @lprofGetVPDataReader() #4
%6 = call noundef ptr @lprofGetVPDataReader() #4
%6 = call noundef i32 @lprofWriteData(ptr noundef %2, ptr noundef %5, i32 noundef 0) #4
%7 = call noundef i32 @lprofWriteData(ptr noundef %2, ptr noundef %6, i32 noundef 0) #4
%7 = icmp eq i32 %6, 0
%8 = icmp eq i32 %7, 0
br i1 %7, label %8, label %9
br i1 %8, label %9, label %11

8: ; preds = %1
call void @llvm.instrprof.increment(ptr @__profn__RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_, i64 8355110419227653994, i32 2, i32 1)
store i8 0, ptr %3, align 1
br label %10


9: ; preds = %1
9: ; preds = %1
%10 = atomicrmw add ptr getelementptr inbounds ([2 x i64], ptr @__profc__RINvCsh1TRFBMQq3s_7minicov16capture_coverageNtCs5EawFi8vOrv_12minicov_test11SizeCounterEBI_, i32 0, i32 1), i64 1 monotonic, align 8
store i8 0, ptr %3, align 1
br label %12

11: ; preds = %1
store i8 1, ptr %3, align 1
store i8 1, ptr %3, align 1
br label %10
br label %12


10: ; preds = %9, %8
12: ; preds = %11, %9
call void @llvm.lifetime.end.p0(i64 16, ptr %2)
call void @llvm.lifetime.end.p0(i64 16, ptr %2)
%11 = load i8, ptr %3, align 1, !range !5, !noundef !3
%13 = load i8, ptr %3, align 1, !range !5, !noundef !3
%12 = trunc i8 %11 to i1
%14 = trunc i8 %13 to i1
ret i1 %12
ret i1 %14
}
}


; Function Attrs: noredzone nounwind nonlazybind
; Function Attrs: noredzone nounwind nonlazybind
define internal noundef zeroext i1 @_RINvNtCs4uIvI6Zsoxu_4core10intrinsics23is_val_statically_knownbECs5EawFi8vOrv_12minicov_test(i1 noundef zeroext %0) unnamed_addr #0 {
define internal noundef zeroext i1 @_RINvNtCs4uIvI6Zsoxu_4core10intrinsics23is_val_statically_knownbECs5EawFi8vOrv_12minicov_test(i1 noundef zeroext %0) unnamed_addr #0 {
ret i1 false
ret i1 false
}
}


; Function Attrs: inlinehint noredzone nounwind nonlazybind
; Function Attrs: inlinehint noredzone nounwind nonlazybind
define internal void @_RINvNtCs4uIvI6Zsoxu_4core3ptr13drop_in_placeNtCs5EawFi8vOrv_12minicov_test6WriterEBI_(ptr noalias noundef nonnull align 1 %0) unnamed_addr #1 {
define internal void @_RINvNtCs4uIvI6Zsoxu_4core3ptr13drop_in_placeNtCs5EawFi8vOrv_12minicov_test6WriterEBI_(ptr noalias noundef nonnull align 1 %0) unnamed_addr #1 {
ret void
ret void
}
}


; Function Attrs: inlinehint noredzone nounwind nonlazybind
; Function Attrs: inlinehint noredzone nounwind nonlazybind
define internal void @_RINvNtCs4uIvI6Zsoxu_4core3ptr13drop_in_placeNtCsh1TRFBMQq3s_7minicov18CoverageWriteErrorECs5EawFi8vOrv_12minicov_test(ptr noalias noundef nonnull align 1 %0) unnamed_addr #1 {
define internal void @_RINvNtCs4uIvI6Zsoxu_4core3ptr13drop_in_placeNtCsh1TRFBMQq3s_7minicov18CoverageWriteErrorECs5EawFi8vOrv_12minicov_test(ptr noalias noundef nonnull align 1 %0) unnamed_addr #1 {
ret void
ret void
}
}


; Function Attrs: inlinehint noredzone nounwind nonlazybind
; Function Attrs: inlinehint noredzone nounwind nonlazybind
define internal void @_RINvNtCs4uIvI6Zsoxu_4core3ptr13drop_in_placeNtNtB4_3fmt5ErrorECs5EawFi8vOrv_12minicov_test(ptr noalias noundef nonnull align 1 %0) unnamed_addr #1 {
define internal void @_RINvNtCs4uIvI6Zsoxu_4core3ptr13drop_in_placeNtNtB4_3fmt5ErrorECs5EawFi8vOrv_12minicov_test(ptr noalias noundef nonnull align 1 %0) unnamed_addr #1 {
ret void
ret void
}
}


; Function Attrs: inlinehint noredzone nounwind nonlazybind
; Function Attrs: inlinehint noredzone nounwind nonlazybind
define internal noundef align 8 dereferenceable_or_null(32) ptr @_RNvXs2U_NtNtCs4uIvI6Zsoxu_4core5slice4iterINtB6_4IterNtCsh1TRFBMQq3s_7minicov13ProfDataIOVecENtNtNtNtBa_4iter6traits8iterator8Iterator4nextCs5EawFi8vOrv_12minicov_test(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 {
define internal noundef align 8 dereferenceable_or_null(32) ptr @_RNvXs2U_NtNtCs4uIvI6Zsoxu_4core5slice4iterINtB6_4IterNtCsh1TRFBMQq3s_7minicov13ProfDataIOVecENtNtNtNtBa_4iter6traits8iterator8Iterator4nextCs5EawFi8vOrv_12minicov_test(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 {
%2 = alloca [8 x i8], align 8
%2 = alloca [8 x i8], align 8
%3 = alloca [8 x i8], align 8
%3 = alloca [8 x i8], align 8
%4 = alloca [1 x i8], align 1
%4 = alloca [1 x i8], align 1
%5 = alloca [8 x i8], align 8
%5 = alloca [8 x i8], align 8
call void @llvm.lifetime.start.p0(i64 1, ptr %4)
call void @llvm.lifetime.start.p0(i64 1, ptr %4)
br label %6
br label %6


6: ; preds = %1
6: ; preds = %1
%7 = getelementptr inbounds i8, ptr %0, i64 8
%7 = getelementptr inbounds i8, ptr %0, i64 8
%8 = load ptr, ptr %7, align 8, !nonnull !3, !noundef !3
%8 = load ptr, ptr %7, align 8, !
store ptr %8, ptr %3, align 8
%9 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3
%10 = load ptr, ptr %3, align 8, !noundef !3
%11 = icmp eq ptr %9, %10
%12 = zext i1 %11 to i8
store i8 %12, ptr %4, align 1
br label %13

13: ; preds = %6
%14 = load i8, ptr %4, align 1, !range !5, !noundef !3
%15 = trunc i8 %14 to i1
br i1 %15, label %18, label %16

16: ; preds = %13
call void @llvm.lifetime.start.p0(i64 8, ptr %2)
%17 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3
store ptr %17, ptr %2, align 8
br label %19

18: ; preds = %13
store ptr null, ptr %5, align 8
br label %25

19: ; preds = %16
%20 = getelementptr inbounds i8, ptr %0, i64 8
%21 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3
%22 = getelementptr inbounds { ptr, i64, i64, i32, [1 x i32] }, ptr %21, i64 1
store ptr %22, ptr %0, align 8
br label %23

23: ; preds = %19
%24 = load ptr, ptr %2, align 8, !noundef !3
call void @llvm.lifetime.end.p0(i64 8, ptr %2)
store ptr %24, ptr %5, align 8
br label %25

25: ; preds = %18, %23
call void @llvm.lifetime.end.p0(i64 1, ptr %4)
%26 = load ptr, ptr %5, align 8, !align !4, !noundef !3
ret ptr %26

27: ; No predecessors!
unreachable

28: ; No predecessors!
unreachable
}

; Function Attrs: alwaysinline noredzone nounwind nonlazybind
define internal { ptr, i64 } @_RNvXs2_NtNtCs4uIvI6Zsoxu_4core5slice5indexINtNtNtB9_3ops5range5RangejEINtB5_10SliceIndexShE5indexCs5EawFi8vOrv_12minicov_test(i64 noundef %0, i64 noundef %1, ptr noalias noundef nonnull readonly align 1 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #2 {
%6 = alloca [16 x i8], align 8
call void @llvm.lifetime.start.p0(i64 16, ptr %6)
%7 = icmp ult i64 %1, %0
%8 = call i1 @llvm.expect.i1(i1 %7, i1 false)
br i1 %8, label %16, label %9

9: ; preds = %5
%10 = sub nuw i64 %1, %0
%11 = getelementptr inbounds i8, ptr %6, i64 8
store i64 %10, ptr %11, align 8
store i64 1, ptr %6, align 8
%12 = getelementptr inbounds i8, ptr %6, i64 8
%13 = load i64, ptr %12, align 8, !noundef !3
call void @llvm.lifetime.end.p0(i64 16, ptr %6)
%14 = icmp ugt i64 %1, %3
%15 = call i1 @llvm.expect.i1(i1 %14, i1 false)
br i1 %15, label %21, label %17

16: ; preds = %5
call void @llvm.lifetime.end.p0(i64 16, ptr %6)
call void @_ZN4core5slice5index22slice_index_order_fail17hd9eb9ac044248137E(i64 noundef %0, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #12
unreachable

17: ; preds = %9
%18 = getelementptr inbounds i8, ptr %2, i64 %0
%19 = insertvalue { ptr, i64 } poison, ptr %18, 0
%20 = insertvalue { ptr, i64 } %19, i64 %13, 1
ret { ptr, i64 } %20

21: ; preds = %9
call void @_ZN4core5slice5index24slice_end_index_len_fail17heb899f33caf56c3cE(i64 noundef %1, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #12
unreachable
}

; Function Attrs: inlinehint noredzone nounwind nonlazybind
define internal noundef zeroext i1 @_RNvXs5_Csh1TRFBMQq3s_7minicovNtB5_18CoverageWriteErrorNtNtCs4uIvI6Zsoxu_4core3fmt5Debug3fmt(ptr noalias noundef nonnull readonly align 1 %0, ptr noalias noundef align 8 dereferenceable(64) %1) unnamed_addr #1 {
%3 = call noundef zeroext i1 @_ZN4core3fmt9Formatter9write_str17h846d87c4286aae84E(ptr noalias noundef align 8 dereferenceable(64) %1, ptr noalias noundef nonnull readonly align 1 @2, i64 noundef 18) #4
ret i1 %3
}

; Function Attrs: inlinehint noredzone nounwind nonlazybind
define internal noundef zeroext i1 @_RNvXs_NvNtNtCs4uIvI6Zsoxu_4core3fmt5Write9write_fmtQNtCs5EawFi8vOrv_12minicov_test6WriterNtB4_12SpecWriteFmt14spec_write_fmtBQ_(ptr noalias noundef nonnull align 1 %0, ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %1) unnamed_addr #1 {
%3 = alloca [48 x i8], align 8
%4 = alloca [1 x i8], align 1
%5 = alloca [1 x i8], align 1
%6 = alloca [16 x i8], align 8
%7 = alloca [16 x i8], align 8
%8 = alloca [1 x i8], align 1
call void @llvm.lifetime.start.p0(i64 16, ptr %7)
call void @llvm.lifetime.start.p0(i64 16, ptr %6)
%9 = load ptr, ptr %1, align 8, !nonnull !3, !align !4, !noundef !3
%10 = getelementptr inbounds i8, ptr %1, i64 8
%11 = load i64, ptr %10, align 8, !noundef !3
%12 = getelementptr inbounds i8, ptr %1, i64 16
%13 = load ptr, ptr %12, align 8, !nonnull !3, !align !4, !noundef !3
%14 = getelementptr inbounds i8, ptr %12, i64 8
%15 = load i64, ptr %14, align 8, !noundef !3
%16 = icmp eq i64 %11, 0
br i1 %16, label %17, label %19

17: ; preds = %2
%18 = icmp eq i64 %15, 0
br i1 %18, label %21, label %23

19: ; preds = %2
%20 = icmp eq i64 %11, 1
br i1 %20, label %32, label %23

21: ; preds = %17
store ptr inttoptr (i64 1 to ptr), ptr %6, align 8
%22 = getelementptr inbounds i8, ptr %6, i64 8
store i64 0, ptr %22, align 8
br label %27

23: